Microsoft Commerce Server2002 Standard Edition

Bannière Commerce Server

Microsoft Commerce Server 2002 Standard Edition

  • Systèmes Commerce Server
  • Didacticiels Commerce Server
  • Mises à jour de la documentation Commerce Server
  • Services de Support technique de Microsoft
  • Support technique de Commerce Server
  • Partenaires ISV Commerce Server 2002
  • Site Web des sites solutions Commerce Server
  • Site Web de Microsoft sur la sécurité
  • Site Web de Microsoft sur l’accessibilité
  • Livres blancs
  • Commentaires
Copyright © 1996–2002 Microsoft Corporation.
Tous droits réservés.


Mise en route

Microsoft Commerce Server 2002 offre un ensemble d’outils permettant au développeur de site, à l’administrateur système et au chef d’entreprise de développer, déployer et gérer des applications de commerce pour le Web.

Utilisez ce tableau pour accéder rapidement aux rubriques importantes de l’aide de Commerce Server 2002.

Pour en savoir plus sur le thème | Consultez
Installation, mise à niveau et déploiement de Commerce Server | Installation de Commerce Server 2002 Mise à niveau à partir de versions antérieures Décompression d’un site Déploiement de votre site Réplication du contenu de catalogues Maintien d’une haute disponibilité
Architecture de Commerce Server | Architecture de Commerce Server Business Desk Architecture (en anglais) Commerce Server .NET Application Framework (en anglais) Pipeline Basics (en anglais) Planification de l’architecture du site
Planification et conception d’un nouveau site | Sites solutions Planification de votre installation Commerce Server Transactions internationales
Développement d’applications | Outils de développement Software Development Kit (en anglais) Programmer’s Reference (en anglais) Commerce Server .NET Application Framework (en anglais) International Retail Site (en anglais) Developing an International Site (en anglais) Integrating with BizTalk Server (en anglais) Integrating Custom Resources (en anglais) Building Business Desk Modules (en anglais) Dépannage de vos applications
Sécurité | Méthodes conseillées pour la sécurité Remarques importantes relatives à la sécurité Déploiement d’un site sécurisé Déploiement d’un site sécurisé Sécurisation de vos bases de données
Authentification | Méthodes conseillées pour l’authentification Intégration à Passport Authentification de base Outlook Web Access de Microsoft Exchange 2000 Core Objects (en anglais) Code to Retrieve Login Credentials (en anglais) Code de la page Login.asp pour le site solution Retail Code de la page Login.asp pour le site solution Supplier AuthManager Object (en anglais)
Gestion des sites, des applications et des ressources | Outils de l’administrateur système Gestion des sites Commerce Server Gestion des applications et des serveurs Web Commerce Server Gestion des ressources Commerce Server Exécution de tâches DTS à l’aide de scripts
Gestion des bases de données | Bases de données Gestion de la base de données d’administration Gestion des sources de données dans la ressource Profils
Système de catalogue de produits | Système de catalogue de produits Concepts des catalogues Méthodes conseillées pour les catalogues Importation d’un fichier de catalogue XML Création d’une définition de catalogue Création d’un catalogue de base Tarification d’un produit dans un catalogue de base Product Catalog Objects (en anglais) Catalog XML Structures (en anglais) Integrating a Third-Party Product Catalog (en anglais) Réplication du contenu de catalogues
Système de profil | Système de profil Concepts des profils Profiling System Objects (en anglais) Profiles Schema (en anglais) Profiling System and OLE DB Provider (en anglais) Profile XML Structures (en anglais) Gestion des sources de données dans la ressource Profils Gestion des définitions de profils dans la ressource Profils Création d’une définition de profil avec deux sources de données Profils Business Desk
Système d’analyse commerciale | Système d’analyse commerciale Analysis/Reporting Schema (en anglais) Analysis/Reporting XML Structures (en anglais) Analyse Business Desk
Data Warehouse | Data Warehouse Concepts de Data Warehouse Data Warehouse, Analysis, and OLE DB Provider (en anglais) Plusieurs sites et un Data Warehouse Assistant Importation du Data Warehouse Importation de données dans le Data Warehouse Exécution de tâches DTS à l’aide de scripts
Système de ciblage | Système de ciblage Concepts de ciblage et de personnalisation Campagnes marketing Business Desk ExpressionBuilder (en anglais) Expression XML Structures (en anglais) Targeting Objects (en anglais) Extending the Content Selection Framework (en anglais)
Campagnes marketing | Campagnes marketing Concepts des campagnes marketing Création d’une campagne marketing Création d’une publicité
Remises | Concepts des remises Création d’une remise Exemples de remises
Service de publipostage | Service de publipostage Commerce Server Concepts du publipostage Exécution du service de publipostage Création de publipostage Création d’une liste de publipostage Direct Mailer Pipeline (en anglais)
Commandes | Concepts de gestion des commandes Recherche, affichage et tri des commandes
Pipelines de processus commercial | Concepts de pipeline Working with Pipelines (en anglais) Building Pipeline Components (en anglais) Pipeline Objects (en anglais) Pipeline Component Reference (en anglais)


Présentation de Commerce Server2002

Envoyer des commentaires sur cette page Commerce Server 2002

Présentation de Commerce Server 2002

Commerce Server est une plate-forme complète d’e-business qui comprend des fonctionnalités destinées à différents types d’utilisateurs : développeurs, administrateurs système et chefs d’entreprise. En outre, Commerce Server est proposé en trois éditions, offrant chacune différentes fonctionnalités et options d’adaptabilité.

Vous pouvez utiliser Commerce Server pour créer des applications pour des sites entreprise-client et entreprise-entreprise adaptables et hautement disponibles.

Composants Commerce Server

Les composants Commerce Server sont classés en cinq systèmes. Ces systèmes fournissent l’infrastructure d’e-commerce critique indispensable pour créer une activité commerciale en ligne efficace.

  • Système de catalogue de produits. Gérez des millions de produits, créez des catalogues multilingues et multidevises et facilitez la vie de vos utilisateurs en leur permettant de trouver rapidement les produits et services dont ils ont besoin.
  • Système de profil. Établissez le profil de vos clients et partenaires commerciaux, gérez l’authentification des utilisateurs du site et exploitez ces données pour un ciblage et une personnalisation plus poussés.
  • Système d’analyse commerciale. Analysez l’efficacité du site en exécutant des rapports Commerce Server ou en créant vos propres rapports personnalisés.
  • Système de ciblage. Rendez unique l’expérience de chacun grâce à un marketing personnalisé et une commercialisation ciblée qui simplifie le passage des commandes et augmente l’adéquation du contenu proposé à vos clients.
  • Système de pipeline de traitement des commandes. Concevez vos processus de commande et de commercialisation en fonction de vos besoins actuels, tout en conservant la possibilité de les modifier facilement dans le temps, pour les adapter à la croissance et à l’évolution de votre activité.

Outils de Commerce Server

Les outils suivants vous permettront de développer et de gérer un site Commerce Server.

  • Commerce Server .NET Application Framework (en anglais). Infrastructure qui vous permet de créer des applications Commerce Server .NET utilisant les nouvelles fonctionnalités du .NET Framework. L’infrastructure d’application .NET de Commerce Server propose deux nouvelles couches pour la plate-forme Commerce Server : la bibliothèque de classes de base et la couche d’interopérabilité Common Language Runtime. Ces couches permettent à du code ASP.NET d’exécuter les services et systèmes Commerce Server. En utilisant Visual Studio .NET, vous pouvez accéder aux fonctionnalités et outils de Commerce Server pour créer des applications Commerce Server.
  • Sites solutions. Sites de référence pour le développement qui fournissent un ensemble de fonctionnalités intégrées comprises dans Commerce Server. Les sites solutions proposent : des fonctionnalités mulitlingues, multidevises, de commercialisation, d’affichage des catalogues, de service clientèle et de saisie et de réception des commandes.

    Étant donné que les sites solutions fournissent des fonctionnalités d’e-commerce complètes, vous pouvez les utiliser comme base pour le développement de vos propres sites Web, puis ajouter des fonctionnalités spécifiques à votre entreprise.

  • Gestionnaire de package de site Commerce Server. Outil que vous pouvez utiliser pour compresser un site, ses applications et ses ressources en un fichier unique, et transférer ensuite ce fichier dans un autre environnement. Cet outil permet de compresser en un seul fichier votre site Commerce Server (y compris les paramètres de métabase IIS), le système de fichiers, les ressources de la base de données d’administration ainsi que les bases de données SQL Server. Il permet également de décompresser le site Commerce Server (ou des parties de celui-ci) sur d’autres ordinateurs.
  • Commerce Server Business Desk. Outil extensible que les chefs d’entreprise peuvent utiliser pour gérer et analyser leurs sites Web. Par exemple, les fonctionnalités de Business Desk permettent de mettre à jour les tarifs de vos catalogues, de cibler de nouvelles publicités en fonction d’utilisateurs spécifiques et d’exécuter des rapports pour mesurer l’impact de ces modifications sur la productivité du site.

    Les applications Business Desk sont fournies dans les packages de site solution. Après avoir installé Commerce Server, vous devez décompresser un site solution pour installer une application Business Desk.

Voir aussi

Éditions de Commerce Server 2002

Présentation rapide des fonctionnalités de Commerce Server

Architecture de Commerce Server

Concepts de Commerce Server

International Retail Site (en anglais)


Présentation rapide des fonctionnalités de Commerce Server

Les fonctionnalités de Commerce Server 2002 fonctionnent ensemble de façon transparente, vous permettant ainsi de proposer des fonctionnalités de commercialisation, d’affichage des catalogues, de service clientèle et de gestion/réception des commandes.

Le tableau suivant donne une vue d’ensemble des fonctionnalités de Commerce Server.

Fonctionnalité de Commerce Server Description
Système de catalogue de produits
  • Créer et mettre à jour des catalogues de produits à vendre.
  • Créer des catalogues multilingues.
  • Créer des catalogues multidevises.
  • Importer des catalogues de produits à partir d’autres sources de données, au format XML ou CSV.
  • Exporter des catalogues au format XML.
  • Exporter les modifications apportées à un catalogue depuis une date spécifique.
  • Ajouter des fonctionnalités de recherche intégrées permettant aux utilisateurs de trouver facilement ce qu’ils recherchent :
    • Recherche par catégorie. Navigation par catégorie de produit.
    • Recherche en texte libre. Recherche de produits à l’aide du nom complet ou partiel ou bien d’une propriété.
    • Recherche de propriétés. Recherche de produits à l’aide de la valeur d’une propriété, par exemple Prix < 60 FF.
    • Recherche avec propriété. Recherche consistant à affiner la demande de recherche jusqu’à ce que le produit soit trouvé.
  • Créer des catalogues virtuels avec des tarifs spéciaux pour certains groupes d’utilisateurs.
  • Appliquer des remises aux produits.
  • Identifier les produits qui se vendent le mieux en exécutant des rapports Commerce Server.
  • Échanger des données de catalogue avec des fournisseurs à l’aide de Microsoft BizTalk Server 2000.
Système de profil
  • Gérer des millions d’utilisateurs et d’organisations.
  • Permettre aux utilisateurs de gérer leurs propres informations de profil et de rechercher le statut de leur commande.
  • Créer des profils pour n’importe quelle entité à caractère commercial, comme les utilisateurs ou les organisations.
  • Déterminer les informations à collecter sur les utilisateurs qui visitent votre site.
  • Déterminer les informations à afficher pour des utilisateurs spécifiques, par exemple des catalogues virtuels.
  • créer des expressions de ciblage pour faire correspondre le contenu aux utilisateurs ;
  • créer des campagnes de publicité, de remise et de publipostage pour cibler des groupes d’utilisateurs spécifiques ;
Système d’analyse commerciale
  • Importer un grand nombre de données sur l’utilisation du site collectées à partir de différentes sources de données vers le Data Warehouse de Commerce Server et gérer ces données.
  • Analyser l’efficacité du site en exécutant des rapports Commerce Server.
Système de ciblage
  • Personnaliser le contenu proposé à l’aide d’une commercialisation ciblée.
  • Fournir le contenu optimal pour un utilisateur donné dans un contexte donné.
  • Créergérer des remises personnalisées et ciblées, ainsi que des campagnes marketing et publicitaires directes.
  • Cibler des publicités ou des remises en fonction d’utilisateurs présentant un certain profil. Par exemple, vous pouvez cibler des publicités pour les femmes qui visitent votre site trois fois par semaine et qui ont acheté au moins trois produits.
  • Créer et planifier des campagnes marketing pour des clients concurrents travaillant dans un même secteur. Les publicités concurrentes ne sont jamais affichées sur la même page.
  • Facturer vos clients en fonction du nombre de demandes de publicité ou de clics qu’ils souhaitent pour leurs publicités.
  • Facturer vos clients en fonction de la page sur laquelle ils souhaitent faire apparaître leur publicité.
Système de pipeline de traitement des commandes
  • Personnaliser vos processus de commande, de ciblage et de commercialisation.
  • Définir et relier les étapes d’un processus commercial.

Voir aussi

Éditions de Commerce Server 2002

Comparatif des fonctionnalités proposées dans les diverses éditions de Commerce Server

Architecture de Commerce Server

Concepts de Commerce Server

Commerce Server .NET Application Framework (en anglais)

International Retail Site (en anglais)


Éditions de Commerce Server2002

Envoyer des commentaires sur cette page Commerce Server 2002

Éditions de Commerce Server 2002

Microsoft Commerce Server 2002 est actuellement disponible dans les différentes éditions suivantes :

  • Commerce Server 2002 Standard Edition

    Cette édition est conçue pour le développement et la gestion de sites Web de moyenne envergure. L’édition Standard Edition est prévue pour :

    • Deux processeurs.
    • Deux serveurs Web par application. Un seul serveur Web IIS peut prendre en charge jusqu’à 10 applications.
    • Deux applications Commerce Server par site : une application Business Desk et une application non-Business Desk. Par exemple, vous pouvez installer l’application du site solution Retail ou une application non-Commerce Server, puis l’application Business Desk.
    • Dix sites par Data Warehouse.
    • Dix sites par base de données de profils.

    Elle propose des fonctionnalités analytiques de base qui vous permettent d’analyser des données chiffrées relatives à l’utilisation du site Web et aux ventes de produits.

  • Commerce Server 2002 Enterprise Edition

    Cette édition est conçue pour le développement et la gestion de sites Web de grande envergure ou connaissant un trafic élevé. L’édition Enterprise Edition est prévue pour :

    • 32 processeurs
    • Autant de serveurs Web et d’applications Commerce Server que votre équipement peut prendre en charge. Un seul serveur Web IIS peut prendre en charge jusqu’à 10 applications. Ces applications appartiennent à un même site ou sont réparties entre plusieurs sites.
    • Dix sites par Data Warehouse.
    • Dix sites par base de données de profils.

    Elle est également conçue pour prendre en charge des sites nécessitant des fonctionnalités analytiques avancées. Elle offre la possibilité d’analyser des données de profil utilisateur et des campagnes marketing, puis d’utiliser les résultats de votre analyse pour cibler du contenu sur votre site. Les fonctionnalités analytiques avancées permettent de fournir en temps réel des recommandations aux utilisateurs qui visitent votre site.

  • Commerce Server 2002 Developer Edition

    Cette édition constitue la solution commerciale pour le développement de sites de grande envergure, multilingues et hautement disponibles. Commerce Server 2002 Developer Edition comprend les mêmes fonctionnalités que Commerce Server 2002 Enterprise Edition mais ne peut pas être utilisé dans un environnement de production et est limité à quatre processeurs au maximum.

    L’édition Developer Edition inclut une documentation complète à l’attention des développeurs et de nombreux exemples.

Utilisation combinée des éditions Standard et Enterprise

Vous avez la possibilité de créer un environnement qui utilise les éditions Standard, Enterprise et Developer de Commerce Server. Ce type de configuration peut être utile, par exemple, si vous achetez d’abord Developer Edition puis Standard Edition et décidez ensuite d’ajouter les fonctionnalités propres à l’édition Enterprise Edition.

Les scénarios de déploiement utilisant plusieurs éditions de Commerce Server sont décrits ci-dessous. Les autres configurations ne sont pas prises en charge.

  • Standard Edition sur un ou deux serveurs Web pour une même application Commerce Server et Standard Edition pour le Data Warehouse.
  • Standard Edition sur un ou deux serveurs Web pour une même application Commerce Server et Enterprise Edition pour le Data Warehouse.
  • Enterprise Edition sur les serveurs Web et Enterprise Edition pour le Data Warehouse.
  • Developer Edition sur les serveurs Web et Standard Edition ou Enterprise Edition pour le Data Warehouse.
  • Developer Edition sur les serveurs Web et Developer Edition pour le Data Warehouse. Vous ne pouvez pas utiliser cette configuration dans un environnement de production.

Des sites utilisant Standard Edition et Enterprise Edition ne peuvent pas partager le même Data Warehouse.

Mise à niveau vers Commerce Server 2002 Standard Edition

Pour effectuer une mise à niveau de Commerce Server 2000 vers Commerce Server 2002 Standard Edition, consultez Mise à niveau à partir d’une version antérieure.

Commerce Server 2002 Standard Edition propose divers outils qui vous permettent de mettre à niveau votre installation, en fonction des ressources et des composants que vous mettez à niveau.

Voir aussi

Partage de ressources entre plusieurs sites

Comparatif des fonctionnalités proposées dans les diverses éditions de Commerce Server


Comparatif des fonctionnalités proposées dans les diverses éditions de Commerce Server

Cette rubrique propose une synthèse des fonctionnalités prises en charge par Microsoft Commerce Server 2000, Commerce Server 2002 Enterprise Edition et Commerce Server 2002 Standard Edition. Les informations relatives à Commerce Server 2000 sont fournies à des fins de comparaison.

Remarque

  • Commerce Server 2002 Developer Edition contient les mêmes fonctionnalités que l’édition Enterprise Edition. Developer Edition ne peut cependant pas être utilisé dans un environnement de production et sa limite est de quatre processeurs.

Pour plus d’informations sur les fonctionnalités de compatibilité .NET de Commerce Server 2002, consultez Commerce Server .NET Application Framework (en anglais). Pour plus d’informations sur le site International Retail, consultez International Retail Sit (en anglais).

Cette rubrique a trait aux fonctionnalités suivantes :

  • Fonctionnalités de haute disponibilité
  • Fonctionnalités d’authentification
  • Fonctionnalités d’administration
  • Fonctionnalités Business Desk
  • Fonctionnalités d’analyse commerciale
  • Fonctionnalités Data Warehouse
  • Fonctionnalités du système de catalogue de produits
  • Fonctionnalités du système de profil
  • Fonctionnalités du système de ciblage

Fonctionnalités de haute disponibilité

Ce tableau compare la prise en charge des fonctionnalités de haute disponibilité dans les différentes éditions de Commerce Server.

Fonctionnalité | Commerce Server 2002 Enterprise Edition | Commerce Server 2002 Standard Edition | Commerce Server 2000
Très haute disponibilité | Oui | Oui | Non
Le service de publipostage prend en charge les clusters du clustering Windows | Oui | Oui | Non
Le service de publipostage prend en charge le basculement vers tous les nœuds du cluster | Oui | Oui | Non
Le service de publipostage peut s’installer sur 2 nœuds sur Windows 2000 Advanced Server | Oui | Oui | Non
Le service de publipostage peut s’installer sur 2, 3 et 4 nœuds sur Windows 2000 Datacenter Server | Oui | Oui | Non
Les composants d’exécution survivent au basculement des services Windows, du serveur d’application ou des banques de données sous-jacentes dépendants | Oui | Oui | Non
Exemple de mise en file d’attente des commandes dans le Kit SDK, expliquant comment traiter des commandes hors connexion, méthode recommandée pour une haute disponibilité | Oui | Oui | Non

Fonctionnalités d’authentification

Ce tableau compare la prise en charge des fonctionnalités d’authentification dans les différentes éditions de Commerce Server.

Fonctionnalité | Commerce Server 2002 Enterprise Edition | Commerce Server 2002 Standard Edition | Commerce Server 2000
Authentification de base Outlook Web Access (OWA) de Exchange 2000 | Oui | Oui | Non
Décryptage des anciens cookies de profil possible | Oui | Oui | Non
Cryptage par clé tournante | Oui | Oui | Non
Préservation de l’historique des visites dans le Data Warehouse | Oui | Oui | Oui
Achats sans cookies | Oui | Oui | Oui
Fourniture d’un contrôle d'accès granulaire à l’aide de listes de contrôle d’accès (ACL) | Oui | Oui | Oui
Prise en charge de pages de connexion personnalisées pour extraire les informations d'identification Windows | Oui | Oui | Oui
Correction de la casse dans les adresses URL | Oui | Oui | Oui
Environnements batteries de serveurs Web (Web farms) | Oui | Oui | Oui
Intrinsèques ASP | Oui | Oui | Oui
Possibilité d’utiliser Active Directory et/ou SQL Server pour stocker les profils utilisateur | Oui | Oui | Oui
Contrôle des niveaux d’accès | Oui | Oui | Oui
Acceptation des informations d’identification de sécurité fournies par l’utilisateur | Oui | Oui | Oui

Fonctionnalités d’administration

Ce tableau compare la prise en charge des fonctionnalités d’administration dans les différentes éditions de Commerce Server.

Fonctionnalité | Commerce Server 2002 Enterprise Edition | Commerce Server 2002 Standard Edition | Commerce Server 2000
Prise en charge de la décompression d’un site sur des serveurs distants | Oui | Oui | Non
Possibilité de stocker les en-têtes d’hôte et identités multiples dans la base de données d’administration du site Web | Oui | Oui | Non
Intégration à Content Management Server 2001 et éditions ultérieures | Oui | Oui | Non
Intégration à BizTalk Server 2000 et éditions ultérieures | Oui | Oui | Oui

Fonctionnalités Business Desk

Ce tableau compare la prise en charge des fonctionnalités Business Desk dans les différentes éditions de Commerce Server.

Fonctionnalité | Commerce Server 2002 Enterprise Edition | Commerce Server 2002 Standard Edition | Commerce Server 2000
Feuilles de style pour différents thèmes, y compris le contraste élevé pour l’accessibilité | Oui | Oui | Non
Contrôle d’accès pour les modules Business Desk individuels | Oui | Oui | Oui
Paramètres de sécurité pour les tâches Business Desk | Oui | Oui | Non
Paramètres de sécurité pour les catalogues | Oui | Oui | Non
Paramètres de sécurité pour la modification des propriétés des catalogues | Oui | Oui | Non
Paramètres de sécurité pour la gestion des catégories des catalogues | Oui | Oui | Non
Paramètres de sécurité pour la gestion des propriétés des profils | Oui | Oui | Non

Fonctionnalités d’analyse commerciale

Ce tableau compare la prise en charge des fonctionnalités d’analyse commerciale dans les différentes éditions de Commerce Server.

Fonctionnalité | Commerce Server 2002 Enterprise Edition | Commerce Server 2002 Standard Edition | Commerce Server 2000
Installation autonome de l’analyse commerciale | Oui | Oui | Non
Assistant Importation du Data Warehouse | Oui | Oui | Non
Accès distant aux cubes OLAP (requiert SQL Server 2000 Édition Entreprise) | Oui | Oui | Non
Création de nouveau rapport prise en charge | Oui (avec Business Desk) | Non | Oui
Rapports de profils utilisateur | Oui | Non | Oui
Rapports de campagnes marketing | Oui | Non | Oui
Recommandations en temps réel | Oui | Non | Oui
Exportation de rapports sous forme de listes vers le système de profil ou le système de ciblage | Oui | Non | Oui
Groupement des rapports publiés | Oui | Oui | Non
Fonctionnalité d’extraction des rapports | Oui | Oui | Non
Création de rapports sur plusieurs domaines | Oui | Oui | Non
Modèles de prévision pour analyser le comportement d’utilisation | Oui | Non | Oui
Modèles de segments pour analyser des segments de population | Oui | Non | Oui
Listes des affinités | Oui | Non | Non
Exportation de modèles de segment sous forme de listes | Oui | Non | Oui

Fonctionnalités Data Warehouse

Ce tableau compare la prise en charge des fonctionnalités Data Warehouse dans les différentes éditions de Commerce Server.

Fonctionnalité | Commerce Server 2002 Enterprise Edition | Commerce Server 2002 Standard Edition | Commerce Server 2000
Diagramme du schéma du Data Warehouse | Oui | Non | Oui
Définition des paramètres de redémarrage des fichiers journaux | Oui | Oui | Non
Définition des paramètres de nouvelle tentative pour toutes les tâches DTS | Oui | Oui | Non
Suppression des fichiers journaux importés par roulement | Oui | Oui | Non
Exécution d’une tâche DTS pour tous les sites d’un Data Warehouse (pour les tâches DTS appropriées) | Oui | Oui | Non
Exécution d’une tâche DTS pour un seul site d’un Data Warehouse | Oui | Oui | Oui
Reconstruction automatique des modèles de prévision et de segment. | Oui | Non | Non
Prise en charge des scripts pour les tâches DTS | Oui | Non | Non
Planification des lots DTS | Oui | Oui | Oui
Affichage des données de progression de l’importation | Oui | Oui | Non
Utilisation du masquage des fichiers journaux | Oui | Oui | Non
Importation de données utilisateur sans cookies | Oui | Oui | Non
Importation de caractères Unicode | Oui | Oui | Non
Importation de fichiers journaux UTF-8 et Unicode | Oui | Oui | Non

Fonctionnalités du système de catalogue de produits

Ce tableau compare la prise en charge des fonctionnalités du système de catalogue de produits dans les différentes éditions de Commerce Server.

Fonctionnalité | Commerce Server 2002 Enterprise Edition | Commerce Server 2002 Standard Edition | Commerce Server 2000
*Convient jusqu’à 10 000 catalogues (limite testée) | Oui | Oui | Non
*Convient jusqu’à 5 millions de produits par catalogue (limite testée) | Oui | Oui | Non
Prix multidevises | Oui | Oui | Non
Catalogues multilingues | Oui | Oui | Non
Catalogues virtuels | Oui | Oui | Non
Catalogues personnalisés | Non (remplacés par les catalogues virtuels) | Non (remplacés par les catalogues virtuels) | Oui
Groupes de catalogues | Oui | Oui | Oui
Contenu synthétisé à partir de plusieurs catalogues | Oui | Oui | Non
Valider le contenu d’un fichier de catalogue XML sans l’importer | Oui | Oui | Non
Importer et exporter les suppressions d’articles de catalogue | Oui | Oui | Non
Exporter les modifications apportées à un catalogue depuis une date spécifique | Oui | Oui | Non
Créer des relations entre les produits de plusieurs catalogues | Oui | Oui | Non
Échange de données de catalogue avec des fournisseurs à l’aide de Microsoft BizTalk Server 2000 ou version ultérieure | Oui | Oui | Oui
Attributs de catalogue et attributs de propriété définis par l’utilisateur | Oui | Oui | Non
Rechercher dans une catégorie | Oui | Oui | Non
Types de données texte SQL pour les produits (non limités à 8 Ko/ligne) | Oui | Oui | Non
Exécuter des requêtes jointes avec des tables externes | Oui | Oui | Non

La configuration de 10 000 catalogues comprenant chacun 5 millions de produits n’a pas été testée.

Fonctionnalités du système de profil

Ce tableau compare la prise en charge des fonctionnalités du système de profil dans les différentes éditions de Commerce Server.

Fonctionnalité | Commerce Server 2002 Enterprise Edition | Commerce Server 2002 Standard Edition | Commerce Server 2000
Convient jusqu’à 10 millions d’utilisateurs uniques dans Active Directory | Oui | Oui | Non
Convient jusqu’à 25 millions d’utilisateurs uniques dans SQL Server | Oui | Oui | Non
Interface de création des définitions de profils | Oui | Oui | Oui
Modification de profils | Oui | Oui | Oui (limité aux utilisateurs et aux organisations)
Modification des entrées du glossaire du site | Oui | Oui | Oui
Gestion de groupes Active Directory à l’aide de Business Desk | Oui | Oui | Non
Profils à valeurs multiples | Oui | Oui | Non
Entrées du glossaire du site à valeurs multiples | Oui | Oui | Non
Modification de profils incorporés | Oui | Oui | Non
Modification de profils génériques | Oui | Oui | Non
Importer et exporter des schémas de profils | Oui | Oui | Non

Fonctionnalités du système de ciblage

Ce tableau compare la prise en charge des fonctionnalités du système de ciblage dans les différentes éditions de Commerce Server.

Fonctionnalité | Commerce Server 2002 Enterprise Edition | Commerce Server 2002 Standard Edition | Commerce Server 2000
Publicités et remises multilingues | Oui | Oui | Non
Application de plusieurs remises à un article ou une commande et contrôle de la commande à laquelle sont appliquées les remises | Oui | Oui | Non
Application de remises en euros ou en pourcentage à un article ou une commande et contrôle de la commande à laquelle sont appliquées les remises | Oui | Oui | Non
Indiquer si un article peut faire l’objet d’une remise | Oui | Oui | Non
Le service de publipostage peut être déployé sur un serveur où SQL Server n’est pas installé | Oui | Oui | Non
Le service de publipostage peut être déployé en tant que ressource organisée en clusters hautement disponible tirant parti du clustering Windows | Oui | Oui | Non
Le service de publipostage survit aux échecs temporaires | Oui | Oui | Non
Authentification intégrée pour le service de publipostage dans SQL Server | Oui | Oui | Non

Voir aussi

Commerce Server .NET Application Framework (en anglais)

International Retail Site (en anglais)


Outils de développement

Les outils de développement suivants de Commerce Server 2002 sont conçus pour aider les développeurs de site à créer et à personnaliser rapidement des sites, puis à les mettre à la disposition des clients :

  • Sites solutions
  • Site International Retail : exemple de site .NET
  • Infrastructure d’application .NET de Commerce Server
  • Portail de développement Commerce Server
  • Kit de développement de logiciel (SDK) de Commerce Server
  • Documentation pour les développeurs
  • Kit de Ressources Techniques Commerce Server 2000
  • Livres blancs
  • Articles de la Base de connaissances

Sites solutions

Les sites solutions sont des sites de référence pour le développement qui fournissent un ensemble de fonctionnalités intégrées comprises dans Commerce Server. Les sites solutions proposent des fonctionnalités de commercialisation, d’affichage des catalogues, de service clientèle et de saisie et de réception des commandes.

Étant donné que les sites solutions fournissent des fonctionnalités d’e-commerce complètes, vous pouvez les utiliser comme base pour le développement de vos propres sites Web, puis ajouter des fonctionnalités spécifiques à votre entreprise.

Les sites solutions comprennent des applications Business Desk. Pour obtenir une application Business Desk, vous devez décompresser un site solution.

Commerce Server 2002 comprend les sites solutions suivants :

  • Site vide (Blank). Vous pouvez utiliser ce site solution comme point de départ pour créer votre propre site personnalisé. Il inclut toutes les ressources Commerce Server 2002. Le site vide est installé avec Commerce Server 2002.
  • Site Retail. Vous pouvez utiliser ce site solution comme point de départ pour créer un site entreprise-client. Il inclut des fonctionnalités entreprise-client pour la personnalisation, la commercialisation, la recherche dans les catalogues, le service clientèle et l’analyse commerciale. Il inclut le Service clientèle, qui permet aux utilisateurs de gérer leurs propres informations de profil et d’afficher le statut de leurs commandes. Le site Retail est disponible à l’adresse http://go.microsoft.com/fwlink/?linkid=6491.
  • Site Supplier. Vous pouvez utiliser ce site solution comme point de départ pour créer un site entreprise-entreprise. Il utilise Active Directory dans Microsoft Windows 2000 pour fournir une authentification sécurisée des utilisateurs et des autorisations d’accès de groupe. Il permet de gérer les bons de commande et les réquisitions et de mettre à jour et d’échanger des catalogues XML. Il fournit également un libre-service pour les partenaires commerciaux. Il inclut le Service partenaire, qui permet à un administrateur délégué (un contact chez un fournisseur) de gérer les informations sur l’entreprise, les bons de commande et le statut des commandes pour ce fournisseur. Le site Supplier est disponible à l’adresse http://go.microsoft.com/fwlink/?linkid=6491.

Site international Retail : exemple de site .NET

Le site International Retail est l’aperçu technologique d’un site Web entreprise-client et entreprise-entreprise multilingue et multidevise.

International Retail est l’exemple d’un site Commerce Server 2002 créé grâce à ASP.NET et du code managé. Une grande partie de la fonctionnalité du site réside dans les contrôles et assemblys compilés qui héritent des classes de ces assemblys.

Le site International Retail prend en charge les catalogues multilingues et illustre l’utilisation des données CultureInfo .NET en matière de contrôle d’affichage du texte et des devises. L’architecture du site est conçue pour permettre la gestion du texte et des images selon plusieurs cultures. Par exemple, le site peut faire la distinction entre un contenu en français de France et un contenu en français du Canada. Il peut fournir la devise, le symbole de devise et les séparateurs appropriés à chaque culture, tout en utilisant le même contenu traduit en français.

Le site International Retail est disponible dans le dossier Microsoft Commerce Server 2002\SDK. Pour obtenir les instructions d’installation, consultez Deploying the International Retail Site (en anglais).

Infrastructure d’application .NET de Commerce Server

L’infrastructure d’application .NET de Commerce Server vous permet de créer des applications Commerce Server .NET utilisant les nouvelles fonctionnalités du .NET Framework. L’infrastructure d’application .NET de Commerce Server propose deux nouvelles couches pour la plate-forme Commerce Server : la bibliothèque de classes de base et la couche d’interopérabilité Common Language Runtime. Ces couches permettent à du code ASP.NET d’exécuter les services et systèmes Commerce Server. En utilisant Visual Studio .NET, vous pouvez accéder aux fonctionnalités et outils de Commerce Server pour créer des applications Commerce Server.

Le Kit de développement de logiciel (SDK) comprend les quatre mini-sites (sitelets) suivants, que vous pouvez utiliser avec le .NET Application Framework :

  • Advertising Sitelet (publicité)
  • Catalog Sitelet (catalogue)
  • Profile Sitelet (profils)
  • Order Sitelet (commandes)

Les mini-sites .NET Framework sont disponibles dans le dossier Program Files\Microsoft Commerce Server 2002\SDK\Samples\WebForms. En outre, le SDK comprend les sept mini-sites suivants, que vous pouvez utiliser avec des applications COM standard :

  • Advertising Sitelet (publicité)
  • Auction Sitelet (enchères)
  • Catalog Sitelet (catalogue)
  • Discount Sitelet (remises)
  • Order Sitelet (commandes)
  • Passport Sitelet (Passport)
  • Profile Sitelet (profils)

Les mini-sites COM sont disponibles dans le dossier Program Files\Microsoft Commerce Server 2002\SDK\Samples\Sitelets. Pour plus d’informations, consultez Commerce Server .NET Application Framework (en anglais).

Portail de développement Commerce Server

Le portail de développement est une suite d’outils Commerce Server intégrée à Visual Studio .NET qui comprend un assistant de création de projet permettant aux développeurs de créer des projets Commerce Server à partir de l’environnement Visual Studio .NET et aux concepteurs de schéma de créer des systèmes de profils et de catalogues produits hébergés dans l’environnement Visual Studio .NET.

Pour plus d’informations, consultez Using the Developer Portal (en anglais).

Kit de développement de logiciel (SDK) de Commerce Server

Le Kit de développement de logiciel (SDK, Software Development Kit) de Commerce Server comporte des fichiers d’en-tête, des exemples de code, des mini-sites et des outils pour le développement de solutions e-commerce à l’aide de Commerce Server 2002.

Fichiers d'en-tête

Exemples de code

Mini-sites

Outils

Fichiers d’en-tête

Le dossier Include du SDK contient les fichiers d’en-tête et IDL (Interface Description Language) nécessaires pour utiliser et étendre les services fournis par Commerce Server 2002 dans Microsoft Visual C++.

Exemples de code

Vous trouverez ci-dessous une liste non exhaustive des exemples de code fournis dans le SDK :

  • Exemples d’administration. Référence pour la création de ressources Commerce Server 2002, l’intégration et l’extension du Gestionnaire Commerce Server et la création de composants Gestionnaire de package de site Commerce Server personnalisés et de modules Commerce Server Business Desk personnalisés.
  • Infrastructure du module Business Desk. Code à utiliser comme base de travail lors du développement de nouveaux modules Business Desk. Ce code montre comment utiliser des îlots de données XML (XML data-islands) et comprend des widgets Business Desk permettant de créer une riche interface utilisateur Web, pour une administration non technique de votre site Commerce Server. Cet exemple fournit une page de modification pour l’implémentation du widget Edit, une page de liste pour l’implémentation du widget List et une page de réponse pour la gestion des demandes à partir de l’interface de Business Desk. En outre, le script AddModuleToConfig.vbs vous montre comment installer de nouveaux modules Business Desk dans un Business Desk existant.
  • Programme d’installation de Business Desk. Composant COM simple qui montre comment utiliser l’API d’administration avec la métabase des services IIS (Internet Information Services) 5.0 et comment utiliser l’analyseur MSXML (Microsoft Extensible Markup Language) pour installer de nouveaux modules Business Desk dans un Business Desk existant.
  • Composant Gestionnaire de package de site personnalisé. Composant qui montre comment compresser et décompresser les données spécifiques aux ressources du site créées dans un package de site Commerce Server lors du processus de compression/décompression. Le composant Gestionnaire de package de site personnalisé est une DLL Microsoft Visual Basic ActiveX qui implémente l’interface IPuP (nécessaire pour les composants du Gestionnaire de package de site personnalisé), compresse les données stockées dans une base de données Microsoft SQL Server et décompresse ces données dans un site spécifié.
  • Titres d’évaluation de l’infrastructure de sélection de contenu. Exemple qui montre comment étendre le système de ciblage à l’aide des composants personnalisés de chargement du cache et d’évaluation des scores de l’infrastructure de sélection de contenu (CSF, Content Selection Framework). L’exemple Titres d’évaluation de l’infrastructure de sélection de contenu suppose que vous souhaitez cibler les titres pour les utilisateurs de votre site en tenant compte de l’ancienneté du titre et des titres qui ont été affichés le plus souvent. Il illustre l’intégration au système de ciblage à l’aide de Microsoft Visual C++ et de Microsoft Visual Basic.
  • Utilitaires de débogage CSF. Ensemble de pages ASP (Active Server Pages) que vous pouvez inclure dans vos scripts pour vider un cache CSF et effectuer le suivi de la logique d’évaluation des scores appliquée pour une demande de contenu donnée. L’exemple Titres d’évaluation de l’infrastructure de sélection de contenu montre comment utiliser ces utilitaires de débogage.
  • Utilitaires de base de données CSF. Ensemble de scripts SQL permettant de vider entièrement les bases de données de l’infrastructure CSF, de l’Évaluateur d’expressions et du Gestionnaire de listes.

Mini-sites

Outre les traditionnels exemples de code fournis dans le SDK de Commerce Server 2002, des mini-sites Commerce Server 2002 (appelés « sitelets ») sont également inclus. Ces mini-sites montrent comment utiliser des ensembles API à partir de pages ASP sans les intégrer avec le reste des services d’exécution de Commerce Server 2002. Exécutez les mini-sites pour vous aider à isoler et à comprendre les API d’une fonctionnalité spécifique sans filtrer manuellement du code sans rapport avec la tâche que vous souhaitez effectuer. Le Kit de développement de logiciel de Commerce Server 2002 propose les mini-sites suivants :

  • Advertising Sitelet (publicité). Montre comment utiliser le système de profil avec le système de ciblage pour afficher des publicités ciblées. Disponible pour le .NET Application Framework et COM.
  • Auction Sitelet (enchères). Montre comment utiliser le composant Enchères pour implémenter des enchères Offres gagnantes. Ce mini-site inclut un module Business Desk personnalisé conçu pour gérer les enchères. Disponible pour COM.
  • Catalog Sitelet (catalogues). Montre comment utiliser le système de catalogue de produits pour doter votre site d’e-commerce de fonctionnalités de recherche et de parcours dans les catalogues. Disponible pour le .NET Application Framework et COM.
  • Discount Sitelet (remises). Montre comment utiliser les remises ciblées lors du processus de saisie des commandes sur votre site Web. Disponible pour COM.
  • Order Sitelet (commandes). Montre comment utiliser Commerce Server pour implémenter un processus de saisie des commandes sur votre site Web. Disponible pour le .NET Application Framework et COM.
  • Passport Sitelet (Passport). Montre comment intégrer le service Passport connexion unique dans le système de profil. Avec cette fonctionnalité, vous et vos utilisateurs pouvez bénéficier d’un service connexion unique, tout en conservant la possibilité d’utiliser le système de profil pour cibler les utilisateurs, gérer les données utilisateur, etc. Disponible pour COM.
  • Profile Sitelet (profils). Montre comment utiliser le système de profil pour enregistrer et authentifier les utilisateurs sur votre site d’e-commerce. Disponible pour le .NET Application Framework et COM.

Les versions COM des mini-sites sont disponibles dans le dossier Program Files\Microsoft Commerce Server 2002\SDK\Samples\Sitelets. Les versions .NET Framework des mini-sites sont disponibles dans le dossier Program Files\Microsoft Commerce Server 2002\SDK\Samples\WebForms.

Outils

Le SDK de Commerce Server 2002 comprend un ensemble d’outils permettant de simplifier et d’accélérer le processus de développement pour la création de sites exécutés par Commerce Server 2002, la création de produits qui s’intègrent à Commerce Server et la création de modules complémentaires pour Commerce Server 2002.

  • Assistant Composant de pipeline pour Visual Basic. Cet outil fournit aux développeurs Visual Basic un environnement RAD (Release And Deployment) pour la création de composants de pipeline de traitement des commandes. Pour installer l’Assistant Composant de pipeline pour Visual Basic, enregistrez le fichier PipelineCompWizard.dll dans le dossier VB Pipe Wizard des outils SDK. Par exemple, C:\Program Files\Microsoft Commerce Server\SDK\Tools\VB Pipe Wizard.
  • Assistant Composant de pipeline pour Visual C++. Cet outil propose un groupe de fichiers que vous pouvez ajouter à votre installation de Microsoft Visual C++ 6.0 pour automatiser la création des composants de pipeline Commerce Server. L’Assistant Composant de pipeline crée les fichiers de définition d’objet et d’implémentation qui contiennent les prototypes de fonction pour toutes les interfaces que vous devez implémenter afin de créer un composant de pipeline entièrement opérationnel. En outre, l’Assistant Composant de pipeline crée une page de propriétés pour votre projet, dans laquelle vous pouvez ajouter les contrôles permettant aux utilisateurs de définir les propriétés des composants.
  • Outil d’inscription des composants de pipeline (PipeReg). Cet outil permet d’inscrire les composants de pipeline pour l’affinité d’étape. Vous inscrivez le composant de pipeline sur l’ordinateur qui exécute l’outil et vous pouvez ensuite exporter les données vers un fichier de script de registre (.reg) pour déployer ce composant sur d’autres serveurs. L’outil d’inscription des composants de pipeline se trouve dans le dossier Registration Tool du SDK. Par exemple, C:\Program Files\Microsoft Commerce Server\SDK\Tools\Registration Tool.

Documentation pour les développeurs

L’aide de Commerce Server 2002 fournit une documentation détaillée qui explique comment personnaliser Commerce Server 2002. Cette documentation comprend notamment des instructions pour effectuer les tâches suivantes :

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

En outre, l’aide de Commerce Server 2002 propose un exemple de code pour chaque objet Commerce Server 2002.

Pour installer des mises à jour de l’aide Commerce Server 2002, consultez http://go.microsoft.com/fwlink/?LinkId=6724.

Kit de Ressources Techniques Commerce Server 2000

Le Kit de Ressources Techniques Commerce Server 2000 de Microsoft contient des informations détaillées sur le développement de solutions e-commerce à l’aide de Microsoft Commerce Server 2000. Il n’est pas spécifique à Commerce Server 2002 Enterprise Edition. Ce Kit de Ressources Techniques est disponible auprès de Microsoft Press.

Le Kit de Ressources Techniques Commerce Server 2000 comprend des informations sur les thèmes suivants :

  • Implémentation de l'identification et de l'authentification
  • Extension du système d’analyse commerciale
  • Implémentation de modèles de tarification complexes
  • Développement à l'aide du système de profil
  • Modification du traitement des commandes
  • Intégration à SAP
  • Intégration avec J.D. Edwards OneWorld
  • Test de votre site
  • Optimisation des performances

Livres blancs

Les Livres blancs sont rédigés par des consultants, des développeurs de logiciels et des intégrateurs système Microsoft. Les Livres blancs abordent des questions spécifiques relatives au développement et à l’infrastructure des sites et fournissent des informations détaillées qui peuvent être absentes de la documentation du produit.

Pour obtenir une liste des livres blancs consacrés à Commerce Server, consultez http://go.microsoft.com/fwlink/?LinkId=6274.

Articles de la Base de connaissances

Les articles de la Base de connaissances (KB, Knowledge Base) sont écrits par des ingénieurs du support technique Microsoft. Ces articles fournissent des informations sur le dépannage et la résolution de problèmes techniques spécifiques.

Pour plus d’informations sur les articles de la Base de connaissances Microsoft, consultez http://go.microsoft.com/fwlink/?LinkId=5166.

Voir aussi

Utilisation du Gestionnaire de package de site

Programmer’s Reference (en anglais)


Outils de l'administrateur système

Envoyer des commentaires sur cette page Commerce Server 2002

Outils de l’administrateur système

Commerce Server comprend deux outils pour les administrateurs système : Le Gestionnaire Commerce Server et le Gestionnaire de package de site Commerce Server. Les administrateurs système utilisent ces outils pour déployer et gérer les ressources, sites, applications et serveurs Web.

Gestionnaire Commerce Server

Le Gestionnaire Commerce Server est un outil qui permet de gérer et de configurer les ressources, sites, applications et serveurs Web Commerce Server 2002. Microsoft Management Console (MMC), une interface Windows incluse dans Microsoft Windows 2000, héberge le Gestionnaire Commerce Server.

Le Gestionnaire Commerce Server offre une infrastructure commune pour la gestion de sites Web dans une interface intégrée unique. Les fonctionnalités du Gestionnaire Commerce Server ne sont pas disponibles via une administration par le Web ou une ligne de commande. En revanche, la plupart des fonctionnalités sont accessibles et manipulables par l’intermédiaire d’objets COM. Aussi est-il possible d’écrire un script WSH (Windows Script Host) ou une page ASP pour étendre l’environnement d’administration. Pour plus d’informations sur le Gestionnaire Commerce Server, consultez Administration de Commerce Server.

Remarque

  • Vous ne pouvez pas utiliser le Gestionnaire Commerce Server pour gérer Site Server 3.0 ou Site Server 3.0 Édition Commerce électronique (SSCE). Pour plus d’informations sur la migration d’un site à partir de Site Server, consultez Mise à niveau à partir de Site Server 3.0.

Gestionnaire de package de site Commerce Server

Le Gestionnaire de package de site est un outil de déploiement que vous pouvez utiliser pour compresser un site, ses applications et ses ressources en un fichier unique, et transférer ensuite ce fichier dans un autre environnement. Cet outil permet de compresser en un seul fichier votre site Commerce Server (y compris les paramètres de métabase IIS), le système de fichiers, les ressources de la base de données d’administration ainsi que les bases de données SQL Server. Il permet également de décompresser le site Commerce Server 2002 (ou des parties de celui-ci) sur d’autres ordinateurs.

Par exemple, après le développement ou la mise à jour de votre site, vous pouvez utiliser le Gestionnaire de package de site pour compresser et déplacer votre site de l’environnement de développement à l’environnement de test, puis de l’environnement de test à l’environnement de production.

Dans la plupart des cas, le Gestionnaire de package de site est utilisé pour le déploiement initial de votre site. Pour les déploiements, les mises à jour incrémentielles et les rollbacks ultérieurs, utilisez d’autres outils tels que Microsoft Application Center 2000 ou d’autres produits de gestion de contenu. Pour plus d’informations sur le Gestionnaire de package de site Commerce Server, consultez Utilisation du Gestionnaire de package de site.

Voir aussi

Administration de Commerce Server

Utilisation du Gestionnaire de package de site

Mise à niveau à partir de Site Server 3.0


Outils du chef d'entreprise

Envoyer des commentaires sur cette page Commerce Server 2002

Outils du chef d’entreprise

Commerce Server Business Desk est un outil extensible que les chefs d’entreprise peuvent utiliser pour gérer et analyser leurs sites Web. Par exemple, les fonctionnalités de Business Desk permettent de mettre à jour les tarifs de vos catalogues, de cibler de nouvelles publicités en fonction d’utilisateurs spécifiques et d’exécuter des rapports pour mesurer l’impact de ces modifications sur la productivité du site.

Business Desk s’adresse aux chefs d’entreprise : aux personnes qui connaissent les objectifs, stratégies et processus commerciaux permettant de créer et d’exécuter un site Web d’e-commerce réussi, mais qui ne disposent pas du savoir technique permettant d’administrer une application serveur.

Business Desk comporte deux parties : l’application Business Desk et le client Business Desk.

  • Application Business Desk. Outil de gestion permettant de configurer, de gérer et d’analyser votre site. Business Desk est accessible depuis n’importe quel ordinateur exécutant Microsoft Internet Explorer 5.5, ce qui permet un accès à distance sécurisé.

    Les applications Business Desk sont fournies dans les packages de site solution. Après avoir installé Commerce Server, vous devez décompresser un site solution pour installer une application Business Desk. Si vous disposez déjà d’un site et souhaitez utiliser Business Desk pour le gérer, vous devez décompresser un site solution pour obtenir l’application Business Desk, puis modifier l’application.

    Les sites solutions de Commerce Server sont disponibles à l’adresse http://go.microsoft.com/fwlink/?linkid=6491.

  • Client Business Desk. Logiciel client installé localement sur votre ordinateur, qui fournit l’interface avec l’application Business Desk. Lorsque vous accédez à l’application Business Desk pour la première fois (via une adresse URL), le client Business Desk est téléchargé et installé sur votre ordinateur. Il est préférable que l’ordinateur qui exécute le client Business Desk dispose d’une connexion haute vitesse avec l’application Business Desk.


Accessibilité aux personnes atteintes de handicaps

Microsoft s’engage à rendre l’utilisation de ses produits et services plus facile pour chacun. Cette section fournit des informations sur les fonctionnalités qui facilitent l’accès à Commerce Server 2002 aux personnes atteintes de handicaps.

Pour en savoir plus sur… | Consultez…
L’utilisation du clavier pour naviguer dans l’afficheur d’aide | Raccourcis clavier de l’afficheur d’aide
Les raccourcis clavier les plus fréquemment utilisés dans Commerce Server Business Desk | Utilisation des raccourcis clavier

Cette section contient les rubriques suivantes :

  • Fonctionnalités d’accessibilité de Microsoft Windows 2000 Server
  • Pour plus d’informations sur l’accessibilité

Fonctionnalités d’accessibilité de Microsoft Windows 2000 Server

Commerce Server 2002 prend en charge les fonctionnalités d’accessibilité ci-dessous de Microsoft Windows 2000 Server. Ces fonctionnalités sont présentes dans Commerce Server Business Desk, le Gestionnaire Commerce Server et Pipeline Editor.

  • Loupe. Affiche une zone d’écran agrandie dans une fenêtre séparée pour une meilleure visualisation.
  • Narrateur. Lit les informations qui figurent sur votre écran, y compris les noms des boîtes de dialogue, les menus, le texte entré, etc. Le Narrateur fournit un niveau minimum d’accessibilité pour que les personnes non-voyantes ou malvoyantes puissent interagir avec Commerce Server 2002 durant la configuration ou en cas d’urgence.

    Remarque

    • Le Narrateur est uniquement disponible avec la version en anglais (U.S.) de Windows 2000 Server.
  • Clavier visuel. Affiche un clavier virtuel pour que vous puissiez entrer des informations en utilisant un périphérique de pointage, tel qu’une souris ou un périphérique d’entrée à un bouton. Le Clavier visuel est compatible avec la plupart des claviers et leurs paramètres.

Pour plus d’informations sur leur utilisation ainsi que d’autres options d’accessibilité, consultez « Accessibilité aux personnes atteintes de handicaps » dans l’aide de Windows 2000 Server.

Pour plus d’informations sur l’accessibilité

Pour plus d’informations sur les options d’accessibilité, consultez l’aide de Windows 2000, plus particulièrement « Accessibilité aux personnes atteintes de handicaps » dans le manuel « Mise en route de Windows 2000 Server ».

Pour plus d’informations sur les options d’accessibilité de Microsoft SQL Server, consultez « Accessibilité aux personnes atteintes de handicaps » dans la Documentation en ligne de SQL Server.

Pour en savoir plus sur les produits Microsoft disponibles pour les personnes atteintes de handicaps, visitez http://go.microsoft.com/fwlink/?LinkId=6683 (en anglais). Ce site contient les rubriques suivantes :

  • Informations complètes sur l’accessibilité des produits Microsoft.
  • Informations sur une grande variété de matériels et logiciels tiers qui sont disponibles pour faciliter l’utilisation des PC.
  • Une vue d’ensemble d’autres produits, services et ressources en matière d’accessibilité qui sont disponibles auprès de Microsoft et d’autres organisations.


Les Services du Support Technique Microsoft*

Le parcours solution

Si vous avez une question ou si vous rencontrez un problème concernant l’utilisation d’un produit Microsoft, nous vous suggérons de:

  • Consultez les rubriques d'aide en ligne ou la documentation du produit, et les fichiers «lisez-moi» fournis avec le jeu de disques ou disquettes de votre produit.
  • Visitez le site web du Support Technique de la filiale Microsoft qui dessert votre pays (voir la rubrique Contacts ci-dessous), qui vous propose un ensemble de guides et d’informations techniques toujours à jour et destiné à vous aider à trouver une réponse aux problématiques les plus courantes.
  • Connectez-vous sur les newsgroups produit Microsoft et posez votre question aux autres utilisateurs des logiciels Microsoft.
  • Bénéficiez de l’Assistance Utilisateur, le service qui vous permet de soumettre une demande d'assistance sur un produit Microsoft (à l'exception des logiciels pour serveur) pendant toute sa durée de vie et dans la limite de 2 incidents.
  • Visitez le site web de la filiale Microsoft qui dessert votre pays (voir la rubrique Contacts ci-dessous) ou contactez-nous pour identifier l’offre de services de Support qui répond le mieux à vos besoins.

* Les services de Support Technique de Microsoft sont offerts selon les conditions tarifaires et contractuelles en vigueur et peuvent faire l'objet de modifications. Ce document n'est pas un document contractuel et a uniquement pour objet de vous informer sur le Support Technique qui vous est proposé par Microsoft. Microsoft se réserve le droit d'adapter ou de modifier à tout moment le contenu de ce programme en fonction des évolutions, adaptations ou modifications qui pourraient s'avérer nécessaires.


Les ressources du service de Support en ligne

L’équipe Support en ligne vous propose de nombreuses ressources pour vous aider à trouver de vous même la solution que vous cherchez: des guides d’installation et de dépannage, la réponse aux questions plus fréquentes, des trucs et astuces, des téléchargements, l’actualité technique ainsi que des groupes de discussion spécialisés.

Vous pourrez ainsi obtenir rapidement et facilement une réponse à la majeure partie de vos questions directement sur Internet, 24 heures sur 24, 7 jours sur 7.

Visitez le site web du service de Support en ligne de la filiale Microsoft qui dessert votre pays:

  • pour la France : http://www.microsoft.com/france/support/
  • pour le Canada : http://www.microsoft.ca/french/support/
  • pour les autres pays, consultez les adresses web indiquées sous la rubrique Contacts.


Les Services de Support Technique

Le Support Premier

Destiné aux grandes entreprises et aux administrations, le Support Premier offre une expertise technique et des services professionnels sur mesure, afin de garantir la meilleure disponibilité des solutions Microsoft. Cette offre homologuée ISO 9002 s’articule autour de quatre types de prestations: une relation technique suivie et personnalisée avec Microsoft; une prévoyance accrue pour la gestion de vos solutions ; un accès privilégié au savoir-faire de Microsoft et une réactivité permanente.

Les offres Microsoft Support Premier Agréé

Bâties sur le modèle de l'offre Support Premier de Microsoft, les offres de la famille Support Premier Agréé sont spécifiquement conçues pour répondre aux attentes des entreprises possédant entre 200 et 5000 PC. Conjointement délivrées par Microsoft et ses Centres de Support Agréés, les offres Support Premier Agréé s'appuient sur la diversité des compétences et l'expérience de nos partenaires, procurant ainsi des avantages complémentaires à ceux que Microsoft pourrait fournir en intervenant seule.

Le Support Professionnel Microsoft

Que vous soyez un professionnel de l’informatique, un développeur, un revendeur informatique ou un consultant, l’offre de Support Professionnel vous garantit une assistance technique réactive de haut niveau, sur l’ensemble des logiciels Microsoft, dans la mesure de 5 demandes par an. Accessible en ligne ou par téléphone, cette offre s’adresse en particulier aux développeurs, spécialistes informatiques, revendeurs et consultants au sein de la PME.

L’Assistance Technique facturée à l’incident

Disponible au Canada uniquement, l’Assistance technique facturée à l’incident est accessible du lundi au vendredi de 8 h à 23 h, et le samedi de 10 h à 18 h HNE à l'exception des jours fériés. Composez le 1 800 668-7975; le paiement de l'assistance technique pour votre incident est effectué par carte de crédit.

Pour plus de renseignements

Les Services d'Information sont à votre écoute afin de vous fournir de plus amples renseignements sur les offres de support technique proposées par Microsoft et ses partenaires.

Vous pouvez nous contacter en France au 0 825 827 829 (0,125 Euro ttc/min) suivi de 0 et du code 4488 #, et au Canada au 1 800 563-9048.

Pour les autres pays, consultez les numéros de téléphone indiqués sous la rubrique Contacts.


Contacts

La liste des contacts*** des pays et des filiales Microsoft offrant un support après-vente pour les versions françaises est indiquée ci-dessous:

Pays | Numéros de téléphone
Belgique | Microsoft BVBA Phone: +32 2-704 30 00 Support technique (francophone): (32) 2-51 32 268 http://www.microsoft.com/france/support/
Canada | Microsoft Canada Co. Téléphone (support technique): 1 (905) 568-3503 Centre d'information: 1 (800) 563-9048 Tél. support technique (bilingue): 1 (905) 568-2294 Téléphone texte (TT/TDD): 1 (905) 568-9641 http://www.microsoft.ca/french/support/
France | Microsoft France Téléphone: 0 825 827 829 (0,125 Euro TTC/min) suivi de 0 et du code = 44 88 # http://www.microsoft.com/france/support/
Luxembourg | Microsoft BVBA Phone: +32 2-70 43 000 Support technique (francophone): (32) 2-51 32 268 http://www.microsoft.com/france/support/
Polynésie française | Voir France
Suisse | Microsoft SA Support technique (francophone): (41) (22) 738 96 88 Téléphone : (41) (1) 839 61 11 Prix, mises à jour, etc. : 01/839 61 11 http://www.microsoft.com/switzerland/fr/support/

S'il n'existe pas de filiale Microsoft dans votre pays, veuillez contacter le revendeur auprès duquel vous avez effectué l'achat de votre produit Microsoft ou consulter le site web suivant: www.microsoft.com/worldwide/

*** Des frais de communication téléphonique peuvent s'appliquer.


Utilisation de l'aide de Commerce Server

Envoyer des commentaires sur cette page Commerce Server 2002

Utilisation de l’aide de Commerce Server

Le système d’aide de Commerce Server 2002 contient une documentation destinée aux développeurs de sites Web, aux administrateurs système et aux chefs d’entreprise.

L’aide de Commerce Server 2002 est installée en même temps que Commerce Server dans un fichier HTML compilé (avec l’extension .chm). À intervalles réguliers, Microsoft met à jour ce fichier en y ajoutant de nouvelles informations issues des commentaires et questions des clients ; Microsoft publie ce fichier sur http://go.microsoft.com/fwlink/?LinkId=6724 d’où vous pouvez le télécharger pour remplacer la précédente version installée avec le produit.

Il est recommandé de mettre à jour votre copie de l’aide de Commerce Server 2002 chaque fois qu’une nouvelle version est disponible.

Cette section contient les rubriques suivantes :

  • À propos de l’aide de Commerce Server. Décrit la structure et le contenu de l’aide de Commerce Server 2002.
  • Didacticiels Commerce Server. Répertorie les didacticiels fournis avec Commerce Server.
  • Utilisation de l’afficheur d’aide. Explique comment utiliser l’afficheur d’aide pour trouver les informations dont vous avez besoin.
  • Recherche d’une rubrique d’aide. Explique comment rechercher des expressions précises et comment trouver des rubriques en utilisant les opérateurs OU, ET, PRÈS et SANS.
  • Création d’un signet dans une rubrique d’aide. Explique comment créer un signet dans une rubrique d’aide pour pouvoir la retrouver facilement par la suite.
  • Impression d’une rubrique d’aide. Explique comment imprimer simultanément une ou plusieurs rubriques.
  • Copie d’une rubrique d’aide. Explique comment copier une rubrique d’aide et la coller dans un autre document.
  • Utilisation du filtrage de langage. Explique comment utiliser le filtrage de langage pour afficher des exemples de code de C++ ou Microsoft Visual Basic.
  • Raccourcis clavier de l’afficheur d’aide. Répertorie les raccourcis clavier pour l’utilisation de l’afficheur d’aide.
  • Autres ressources. Répertorie les autres sources d’informations disponibles en plus de l’aide de Commerce Server.


À propos de l'aide de Commerce Server

Envoyer des commentaires sur cette page Commerce Server 2002

À propos de l’aide de Commerce Server

L’aide de Commerce Server 2002 a été conçue de manière à permettre aux utilisateurs de localiser facilement le type d’informations dont ils ont besoin (déroulement des opérations, concepts, procédures ou références) pour gérer, administrer ou développer efficacement leurs sites de commerce.

Structure du système d’aide

Aide pour les développeurs

Aide de Business Desk

Structure du système d’aide

La table des matières comprend plusieurs livres correspondant chacun à une fonctionnalité majeure du produit. Les nœuds, ou chapitres, de chaque livre correspondent aux principales tâches que vous serez amené à effectuer dans le cadre de cette fonctionnalité ou expliquent des concepts ou technologies clés que vous devez connaître pour effectuer ces tâches.

Le tableau suivant répertorie les livres de l’aide de Commerce Server et fournit une description de chacun d’eux.

Livre | Description | Utilisateurs
Mise en route | Décrit les fonctionnalités, outils et concepts de Commerce Server. Explique comment concevoir votre site Commerce Server et fournit un lien vers les instructions d’installation. | Tous les utilisateurs de Commerce Server
Developer’s Guide (en anglais) | Explique comment configurer votre environnement de développement, programmer à l’aide d’objets Commerce Server, personnaliser des pipelines et intégrer Commerce Server avec d’autres applications. | Développeurs de site
Déploiement de votre site | Explique comment utiliser le Gestionnaire de package de site pour déployer un site utilisant SQL Server ou Active Directory et comment effectuer des mises à jour incrémentielles de votre site. Explique comment sécuriser votre site. Fournit deux exemples détaillés pour l’installation de Commerce Server, avec une configuration de cluster à quatre ordinateurs et avec une configuration sans cluster à trois ordinateurs. | Administrateurs système
Administration de Commerce Server | Décrit les ressources, les sites, les applications, les serveurs Web et la base de données d’administration de Commerce Server et explique comment les gérer. Explique comment gérer les composants Profils, Authentication CS, Service de publipostage et Data Warehouse. Explique comment configurer Commerce Server pour utiliser BizTalk Server. | Administrateurs système
Utilisation de Business Desk | Explique comment gérer votre site à l’aide de Business Desk. Comprend un didacticiel contenant des ateliers de formation à la gestion d’un site entreprise-client et d’un site entreprise-entreprise. | Chefs d’entreprise
Extending Commerce Server (en anglais) | Explique comment intégrer une ressource personnalisée dans Commerce Server, créer de nouveaux modules Business Desk et de nouveaux composants de pipeline. Explique comment intégrer des catalogues de produits tiers et intégrer Microsoft Passport. | Développeurs de site
Programmer’s Reference (en anglais) | Fournit une documentation de référence complète sur les composants COM qui remplissent différentes fonctions dans Commerce Server. | Développeurs de site
Dépannage de Commerce Server | Décrit les symptômes et solutions pour les problèmes que vous êtes susceptible de rencontrer en utilisant Commerce Server. | Administrateurs système et développeurs de site
Glossaire | Définit les termes courants utilisés dans Commerce Server. | Tous les utilisateurs de Commerce Server

Dans chaque livre, vous trouverez des nœuds contenant les types d’informations suivants :

  • Diagrammes de déroulement des opérations. La documentation relative à chaque catégorie Business Desk contient une figure illustrant les principales tâches effectuées pour cette fonctionnalité, avec des liens vers les rubriques qui fournissent des instructions détaillées pour effectuer chaque tâche.
  • Mise en route. Des nœuds Mise en route sont disponibles à la fois pour Commerce Server et pour Business Desk.
  • Rubriques de base. Ces rubriques décrivent les tâches courantes et fournissent des informations de navigation concernant Business Desk, le Gestionnaire Commerce Server et les pipelines.
  • Concepts. Dans les rubriques Business Desk et ailleurs, les titres qui commencent par « À propos de » signalent des rubriques présentant des concepts clés pour l’utilisation de Commerce Server et de ses composants.
  • Tâches. Les rubriques de tâche fournissent des instructions détaillées permettant d’effectuer les tâches illustrées dans le déroulement des opérations.

Aide pour les développeurs

Pour vous permettre d’afficher uniquement les informations pertinentes pour votre environnement de programmation, l’aide de Commerce Server 2002 dispose d’un outil permettant d’appliquer un filtre en fonction du langage. Dans la barre de titre des rubriques de Programmer’s Reference (en anglais), vous trouverez un bouton de filtre permettant d’afficher un menu de langages. Ce menu vous permet d’afficher la documentation adaptée à Visual C++ ou à Visual Basic. Une fois que vous avez sélectionné un langage, la sélection reste effective lorsque vous affichez d’autres pages.

En plus de l’aide, vous pouvez consulter les documents suivants pour obtenir des informations sur le développement :

  • Kit de développement de logiciel (SDK, Software Development Kit) de Commerce Server. Comporte des exemples de code et de la documentation pour le développement de solutions e-commerce à l’aide de Commerce Server. Par exemple, il explique comment développer du code pour des ventes associées (offres de lancement, ventes croisées et inventaire des ventes). Le kit SDK est installé avec Commerce Server 2002.

    Pour accéder au kit SDK, cliquez sur Démarrer, pointez sur Programmes, sur Microsoft Commerce Server 2002, puis cliquez sur Kit de développement de logiciel.

  • Kit de Ressources Techniques Commerce Server 2000. Fournit des informations détaillées sur la conception, le développement, le déploiement, l’évolution et l’optimisation de votre installation Commerce Server. Le Kit de Ressources Techniques Commerce Server 2000 est publié par Microsoft Press.

Aide de Business Desk

Le système d’aide de Business Desk est un sous-ensemble de l’aide de Commerce Server 2002. Les utilisateurs Business Desk peuvent afficher l’aide contenue dans le livre « Utilisation de Business Desk », mais ils n’ont pas accès aux autres livres Commerce Server à partir de leur ordinateur client.

Pour accéder à l’aide à partir de Business Desk, cliquez sur Icône Aide Business Desk dans la barre d’outils.


Didacticiels Commerce Server

Commerce Server comprend les didacticiels suivants :

  • Commerce Server .NET Application Framework Tutorial (en anglais).
  • Didacticiel du service de publipostage.
  • Didacticiel Business Desk entreprise-client.
  • Didacticiel Business Desk entreprise-entreprise.
  • Exploring the International Retail Site (en anglais).


Utilisation de l'afficheur d'aide

Envoyer des commentaires sur cette page Commerce Server 2002

Utilisation de l’afficheur d’aide

Le système d’aide de Commerce Server 2002 utilise le langage HTML pour formater et afficher les informations. L’afficheur d’aide présente une table des matières, un index et une fonction de recherche de texte intégral qui vous permettent de trouver facilement les informations. Les icônes de livres s’ouvrent pour révéler les sous-livres et les rubriques.

Pour développer la table des matières et afficher les rubriques contenues dans un livre, cliquez sur l’indicateur de développement (+) en regard du titre du livre. Quand vous cliquez sur l’indicateur de réduction (-), les rubriques sont masquées. L’afficheur d’aide vous permet de consulter la table des matières, l’index ou les résultats d’une recherche en même temps que vous affichez une rubrique d’aide.

L’afficheur d’aide comprend également un onglet Favoris que vous pouvez utiliser pour créer des signets dans les rubriques. Cela vous permet d’afficher rapidement les rubriques que vous consultez fréquemment.

Pour en savoir plus sur Commerce Server, vous pouvez parcourir la documentation à l’aide de la table des matières. Lorsque vous cliquez sur une rubrique dans la table des matières, les informations s’affichent dans le volet de contenu de la fenêtre d’aide.

Dans l’afficheur d’aide, les options de navigation et de recherche suivantes sont disponibles :

  • Onglet Sommaire
    1. Pour parcourir la table des matières, cliquez sur l’onglet Sommaire. Double-cliquez sur les icônes des livres pour faire apparaître les rubriques et les sous-livres.
    2. Cliquez sur une entrée de la table des matières pour afficher la rubrique correspondante.
  • Onglet Index
    1. Pour afficher une liste d’entrées d’index, cliquez sur l’onglet Index, puis entrez un mot ou faites défiler la liste. Les rubriques sont souvent indexées sous plusieurs entrées.
    2. Double-cliquez sur une entrée d’index pour afficher la rubrique correspondante.
  • Onglet Rechercher
    1. Pour localiser chaque occurrence d’un mot ou d’une expression, cliquez sur l’onglet Rechercher, tapez le mot ou l’expression recherchés, puis cliquez sur Rechercher. Pour affiner votre recherche, vous pouvez combiner plusieurs mots ou expressions avec les opérateurs ET, OU, PRÈS et SANS.
    2. Double-cliquez sur une entrée de résultats de recherche pour afficher la rubrique correspondante.

    Pour plus d’informations sur la recherche d’une rubrique, consultez Recherche d’une rubrique d’aide.

  • Onglet Favoris
    1. Pour créer un signet dans une rubrique, localisez et affichez la rubrique à l’aide de l’onglet Sommaire, Index ou Recherche.
    2. Cliquez sur l’onglet Favoris, puis sur Ajouter pour enregistrer le titre de rubrique dans la liste Rubriques.
    3. Double-cliquez sur un signet de la liste Rubriques pour afficher rapidement la rubrique.

Voir aussi

Recherche d’une rubrique d’aide

Création d’un signet dans une rubrique d’aide

Impression d’une rubrique d’aide

Copie d’une rubrique d’aide

Utilisation du filtrage de langage

Raccourcis clavier de l’afficheur d’aide


Recherche d'une rubrique d'aide

Envoyer des commentaires sur cette page Commerce Server 2002

Recherche d’une rubrique d’aide

  1. Pour localiser chaque occurrence d’un mot ou d’une expression, cliquez sur l’onglet Rechercher, tapez le mot ou l’expression recherchés, puis cliquez sur Rechercher.
  2. Pour rechercher une expression précise, placez l’expression entre guillemets ; par exemple, "ordinateur et moniteur" trouve les rubriques contenant l’expression précise ordinateur et moniteur.
  3. Pour affiner votre recherche, vous pouvez combiner plusieurs mots ou expressions avec les opérateurs AND, OR, NEAR et NOT.

    Par exemple :

    • La recherche ordinateur and moniteur trouve les rubriques contenant à la fois les mots ordinateur et moniteur.
    • La recherche ordinateur or moniteur trouve les rubriques contenant ordinateur ou moniteur.
    • La recherche ordinateur near moniteur trouve les rubriques contenant à la fois les mots ordinateur et moniteur à proximité l’un de l’autre.
    • La recherche ordinateur not moniteur trouve les rubriques contenant le mot clé ordinateur, mais ne contenant pas le mot clé moniteur.
  4. Double-cliquez sur une entrée de résultats de recherche pour afficher la rubrique correspondante.

Voir aussi

Création d’un signet dans une rubrique d’aide

Impression d’une rubrique d’aide

Copie d’une rubrique d’aide

Utilisation du filtrage de langage

Raccourcis clavier de l’afficheur d’aide


Création d'un signet dans une rubrique d'aide

Envoyer des commentaires sur cette page Commerce Server 2002

Création d’un signet dans une rubrique d’aide

  1. Utilisez les onglets Sommaire, Index ou Recherche pour localiser, puis afficher la rubrique dans laquelle vous souhaitez créer un signet.
  2. Cliquez sur l’onglet Favoris, puis sur Ajouter.

L’afficheur d’aide ajoute le titre de rubrique à la liste Rubriques. Vous pouvez retourner ultérieurement à cette liste et double-cliquer sur le signet pour afficher rapidement la rubrique.

Remarques

  • Vous pouvez créer une liste de rubriques d’aide fréquemment consultées.
  • Pour supprimer un signet de la liste Rubriques, cliquez sur le signet puis sur Supprimer.

Voir aussi

Recherche d’une rubrique d’aide

Impression d’une rubrique d’aide

Copie d’une rubrique d’aide

Utilisation du filtrage de langage

Raccourcis clavier de l’afficheur d’aide


Impression d'une rubrique d'aide

Envoyer des commentaires sur cette page Commerce Server 2002

Impression d’une rubrique d’aide

  • Cliquez avec le bouton droit sur la rubrique que vous souhaitez imprimer, puis cliquez sur Imprimer.
  • Pour imprimer une rubrique contextuelle, cliquez avec le bouton droit à l’intérieur de la fenêtre contextuelle, puis cliquez sur Imprimer.
  • Pour imprimer toutes les rubriques d’un livre, sous l’onglet Sommaire, sélectionnez le livre souhaité. Dans la barre d’outils de l’aide, cliquez sur Options, sur Imprimer, puis sur Imprimer le titre sélectionné et toutes les sous-rubriques.

Remarques

  • Si vous imprimez une section comportant plusieurs rubriques où figurent plusieurs illustrations, les illustrations ne seront pas imprimées.
  • L’impression d’exemples de code et de grandes illustrations produit parfois des résultats incomplets. Si une ligne de code est très longue ou qu’une illustration est très grande, le bord droit du code ou de l’illustration risque de dépasser les marges et de ne pas s’imprimer.

Voir aussi

Création d’un signet dans une rubrique d’aide

Recherche d’une rubrique d’aide

Copie d’une rubrique d’aide

Utilisation du filtrage de langage

Raccourcis clavier de l’afficheur d’aide


Copie d'une rubrique d'aide

Envoyer des commentaires sur cette page Commerce Server 2002

Copie d’une rubrique d’aide

  1. Dans le volet de rubrique de l’afficheur d’aide, cliquez avec le bouton droit dans la rubrique que vous souhaitez copier, puis cliquez sur Sélectionner tout.
  2. Cliquez à nouveau avec le bouton droit dans la rubrique, puis cliquez sur Copier.
  3. Ouvrez le document dans lequel vous souhaitez copier la rubrique.
  4. Cliquez dans ce document à l’endroit où vous souhaitez qu’apparaissent les informations.
  5. Dans le menu Edition, cliquez sur Coller.

Remarques

  • Si vous souhaitez copier seulement une partie d’une rubrique, sélectionnez la partie à copier, cliquez avec le bouton droit sur la sélection, puis cliquez sur Copier.
  • Les numéros d’étape ne sont pas copiés vers le Presse-papiers.

Voir aussi

Impression d’une rubrique d’aide

Création d’un signet dans une rubrique d’aide

Recherche d’une rubrique d’aide

Utilisation du filtrage de langage

Raccourcis clavier de l’afficheur d’aide


Utilisation du filtrage de langage

Pour vous aider à trouver uniquement les informations pertinentes pour votre environnement de programmation, l’aide de Commerce Server 2002 implémente un outil de filtrage sur un critère de langage. Dans la barre de titre des rubriques du guide Programmer’s Reference (en anglais), vous trouverez un bouton de filtre permettant d’afficher un menu de langages. Ce menu vous permet d’afficher au choix la documentation conçue pour Visual C++, Visual Basic, C# ou Visual Basic .NET, en fonction du contenu des pages. Une fois que vous avez sélectionné un langage, la sélection reste effective lorsque vous affichez d’autres pages.

Pour afficher les options de filtrage de langages, cliquez sur le bouton de filtrage dans la barre de titre, puis cliquez sur l’une des options suivantes :

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

Voir aussi

Impression d’une rubrique d’aide

Création d’un signet dans une rubrique d’aide

Recherche d’une rubrique d’aide

Raccourcis clavier de l’afficheur d’aide

Copie d’une rubrique d’aide

Autres ressources


Raccourcis clavier de l'afficheur d'aide

Envoyer des commentaires sur cette page Commerce Server 2002

Raccourcis clavier de l’afficheur d’aide

Si vous ne disposez pas d’une souris ou si vous préférez opérer au clavier, vous pouvez utiliser les commandes clavier suivantes pour naviguer dans l’afficheur d’aide.

Raccourcis clavier de l’afficheur d’aide

Appuyez sur | Pour
ALT+ESPACE | Afficher le menu Système.
MAJ+F10 Afficher le menu contextuel de l’afficheur d’aide.

Remarque

  • Utilisez ce raccourci quand le focus est sur le volet de rubrique.
ALT+TAB | Basculer entre l’afficheur d’aide et les autres fenêtres ouvertes.
ALT+O | Afficher le menu Options.
ALT+O, puis L | Masquer ou afficher le volet de navigation.
CTRL+TAB | Passer à l’onglet suivant du volet de navigation.
CTRL+MAJ+TAB | Passer à l’onglet précédent du volet de navigation.
HAUT | Monter d’une rubrique dans la table des matières, l’index ou la liste des résultats de recherche.
BAS | Descendre d’une rubrique dans la table des matières, l’index ou la liste des résultats de recherche.
PG. PRÉC | Monter d’une page dans la table des matières, l’index ou la liste des résultats de recherche.
PG. SUIV | Descendre d’une page dans la table des matières, l’index ou la liste des résultats de recherche.
F6 | Basculer le focus entre le volet de navigation et le volet de rubrique.
ALT+O, puis U | Rafraîchir la rubrique qui apparaît dans le volet de rubrique.
HAUT ou BAS | Faire défiler une rubrique.
CTRL+ORIGINE | Atteindre le début d’une rubrique.
CTRL+FIN | Atteindre la fin d’une rubrique.
CTRL+A | Mettre tout le texte en surbrillance dans le volet de rubrique.
ALT+O, puis I | Imprimer une rubrique.
ALT+O, puis P | Revenir à la rubrique précédemment affichée.
ALT+O, puis S | Passer à la rubrique suivante (précédemment affichée).
ALT+F4 | Fermer l’afficheur d’aide.

Raccourcis clavier de l’onglet Sommaire

Appuyez sur | Pour
ALT+S | Afficher l’onglet Sommaire.
DROITE | Ouvrir un livre.
GAUCHE | Fermer un livre.
RETOUR ARRIÈRE | Revenir au livre ouvert précédent.
HAUT ou BAS | Sélectionner une rubrique.
ENTRÉE | Afficher la rubrique sélectionnée.

Raccourcis clavier de l’onglet Index

Appuyez sur | Au
ALT+I | Afficher l’onglet Index.
HAUT ou BAS | Sélectionner un mot clé dans la liste.
ALT+D ou ENTRÉE | Afficher la rubrique associée.

Raccourcis clavier de l’onglet Rechercher

Appuyez sur | Au
ALT+R | Afficher l’onglet Recherche.
ALT+H | Démarrer une recherche.
ALT+D ou ENTRÉE | Afficher la rubrique sélectionnée.

Raccourcis clavier de l’onglet Favoris

Appuyez sur | Pour
ALT+V | Afficher l’onglet Favoris.
ALT+U | Ajouter une rubrique à la liste Rubriques.
ALT+Q Sélectionner une rubrique dans la liste Rubriques.

Remarque

  • Utilisez ce raccourci quand le focus est sur le volet de rubrique et que vous souhaitez passer à la liste Rubriques.
ALT+M | Supprimer une rubrique de la liste Rubriques.
ALT+C | Afficher une rubrique de la liste Rubriques.

Voir aussi

Impression d’une rubrique d’aide

Création d’un signet dans une rubrique d’aide

Recherche d’une rubrique d’aide

Utilisation du filtrage de langage

Copie d’une rubrique d’aide


Autres ressources

En complément du système d’aide de Commerce Server 2002, vous disposez des sources d’informations suivantes :

  • Kit de développement de logiciel (SDK), dans le dossier Program Files\Microsoft Commerce Server\SDK.
  • Kit de Ressources Techniques Commerce Server, ouvrage publié par Microsoft Press.
  • Site Web Commerce Server.


Installation de Commerce Server2002

Envoyer des commentaires sur cette page Commerce Server 2002

Installation de Commerce Server 2002

Pour obtenir des instructions sur l’installation de Commerce Server, consultez le Guide d’installation de Commerce Server 2002.

Vous devez installer le client Commerce Server Business Desk pour tous les ordinateurs à partir desquels vous voulez accéder à Business Desk, y compris l’ordinateur exécutant Commerce Server. Une fois que vous avez décompressé un site, vous pouvez installer le client Business Desk en vous connectant à l’adresse URL (Uniform Resource Locator) correspondant à l’application Business Desk.

Les chefs d’entreprise peuvent également télécharger et installer le client Business Desk. Pour plus d’informations sur l’installation du client Business Desk, consultez le Guide d’installation de Commerce Server 2002.


Désinstallation de Commerce Server

Cette section explique comment désinstaller Commerce Server 2002 et le client Business Desk. Pour obtenir des instructions sur l’installation de Commerce Server, consultez le Guide d’installation de Commerce Server 2002.

Cette section contient les rubriques suivantes :

  • Désinstallation de Commerce Server 2002. Explique comment désinstaller Commerce Server 2002, les bases de données Commerce Server, les répertoires virtuels ainsi que les fichiers et dossiers d’un site.
  • Désinstallation du client Business Desk. Explique comment désinstaller le client Business Desk.


Désinstallation de Commerce Server2002

Envoyer des commentaires sur cette page Commerce Server 2002

Désinstallation de Commerce Server 2002

Pour désinstaller Commerce Server 2002, vous devez exécuter les différentes étapes de la procédure suivante dans l’ordre indiqué. Des instructions détaillées sont indiquées plus bas pour chacune des étapes :

  • Étape 1 : supprimer les sites solutions Commerce Server 2002. Exécutez cette étape pour supprimer le site vide ou d’autres sites solutions téléchargés à partir de l’adresse http://go.microsoft.com/fwlink/?LinkId=6767 (en anglais). Cette étape procède à la suppression des sites solutions du dossier Microsoft Commerce Server\PuP Packages, ce qui rend la décompression de ces sites désormais impossible. Elle ne supprime toutefois pas les sites solutions décompressés.
  • Étape 2 : supprimer la plate-forme de Commerce Server 2002. Effectuez cette étape pour supprimer les objets d’exécution, les outils d’administration, la ressource globale Predictor et la ressource globale Service de publipostage de Commerce Server.
  • Étape 3 : supprimer le dossier d’installation de Commerce Server 2002.
  • Étape 4 : supprimer les bases de données Commerce Server 2002, par exemple, la base de données d’administration, la base de données du Data Warehouse, la base de données des profils et la base de données des catalogues.
  • Étape 5 : supprimer les bases de données du serveur d’analyse Commerce Server 2002.
  • Étape 6 : supprimer les répertoires virtuels de site Commerce Server 2002. N’exécutez cette étape que si vous avez décompressé un site.
  • Étape 7 : supprimer le filtre ISAPI (CSAuthFilter) des services IIS (Internet Information Services). Effectuez cette étape uniquement si vous avez défini la création de cookie automatique ou modifié le paramètre Filtre d’authentification sur une application Commerce Server en définissant une valeur autre que celle par défaut définie par les packages de site solution.
  • Étape 8 : supprimer les dossiers et fichiers de site Commerce Server 2002. N’exécutez cette étape que si vous avez décompressé un site.
  • Étape 9 : supprimer les travaux de publipostage dans SQL Server. N’exécutez cette étape que si vous avez installé le service de publipostage et créé des travaux de publipostage. Si vous n’effectuez pas cette étape et que vous réinstallez ultérieurement le service de publipostage, les travaux de publipostage de l’installation précédente seront activés.

Une fois que vous avez effectué ces étapes, il est recommandé de redémarrer l’ordinateur.

Les procédures suivantes fournissent des instructions détaillées sur l’exécution de chacune de ces étapes.

Étape 1 : supprimer les sites solutions Commerce Server 2002

  1. Cliquez sur Démarrer, pointez sur Paramètres, puis cliquez sur Panneau de configuration.
  2. Double-cliquez sur Ajout/Suppression de programmes.
  3. Dans la boîte de dialogue Ajout/Suppression de programmes, cliquez sur Sites solutions Commerce Server, puis sur Supprimer.
  4. Dans la boîte de dialogue Ajout/Suppression de programmes suivante, cliquez sur Oui pour confirmer la suppression des sites solutions Commerce Server.

Étape 2 : supprimer la plate-forme de Commerce Server 2002

  1. Cliquez sur Démarrer, pointez sur Paramètres, puis cliquez sur Panneau de configuration.
  2. Double-cliquez sur Ajout/Suppression de programmes.
  3. Dans la boîte de dialogue Ajout/Suppression de programmes, cliquez sur Commerce Server 2002, puis sur Supprimer.
  4. Dans la boîte de dialogue Ajout/Suppression de programmes suivante, cliquez sue Oui pour confirmer la suppression de Commerce Server 2002.
  5. Cliquez sur Oui pour redémarrer l’ordinateur, le cas échéant.

Étape 3 : supprimer le dossier d’installation de Commerce Server 2002

  1. Dans l’Explorateur Windows, accédez au dossier où est installé Commerce Server (par exemple, C:\Program Files\Microsoft Commerce Server).
  2. Cliquez avec le bouton droit sur le dossier que vous souhaitez supprimer, puis cliquez sur Supprimer.
  3. Dans la boîte de dialogue Confirmation de la suppression du dossier, cliquez sur Oui pour confirmer la suppression.

Étape 4 : supprimer les bases de données Commerce Server 2002

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Microsoft SQL Server 2000, puis cliquez sur Enterprise Manager.

    Remarque

    • Dans SQL Server Enterprise Manager, assurez-vous que SQL Server est en cours d’exécution (l’icône de la fenêtre d’Enterprise Manager affiche une lumière verte). Dans le cas contraire, cliquez avec le bouton droit sur le nom de l’ordinateur SQL Server, puis cliquez sur Démarrer.
  2. Développez les nœuds jusqu’au chemin suivant : \Serveurs Microsoft SQL Server\Groupe SQL Server\<Nom_Serveur_SQL>\Bases de données.
  3. Cliquez avec le bouton droit sur la base de données à supprimer, puis cliquez sur Supprimer.
  4. Dans la boîte de dialogue Supprimer la base de données, cliquez sur Oui pour confirmer la suppression de la base de données.
  5. Répétez les étapes 3 et 4 pour chaque base de données à supprimer.

Étape 5 : supprimer les bases de données du serveur d’analyse Commerce Server 2002

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Microsoft SQL Server, sur Analysis Services, puis cliquez sur Analysis Manager.
  2. Développez les nœuds jusqu’au chemin suivant : \Serveurs d’analyse\Nom du serveur SQL.
  3. Cliquez avec le bouton droit sur la base de données à supprimer, puis cliquez sur Supprimer.
  4. Dans la boîte de dialogue Supprimer la base de données, cliquez sur Oui pour confirmer la suppression de la base de données.

Étape 6 : supprimer les répertoires virtuels de site Commerce Server 2002

  1. Cliquez sur Démarrer, pointez sur Outils d’administration, puis cliquez sur Gestionnaire des services Internet.
  2. Développez les nœuds jusqu’au chemin suivant : \<nom_ordinateur>\<nom_site_Web_IIS>.
  3. Cliquez avec le bouton droit sur les répertoires virtuels que vous souhaitez supprimer (par exemple, Retail ou Supplier), puis cliquez sur Supprimer.
  4. Dans la boîte de dialogue Confirmation de la suppression du dossier, cliquez sur Oui pour chaque répertoire virtuel à supprimer.
  5. Répétez les étapes 3 et 4 pour chaque répertoire virtuel à supprimer.

Étape 7 : supprimer le filtre ISAPI (CSAuthFilter) des services IIS (Internet Information Services)

  1. Cliquez sur Démarrer, pointez sur Outils d’administration, puis cliquez sur Gestionnaire des services Internet.
  2. Développez les nœuds jusqu’au chemin suivant : \<nom_ordinateur>\<nom_site_Web_IIS> (par exemple, CSServer1\Site Web par défaut.
  3. Cliquez avec le bouton droit sur le site Web IIS, puis cliquez sur Propriétés.
  4. Dans la boîte de dialogue Propriétés du site Web, sous l’onglet Filtres ISAPI, sélectionnez CSAuthFilter, cliquez sur Supprimer puis sur OK.

Étape 8 : supprimer les dossiers et fichiers de site Commerce Server 2002

  1. Dans l’Explorateur Windows, accédez au répertoire (par exemple, C:\Inetpub\wwwroot) où sont installés les fichiers de site.
  2. Cliquez avec le bouton droit sur le dossier que vous souhaitez supprimer, puis cliquez sur Supprimer.
  3. Dans la boîte de dialogue Confirmation de la suppression du dossier, cliquez sur Oui pour chaque dossier à supprimer.
  4. Répétez les étapes 2 et 3 pour chaque dossier à supprimer.

Étape 9 : supprimer les travaux de publipostage dans SQL Server

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Microsoft SQL Server 2000, puis cliquez sur Enterprise Manager.
  2. Développez les nœuds jusqu’au chemin suivant : \Serveurs Microsoft SQL Server\Groupe SQL Server\<Nom_Serveur_SQL>\Gestion\Agent SQL Server\Travaux.

    Les travaux de publipostage s’affichent dans le volet droit de SQL Server Enterprise Manager.

  3. Sélectionnez le ou les travaux du service de publipostage que vous souhaitez supprimer, puis cliquez dans la barre d’outils sur le bouton Supprimer.

Une fois que vous avez effectué ces étapes, il est recommandé de redémarrer l’ordinateur.

Voir aussi

Désinstallation du client Business Desk


Désinstallation du client Business Desk

Pour désinstaller le client Business Desk

  1. Cliquez sur Démarrer, pointez sur Paramètres, puis cliquez sur Panneau de configuration.
  2. Double-cliquez sur Ajout/Suppression de programmes.
  3. Sélectionnez Commerce Server 2002 Business Desk (nom d’application), puis cliquez sur Modifier/Supprimer.
  4. Dans la boîte de dialogue Ajout/Suppression de programmes suivante, cliquez sue Oui pour confirmer la suppression de Commerce Server 2002 Business Desk.

Le client Business Desk est à présent supprimé de votre ordinateur.

Voir aussi

Installation de Commerce Server 2002

Désinstallation de Commerce Server 2002


Didacticiels Commerce Server

Commerce Server comprend les didacticiels suivants :

  • Didacticiel Service de publipostage. Fournit des procédures étape par étape pour créer une campagne de publipostage.
  • Didacticiel entreprise-client. Explique comment utiliser Business Desk pour exécuter les tâches essentielles de gestion de sites de commerce entreprise-client (B2C) et entreprise-entreprise (B2B).
  • Didacticiel entreprise-entreprise. Explique comment utiliser Business Desk pour exécuter les tâches essentielles de gestion de sites de commerce entreprise-client et entreprise-entreprise.
  • Commerce Server Developer Tutorials (en anglais). Répertorie les didacticiels Commerce Server destinés aux développeurs.


Fermeture de la boucle à l'aide des systèmes Commerce Server

Envoyer des commentaires sur cette page Commerce Server 2002

Fermeture de la boucle à l’aide des systèmes Commerce Server

L’objectif de ce didacticiel est de fermer la boucle à l’aide des systèmes d’analyse commerciale, de ciblage et de profil.

Le système d’analyse commercial de Microsoft Commerce Server 2002 vous permet de collecter des données et de les analyser, d’exécuter des rapports et d’établir des prévisions. En utilisant le système de ciblage de Commerce Server, vous pouvez personnaliser du contenu et cibler les campagnes marketing en fonction des utilisateurs qui visitent votre site Web. Enfin, le système de profil de Commerce Server sert à établir le profil de vos clients et partenaires commerciaux et à les gérer en termes d’utilisation du site et de personnalisation.

Les fonctionnalités clés des systèmes d’analyse commerciale, de ciblage et de profil vous sont présentées ci-dessous.

Système d’analyse commerciale Système de ciblage
Système de profil
  • Gérer des millions d’utilisateurs et d’organisations.
  • Permettre aux utilisateurs de gérer leurs propres informations de profil et de rechercher le statut de leur commande.
  • Créer des profils pour n’importe quelle entité à caractère commercial, comme les utilisateurs ou les organisations.
  • Déterminer les informations à collecter sur les utilisateurs qui visitent votre site.
  • Déterminer les informations à afficher pour des utilisateurs spécifiques, par exemple des catalogues virtuels.
  • Analyser les informations de profil pour savoir qui visite votre site.
  • créer des expressions de ciblage pour faire correspondre le contenu aux utilisateurs ;
  • créer des campagnes de publicité, de remise et de publipostage pour cibler des groupes d’utilisateurs spécifiques ;
Système d’analyse commerciale
  • Importer un grand nombre de données sur l’utilisation du site collectées à partir de différentes sources de données vers le Data Warehouse de Commerce Server et gérer ces données.
  • Analysez l’efficacité du site en exécutant des rapports Commerce Server ou en créant vos propres rapports personnalisés.
  • Identifier des groupes d’utilisateurs spécifiques en exécutant un rapport, puis exporter les résultats dans une liste. Utiliser cette liste dans une campagne de publipostage ou pour mettre à jour les propriétés des utilisateurs afin de cibler des produits ou du contenu.
  • Examiner les données collectées afin d’identifier des tendances cachées et de nouveaux segments de clients et d’afficher les propriétés de ces segments.
  • Fournir des fonctionnalités de vente croisée intelligentes et recommander des produits aux utilisateurs de façon dynamique au fur et à mesure de leurs déplacements dans votre site.
Système de ciblage
  • Personnaliser le contenu proposé à l’aide d’une commercialisation ciblée.
  • Fournir le contenu optimal pour un utilisateur donné dans un contexte donné.
  • Créer, analyser et gérer des remises personnalisées et ciblées, ainsi que des campagnes marketing et de publicité directes.
  • Ajouter des fonctionnalités de prévision à votre site Web.
  • Cibler des publicités ou des remises en fonction d’utilisateurs présentant un certain profil. Par exemple, vous pouvez cibler des publicités pour les femmes qui visitent votre site trois fois par semaine et qui ont acheté au moins trois produits.
  • Créer et planifier des campagnes marketing pour des clients concurrents travaillant dans un même secteur. Les publicités concurrentes ne sont jamais affichées sur la même page.
  • Facturer vos clients en fonction du nombre de demandes de publicité ou de clics qu’ils souhaitent pour leurs publicités.
  • Facturer vos clients en fonction de la page sur laquelle ils souhaitent faire apparaître leur publicité.

Lorsque vous utilisez la fonctionnalité de segmentation de la ressource Predictor pour regrouper des utilisateurs présentant des comportements analogues, vous pouvez cibler plus efficacement vos campagnes marketing en fonction des utilisateurs susceptibles d’acheter tel ou tel produit.

Scénario :

Vous avez un commerce de logiciels et souhaitez augmenter les ventes de vos produits. Au lieu d’afficher aléatoirement des publicités pour quiconque se rend sur votre site Web, vous souhaitez créer une campagne de publicité intelligente qui s’adressera uniquement aux utilisateurs susceptibles d’acheter vos produits. Par exemple, vous souhaitez adresser une publicité pour Commerce Server 2002 à une cible constituée de clients qui ont précédemment acheté un logiciel de développement de sites Web et sont peut-être des professionnels du domaine.

Dans ce didacticiel, vous allez effectuer les opérations suivantes :

  1. Importer des données de fichiers journaux Web dans votre Data Warehouse.
  2. Construire un modèle de segment.
  3. Utiliser Business Desk pour analyser des segments.
  4. Identifier un groupe de développeurs de sites Web sur votre site Web.
  5. Exporter le groupe des utilisateurs identifiés en tant que développeurs de sites Web vers le Gestionnaire de listes.
  6. Créer une propriété de profil personnalisée et l’associer à tous les utilisateurs identifiés comme étant des développeurs de sites Web.
  7. Créer une expression de campagne marketing pour les développeurs de sites Web.
  8. Créer un groupe cible pour que seuls les développeurs de sites Web soient ciblés par les publicités correspondantes.
  9. Créer une campagne de publicité pour Commerce Server 2002.
  10. Ouvrir une session en tant que membre de la liste des utilisateurs Développeurs de sites Web pour vérifier le bon fonctionnement de votre campagne de publicité.

Ce didacticiel comprend les rubriques suivantes :

  • Atelier 1 : Préparation à l’utilisation du didacticiel
  • Atelier 2 : Importation de données dans le Data Warehouse
  • Atelier 3 : Création d’un modèle de segment
  • Atelier 4 : Analyse du modèle de segment
  • Atelier 5 : Mappage d’une propriété de profil personnalisée vers la liste des utilisateurs
  • Atelier 6 : Création d’une expression de campagne
  • Atelier 7 : Création d’une campagne de publicité
  • Atelier 8 : Vérification de votre campagne de publicité


Atelier1: Préparation à l'utilisation du didacticiel

Envoyer des commentaires sur cette page Commerce Server 2002

Atelier 1 : Préparation à l’utilisation du didacticiel

Nous utiliserons les exemples de données fournis dans le didacticiel Predictor. Si vous ne l’avez pas encore fait, vous devez effectuer les tâches de préparation suivantes avant d’utiliser le didacticiel.

  • Étape 1 : Modifier le fichier Populate.sql
  • Étape 2 : Décompresser le site Predictor Demo
  • Étape 3 : Installer l’application Business Desk Predictor Demo


Étape1: Modifier le fichier Populate.sql

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 1 : Modifier le fichier Populate.sql

  1. Dans l’Explorateur Windows, naviguez vers <lecteur:>\Program Files\Microsoft Commerce Server 2002\Predictor Tutorial\, puis ouvrez dans le Bloc-notes le fichier populate.sql.
  2. Dans le fichier Populate.sql, remplacez les cinq instances de c:\DemoData par <lecteur:>\Program Files\Microsoft Commerce Server 2002\Predictor Tutorial\.
  3. Enregistrez le fichier puis quittez le Bloc-notes.


Étape2: Décompresser le site Predictor Demo

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 2 : Décompresser le site Predictor Demo

  1. Dans l’Explorateur Windows, naviguez vers <lecteur:>\Program Files\Microsoft Commerce Server 2002\Predictor Tutorial\, puis double-cliquez sur le fichier PredictorDemoSite.pup.
  2. Dans la boîte de dialogue Décompresser, sélectionnez Décompression rapide, puis cliquez sur Suivant.
  3. Dans la boîte de dialogue Décompression rapide, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom du site | Vérifier que le nom du site est bien PredictorDemo. Ne changez pas le nom du site.
    Site Web IIS | Sélectionner le nom du site Web des services IIS (Internet Information Services) 5.0 sur lequel les applications seront installées.
    Ordinateur SQL Server | Taper le nom de l’ordinateur SQL Server sur lequel les bases de données du site doivent être créées.
    Utiliser la sécurité intégrée de Windows | Ne pas utiliser l’option Sécurité intégrée de Windows pour configurer le site Predictor Demo.
    Utiliser un nom d’utilisateur et un mot de passe spécifiques | Utiliser l’authentification de SQL Server lors de la connexion aux bases de données.
    Nom d’utilisateur SQL Server Taper un nom d’utilisateur SQL Server disposant d’autorisations sur le serveur SQL Server où doivent être créées les bases de données du site.

    Remarque

    • Pour des raisons de sécurité, ne pas utiliser la connexion d’accès sa pour accéder aux bases de données. Pour modifier les informations de connexion pour la base de données d’administration après sa création, utiliser SQL Server Enterprise Manager.
    Mot de passe de connexion SQL Server | Taper le mot de passe de connexion SQL Server pour les bases de données.
  4. Cliquez sur Suivant.
  5. Dans la boîte de dialogue Data Warehouse, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Accepter le nom par défaut.
    Serveur | Taper le nom du serveur d’analyse SQL utilisé par le Data Warehouse.
    Base de données | Taper le nom de la base de données du serveur d’analyse (OLAP).
  6. Cliquez sur OK.
  7. Dans la boîte de dialogue Système de profil, acceptez les fichiers .xml par défaut, puis cliquez sur Suivant.
  8. Dans la boîte de dialogue Système de profil suivante, dans la zone Scripts de remplissage des données, cliquez sur Parcourir.
  9. Dans la boîte de dialogue Ouvrir, naviguez vers <lecteur:>\Program Files\Microsoft Commerce Server 2002\Predictor Tutorial\, sélectionnez dans la liste le fichier Populate.sql, puis cliquez sur Ouvrir.
  10. Cliquez sur OK.
  11. Dans la boîte de dialogue Décompression terminée, consultez la liste des bases de données SQL Server et des applications IIS qui ont été créées. Pour consulter la liste des événements contenus dans le fichier journal du Gestionnaire de package de site, cliquez sur Afficher le fichier journal.

    Remarque

    • Si vous rencontrez des erreurs lors du processus d’installation, nous vous recommandons de consultez le fichier journal pour déterminer la source de l’erreur.
  12. Pour fermer le Gestionnaire de package de site, cliquez sur Terminer.


Étape3: Installer l'application Business Desk Predictor Demo

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 3 : Installer l’application Business Desk Predictor Demo

  1. Cliquez sur Démarrer, pointez sur Programmes, puis cliquez sur Internet Explorer.
  2. Dans la zone Adresse, tapez l’adresse URL correspondant à votre installation de Business Desk (par exemple, http://<nom_ordinateur>/PredictorDemoBizdesk) et appuyez sur Entrée.
  3. Dans la boîte de dialogue Rechercher un dossier, acceptez le dossier par défaut, ou sélectionnez un autre dossier pour stocker le fichier HTA (HTML Application), puis cliquez sur OK.

    L’installation du client Business Desk commence. Si les contrôles Microsoft ActiveX n’ont pas été téléchargés, des conseils de dépannage sont affichés dans la partie supérieure de l’écran Programme d’installation du client Business Desk. Les contrôles Microsoft ActiveX sont nécessaires à l’installation du client Business Desk.

    Des coches apparaissent dans la partie inférieure de l’écran à mesure que chaque tâche est terminée. Lorsque les quatre tâches sont effectuées, l’installation de Business Desk est achevée. Un lien permettant d’accéder à Business Desk est affiché au bas de l’écran.

    Remarque

    • Si vous ne pouvez pas télécharger les contrôles ActiveX, suivez les instructions indiquées dans l’écran du programme d’installation du client Business Desk.
  4. Une fois l’installation de Business Desk effectuée, fermez Internet Explorer.

L’icône correspondant à Business Desk s’affiche à présent sous la forme d’un raccourci sur votre Bureau, ainsi que dans le menu Démarrer.


Atelier2: Importation de données dans le Data Warehouse

Envoyer des commentaires sur cette page Commerce Server 2002

Atelier 2 : Importation de données dans le Data Warehouse

Les exemples de données fournis dans le didacticiel Predictor contiennent des journaux Web ainsi que des données transactionnelles et démographiques qui serviront à créer des modèles d’analyse.

Pour importer les exemples de données dans le Data Warehouse, effectuez les opérations suivantes :

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Microsoft SQL Server, puis cliquez sur Enterprise Manager.
  2. Dans SQL Server Enterprise Manager, développez Serveurs Microsoft SQL, Groupe SQL Server, votre serveur SQL, cliquez avec le bouton droit sur Data Transformation Services, puis cliquez sur Ouvrir le lot.
  3. Dans la boîte de dialogue Choisissez un fichier, naviguez vers <lecteur:>\Program Files\Microsoft Commerce Server 2002\Predictor Tutorial\, sélectionnez dans la liste le fichier ImportData.dts, puis cliquez sur Ouvrir.
  4. Dans la boîte de dialogue Sélectionner le lot, sélectionnez PredictorDemo Import Data dans la liste, puis cliquez sur OK.
  5. Dans SQL Server Enterprise Manager, cliquez avec le bouton droit sur Microsoft OLE DB Provider for SQL Server, puis cliquez sur Propriétés.
  6. Dans la boîte de dialogue Propriétés de connexion, vérifiez les informations d’authentification de Microsoft SQL Server, puis cliquez sur OK.
  7. Cliquez avec le bouton droit sur la tâche Transaction data import, puis cliquez sur Propriétés.
  8. Dans la boîte de dialogue Propriétés, vérifiez que Niveau d’opération correspond à Niveau du site et que Nom du site correspond à PredictorDemo, puis cliquez sur OK.
  9. Répétez les étapes 7 et 8 pour les tâches Profile Data Import, Campaign data import et Product catalog import.
  10. Dans SQL Server Enterprise Manager, cliquez dans la barre d’outils sur Exécuter.
  11. Dans la boîte de dialogue Résultats d’exécution du package, cliquez sur OK.
  12. Dans la boîte de dialogue Exécution du lot DTS : PredictorDemo Import Data, cliquez sur Terminé lorsque toutes les tâches ont été effectuées.

    Remarque

    • Si vous rencontrez des erreurs lors du processus d’installation, nous vous recommandons de consultez le fichier journal pour déterminer la source de l’erreur.
  13. Quittez SQL Server Enterprise Manager.


Atelier3: Création d'un modèle de segment

Envoyer des commentaires sur cette page Commerce Server 2002

Atelier 3 : Création d’un modèle de segment

Le module Identification de segments vous permet d’effectuer des analyses de segmentation (ou mise en clusters). Dans les analyses de segmentation, les utilisateurs sont regroupés en segments en fonction de leur comportement sur le site et de leurs propriétés, telles que l’âge et le sexe.

Le résultat du processus de segmentation est un modèle de segment. Le modèle de segment décrit les caractéristiques partagées par les utilisateurs appartenant à un segment ou un groupe de segments. Les segments et les groupes de segments sont créés dans le Gestionnaire Commerce Server à partir des données de votre Data Warehouse.

Le module Identification de segments vous permet d’examiner un segment unique ou de comparer un segment à un autre. Vous pouvez également utiliser le module Identification de segments pour créer un rapport de synthèse de tous vos segments et pour exporter un segment vers une liste.

Pour créer un modèle de segment, effectuez les opérations suivantes :

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Microsoft Commerce Server 2002, puis cliquez sur Gestionnaire Commerce Server.
  2. Dans le Gestionnaire Commerce Server, développez Gestionnaire Commerce Server, Ressources globales, Predictor on <nom_serveur>, Service Predictor, puis sélectionnez Configurations de modèles.
  3. Dans le volet de contenu du Gestionnaire Commerce Server, cliquez avec le bouton droit sur DemoTransactions, puis sélectionnez Construire.
  4. Dans la boîte de dialogue Propriétés de construction d’un modèle, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper Software Segments.
    Type de modèle | Sélectionner Segment comme type de modèle d’analyse.
  5. Cliquez sur Suivant.
  6. Dans la boîte de dialogue Propriétés de construction d’un modèle, dans la zone Fraction de l’échantillon mesurée pour la précision, tapez 0,1, puis cliquez sur Terminer.

    Remarques

    • La Fraction de l’échantillon mesurée pour la précision est la fraction des propriétés utilisées en entrée pour les prévisions. Par exemple, spécifier une fraction d’attribut d’entrée de 0,05 sélectionne les 5 % d’attributs d’entrée les plus significatifs. La valeur par défaut est 1,0, ce qui inclut tous les attributs en tant qu’entrées de la prévision. Des valeurs inférieures à 1,0 sont recommandées si le nombre d’attributs est très élevé, par exemple des recommandations de produits pour un catalogue de plus de 1 000 produits.


Atelier4: Analyse du modèle de segment

Envoyer des commentaires sur cette page Commerce Server 2002

Atelier 4 : Analyse du modèle de segment

Lorsque vous analysez des segments, vous travaillez avec deux éléments : des segments et des groupes de segments.

  • Les segments sont des groupes d’utilisateurs qui possèdent un comportement similaire sur votre site Web ou des propriétés similaires, telles que l’âge et le sexe. Un segment est une synthèse des enregistrements de la base de données appartenant à un groupe d’utilisateurs qui partagent des propriétés de profils similaires. Cette synthèse provient des propriétés du Data Warehouse utilisées pour rassembler les enregistrements de base de données.
  • Les groupes de segments sont des ensembles de segments similaires ou d’autres groupes de segments.

Les groupes de segments forment une hiérarchie à partir de laquelle vous pouvez analyser des tendances et identifier des corrélations entre les données à différents niveaux de la hiérarchie de segments. En regroupant les utilisateurs selon leurs similitudes, de nouvelles corrélations peuvent se révéler. Ces nouvelles corrélations peuvent constituer la base d’un ensemble de règles de ciblage et de personnalisation.

Pour analyser le modèle de segment

  1. Démarrez l’application Business Desk Predictor Demo.
  2. Dans Analyse, cliquez sur Identification de segments.
  3. Dans l’écran Identification de segments, sélectionnez Software segments, puis cliquez sur Ouvrir.
  4. Dans l’écran Identification de segments : Software Segments, observez les points suivants :

    Modèle Software Segments

    • La hiérarchie de segments dans le volet de navigation représente la population entière. (100 pour cent). La hiérarchie de segments se compose de segments et de groupes de segments. Un segment est un groupe d’utilisateurs présentant des valeurs de propriétés similaires, par exemple, ayant effectué des achats similaires. Un groupe de segments est un ensemble de segments similaires.
    • La zone Synthèse de remplissage affiche une liste des propriétés les plus probables et leurs valeurs dans la population entière. Plus la barre rouge est longue, plus grande est la probabilité que la paire Propriété/Valeur se trouve dans la population.
  5. Dans le volet Hiérarchie du segment, développez Remplissage (100%), puis tous les segments et groupes de segments et observez les points suivants :

    • Le résumé du Segment 5 affiche les paires Propriété/Valeur les plus probables associées aux utilisateurs appartenant à ce segment. Dans cet exemple, Money 2000 Business & Personal.QTY associé à la valeur 3 indique que la plupart des utilisateurs de ce segment ont acheté 3 copies de Microsoft Money 2000 Business and Personal.
    • Vous pouvez comparer les segments : La valeur Remplissage est sélectionnée par défaut dans la zone déroulante Comparer Segment 5 à. Cependant, vous pouvez sélectionner n’importe quel segment ou groupe de segments pour effectuer une comparaison entre le segment sélectionné et le reste des segments présents dans le modèle de segment.
    • Les barres jaunes indiquent les paires Propriété/Valeur qui augmentent l’appartenance d’un utilisateur au cluster 5. Dans cet exemple, Baseball 2000.QTY associé à la valeur 1 indique qu’un utilisateur ayant acheté une copie de Microsoft Baseball 2000 devient membre du segment 5.
    • Les barres bleues indiquent les paires Propriété/Valeur qui réduisent l’appartenance d’un utilisateur au segment 5. Dans cet exemple, Windows 98 Second Edition.QTY associé à la valeur 2 indique qu’un utilisateur ayant acheté deux copies de Microsoft Windows 98 Second Edition est moins susceptible d’être membre du segment 5.
    • Les achats de Baseball 2000 et Microsoft NBA Inside Drive 2000 permettent de placer un utilisateur dans le segment 5. Cela signifie que les utilisateurs du segment 5 sont des amateurs de jeux vidéo relatifs aux sports, par comparaison au reste des segments de la population totale.
    • Vous pouvez renommer les segments pour que leurs noms soient plus significatifs et faciles à parcourir.
  6. Dans la Hiérarchie du segment, sélectionnez Segment 5, puis cliquez sur Renommer.
  7. Dans la boîte de dialogue Renommer le segment, dans la zone Renommer en, tapez Amateurs de jeux vidéo sur le sport, puis cliquez sur OK.
  8. Dans la Hiérarchie du segment, sélectionnez Segment 7, puis observez les points suivants :
    • Les utilisateurs du cluster 7 ont acheté Site Server 3.0 Commerce Edition et SQL Server 7. Cela signifie que les utilisateurs du cluster 7 sont des développeurs de sites Web.
  9. Dans la Hiérarchie du segment, sélectionnez Segment 7, puis cliquez sur Renommer.
  10. Dans la boîte de dialogue Renommer le segment, dans la zone Renommer en, tapez Développeurs de sites Web, puis cliquez sur OK.
  11. Dans la Hiérarchie du segment, sélectionnez Groupe de segments 14, puis observez les points suivants :
    • La section de comparaison des segments fournit un résumé ainsi que des informations de comparaison supplémentaires sur les segments et les groupes de segments.
    • Vous devez afficher tous les segments et groupes de segments contenus dans un modèle pour mieux comprendre ce dernier.
  12. Analysez tous les segments du groupe de segments 14 pour déterminer qu’il représente les utilisateurs domestiques.
  13. Renommez Groupe de segments 14 en Utilisateurs domestiques.
  14. Dans le volet Hiérarchie du segment, sélectionnez Groupe de segments 12, puis notez que le groupe représente les utilisateurs des petites et moyennes entreprises (PME).
  15. Renommez Groupe de segments 12 en Utilisateurs de PME.
  16. Dans le volet Hiérarchie du segment, sélectionnez Segment 3 ; vous pouvez observer que le groupe représente les développeurs.
  17. Renommez Segment 3 en Développeurs.

    Identification de segments

  18. Dans l’écran Identification de segments : Software segments, cliquez dans la barre d’outils sur Rapport pour afficher le rapport de synthèse concernant l’ensemble du modèle de segment.
    • Pour enregistrer ce rapport dans un fichier, enregistrez la page Web Résumé du modèle à partir de votre navigateur Internet.
    • Vous pouvez également exporter les listes d’utilisateurs. Les listes d’utilisateurs permettent à Commerce Server 2002 de créer une campagne de publipostage destinée à cibler les utilisateurs susceptibles d’acheter un produit spécifique.
  19. Dans la section Hiérarchie du segment, sélectionnez Développeurs de sites Web, puis cliquez dans la barre d’outils sur Exporter.
  20. Dans la boîte de dialogue Exporter le segment dans la liste, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Entrer le nom de liste | Taper Développeurs de sites Web.
    Probabilité minimale Vérifier que la valeur est égale à 0,50.

    Dans Commerce Server 2002, chaque utilisateur est un membre partiel de tous les segments. Les segments ont tendance à se superposer, avec des limites moins distinctes. Ainsi, un utilisateur peut appartenir pour 80 % à un groupe et être membre « fractionnaire » des autres. Plus la fraction attribuée à l’utilisateur est élevée, plus les valeurs des propriétés de l’utilisateur sont proches de celles de l’utilisateur typique de ce segment. La fraction d’un utilisateur représente la probabilité d’appartenance au segment donné.

    La Probabilité minimale définit un seuil qui permet d’inclure ou non un utilisateur dans la liste d’exportation. Si la probabilité d’appartenance d’un utilisateur dépasse le seuil spécifié, l’utilisateur n’est pas inclus dans la liste d’exportation.

    Si la valeur définie pour la Probabilité minimale est élevée (proche de 1), seul un petit nombre d’utilisateurs est inclus dans la liste. Cependant, si la valeur définie est basse (proche de 0), de nombreux utilisateurs sont inclus dans la liste d’exportation.
  21. Cliquez sur OK.


Atelier5: Mappage d'une propriété de profil personnalisée vers la liste des utilisateurs

Envoyer des commentaires sur cette page Commerce Server 2002

Atelier 5 : Mappage d’une propriété de profil personnalisée vers la liste des utilisateurs

Afin de cibler une campagne de publicité destinée à tous les utilisateurs de la liste Développeurs de sites Web, vous devez ajouter une propriété de profil personnalisée à Objet utilisateur, puis mapper la propriété de profil personnalisée vers la liste des utilisateurs.

Cette section contient les rubriques suivantes :

  • Étape 1 : Ajouter une propriété de profil personnalisée
  • Étape 2 : Mapper la propriété personnalisée vers la liste des utilisateurs


Étape1: Ajouter une propriété de profil personnalisée

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 1 : Ajouter une propriété de profil personnalisée

  1. Dans Profils, cliquez sur Concepteur de définitions de profils.
  2. Dans l’écran Profils, sélectionnez User Object, puis cliquez sur Ouvrir dans la barre d’outils.
  3. Dans l’écran Profil : User Object, dans la liste Propriétés, sélectionnez General Information, puis cliquez sur Ajouter.
  4. Dans la boîte de dialogue Ajouter, sélectionnez l’option Ajouter une nouvelle propriété, puis cliquez sur OK.
  5. Dans la section Attributs, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper NomListe.
    Nom complet | Taper Nom de la liste.
    Description | Taper Nom de la liste des utilisateurs.
    Type | Sélectionner le type de propriété Chaîne dans la liste déroulante.
  6. Dans la section Attributs avancés, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Activée | Spécifier la nouvelle propriété comme étant Active.
    Mapper vers les données Cliquer sur le bouton de sélection […] pour ouvrir la boîte de dialogue Sélecteur de source de données.

    Dans la boîte de dialogue Sélecteur de source de données, sous User Object, sélectionner le membre de données Custom Property 1 (STRING) pour la propriété.

    Type de clé | Laisser ce champ vide.
    Requise | Désactiver cette option.
    Exportée | Désactiver cette option.
    Différer le chargement du cache | Désactiver cette option.
    À valeurs multiples | Désactiver cette option.
    Possibilité de recherche | Désactiver cette option.
  7. Pour appliquer la nouvelle propriété et l’afficher dans la liste Propriétés, cliquez sur Appliquer.
  8. Pour enregistrer la propriété, cliquez sur Enregistrer dans la barre d’outils pour enregistrer le profil.

La définition de profil est enregistrée avec la nouvelle propriété. Après avoir ajouté une propriété à une définition de profil, vous devez publier les modifications sur votre site Web.


Étape2: Mapper la propriété personnalisée vers la liste des utilisateurs

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 2 : Mapper la propriété personnalisée vers la liste des utilisateurs

  1. Dans Profils, cliquez sur Utilisateurs.
  2. Si le volet Rechercher n’est pas ouvert, cliquez sur Rechercher dans la barre d’outils.
  3. Dans la zone Rechercher par, sélectionnez Listes des utilisateurs dans la liste déroulante.
  4. Dans le volet Nom de la liste, sélectionnez Développeurs de sites Web, puis cliquez sur Rechercher.
  5. Cliquez sur Sélectionner tout pour sélectionner tous les utilisateurs, puis cliquez sur Ouvrir dans la barre d’outils.
  6. Dans l’écran Mettre à jour tous les profils sélectionnés, cliquez sur Nouvelle.
  7. Dans le Générateur d’expressions, sélectionnez User Object dans la zone de liste déroulante, cliquez sur General Information, puis sélectionnez Nom de la liste.
  8. Dans la deuxième zone de liste déroulante, sélectionnez est égal à.
  9. Dans la troisième zone, tapez DéveloppeursWeb, puis cliquez sur Enregistrer et retour dans la barre d’outils.
  10. Dans Profils, cliquez sur Publier les profils.
  11. Dans l’écran Publier les profils, sélectionnez le site sur lequel vous souhaitez publier les modifications apportées aux définitions de profils, puis cliquez sur Publier les modifications pour la production et actualiser le cache dans la barre d’outils.


Atelier6: Création d'une expression de campagne

Envoyer des commentaires sur cette page Commerce Server 2002

Atelier 6 : Création d’une expression de campagne

Vous pouvez créer les expressions de la campagne marketing pour définir les produits ou les catégories de produits auxquels vous souhaitez appliquer une remise et pour spécifier les utilisateurs pour lesquels vous souhaitez cibler vos publicités et remises. Dans ce scénario, nous allons créer une expression qui permettra de cibler des publicités en fonction de l’appartenance d’un utilisateur au nom de liste DéveloppeursWeb, puis créer un groupe cible pour les développeurs de sites Web.

Cette section contient les rubriques suivantes :

  • Étape 1 : Créer une expression de ciblage pour les développeurs de sites Web
  • Étape 2 : Créer un groupe cible pour les développeurs de sites Web


Étape1: Créer une expression de ciblage pour les développeurs de sites Web

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 1 : Créer une expression de ciblage pour les développeurs de sites Web

  1. Dans Campagnes marketing, cliquez sur Expressions de la campagne marketing.
  2. Dans l’écran Expressions de la campagne marketing : Expressions de ciblage, cliquez sur Nouvelle dans la barre d’outils.
  3. Dans la boîte de dialogue Expression de ciblage, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper DéveloppeursWeb.
    Description | Taper DéveloppeursWeb.
    Cible basée sur les conditions suivantes :
    • Première zone. Sélectionner User Object dans la liste déroulante, puis Nom de la liste sous General Information.
    • Deuxième zone. Sélectionner est égal à comme opérateur dans la liste déroulante.
    • Troisième zone. Taper DéveloppeursWeb.
  4. Cliquez sur Appliquer.
  5. La nouvelle expression de ciblage est ajoutée à la zone Cible basée sur les conditions suivantes.
  6. Pour enregistrer l’expression de catalogue et revenir à l’écran Expressions de la campagne marketing : Expressions de ciblage, cliquez sur Enregistrer.


Étape2: Créer un groupe cible pour les développeurs de sites Web

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 2 : Créer un groupe cible pour les développeurs de sites Web

  1. Dans Campagnes marketing, cliquez sur Groupes cibles.
  2. Dans l’écran Groupes cibles, cliquez sur Nouveau dans la barre d’outils.
  3. Dans l’écran Groupes cibles : Nouveau, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom du groupe cible | Taper DéveloppeursWeb. Cliquez sur Nouvelle.
    Expression | Sélectionner DéveloppeursWeb dans la liste déroulante.
    Action | Sélectionner l’action Requérir dans la liste déroulante pour le nouveau groupe cible.
  4. Pour enregistrer le groupe cible et revenir à l’écran Groupe cible, cliquez sur Enregistrer et retour dans la barre d’outils.


Atelier7: Création d'une campagne de publicité

Envoyer des commentaires sur cette page Commerce Server 2002

Atelier 7 : Création d’une campagne de publicité

Le module Gestionnaire de campagnes permet de créer une publicité pour une campagne marketing spécifique. Sélectionnez le type de publicité, qui peut être une publicité payée ou une publicité maison en fonction de la planification d’estimation de livraison (EDL). Vous pouvez aussi définir le nombre de fois où un contenu doit être affiché à un utilisateur au cours d’une session. Vous pouvez sélectionner un code d’activité pour la publicité, afin d’éviter que deux publicités de sociétés concurrentes d’un même secteur d’activité s’affichent sur la même page.

Dans ce scénario, nous allons créer une campagne de publicité pour les développeurs de sites Web et utiliser l’expression de campagne créée au cours de l’atelier 6.

Pour créer une campagne de publicité, effectuez les opérations suivantes :

  1. Dans Campagnes marketing, cliquez sur Gestionnaire de campagnes.
  2. Dans l’écran Gestionnaire de campagnes, développez Microsoft Advertising, Advertising Demo Ads, cliquez sur Nouvelle dans la barre d’outils, puis sélectionnez Nouvelle publicité dans la liste déroulante pour créer la publicité.
  3. Dans l’écran Gestionnaire de campagnes <Client> <campagne marketing> Nouvelle (publicité), dans la section Propriétés de la publicité, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom de la publicité | Taper PubDevWeb.
    Statut | Sélectionner Active.
    Type | Sélectionner Publicité maison dans la liste déroulante.
  4. Dans la zone Groupes cibles de la section Cible publicitaire, sélectionnez DéveloppeursWeb, puis cliquez sur le bouton [>].
  5. Dans la section Affichage de la publicité, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Taille | Sélectionner Full Banner (468x60) dans la liste déroulante.
    Type | Sélectionner Image dans la liste déroulante.
    URL d’image | Taper l’emplacement de la publicité Commerce Server 2002.
    Adresse URL pointée | Taper http://www.microsoft.com/CommerceServer.
  6. Pour enregistrer la publicité et revenir à l’écran Gestionnaire de campagnes, cliquez sur Enregistrer et retour dans la barre d’outils.
  7. Dans Campagnes marketing, cliquez sur Publier les campagnes marketing.
  8. Dans l’écran Publier les campagnes marketing, sélectionnez l’élément de la campagne que vous souhaitez publier, puis cliquez sur Publier dans la barre d’outils.

    L’élément de la campagne est envoyé en production. Le site mis à jour inclut le nouvel élément de la campagne.


Atelier8: Vérification de votre campagne de publicité

Envoyer des commentaires sur cette page Commerce Server 2002

Atelier 8 : Vérification de votre campagne de publicité

Pour vérifier que la campagne de publicité fonctionne pour les utilisateurs identifiés par le modèle de segment, vous devez d’abord ouvrir une session sur le site Predictor Demo en tant qu’utilisateur figurant dans la liste des utilisateurs Développeurs de sites Web pour voir la bannière publicitaire Commerce Server 2002. Pour vous authentifier en tant qu’utilisateur de la liste des utilisateurs Développeurs de sites Web, vous avez besoin de l’identificateur et du mot de passe de l’utilisateur. Dans la mesure où, dans Commerce Server 2002, les mots de passe sont cryptés, vous allez réinitialiser le mot de passe de l’un des utilisateurs.

Cette section contient les rubriques suivantes :

  • Étape 1 : Obtenir l’identificateur et le mot de passe d’un utilisateur de la liste
  • Étape 2 : Ouvrir une session en tant qu’utilisateur sur le site Predictor Demo


Étape1: Obtenir l'identificateur et le mot de passe d'un utilisateur de la liste

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 1 : Obtenir l’identificateur et le mot de passe d’un utilisateur de la liste

  1. Dans Profils, cliquez sur Utilisateurs.
  2. Si le volet Rechercher n’est pas ouvert, cliquez sur Rechercher dans la barre d’outils.
  3. Dans la zone Rechercher par, sélectionnez Listes des utilisateurs dans la liste déroulante.
  4. Dans le volet Nom de la liste, sélectionnez Développeurs de sites Web, puis cliquez sur Rechercher.
  5. Sélectionnez un utilisateur quelconque dans la liste (par exemple, Claire User), puis cliquez sur Ouvrir dans la barre d’outils.
  6. Dans l’écran Mettre à jour le profil : <Nom utilisateur>, dans la zone User password de la section General Information, cliquez sur le bouton [...].
  7. Dans la boîte de dialogue Réinitialisation du mot de passe, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nouveau mot de passe | Taper motpasse.
    Confirmer le mot de passe | Taper motpasse.
  8. Cliquez sur OK.
  9. Dans la section Partner Service, dans la zone Partner service role flag, sélectionnez Utilisateur ordinaire dans la liste déroulante, puis cliquez sur Enregistrer et retour dans la barre d’outils.


Étape2: Ouvrir une session en tant qu'utilisateur sur le site Predictor Demo

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 2 : Ouvrir une session en tant qu’utilisateur sur le site Predictor Demo

  1. Démarrez Internet Explorer, puis allez à l’adresse http://localhost/predictordemo pour visiter le site Predictor Demo.
  2. Ouvrez une session sur le site à l’aide de l’identificateur et du mot de passe de l’utilisateur de l’étape 1.

La bannière publicitaire Commerce Server 2002 s’affiche.


Didacticiel Service de publipostage

Vous créez un publipostage pour diffuser des messages électroniques à un groupe d’utilisateurs ciblé afin d’obtenir un taux de réponse élevé à vos publipostages et accroître les ventes ainsi que la fréquentation de votre site Web. Vous pouvez créer des messages de publipostage accompagnés de pièces jointes contenant les informations que vous souhaitez envoyer avec le publipostage. Le service de publipostage est conçu pour envoyer en bloc des messages électroniques personnalisés à des millions d’utilisateurs.

Dans ce didacticiel, vous êtes un administrateur système de la société Adventure Works, qui vend divers équipements pour le camping. Votre gestionnaire de campagnes veut diffuser auprès des nouveaux utilisateurs inscrits des publicités sous forme de messages électroniques personnalisés pour promouvoir une ligne de chaussures de randonnée, à l’aide du service de publipostage.

Pour plus d’informations sur le service de publipostage, consultez Exécution du service de publipostage. Pour plus d’informations sur l’architecture du service de publipostage, consultez Traitement du publipostage.

Cette section contient les rubriques suivantes :

  • Préparation à l’utilisation du didacticiel Service de publipostage
  • Atelier 1 : Configuration du service de publipostage
  • Atelier 2 : Développement du corps du message à remettre
  • Atelier 3 : Création d’une campagne marketing
  • Atelier 4 : Création de publipostage
  • Atelier 5 : Surveillance de l’état des travaux du service de publipostage


Préparation à l'utilisation du didacticiel Service de publipostage

Envoyer des commentaires sur cette page Commerce Server 2002

Préparation à l’utilisation du didacticiel Service de publipostage

Vous devez effectuer les tâches de préparation suivantes avant d’utiliser le didacticiel Service de publipostage.

Remarques

  • Avant d’effectuer les étapes répertoriées ci-après, vous devez installer Commerce Server en suivant les instructions fournies dans le Guide d’installation pour une installation sur un seul ordinateur.
  • Si vous configurez votre site pour qu’il fonctionne avec la sécurité intégrée de Windows, vous devez accorder les autorisations aux comptes de service utilisés pour exécuter le service de publipostage et le Gestionnaire de listes. Pour plus d’informations sur la configuration du service de publipostage Commerce Server pour qu’il fonctionne avec la sécurité intégrée de Windows, consultez Sécurisation des comptes des services de publipostage, Predictor et Gestionnaire de listes.
  • Il est recommandé de ne pas installer le didacticiel sur un ordinateur sur lequel Commerce Server est exécuté dans un environnement de production.

Cette section contient les rubriques suivantes :

  • Décompresser le site Retail pour le didacticiel Service de publipostage
  • Installer l’application Retail Business Desk
  • Créer et importer la liste NouveauxUtilisateurs
  • Ajouter des profils utilisateur


Décompresser le site Retail pour le didacticiel Service de publipostage

Vous devez utiliser le Gestionnaire de package de site Commerce Server pour décompresser le site Retail utilisé dans le didacticiel Service de publipostage. Pour obtenir des instructions sur la décompression d’un site, consultez Installation de Commerce Server 2002.


Installer l'application Retail Business Desk

Envoyer des commentaires sur cette page Commerce Server 2002

Installer l’application Retail Business Desk

Après avoir décompressé le site Retail, vous pouvez installer le client Commerce Server Business Desk en vous connectant à l’adresse URL (Uniform Resource Locator) correspondant à l’application Business Desk.

Pour installer le client Business Desk

  1. Cliquez sur Démarrer, pointez sur Programmes, puis cliquez sur Internet Explorer.
  2. Dans la zone Adresse, tapez l’adresse URL correspondant à votre installation Retail Business Desk (par exemple, http://<nomordinateur>/RetailBizdesk) et appuyez sur ENTRÉE.
  3. Dans la boîte de dialogue Rechercher un dossier, acceptez le dossier par défaut, ou sélectionnez un autre dossier pour stocker le fichier HTA (HTML Application), puis cliquez sur OK.

    L’installation du client Business Desk commence. Si les contrôles Microsoft ActiveX n’ont pas été téléchargés, des conseils de dépannage sont affichés dans la partie supérieure de l’écran Programme d’installation du client Business Desk. Les contrôles Microsoft ActiveX sont nécessaires à l’installation du client Business Desk.

    Des coches apparaissent dans la partie inférieure de l’écran à mesure que chaque tâche est terminée. Lorsque les quatre tâches sont effectuées, l’installation de Business Desk est achevée. Un lien permettant d’accéder à Business Desk est affiché au bas de l’écran.

    Remarque

    • Si vous ne pouvez pas télécharger les contrôles ActiveX, suivez les instructions indiquées dans l’écran Programme d’installation du client Business Desk.
  4. Une fois l’installation de Business Desk effectuée, fermez Internet Explorer.

L’icône correspondant à Business Desk s’affiche à présent sous la forme d’un raccourci sur votre Bureau, ainsi que dans le menu Démarrer.


Créer et importer la liste NouveauxUtilisateurs

Avant de créer une campagne de publipostage, vous devez créer la liste NouveauxUtilisateurs et l’importer dans le Gestionnaire de listes. Cette liste sera celle des utilisateurs auxquels vous enverrez le message de publipostage.

Remarque

  • Dans le cadre de ce didacticiel, vous utiliserez la liste NouveauxUtilisateurs pour votre campagne de publipostage. Toutefois, dans un environnement de production, le développeur exécutera un rapport Nouveaux utilisateurs inscrits et l’exportera dans le Gestionnaire de listes.

Pour plus d’informations sur l’importation d’une liste dans le Gestionnaire de listes, consultez Importation et exportation de listes.

Pour créer la liste NouveauxUtilisateurs

Pour importer la liste NouveauxUtilisateurs

Pour créer la liste NouveauxUtilisateurs

  1. Copiez la liste suivante et collez-la (ou tapez-la) dans le Bloc-notes :
BrigitteUtilisatrice@microsoft.com,BrigitteUtilisatrice
JacquesUtilisateur@Microsoft.com,JacquesUtilisateur
AliceUtilisatrice@Microsoft.com,AliceUtilisatrice
JeanUtilisateur@Microsoft.com,JeanUtilisateur
  1. Nommez la liste NouveauxUtilisateurs et enregistrez-la dans <lettre lecteur>:\ProgramFiles\Microsoft Commerce Server 2002.

Vous pouvez à présent importer la liste dans le Gestionnaire de listes.

Pour importer la liste NouveauxUtilisateurs

  1. Dans Business Desk, dans Campagnes marketing, cliquez sur Gestionnaire de listes.
  2. Dans l’écran Gestionnaire de listes, cliquez sur Importer dans la barre d’outils.
  3. Cliquez sur Fichier dans la liste déroulante.
  4. Dans la boîte de dialogue Importer une liste, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Type de liste | Sélectionner l’option Statique.
    Taper le nom de la liste vers laquelle effectuer la copie | Taper NouveauxUtilisateurs.
    Spécifier un fichier sur le serveur | Taper <lettre lecteur>:\Program Files\Microsoft Commerce Server 2002\NouveauxUtilisateurs.txt.
  5. Cliquez sur OK.

La liste NouveauxUtilisateurs s’affiche dans le Gestionnaire de listes. Vous utiliserez cette liste plus loin dans le didacticiel pour votre campagne de publipostage.


Ajouter des profils utilisateur

Au cours de ce didacticiel, vous allez développer une page ASP (Active Server Page) personnalisée fournissant un corps de message personnalisé au service de publipostage. Par exemple, le message électronique commencera par « Cher <nom du destinataire du message électronique> » au lieu de « Cher visiteur du site ». La liste de publipostage que vous utilisez comprend à la fois une adresse de messagerie et un identificateur d’utilisateur, ce pour toutes les entrées. Le service de publipostage génère un cookie UPM (User Profile Manager) basé sur l’identificateur d’utilisateur pour chaque destinataire figurant dans la liste de publipostage.

Au cours de cet atelier, vous allez ajouter quatre profils utilisateur dans Microsoft SQL Server.

Remarque

  • Dans la mesure où vous ajoutez les profils utilisateur dans Microsoft SQL Server, vous pouvez entrer l’identificateur d’utilisateur pour chaque destinataire. L’identificateur d’utilisateur figurant dans le profil utilisateur doit correspondre à l’identificateur d’utilisateur pour chaque destinataire de la liste de publipostage.

Pour ajouter un profil utilisateur

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Microsoft SQL Server, puis cliquez sur Enterprise Manager.
  2. Développez les nœuds jusqu’au chemin suivant : \Serveurs Microsoft SQL Server\Groupe SQL Server\<nom du serveur SQL Server>\Bases de données\Retail_commerce, puis cliquez sur Tables.
  3. Dans le volet de droite, faites défiler l’écran vers le bas et cliquez avec le bouton droit sur la table UserObject, pointez sur Ouvrir une table, puis cliquez sur Renvoyer toutes les lignes.
  4. Entrez les informations suivantes pour Brigitte Utilisatrice :
    Champ | Tapez cela
    g_user_id | BrigitteUtilisatrice
    u_user_title | Administrateur système
    u_first_name | Brigitte
    u_last_name | Utilisatrice
    u_email_address | BettyUser@microsoft.com
    U_logon_name | BrigitteUtilisatrice
  5. Entrez les informations suivantes pour Jacques Utilisateur :
    Champ | Tapez cela
    g_user_id | JacquesUtilisateur
    u_user_title | Administrateur système
    u_first_name | Jacques
    u_last_name | Utilisateur
    u_email_address | JackUser@microsoft.com
    U_logon_name | JacquesUtilisateur
  6. Entrez les informations suivantes pour Alice Utilisatrice :
    Champ | Tapez cela
    g_user_id | AliceUtilisatrice
    u_user_title | Administrateur système
    u_first_name | Alice
    u_last_name | Utilisatrice
    u_email_address | JaneUser@microsoft.com
    U_logon_name | AliceUtilisatrice
  7. Entrez les informations suivantes pour Jean Utilisateur :
    Champ | Tapez cela
    g_user_id | JeanUtilisateur
    u_user_title | Administrateur système
    u_first_name | Jean
    u_last_name | Utilisateur
    u_email_address | BettyUser@microsoft.com
    U_logon_name | JeanUtilisateur
  8. Fermez SQL Server Enterprise Manager.


Atelier1: Configuration du service de publipostage

Envoyer des commentaires sur cette page Commerce Server 2002

Atelier 1 : Configuration du service de publipostage

Au cours de cet atelier, vous allez configurer le service de publipostage pour qu’il utilise un répertoire de dépôt. Lorsque vous utilisez un répertoire de dépôt, les travaux du service de publipostage peuvent être traités par un serveur Microsoft Exchange Server, qui procède à la remise de vos fichiers de manière asynchrone. Dans la mesure où la liaison entre le service de publipostage et Exchange est asynchrone, les travaux peuvent être remis plus rapidement. Pour plus d’informations sur la configuration du service de publipostage, consultez Configuration du service de publipostage.

Pour contrôler l’exécution du travail du service de publipostage, vous devez modifier les propriétés du service de publipostage. Au cours de cette étape, vous allez configurer l’emplacement de remise du service de publipostage pour utiliser un répertoire de dépôt.

Pour configurer le service de publipostage pour qu’il utilise un répertoire de dépôt.

  1. Développez Gestionnaire Commerce Server, puis Ressources globales, cliquez avec le bouton droit sur Direct Mail on <nom du serveur>, puis cliquez sur Propriétés.
  2. Sous l’onglet Propriétés de la boîte de dialogue Propriétés de DirectMail on <nom du serveur>, effectuez les opérations suivantes :
    Utilisez ceci (Propriétés) | Pour faire cela (Valeur de propriété sélectionnée)
    Chemin d’accès au dossier journal | Vérifier que le chemin d’accès <lettre lecteur>:\WINNT\System32\LogFiles est celui du dossier journal.
    Emplacements de remise | Taper <lettre lecteur>:\Program Files\Microsoft Commerce Server 2002\DML_drop.
    Fichier de configuration de pipeline | Chemin d’accès à l’emplacement du fichier de configuration de pipeline, DMLPipe.pcf. Laisser la valeur par défaut <lettre lecteur>:\Program Files\Microsoft Commerce Server 2002.
    Intervalle avant nouvelle tentative | Délai, en secondes, avant une nouvelle tentative de connexion à la base de données. Laisser la valeur par défaut 30.
    Mode de remise | Taper 2 pour effectuer la remise du publipostage dans le répertoire de dépôt.
    Nombre de tentatives | Nombre de nouvelles tentatives de connexion à la base de données du service de publipostage en cas d’échec d’une connexion. Laisser la valeur par défaut 10.
  3. Cliquez sur OK.


Atelier2: Développement du corps du message à remettre

Envoyer des commentaires sur cette page Commerce Server 2002

Atelier 2 : Développement du corps du message à remettre

Au cours de cet atelier, vous allez développer une page ASP (Active Server Page) personnalisée fournissant un corps de message personnalisé au service de publipostage. Il existe plusieurs procédés pour développer du contenu pour votre message de publipostage. Pour plus d’informations sur les formats des messages du service de publipostage, consultez Formats des messages.

Dans le cadre de ce didacticiel, vous utiliserez le fichier ServiceReminder.asp pour créer le contenu de publipostage. Ce fichier ASP contiendra un message électronique personnalisé informant vos nouveaux utilisateurs sur les produits que la société Adventure Works ajoute à son site Web. Il comprendra également un lien d’annulation d’abonnement pour que le destinataire puisse demander à être retiré de la liste de publipostage.

Pour développer une page ASP (Active Server Page) personnalisée

  1. Dans <lettre lecteur>:Inetpub\wwwroot\retail, ouvrez le fichier ServiceReminder.asp dans le Bloc-notes pour modifier votre page ASP.
  2. Dans la page ServiceReminder.asp, effectuez les opérations suivantes :
    Changez ceci | Pour obtenir cela
    From: E-mail Notifier (Notificateur de messagerie) | From: Adventure Works
    Subject: New product notice (Nouvelle annonce produit) | Subject: Nouvelle annonce clientèle

    Remarque

    • Dans cette page ASP, l’identificateur d’utilisateur est récupéré à partir de l’objet AuthManager sous la forme strUserID = objAuthManager.GetUserID(1). Le service de publipostage reçoit le cookie d’authentification lors de l’accès au fichier ASP. Le profil UserObject est récupéré à partir du service Profils.
  3. Enregistrez le fichier ASP et fermez-le.


Atelier3: Création d'une campagne marketing

Envoyer des commentaires sur cette page Commerce Server 2002

Atelier 3 : Création d’une campagne marketing

Dans cet atelier, vous allez créer une campagne marketing utilisant le publipostage pour identifier vos nouveaux utilisateurs. Une campagne marketing utilise des moyens de communication comme le publipostage pour parvenir à un résultat spécifique, par exemple l’augmentation des parts de marché, l’introduction de nouveaux produits ou la fidélisation des clients. Une campagne marketing représente un ou plusieurs contrats ou commandes d’un client. Pour créer votre campagne marketing, vous ajoutez un client au module Gestionnaire de campagnes, puis vous créez une campagne publicitaire pour ce client.

  • Étape 1 : Ajout d’un client de campagne marketing
  • Étape 2 : Ajout d’une campagne marketing


Étape1: Ajout d'un client de campagne marketing

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 1 : Ajout d’un client de campagne marketing

  1. Dans Commerce Server Business Desk, dans Campagnes marketing, cliquez sur Gestionnaire de campagnes.
  2. Dans l’écran Gestionnaire de campagnes, cliquez sur Nouvelle dans la barre d’outils, puis sélectionnez Nouveau client dans la liste déroulante.
  3. Dans l’écran Gestionnaire de campagnes – Nouveau (client), dans la section Propriétés du client, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper Adventure Works.
    Type | Sélectionner Particulier dans la liste déroulante.
    Activité Sélectionner Voyages dans la liste déroulante.

    Remarque

    • Les codes d’activité permettent d’identifier le secteur d’activité associé à une publicité, afin d’éviter que deux publicités de sociétés concurrentes d’un même secteur d’activité s’affichent sur la même page. Pour plus d’informations sur les codes d’activité, consultez Ajout de codes d’activité.
  4. Pour enregistrer le nouveau client et revenir à l’écran Gestionnaire de campagnes, cliquez sur Enregistrer et retour dans la barre d’outils.

Le nouveau client, Adventure Works, est enregistré et s’affiche dans l’écran Gestionnaire de campagnes.


Étape2: Ajout d'une campagne marketing

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 2 : Ajout d’une campagne marketing

  1. Dans l’écran Gestionnaire de campagnes, sélectionnez Adventure Works.
  2. Dans l’écran Gestionnaire de campagnes, cliquez sur Nouvelle dans la barre d’outils, puis sélectionnez Nouvelle campagne marketing dans la liste déroulante.
  3. Dans l’écran Gestionnaire de campagnes – Adventure Works – Nouvelle (campagne marketing), dans la section Propriétés de la campagne marketing, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom de la campagne marketing | Taper Nouveaux utilisateurs.
    Date de début | Sélectionner la date de la veille dans le calendrier déroulant.
    Date de fin | Sélectionner la date correspondant à un mois après la date du jour dans le calendrier déroulant.
    Statut | Sélectionner Active dans la liste déroulante.
  4. Pour enregistrer la campagne marketing et revenir à l’écran Gestionnaire de campagnes, cliquez sur Enregistrer et retour dans la barre d’outils.

La campagne marketing Nouveaux utilisateurs est enregistrée.


Atelier4: Création du publipostage

Envoyer des commentaires sur cette page Commerce Server 2002

Atelier 4 : Création du publipostage

Dans cet atelier, vous allez créer un élément pour votre campagne de publipostage. Vous allez envoyer un publipostage à une liste de nouveaux utilisateurs inscrits pour leur offrir une remise spéciale sur des chaussures de randonnée. Vous allez aussi envoyer un message de test et vérifier qu’il a bien été envoyé.

Dans le cadre de ce didacticiel, il est supposé que le développeur de votre site a importé les données de vos fichiers journaux des deux derniers mois et a exécuté le rapport statique Nouveaux utilisateurs inscrits ci-après. Une fois que le développeur a exécuté le rapport, ce dernier a été exporté sous la forme d’une liste dans le Gestionnaire de listes. (Pour les besoins de cet atelier, vous utiliserez la liste NouveauxUtilisateurs que vous avez importée dans le Gestionnaire de listes au cours de l’atelier Préparation à l’utilisation du didacticiel Service de publipostage.)

Rapport Nouveaux utilisateurs inscrits

Pour plus d’informations sur l’importation de données des fichiers journaux et sur l’exécution de rapports, consultez Exécution de rapports.

Dans cet atelier, vous allez effectuer les étapes suivantes :

  • Étape 1 : Création d’un élément de la campagne de publipostage
  • Étape 2 : Vérification de l’envoi du message de test


Étape1: Création d'un élément de la campagne de publipostage

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 1 : Création d’un élément de la campagne de publipostage

Remarque

  • Avant de créer une campagne de publipostage, assurez-vous que l’Agent SQL Server est en cours d’exécution. Si ce n’est pas le cas, vous ne pourrez pas enregistrer votre campagne de publipostage.
  1. Dans Campagnes marketing, cliquez sur Gestionnaire de campagnes.
  2. Dans l’écran Gestionnaire de campagnes, développez Adventure Works, puis sélectionnez la campagne marketing Nouveaux utilisateurs.
  3. Cliquez sur Nouvelle dans la barre d’outils, puis sélectionnez Nouveau publipostage dans la liste déroulante.
  4. Dans l’écran Gestionnaire de campagnes – Adventure Works – Nouveaux utilisateurs – Nouveau (publipostage), dans la section Propriétés du publipostage, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom de publipostage | Taper CourrierCiblé.
    Adresse de messagerie d'expédition du message | Taper AdministrateurWeb@AdventureWorks.com.
    Objet du message | Taper Remise spéciale sur les chaussures de randonnée pour nos nouveaux clients.
    Chemin d’accès à un fichier ou URL
    contenant le corps du message         		Taper http://<nom_serveur>/retail/
    servicereminder.asp    .
    Liste de publipostage | Sélectionner NouveauxUtilisateurs dans la liste déroulante.
    Personnaliser le publipostage par utilisateur | Vérifier que cette case à cocher est activée, car vous envoyez un message de publipostage personnalisé dans le cadre de ce didacticiel.
    Format du message Sélectionner MHTML dans la liste déroulante.

    Pour plus d’informations sur les formats des messages, consultez Formats des messages.
  5. Dans la section Planification du message, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Date de début | Sélectionner la date du jour dans la liste déroulante.
    Heure de début Sélectionner la prochaine heure pleine après l’heure actuelle dans la liste déroulante.

    Remarque

    • L’heure est exprimée selon le format 24 heures. Par exemple, si l’heure actuelle est 14h45, sélectionnez 15:00 dans la liste déroulante.
    Intervalle de publipostage | Vérifier que la valeur Une seule fois est affichée.
  6. Dans la section Test, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Liste de test | Sélectionner NouveauxUtilisateurs dans la liste déroulante.
    Envoyer le message de test | Cliquer sur Envoyer le message de test pour envoyer le message de test.
  7. Dans la boîte de dialogue Publipostage, cliquez sur Oui.
  8. Pour revenir à l’écran Gestionnaire de campagnes, cliquez sur Retour dans la barre d’outils.

La campagne de publipostage est ajoutée au module Gestionnaire de campagnes. Passez à l’Étape 2 : Vérification de l’envoi du message de test.


Étape2: Vérification de l'envoi du message de test

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 2 : Vérification de l’envoi du message de test

Dans l’Atelier 1 : Configuration du service de publipostage, vous avez spécifié la remise des messages électroniques dans un répertoire de dépôt. Vous pouvez effectuer un test pour vérifier que le message électronique a bien été envoyé dans le répertoire de dépôt DML sur votre serveur.

  1. Naviguez vers le répertoire DML_drop sur votre serveur. Dans l’Explorateur Windows, naviguez vers <lettre lecteur:>\Program Files\Microsoft Commerce Server 2002\DML_drop. Le fichier doté de l’extension « .eml » contenant le message de publipostage s’affiche.
  2. Pour afficher le message de test, double-cliquez sur le fichier .eml.

Le message de test doit ressembler au message électronique ci-dessous :

Message du service de publipostage

Dans ce message de test, l’identificateur d’utilisateur est récupéré à partir de l’objet AuthManager et le profil UserObject est récupéré à partir du service Profils.


Atelier5: Surveillance de l'état des travaux du service de publipostage

Envoyer des commentaires sur cette page Commerce Server 2002

Atelier 5 : Surveillance de l’état des travaux du service de publipostage

Dans cet atelier, vous allez utiliser l’Agent SQL Server pour afficher l’état de votre travail du service de publipostage, ainsi que pour démarrer le travail avant son exécution planifiée.

Vous vérifiez l’état de votre travail du service de publipostage à l’aide de l’interface de ligne de commande. Pour plus d’informations sur les erreurs susceptibles de se produire lors de l’exécution de votre travail de publipostage, consultez Analyse des travaux de publipostage.

  • Étape 1 : Affichage de l’état du travail du service de publipostage dans l’Agent SQL Server
  • Étape 2 : Démarrage d’un travail du service de publipostage dans l’Agent SQL Server
  • Étape 3 : Surveillance de l’état du travail du service de publipostage


Étape1: Affichage de l'état du travail du service de publipostage dans l'Agent SQL Server

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 1 : Affichage de l’état du travail du service de publipostage dans l’Agent SQL Server

L’Agent SQL Server, qui s’exécute en permanence, permet d’afficher les détails relatifs aux travaux du service de publipostage. Vous pouvez vérifier l’état, la date et l’heure de la dernière exécution des travaux du service de publipostage, ainsi que l’heure de la prochaine exécution planifiée.

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Microsoft SQL Server, puis cliquez sur Enterprise Manager.
  2. Développez les nœuds jusqu’au chemin suivant : \Serveurs Microsoft SQL\Groupe SQL Server\<Nom du serveur SQL Server>\Gestion\Agent SQL Server.
  3. Cliquez sur Travaux.

Les travaux de publipostage s’affichent dans le volet droit de SQL Server Enterprise Manager.


Étape2: Démarrage d'un travail du service de publipostage dans l'Agent SQL Server

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 2 : Démarrage d’un travail du service de publipostage dans l’Agent SQL Server

Vous utilisez l’Agent SQL Server pour démarrer et arrêter les travaux de publipostage, ainsi que pour afficher l’historique du travail.

  1. Développez les nœuds jusqu’au chemin suivant : \Serveurs Microsoft SQL Server\Groupe SQL Server\<Nom du serveur SQL Server>\Gestion\Agent SQL Server.
  2. Cliquez sur Travaux. Les travaux de publipostage s’affichent dans le volet droit de SQL Server Enterprise Manager.
  3. Cliquez avec le bouton droit sur le travail du service de publipostage, puis cliquez sur Démarrer le travail.

Remarque

  • Vous replanifiez un travail du service de publipostage à l’aide du module Gestionnaire de campagnes dans Commerce Server Business Desk.


Étape3: Surveillance de l'état du travail du service de publipostage

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 3 : Surveillance de l’état du travail du service de publipostage

L’interface de ligne de commande vous permet de déterminer si le travail du service de publipostage contenant votre publipostage est en cours d’exécution, s’il a été suspendu ou arrêté, ou s’il s’est correctement exécuté.

  • Au niveau de la ligne de commande, tapez DmlRun /list pour afficher tous les travaux du service de publipostage.

La liste des travaux du service de publipostage s’affiche.

Le tableau suivant répertorie les codes d’état du travail.

Code | Description
0 | Le travail a été créé, mais pas initialisé.
1 | Le travail a été entièrement défini mais n’est pas en cours d’exécution (inactif) ou le travail a été arrêté.
2 | Le travail est terminé.
3 | Le travail est en cours d’exécution (actif).
4 | Le travail est en cours d’exécution, mais il est actuellement suspendu (toujours actif cependant).
-2 | Le travail a été arrêté par le service de publipostage en raison de sérieux problèmes ou parce que le seuil limite d’erreurs a été atteint.
-3 | Le travail a été défini en tant que css_site, mais toutes les données n’étaient pas disponibles lors de l’exécution.


Didacticiel entreprise-client

Microsoft Commerce Server 2002 comporte un ensemble complet d’outils permettant de créer des applications d’e-commerce pour le Web. Ce didacticiel fournit des instructions pas à pas vous indiquant comment utiliser Commerce Server pour gérer votre site Web.

Cette section contient les rubriques suivantes :

  • À propos du scénario entreprise-client
  • Préparation à l’utilisation du didacticiel
  • Atelier 1 : Génération de votre catalogue
  • Atelier 2 : Création d’une campagne marketing
  • Atelier 3 : Analyse des ventes produits


À propos du scénario entreprise-client

Vous êtes un cadre dirigeant de la société Adventure Works qui vend divers équipements pour le camping. Jusqu’à présent, la vente de vos produits était assurée par le biais de catalogues de vente par correspondance. Vous souhaitez maintenant proposer vos produits en ligne et dans cette optique, vous venez d’embaucher un développeur pour qu’il crée un site Web.

Votre catalogue Adventure Works actuel est stocké dans le fichier AdvWrksCatalog.xml. Vous prévoyez de vendre vos produits à des clients aux États-Unis et en Europe ; votre site Web doit donc être conçu de façon à gérer des transactions effectuées en dollars américains et en euros. En outre, vous voulez créer un nouveau catalogue pour une nouvelle division appelée Cartes de camping.

Dans ce didacticiel, vous allez effectuer les opérations suivantes :

  • Importer votre catalogue de base existant dans Business Desk
  • Créer un autre catalogue de base
  • Créer un catalogue virtuel qui combine vos deux catalogues de base
  • Créer une campagne de publicité destinée à un groupe spécifique de personnes qui achètent, sur votre site Web, des produits liés aux activités de plein air


Préparation à l'utilisation du didacticiel

Envoyer des commentaires sur cette page Commerce Server 2002

Préparation à l’utilisation du didacticiel

Votre administrateur système doit effectuer quelques tâches avant que vous puissiez utiliser le didacticiel. Une fois que ces tâches préliminaires sont accomplies, vous pouvez commencer l’Atelier 1 du didacticiel entreprise-client.

Remarques

  • Avant d’effectuer les étapes répertoriées ci-après, vous devez installer Commerce Server en suivant les instructions fournies dans le Guide d’installation de Commerce Server 2002 pour une installation sur un seul ordinateur. Il est recommandé de ne pas installer le didacticiel sur un ordinateur sur lequel Commerce Server est exécuté dans un environnement de production.

L’administrateur système doit effectuer les tâches suivantes :

  • Décompresser le site Retail pour le didacticiel
  • Copier les fichiers image du didacticiel sur votre site
  • Accéder aux sources de données sur plusieurs domaines pour le didacticiel


Décompresser le site Retail pour le didacticiel

Votre administrateur système doit décompresser le site Retail à l’aide du Gestionnaire de package de site Commerce Server. Ce site est utilisé tout au long du didacticiel entreprise-client.

Vous trouverez le site Retail Commerce Server à l’adresse suivante : http://go.microsoft.com/fwlink/?linkid=6491.

Pour obtenir des instructions sur la décompression d’un site, consultez le Guide d’installation de Commerce Server 2002.


Copier les fichiers image du didacticiel sur votre site

Avant que vous n’exécutiez le didacticiel, votre administrateur système doit copier les exemples de fichiers image du dossier <lecteur:>\Program Files\Microsoft Commerce Server 2002\Documentation dans le dossier <lecteur:>\Inetpub\wwwroot\Retail\Images\Catalog. Copiez tous les fichiers dotés de l’extension .gif.

Cela vous permettra d’afficher les publicités une fois que vous les aurez créées dans le didacticiel.


Accéder aux sources de données sur plusieurs domaines pour le didacticiel

Sur votre ordinateur client Business Desk, effectuez l’étape suivante si des sources de données, telles que SQL Server, se trouvent dans un autre domaine que celui où vous avez ouvert la session active. Si vous ne le savez pas, contactez votre administrateur système.

Pour accéder aux sources de données sur plusieurs domaines

  1. Sur l’ordinateur ou le serveur hébergeant le client Business Desk, dans Internet Explorer, cliquez sur Outils, puis sur Options Internet.
  2. Dans la boîte de dialogue Options Internet, sous l’onglet Sécurité, cliquez sur Personnaliser le niveau.
  3. Dans la boîte de dialogue Paramètres de sécurité, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Divers>Accès aux sources de données sur plusieurs domaines | Sélectionner Activer.
    Navigation des sous-cadres sur différents domaines | Sélectionner Activer.
  4. Cliquez sur OK.
  5. Dans la boîte de dialogue Confirmation, cliquez sur Oui.
  6. Dans la boîte de dialogue Options Internet, cliquez sur OK.
  7. Fermez la fenêtre du navigateur.

Votre ordinateur peut maintenant accéder à des sources de données sur plusieurs domaines.


Atelier1: Génération de votre catalogue

Envoyer des commentaires sur cette page Commerce Server 2002

Atelier 1 : Génération de votre catalogue

Temps estimé pour terminer : 60 minutes

Scénario : Étant donné que vous prévoyez de vendre vos produits aux États-Unis et en Europe, vous devez créer deux modes de livraison différents. Vous devez importer votre catalogue Adventure Works existant, mais aussi créer un catalogue supplémentaire pour les cartes de camping. Votre société possède un nouveau service proposant des livres sur le camping, des manuels de survie, des cartes et plans ainsi que d’autres informations utiles relatives au camping. Vos clients doivent être en mesure d’effectuer des recherches dans les deux catalogues.

Dans cet atelier, vous allez effectuer les opérations suivantes :

  • Ajouter des modes de livraison et des taux de taxes
  • Créer votre nouveau catalogue de livres et y ajouter des produits
  • Importer votre catalogue existant (AdvWrksCatalog.xml)
  • Créer un catalogue virtuel qui contient le nouveau catalogue et le catalogue Adventure Works
  • Cibler les utilisateurs de vos produits
  • Ajouter des entrées du glossaire du site et des nouveaux utilisateurs

Dans les ateliers suivants, vous allez créer des campagnes de publicité afin de promouvoir les produits à vendre dans vos catalogues sur le camping, puis exécuter des rapports pour vérifier une augmentation des ventes et l’efficacité de vos campagnes de publicité.

Chacune des leçons répertoriées ci-dessous est nécessaire à la leçon suivante. Il est important d’effectuer les leçons dans l’ordre dans lequel elles sont répertoriées.

  • Leçon 1 : Ajout d’un mode de livraison et d’un taux de taxe
  • Leçon 2 : Création d’un catalogue de base
  • Leçon 3 : Importation d’un catalogue
  • Leçon 4 : Création d’un catalogue virtuel
  • Leçon 5 : Ciblage des utilisateurs de vos produits
  • Leçon 6 : Ajout d’un utilisateur avec un nouveau profil


Leçon1: Ajout d'un mode de livraison et d'un taux de taxe

Envoyer des commentaires sur cette page Commerce Server 2002

Leçon 1 : Ajout d’un mode de livraison et d’un taux de taxe

Pour que les clients puissent commander des articles à partir de votre catalogue en ligne, vous devez au préalable définir les modes de livraison et les taux de taxes qui s’appliquent. Dans la mesure où vous prévoyez de vendre vos produits de camping à des clients aux États-Unis et en Europe, vous devez ajouter les modes de livraison (taux) correspondant aux sociétés de transport chargées de la livraison dans les différents pays concernés. Le module Commandes de Business Desk vous permet d’ajouter et de modifier des modes de livraison ainsi que de définir des taux de taxes pour différents pays, régions et juridictions.

Au cours de cette leçon, vous allez effectuer les étapes suivantes :

  • Étape 1 : Ajout d’un mode de livraison
  • Étape 2 : Ajout d’un mode de livraison pour des paramètres régionaux différents
  • Étape 3 : Ajout d’un taux de taxe
  • Étape 4 : Ajout d’un taux de taxe pour des paramètres régionaux différents
  • Étape 5 : Publication des codes de commandes


Étape1: Ajout d'un mode de livraison

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 1 : Ajout d’un mode de livraison

  1. Ouvrez Business Desk - Retail à partir du menu Démarrer ou du Bureau.
  2. Dans Commandes, cliquez sur Modes de livraison.
  3. Dans l’écran Modes de livraison, cliquez sur Nouveau dans la barre d’outils, puis sélectionnez Facturer en fonction du sous-total dans la liste déroulante.
  4. Dans l’écran Facturer en fonction du sous-total - Nouveau, dans la section Propriétés du mode de livraison, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Langue | Sélectionner Français - France dans la liste déroulante.
    Nom | Taper Vigor Airlines.
    Description | Taper Transports aériens régionaux.
    Activée | Vérifier que la case à cocher Mode de livraison activé est activée.
  5. Dans la section Taux, cliquez sur Nouvelle, puis effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Prix, jusqu’à | Taper 10.
    Frais de livraison | Taper 5.
  6. Cliquez sur Accepter.
  7. Pour ajouter d’autres frais de livraison, cliquez sur Nouvelle, puis effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Prix, jusqu’à | Taper 20.
    Frais de livraison | Taper 10.
  8. Cliquez sur Accepter.
  9. Pour ajouter les frais de livraison supérieur à 20, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Prix, jusqu’à | Double-cliquer sur supérieur à 20 pour activer la zone Frais de livraison.
    Frais de livraison | Taper 15.
  10. Cliquez sur Accepter.

    Les nouveaux frais de livraison sont définis en fonction du sous-total.

  11. Cliquez sur Enregistrer et retour pour enregistrer les nouveaux frais de livraison et revenir à l’écran Modes de livraison.

Vous avez ajouté un mode de livraison pour les produits livrés en France. Passez à l’Étape 2 : Ajout d’un mode de livraison pour des paramètres régionaux différents, au cours de laquelle vous allez ajouter un mode de livraison pour les produits livrés aux États-Unis.


Étape2: Ajout d'un mode de livraison pour des paramètres régionaux différents

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 2 : Ajout d’un mode de livraison pour des paramètres régionaux différents

  1. Dans Commandes, cliquez sur Modes de livraison.
  2. Dans l’écran Modes de livraison, cliquez sur Nouveau dans la barre d’outils, puis sélectionnez Facturer en fonction du sous-total dans la liste déroulante.
  3. Dans l’écran Facturer en fonction du sous-total - Nouveau, dans la section Propriétés du mode de livraison, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Langue | Sélectionner Anglais - États-Unis dans la liste déroulante.
    Nom | Taper Vigor Airlines.
    Description | Taper Nous livrons tout.
    Activée | Vérifier que la case à cocher Mode de livraison activé est activée.
  4. Dans la section Taux, cliquez sur Nouvelle, puis effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Prix, jusqu’à | Taper 10.
    Frais de livraison | Taper 5.
  5. Cliquez sur Accepter.
  6. Pour ajouter d’autres frais de livraison, cliquez sur Nouvelle, puis effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Prix, jusqu’à | Taper 20.
    Frais de livraison | Taper 10.
  7. Cliquez sur Accepter.
  8. Pour ajouter les frais de livraison supérieur à 20, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Prix, jusqu’à | Double-cliquer sur supérieur à 20 pour activer la zone Frais de livraison.
    Frais de livraison | Taper 15.
  9. Cliquez sur Accepter.

    Les nouveaux frais de livraison pour les États-Unis sont définis en fonction du sous-total.

  10. Cliquez sur Enregistrer et retour pour enregistrer les nouveaux frais de livraison et revenir à l’écran Modes de livraison.
  11. Pour vérifier que vous avez bien ajouté un mode de livraison et un taux pour cette langue, sélectionnez Anglais - États-Unis dans la liste déroulante en haut de l’écran. Vigor Airlines figure dans la liste des modes de livraison avec la description Nous livrons tout.

    Les frais de livraison sont enregistrés et seront appliqués en fonction du sous-total aux achats effectués sur le site Retail.

Vous avez ajouté un mode de livraison pour des produits livrés aux États-Unis. Passez à l’Étape 3 : Ajout d’un taux de taxe, au cours de laquelle vous allez ajouter un taux de taxe applicable aux produits livrés en France.


Étape3: Ajout d'un taux de taxe

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 3 : Ajout d’un taux de taxe

  1. Dans Commandes, cliquez sur Taux de taxes.
  2. Dans l’écran Taxe, cliquez sur Nouvelle, puis effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Pays/région | Sélectionner France dans la liste déroulante.
    État/Région | Sélectionner Tous les départements/provinces.
    Taux de taxe (%) | Taper 10.
  3. Cliquez sur Accepter.
  4. Pour enregistrer le nouveau taux de taxe et revenir à l’écran Business Desk, cliquez sur Enregistrer et retour dans la barre d’outils.

Le taux de taxe est enregistré et sera appliqué aux achats livrés en France.

Vous avez ajouté un taux de taxe pour des produits livrés en France. Passez à l’Étape 4 : Ajout d’un taux de taxe pour des paramètres régionaux différents, au cours de laquelle vous allez ajouter un taux de taxe applicable aux produits livrés aux États-Unis.


Étape4: Ajout d'un taux de taxe pour des paramètres régionaux différents

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 4 : Ajout d’un taux de taxe pour des paramètres régionaux différents

  1. Dans Commandes, cliquez sur Taux de taxes.
  2. Dans l’écran Taxe, cliquez sur Nouvelle, puis effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Pays/région | Sélectionner États-Unis d’Amérique dans la liste déroulante.
    État/Région | Sélectionner Washington dans la liste déroulante.
    Taux de taxe (%) | Taper 5.
  3. Cliquez sur Accepter.
  4. Pour enregistrer le nouveau taux de taxe et revenir à l’écran Business Desk, cliquez sur Enregistrer et retour dans la barre d’outils.

Le taux de taxe est enregistré et sera appliqué aux achats livrés aux États-Unis. Passez à l’Étape 5 : Publication des codes de commandes, qui vous permettra de publier les modes de livraison et les taux de taxes sur votre site Web Retail.


Étape5: Publication des codes de commandes

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 5 : Publication des codes de commandes

Si un utilisateur a accédé à votre site Retail avant que vous ne créiez le mode de livraison et le taux de taxe (procédures décrites plus haut dans cet atelier), vous devez publier votre mode de livraison et votre taux de taxe sur le site Retail. Il se peut par exemple que votre administrateur système ait accédé au site Retail lorsqu’il a configuré ce didacticiel.

  1. Dans Commandes, cliquez sur Publier les codes de commandes.

    Remarque

    • Il n’est pas nécessaire de publier vos codes de commandes si aucun élément ne figure dans la liste Éléments de production de l’écran Publier les codes de commandes. Si tel est le cas, passez à la Leçon 2 : Création d’un catalogue de base ; sinon, passez à l’étape suivante.
  2. Dans l’écran Publier les codes de commandes, sélectionnez tous les éléments de production que vous avez créés (modes de livraison et taux de taxes).
  3. Cliquez sur Publier dans la barre d’outils.

    Remarque

    • Si la boîte de dialogue Business Desk : Erreur s’affiche, cliquez sur OK.

Les modes de livraison et taux de taxes sont envoyés à votre serveur Web et sont disponibles sur votre site Retail. Une fois que vous avez terminé l’Atelier 1, ouvrez votre site Retail et créez une commande afin de vérifier que les modes de livraison et les taux de taxes ont bien été ajoutés à votre site. Passez à la Leçon 2 : Création d’un catalogue de base.


Leçon2: Création d'un catalogue de base

Envoyer des commentaires sur cette page Commerce Server 2002

Leçon 2 : Création d’un catalogue de base

Scénario : Vous créez un nouveau catalogue de base que vous appelez Cartes de camping. Vous devez d’abord créer des définitions de propriétés et des produits pour les cartes. Par exemple, « Titre de la carte » peut être une propriété et « Carte Pyrénées Orientales » un produit.

Une fois que vous avez ajouté les propriétés et produits souhaités pour votre catalogue, vous créez le nouveau catalogue de base, Cartes de camping.

Au cours de cette leçon, vous allez effectuer les étapes suivantes :

  • Étape 1 : Création des définitions de propriétés
  • Étape 2 : Ajout des définitions de produits
  • Étape 3 : Création d’un autre catalogue de base


Étape1: Création des définitions de propriétés

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 1 : Création des définitions de propriétés

  1. Ouvrez Business Desk - Retail à partir du menu Démarrer ou du Bureau.
  2. Dans le module Catalogues, cliquez sur Concepteur de définitions de catalogues.
  3. Dans l’écran Concepteur de définitions de catalogues : Définitions de catégories, cliquez sur Afficher dans la barre d’outils, puis sélectionnez Définitions de propriétés dans la liste déroulante.
  4. Dans l’écran Concepteur de définitions de catalogues : Définitions de propriétés, cliquez sur Nouvelle dans la barre d’outils, puis sélectionnez Texte dans la liste déroulante.
  5. Dans l’écran Définition de propriété : Nouvelle (Texte), dans la section Propriétés, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper TitreCarte.
    Afficher sur le site | Activer la case à cocher Oui.
    Afficher dans la liste de produits | Sélectionner Oui pour afficher cette définition de propriété dans la liste de produits.

    Remarque

    • L’écran Définition de propriété : Nouvelle (Texte) affiche les valeurs par défaut.
  6. Dans l’écran Définition de propriété : Nouvelle (Texte), dans la section Noms complets, cliquez sur Nouvelle, puis effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Langue | Sélectionner Français - France dans la liste déroulante.
    Nom complet | Taper Titre de la carte.
  7. Cliquez sur Accepter.
  8. Pour enregistrer la nouvelle définition de propriété et en créer une autre, cliquez sur Enregistrer et nouveau dans la barre d’outils.

    Le message « Enregistrement en cours, patientez... » s’affiche, puis la boîte de dialogue Nouvelle définition de propriété s’affiche.

  9. Dans la boîte de dialogue Nouvelle définition de propriété, sélectionnez Texte dans la liste déroulante, puis cliquez sur Continuer.
  10. Dans l’écran Définition de propriété : Nouvelle (Texte), dans la section Propriétés, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper DestinationCarte.
    Afficher sur le site | Activer la case à cocher Oui.
    Afficher dans la liste de produits | Sélectionner Oui pour afficher cette définition de propriété dans la liste de produits.

    Remarque

    • L’écran Définition de propriété : Nouvelle (Texte) affiche les valeurs par défaut.
  11. Dans l’écran Définition de propriété : Nouvelle (Texte), dans la section Noms complets, cliquez sur Nouvelle, puis effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Langue | Sélectionner Français - France dans la liste déroulante.
    Nom complet | Taper Destination sur la carte.
  12. Cliquez sur Accepter.
  13. Pour enregistrer la nouvelle définition de propriété et en créer une autre, cliquez sur Enregistrer et nouveau dans la barre d’outils.

    Le message « Enregistrement en cours, patientez... » s’affiche, puis la boîte de dialogue Nouvelle définition de propriété s’affiche.

  14. Dans la boîte de dialogue Nouvelle définition de propriété, sélectionnez Texte dans la liste déroulante Type, puis cliquez sur Continuer.
  15. Dans l’écran Définition de propriété : Nouvelle (Texte), dans la section Propriétés, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper ISBNCarte.
    Afficher sur le site | Activer la case à cocher Oui.
    Possibilité de recherche avec propriété | Désactiver la case à cocher Oui.
    Longueur minimale | Taper 10.
    Longueur maximale | Taper 20.
    Stocker les données en vue d’une analyse | Activer Oui.
    Afficher dans la liste de produits | Activer Oui.

    Remarque

    • L’écran Définition de propriété : Nouvelle (Texte) affiche les valeurs par défaut.
  16. Dans l’écran Définition de propriété : Nouvelle (Texte), dans la section Noms complets, cliquez sur Nouvelle, puis effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Langue | Sélectionner Français - France dans la liste déroulante.
    Nom complet | Taper ISBN de la carte.
  17. Cliquez sur Accepter.
  18. Pour enregistrer la nouvelle définition de propriété et revenir à l’écran Concepteur de définitions de catalogues : Définitions de propriétés, cliquez sur Enregistrer et retour dans la barre d’outils.

Les nouvelles définitions de propriétés sont enregistrées. Passez à l’Étape 2 : Ajout des définitions de produits, au cours de laquelle vous allez créer une définition de produit qui contiendra les définitions de propriétés que vous avez créées lors de cette première étape.


Étape2: Ajout des définitions de produits

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 2 : Ajout des définitions de produits

  1. Dans l’écran Concepteur de définitions de catalogues : Définitions de propriétés, cliquez sur Afficher dans la barre d’outils, puis sélectionnez Définitions de produits dans la liste déroulante.
  2. Dans l’écran Concepteur de définitions de catalogues : Définitions de produits, cliquez sur Nouvelle dans la barre d’outils.
  3. Dans l’écran Définition de produit : Nouveau, dans la section Propriétés de la définition de produit, tapez Carte de randonnées dans la zone Nom.
  4. Dans la section Propriétés du produit, dans la zone Propriétés disponibles, faites défiler la liste pour afficher DestinationCarte, ISBNCarte et TitreCarte.
  5. Maintenez la touche [CTRL] enfoncée, cliquez sur DestinationCarte, ISBNCarte et TitreCarte, relâchez la touche [CTRL], puis cliquez sur Ajouter.

    Les propriétés sélectionnées sont déplacées vers la zone Propriétés attribuées.

    Remarque

    • Les autres éléments répertoriés dans la zone Propriétés attribuées, qui apparaissent sur fond gris, correspondent aux propriétés par défaut du produit.
  6. Pour enregistrer la nouvelle définition de produit et revenir à l’écran Concepteur de définitions de catalogues : Définitions de produits, cliquez sur Enregistrer et retour dans la barre d’outils.

    La définition de produit Carte de randonnées s’affiche dans la zone Nom.

  7. Développez la définition de produit Carte de randonnées.

Les propriétés ISBNCarte, DestinationCarte et TitreCarte, ainsi que les propriétés par défaut du produit s’affichent en tant que propriétés dans la définition de produit Carte de randonnées. Passez à l’Étape 3 : Création d’un autre catalogue de base.


Étape3: Création d'un autre catalogue de base

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 3 : Création d’un autre catalogue de base

  1. Dans le module Catalogues, cliquez sur Éditeur de catalogue.
  2. Dans l’écran Catalogues, cliquez sur Nouveau dans la barre d’outils, puis sélectionnez Nouveau catalogue de base dans la liste déroulante.
  3. Dans l’écran Propriétés du catalogue - Nouveau catalogue de base, dans la section Propriétés du catalogue, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper Cartes de camping.
    Devise | Sélectionner Euro – EUR dans la liste déroulante.
    Identificateur unique du produit | Sélectionner ISBNCarte dans la liste déroulante.
    Identificateur unique du composant produit | Sélectionner ISBNCarte dans la liste déroulante.
  4. Pour enregistrer les propriétés du catalogue, cliquez sur Enregistrer et retour dans la barre d’outils.

Les propriétés du catalogue sont enregistrées avec le nouveau catalogue de base. Passez à la Leçon 3 : Importation d’un catalogue, au cours de laquelle vous allez importer votre catalogue Adventure Works dans Business Desk.


Leçon3: Importation d'un catalogue

Envoyer des commentaires sur cette page Commerce Server 2002

Leçon 3 : Importation d’un catalogue

Scénario : Vous devez importer votre catalogue de base principal (Adventure Works) dans Business Desk afin de le publier sur votre site Web et de tester ensuite le site en jouant le rôle d’un client en ligne potentiel. Dans Business Desk, le module Éditeur de catalogue vous permet de gérer les catégories et les catalogues. Vous pouvez ajouter, modifier et supprimer des catégories, et supprimer des catalogues.

Vous pouvez importer un catalogue à partir d’un fichier XML (Extensible Markup Language) ou CSV (Comma-Separated Value).

Au cours de cette leçon, vous allez importer le fichier catalogue AdvWorksCatalog.xml. Vous allez ensuite tester votre site Web, c’est-à-dire le visiter et effectuer une recherche en texte libre pour trouver des chaussures et des produits dérivés. Après avoir trouvé un produit répondant à vos critères de recherche, vous allez l’ajouter à votre panier d’achat, puis valider l’opération.

Au cours de cette leçon, vous allez effectuer les étapes suivantes :

  • Étape 1 : Importation du catalogue Adventure Works
  • Étape 2 : Actualisation et publication de votre catalogue
  • Étape 3 : Recherche de chaussures à l’aide de la recherche en texte libre
  • Étape 4 : Commande des chaussures sur le site


Étape1: Importation du catalogue Adventure Works

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 1 : Importation du catalogue Adventure Works

  1. Ouvrez Business Desk - Retail à partir du menu Démarrer ou du Bureau.
  2. Dans le module Catalogues, cliquez sur Éditeur de catalogue.
  3. Dans l’écran Catalogues, cliquez sur Importer dans la barre d’outils, puis sélectionnez Importer XML dans la liste déroulante.

    Remarque

    • Si vous accédez à Business Desk à partir d’un autre ordinateur que le serveur, effectuez l’étape 4. Sinon, passez à l’étape 5.
  4. Dans la boîte de dialogue Importer le catalogue XML, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom du fichier | Sélectionner Spécifier un fichier XML localement accessible.
    Spécifier un fichier XML sur le serveur Taper \\<nomordinateur>\<lecteur>$\Program Files\Microsoft Commerce Server 2002\SDK\Samples\Auction\AdvWorksCatalog.xml, où <nomordinateur> est le nom de l’ordinateur sur lequel est exécuté Commerce Server et où <lecteur> est le lecteur où est installé Windows 2000.

    Remarque

    • Pour utiliser ce chemin d’accès UNC, vous devez être administrateur sur l’ordinateur exécutant Commerce Server.
    Supprimer les données existantes de ce catalogue | Vérifier que cette case à cocher est désactivée.
    Valider le fichier XML (ne pas importer) | Vérifier que cette case à cocher est désactivée.

    Puisque vous accédez à Business Desk à partir d’un autre ordinateur que le serveur, vous n’allez pas effectuer l’étape 5. Passez à l’étape 6.

  5. Dans la boîte de dialogue Importer le catalogue XML, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom du fichier | Sélectionner Spécifier un fichier XML localement accessible.
    Spécifier un fichier XML localement accessible | Taper <lecteur>:\Program Files\Microsoft Commerce Server 2002\SDK\Samples\Auction\AdvWorksCatalog.xml.
    Supprimer les données existantes de ce catalogue | Vérifier que cette case à cocher est désactivée.
    Valider le fichier XML (ne pas importer) | Vérifier que cette case à cocher est désactivée.
  6. Dans l’écran Importer le catalogue XML, cliquez sur OK.
  7. Dans la boîte de dialogue Business Desk : Importer le catalogue XML, cliquez sur OK.

    Commerce Server commence l’importation du catalogue Adventure Works. L’état d’importation s’affiche dans la barre d’état au bas de l’écran Catalogues. Une fois l’importation terminée, le message « Importation du catalogue terminée » s’affiche indiquant que le catalogue Adventure Works a été importé dans le site Retail.

    Remarque
  • Le catalogue Adventure Works n’apparaît dans la zone Nom de l’Éditeur de catalogue qu’après la mise à jour des données de l’écran Catalogues.
  1. Pour mettre à jour l’écran Catalogues, dans le module Catalogues, cliquez sur Éditeur de catalogue.

L’écran Catalogues est mis à jour et le catalogue Adventure Works s’affiche dans la liste Affichage filtré. Vous avez importé le catalogue Adventure Works dans Business Desk. Passez à l’Étape 2 : Actualisation et publication de votre catalogue.


Étape2: Actualisation et publication de votre catalogue

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 2 : Actualisation et publication de votre catalogue

  1. Dans Catalogues, cliquez sur Éditeur de catalogue.

    Un message « Importation du catalogue en cours… » s’affiche pendant la mise à jour.

  2. Lorsque le message « Importation du catalogue en cours… » n’est plus affiché, cliquez sur Actualiser dans la barre d’outils.

    Le message « Actualisation des catalogues » s’affiche alors. Vous devez patienter quelques secondes avant de passer à l’étape suivante, afin de permettre l’actualisation du catalogue et sa publication sur votre site.

  3. Pour actualiser le contenu de l’écran, dans le module Catalogues, cliquez sur Éditeur de catalogue.

    L’écran est actualisé et votre catalogue est à présent actualisé et publié sur votre site Web.

    Remarque

    • Si vous tentez d’accéder à votre site Web avant que Commerce Server ait terminé la publication du catalogue sur le site, un message indiquant le redémarrage du serveur s’affiche et vous ne pourrez pas accéder au site.

Passez à l’Étape 3 : Recherche de chaussures à l’aide de la recherche en texte libre.


Étape3: Recherche de chaussures à l'aide de la recherche en texte libre

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 3 : Recherche de chaussures à l’aide de la recherche en texte libre

Pour effectuer cette étape, vous devez accéder au site Retail à l’aide d’un navigateur Web, tel que Microsoft Internet Explorer. Commerce Server prend en charge Internet Explorer 5.5 avec le Service Pack 2, ou une version ultérieure.

  1. Ouvrez le site Retail en utilisant votre navigateur. Pour ouvrir votre site Retail, dans Internet Explorer, tapez http://<nomserveur>/retail dans la ligne Adresse, où <nomserveur> est le nom du serveur hébergeant le site Retail. Contactez votre administrateur système si vous ne connaissez pas le nom du serveur.
  2. Dans la zone de texte Recherche de produit, tapez rockshoes, puis cliquez sur Rechercher.

    L’écran Résultats de la recherche qui s’affiche présente la catégorie : Rockshoes.

  3. Cliquez sur Rockshoes.

    La catégorie Rockshoes présente une liste de produits parmi lesquels figurent plusieurs modèles de chaussures de marche :

    • Morro
    • Plymouth
    • Tuscany

Ces chaussures ont été trouvées grâce à la recherche en texte libre. Passez à l’Étape 4 : Commande des chaussures sur le site.


Étape4: Commande des chaussures sur le site

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 4 : Commande des chaussures sur le site

  1. Dans l’écran Rockshoes, cliquez sur Tuscany, sur Ajouter au panier, puis sur Panier dans l’en-tête de l’écran.

    L’écran Panier s’affiche.

  2. Dans l’écran Panier, cliquez sur Valider.

    L’écran Adresse de livraison s’affiche.

  3. Dans l’écran Adresse de livraison, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper Bartoli.
    Prénom | Taper Laura.
    Adresse (1ère ligne) | Taper 48, boulevard du Montparnasse.
    Ville | Taper Paris.
    État/Région | Taper Paris.
    Code postal | Taper 75014.
    Pays/région | Sélectionner France dans la liste déroulante.
    Mon adresse de facturation est la même | Vérifier que cette case à cocher est activée.
  4. Cliquez sur Soumettre.

    L’écran Options de livraison s’affiche.

  5. Dans l’écran Options de livraison, sélectionnez Vigor Airlines, puis cliquez sur Valider.

    L’écran Résumé de la commande s’affiche. Vérifiez dans cet écran que les frais de livraison sont de 15 euros et que la taxe facturée correspond à 10 pour cent du sous-total du produit.

  6. Dans l’écran Résumé de la commande, cliquez sur Valider.

    L’écran Carte de crédit s’affiche.

  7. Dans l’écran Carte de crédit, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Titulaire de la carte | Taper Laura Bartoli.
    Numéro de carte | Taper 4111-1111-1111-1111.
    Type | Sélectionner VISA dans la liste déroulante.
    Mois d’expiration | Sélectionner Octobre dans la liste déroulante.
    Année d’expiration | Sélectionner 2005 dans la liste déroulante.
  8. Cliquez sur Soumettre.

    L’écran Confirmation de la commande s’affiche avec le numéro de commande.

  9. Fermez la fenêtre du navigateur.

Vous avez commandé des chaussures sur votre site Retail. Passez à la Leçon 4 : Création d’un catalogue virtuel, au cours de laquelle vous allez créer un catalogue virtuel qui contiendra vos catalogues de base Cartes de camping et Adventure Works.


Leçon4: Création d'un catalogue virtuel

Envoyer des commentaires sur cette page Commerce Server 2002

Leçon 4 : Création d’un catalogue virtuel

Scénario : Vous souhaitez que vos clients puissent facilement consulter et commander des produits figurant dans vos catalogues de base Cartes de camping et Adventure Works. Pour ce faire, vous créez un catalogue virtuel qui contient les deux catalogues. La création d’un catalogue virtuel vous permet de conserver les catalogues d’origine en tant que sous-ensembles afin de proposer des remises exceptionnelles distinctes pour chaque catalogue. Dans ce didacticiel, tout produit que vous ajoutez au catalogue de base Cartes de camping apparaît aussi dans le catalogue virtuel associé, en raison de la règle d’inclusion appliquée.

Dans cette leçon, vous allez créer un catalogue virtuel et y ajouter vos deux catalogues de base. Vous allez également définir les règles monétaires et règles de tarification.

Au cours de cette leçon, vous allez effectuer les étapes suivantes :

  • Étape 1 : Création d’un catalogue virtuel
  • Étape 2 : Ajout des catalogues de base à votre catalogue virtuel
  • Étape 3 : Reconstruction de votre catalogue virtuel Cartes & Camping
  • Étape 4 : Ajout de règles de tarification à votre catalogue virtuel Cartes & Camping
  • Étape 5 : Ajout d’une nouvelle catégorie à votre catalogue Cartes de camping
  • Étape 6 : Ajout de nouveaux produits à votre catalogue Cartes de camping
  • Étape 7 : Ajout d’un produit à votre catalogue Cartes de camping
  • Étape 8 : Vérification des modifications apportées au site Retail


Étape1: Création d'un catalogue virtuel

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 1 : Création d’un catalogue virtuel

  1. Ouvrez Business Desk - Retail à partir du menu Démarrer ou du Bureau.
  2. Dans Catalogues, cliquez sur Éditeur de catalogue.
  3. Dans l’écran Catalogues, cliquez sur Nouveau dans la barre d’outils, puis sélectionnez Nouveau catalogue virtuel dans la liste déroulante.
  4. Dans l’écran Propriétés du catalogue - Nouveau catalogue virtuel, dans la section Propriétés du catalogue, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper Cartes & Camping.
    Date de début | Sélectionner la date du jour dans le calendrier déroulant.
    Devise | Sélectionner Euro – EUR dans la liste déroulante.
  5. Pour enregistrer les propriétés du catalogue et revenir à l’écran Catalogues, cliquez sur Enregistrer et retour dans la barre d’outils.

Les propriétés du catalogue sont enregistrées avec le nouveau catalogue virtuel. Passez à l’Étape 2 : Ajout des catalogues de base à votre catalogue virtuel, au cours de laquelle vous allez créer une règle d’inclusion pour ajouter vos catalogues de base à votre catalogue virtuel.


Étape2: Ajout des catalogues de base à votre catalogue virtuel

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 2 : Ajout des catalogues de base à votre catalogue virtuel

  1. Dans Catalogues, cliquez sur Éditeur de catalogue.
  2. Dans l’écran Catalogues, sélectionnez le catalogue Cartes & Camping, puis cliquez sur Ouvrir le catalogue dans la barre d’outils.
  3. Dans l’écran Contenu du catalogue - Cartes & Camping (Français - France), dans la section Inclure / exclure, cliquez sur Nouvelle.
  4. Dans la zone Catalogue, cliquez sur Bouton de sélection pour ouvrir la boîte de dialogue Sélecteur de catalogues.

    La boîte de dialogue Sélecteur de catalogues s’affiche.

  5. Dans la boîte de dialogue Sélecteur de catalogues, cliquez sur Cartes de camping, puis sur Sélectionner.
  6. Dans l’écran Contenu du catalogue - Cartes & Camping (Français - France), dans la section Inclure / exclure, sélectionnez Inclure un catalogue dans la liste déroulante Règle.
  7. Pour enregistrer la règle d’inclusion, cliquez sur Terminé.
  8. Répétez les étapes 3 à 7 précédentes pour ajouter le catalogue Adventure Works.

    Les catalogues Cartes de camping et Adventure Works apparaissent tous deux dans la colonne Catalogue de la section Inclure / exclure.

  9. Pour enregistrer les modifications apportées au catalogue virtuel et revenir à l’écran Catalogues, cliquez sur Enregistrer et retour dans la barre d’outils.

Vous avez créé une règle d’inclusion pour ajouter vos catalogues de base Adventure Works et Cartes de camping à votre catalogue virtuel Cartes & Camping. Pour que votre catalogue virtuel puisse être utilisé sur votre site Retail, vous devez au préalable le reconstruire. Passez à l’Étape 3 : Reconstruction de votre catalogue virtuel Cartes & Camping.


Étape3: Reconstruction de votre catalogue virtuel Cartes& Camping

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 3 : Reconstruction de votre catalogue virtuel Cartes & Camping

  1. Dans l’écran Catalogues, sélectionnez le catalogue Cartes & Camping, puis cliquez sur Reconstruire dans la barre d’outils.

    Le message « Le processus de reconstruction du ou des catalogue(s) a démarré correctement » s’affiche dans la boîte de message Business Desk : Reconstruire le catalogue.

  2. Dans la boîte de message Business Desk : Reconstruire le catalogue, cliquez sur OK, puis sur Éditeur de catalogue pour actualiser la liste des catalogues.
  3. Le catalogue Cartes & Camping apparaît dans la liste, avec la mention « Mis à jour » dans la colonne État. Si la mention « Reconstruction » figure dans la colonne État, attendez quelques secondes avant de cliquer une nouvelle fois sur Éditeur de catalogue.

Les catalogues Cartes de camping et Adventure Works sont maintenant tous les deux ajoutés au catalogue virtuel Cartes & Camping, lequel est désormais disponible sur votre site Retail. Passez à l’Étape 4 : Ajout de règles de tarification à votre catalogue virtuel Cartes & Camping


Étape4: Ajout de règles de tarification à votre catalogue virtuel Cartes& Camping

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 4 : Ajout de règles de tarification à votre catalogue virtuel Cartes & Camping

  1. Dans Catalogues, cliquez sur Éditeur de catalogue.
  2. Dans l’écran Catalogues, sélectionnez le catalogue Cartes & Camping, puis cliquez sur Ouvrir le catalogue dans la barre d’outils.
  3. Dans l’écran Contenu du catalogue - Cartes & Camping (Français - France), dans la section Règles de tarification, cliquez sur Nouvelle.
  4. Dans la zone Élément, cliquez sur Bouton de sélection pour ouvrir la boîte de dialogue Sélecteur de produits.

    La boîte de dialogue Sélecteur de produits s’affiche.

  5. Dans la boîte de dialogue Sélecteur de produits, sélectionnez Tents(Adventure Works Catalog) dans la liste Catégories, puis cliquez sur OK.
  6. Dans la section Règles de tarification, dans la zone Type, sélectionnez Pourcentage de remise dans la liste déroulante.
  7. Dans la zone Montant, tapez 10, puis cliquez sur Terminé.
  8. Pour enregistrer les modifications apportées au catalogue virtuel et revenir à l’écran Catalogues, cliquez sur Enregistrer et retour dans la barre d’outils.

Vous devez de nouveau reconstruire le catalogue Cartes & Camping. Pour connaître les instructions à suivre, consultez l’Étape 3 : Reconstruction de votre catalogue virtuel Cartes & Camping. Une fois que vous avez reconstruit votre catalogue Cartes & Camping, passez à l’Étape 5 : Ajout d’une nouvelle catégorie à votre catalogue Cartes de camping.


Étape5: Ajout d'une nouvelle catégorie à votre catalogue Cartes de camping

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 5 : Ajout d’une nouvelle catégorie à votre catalogue Cartes de camping

  1. Dans Catalogues, cliquez sur Éditeur de catalogue.
  2. Dans l’écran Catalogues, sélectionnez le catalogue Cartes de camping, puis cliquez sur Ouvrir le catalogue dans la barre d’outils.
  3. Dans l’écran Contenu du catalogue - Cartes de camping (Français - France), dans la section Catégories, cliquez sur Nouvelle.

    La boîte de dialogue Nouvelle catégorie s’affiche.

  4. Dans la boîte de dialogue Nouvelle catégorie, sélectionnez Service, puis cliquez sur Continuer.

    L’écran Éditeur de catalogue - Cartes de camping (Français - France) - nouveau (Service) apparaît.

  5. Dans l’écran Éditeur de catalogue - Cartes de camping (Français - France) - nouveau (Service), dans la section Propriétés de catégorie, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper LivresCartes.
    Nom complet | Taper Livres et cartes.
    Description | Taper Livres et cartes de randonnées.
  6. Pour enregistrer la nouvelle catégorie et revenir à l’écran Contenu du catalogue – Cartes de camping (Français - France), cliquez sur Enregistrer et retour dans la barre d’outils.

    La catégorie LivresCartes est ajoutée au catalogue Cartes de camping.

  7. Pour revenir à l’écran Catalogues, cliquez sur Retour dans la barre d’outils.

À présent, vous pouvez ajouter de nouveaux produits à la catégorie LivresCartes que vous venez de créer pour le catalogue Cartes de camping. Passez à l’Étape 6 : Ajout de nouveaux produits à votre catalogue Cartes de camping pour ajouter un produit à cette catégorie.


Étape6: Ajout de nouveaux produits à votre catalogue Cartes de camping

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 6 : Ajout de nouveaux produits à votre catalogue Cartes de camping

  1. Dans l’écran Catalogues, sélectionnez le catalogue Cartes de camping, puis cliquez sur Ouvrir le catalogue dans la barre d’outils.
  2. Dans l’écran Contenu du catalogue - Cartes de camping (Français - France), dans la section Produits, cliquez sur Nouveau.

    La boîte de dialogue Nouveau produit s’affiche.

  3. Dans la boîte de dialogue Nouveau produit, sélectionnez Carte de randonnées, puis cliquez sur OK.
  4. Dans l’écran Éditeur de catalogue - Cartes de camping (Français - France) - nouveau (Carte de randonnées), dans la section Propriétés du produit, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    ISBNCarte | Taper 1-2345-6789-0.
    Description | Taper Un livre sur les randonnées dans l’Himalaya.
    Nom | Taper Randonnées dans l’Himalaya.
    DestinationCarte | Taper Népal, Asie du Sud.
    TitreCarte | Taper Randonnées dans l’Himalaya.
    Prix | Taper 22,45.

    Remarque

    Si le catalogue Adventure Works a été importé avant que vous ne commenciez le didacticiel, la zone ProductCode s’affiche dans cette étape. Le cas échéant, entrez pour ProductCode la même valeur que celle entrée pour ISBNCarte.

  5. Dans la section Catégories attribuées, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Catégories disponibles | Sélectionner LivresCartes, puis cliquer sur Ajouter.
    Catégories attribuées | Sélectionner LivresCartes.
    Catégorie parent primaire Cliquer sur Définir.

    La catégorie LivresCartes apparaît dans la zone de texte Catégorie parent primaire.
  6. Dans la section Relations du produit, cliquez sur Nouvelle, puis effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Relation | Taper Autres cartes de montagne.
    Article | Afficher la boîte de dialogue Sélecteur de produits en cliquant sur Bouton de sélection.

    La boîte de dialogue Sélecteur de produits s’affiche.

  7. Dans la boîte de dialogue Sélecteur de produits, dans la liste Catégories, sélectionnez LivresCartes, puis cliquez sur OK.
  8. Dans la section Relations du produit, cliquez sur Accepter.
  9. Pour enregistrer le produit et revenir à l’écran Contenu du catalogue – Cartes de camping (Français - France), cliquez sur Enregistrer et retour dans la barre d’outils.

    La nouvelle carte est attribuée à la catégorie LivresCartes.

  10. Dans l’écran Contenu du catalogue - Cartes de camping (Français - France), dans la section Produits, cliquez sur Rechercher.

    Le produit que vous venez d’ajouter au catalogue s’affiche dans la liste Produits.

  11. Pour revenir à l’écran Catalogues, cliquez sur Retour dans la barre d’outils.

Le nouveau produit (la carte Randonnées dans l’Himalaya) est enregistré dans le catalogue. Cependant, ce produit ne figure pas sur votre site tant que vous n’avez pas reconstruit votre catalogue virtuel et publié votre site, opération que vous allez réaliser à l’Étape 7 : Ajout d’un produit à votre catalogue Cartes de camping

Remarque

  • Lors de la reconstruction et de la publication d’un catalogue virtuel sur un site, tous les catalogues de base qu’il contient sont également reconstruits et publiés.

Passez à l’Étape 7 : Ajout d’un produit à votre catalogue Cartes de camping.


Étape7: Ajout d'un produit à votre catalogue Cartes de camping

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 7 : Ajout d’un produit à votre catalogue Cartes de camping

  1. Dans l’écran Catalogues, sélectionnez le catalogue de base Cartes de camping, puis cliquez sur Ouvrir le catalogue dans la barre d’outils.

    L’écran Contenu du catalogue – Cartes de camping (Français – France) s’affiche.

  2. Dans l’écran Contenu du catalogue - Cartes de camping (Français - France), dans la section Produits, cliquez sur Nouveau.

    La boîte de dialogue Nouveau produit s’affiche.

  3. Dans la boîte de dialogue Nouveau produit, sélectionnez Carte de randonnées, puis cliquez sur OK.

    L’écran Éditeur de catalogue - Cartes de camping (Français - France) - nouveau (Carte de randonnées) s’affiche.

  4. Dans l’écran Éditeur de catalogue - Cartes de camping (Français - France) – nouveau (Carte de randonnées), dans la section Propriétés du produit, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    ISBNCarte | Taper 2-3452-8892-9.
    Description | Taper Un livre sur les randonnées dans le Denali.
    Nom | Taper Randonnées dans le Denali.
    DestinationCarte | Taper Denali, Alaska.
    TitreCarte | Taper Randonnées dans le Denali.
    Prix | Taper 27,95.

    Remarque

    Si le catalogue Adventure Works a été importé avant que vous ne commenciez le didacticiel, la zone ProductCode s’affiche dans cette étape. Le cas échéant, entrez pour ProductCode la même valeur que celle entrée pour ISBNCarte.

  5. Dans la section Catégories attribuées, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Catégories disponibles | Sélectionner LivresCartes, puis cliquer sur Ajouter.
    Catégories attribuées | Sélectionner LivresCartes.
    Catégorie parent primaire Cliquer sur Définir.

    La catégorie LivresCartes apparaît dans la zone de texte Catégorie parent primaire.
  6. Dans la section Relations du produit, cliquez sur Nouvelle, puis effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Relation | Taper Autres cartes de montagne.
    Article | Afficher la boîte de dialogue Sélecteur de produits en cliquant sur Bouton de sélection.

    La boîte de dialogue Sélecteur de produits s’affiche.

  7. Dans la boîte de dialogue Sélecteur de produits, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Catégories | Sélectionner LivresCartes.
    Produits dans la catégorie : LivresCartes | Sélectionner ISBNCarte numéro 1-2345-6789-0 (Randonnées dans l’Himalaya).
  8. Cliquez sur OK.
  9. Dans la section Relations du produit, cliquez sur Accepter.

    Une relation avec la carte Randonnées dans l’Himalaya est établie.

  10. Pour enregistrer le nouveau produit dans le catalogue et revenir à l’écran Contenu du catalogue – Cartes de camping (Français - France), cliquez sur Enregistrer et retour dans la barre d’outils.
  11. Dans l’écran Contenu du catalogue - Cartes de camping (Français - France), dans la section Produits, cliquez sur Rechercher.

    Dans l’écran Contenu du catalogue – Cartes de camping (Français - France), les deux cartes Randonnées dans l’Himalaya et Randonnées dans le Denali figurent dans la liste Produits.

  12. Pour revenir à l’écran Catalogues, cliquez sur Retour dans la barre d’outils.

Reconstruction et publication de vos catalogues

Lorsque vous modifiez un catalogue virtuel, par exemple en y incluant un catalogue de base, des catégories ou des produits, vous devez le reconstruire. Étant donné que vous avez ajouté des produits au catalogue de base Cartes de camping, vous allez à présent reconstruire votre catalogue virtuel.

  1. Dans l’écran Catalogues, sélectionnez le catalogue Cartes & Camping, puis cliquez sur Reconstruire dans la barre d’outils.

    Le message « Le processus de reconstruction du ou des catalogue(s) a démarré correctement » s’affiche dans la boîte de message Business Desk : Reconstruire le catalogue.

  2. Dans la boîte de message Business Desk : Reconstruire le catalogue, cliquez sur OK, puis sur Éditeur de catalogue pour actualiser la liste des catalogues.
  3. Le catalogue Cartes & Camping apparaît dans la liste, avec la mention « Mis à jour » dans la colonne État. Si la mention « Reconstruction » figure dans la colonne État, attendez quelques secondes avant de cliquer une nouvelle fois sur Éditeur de catalogue.
  4. Pour actualiser l’écran Catalogues et publier le nouveau produit sur votre site, cliquez sur Publier dans la barre d’outils.

Le nouveau produit (la carte Randonnées dans le Denali) est enregistré dans le catalogue Cartes de camping, et le catalogue mis à jour est publié sur votre site Web. Passez à l’Étape 8 : Vérification des modifications apportées au site Retail, au cours de laquelle vous allez commander la carte Randonnées dans l’Himalaya.


Étape8: Vérification des modifications apportées au site Retail

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 8 : Vérification des modifications apportées au site Retail

Pour effectuer cette étape, vous devez accéder au site Retail à l’aide d’un navigateur Web, tel que Microsoft Internet Explorer. Commerce Server prend en charge Internet Explorer 5.5 avec le Service Pack 2, ou une version ultérieure. Cette étape peut s’effectuer à partir de votre serveur ou d’un emplacement distant.

  1. Ouvrez le site Retail en utilisant votre navigateur. Pour ouvrir le site Retail, dans Internet Explorer, tapez http://<nomserveur>/retail dans la ligne Adresse, où <nomserveur> est le nom du serveur hébergeant le site Retail. Contactez votre administrateur système si vous ne connaissez pas le nom du serveur.
  2. Sur le site Retail, cliquez sur Nouvel utilisateur dans le volet gauche sous Se connecter, puis effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom d’utilisateur | Taper JeanUtilisateur.
    Mot de passe | Taper open_sesame2.
    Confirmer le mot de passe | Taper open_sesame2.
  3. Cliquez sur Soumettre.
  4. L’écran Catalogues s’affiche.
  5. Dans l’écran Catalogues, cliquez sur Cartes de camping.
  6. Dans l’écran Cartes de camping, cliquez sur LivresCartes.

    L’écran LivresCartes s’affiche.

  7. Dans l’écran LivresCartes, cliquez sur Randonnées dans le Denali.

    Vous avez vérifié que le produit Randonnées dans le Denali que vous avez créé au cours de la leçon 4 de l’atelier 1 a été publié sur votre site. Dans le cadre de ce scénario, vous n’allez pas procéder à cet achat.

  8. Fermez le navigateur.

Passez à la Leçon 5 : Ciblage des utilisateurs de vos produits.


Leçon5: Ciblage des utilisateurs de vos produits

Envoyer des commentaires sur cette page Commerce Server 2002

Leçon 5 : Ciblage des utilisateurs de vos produits

Scénario : Vous voulez cibler des utilisateurs spécifiques pour vos remises exceptionnelles et publicités sur les articles de camping. Par exemple, lorsque vous savez qu’un utilisateur est une femme, vous pouvez cibler une publicité pour des vêtements d’extérieur féminins à l’aide d’entrées du glossaire du site.

Dans cette leçon, vous allez ajouter les entrées du glossaire du site Homme et Femme. Après avoir créé vos entrées du glossaire du site, vous allez définir un profil utilisateur qui inclut ces entrées afin de pouvoir ensuite cibler une publicité d’un produit de camping destinée aux utilisateurs du site qui répondent au profil spécifié.

Au cours de cette leçon, vous allez effectuer les étapes suivantes :

  • Étape 1 : Création d’une entrée du glossaire du site
  • Étape 2 : Ajout d’une entrée du glossaire du site à un profil utilisateur
  • Étape 3 : Publication des modifications apportées à un profil sur votre site Web


Étape1: Création d'une entrée du glossaire du site

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 1 : Création d’une entrée du glossaire du site

Une entrée du glossaire du site est stockée dans un conteneur appelé attribut, qui est lui-même stocké dans un conteneur appelé groupe. Au cours de cette étape, vous allez créer un groupe appelé InfosPersonnelles. Vous allez ensuite créer l’attribut Sexe dans le groupe InfosPersonnelles. Enfin, vous allez créer les entrées du glossaire du site Homme et Femme qui vous serviront plus tard à définir des profils utilisateur.

  1. Ouvrez Business Desk - Retail à partir du menu Démarrer ou du Bureau.
  2. Dans Profils, cliquez sur Éditeur d’entrées du glossaire du site.

    L’écran Éditeur d’entrées du glossaire du site s’affiche.

  3. Dans l’écran Éditeur d’entrées du glossaire du site, cliquez sur Ajouter.

    La boîte de dialogue Ajouter s’affiche.

  4. Dans la boîte de dialogue Ajouter, sélectionnez Ajouter un nouveau groupe, puis cliquez sur OK.
  5. Dans la section Attributs, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper InfosPersonnelles.
    Nom complet | Taper Infos personnelles.
  6. Cliquez sur Appliquer.
  7. Dans la liste Structure des entrées du glossaire du site, sélectionnez Infos personnelles, puis cliquez sur Ajouter.

    La boîte de dialogue Ajouter s’affiche.

  8. Dans la boîte de dialogue Ajouter, sélectionnez Ajouter une nouvelle entrée du glossaire du site, puis cliquez sur OK.
  9. Dans l’écran Éditeur d’entrées du glossaire du site, dans la section Attributs de l’entrée du glossaire du site, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper Sexe.
    Nom complet | Taper Sexe.
  10. Dans la section Entrées du glossaire, cliquez sur Nouvelle, puis effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom du glossaire | Taper Homme.
    Nom complet | Taper Homme.
  11. Cliquez sur Accepter.
  12. Dans la section Entrées du glossaire, cliquez sur Nouvelle, puis effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom du glossaire | Taper Femme.
    Nom complet | Taper Femme.
  13. Cliquez sur Accepter, puis sur Appliquer.
  14. Pour enregistrer les entrées du glossaire du site et revenir à l’écran Commerce Server : Business Desk, cliquez sur Enregistrer et retour dans la barre d’outils.

Les entrées du glossaire du site Homme et Femme sont enregistrées et peuvent maintenant être ajoutées à un profil utilisateur. Passez à l’Étape 2 : Ajout d’une entrée du glossaire du site à un profil utilisateur.


Étape2: Ajout d'une entrée du glossaire du site à un profil utilisateur

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 2 : Ajout d’une entrée du glossaire du site à un profil utilisateur

  1. Dans Profils, cliquez sur Concepteur de définitions de profils.

    L’écran Profils s’affiche.

  2. Dans l’écran Profils, dans la zone de liste Nom, sélectionnez Objet utilisateur, puis cliquez sur Ouvrir dans la barre d’outils.

    L’écran Profil : Objet utilisateur s’affiche.

  3. Dans l’écran Profil : Objet utilisateur, dans la section Propriétés, cliquez sur Informations générales, puis sur Ajouter.

    La boîte de dialogue Ajouter s’affiche.

  4. Dans la boîte de dialogue Ajouter, sélectionnez Ajouter une nouvelle propriété, puis cliquez sur OK.
  5. Dans l’écran Profil : Objet utilisateur, dans la section Attributs, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper Sexe.
    Nom complet | Taper Sexe.
    Type | Sélectionner Entrée du glossaire du site dans la liste déroulante.
    Référence de type Ouvrir la boîte de dialogue Sélection d’entrées du glossaire du site en cliquant sur Bouton de sélection.

    Dans la boîte de dialogue Sélection d’entrées du glossaire du site, sélectionnez Infos personnelles, puis Sexe.
  6. Dans la boîte de dialogue Sélection d’entrées du glossaire du site, cliquez sur OK.
  7. Dans l’écran Profil : Objet utilisateur, dans la section Attributs avancés, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Activée | Vérifier que Oui est sélectionné.
    Mapper vers les données Ouvrir la boîte de dialogue Sélecteur de source de données en cliquant sur Bouton de sélection.

    Dans la boîte de dialogue Sélecteur de source de données, sélectionnez ProfileService_SQLSource, sélectionnez Objet utilisateur, faites défiler l’écran vers le bas, puis sélectionnez Propriété personnalisée 1 (STRING).
  8. Cliquez sur OK.
  9. Dans l’écran Profil : Objet utilisateur, dans la section Attributs personnalisés, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Sélectionner sUserAccess, puis cliquer sur Modifier.
    Valeur | Choisir la valeur 1.
  10. Cliquez sur Accepter, puis sur Appliquer.
  11. Pour enregistrer l’entrée du glossaire du site avec le profil utilisateur et revenir à l’écran Profils, cliquez sur Enregistrer et retour dans la barre d’outils.

Après avoir ajouté une entrée du glossaire du site à un profil utilisateur, vous devez publier les modifications apportées au profil sur votre site Web. Passez à l’Étape 3 : Publication des modifications apportées à un profil sur votre site Web, au cours de laquelle vous allez publier vos modifications sur votre site Web Retail.


Étape3: Publication des modifications apportées à un profil sur votre site Web

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 3 : Publication des modifications apportées à un profil sur votre site Web

  1. Dans le module Profils, cliquez sur Publier les profils.

    L’écran Publier les profils s’affiche.

  2. Dans l’écran Publier les profils, sélectionnez le site Retail qui contient les modifications à publier, puis cliquez sur Publier dans la barre d’outils.

Les profils sont mis à jour et disponibles sur votre site Web Retail. Passez à la Leçon 6 : Ajout d’un utilisateur avec un nouveau profil.


Leçon6: Ajout d'un utilisateur avec un nouveau profil

Envoyer des commentaires sur cette page Commerce Server 2002

Leçon 6 : Ajout d’un utilisateur avec un nouveau profil

Scénario : Votre site Web Retail est maintenant opérationnel et à la disposition des utilisateurs, et vous avez remarqué que certains utilisateurs du site achètent régulièrement des produits proposés dans vos catalogues Adventure Works et Cartes de camping. Vous souhaitez gérer les utilisateurs reconnus par votre site Web, c’est-à-dire les utilisateurs qui ont rempli un formulaire d’inscription en ligne, qui ont commandé des produits de camping ou qui ont défini un compte d’utilisateur sur votre site.

Dans cette leçon, vous allez ajouter deux nouveaux utilisateurs avec les nouvelles entrées du glossaire du site, Homme et Femme, que vous avez créées au cours de la leçon précédente. Ensuite, vous allez cibler les utilisateurs spécifiques de vos campagnes de publicité, dans le cadre de l’Atelier 2 : Création d’une campagne marketing.

Au cours de cette leçon, vous allez effectuer les étapes suivantes :

  • Étape 1 : Création de l’utilisateur masculin
  • Étape 2 : Création de l’utilisateur féminin
  • Étape 3 : Affichage des comptes d’utilisateur dans Business Desk
  • Étape 4 : Étapes de vérification du site


Étape1: Création de l'utilisateur masculin

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 1 : Création de l’utilisateur masculin

  1. Ouvrez Business Desk - Retail à partir du menu Démarrer ou du Bureau.
  2. Dans Profils, cliquez sur Utilisateurs.
  3. Dans l’écran Objet utilisateur, cliquez sur Nouveau dans la barre d’outils.
  4. Dans l’écran Nouveau Objet utilisateur, dans la section Informations générales, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom d’ouverture de session | Taper JacquesUtilisateur.
    Mot de passe de l’utilisateur | Taper open_sesame.
    Adresse de messagerie | Taper JacquesUtilisateur@Microsoft.com.
    Nom | Taper Utilisatrice.
    Prénom | Taper Jacques.
    Sexe | Sélectionner Homme dans la liste déroulante.
  5. Pour enregistrer l’utilisateur masculin et créer un autre utilisateur, cliquez sur Enregistrer et nouveau dans la barre d’outils.

L’utilisateur masculin, appelé JacquesUtilisateur, est enregistré avec l’entrée du glossaire du site Homme. Passez à l’Étape 2 : Création de l’utilisateur féminin, au cours de laquelle vous allez créer un autre utilisateur appelé JulieUtilisatrice.


Étape2: Création de l'utilisateur féminin

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 2 : Création de l’utilisateur féminin

  1. Dans la section Informations générales, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom d’ouverture de session | Taper JulieUtilisatrice.
    Mot de passe de l’utilisateur | Taper shazzam.
    Adresse de messagerie | Taper JulieUtilisatrice@Microsoft.com.
    Nom | Taper Utilisatrice.
    Prénom | Taper Julie.
    Sexe | Sélectionner Femme dans la liste déroulante.
  2. Pour enregistrer l’utilisateur féminin et revenir à l’écran Objet utilisateur, cliquez sur Enregistrer et retour dans la barre d’outils.

L’utilisateur féminin, appelé JulieUtilisatrice, est enregistré avec l’entrée du glossaire du site Femme. Passez à l’Étape 3 : Affichage des comptes d’utilisateur dans Business Desk.


Étape3: Affichage des comptes d'utilisateur dans Business Desk

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 3 : Affichage des comptes d’utilisateur dans Business Desk

  1. Dans l’écran Objet utilisateur, dans la section Rechercher, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Rechercher par | Sélectionner Nom d’ouverture de session dans la liste déroulante.
    Nom d’ouverture de session | Taper * (astérisque).
  2. Cliquez sur Rechercher.

Les utilisateurs JacquesUtilisateur, JulieUtilisatrice et JeanUtilisateur s’affichent dans la liste Affichage filtré. Passez à l’Étape 4 : Étapes de vérification du site.


Étape4: Étapes de vérification du site

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 4 : Étapes de vérification du site

  1. Ouvrez le site Retail en utilisant votre navigateur. Pour ouvrir le site Retail, dans Internet Explorer, tapez http://<nomserveur>/retail dans la ligne Adresse, où <nomserveur> est le nom du serveur hébergeant le site Retail. Contactez votre administrateur système si vous ne connaissez pas le nom du serveur.
  2. Dans l’écran Retail, cliquez sur S’inscrire dans le volet gauche sous Se connecter.

    Remarque

    • Si l’écran Welcome back s’affiche, cliquez sur Click here to sign in with your existing account pour afficher l’écran Sign-in.
  3. Dans l’écran S’inscrire, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom d’utilisateur | Taper JacquesUtilisateur.
    Mot de passe | Taper open_sesame.
  4. Cliquez sur Soumettre.

    L’écran Catalogues s’affiche.

  5. Dans l’écran Catalogues, dans le volet gauche, sous Service clientèle, cliquez sur Profil.

    L’écran Modification du profil s’affiche.

  6. Dans l’écran Modification du profil, vérifiez que le nouvel attribut Sexe est affiché avec l’entrée du glossaire du site Homme sous Informations générales.
  7. Fermez la fenêtre du navigateur.

Vous avez vérifié que le nouvel utilisateur, appelé JacquesUtilisateur, a bien été créé. Passez à l’Atelier 2 : Création d’une campagne marketing.


Atelier2: Création d'une campagne marketing

Envoyer des commentaires sur cette page Commerce Server 2002

Atelier 2 : Création d’une campagne marketing

Temps estimé pour terminer : 30 minutes

Scénario : Vous venez tout juste de proposer vos catalogues de produits en ligne et vous souhaitez créer une campagne de publicité pour promouvoir vos livres spécialisés sur le camping. Pour stimuler les ventes, vous décidez d’offrir une remise sur ces livres.

Chacune des leçons répertoriées ci-dessous est nécessaire à la leçon suivante. Il est important d’effectuer les leçons dans l’ordre dans lequel elles sont répertoriées.

  • Leçon 1 : Création d’une campagne de publicité
  • Leçon 2 : Création d’une expression de ciblage
  • Leçon 3 : Création d’une campagne de remise


Leçon1: Création d'une campagne de publicité

Envoyer des commentaires sur cette page Commerce Server 2002

Leçon 1 : Création d’une campagne de publicité

Scénario : Vous savez que nombre de vos clients sont des alpinistes et pour cette raison, la première campagne de publicité va concerner les livres sur l’alpinisme. Vous utilisez le module Campagnes marketing de Commerce Server Business Desk pour créer et planifier plusieurs types de campagnes marketing à la fois. Vous pouvez créer des campagnes de publicité, des campagnes de publipostage et des campagnes de remise.

Vous allez utiliser le module Tables de références de Campagnes marketing pour définir un code d’activité pour vos livres. Les codes d’activité identifient le secteur d’activité associé à une publicité ou à une remise, afin d’éviter que deux publicités ou remises de clients d’un même secteur s’affichent sur la même page Web.

Dans cette leçon, vous allez ajouter un code d’activité Livres. Vous allez ensuite ajouter un nouveau client de campagne, les Éditions de la Montagne, puis une nouvelle campagne de publicité appelée Livres sur la montagne.

Au cours de cette leçon, vous allez effectuer les étapes suivantes :

  • Étape 1 : Ajout d’un code d’activité Livres aux tables de références
  • Étape 2 : Ajout d’un client de campagne marketing
  • Étape 3 : Ajout d’une campagne marketing


Étape1: Ajout d'un code d'activité Livres aux tables de références

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 1 : Ajout d’un code d’activité Livres aux tables de références

  1. Ouvrez Business Desk - Retail à partir du menu Démarrer ou du Bureau.
  2. Dans le module Campagnes marketing, cliquez sur Tables de références.

    L’écran Tables de références s’affiche.

  3. Dans l’écran Tables de références, dans la section Codes d’activité, cliquez sur Nouvelle.
  4. Dans l’écran Tables de références, dans la section Codes d’activité, dans la zone Code d’activité, tapez Livres, puis cliquez sur Accepter.
  5. Pour enregistrer le nouveau code d’activité et revenir à l’écran Commerce Server : Business Desk, cliquez sur Enregistrer et retour dans la barre d’outils.

Le nouveau code d’activité est enregistré. Vous pouvez maintenant empêcher que deux publicités émanant de deux libraires concurrents s’affichent sur la même page Web. Passez à l’Étape 2 : Ajout d’un client de campagne marketing.


Étape2: Ajout d'un client de campagne marketing

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 2 : Ajout d’un client de campagne marketing

  1. Dans le module Campagnes marketing, cliquez sur Gestionnaire de campagnes.
  2. Dans l’écran Gestionnaire de campagnes, cliquez sur Nouvelle dans la barre d’outils, puis sélectionnez Nouveau client dans la liste déroulante.

    L’écran Gestionnaire de campagnes - Nouveau (client) s’affiche.

  3. Dans l’écran Gestionnaire de campagnes – Nouveau (client), dans la section Propriétés du client, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper Éditions de la Montagne.
    Type | Sélectionner Annonceur dans la liste déroulante.
    Activité | Sélectionner Livres dans la liste déroulante.
  4. Pour enregistrer le nouveau client et revenir à l’écran Gestionnaire de campagnes, cliquez sur Enregistrer et retour dans la barre d’outils.

Le nouveau client, Éditions de la Montagne, est enregistré et s’affiche dans l’écran Gestionnaire de campagnes. Vous pouvez maintenant ajouter une nouvelle campagne marketing. Passez à l’Étape 3 : Ajout d’une campagne marketing.


Étape3: Ajout d'une campagne marketing

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 3 : Ajout d’une campagne marketing

  1. Dans l’écran Gestionnaire de campagnes, sélectionnez Éditions de la Montagne.
  2. Dans l’écran Gestionnaire de campagnes, cliquez sur Nouvelle dans la barre d’outils, puis sélectionnez Nouvelle campagne marketing dans la liste déroulante.

    L’écran Gestionnaire de campagnes – Éditions de la Montagne – Nouvelle (campagne marketing) s’affiche.

  3. Dans l’écran Gestionnaire de campagnes – Éditions de la Montagne – Nouvelle (campagne marketing), dans la section Propriétés de la campagne marketing, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom de la campagne marketing | Taper Livres sur la montagne.
    Date de début | Sélectionner la date d’hier dans le calendrier déroulant.
    Date de fin | Sélectionner la date correspondant à un mois après la date du jour dans le calendrier déroulant.
    Statut | Sélectionner Active dans la liste déroulante.
  4. Dans la section Ciblage quantitatif de la campagne/publicité, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Définir les objectifs par | Sélectionner Éléments de la publicité dans la liste déroulante.
    Planifié par | Sélectionner Demandes dans la liste déroulante.
  5. Pour enregistrer la campagne marketing et revenir à l’écran Gestionnaire de campagnes, cliquez sur Enregistrer et retour dans la barre d’outils.

La campagne marketing appelée « Livres sur la montagne » est enregistrée, et fait l’objet d’un ciblage quantitatif au niveau de l’élément de publicité. Vous pouvez maintenant créer une publicité et cibler les utilisateurs pour lesquels vous souhaitez afficher cette publicité. Passez à la Leçon 2 : Création d’une expression de ciblage.


Leçon2: Création d'une expression de ciblage

Envoyer des commentaires sur cette page Commerce Server 2002

Leçon 2 : Création d’une expression de ciblage

Scénario : Vous souhaitez destiner une publicité à un groupe spécifique d’utilisateurs. Vous utilisez le module Expressions de la campagne marketing pour définir le groupe d’utilisateurs que vous souhaitez cibler. Vous pouvez cibler un groupe d’utilisateurs spécifique pour une campagne de publicité, de publipostage ou de remise.

Au cours de cette leçon, vous allez créer une campagne de publicité destinée à tous les clients masculins. Vous avez déjà défini l’attribut Sexe au cours de l’Étape 1 de la Leçon 5, « Ciblage des utilisateurs de vos produits » ; vous pouvez donc maintenant utiliser les entrées du glossaire du site Homme et Femme contenus dans l’attribut Sexe pour cibler votre publicité.

Au cours de cette leçon, vous allez effectuer les étapes suivantes :

  • Étape 1 : Ciblage d’une expression
  • Étape 2 : Création d’un groupe cible
  • Étape 3 : Création d’une publicité
  • Étape 4 : Affichage d’un aperçu de la publicité
  • Étape 5 : Vérification de l’état de la publicité ciblée
  • Étape 6 : Mise à jour de la campagne marketing sur le site Retail
  • Étape 7 : Vérification des modifications apportées au site Retail


Étape1: Ciblage d'une expression

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 1 : Ciblage d’une expression

  1. Ouvrez Business Desk - Retail à partir du menu Démarrer ou du Bureau.
  2. Dans le module Campagnes marketing, cliquez sur Expressions de la campagne marketing.

    L’écran Expressions de la campagne marketing : Expressions de ciblage s’affiche.

  3. Dans l’écran Expressions de la campagne marketing : Expressions de ciblage, cliquez sur Nouvelle dans la barre d’outils.

    La boîte de dialogue Expression de ciblage s’affiche.

  4. Dans la boîte de dialogue Expression de ciblage, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper UtilisateursMasculins, puis cliquer sur Nouvelle.
    Cible basée sur les conditions suivantes
    • Colonne de gauche - Sélectionner ObjetUtilisateur dans la liste déroulante, cliquer sur Informations générales, puis sélectionner Sexe.
    • Colonne du milieu - Sélectionner Est égal à dans la liste déroulante.
    • Colonne de droite - Ouvrir la boîte de dialogue Choisir une entrée du glossaire du site en cliquant sur Bouton de sélection.

      Dans la boîte de dialogue Choisir une entrée du glossaire du site, sélectionnez Homme dans la liste des entrées du glossaire du site, puis cliquez sur OK.

  5. Dans la boîte de dialogue Expression de ciblage, cliquez sur Appliquer.
  6. Pour enregistrer l’expression, cliquez sur Enregistrer.

L’expression, qui cible les utilisateurs masculins, est enregistrée. Passez à l’Étape 2 : Création d’un groupe cible.


Étape2: Création d'un groupe cible

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 2 : Création d’un groupe cible

  1. Dans le module Campagnes marketing, cliquez sur Groupes cibles.
  2. Dans l’écran Groupes cibles, cliquez sur Nouveau dans la barre d’outils.

    L’écran Groupe cible : Nouveau s’affiche.

  3. Dans l’écran Groupe cible : Nouveau, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom du groupe cible | Taper GroupeMasculin, puis cliquer sur Nouvelle.
    Expression | Cliquer sur Nouvelle, puis sélectionner UtilisateursMasculins dans la liste déroulante.
    Action | Sélectionner Requérir dans la liste déroulante.
  4. Cliquez sur Accepter.
  5. Pour enregistrer le groupe cible et revenir à l’écran Groupes cibles, cliquez sur Enregistrer et retour dans la barre d’outils.

Le groupe cible, appelé GroupeMasculin, est créé avec l’expression de ciblage UtilisateursMasculins. Passez à l’Étape 3 : Création d’une publicité.


Étape3: Création d'une publicité

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 3 : Création d’une publicité

  1. Dans le module Campagnes marketing, cliquez sur Gestionnaire de campagnes.
  2. Dans l’écran Gestionnaire de campagnes, développez Éditions de la Montagne, puis sélectionnez Livres sur la montagne.
  3. Dans l’écran Gestionnaire de campagnes, cliquez sur Nouvelle dans la barre d’outils, puis sélectionnez Nouvelle publicité dans la liste déroulante.

    L’écran Gestionnaire de campagnes – Éditions de la Montagne - Livres sur la montagne – Nouvelle (publicité) s’affiche.

  4. Dans l’écran Gestionnaire de campagnes – Éditions de la Montagne - Livres sur la montagne – Nouvelle (publicité), dans la section Propriétés de la publicité, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom de la publicité | Taper CibleHommes.
    Statut | Sélectionner Active dans la liste déroulante.
    Type | Sélectionner Publicité payée dans la liste déroulante.
    Demandes | Taper 1000.
    Limite d’affichage | Sélectionner Aucun dans la liste déroulante.
    Activité | Sélectionner Livres dans la liste déroulante.
  5. Dans la section Cible publicitaire, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Groupes de pages Vérifier que la case à cocher Afficher sur tous les groupes de pages est activée.

    Cela permet de s’assurer que la publicité sera affichée sur toutes les pages Web du site Retail.
    Groupes cibles : Disponibles | Sélectionner GroupeMasculin, puis cliquer sur Ajouter pour déplacer ce groupe dans la zone de liste Attribués.
  6. Faites défiler l’écran et dans la section Affichage de la publicité, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Taille | Sélectionner Bannière entière (468 x 60) dans la liste déroulante.
    Type | Sélectionner Image dans la liste déroulante.
    URL d’image Taper http://<nomserveur>/Retail/Images/Clockped.gif.

    Étant donné que ce scénario fait appel à une société fictive, le fichier .gif utilisé dans ce scénario fait référence à Clocktower.
    Adresse URL pointée Taper http://MSPress.Microsoft.com.

    Étant donné que ce scénario fait appel à une société fictive, l’URL utilisée dans ce scénario dirige les utilisateurs vers le site Web Microsoft Press.
    Texte de légende | Taper Il s’agit d’une bannière pour les Éditions de la Montagne.

Votre publicité est définie. Passez à l’Étape 4 : Affichage d’un aperçu de la publicité, au cours de laquelle vous allez afficher un aperçu de votre nouvelle publicité avant de l’envoyer en production.


Étape4: Affichage d'un aperçu de la publicité

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 4 : Affichage d’un aperçu de la publicité

  1. Dans l’écran Gestionnaire de campagnes – Éditions de la Montagne - Livres sur la montagne – Nouvelle (publicité), dans la section Affichage de la publicité, cliquez sur Aperçu.

    La boîte de dialogue Aperçu s’affiche.

  2. Dans la boîte de dialogue Aperçu, sélectionnez Oui pour enregistrer l’élément de la campagne.

    Une copie de la publicité s’affiche dans la zone d’affichage en dessous du bouton Aperçu.

  3. Pour revenir à l’écran Gestionnaire de campagnes, cliquez sur Retour dans la barre d’outils.

Vous avez affiché un aperçu de votre publicité. Passez à l’Étape 5 : Vérification de l’état de la publicité ciblée.


Étape5: Vérification de l'état de la publicité ciblée

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 5 : Vérification de l’état de la publicité ciblée

  1. Dans l’écran Gestionnaire de campagnes, cliquez sur Rechercher dans la barre d’outils.
  2. Dans la section Rechercher, dans la liste déroulante Statut, sélectionnez Tous, puis cliquez sur Rechercher.
  3. Dans la liste Affichage filtré, développez Éditions de la Montagne, puis développez Livres sur la montagne pour vérifier que la publicité ciblée appelée CibleHommes est affichée dans la liste.

Remarquez que l’état de la Publicité ciblée est actif. Passez à l’Étape 6 : Mise à jour de la campagne marketing sur le site Retail.


Étape6: Mise à jour de la campagne marketing sur le site Retail

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 6 : Mise à jour de la campagne marketing sur le site Retail

  1. Dans le module Campagnes marketing, cliquez sur Publier les campagnes marketing.

    L’écran Publier les campagnes marketing s’affiche.

  2. Dans l’écran Publier les campagnes marketing, dans la liste Éléments de production, sélectionnez publicité.
  3. Pour mettre à jour la campagne marketing, cliquez sur Publier dans la barre d’outils.

Un message « Actualiser » s’affiche. La campagne de publicité est mise à jour et s’adressera aux utilisateurs masculins du site Retail.

Remarque

  • Si la boîte de dialogue Business Desk : Erreur s’affiche, cliquez sur OK.

Vous avez mis à jour votre campagne marketing et l’avez publiée sur votre site Retail. Passez à l’Étape 7 : Vérification des modifications apportées au site Retail.


Étape7: Vérification des modifications apportées au site Retail

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 7 : Vérification des modifications apportées au site Retail

  1. Ouvrez le site Retail en utilisant votre navigateur. Pour ouvrir le site Retail, dans Internet Explorer, tapez http://<nomserveur>/Retail dans la ligne Adresse, où <nomserveur> est le nom du serveur hébergeant le site Retail. Contactez votre administrateur système si vous ne connaissez pas le nom du serveur.

    Remarque

    • Si l’écran Welcome back s’affiche, cliquez sur Click here to sign in with your existing account pour afficher l’écran Sign-in.
  2. Cliquez sur S’inscrire sous Se connecter, puis effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom d’utilisateur | Taper JulieUtilisatrice.
    Mot de passe | Taper shazzam.
  3. Cliquez sur Soumettre.

    Remarquez que la publicité ne s’affiche pas sur le site Retail, car vous avez ciblé les utilisateurs masculins.

  4. Fermez la fenêtre du navigateur.
  5. Ouvrez le site Retail en utilisant votre navigateur.
  6. Cliquez sur S’inscrire sous Se connecter, puis effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom d’utilisateur | Taper JacquesUtilisateur.
    Mot de passe | Taper open_sesame.
  7. Cliquez sur Soumettre.

    La publicité s’affiche désormais sur le site Retail.

  8. Fermez la fenêtre du navigateur.

Vous avez vérifié que la cible de votre publicité est bien uniquement les utilisateurs masculins. Passez à la Leçon 3 : Création d’une campagne de remise.


Leçon3: Création d'une campagne de remise

Envoyer des commentaires sur cette page Commerce Server 2002

Leçon 3 : Création d’une campagne de remise

Scénario : Vous souhaitez créer une remise de lancement pour tous les utilisateurs de votre catalogue en ligne. Cette remise ne s’applique pas aux achats antérieurs. Vous utilisez le module Gestionnaire des campagnes pour créer une remise. Vous pouvez spécifier le ou les produits auxquels la remise s’applique, le montant de la remise ainsi que le nombre d’articles qu’un utilisateur doit acheter pour bénéficier de la remise.

Au cours de cette leçon, vous allez créer une campagne de remise pour votre catalogue en ligne, offrant à l’ensemble des utilisateurs une remise de 20 % sur tous les produits.

Au cours de cette leçon, vous allez effectuer les étapes suivantes :

  • Étape 1 : Création d’un élément de la campagne de remise
  • Étape 2 : Envoi de la campagne de remise en production
  • Étape 3 : Vérification des modifications apportées au site Retail


Étape1: Création d'un élément de la campagne de remise

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 1 : Création d’un élément de la campagne de remise

  1. Ouvrez Business Desk - Retail à partir du menu Démarrer ou du Bureau.
  2. Dans le module Campagnes marketing, cliquez sur Gestionnaire de campagnes.
  3. Dans l’écran Gestionnaire de campagnes, développez Éditions de la Montagne, sélectionnez Livres sur la montagne, cliquez sur Nouvelle dans la barre d’outils, puis sélectionnez Nouvelle remise dans la liste déroulante.
  4. Dans l’écran Gestionnaire de campagnes – Éditions de la Montagne - Livres sur la montagne – Nouvelle (remise), dans la section Propriétés de la remise, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom de la remise | Taper Remise de 20 % sur le site.
    Statut | Sélectionner Active dans la liste déroulante.
    Date de début | Sélectionner la date du jour dans le calendrier déroulant.
    Date de fin | Sélectionner la date correspondant à deux mois après la date du jour dans le calendrier déroulant.
  5. Dans la section Définition de la remise, effectuez les opérations suivantes :
    Utilisez ceci Pour faire cela
    Acheter Activer la case à cocher N’importe quelle.

    Si cette case à cocher est activée, le système de remise tentera toujours d’appliquer la remise définie.
    Obtenir comme remise :
    • Première colonne - Vérifier que la valeur illimitée est définie pour le nombre d’articles offerts.
    • Deuxième colonne - Sélectionner [tout produit] dans la liste déroulante.
    • Troisième colonne - Sélectionner Pourcentage (%) dans la liste déroulante.
    • Quatrième colonne - Taper 20.
  6. Dans la section Affichage de la remise, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Affichage du panier | Taper Remise de 20 % effective.
    Taille du contenu | Sélectionner Demi-bannière dans la liste déroulante.
    Type de contenu | Sélectionner Image.
    URL d’image Taper http://<nomserveur>/retail/images/catalog/MSPress.gif.

    Étant donné que ce scénario fait appel à une société fictive, le fichier .gif utilisé dans ce scénario fait référence à Microsoft Press.
    Adresse URL pointée Taper http://MSPress.Microsoft.com.

    Étant donné que ce scénario fait appel à une société fictive, l’URL utilisée dans ce scénario dirige les utilisateurs vers le site Web Microsoft Press.
    Texte de légende | Taper Il s’agit d’une bannière pour les Éditions de la Montagne.
  7. Pour enregistrer la remise et revenir à l’écran Gestionnaire de campagnes, cliquez sur Enregistrer et retour dans la barre d’outils.

Vous avez défini une remise de 20 % qui sera appliquée à tous les produits de la campagne Éditions de la Montagne sur votre site Retail. Passez à l’Étape 2 : Envoi de la campagne de remise en production pour publier la campagne de remise sur votre site Retail.


Étape2: Envoi de la campagne de remise en production

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 2 : Envoi de la campagne de remise en production

  1. Dans le module Campagnes marketing, cliquez sur Publier les campagnes marketing.
  2. Dans l’écran Publier les campagnes marketing, sélectionnez remises, puis cliquez sur Publier dans la barre d’outils.

La campagne de remise est envoyée en production et est active sur votre site Retail. Passez à l’Étape 3 : Vérification des modifications apportées au site Retail.


Étape3: Vérification des modifications apportées au site Retail

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 3 : Vérification des modifications apportées au site Retail

  1. Ouvrez le site Retail en utilisant votre navigateur. Pour ouvrir le site Retail, dans Internet Explorer, tapez http://<nomserveur>/Retail dans la ligne Adresse, où <nomserveur> est le nom du serveur hébergeant le site Retail. Contactez votre administrateur système si vous ne connaissez pas le nom du serveur.
  2. Cliquez sur S’inscrire dans le volet gauche sous Se connecter, puis effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom d’utilisateur | Taper JacquesUtilisateur.
    Mot de passe | Taper open_sesame.
  3. Cliquez sur Soumettre.
  4. Cliquez sur le lien Cartes de camping, cliquez sur la catégorie LivresCartes, puis sélectionnez Randonnées dans l’Himalaya.

    Le prix de ce livre est de 22,45 euros.

  5. Cliquez sur Ajouter au panier.
  6. Cliquez sur Panier dans l’en-tête de l’écran.

    Une remise de 4,50 euros est appliquée au prix final, ce qui représente une réduction de 20 % par rapport au prix unitaire.

  7. Fermez la fenêtre du navigateur.

Vous avez vérifié que la campagne de remise de 20 % est active sur votre site Retail. Passez à l’Atelier 3 : Analyse des ventes produits.


Atelier3: Analyse des ventes produits

Envoyer des commentaires sur cette page Commerce Server 2002

Atelier 3 : Analyse des ventes produits

  • Temps estimé pour terminer : 45 minutes

Scénario : Votre site est maintenant opérationnel depuis quelque temps, et vous souhaitez savoir combien de fois par jour les utilisateurs visitent votre site et si vos produits de camping se vendent bien. Dans cet atelier, vous allez importer vos données de fichiers journaux et de transaction, puis exécuter un rapport pour vous permettre d’analyser les ventes.

Chacune des leçons répertoriées ci-dessous est nécessaire à la leçon suivante. Il est important d’effectuer les leçons dans l’ordre dans lequel elles sont répertoriées.

  • Leçon 1 : Importation de vos données de fichiers journaux
  • Leçon 2 : Exécution d’un rapport dynamique


Leçon1: Importation de vos données de fichiers journaux

Envoyer des commentaires sur cette page Commerce Server 2002

Leçon 1 : Importation de vos données de fichiers journaux

Cette leçon doit être effectuée par un administrateur système ou par une personne qui a accès à l’ordinateur Commerce Server et à SQL Server Enterprise Manager. Si vous n’êtes pas administrateur système, contactez votre administrateur système pour qu’il effectue les étapes de cette leçon à votre place. Une fois que les étapes de cette leçon sont terminées, vous pouvez passer à la Leçon 2 de cet atelier.

Au cours des deux premiers ateliers de ce didacticiel, des données ont été collectées dans les fichiers journaux de votre site. Ces données ont été collectées par les services IIS (Internet Information Services) Microsoft. Au cours de cette leçon, vous allez importer des données de fichiers journaux dans le Data Warehouse, après quoi les données pourront être utilisées par un cadre dirigeant de l’entreprise pour exécuter des rapports avec Business Desk.

Au cours de cette leçon, un administrateur système va effectuer les étapes suivantes :

  • Étape 1 : Synchronisation du Data Warehouse et de votre application
  • Étape 2 : Importation des fichiers journaux Web
  • Étape 3 : Importation de données de transaction
  • Étape 4 : Remplissage des cubes OLAP avec les données importées
  • Étape 5 : Exécution des tâches DTS


Étape1: Synchronisation du Data Warehouse et de votre application

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 1 : Synchronisation du Data Warehouse et de votre application

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Microsoft SQL Server, puis cliquez sur Enterprise Manager.
  2. Dans le volet gauche, développez Serveurs Microsoft SQL Server, développez Groupe SQL Server, développez nomserveur (Windows NT), développez Data Transformation Services, cliquez avec le bouton droit sur Lots locaux, puis cliquez sur Nouveau lot.
  3. Dans l’écran Lot DTS : <Nouveau lot>, cliquez avec le bouton droit dans une zone vide du volet, pointez sur Ajouter la tâche, puis sélectionnez Synchronisation de la configuration (Commerce Server) dans la liste déroulante.
  4. Dans l’écran Propriétés de la synchronisation du Data Warehouse, dans la section Propriétés de l’opération, dans la zone Site, sélectionnez Retail dans la liste déroulante, puis cliquez sur OK.

    Remarque

    • Votre application et le Data Warehouse ne seront réellement synchronisés qu’après l’exécution de la tâche DTS (Data Transformation Services) que vous avez effectuée au cours de cette étape. Vous pouvez exécuter une tâche DTS de manière individuelle en sélectionnant Exécuter dans le menu Lot ; toutefois, dans ce scénario, vous exécuterez toutes les tâches DTS en même temps au cours de l’Étape 5: Exécution des tâches DTS.

Vous avez créé un lot de tâches DTS pour synchroniser le Data Warehouse avec votre application. Passez à l’Étape 2 : Importation des fichiers journaux Web.


Étape2: Importation des fichiers journaux Web

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 2 : Importation des fichiers journaux Web

  1. Dans l’écran Lot DTS : <Nouveau lot>, cliquez avec le bouton droit dans une zone vide du volet, pointez sur Ajouter la tâche, puis sélectionnez Importation de journal de serveur Web (Commerce Server) dans la liste déroulante.
  2. Dans la boîte de dialogue Propriétés des journaux des serveurs Web d’importation, dans la section Propriétés de l’opération, dans la zone Site, sélectionnez Retail dans la liste déroulante.
  3. Dans la boîte de dialogue Propriétés des journaux des serveurs Web d’importation, sous l’onglet Emplacement des fichiers journaux, dans la colonne Application, sélectionnez <nomordinateur>/retail, <nomordinateur>/retailbizdesk.
  4. Dans la zone Chemin d’accès au fichier journal, tapez <lecteur:>\Winnt\System32\LogFiles\W3svc1, puis cliquez sur OK.

    Remarques

    • Vos fichiers journaux ne seront réellement importés dans le Data Warehouse qu’après l’exécution de la tâche DTS (Data Transformation Services) que vous avez effectuée au cours de cette étape. Vous pouvez exécuter une tâche DTS de manière individuelle en sélectionnant Exécuter dans le menu Lot ; toutefois, dans ce scénario, vous exécuterez toutes les tâches DTS en même temps au cours de l’Étape 5: Exécution des tâches DTS.
    • Sur un serveur de production, le chemin d’accès au fichier journal peut être différent si l’administrateur système enregistre les fichiers journaux IIS dans un dossier autre que celui par défaut.

Vous avez créé un lot de tâches DTS pour importer vos fichiers journaux Web. Passez à l’Étape 3 : Importation de données de transaction.


Étape3: Importation de données de transaction

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 3 : Importation de données de transaction

Les données de transaction sont créées sur votre site Web lorsqu’un utilisateur met des articles dans son chariot, en enlève ou procède à un achat. Au cours de cette étape, vous allez importer dans le Data Warehouse les données de transaction de votre site.

Les données de transaction sont stockées dans la base de données des transactions de Commerce Server. Il s’agit par exemple des bons de commande et des numéros de demande d’approvisionnement, qui sont utilisés dans les rapports d’analyse pour déterminer comment certains produits se vendent, quelles quantités de produits sont demandées ou quelle est la somme des achats des clients.

  1. Dans l’écran Lot DTS : <Nouveau lot>, cliquez avec le bouton droit dans une zone vide du volet, pointez sur Ajouter la tâche, puis cliquez sur Importation des données de transaction (Commerce Server).
  2. Dans la boîte de dialogue Propriétés d’importation des transactions, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Description | Taper Données de transaction pour mon site Retail.
    Niveau d’opération | Sélectionner Niveau du site dans la liste déroulante.
    Nom du site | Sélectionner Retail dans la liste déroulante.
    Mode de traitement Importer l’intégralité des données de transaction, en sélectionnant Complet.

    Remarque

    • La première fois que vous importez des données de transaction dans le Data Warehouse, vous devez utiliser l’option Complet et effectuer une importation complète. Une fois que vous avez importé les données de transaction, utilisez l’option de charge incrémentielle pour importer uniquement les données créées depuis la dernière importation des données de transaction.
  3. Dans la section Propriétés du nouvel essai, effectuez les opérations suivantes :
    Utilisez ceci Pour faire cela
    Nombre de tentatives Taper 10.

    Remarque

    • Le nombre de tentatives de connexion par défaut est de 10.
    Délai en secondes entre les essais Taper 30.

    Remarque

    • La valeur par défaut est 30 secondes.
  4. Cliquez sur OK.

    Remarque

    • Vos données de profil utilisateur ne sont importées dans votre Data Warehouse qu’après l’exécution de la tâche DTS que vous avez effectuée au cours de cette étape. Vous pouvez exécuter une tâche DTS de manière individuelle en sélectionnant Exécuter dans le menu Lot ; toutefois, dans ce scénario, vous exécuterez toutes les tâches DTS en même temps au cours de l’Étape 5: Exécution des tâches DTS.

Vous avez créé un lot de tâches DTS pour importer les données de transaction. Passez à l’Étape 4 : Remplissage des cubes OLAP avec les données importées.


Étape4: Remplissage des cubes OLAP avec les données importées

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 4 : Remplissage des cubes OLAP avec les données importées

  1. Dans l’écran Lot DTS : <Nouveau lot>, cliquez avec le bouton droit dans une zone vide du volet, pointez sur Ajouter la tâche, puis sélectionnez Préparation du rapport (Commerce Server) dans la liste déroulante. La boîte de dialogue Propriétés de préparation des rapports s’affiche.
  2. Dans la boîte de dialogue Propriétés de préparation des rapports, dans la section Propriétés de l’opération, vérifiez que Retail figure dans la liste Sites.
    Remarque
    • Si le site Retail ne figure pas dans la liste Sites, sélectionnez un autre Data Warehouse dans la liste déroulante Data Warehouse associée au site Retail.
  3. Dans la section Mode de traitement, sélectionnez Complet, puis cliquez sur OK.

Vous avez créé un lot de tâches DTS pour remplir les cubes OLAP avec les données importées. Toutefois, les cubes OLAP ne seront réellement remplis avec les données importées qu’après l’exécution de la tâche DTS (Data Transformation Services) que vous avez effectuée au cours de cette étape. Passez à l’Étape 5 : Exécution des tâches DTS, au cours de laquelle vous allez exécuter les quatre lots de tâches DTS en même temps.


Étape5: Exécution des tâches DTS

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 5 : Exécution des tâches DTS

  1. Dans l’écran Lot DTS : <Nouveau lot>, appuyez sur la touche [CTRL] et maintenez-la enfoncée, sélectionnez chacune des quatre tâches DTS Commerce Server, puis relâchez la touche [CTRL].

    Les quatre icônes Tâche DTS de Commerce Server sont sélectionnées.

  2. Dans le menu Workflow, cliquez sur À l’achèvement.
  3. Dans le menu Lot, cliquez sur Exécuter.

    L’écran Exécution du lot s’affiche et présente un indicateur d’avancement montrant que les tâches sont en cours d’exécution.

  4. Une fois les tâches terminées, dans la boîte de dialogue Résultats d’exécution du lot, cliquez sur OK.
  5. Dans l’écran Exécution du lot, cliquez sur Terminé.
  6. Fermez SQL Server Enterprise Manager sans enregistrer le lot.

Le résultat des cinq étapes précédentes est le suivant:

  • Les données des fichiers journaux Web sont importées dans le Data Warehouse.
  • Les cubes OLAP sont remplis avec les données importées.
  • Les données de transaction sont importées dans le Data Warehouse.
  • Les données de votre Data Warehouse sont maintenant synchronisées avec votre application.

Dans la leçon suivante, ces données seront utilisées pour créer un rapport dynamique. Passez à la Leçon 2 : Exécution d’un rapport dynamique.


Leçon2: Exécution d'un rapport dynamique

Envoyer des commentaires sur cette page Commerce Server 2002

Leçon 2 : Exécution d’un rapport dynamique

Scénario : Vous pouvez exécuter un rapport Ventes produits pour déterminer la façon dont se vendent des produits donnés, la quantité demandée ou la somme des achats des clients.

Vous pouvez exécuter un rapport dynamique à partir du module Rapports ou planifier des rapports à exécuter automatiquement à intervalles réguliers. Les rapports dynamiques s’exécutent en quelques secondes et s’affichent immédiatement dans une fenêtre du navigateur séparée sous la forme d’un tableau croisé dynamique.

Au cours de cette leçon, vous allez effectuer les étapes suivantes :

  • Étape 1 : Exécution du rapport Ventes produits


Étape1: Exécution du rapport Ventes produits

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 1 : Exécution du rapport Ventes produits

Utilisez le rapport Ventes produits pour connaître le volume et le chiffre d’affaires des ventes de produits par date. Ce rapport affiche la quantité et le chiffre d’affaires total, triés par catégorie de produit.

  1. Ouvrez Commerce Server Business Desk - Retail à partir du menu Démarrer ou du Bureau.
  2. Dans Analyse, cliquez sur Rapports.
  3. Dans l’écran Rapports, cliquez sur Rechercher dans la barre d’outils.
  4. Dans le volet Rechercher, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Rechercher par | Sélectionner Nom dans la liste déroulante.
    Nom | Taper Ventes produits.
  5. Cliquez sur Rechercher.
  6. Dans le volet Rechercher, dans la section Affichage filtré, sélectionnez le rapport Ventes produits, puis cliquez sur Exécuter dans la barre d’outils pour exécuter le rapport.

Le rapport est exécuté, puis il s’affiche dans une nouvelle fenêtre du navigateur sous la forme d’un tableau croisé dynamique.

Les ateliers du didacticiel entreprise-client sont maintenant terminés. Vous avez effectué toutes les leçons vous permettant de mettre en place un site Retail client-entreprise.


Didacticiel entreprise-entreprise

Microsoft Commerce Server 2002 fournit un ensemble complet d’outils permettant de créer des applications d’e-commerce pour le Web. Le didacticiel entreprise-entreprise fournit des instructions pas à pas vous indiquant comment utiliser Business Desk dans Commerce Server 2002 pour gérer votre site Web d’e-commerce.

Cette section contient les rubriques suivantes :

  • À propos du scénario entreprise-entreprise
  • Préparation à l’utilisation du didacticiel
  • Atelier 1 : Ajout d’un mode de livraison et d’un taux de taxe
  • Atelier 2 : Génération de vos catalogues SupplierAD
  • Atelier 3 : Ajout de produits à vos catalogues
  • Atelier 4 : Réalisation de tâches d’organisation et de sécurité


À propos du scénario entreprise-entreprise

Vous êtes le responsable Business Desk de la société Les Comptoirs. Vous voulez permettre à vos employés d’utiliser votre site Web Commerce Server pour acheter des fournitures figurant dans vos propres catalogues. Vous voulez également que vos responsables Business Desk puissent mettre à jour leurs catalogues stockés sur votre site Commerce Server. Le didacticiel entreprise-entreprise vous montre comment effectuer les opérations suivantes :

  • Créer un catalogue distinct pour chaque groupe de produits de votre société.
  • Publier vos catalogues sur votre site Web.
  • Accorder à un responsable Business Desk de chaque groupe de produits un droit d’accès limité aux modules et aux tâches de Business Desk, de sorte que chacun ne puisse mettre à jour que son propre catalogue.

Ce didacticiel comporte quatre ateliers qui font appel au site solution SupplierAD fourni avec Commerce Server. Avant que vous ne commenciez l’Atelier 1 : Ajout d’un mode de livraison et d’un taux de taxe, votre administrateur système doit préparer le didacticiel pour que vous puissiez l’utiliser. Demandez à votre administrateur système de consulter la rubrique Préparation à l’utilisation du didacticiel pour obtenir toutes les informations nécessaires se rapportant à ce didacticiel.

Une fois les tâches préliminaires accomplies, demandez à votre administrateur système de vous indiquer l’emplacement de votre site solution SupplierAD ainsi que le nom d’utilisateur et le mot de passe à utiliser pour ouvrir une session sur l’ordinateur Commerce Server. Après quoi, passez à l’Atelier 1 : Ajout d’un mode de livraison et d’un taux de taxe.


Préparation à l'utilisation du didacticiel

Envoyer des commentaires sur cette page Commerce Server 2002

Préparation à l’utilisation du didacticiel

Votre administrateur système doit effectuer les tâches suivantes :

  • Vérifier que votre système prend en charge la configuration minimale requise pour l’utilisation de ce didacticiel.
  • Vérifier les paramètres de configuration spécifiques sur le contrôleur de domaine.
  • Installer le site solution SupplierAD.

Pour connaître les instructions à suivre, consultez Installation dans une configuration non ordonnée en clusters et comprenant deux ordinateurs.

Le site solution SupplierAD de Commerce Server est disponible à l’adresse http://go.microsoft.com/fwlink/?linkid=6491.

Une fois que votre administrateur système a effectué ces tâches préliminaires, vous pouvez commencer l’Atelier 1 : Ajout d’un mode de livraison et d’un taux de taxe.


Atelier1: Ajout d'un mode de livraison et d'un taux de taxe

Envoyer des commentaires sur cette page Commerce Server 2002

Atelier 1 : Ajout d’un mode de livraison et d’un taux de taxe

Temps estimé pour terminer : 15 minutes

Scénario : Avant de créer les catalogues, vous allez ajouter un mode de livraison et un taux de taxe. Ensuite, vous allez publier vos taux de taxes et vos modes de livraison sur le site SupplierAD.

Chacune des leçons répertoriées ci-dessous est nécessaire à la leçon suivante. Il est important d’effectuer les leçons dans l’ordre dans lequel elles sont répertoriées :

  • Leçon 1 : Ajout d’un mode de livraison
  • Leçon 2 : Ajout d’un taux de taxe
  • Leçon 3 : Publication des taux de taxes et des modes de livraison


Leçon1: Ajout d'un mode de livraison

Envoyer des commentaires sur cette page Commerce Server 2002

Leçon 1 : Ajout d’un mode de livraison

Comme votre société est censée livrer des produits à vos employés, vous devez définir les modes et frais de livraison correspondants. Dans cette leçon, vous allez ajouter des frais de livraison calculés en fonction du sous-total des commandes individuelles.

Pour ajouter un mode de livraison

  1. Ouvrez une session sur l’ordinateur Commerce Server en employant le nom d’utilisateur et le mot de passe créés à votre intention par votre administrateur système. Si vous ne connaissez pas le nom d’utilisateur et le mot de passe, contactez votre administrateur système.
  2. Ouvrez Business Desk - SupplierAD à partir du menu Démarrer ou du Bureau.
  3. Développez le module Commandes et cliquez sur Modes de livraison.
  4. Dans l’écran Modes de livraison, cliquez sur Nouveau dans la barre d’outils, puis sélectionnez Facturer en fonction du sous-total dans la liste déroulante.

    L’écran Facturer en fonction du sous-total - Nouveau s’affiche. À l’aide de cet écran, vous allez créer un mode de livraison basé sur le sous-total des commandes individuelles.

  5. Dans l’écran Facturer en fonction du sous-total - Nouveau, dans la section Propriétés du mode de livraison, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Langue | Sélectionner Français - France dans la liste déroulante.
    Nom | Taper Air Azur.
    Description | Taper Transports aériens régionaux.
    Activée | Vérifier que la case à cocher Mode de livraison activé est activée.
  6. Dans la section Taux, cliquez sur Nouvelle, puis effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Prix, jusqu’à | Taper 10.
    Frais de livraison | Taper 5.

    Vous créez ainsi des frais de livraison de cinq euros pour toute commande individuelle ne dépassant pas dix euros.

  7. Cliquez sur Accepter, puis cliquez sur Nouvelle pour ajouter d’autres frais de livraison.
  8. Dans la section Taux, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Prix, jusqu’à | Taper 20.
    Frais de livraison | Taper 10.

    Vous créez ainsi des frais de livraison de dix euros pour toute commande individuelle d’un montant inférieur ou égal à vingt euros.

  9. Cliquez sur Accepter.
  10. Dans la section Taux, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Prix, jusqu’à | Double-cliquer sur supérieur à 20.
    Frais de livraison | Taper 15.

    Vous créez ainsi des frais de livraison de quinze euros pour toute commande individuelle dont le montant dépasse vingt euros.

  11. Cliquez sur Accepter pour ajouter les frais de livraison supérieurs à 20.

    Vous créez ainsi des frais de livraison de quinze euros pour toute commande individuelle dont le montant dépasse vingt euros. Dans ce scénario, quinze euros correspondent au maximum qui sera facturé pour la livraison d’une commande individuelle.

  12. Pour enregistrer les frais de livraison et revenir à l’écran Modes de livraison, cliquez sur Enregistrer et retour dans la barre d’outils.

Les frais de livraison sont enregistrés et seront appliqués aux achats effectués sur le site Web SupplierAD. Passez à la Leçon 2 : Ajout d’un taux de taxe.


Leçon2: Ajout d'un taux de taxe

Envoyer des commentaires sur cette page Commerce Server 2002

Leçon 2 : Ajout d’un taux de taxe

Comme les articles qui seront achetés à partir du site SupplierAD ne sont pas destinés à être revendus, le taux de taxe local du lieu de livraison s’applique. Au cours de cette leçon, vous allez ajouter au site SupplierAD un taux de taxe correspondant au taux en vigueur en France. Pour les besoins de ce scénario, vous allez définir un taux de taxe applicable pour tous les départements français.

  1. Dans le module Commandes de Business Desk, cliquez sur Taux de taxes.
  2. Dans l’écran Taxe, cliquez sur Nouvelle, puis effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Pays/région | Sélectionner France dans la liste déroulante.
    Département/province | Sélectionner Tous les départements/provinces.
    Taux de taxe (%) | Taper 10.
  3. Cliquez sur Accepter.
  4. Pour enregistrer le nouveau taux de taxe et revenir à l’écran Commerce Server : Business Desk, cliquez sur Enregistrer et retour dans la barre d’outils.

Le taux de taxe de dix pour cent est enregistré et sera appliqué aux achats livrés en France. Passez à la Leçon 3 : Publication des taux de taxes et des modes de livraison.


Leçon3: Publication des taux de taxes et des modes de livraison

Envoyer des commentaires sur cette page Commerce Server 2002

Leçon 3 : Publication des taux de taxes et des modes de livraison

Si un utilisateur a accédé à votre site SupplierAD avant que vous ne créiez le mode de livraison et le taux de taxe lors des leçons 1 et 2 de cet atelier, vous devez publier votre mode de livraison et votre taux de taxe sur le site SupplierAD. Par exemple, il se peut que votre administrateur système ait accédé au site SupplierAD lorsqu’il a configuré ce didacticiel. Pour déterminer si vos taux de taxes et vos codes de commandes doivent être publiés sur votre site, passez à l’Étape 1 : Affichage des codes de commandes, où vous allez utiliser le module Publier les codes de commandes pour consulter l’état des caches de production.

  • Étape 1 : Affichage des codes de commandes
  • Étape 2 : Publication des codes de commande


Étape1: Affichage des codes de commandes

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 1 : Affichage des codes de commandes

  1. Dans Business Desk, développez le module Commandes, puis cliquez sur Publier les codes de commandes.

    L’écran Publier les codes de commandes apparaît.

  2. Si la liste Éléments de production est vide, vous n’avez pas besoin de publier vos codes de commandes et vous pouvez passer à l’Atelier 2 : Génération de vos catalogues SupplierAD. Sinon, passez à l’Étape 2 : Publication des codes de commandes pour publier votre mode de livraison et votre taux de taxe sur votre site SupplierAD.


Étape2: Publication des codes de commandes

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 2 : Publication des codes de commandes

  1. Dans l’écran Publier les codes de commandes, sélectionnez toutes les entrées de la liste Éléments de production.
  2. Cliquez sur Publier dans la barre d’outils.
  3. Vos codes de commandes, qui contiennent le mode de livraison et le taux de taxe que vous avez créés antérieurement dans cet atelier, sont alors publiés sur votre site SupplierAD. Passez à l’Atelier 2 : Génération de vos catalogues SupplierAD.


Atelier2: Génération de vos catalogues SupplierAD

Envoyer des commentaires sur cette page Commerce Server 2002

Atelier 2 : Génération de vos catalogues SupplierAD

Dans cet atelier, vous allez configurer des définitions de catalogue pour les produits que vous ajouterez ultérieurement à vos catalogues. Vous créerez ensuite un catalogue de base pour chacun de vos groupes de produits et vous leur ajouterez des produits. Enfin, vous créerez un groupe de catalogues pour chaque groupe de produits et un catalogue virtuel contenant les deux catalogues de base.

Chacune des leçons répertoriées ci-dessous est nécessaire à la leçon suivante. Il est important d’effectuer les leçons dans l’ordre dans lequel elles sont répertoriées :

  • Leçon 1 : Création d’une définition de catalogue
  • Leçon 2 : Création de catalogues de base pour des groupes de produits
  • Leçon 3 : Création d’un catalogue virtuel pour le site SupplierAD
  • Leçon 4 : Création de catégories pour le site SupplierAD
  • Leçon 5 : Création de groupes de catalogues


Leçon1: Création d'une définition de catalogue

Envoyer des commentaires sur cette page Commerce Server 2002

Leçon 1 : Création d’une définition de catalogue

Scénario : Vous voulez créer un catalogue de base pour chacun de vos groupes de produits, afin de pouvoir publier leurs produits sur votre site. La première étape de la création des catalogues consiste à créer une définition de catalogue. Une définition de catalogue comprend une ou plusieurs définitions de catégories et de produits. Les définitions de catégorie et de produit se composent de définitions de propriété.

Dans l’étape 1 de cette leçon, vous créez des définitions de catégories appelées stylos et crayons. Les définitions de catégories servent à organiser les produits sur votre site Web. Lors des étapes 2 et 3 de cette leçon, vous allez créer des définitions de produit et de propriété que vous utiliserez dans l’atelier 3 lorsque vous ajouterez des produits à vos catalogues.

Chacune des étapes répertoriées ci-dessous est nécessaire à l’étape suivante. Il est important d’effectuer les étapes dans l’ordre suivant :

  • Étape 1 : Création de définitions de catégories
  • Étape 2 : Création de la définition du produit Crayon
  • Étape 3 : Création de la définition du produit Stylo


Étape1: Création de définitions de catégories

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 1 : Création de définitions de catégories

Les définitions de catégories que vous créez dans cette étape servent à regrouper les produits en catégories sur votre site Web. Dans cette étape, vous allez créer deux catégories : Stylos et Crayons. Plus tard, dans l’atelier 3, vous ajouterez des produits à ces catégories.

Pour créer la définition de catégorie Stylos

  1. Dans Business Desk, développez le module Catalogues, puis cliquez sur Concepteur de définitions de catalogues.

    L’écran Concepteur de définitions de catalogues : Définitions de catégories apparaît.

  2. Cliquez sur Nouvelle.
  3. Dans l’écran Définition de catégorie : Nouvelle, dans la section Propriétés de la définition de catégorie, tapez Stylos dans la zone Nom.
  4. Dans la section Propriétés de la catégorie, sélectionnez Description dans la liste Propriétés disponibles, puis cliquez sur Ajouter.

    La propriété Description est transférée dans la liste Propriétés attribuées.

  5. Pour enregistrer la définition de catégorie et créer une autre définition de catégorie, cliquez sur Enregistrer et nouveau dans la barre d’outils.

Pour créer la définition de catégorie Crayons

  1. Dans l’écran Définition de catégorie : Nouvelle, dans la section Propriétés de la définition de catégorie, tapez Crayons dans la zone Nom.
  2. Dans la section Propriétés de la catégorie, sélectionnez Description dans la liste Propriétés disponibles, puis cliquez sur Ajouter.

    La propriété Description est transférée dans la liste Propriétés attribuées.

  3. Pour enregistrer la définition de catégorie et créer une autre définition de catégorie, cliquez sur Enregistrer et nouveau dans la barre d’outils.

Pour créer la définition de catégorie Imprimantes

  1. Dans l’écran Définition de catégorie : Nouvelle, dans la section Propriétés de la définition de catégorie, tapez Imprimantes dans la zone Nom.
  2. Dans la section Propriétés de la catégorie, sélectionnez Description dans la liste Propriétés disponibles, puis cliquez sur Ajouter.

    La propriété Description est transférée dans la liste Propriétés attribuées.

  3. Pour enregistrer la définition de catégorie Imprimantes et revenir à l’écran Concepteur de définitions de catalogues : Définitions de catégories, cliquez sur Enregistrer et retour dans la barre d’outils.

    L’écran Concepteur de définitions de catalogues : Définitions de catégories apparaît. Notez que les trois catégories que vous avez créées, Stylos, Crayons et Imprimantes, apparaissent dans la zone de liste Nom.

Remarque
  • Les noms de définition doivent être uniques à travers toutes les définitions de catégorie et de produit. Dans cette étape, vous avez employé le pluriel des noms Stylo et Crayon (Stylos et Crayons) parce que dans l’Étape 2 : Création de la définition du produit Crayon et l’Étape 3 : Création de la définition du produit Stylo, vous utiliserez les noms Crayon et Stylo comme définitions de produits.

Vous avez créé les définitions de catégories Stylos et Crayons. Ultérieurement, dans l’Atelier 3, vous ajouterez des produits à vos catalogues en utilisant les définitions de catégories que vous venez de créer. Passez à l’Étape 2 : Création de la définition du produit Crayon.


Étape2: Création de la définition du produit Crayon

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 2 : Création de la définition du produit Crayon

Une définition de produit permet de décrire en détail un produit particulier que vous voulez ajouter à votre catalogue. Une définition de produit contient des propriétés servant à définir ou décrire un produit. Par exemple, la plupart des définitions de produits peuvent contenir des propriétés nommées « Fabricant » et « Référence ».

Vous pouvez vous représenter une définition de produit comme une sorte de modèle. Lorsque des produits sont ajoutés à un catalogue, les propriétés que vous avez attribuées à la définition de produit reçoivent des valeurs. Ces valeurs de propriété décrivent et identifient de façon unique un composant produit particulier.

Dans cette étape, vous allez créer une définition de produit pour le produit Crayon. Ensuite, vous attribuerez des propriétés de composant produit et vous créerez d’autres définitions de propriété pour votre définition de produit. Vous utiliserez la définition du produit Crayon plus tard, dans l’Atelier 3, lorsque vous ajouterez des produits Crayon à vos catalogues.

Pour créer la définition du produit Crayon

  1. Dans Business Desk, développez le module Catalogues, puis cliquez sur Concepteur de définitions de catalogues.

    L’écran Concepteur de définitions de catalogues : Définitions de catégories apparaît.

  2. Dans la barre d’outils, cliquez sur Afficher, puis sélectionnez Définitions de produits dans la zone de liste déroulante.

    L’écran Concepteur de définitions de catalogues : Définitions de produits apparaît. Notez la présence de définitions de produits prédéfinies. Vous utiliserez la définition de produit Imprimante plus loin dans ce didacticiel.

  3. Cliquez sur Nouvelle.
  4. Dans l’écran Définition de produit : Nouveau, dans la section Propriétés de la définition du produit, tapez Crayon dans la zone Nom.

Vous avez attribué à la nouvelle définition de produit le nom Crayon. Vous allez maintenant attribuer des propriétés de composant produit à la définition de produit Crayon.

Pour attribuer des propriétés de composant produit

  • Dans la section Propriétés du composant produit, dans la liste Propriétés disponibles, sélectionnez Fabricant, maintenez enfoncée la touche CTRL et cliquez sur Référence, puis relâchez la touche CTRL et cliquez sur Ajouter.

    Les propriétés Fabricant et Référence apparaissent dans la liste Propriétés attribuées de la section Propriétés du composant produit.

Vous avez attribué les propriétés de composant produit Fabricant et Référence à la définition du produit Crayon. Vous allez maintenant créer et définir une autre définition de propriété pour le produit Crayon.

Pour créer la définition de propriété CouleurMine

  1. Dans la section Propriétés du composant produit, cliquez sur Nouvelle.
  2. Dans la boîte de dialogue Nouvelle définition de propriété, sélectionnez Choix multiple dans la zone de liste Type, puis cliquez sur Continuer.
  3. Dans l’écran Définition de propriété : Nouvelle (Choix multiple), dans la section Propriétés, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper CouleurMine.
    Afficher sur le site | Activer la case à cocher Oui.
    Valeur par défaut Cliquer sur Points de suspension .

    La boîte de dialogue Valeurs à choix multiple apparaît.
  4. Dans la boîte de dialogue Valeurs à choix multiple, tapez Noire dans la zone Nouvelle valeur, puis cliquez sur Ajouter.
  5. Dans la boîte de dialogue Valeurs à choix multiple, tapez Bleue dans la zone Nouvelle valeur, puis cliquez sur Ajouter.
  6. Dans la boîte de dialogue Valeurs à choix multiple, tapez Rouge dans la zone Nouvelle valeur, puis cliquez sur Ajouter.

    Les valeurs Noire, Bleue et Rouge apparaissent dans la liste Valeurs de la boîte de dialogue Valeurs à choix multiple.

  7. Cliquez sur OK pour enregistrer vos valeurs à choix multiple et revenir à l’écran Définition de propriété : Nouvelle (Choix multiple).
  8. Dans l’écran Définition de propriété : Nouvelle (Choix multiple), dans la section Propriétés, sélectionnez Noire dans la zone de liste déroulante Valeur par défaut.
  9. Activez la case à cocher Oui de l’option Afficher dans la liste de produits.
  10. Dans l’écran Définition de propriété : Nouvelle (Choix multiple), dans la section Noms complets, cliquez sur Nouvelle, puis effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Langue | Sélectionner Français - France dans la liste déroulante.
    Nom complet | Taper Couleur de la mine.
  11. Cliquez sur Accepter.
  12. Pour enregistrer la définition de propriété et créer une autre définition de propriété, cliquez sur Enregistrer et nouveau dans la barre d’outils.

    La boîte de dialogue Nouvelle définition de propriété s’affiche.

Vous venez de créer la définition de propriété CouleurMine, qui servira à décrire la couleur de la mine de votre produit Crayon. Vous allez maintenant créer une nouvelle définition de propriété appelée CouleurCorps.

Pour créer la définition de propriété CouleurCorps

  1. Dans la boîte de dialogue Nouvelle définition de propriété, sélectionnez Choix multiple dans la zone de liste Type, puis cliquez sur Continuer.
  2. Dans l’écran Définition de propriété : Nouvelle (Choix multiple), dans la section Propriétés, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper CouleurCorps.
    Afficher sur le site | Activer la case à cocher Oui.
    Valeur par défaut Cliquer sur Points de suspension .

    La boîte de dialogue Valeurs à choix multiple apparaît.
  3. Dans la boîte de dialogue Valeurs à choix multiple, tapez Noire dans la zone Nouvelle valeur, puis cliquez sur Ajouter.
  4. Dans la boîte de dialogue Valeurs à choix multiple, tapez Bleue dans la zone Nouvelle valeur, puis cliquez sur Ajouter.
  5. Dans la boîte de dialogue Valeurs à choix multiple, tapez Rouge dans la zone Nouvelle valeur, puis cliquez sur Ajouter.
  6. Dans la boîte de dialogue Valeurs à choix multiple, tapez Jaune dans la zone Nouvelle valeur, puis cliquez sur Ajouter.

    Les valeurs Noir, Bleu, Rouge et Jaune apparaissent dans la liste Valeurs de la boîte de dialogue Valeurs à choix multiple.

  7. Cliquez sur OK pour enregistrer vos valeurs à choix multiple et revenir à l’écran Définition de propriété : Nouvelle (Choix multiple).
  8. Dans l’écran Définition de propriété : Nouvelle (Choix multiple), dans la section Propriétés, sélectionnez Jaune dans la zone de liste déroulante Valeur par défaut.
  9. Activez la case à cocher Oui de l’option Afficher dans la liste de produits.
  10. Dans l’écran Définition de propriété : Nouvelle (Choix multiple), dans la section Noms complets, cliquez sur Nouvelle, puis effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Langue | Sélectionner Français - France dans la liste déroulante.
    Nom complet | Taper Couleur du corps.
  11. Cliquez sur Accepter.
  12. Pour enregistrer la définition de propriété et créer une autre définition de propriété, cliquez sur Enregistrer et nouveau dans la barre d’outils.

    La boîte de dialogue Nouvelle définition de propriété s’affiche.

Vous venez de créer la définition de propriété CouleurCorps, qui sert à décrire la couleur du corps de votre produit Crayon. Vous allez maintenant créer une définition de propriété appelée TailleMine.

Pour créer la définition de propriété TailleMine

  1. Dans la boîte de dialogue Nouvelle définition de propriété, sélectionnez Choix multiple dans la zone de liste Type, puis cliquez sur Continuer.
  2. Dans l’écran Définition de propriété : Nouvelle (Choix multiple), dans la section Propriétés, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper TailleMine.
    Afficher sur le site | Activer la case à cocher Oui.
    Valeur par défaut Cliquer sur Points de suspension .

    La boîte de dialogue Valeurs à choix multiple apparaît.
  3. Dans la boîte de dialogue Valeurs à choix multiple, tapez #1 dans la zone Nouvelle valeur, puis cliquez sur Ajouter.
  4. Dans la boîte de dialogue Valeurs à choix multiple, tapez #2 dans la zone Nouvelle valeur, puis cliquez sur Ajouter.

    Les valeurs #1 et #2 apparaissent dans la liste Valeurs de la boîte de dialogue Valeurs à choix multiple.

  5. Cliquez sur OK pour enregistrer vos valeurs à choix multiple et revenir à l’écran Définition de propriété : Nouvelle (Choix multiple).
  6. Dans l’écran Définition de propriété : Nouvelle (Choix multiple), dans la section Propriétés, sélectionnez #2 dans la zone de liste déroulante Valeur par défaut.
  7. Activez la case à cocher Oui de l’option Afficher dans la liste de produits.
  8. Dans l’écran Définition de propriété : Nouvelle (Choix multiple), dans la section Noms complets, cliquez sur Nouvelle, puis effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Langue | Sélectionner Français - France dans la liste déroulante.
    Nom complet | Taper Taille de la mine.
  9. Cliquez sur Accepter.
  10. Cliquez sur Enregistrer et retour pour enregistrer cette définition de propriété et revenir à l’écran Définition de produit : Nouveau.

    Vous venez de créer la définition de propriété TailleMine, qui servira à décrire la taille de la mine de votre produit Crayon.

    L’écran Définition de produit : Nouveau s’affiche. Les propriétés Fabricant, Référence, CouleurMine, CouleurCorps et TailleMine apparaissent dans la liste Propriétés attribuées de la section Propriétés du composant produit. Les définitions de propriété et de produit sont créées au niveau du site. Par conséquent, une fois créée, une définition de propriété peut s’utiliser pour définir n’importe quel produit de n’importe quel catalogue sur votre site.

  11. Cliquez sur Enregistrer et retour pour enregistrer la définition du produit Crayon et revenir à l’écran Concepteur de définitions de catalogues : Définitions de produits.

    Vous venez de créer la définition du produit Crayon. Passez à l’Étape 3 : Création de la définition du produit Stylo, dans laquelle vous allez réutiliser pour le produit Stylo la définition de propriété CouleurCorps que vous avez créée dans cette étape.


Étape3: Création de la définition du produit Stylo

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 3 : Création de la définition du produit Stylo

Dans cette étape, vous allez créer une définition de produit pour le produit Stylo. Ensuite, vous attribuerez des propriétés de composant produit et vous créerez d’autres définitions de propriété pour votre définition de produit. Vous utiliserez la définition du produit Stylo plus tard, dans l’Atelier 3, lorsque vous ajouterez des produits Stylo à vos catalogues.

  1. Dans le module Catalogues, cliquez sur Concepteur de définitions de catalogues.

    L’écran Concepteur de définitions de catalogues : Définitions de catégories apparaît.

  2. Dans la barre d’outils, cliquez sur Afficher, puis sélectionnez Définitions de produits dans la zone de liste déroulante.
  3. Dans l’écran Concepteur de définitions de catalogues : Définitions de produits, cliquez sur Nouvelle.
  4. Dans l’écran Définition de produit : Nouveau, dans la section Propriétés de la définition du produit, tapez Stylo dans la zone Nom.

Vous avez attribué à la nouvelle définition de produit le nom Stylo. Vous allez maintenant attribuer des propriétés de composant produit à la définition de produit Stylo.

Pour attribuer des propriétés de composant produit

  1. Dans la section Propriétés du composant produit, dans la liste Propriétés disponibles, sélectionnez CouleurCorps, maintenez enfoncée la touche CTRL et cliquez successivement sur Fabricant et Référence, puis relâchez la touche CTRL et cliquez sur Ajouter.

    Les propriétés CouleurCorps, Fabricant et Référence apparaissent dans la liste Propriétés attribuées de la section Propriétés du composant produit. Vous avez créé la définition de propriété CouleurCorps dans « Étape 2 : Création de la définition du produit Crayon ».

Vous avez attribué les propriétés de composant produit CouleurCorps, Fabricant et Référence à la définition du produit Stylo. Vous allez maintenant créer et définir une autre définition de propriété pour le produit Stylo.

Pour créer la définition de propriété CouleurEncre

  1. Dans la section Propriétés du composant produit, cliquez sur Nouvelle.
  2. Dans la boîte de dialogue Nouvelle définition de propriété, sélectionnez Choix multiple dans la liste Type, puis cliquez sur Continuer.
  3. Dans l’écran Définition de propriété : Nouvelle (Choix multiple), dans la section Propriétés, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper CouleurEncre.
    Afficher sur le site | Activer la case à cocher Oui.
    Valeur par défaut Cliquer sur Points de suspension .

    La boîte de dialogue Valeurs à choix multiple apparaît.
  4. Dans la boîte de dialogue Valeurs à choix multiple, tapez Noire dans la zone Nouvelle valeur, puis cliquez sur Ajouter.
  5. Dans la boîte de dialogue Valeurs à choix multiple, tapez Bleue dans la zone Nouvelle valeur, puis cliquez sur Ajouter.
  6. Dans la boîte de dialogue Valeurs à choix multiple, tapez Verte dans la zone Nouvelle valeur, puis cliquez sur Ajouter.
  7. Dans la boîte de dialogue Valeurs à choix multiple, tapez Rouge dans la zone Nouvelle valeur, puis cliquez sur Ajouter.
  8. Dans la boîte de dialogue Valeurs à choix multiple, tapez Argentée dans la zone Nouvelle valeur, puis cliquez sur Ajouter.

    Les valeurs Noire, Bleue, Verte, Rouge et Argentée apparaissent dans la liste Valeurs de la boîte de dialogue Valeurs à choix multiple.

  9. Cliquez sur OK pour enregistrer les valeurs à choix multiple et revenir à l’écran Définition de propriété : Nouvelle (Choix multiple).
  10. Dans l’écran Définition de propriété : Nouvelle (Choix multiple), dans la section Propriétés, sélectionnez Bleue dans la zone de liste déroulante Valeur par défaut.
  11. Activez la case à cocher Oui de l’option Afficher dans la liste de produits.
  12. Dans l’écran Définition de propriété : Nouvelle (Choix multiple), dans la section Noms complets, cliquez sur Nouvelle, puis effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Langue | Sélectionner Français - France dans la liste déroulante.
    Nom complet | Taper Couleur de l’encre.
  13. Cliquez sur Accepter.
  14. Pour enregistrer la définition de propriété CouleurEncre et créer une autre définition de propriété, cliquez sur Enregistrer et nouveau .

    La boîte de dialogue Nouvelle définition de propriété s’affiche.

Vous venez de créer la définition de propriété CouleurEncre, qui servira à décrire la couleur de l’encre de votre produit Stylo.

Pour créer la définition de propriété TypePointe

  1. Dans la boîte de dialogue Nouvelle définition de propriété, sélectionnez Choix multiple dans la zone de liste Type et cliquez sur Continuer.
  2. Dans l’écran Définition de propriété : Nouvelle (Choix multiple), dans la section Propriétés, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper TypePointe.
    Afficher sur le site | Activer la case à cocher Oui.
    Valeur par défaut Cliquer sur Points de suspension .

    La boîte de dialogue Valeurs à choix multiple apparaît.
  3. Dans la boîte de dialogue Valeurs à choix multiple, tapez Pointe bille dans la zone Nouvelle valeur, puis cliquez sur Ajouter.
  4. Dans la boîte de dialogue Valeurs à choix multiple, tapez Pointe feutre dans la zone Nouvelle valeur, puis cliquez sur Ajouter.

    Les valeurs Pointe bille et Pointe feutre apparaissent dans la liste Valeurs de la boîte de dialogue Valeurs à choix multiple.

  5. Cliquez sur OK pour enregistrer les valeurs à choix multiple de la propriété TypePointe et revenir à l’écran Définition de propriété : Nouvelle (Choix multiple).
  6. Dans l’écran Définition de propriété : Nouvelle (Choix multiple), dans la section Propriétés, sélectionnez Pointe bille dans la zone de liste déroulante Valeur par défaut.
  7. Activez la case à cocher Oui de l’option Afficher dans la liste de produits.
  8. Dans l’écran Définition de propriété : Nouvelle (Choix multiple), dans la section Noms complets, cliquez sur Nouvelle, puis effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Langue | Sélectionner Français - France dans la liste déroulante.
    Nom complet | Taper Type de pointe.
  9. Cliquez sur Accepter.
  10. Cliquez sur Enregistrer et retour dans la barre d’outils pour enregistrer la définition de propriété TypePointe et revenir à l’écran Définition de produit : Nouveau.

    L’écran Définition de produit : Nouveau s’affiche. Les propriétés CouleurCorps, Fabricant, Référence, CouleurEncre et TypePointe apparaissent dans la liste Propriétés attribuées de la section Propriétés du composant produit. Une fois créée, une définition de propriété peut s’utiliser pour définir n’importe quel produit de n’importe quel catalogue.

    Vous venez de créer la définition de propriété TypePointe, qui servira à décrire le type de pointe de votre produit Stylo.

  11. Cliquez sur Enregistrer et retour pour enregistrer la définition du produit Stylo et revenir à l’écran Concepteur de définitions de catalogues : Définitions de produits.

    Notez que les définitions de produits Stylo et Crayon apparaissent toutes deux dans la liste Nom de l’écran Concepteur de définitions de catalogues : Définitions de produits.

Après avoir créé vos définitions de produits, passez maintenant à la Leçon 2 : Création de catalogues de base pour des groupes de produits, dans laquelle vous allez créer un catalogue de base pour chaque groupe de produits.


Leçon2: Création de catalogues de base pour des groupes de produits

Envoyer des commentaires sur cette page Commerce Server 2002

Leçon 2 : Création de catalogues de base pour des groupes de produits

Dans cette leçon, vous allez créer un catalogue de base distinct pour chacun de vos groupes de produits : Fournitures de bureau et Matériel de bureau.

Chacune des étapes répertoriées ci-dessous est nécessaire à l’étape suivante. Il est important d’effectuer ces étapes dans l’ordre suivant :

  • Étape 1 : Création du catalogue de base Fournitures de bureau
  • Étape 2 : Création du catalogue de base Matériel de bureau


Étape1: Création du catalogue de base Fournitures de bureau

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 1 : Création du catalogue de base Fournitures de bureau

  1. Dans le module Catalogues, cliquez sur Éditeur de catalogue.

    L’écran Catalogues s’affiche.

  2. Dans la barre d’outils, cliquez sur Nouveau et sélectionnez Nouveau catalogue de base dans la liste.
  3. Dans l’écran Propriétés du catalogue - Nouveau catalogue de base, dans la section Propriétés du catalogue, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper Fournitures de bureau.
    Devise | Sélectionner Euro – EUR dans la liste déroulante.
    Identificateur unique du produit Sélectionner Libellé dans la liste déroulante.

    Remarque

    • La valeur de cette propriété doit être unique pour chaque produit.
    Identificateur unique du composant produit Sélectionner Référence dans la liste déroulante.

    Remarque

    • La valeur de cette propriété doit être unique pour chaque composant produit.

    Remarque

    • Comme ce scénario n’utilise pas de catalogues multilingues, il n’est peut-être pas nécessaire de configurer une langue par défaut dans la section Langues du catalogue de l’écran Nouveau catalogue de base. Il n’est pas nécessaire de configurer la langue par défaut si vous voulez que le catalogue adopte la langue par défaut sélectionnée dans Windows 2000 sur l’ordinateur où s’exécute Commerce Server. En effet, un catalogue dont la langue par défaut n’est pas configurée emploie la langue par défaut de Windows 2000, sur l’ordinateur où s’exécute Commerce Server. À titre d’exercice, dans le cadre de ce didacticiel, vous allez toutefois configurer une langue par défaut.

Pour configurer la langue par défaut du catalogue

Pour les besoins de ce didacticiel, vous allez sélectionner Anglais - États-Unis comme langue par défaut pour le catalogue de base Fournitures de bureau.

  1. Dans l’écran Propriétés du catalogue - Nouveau catalogue de base, développez la section Langues du catalogue, puis cliquez sur Ajouter.
  2. Dans la boîte de dialogue Sélectionner les langues, dans la liste Langues, sélectionnez Anglais – États-Unis, puis cliquez sur Ajouter.

    La langue que vous avez sélectionnée apparaît dans la liste Langues de la section Langues du catalogue de l’écran Propriétés du catalogue - Nouveau catalogue de base.

  3. Dans la section Langues du catalogue, dans la liste déroulante Langue par défaut, sélectionnez Anglais – États-Unis.
  4. Dans la section Langues du catalogue, dans la liste déroulante Langue de création de rapport, sélectionnez Anglais – États-Unis.
  5. Cliquez sur Enregistrer et retour pour enregistrer le catalogue de base Fournitures de bureau et revenir à l’écran Catalogues.

    L’écran Catalogues s’affiche. Observez que Fournitures de bureau apparaît dans la colonne Nom de l’écran Catalogues.

Vous venez de créer le catalogue de base Fournitures de bureau. Passez à l’Étape 2 : Création du catalogue de base Matériel de bureau.


Étape2: Création du catalogue de base Matériel de bureau

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 2 : Création du catalogue de base Matériel de bureau

  1. Dans Business Desk, dans le module Catalogues, cliquez sur Éditeur de catalogue.
  2. Dans l’écran Catalogues, dans la barre d’outils, cliquez sur Nouveau et sélectionnez Nouveau catalogue de base dans la liste.
  3. Dans l’écran Propriétés du catalogue - Nouveau catalogue de base, dans la section Propriétés du catalogue, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper Matériel de bureau.
    Devise | Sélectionner Euro – EUR dans la liste déroulante.
    Identificateur unique du produit | Sélectionner Libellé dans la liste déroulante.
    Identificateur unique du composant produit | Sélectionner Référence dans la liste déroulante.

Pour configurer la langue par défaut du catalogue

Pour les besoins de ce didacticiel, vous allez sélectionner Anglais - États-Unis comme langue par défaut pour le catalogue de base Matériel de bureau.

  1. Développez la section Langues du catalogue, puis cliquez sur Ajouter.
  2. Dans la boîte de dialogue Sélectionner les langues, dans la liste Langues, sélectionnez Anglais – États-Unis et cliquez sur Ajouter.

    La langue que vous avez sélectionnée apparaît dans la liste Langues de la section Langues du catalogue de l’écran Propriétés du catalogue - Nouveau catalogue de base.

  3. Dans la section Langues du catalogue, dans la liste déroulante Langue par défaut, sélectionnez Anglais – États-Unis.
  4. Dans la section Langues du catalogue, dans la liste déroulante Langue de création de rapport, sélectionnez Anglais – États-Unis.
  5. Cliquez sur Enregistrer et retour pour enregistrer le catalogue de base Matériel de bureau et revenir à l’écran Catalogues.

    L’écran Catalogues s’affiche. Observez que Matériel de bureau apparaît dans la colonne Nom de l’écran Catalogues.

Après avoir créé le catalogue de base Matériel de bureau, passez à la Leçon 3 : Création d’un catalogue virtuel pour le site SupplierAD.


Leçon3: Création d'un catalogue virtuel pour le site SupplierAD

Envoyer des commentaires sur cette page Commerce Server 2002

Leçon 3 : Création d’un catalogue virtuel pour le site SupplierAD

Le but de ce catalogue virtuel est de faire apparaître plusieurs catalogues de base sur votre site comme s’ils constituaient un seul catalogue. Au cours de cette leçon, vous allez créer un catalogue virtuel, puis ajouter les catalogues de base Fournitures de bureau et Matériel de bureau que vous avez créés dans la Leçon 2 : Création de catalogues de base pour des groupes de produits à votre catalogue virtuel.

Chacune des étapes répertoriées ci-dessous est nécessaire à l’étape suivante. Il est important d’effectuer les étapes dans l’ordre suivant :

  • Étape 1 : Création du catalogue virtuel
  • Étape 2 : Ajout de catalogues de base au catalogue virtuel
  • Étape 3 : Reconstruction du catalogue virtuel


Étape1: Création du catalogue virtuel

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 1 : Création du catalogue virtuel

  1. Dans le module Catalogues, cliquez sur Éditeur de catalogue.
  2. Dans l’écran Catalogues, cliquez sur Nouveau dans la barre d’outils, puis sélectionnez Nouveau catalogue virtuel dans la liste déroulante.
  3. Dans l’écran Propriétés du catalogue - Nouveau catalogue virtuel, dans la section Propriétés du catalogue, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom Taper Catalogue virtuel.
    Remarque
    • Il s’agit du nom qui apparaît comme nom du catalogue sur le site SupplierAD. Pour les besoins de ce didacticiel, nous utiliserons le nom « Catalogue virtuel », ce qui vous permettra de l’identifier facilement sur le site. Toutefois, en conditions réelles, vous choisirez certainement un nom plus convivial.
    Devise | Sélectionner Euro – EUR dans la liste déroulante.

Pour configurer la langue par défaut du catalogue

  1. Sélectionnez Anglais – États-Unis comme langue par défaut pour le catalogue virtuel.
  2. Développez la section Langues du catalogue, puis cliquez sur Ajouter.
  3. Dans la boîte de dialogue Sélectionner les langues, dans la liste Langues, sélectionnez Anglais – États-Unis et cliquez sur Ajouter.

    La langue que vous avez sélectionnée apparaît dans la liste Langues de la section Langues du catalogue de l’écran Propriétés du catalogue - Nouveau catalogue de base.

  4. Dans la section Langues du catalogue, dans la liste déroulante Langue par défaut, sélectionnez Anglais – États-Unis.
  5. Dans la section Langues du catalogue, dans la liste déroulante Langue de création de rapport, sélectionnez Anglais – États-Unis.

Pour consulter la section Sécurité

  1. Développez la section Sécurité.

    Notez que le bouton Autorisations n’est pas disponible. Vous devez d’abord enregistrer le catalogue virtuel pour pouvoir définir des autorisations sur ce catalogue.

  2. Dans la barre d’outils, cliquez sur Enregistrer.

    Le message « Enregistrement en cours, patientez... » apparaît. Lorsqu’il disparaît, passez à l’étape suivante.

  3. Développez la section Sécurité.

    Notez que le bouton Autorisations est maintenant disponible.

  4. Cliquez sur Autorisations.

    La boîte de dialogue Comptes s’affiche.

    Remarque

    • Les utilisateurs et groupes d’utilisateurs qui disposent actuellement de droits d’accès à ce catalogue sont répertoriés dans la zone Compte de la boîte de dialogue Comptes. Vous apprendrez à sécuriser des catalogues et des modules dans l’Atelier 4 de ce didacticiel.
  5. Dans la boîte de dialogue Comptes, cliquez sur Fermer.
  6. Cliquez sur Retour pour revenir à l’écran Catalogues.

    Observez que Catalogue virtuel apparaît dans la liste Affichage filtré de l’écran Catalogues.

Vous venez de créer votre catalogue virtuel. Passez à l’Étape 2 : Ajout de catalogues de base au catalogue virtuel, au cours de laquelle vous aller ajouter les catalogues de base Fournitures de bureau et Matériel de bureau au catalogue virtuel.


Étape2: Ajout de catalogues de base au catalogue virtuel

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 2 : Ajout de catalogues de base au catalogue virtuel

  1. Dans le module Catalogues, cliquez sur Éditeur de catalogue.
  2. Dans l’écran Catalogues, dans la colonne Nom, sélectionnez Catalogue virtuel, puis cliquez sur Ouvrir le Catalogue dans la barre d’outils.

    L’écran Contenu du catalogue – Catalogue virtuel (Anglais – États-Unis) s’affiche.

  3. Dans la section Inclure / exclure, cliquez sur Nouvelle, puis effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Catalogue Cliquer sur Points de suspension .

    La boîte de dialogue Sélecteur de catalogues s’affiche.

    Dans la boîte de dialogue Sélecteur de catalogues, sélectionner Fournitures de bureau dans la zone de liste Catalogue, puis cliquer sur Sélectionner.
    Règle | Sélectionner Inclure un catalogue dans la liste déroulante.
  4. Cliquez sur Terminé.

    Fournitures de bureau apparaît dans la colonne Catalogue de la section Inclure / exclure de l’écran Contenu du catalogue – Catalogue virtuel (Anglais – États-Unis).

  5. Dans la section Inclure / exclure, cliquez sur Nouvelle, puis effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Catalogue Cliquer sur Points de suspension .

    La boîte de dialogue Sélecteur de catalogues s’affiche.

    Dans la boîte de dialogue Sélecteur de catalogues, sélectionner Matériel de bureau dans la zone de liste Catalogue, puis cliquer sur Sélectionner.
    Règle | Sélectionner Inclure un catalogue dans la liste déroulante.
  6. Cliquez sur Terminé.

    Matériel de bureau apparaît dans la colonne Catalogue de la section Inclure / exclure.

  7. Cliquez sur Enregistrer et retour pour enregistrer les modifications apportées à votre catalogue virtuel et revenir à l’écran Catalogues.

Vous venez d’inclure les catalogues Fournitures de bureau et Matériel de bureau dans votre catalogue virtuel. Passez à l’Étape 3 : Reconstruction du catalogue virtuel.


Étape3: Reconstruction du catalogue virtuel

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 3 : Reconstruction du catalogue virtuel

Lorsque vous modifiez un catalogue virtuel, par exemple en y incluant un catalogue de base, des catégories ou des produits, ou en modifiant l’un des catalogues de base inclus, vous devez le reconstruire. Comme vous avez ajouté les catalogues de base Fournitures de bureau et Matériel de bureau à votre catalogue virtuel et fini de créer les catégories, vous allez maintenant reconstruire votre catalogue virtuel.

Pour reconstruire le catalogue virtuel

  1. Dans le module Catalogues, cliquez sur Éditeur de catalogue.

    L’écran Catalogues s’affiche.

    Remarques

    • Observez que « Nécessite une reconstruction » apparaît dans la colonne État de la ligne Catalogue virtuel. Cela signifie que le catalogue virtuel doit être reconstruit.
    • Lorsque vous reconstruisez un catalogue virtuel, toutes les modifications apportées aux catalogues de base contenus dans ce catalogue virtuel sont également reconstruites.
  2. Sélectionnez Catalogue virtuel dans la liste Affichage filtré et cliquez sur Reconstruire pour reconstruire les catalogues et les publier sur votre site.
  3. Dans la boîte de dialogue Business Desk : Reconstruire le catalogue, cliquez sur OK pour la fermer et continuer.

    Dans l’écran Catalogues, dans la colonne État de la ligne Catalogue virtuel, l’état affiché est « Reconstruction ». Pour afficher une mise à jour de l’état, vous devez actualiser l’écran. Laissez à Commerce Server le temps de reconstruire le catalogue avant de passer à l’étape suivante.

  4. Pour actualiser le contenu de l’écran, dans le module Catalogues, cliquez sur Éditeur de catalogue.

L’écran est actualisé et le message d’état de Catalogue virtuel devient « Mis à jour ». Passez à la Leçon 4 : Création de catégories pour votre site SupplierAD.


Leçon4: Création de catégories pour votre site SupplierAD

Envoyer des commentaires sur cette page Commerce Server 2002

Leçon 4 : Création de catégories pour votre site SupplierAD

Au cours de cette leçon, vous allez créer les catégories Stylos et Crayons pour le catalogue Fournitures de bureau et une catégorie Imprimantes pour votre catalogue Matériel de bureau. Ensuite, vous reconstruirez le catalogue virtuel. Ces catégories serviront à organiser vos produits sur le site Web SupplierAD.

  • Étape 1 : Création de catégories pour le catalogue Fournitures de bureau
  • Étape 2 : Création de catégories pour le catalogue Matériel de bureau
  • Étape 3 : Reconstruction et actualisation de votre catalogue virtuel


Étape1: Création de catégories pour le catalogue Fournitures de bureau

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 1 : Création de catégories pour le catalogue Fournitures de bureau

  1. Dans Catalogues, cliquez sur Éditeur de catalogue.

    L’écran Catalogues s’affiche.

  2. Dans la liste Affichage filtré, sélectionnez le catalogue de base Fournitures de bureau et cliquez sur Ouvrir dans la barre d’outils.

    L’écran Contenu du catalogue – Fournitures de bureau (Anglais – États-Unis) apparaît.

  3. Développez la section Catégories, puis cliquez sur Nouvelle.
  4. Dans la boîte de dialogue Nouvelle catégorie, sélectionnez Crayons, puis cliquez sur Continuer.
  5. Dans l’écran Éditeur de catalogue – Fournitures de bureau (Anglais - États-Unis) - nouveau (Crayons), dans la section Propriétés de catégorie, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper Crayons.
    Nom complet | Taper Catégorie Crayons.
    Description | Taper Catégorie des crayons.
    Possibilité de recherche | Activer la case à cocher Oui.
  6. Pour enregistrer cette catégorie et en créer une autre pour ce catalogue de base, cliquez sur Enregistrer et nouveau dans la barre d’outils.

    Le message « Enregistrement en cours, patientez... » apparaît. Lorsqu’il disparaît, passez à l’étape suivante.

  7. Dans l’écran Éditeur de catalogue – Fournitures de bureau (Anglais - États-Unis) - nouveau (Crayons), dans la section Propriétés de catégorie, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper Stylos.
    Nom complet | Taper Catégorie Stylos.
    Description | Taper Catégorie des stylos.
    Possibilité de recherche | Activer la case à cocher Oui.
  8. Pour enregistrer cette catégorie et revenir à l’écran Contenu du catalogue – Fournitures de bureau (Anglais – États-Unis), cliquez sur Enregistrer et retour dans la barre d’outils.

    L’écran Contenu du catalogue – Fournitures de bureau (Anglais – États-Unis) apparaît. Observez que, dans la section Catégories de l’écran Contenu du catalogue – Fournitures de bureau (Anglais – États-Unis), les catégories Crayons et Stylos apparaissent dans la liste Catégories.

  9. Cliquez sur Retour dans la barre d’outils pour revenir à l’écran Catalogues.

La nouvelle catégorie est créée dans le catalogue Fournitures de bureau. Passez à l’Étape 2 : Création de catégories pour le catalogue Matériel de bureau.


Étape2: Création de catégories pour le catalogue Matériel de bureau

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 2 : Création de catégories pour le catalogue Matériel de bureau

  1. Dans le module Catalogues, cliquez sur Éditeur de catalogue.
  2. Dans l’écran Catalogues, dans la liste Affichage filtré, sélectionnez le catalogue de base Matériel de bureau, puis cliquez sur Ouvrir dans la barre d’outils.

    L’écran Contenu du catalogue – Matériel de bureau (Anglais – États-Unis) apparaît.

  3. Développez la section Catégories, puis cliquez sur Nouvelle.
  4. Dans la boîte de dialogue Nouvelle catégorie, sélectionnez Imprimantes, puis cliquez sur Continuer.
  5. Dans l’écran Éditeur de catalogue – Matériel de bureau (Anglais - États-Unis) - nouveau (Imprimantes), dans la section Propriétés de catégorie, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper Imprimantes.
    Nom complet | Taper Catégorie Imprimantes.
    Description | Taper Catégorie des imprimantes.
    Possibilité de recherche | Activer la case à cocher Oui.
  6. Pour enregistrer la nouvelle catégorie et revenir à l’écran Contenu du catalogue – Matériel de bureau (Anglais – États-Unis), cliquez sur Enregistrer et retour dans la barre d’outils.
  7. Le message « Enregistrement en cours, patientez... » apparaît, puis l’écran Éditeur de catalogue – Matériel de bureau (Anglais - États-Unis) reparaît. Observez que, dans la section Catégories de l’écran Contenu du catalogue – Matériel de bureau (Anglais – États-Unis), la catégorie Imprimantes apparaît dans la liste Catégories. Cliquez sur Retour dans la barre d’outils pour revenir à l’écran Catalogues.

    Dans l’écran Catalogues, observez que l’état du Catalogue virtuel est « Nécessite une reconstruction ». Après avoir ajouté une catégorie, vous devez reconstruire un catalogue virtuel pour que cette catégorie apparaisse sur votre site Web. Passez à l’Étape 3 : Reconstruction et actualisation de votre catalogue virtuel.


Étape3: Reconstruction et actualisation de votre catalogue virtuel

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 3 : Reconstruction et actualisation de votre catalogue virtuel

Lorsque vous modifiez un catalogue virtuel, par exemple en y ajoutant un catalogue de base, des catégories ou des produits, ou en modifiant l’un des catalogues de base inclus, vous devez le reconstruire. Comme vous avez ajouté de nouvelles catégories aux catalogues de base Fournitures de bureau et Matériel de bureau, vous devez maintenant reconstruire votre catalogue virtuel.

Pour reconstruire votre catalogue virtuel

  1. Dans le module Catalogues, cliquez sur Éditeur de catalogue.

    L’écran Catalogues s’affiche.

    remarque Remarques

    • Dans l’écran Catalogues, observez que « Nécessite une reconstruction » apparaît dans la colonne État de la ligne Catalogue virtuel. Cela signifie que le catalogue virtuel doit être reconstruit.
    • Lorsque vous reconstruisez un catalogue virtuel, toutes les modifications apportées aux catalogues de base contenus dans ce catalogue virtuel sont également reconstruites.
  2. Sélectionnez Catalogue virtuel et cliquez sur Reconstruire pour reconstruire les catalogues et les publier sur votre site.
  3. Dans la boîte de dialogue Business Desk : Reconstruire le catalogue, cliquez sur OK pour la fermer et continuer.

    Dans l’écran Catalogues, dans la colonne État de la ligne Catalogue virtuel, l’état affiché est « Reconstruction ».

  4. Pour actualiser le contenu de l’écran, dans le module Catalogues, cliquez sur Éditeur de catalogue.

    L’écran est actualisé et le message d’état de Catalogue virtuel devient « Mis à jour ».

  5. Pour actualiser vos catalogues de base, cliquez sur Actualiser dans la barre d’outils.

    Le message « Actualisation des catalogues » s’affiche alors.

Lorsque l’actualisation est terminée, passez à la Leçon 5 : Création de groupes de catalogues.


Leçon5: Création de groupes de catalogues

Envoyer des commentaires sur cette page Commerce Server 2002

Leçon 5 : Création de groupes de catalogues

Un groupe de catalogues est une unité d’organisation contenant un ou plusieurs catalogues de base que vous pouvez mettre à la disposition de différents utilisateurs ou de différentes organisations.

À l’aide de groupes de catalogues, vous pouvez contrôler les catalogues qu’un utilisateur ou un groupe d’utilisateurs peut afficher sur votre site. Vous pouvez aussi refuser l’accès à des groupes de catalogues pour un responsable Business Desk particulier qui accède à Business Desk. Ainsi, vous pouvez contrôler les catalogues qu’un utilisateur particulier peut consulter et mettre à jour.

Remarque

  • Les groupes de catalogues sont un outil d’organisation important. Seul un groupe de catalogues peut faire l’objet d’une autorisation d’accès : vous ne pouvez pas autoriser directement des organisations et des utilisateurs à accéder à un catalogue de base ou à un catalogue virtuel.

Dans cette leçon, vous allez utiliser le module Groupes de catalogues de Business Desk pour créer deux groupes de catalogues, un pour chaque groupe de produits : Fournitures de bureau et Matériel de bureau. Ensuite, vous allez attribuer le catalogue de base de chaque groupe de produits à son propre groupe de catalogues. Ultérieurement, dans l’atelier 4, vous configurerez un accès limité à ces groupes de catalogues pour des administrateurs délégués spécifiques.

Chacune des étapes répertoriées ci-dessous est nécessaire à l’étape suivante. Il est important d’effectuer les étapes dans l’ordre suivant :

  • Étape 1 : Création du groupe de catalogues Fournitures de bureau
  • Étape 2 : Création du groupe de catalogues Matériel de bureau


Étape1: Création du groupe de catalogues Fournitures de bureau

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 1 : Création du groupe de catalogues Fournitures de bureau

  1. Dans le module Catalogues, cliquez sur Groupes de catalogues.
  2. Dans l’écran Groupes de catalogues, cliquez sur Nouveau dans la barre d’outils.
  3. Dans l’écran Nouveau groupe de catalogues, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper Fournitures de bureau.
    Description | Taper Groupe de catalogues du groupe de produits Fournitures de bureau.
    Catalogues disponibles Sélectionner Fournitures de bureau et cliquer sur Ajouter.

    Fournitures de bureau apparaît dans la zone de liste Catalogues attribués.
  4. Cliquez sur Enregistrer et retour dans la barre d’outils pour enregistrer le groupe de catalogues Fournitures de bureau et revenir à l’écran Groupes de catalogues.

    L’écran Groupes de catalogues s’affiche.

Vous venez de créer le groupe de catalogues Fournitures de bureau et d’ajouter le catalogue de base Fournitures de bureau à ce groupe de catalogues. Passez à l’Étape 2 : Création du groupe de catalogues Matériel de bureau.


Étape2: Création du groupe de catalogues Matériel de bureau

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 2 : Création du groupe de catalogues Matériel de bureau

  1. Dans Catalogues, cliquez sur Groupes de catalogues.
  2. Dans l’écran Groupes de catalogues, cliquez sur Nouveau dans la barre d’outils.
  3. Dans l’écran Nouveau groupe de catalogues, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper Matériel de bureau.
    Description | Taper Groupe de catalogues du groupe de produits Matériel de bureau.
    Catalogues disponibles Sélectionner Matériel de bureau et cliquer sur Ajouter.

    Matériel de bureau apparaît dans la zone de liste Catalogues attribués.
  4. Cliquez sur Enregistrer et retour dans la barre d’outils pour enregistrer le groupe de catalogues Matériel de bureau et revenir à l’écran Groupes de catalogues.

    Observez que Fournitures de bureau et Matériel de bureau apparaissent tous deux dans la colonne Nom de l’écran Groupes de catalogues.

Vous venez de créer et d’enregistrer un groupe de catalogues pour chaque groupe de produits, puis vous avez attribué le catalogue de base approprié à chaque groupe de catalogues. Passez à l’Atelier 3 : Ajout de produits à vos catalogues.


Atelier3: Ajout de produits à vos catalogues

Envoyer des commentaires sur cette page Commerce Server 2002

Atelier 3 : Ajout de produits à vos catalogues

Dans cet atelier, vous allez ajouter des produits à vos catalogues de base Fournitures de bureau et Matériel de bureau. Ensuite, vous publierez sur le site SupplierAD les modifications apportées à vos catalogues.

Chacune des leçons répertoriées ci-dessous est nécessaire à la leçon suivante. Il est important d’effectuer les leçons dans l’ordre dans lequel elles sont répertoriées :

  • Leçon 1 : Ajout de produits à vos catalogues de base
  • Leçon 2 : Reconstruction et publication de vos catalogues


Leçon1: Ajout de produits à vos catalogues de base

Envoyer des commentaires sur cette page Commerce Server 2002

Leçon 1 : Ajout de produits à vos catalogues de base

Au cours de cette leçon, vous allez ajouter les produits Stylo et Crayon au catalogue Fournitures de bureau et les produits Imprimante au catalogue Matériel de bureau.

Chacune des étapes répertoriées ci-dessous est nécessaire à l’étape suivante. Il est important d’effectuer les étapes dans l’ordre suivant :

  • Étape 1 : Ajout d’un produit Stylo à bille au catalogue Fournitures de bureau
  • Étape 2 : Ajout d’un produit Stylo feutre au catalogue Fournitures de bureau
  • Étape 3 : Ajout d’un produit Crayon au catalogue Fournitures de bureau
  • Étape 4 : Ajout d’un produit Imprimante au catalogue Matériel de bureau


Étape1: Ajout d'un produit Stylo à bille au catalogue Fournitures de bureau

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 1 : Ajout d’un produit Stylo à bille au catalogue Fournitures de bureau

  1. Dans le module Catalogues, cliquez sur Éditeur de catalogue.
  2. Dans l’écran Catalogues, sélectionnez Fournitures de bureau dans la colonne Nom, puis cliquez sur Ouvrir dans la barre d’outils pour ouvrir le catalogue Fournitures de bureau.
  3. Dans l’écran Contenu du catalogue – Fournitures de bureau (Anglais – États-Unis), dans la section Produits, cliquez sur Nouveau.
  4. Dans la boîte de dialogue Nouveau produit, sélectionnez Stylo dans la liste, puis cliquez sur OK.
  5. Dans l’écran Éditeur de catalogue – Fournitures de bureau (Anglais - États-Unis) - nouveau (Stylo), dans la section Propriétés du produit, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Libellé | Taper Stylo - Pointe bille.
    Description | Taper Produit Stylo à bille.
    Name | Taper Stylo à bille.
  6. Développez la section Composant produit, cliquez sur Nouvelle, puis effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Référence | Taper bpp01.
    CouleurCorps | Sélectionner Noire dans la liste déroulante.
    Fabricant | Taper Fournitures de bureau.
    CouleurEncre | Sélectionner Noire dans la liste déroulante.
    TypePointe | Sélectionner Pointe bille dans la liste déroulante.
    Prix du composant | Taper 0,99.
  7. Cliquez sur Terminé.

    Le produit stylo à bille, référence bpp01, apparaît dans la liste Composant produit.

  8. Dans la section Composant produit, cliquez sur Nouvelle, puis effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Référence | Taper bpp02.
    CouleurCorps | Sélectionner Bleue dans la liste déroulante.
    Fabricant | Taper Fournitures de bureau.
    CouleurEncre | Sélectionner Bleue dans la liste déroulante.
    TypePointe | Sélectionner Pointe bille dans la liste déroulante.
    Prix du composant | Taper 0,99.
  9. Cliquez sur Terminé.

    Le produit stylo à bille, référence bpp02, apparaît dans la liste Composant produit.

Pour attribuer ce produit à la catégorie Stylos

  1. Développez la section Catégories attribuées.
  2. Dans la section Catégories attribuées, dans la liste Catégories disponibles, sélectionnez Stylos, puis cliquez sur Ajouter.

    La catégorie Stylos apparaît dans la liste Catégories attribuées.

Pour enregistrer vos modifications

  1. Cliquez sur Enregistrer et retour dans la barre d’outils pour revenir à l’écran Contenu du catalogue – Fournitures de bureau (Anglais – États-Unis).

    Le message « Enregistrement en cours, patientez... » apparaît.

  2. Dans l’écran Contenu du catalogue – Fournitures de bureau (Anglais – États-Unis), dans la section Produits, cliquez sur Rechercher.

    Le produit Stylo - Pointe bille que vous venez de créer apparaît dans la section Produits, dans la zone de liste Produits.

Passez à l’Étape 2 : Ajout d’un produit Stylo feutre au catalogue Fournitures de bureau, dans laquelle vous allez ajouter deux composants produit stylo feutre à votre catalogue de base.


Étape2: Ajout d'un produit Stylo feutre au catalogue Fournitures de bureau

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 2 : Ajout d’un produit Stylo feutre au catalogue Fournitures de bureau

  1. Dans l’écran Contenu du catalogue – Fournitures de bureau (Anglais – États-Unis), dans la section Produits, cliquez sur Nouveau.

    La boîte de dialogue Nouveau produit s’affiche.

  2. Dans la boîte de dialogue Nouveau produit, sélectionnez Stylo dans la liste, puis cliquez sur OK.
  3. Dans l’écran Éditeur de catalogue – Fournitures de bureau (Anglais - États-Unis) - nouveau (Stylo), dans la section Propriétés du produit, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Libellé | Taper Stylo - Pointe feutre.
    Description | Taper Produit Stylo feutre.
    Name | Taper Stylo feutre.
  4. Développez la section Composant produit, cliquez sur Nouvelle, puis effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Référence | Taper ftp01.
    CouleurCorps | Sélectionner Rouge dans la liste déroulante.
    Fabricant | Taper Les Comptoirs.
    CouleurEncre | Sélectionner Verte dans la liste déroulante.
    TypePointe | Sélectionner Pointe feutre dans la liste déroulante.
    Prix du composant | Taper 0,99.
  5. Cliquez sur Terminé.

    Le produit stylo feutre, référence ftp02, apparaît dans la liste Composant produit. Vous allez maintenant créer un autre produit stylo feutre.

  6. Dans la section Composant produit, cliquez sur Nouvelle, puis effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Référence | Taper ftp02.
    CouleurCorps | Sélectionner Bleue dans la liste déroulante.
    Fabricant | Taper Les Comptoirs.
    CouleurEncre | Sélectionner Bleue dans la liste déroulante.
    TypePointe | Sélectionner Pointe feutre dans la liste déroulante.
    Prix du composant | Taper 0,99.
  7. Cliquez sur Terminé.

    Le produit stylo feutre, référence ftp02, apparaît dans la liste Composant produit. Vous allez maintenant attribuer votre produit stylo feutre à la catégorie Stylos.

Pour attribuer ce produit à la catégorie Stylos

  1. Développez la section Catégories attribuées.
  2. Dans la section Catégories attribuées, dans la liste Catégories disponibles, sélectionnez Stylos, puis cliquez sur Ajouter.

    La catégorie Stylos apparaît dans la liste Catégories attribuées.

Pour enregistrer vos modifications

  • Cliquez sur Enregistrer et retour dans la barre d’outils pour enregistrer les produits stylo feutre et revenir à l’écran Contenu du catalogue – Fournitures de bureau (Anglais – États-Unis).

    Le message « Enregistrement en cours, patientez... » apparaît.

Pour afficher votre liste de produits

  • Dans l’écran Contenu du catalogue – Fournitures de bureau (Anglais – États-Unis), dans la section Produits, cliquez sur Rechercher.

    Le produit Stylo - Pointe feutre que vous venez de créer apparaît dans la section Produits, dans la zone de liste Produits.

Passez à l’Étape 3 : Ajout d’un produit Crayon au catalogue Fournitures de bureau, dans laquelle vous allez ajouter deux produits crayon.


Étape3: Ajout d'un produit Crayon au catalogue Fournitures de bureau

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 3 : Ajout d’un produit Crayon au catalogue Fournitures de bureau

  1. Dans l’écran Contenu du catalogue – Fournitures de bureau (Anglais – États-Unis), dans la section Produits, cliquez sur Nouveau.
  2. Dans la boîte de dialogue Nouveau produit, sélectionnez Crayon, puis cliquez sur OK.

    L’écran Éditeur de catalogue – Fournitures de bureau (Anglais – États-Unis) – nouveau (Crayon) apparaît.

  3. Dans la section Propriétés du produit, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Libellé | Taper Crayon.
    Description | Taper Produit Crayon.
    Name | Taper Crayon.
  4. Développez la section Composant produit, cliquez sur Nouvelle, puis effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Référence | Taper crayon0001.
    Fabricant | Taper Les Comptoirs.
    CouleurMine | Sélectionner Noire dans la liste déroulante.
    CouleurCorps | Sélectionner Jaune dans la liste déroulante.
    TailleMine | Sélectionner #1 dans la liste déroulante.
    Prix du composant | Taper 0,21.
  5. Cliquez sur Terminé.

Le premier produit crayon apparaît dans la liste Composant produit. Vous allez maintenant en créer un second.

  1. Dans la section Composant produit, cliquez sur Nouvelle, puis effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Référence | Taper crayon0002.
    Fabricant | Taper Les Comptoirs.
    CouleurMine | Sélectionner Noire dans la liste déroulante.
    CouleurCorps | Sélectionner Jaune dans la liste déroulante.
    TailleMine | Sélectionner #2 dans la liste déroulante.
    Prix du composant | Taper 0,20.
  2. Cliquez sur Terminé.

    Le second produit crayon apparaît dans la liste Composant produit. Observez que le prix du composant pour le produit crayon0002 est affiché sous la forme 0,2 dans la liste Composant produit (le zéro final a disparu) ; sur le site Web, toutefois, le prix sera mis en forme correctement.

Pour attribuer ce produit à la catégorie Crayons

  1. Développez la section Catégories attribuées.
  2. Dans la section Catégories attribuées, dans la liste Catégories disponibles, sélectionnez Crayons, puis cliquez sur Ajouter.

    La catégorie Crayons apparaît dans la liste Catégories attribuées.

Pour enregistrer vos modifications

  1. Cliquez sur Enregistrer et retour dans la barre d’outils pour enregistrer le produit crayon et revenir à l’écran Contenu du catalogue – Fournitures de bureau (Anglais – États-Unis).

    Le message « Enregistrement en cours, patientez... » apparaît, puis l’écran Éditeur de catalogue – Fournitures de bureau (Anglais - États-Unis) reparaît.

Pour afficher votre liste de produits

  1. Dans l’écran Contenu du catalogue – Fournitures de bureau (Anglais – États-Unis), cliquez sur Rechercher.

    Les produits stylo et crayon que vous venez de créer pour le catalogue Fournitures de bureau apparaissent dans la section Produits, dans la liste Produits.

  2. Cliquez sur Retour dans la barre d’outils pour revenir à l’écran Catalogues.

Passez à l’Étape 4 : Ajout d’un produit Imprimante au catalogue Matériel de bureau.


Étape4: Ajout d'un produit Imprimante au catalogue Matériel de bureau

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 4 : Ajout d’un produit Imprimante au catalogue Matériel de bureau

  1. Dans le module Catalogues, cliquez sur Éditeur de catalogue.
  2. Dans l’écran Catalogues, sélectionnez Matériel de bureau dans la colonne Nom, puis cliquez sur Ouvrir dans la barre d’outils pour ouvrir le catalogue Matériel de bureau.
  3. Dans l’écran Contenu du catalogue – Matériel de bureau (Anglais – États-Unis), dans la section Produits, cliquez sur Nouveau.
  4. Dans la boîte de dialogue Nouveau produit, sélectionnez Imprimante dans la liste, puis cliquez sur OK.
  5. Dans l’écran Éditeur de catalogue – Matériel de bureau (Anglais - États-Unis) - nouveau (Imprimante), dans la section Propriétés du produit, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Libellé | Taper Imprimante - Laser.
    Name | Taper Imprimante laser.
    Description | Taper Produit imprimante laser.
    Fabricant | Taper Les Comptoirs.
    PPM | Taper 20.
    Poids | Taper 75.
    Technologie d’impression | Sélectionner Laser dans la liste déroulante.
    Impression couleur | Sélectionner Non dans la liste déroulante.
    Prix | Taper 599,00.
  6. Pour enregistrer le produit imprimante laser et créer un autre produit imprimante, cliquez sur Enregistrer et nouveau dans la barre d’outils.
  7. Dans la boîte de dialogue Nouveau produit, sélectionnez Imprimante dans la liste, puis cliquez sur OK.

    Le message « Enregistrement en cours, patientez... » apparaît. Lorsqu’il disparaît, passez à l’étape suivante.

  8. Dans l’écran Éditeur de catalogue – Matériel de bureau (Anglais - États-Unis) - nouveau (Imprimante), dans la section Propriétés du produit, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Libellé | Taper Imprimante – Jet d’encre.
    Name | Taper Imprimante jet d’encre.
    Description | Taper Le produit imprimante jet d’encre.
    Fabricant | Taper Les Comptoirs.
    PPM | Taper 4.
    Poids | Taper 10.
    Technologie d’impression | Sélectionner Jet d’encre dans la liste déroulante.
    Impression couleur | Sélectionner Oui dans la liste déroulante.
    Prix | Taper 200,00.
  9. Cliquez sur Enregistrer et retour dans la barre d’outils pour enregistrer le produit imprimante jet d’encre et revenir à l’écran Contenu du catalogue – Matériel de bureau (Anglais – États-Unis).

    Le message « Enregistrement en cours, patientez... » apparaît. Lorsqu’il disparaît, passez à l’étape suivante.

  10. Dans l’écran Contenu du catalogue – Matériel de bureau (Anglais – États-Unis), dans la section Produits, cliquez sur Rechercher.

    Les produits Imprimante – Jet d’encre et Imprimante - Laser que vous venez de créer apparaissent dans la section Produits, dans la liste Produits.

  11. Pour revenir à l’écran Catalogues, cliquez sur Retour.

    Maintenant que vous avez ajouté les produits Stylo et Crayon au catalogue de base Fournitures de bureau et les produits Imprimante au catalogue de base Matériel de bureau, passez à la Leçon 2 : Reconstruction et publication de vos catalogues.


Leçon2: Reconstruction et publication de vos catalogues

Envoyer des commentaires sur cette page Commerce Server 2002

Leçon 2 : Reconstruction et publication de vos catalogues

Les dernières étapes de l’ajout de produits à un catalogue consistent à reconstruire le catalogue et à le publier sur votre site Web. Au cours de cette leçon, vous allez reconstruire votre catalogue virtuel et le publier sur le site SupplierAD. Lors de la reconstruction et de la publication d’un catalogue virtuel sur un site, tous les catalogues de base qu’il contient sont également reconstruits et publiés.

  • Étape 1 : Reconstruction du catalogue virtuel
  • Étape 2 : Publication du catalogue virtuel sur le site SupplierAD


Étape1: Reconstruction du catalogue virtuel

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 1 : Reconstruction du catalogue virtuel

Lorsque vous modifiez un catalogue virtuel, par exemple en y incluant un catalogue de base, des catégories ou des produits, vous devez le reconstruire. Comme vous avez ajouté des produits aux catalogues de base Fournitures de bureau et Matériel de bureau, vous devez maintenant reconstruire votre catalogue virtuel.

  1. Dans le module Catalogues, cliquez sur Éditeur de catalogue.

    L’écran Catalogues s’affiche. Dans l’écran Catalogues, observez que l’état du Catalogue virtuel est « Nécessite une reconstruction ».

  2. Sélectionnez Catalogue virtuel et cliquez sur Reconstruire dans la barre d’outils pour reconstruire le catalogue virtuel et les catalogues de base qu’il contient.
  3. Dans la boîte de dialogue Business Desk : Reconstruire le catalogue, cliquez sur OK pour la fermer et continuer.

    Dans l’écran Catalogues, dans la colonne État de la ligne Catalogue virtuel, l’état affiché est « Reconstruction ».

  4. Pour actualiser le contenu de l’écran, dans le module Catalogues, cliquez sur Éditeur de catalogue.

L’écran est actualisé et le message d’état de Catalogue virtuel devient « Mis à jour ». Passez à l’Étape 2 : Publication du catalogue virtuel sur le site SupplierAD.


Étape2: Publication du catalogue virtuel sur le site SupplierAD

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 2 : Publication du catalogue virtuel sur le site SupplierAD

  1. Dans le module Catalogues, cliquez sur Éditeur de catalogue.

    L’écran Catalogues s’affiche.

  2. Pour publier les modifications sur votre site Web, sélectionnez Catalogue virtuel dans la liste, puis cliquez sur Actualiser dans la barre d’outils.

    Le message « Actualisation des catalogues » s’affiche alors.

Une fois l’actualisation terminée, le catalogue virtuel et les catalogues de base qu’il contient sont publiés sur le site SupplierAD. Ainsi se termine l’atelier 3. Passez à l’Atelier 4 : Réalisation de tâches d’organisation et de sécurité.


Atelier4: Réalisation de tâches d'organisation et de sécurité

Envoyer des commentaires sur cette page Commerce Server 2002

Atelier 4 : Réalisation de tâches d’organisation et de sécurité

Temps estimé pour terminer : 60 minutes

Dans cet atelier, vous allez apprendre à effectuer les opérations suivantes :

  • Utiliser des organisations pour faciliter les tâches administratives
  • Créer des utilisateurs avec Business Desk et avec le site SupplierAD
  • Accorder à des utilisateurs spécifiques un droit d’accès limité aux modules et aux tâches de Business Desk

Les organisations Business Desk servent à lier des utilisateurs ou des groupes d’utilisateurs à des catalogues afin de réduire les tâches administratives. Un catalogue de base est attribué à un groupe de catalogues et ce groupe de catalogues est attribué à une organisation. Notez que les catalogues de base ne peuvent pas être attribués directement à une organisation. Des utilisateurs sans privilèges spéciaux et des administrateurs sont également attribués à une organisation. Lorsque vous l’attribuez à une organisation, un utilisateur ou un groupe d’utilisateurs hérite le groupe de catalogues de cette organisation, ce qui simplifie l’administration.

Scénario : Dans cet atelier, vous allez créer une organisation pour chacun de vos groupes de produits : Fournitures de bureau et Matériel de bureau. Ensuite, vous allez créer un compte Windows d’administrateur pour chaque groupe de produits et attribuer les comptes de ces administrateurs, aussi appelés administrateurs délégués, à leur organisation respective. Vous allez attribuer le groupe de catalogues approprié, créé dans l’atelier 3, Leçon 5 : Création de groupes de catalogues, à une organisation que vous créerez dans cet atelier.

Vous allez accorder des droits d’accès sur les groupes de catalogues créés dans l’atelier 3, Leçon 5 : Création de groupes de catalogues, à l’organisation appropriée. Après quoi, vous allez créer un compte d’administrateur pour chaque partenaire commercial et ajouter ces comptes à l’organisation appropriée. Ensuite, vous allez ajouter ces comptes d’utilisateur à la liste Autorisations de sécurité de Business Desk et leur accorder un droit d’accès limité à des modules, des catalogues et des tâches spécifiques de Business Desk. Finalement, vous vérifierez que vos partenaires commerciaux ne disposent que du droit d’accès limité à des modules et des tâches de Business Desk que vous avez configuré. Vous allez également créer un utilisateur ordinaire et vérifier qu’il n’est pas un administrateur.

Les avantages du site solution SupplierAD sont les suivants :

  • Un responsable Business Desk peut créer des comptes d’utilisateur Windows en utilisant soit Business Desk, soit le site SupplierAD.
  • Il n’est pas nécessaire que les responsables Business Desk soient administrateurs de domaine et connaissent Active Directory pour gérer des utilisateurs pour leurs sites.
  • Les mots de passe des utilisateurs sont stockés dans Active Directory sous une forme cryptée, ce qui rend ce scénario plus sûr que le stockage des mots de passe dans SQL Server.

Chacune des leçons répertoriées ci-dessous est nécessaire à la leçon suivante. Il est important d’effectuer les leçons dans l’ordre dans lequel elles sont répertoriées.

  • Leçon 1 : Création d’organisations
  • Leçon 2 : Création de comptes d’utilisateur à l’aide de Business Desk
  • Leçon 3 : Création de comptes d’utilisateur à l’aide du site SupplierAD
  • Leçon 4 : Affichage des comptes d’utilisateur à l’aide de Business Desk
  • Leçon 5 : Ajout de comptes d’utilisateur à la liste Autorisations de sécurité de Business Desk
  • Leçon 6 : Attribution aux administrateurs délégués d’un droit d’accès limité à Business Desk
  • Leçon 7 : Vérification de l’accès à Business Desk


Leçon1: Création d'organisations

Envoyer des commentaires sur cette page Commerce Server 2002

Leçon 1 : Création d’organisations

Scénario : Au cours de cette leçon, vous allez créer deux organisations appelées respectivement Groupe de produits Fournitures de bureau et Groupe de produits Matériel de bureau. Vous allez également attribuer le groupe de catalogues approprié à chaque organisation. Vous avez créé un groupe de catalogues pour chaque partenaire commercial dans l’atelier 2 de ce didacticiel. En créant des comptes d’utilisateur, plus tard dans cet atelier, vous ajouterez des utilisateurs à l’organisation appropriée. L’attribution de groupes de catalogues et d’utilisateurs à une organisation vous permet de contrôler les utilisateurs qui ont accès à un catalogue particulier.

Chacune des étapes répertoriées ci-dessous est nécessaire à l’étape suivante. Il est important d’effectuer les étapes dans l’ordre suivant :

  • Étape 1 : Création de l’organisation Groupe de produits Matériel de bureau
  • Étape 2 : Création de l’organisation Groupe de produits Fournitures de bureau
  • Étape 3 : Affichage des organisations


Étape1: Création de l'organisation Groupe de produits Matériel de bureau

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 1 : Création de l’organisation Groupe de produits Matériel de bureau

  1. Dans Business Desk, dans le module Profils, cliquez sur Organisations.
  2. Dans l’écran Organisation, cliquez sur Nouveau dans la barre d’outils.
  3. Dans l’écran Nouveau profil : Organisation, dans la section Informations générales, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper Groupe de produits Matériel de bureau.
    Numéro de partenaire commercial | Taper 01.
    Groupe de catalogues de l’organisation Sélectionner Matériel de bureau dans la liste déroulante.

    remarque Remarque

    • Il s’agit du groupe de catalogues que vous avez créé dans la Leçon 5 : Création de groupes de catalogues.
  4. Pour enregistrer la nouvelle organisation avec le groupe de catalogues Matériel de bureau et revenir à l’écran Organisation, cliquez sur Enregistrer et retour dans la barre d’outils.

    L’organisation Groupe de produits Matériel de bureau est enregistrée.

Passez à l’Étape 2 : Création de l’organisation Groupe de produits Fournitures de bureau.


Étape2: Création de l'organisation Groupe de produits Fournitures de bureau

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 2 : Création de l’organisation Groupe de produits Fournitures de bureau

  1. Dans le module Profils, cliquez sur Organisations.
  2. Dans l’écran Organisation, cliquez sur Nouveau dans la barre d’outils.
  3. Dans l’écran Nouveau profil : Organisation, dans la section Informations générales, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper Groupe de produits Fournitures de bureau.
    Numéro de partenaire commercial | Taper 02.
    Groupe de catalogues de l’organisation Sélectionner Fournitures de bureau dans la liste déroulante.

    Il s’agit du groupe de catalogues que vous avez créé dans la Leçon 5 : Création de groupes de catalogues.
  4. Pour enregistrer la nouvelle organisation avec le groupe de catalogues Fournitures de bureau et revenir à l’écran Organisation, cliquez sur Enregistrer et retour dans la barre d’outils.

    L’organisation Groupe de produits Fournitures de bureau est enregistrée.

Passez à l’Étape 3 : Affichage des organisations.


Étape3: Affichage des organisations

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 3 : Affichage des organisations

  1. Dans le module Profils, cliquez sur Organisations.
  2. Dans l’écran Organisation, dans la zone Nom, tapez * et cliquez sur Rechercher.

    Les organisations Groupe de produits Fournitures de bureau et Groupe de produits Matériel de bureau apparaissent dans la liste Affichage filtré de l’écran Organisation. Passez à la Leçon 2 : Création de comptes d’utilisateur à l’aide de Business Desk.


Leçon2: Création de comptes d'utilisateur à l'aide de Business Desk

Envoyer des commentaires sur cette page Commerce Server 2002

Leçon 2 : Création de comptes d’utilisateur à l’aide de Business Desk

Au cours de cette leçon, vous allez utiliser Business Desk pour créer un compte d’administrateur délégué pour chacun de vos groupes de produits : Fournitures de bureau et Matériel de bureau. Un responsable Business Desk de chaque groupe de produits pourra ensuite utiliser son compte d’utilisateur administrateur pour accéder au site Web SupplierAD. Dans les leçons 5 et 6, vous accorderez à ces comptes d’utilisateur un droit d’accès limité à Business Desk.

Il est important d’effectuer les étapes dans l’ordre suivant :

  • Étape 1 : Création du compte d’administrateur AdminMatBur
  • Étape 2 : Création du compte d’administrateur AdminFourBur


Étape1: Création du compte d'administrateur AdminMatBur

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 1 : Création du compte d’administrateur AdminMatBur

Dans cette étape, vous allez créer le compte d’administrateur AdminMatBur. Ce compte sera utilisé par une personne de confiance, membre du groupe de produits Matériel de bureau, pour accéder à votre site SupplierAD. Ultérieurement, dans les leçons 5 et 6 de cet atelier, vous ajouterez cet utilisateur à la liste Autorisations de sécurité et vous accorderez à ce compte un droit d’accès limité à Business Desk. Cet utilisateur mettra alors à jour le catalogue de base Matériel de bureau.

  1. Dans Business Desk, dans le module Profils, cliquez sur Utilisateurs.
  2. Dans l’écran Objet utilisateur, cliquez sur Nouveau dans la barre d’outils.
  3. Dans l’écran Nouveau profil : Objet utilisateur, dans la section Informations générales, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom d’ouverture de session Taper AdminMatBur.

    remarque Remarque

    • Les noms d’utilisateur ne respectent pas la casse. Dans ce didacticiel, toutefois, les noms d’utilisateur contiennent des majuscules et des minuscules pour en faciliter la lecture.
    Mot de passe de l’utilisateur Taper SésameOuvre.

    remarque Remarque

    • Les mots de passe respectent la casse.
    Adresse de messagerie | Taper AdminMatBur@LesComptoirs.com.
    Type d’utilisateur | Vérifier que l’option Utilisateur inscrit est sélectionnée dans la liste déroulante.
    Nom | Taper Admin.
    Prénom | Taper MatBur.
    Langue par défaut | Sélectionner Français - France dans la liste déroulante.
  4. Dans l’écran Nouveau profil : Objet utilisateur, dans la section Informations sur le compte, effectuez les opérations suivantes :
    Utilisez ceci Pour faire cela
    Identificateur d’organisation Sélectionner Insérer un profil existant dans la liste déroulante.

    remarque Remarque

    • Le profil existant auquel vous allez ajouter cet utilisateur est l’organisation Groupe de produits Matériel de bureau que vous avez créée au cours de la Leçon 1 : Création d’organisations.
  5. Dans l’écran Organisation, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Rechercher par | Sélectionner Nom dans la liste déroulante.
    Nom | Taper *, puis cliquer sur Rechercher.

    Groupe de produits Matériel de bureau apparaît dans la zone de liste Affichage filtré.

  6. Dans la zone de liste Affichage filtré, sélectionnez Groupe de produits Matériel de bureau, puis cliquez sur Insérer dans la barre d’outils.
  7. Dans l’écran Nouveau profil : Objet utilisateur, dans la section Informations sur le compte, effectuez les opérations suivantes :
    Utilisez ceci Pour faire cela
    État du compte Vérifier que l’option Compte actif est sélectionnée dans la liste déroulante.

    Remarque

    • Par défaut, l’état du compte est « Compte actif ». Les utilisateurs dont les comptes sont inactifs ne peuvent pas accéder à votre site.

    remarque Remarque

    • Dans la section Informations sur le compte de l’écran Nouveaux utilisateurs, il n’est pas nécessaire de sélectionner un Groupe de catalogues de l’utilisateur. Ceci est dû au fait que le groupe de catalogues Matériel de bureau a été attribué à l’organisation Groupe de produits Matériel de bureau dans la Leçon 1 : Création d’organisations et que vous venez d’ajouter cet utilisateur à l’organisation Groupe de produits Matériel de bureau. La sélection d’un groupe de catalogues pour un utilisateur particulier permet de remplacer ponctuellement le groupe de catalogues attribué au niveau de l’organisation. Les groupes de catalogues configurés au niveau de l’utilisateur ont priorité sur ceux configurés au niveau de l’organisation.
  8. Dans la section Service Partenaire de l’écran Nouveaux utilisateurs, sélectionnez Administrateur dans la liste déroulante Indicateurs de rôles du Service Partenaire.

    Remarque

    • La liste déroulante Indicateurs de rôles du Service Partenaire comporte deux options, Utilisateur ordinaire et Administrateur. La valeur par défaut est Utilisateur ordinaire. Les utilisateurs dotés des prérogatives de l’Administrateur, également appelés administrateurs délégués, disposent d’un accès étendu pour leur organisation (par exemple, consultation des commandes et création de profils utilisateur) dans un site qui prend en charge les administrateurs délégués.
  9. Pour enregistrer ce nouvel utilisateur et revenir à l’écran Objet utilisateur, cliquez sur Enregistrer et retour dans la barre d’outils.

Le nouvel utilisateur est enregistré dans le profil de l’organisation Groupe de produits Matériel de bureau. Passez à l’Étape 2 : Création du compte d’administrateur AdminFourBur.


Étape2: Création du compte d'administrateur AdminFourBur

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 2 : Création du compte d’administrateur AdminFourBur

Dans cette étape, vous allez créer le compte d’administrateur AdminFourBur. Ce compte sera utilisé par une personne de confiance, membre du groupe de produits Fournitures de bureau, pour accéder à votre site SupplierAD. Ultérieurement, dans les leçons 5 et 6 de cet atelier, vous ajouterez cet utilisateur à la liste Autorisations de sécurité et vous accorderez à ce compte un droit d’accès limité à Business Desk, afin de permettre à l’utilisateur de mettre à jour le catalogue de base Fournitures de bureau.

  1. Dans le module Profils, cliquez sur Utilisateurs.
  2. Dans l’écran Objet utilisateur, cliquez sur Nouveau dans la barre d’outils.
  3. Dans l’écran Nouveau profil : Objet utilisateur, dans la section Informations générales, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom d’ouverture de session | Taper AdminFourBur.
    Mot de passe de l’utilisateur | Taper SésameOuvre2.
    Adresse de messagerie | Taper AdminFourBur@LesComptoirs.com.
    Type d’utilisateur | Vérifier que l’option Utilisateur inscrit est sélectionnée dans la liste déroulante.
    Nom | Taper Admin.
    Prénom | Taper FourBur.
    Langue par défaut | Sélectionner Français - France dans la liste déroulante.
  4. Dans l’écran Nouveau profil : Objet utilisateur, dans la section Informations sur le compte, effectuez les opérations suivantes :
    Utilisez ceci Pour faire cela
    Identificateur d’organisation Sélectionner Insérer un profil existant dans la liste déroulante.

    remarque Remarque

    • Le profil existant auquel vous allez ajouter cet utilisateur est l’organisation Groupe de produits Fournitures de bureau que vous avez créée au cours de la Leçon 1 : Création d’organisations.
  5. Dans l’écran Organisation, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Rechercher par | Sélectionner Nom dans la liste déroulante.
    Nom Taper Groupe de produits Fournitures de bureau, puis cliquer sur Rechercher.

    Groupe de produits Fournitures de bureau apparaît dans la zone de liste Affichage filtré.
  6. Dans la zone de liste Affichage filtré, sélectionnez Groupe de produits Fournitures de bureau, puis cliquez sur Insérer dans la barre d’outils.
  7. Dans l’écran Nouveau profil : Objet utilisateur, dans la section Informations sur le compte, effectuez les opérations suivantes :
    Utilisez ceci Pour faire cela
    État du compte Vérifier que l’option Compte actif est sélectionnée dans la liste déroulante.

    Remarque

    Par défaut, l’état du compte est « Compte actif ». Seuls les utilisateurs possédant des comptes actifs peuvent accéder à votre site Web SupplierAD.

    remarque Remarque

    • Dans la section Informations sur le compte de l’écran Nouveau profil : Objet utilisateur, il n’est pas nécessaire de sélectionner le groupe de catalogues de l’utilisateur. Le groupe de catalogues Fournitures de bureau a été attribué à l’organisation Groupe de produits Fournitures de bureau dans la Leçon 1 : Création d’organisations et vous venez d’ajouter cet utilisateur à l’organisation Groupe de produits Fournitures de bureau. La sélection d’un groupe de catalogues pour un utilisateur particulier permet de remplacer ponctuellement le groupe de catalogues attribué au niveau de l’organisation. Les groupes de catalogues configurés au niveau de l’utilisateur ont priorité sur ceux configurés au niveau de l’organisation.
  8. Dans la section Service Partenaire de l’écran Nouveau profil : Objet utilisateur, sélectionnez Administrateur dans la liste déroulante Indicateurs de rôles du Service Partenaire.

    Remarque

    • La liste déroulante Indicateurs de rôles du Service Partenaire comporte deux options : Utilisateur ordinaire et Administrateur. La valeur par défaut est Utilisateur ordinaire. Les utilisateurs dotés des prérogatives de l’Administrateur, également appelés administrateurs délégués, disposent d’un accès administratif pour leur organisation (par exemple, consultation des commandes et création de profils utilisateur) dans un site qui prend en charge les administrateurs délégués.
  9. Pour enregistrer ce nouvel utilisateur et revenir à l’écran Objet utilisateur, cliquez sur Enregistrer et retour dans la barre d’outils.

Le nouvel utilisateur est enregistré dans le profil de l’organisation Groupe de produits Fournitures de bureau. Vous vérifierez que les utilisateurs ont bien été créés plus tard dans cet atelier. Passez à la Leçon 3 : Création de comptes d’utilisateur à l’aide du site SupplierAD.


Leçon3: Création de comptes d'utilisateur à l'aide du site SupplierAD

Envoyer des commentaires sur cette page Commerce Server 2002

Leçon 3 : Création de comptes d’utilisateur à l’aide du site SupplierAD

Au cours de cette leçon, vous allez créer un compte d’administrateur délégué et un compte d’utilisateur pour l’organisation Groupe de produits Matériel de bureau à l’aide du site SupplierAD. Vous vérifierez ensuite que l’utilisateur n’a pas les privilèges administratifs sur le site Web SupplierAD.

Chacune des étapes répertoriées ci-dessous est nécessaire à l’étape suivante. Il est important d’effectuer les étapes dans l’ordre suivant :

  • Étape 1 : Création d’un administrateur délégué
  • Étape 2 : Création d’un utilisateur
  • Étape 3 : Vérification que l’utilisateur n’est pas un administrateur délégué


Étape1: Création d'un administrateur délégué

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 1 : Création d’un administrateur délégué

Dans la mesure où vous créez des utilisateurs pour le groupe de produits Matériel de bureau, vous allez ouvrir une session sur le site SupplierAD en utilisant le compte Windows AdminMatBur.

  1. Recherchez votre site Web SupplierAD. Pour ouvrir le site SupplierAD avec Internet Explorer, tapez http://<nomordinateur>/SupplierAD sur la ligne Adresse, <nomordinateur> étant le nom de l’ordinateur qui exécute Commerce Server.
  2. Dans l’écran S’inscrire du site SupplierAD, effectuez les opérations suivantes :
    Utilisez ceci Pour faire cela
    Nom d’utilisateur Taper <domaine>\AdminMatBur,

    où <domaine> est le nom de votre domaine Windows.
    Mot de passe Taper SésameOuvre.

    remarque Remarque

    • Les mots de passe respectent la casse.

    remarque Remarque

    • Comme vous voulez créer un compte d’administrateur délégué pour le groupe de produits Matériel de bureau, vous avez ouvert une session sur le site SupplierAD en utilisant le compte AdminMatBur, qui est membre de l’organisation Groupe de produits Matériel de bureau et bénéficie également des prérogatives de l’administrateur délégué. Lorsqu’un administrateur délégué crée des comptes d’utilisateur, ceux-ci sont automatiquement ajoutés à l’organisation dont fait partie le compte qui les a créés. Ici, le compte est ajouté à l’organisation Groupe de produits Matériel de bureau.
  3. Cliquez sur Soumettre.

    remarque Remarque

    • Faites défiler le contenu de la page vers le bas pour afficher Service Partenaire dans le volet gauche, qui n’apparaît que pour les administrateurs délégués.
  4. Dans le volet gauche, sous Service Partenaire, cliquez sur Utilisateurs.
  5. Dans l’écran Objet utilisateur, cliquez sur Nouveau.
  6. Dans l’écran Ajout d’un profil, dans la section Informations sur le compte, vérifiez que Actif est sélectionné dans la liste déroulante État du compte.

    remarque Remarque

    • Seuls les comptes marqués comme actifs peuvent accéder à votre site.
  7. Dans la section Service Partenaire de l’écran Ajout d’un profil, sélectionnez Administrateur délégué dans la liste déroulante Indicateurs de rôles du Service Partenaire.
  8. Dans l’écran Ajout d’un profil, dans la section Informations générales, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom d’ouverture de session | Taper AdminVic.
    Mot de passe | Taper SésameOuvre3.
    Adresse de messagerie | Taper AdminVic@LesComptoirs.com.
    Nom | Taper Vic.
    Prénom | Taper Admin.
  9. Dans l’écran Ajout d’un profil, cliquez sur Enregistrer, puis sur Fermer.

    L’écran Objet utilisateur s’affiche. Le compte AdminVic est enregistré en tant qu’administrateur délégué et apparaît dans la colonne Nom d’ouverture de session de l’écran Objet utilisateur.

  10. Fermez la fenêtre du navigateur.

Passez à l’Étape 2 : Création d’un utilisateur.


Étape2: Création d'un utilisateur

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 2 : Création d’un utilisateur

Dans cette étape, vous allez ouvrir une session sur votre site avec le compte d’utilisateur AdminVic que vous avez créé dans l’Étape 1 : Création d’un administrateur délégué. Vous créerez ensuite un compte d’utilisateur ordinaire au nom de UtilisateurNorm. Comme le compte AdminVic est membre de l’organisation Groupe de produits Matériel de bureau, le compte UtilisateurNorm sera lui aussi membre de l’organisation Groupe de produits Matériel de bureau.

  1. Recherchez votre site Web SupplierAD. Pour ouvrir le site SupplierAD avec Internet Explorer, tapez http://<nomordinateur>/SupplierAD sur la ligne Adresse, <nomordinateur> étant le nom de l’ordinateur qui exécute Commerce Server.
  2. Dans l’écran S’inscrire du site SupplierAD, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom d’utilisateur Taper <domaine>\AdminVic,

    où <domaine> est le nom de votre domaine Windows.
    Mot de passe | Taper SésameOuvre3.
  3. Cliquez sur Soumettre.

    remarque Remarque

    • Faites défiler le contenu de la page vers le bas pour afficher Service partenaire dans le volet gauche. Cette option est réservée aux administrateurs délégués.
  4. Dans le volet gauche, sous Service Partenaire, cliquez sur Utilisateurs.
  5. Dans l’écran Objet utilisateur, cliquez sur Nouveau.
  6. Dans la section Informations sur le compte de l’écran Ajout d’un profil, sélectionnez Actif dans la liste déroulante État du compte.
  7. Dans la section Service Partenaire de l’écran Ajout d’un profil, sélectionnez Utilisateur dans la liste déroulante Indicateurs de rôles du Service Partenaire.
  8. Dans l’écran Ajout d’un profil, dans la section Informations générales, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom d’ouverture de session | Taper UtilisateurNorm.
    Mot de passe | Taper SésameOuvre4.
    Email | Taper UtilisateurNorm@LesComptoirs.com.
    Nom | Taper Utilisatrice.
    Prénom | Taper Norm.
  9. Dans l’écran Ajout d’un profil, cliquez sur Enregistrer, puis sur Fermer.

    Le compte UtilisateurNorm est enregistré en tant que simple utilisateur et ajouté à l’organisation Groupe de produit Matériel de bureau.

  10. Fermez la fenêtre du navigateur.

Passez à l’Étape 3 : Vérification que l’utilisateur n’est pas un administrateur délégué.


Étape3: Vérification que l'utilisateur n'est pas un administrateur délégué

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 3 : Vérification que l’utilisateur n’est pas un administrateur délégué

  1. Recherchez le site SupplierAD. Dans Internet Explorer, tapez http://<nomordinateur>/SupplierAD dans la ligne Adresse.
  2. Dans l’écran S’inscrire du site SupplierAD, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom d’utilisateur Taper <domaine>\UtilisateurNorm.

    où <domaine> est le nom de votre domaine Windows.
    Mot de passe | Taper SésameOuvre4.
  3. Cliquez sur Soumettre.

    Observez que le Service Partenaire n’apparaît pas dans le volet gauche. L’option Service Partenaire n’apparaît qu’aux administrateurs délégués et le compte UtilisateurNorm, que vous avez créé dans l’étape 2 : Création d’un utilisateur, est un utilisateur ordinaire.

  4. Fermez Internet Explorer.

Vous venez de vérifier que le compte Windows UtilisateurNorm n’est pas un administrateur délégué. Passez à la Leçon 4 : Affichage des comptes d’utilisateur à l’aide de Business Desk.


Leçon4: Affichage des comptes d'utilisateur à l'aide de Business Desk

Envoyer des commentaires sur cette page Commerce Server 2002

Leçon 4 : Affichage des comptes d’utilisateur à l’aide de Business Desk

Au cours de cette leçon, vous allez utiliser Business Desk pour afficher la liste Affichage filtré des comptes d’utilisateur que vous avez créés à l’aide du module Utilisateurs de Business Desk et du site SupplierAD dans les leçons 2 et 3 de cet atelier. Vous afficherez ensuite des informations détaillées sur le compte AdminFourBur, qui est un administrateur délégué, et sur le compte UtilisateurNorm, qui est un utilisateur ordinaire.

  • Étape 1 : Affichage de la liste des utilisateurs
  • Étape 2 : Affichage du compte AdminFourBur
  • Étape 3 : Affichage du compte UtilisateurNorm


Étape1: Affichage de la liste des utilisateurs

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 1 : Affichage de la liste des utilisateurs

  1. Cliquez sur Profils, puis sur Utilisateurs.
  2. Dans l’écran Objet utilisateur, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Rechercher par | Vérifier que l’option Nom d’ouverture de session est sélectionnée dans la liste déroulante.
    Nom d’ouverture de session Taper *.

    remarque Remarque

    • Le signe * (astérisque) est un caractère générique permettant d’afficher tous les comptes d’utilisateur dans Business Desk.
  3. Cliquez sur Rechercher.

    Tous les comptes d’utilisateur Windows créés avec le sous-module Utilisateurs dans Business Desk et avec le site SupplierAD sont répertoriés dans la liste Affichage filtré. Les utilisateurs AdminMatBur et AdminFourBur, que vous avez créés dans la Leçon 2 : Création de comptes d’utilisateur à l’aide de Business Desk, ainsi que les utilisateurs AdminVic et UtilisateurNorm, que vous avez créés dans la Leçon 3 : Création de comptes d’utilisateur à l’aide du site SupplierAD, apparaissent dans la liste Affichage filtré de l’écran Objet utilisateur.

    Important

    • Aucun de ces comptes d’utilisateur Windows ne doit être membre du groupe Administrateur sur l’ordinateur Commerce Server.

Passez à l’Étape 2 : Affichage du compte AdminFourBur.


Étape2: Affichage du compte AdminFourBur

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 2 : Affichage du compte AdminFourBur

  1. Dans l’écran Objet utilisateur, sélectionnez AdminFourBur dans la liste Affichage filtré, puis cliquez sur Ouvrir dans la barre d’outils.

    L’écran Mettre à jour le profil : 'AdminFourBur' s’affiche. Observez dans la section Informations générales que les champs Nom d’ouverture de session, Mot de passe de l’utilisateur et Modifié par ne sont pas disponibles.

    Remarque

    • Bien que la zone de texte Mot de passe de l’utilisateur ne soit pas disponible, vous pouvez toujours changer ce mot de passe dans cet écran. Pour changer le mot de passe, cliquez sur points de suspension à droite de la zone de texte Mot de passe de l’utilisateur. Vous pouvez utiliser la boîte de dialogue Réinitialisation du mot de passe pour associer un nouveau mot de passe à ce compte. Dans ce didacticiel, ne changez pas le mot de passe de l’utilisateur.
  2. Développez la section Informations sur le compte.

    Le champ de texte Identificateur d’organisation n’est pas disponible. Toutefois, les champs État du compte, Groupe de catalogues de l’utilisateur et Date d’inscription sont disponibles.

  3. Développez la section Service Partenaire.

    L’option Administrateur est sélectionnée dans la liste déroulante Indicateurs de rôles du Service Partenaire. Vous pouvez changer ce rôle en sélectionnant l’option Utilisateur ordinaire à la place de l’option Administrateur, ce qui revient à une rétrogradation de ce compte d’utilisateur. Toutefois, pour les besoins de ce didacticiel, ne modifiez pas ce profil utilisateur.

  4. Pour revenir à l’écran Objet utilisateur, cliquez sur Retour dans la barre d’outils.

Passez à l’Étape 3 : Affichage du compte UtilisateurNorm.


Étape3: Affichage du compte UtilisateurNorm

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 3 : Affichage du compte UtilisateurNorm

Vous avez créé le compte UtilisateurNorm à partir du site Web SupplierAD en utilisant Internet Explorer.

  1. Dans l’écran Objet utilisateur, sélectionnez UtilisateurNorm dans la liste Affichage filtré, puis cliquez sur Ouvrir dans la barre d’outils.

    Dans l’écran Mettre à jour le profil : 'UtilisateurNorm', dans la section Informations générales, notez que les champs Nom d’ouverture de session, Mot de passe de l’utilisateur et Modifié par ne sont pas disponibles.

  2. Développez la section Informations sur le compte.

    Le champ de texte Identificateur d’organisation n’est pas disponible. Toutefois, les champs État du compte, Groupe de catalogues de l’utilisateur et Date d’inscription sont disponibles. Si vous voulez désactiver ce compte pendant un certain temps sans le supprimer, il suffit de changer son état en sélectionnant Compte inactif à la place de Compte actif. Toutefois, pour les besoins de ce didacticiel, ne modifiez pas l’état de ce profil utilisateur.

  3. Développez la section Service Partenaire.

    Observez que l’option Utilisateur ordinaire est sélectionnée dans la liste déroulante Indicateurs de rôles du Service Partenaire. Vous pouvez changer ce rôle en sélectionnant l’option Administrateur à la place de l’option Utilisateur ordinaire, ce qui revient à une promotion de ce compte d’utilisateur. Ne modifiez pas ce profil utilisateur.

  4. Pour revenir à l’écran Objet utilisateur, cliquez sur Retour dans la barre d’outils.

Vous venez d’afficher un compte d’administrateur et un compte d’utilisateur ordinaire à l’aide de Business Desk. Passez à la Leçon 5 : Ajout de comptes d’utilisateur à la liste Autorisations de sécurité de Business Desk.


Leçon5: Ajout de comptes d'utilisateur à la liste Autorisations de sécurité de Business Desk

Envoyer des commentaires sur cette page Commerce Server 2002

Leçon 5 : Ajout de comptes d’utilisateur à la liste Autorisations de sécurité de Business Desk

Scénario : Vous voulez accorder un droit d’accès limité à des modules Business Desk à des personnes de confiance, membres des groupes de produits Fournitures de bureau et Matériel de bureau, afin de leur permettre de mettre à jour leurs catalogues sur votre site. Par défaut, seuls les membres du groupe local Administrateurs sur l’ordinateur Commerce Server sont autorisés à accéder à Business Desk. Toutefois, vous ne souhaitez pas que les responsables Business Desk de vos groupes de produits disposent d’un accès complet à votre ordinateur Commerce Server. Pour cette raison, au lieu d’ajouter les comptes d’utilisateur des administrateurs de vos groupes de produits au groupe Administrateurs de l’ordinateur Commerce Server, vous décidez d’accorder aux comptes d’administrateur délégué un droit d’accès limité à Business Desk.

La procédure d’autorisation des utilisateurs à accéder à des modules et des tâches de Business Desk comporte deux étapes : d’abord, vous ajoutez les comptes d’utilisateur à la liste Autorisations de sécurité de Business Desk ; ensuite, vous autorisez ces comptes d’utilisateur à accéder à des modules, des catalogues et des tâches. Au cours de cette leçon, vous allez ajouter les comptes d’utilisateur AdminMatBur et AdminFourBur à la liste Autorisations de sécurité de Business Desk. Plus tard, dans la Leçon 6 : Attribution aux administrateurs délégués d’un droit d’accès limité à Business Desk, vous autoriserez ces comptes d’utilisateur à accéder uniquement à des modules, des catalogues et des tâches spécifiques de Business Desk.

Chacune des étapes répertoriées ci-dessous est nécessaire à l’étape suivante. Il est important d’effectuer les étapes dans l’ordre suivant :

  • Étape 1 : Ajout du compte AdminMatBur à la liste Autorisations de sécurité de Business Desk
  • Étape 2 : Ajout du compte AdminFourBur à la liste Autorisations de sécurité de Business Desk


Étape1: Ajout du compte AdminMatBur à la liste Autorisations de sécurité de Business Desk

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 1 : Ajout du compte AdminMatBur à la liste Autorisations de sécurité de Business Desk

  1. Dans Business Desk, cliquez sur le module Sécurité, puis sur Autorisations.
  2. Dans l’écran Autorisations de sécurité, cliquez sur Ajouter à la liste.
  3. Dans la zone de texte Compte de la boîte de dialogue Ajouter un compte, tapez <domaine>\AdminMatBur, <domaine> étant le nom de votre domaine Active Directory.
  4. Cliquez sur Ajouter.

Vous avez ajouté le compte AdminMatBur à la liste Autorisations de sécurité de Business Desk. Passez à l’Étape 2 : Ajout du compte AdminFourBur à la liste Autorisations de sécurité de Business Desk.


Étape2: Ajout du compte AdminFourBur à la liste Autorisations de sécurité de Business Desk

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 2 : Ajout du compte AdminFourBur à la liste Autorisations de sécurité de Business Desk

  1. Dans l’écran Autorisations de sécurité, cliquez sur Ajouter à la liste.
  2. Dans la zone de texte Compte de la boîte de dialogue Ajouter un compte, tapez <domaine>\AdminFourBur, <domaine> étant le nom de votre domaine Active Directory.
  3. Cliquez sur Ajouter.
  4. Pour revenir à l’écran Commerce Server : Business Desk, cliquez sur Retour dans la barre d’outils.

Vous avez ajouté les comptes Windows AdminMatBur et AdminFourBur à la liste Autorisations de sécurité de Business Desk. À ce stade, vous n’avez encore autorisé personne à accéder à des modules Business Desk. Passez à la Leçon 6 : Attribution aux administrateurs délégués d’un droit d’accès limité à Business Desk, au cours de laquelle vous allez autoriser ces comptes d’utilisateur à accéder à des modules, des catalogues et des tâches de Business Desk.


Leçon6: Attribution aux administrateurs délégués d'un droit d'accès limité à Business Desk

Envoyer des commentaires sur cette page Commerce Server 2002

Leçon 6 : Attribution aux administrateurs délégués d’un droit d’accès limité à Business Desk

Au cours de cette leçon, vous allez accorder un droit d’accès limité aux modules, catalogues et tâches de Business Desk à des personnes de confiance, membres des groupes de produits Matériel de bureau et Fournitures de bureau.

Chacune des étapes répertoriées ci-dessous est nécessaire à l’étape suivante. Il est important d’effectuer les étapes dans l’ordre suivant :

  • Étape 1 : Accès limité pour le compte AdminMatBur
  • Étape 2 : Accès limité pour le compte AdminFourBur


Étape1: Accès limité pour le compte AdminMatBur

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 1 : Accès limité pour le compte AdminMatBur

  1. Cliquez sur Sécurité, puis sur Autorisations.
  2. Dans l’écran Autorisations de sécurité, sélectionnez <domaine>\AdminMatBur dans la liste déroulante Compte Windows.
  3. Dans la section Entités sécurisables, développez Catalogue.
  4. Dans la ligne Catalogues, activez la case à cocher Autoriser, puis cliquez sur Détails.
  5. Dans l’écran Détail des autorisations : Catalogues, dans la section Autorisations : modifier, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Fournitures de bureau | Activer la case à cocher Refuser.
    Matériel de bureau | Activer la case à cocher Autoriser.
    Catalogue virtuel | Activer la case à cocher Refuser.
  6. Pour revenir à l’écran Autorisations de sécurité, cliquez sur Retour dans la barre d’outils.
  7. Dans l’écran Autorisations de sécurité, dans la section Entités sécurisables, sur la ligne Propriétés du catalogue, activez la case à cocher Autoriser.
  8. Développez la section Accès aux catégories/modules/tâches de Business Desk, puis faites défiler le contenu de la page vers le bas pour voir la section Catalogues. Sur la ligne Éditeur de catalogue, activez la case à cocher Autoriser.

    À présent, la case à cocher Autoriser est activée pour les lignes Catalogues et Éditeur de catalogue, ce qui autorise le détenteur de ce compte d’utilisateur Windows à accéder uniquement au module Éditeur de catalogue de Business Desk.

  9. Dans la section Accès aux catégories/modules/tâches de Business Desk, sur la ligne Catalogues, cliquez sur Autorisations de tâches.
  10. Dans l’écran Détail des autorisations : Catalogues, faites défiler le contenu de la page vers le bas pour voir toutes les tâches Éditeur de catalogue et effectuez les opérations suivantes :
    Utilisez ceci Pour faire cela
    Nouveau Activer la case à cocher Refuser.

    L’utilisateur se voit ainsi refuser l’autorisation de créer des catalogues.
    Ouvrir le Catalogue Activer la case à cocher Autoriser.

    L’utilisateur peut ainsi ouvrir les catalogues auxquels il est autorisé à accéder.
    Modifier les propriétés Activer la case à cocher Refuser.

    L’utilisateur se voit ainsi refuser l’autorisation de modifier des définitions de propriétés.
    Importer Activer la case à cocher Refuser.

    L’utilisateur se voit ainsi refuser l’autorisation d’importer des catalogues dans ce site.
    Exporter Activer la case à cocher Autoriser.

    L’utilisateur peut ainsi exporter, à partir de ce site, les catalogues auxquels il est autorisé à accéder.
    Supprimer Activer la case à cocher Refuser.

    L’utilisateur se voit ainsi refuser l’autorisation de supprimer des catalogues.
    Envoyer Activer la case à cocher Autoriser.

    Vous autorisez ainsi cet utilisateur à envoyer des données à un serveur BizTalk. Toutefois, cette fonctionnalité n’est pas utilisée dans ce didacticiel.
    Reconstruire Activer la case à cocher Autoriser.

    Permet à cet utilisateur de reconstruire des catalogues.

    Important

    • Vous ne devez accorder l’accès à la tâche Reconstruire qu’aux seuls administrateurs délégués dignes de confiance pour reconstruire un catalogue. Un utilisateur ayant accès à la tâche Reconstruire est autorisé à reconstruire n’importe quel autre catalogue de votre site.
    Actualiser Activer la case à cocher Autoriser.

    Vous autorisez ainsi l’utilisateur à actualiser (publier) les modifications apportées aux catalogues auxquels il est autorisé à accéder.

    Vous venez d’autoriser l’utilisateur à ouvrir le catalogue auquel il a accès et à effectuer les tâches dont les cases à cocher sont activées.

  11. Cliquez sur Retour pour revenir à l’écran Autorisations de sécurité.

Passez à l’Étape 2 : Accès limité pour le compte AdminFourBur.


Étape2: Accès limité pour le compte AdminFourBur

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 2 : Accès limité pour le compte AdminFourBur

  1. Dans l’écran Autorisations de sécurité, sélectionnez <domaine>\AdminFourBur dans la liste déroulante Compte Windows.
  2. Dans la section Entités sécurisables, développez Catalogue.
  3. Dans la ligne Catalogues, activez la case à cocher Autoriser, puis cliquez sur Détails.
  4. Dans l’écran Détail des autorisations : Catalogues, dans la section Autorisations : modifier, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Fournitures de bureau | Activer la case à cocher Autoriser.
    Matériel de bureau | Activer la case à cocher Refuser.
    Catalogue virtuel | Activer la case à cocher Refuser.
  5. Pour revenir à l’écran Autorisations de sécurité, cliquez sur Retour dans la barre d’outils.
  6. Dans la section Entités sécurisables, sur la ligne Propriétés du catalogue, activez la case à cocher Autoriser.
  7. Dans la section Accès aux catégories/modules/tâches de Business Desk, sur la ligne Éditeur de catalogue, activez la case à cocher Autoriser.

    À présent, la case à cocher Autoriser est activée pour les lignes Catalogues et Éditeur de catalogue, ce qui autorise le détenteur de ce compte d’utilisateur Windows à accéder au module Éditeur de catalogue de Business Desk.

  8. Dans la section Accès aux catégories/modules/tâches de Business Desk, sur la ligne Catalogues, cliquez sur Autorisations de tâches.
  9. Dans l’écran Détail des autorisations : Catalogues, faites défiler le contenu de la page vers le bas pour voir toutes les tâches Éditeur de catalogue et effectuez les opérations suivantes :
    Utilisez ceci Pour faire cela
    Nouveau Activer la case à cocher Refuser.

    L’utilisateur se voit ainsi refuser l’autorisation de créer des catalogues.
    Ouvrir le Catalogue Activer la case à cocher Autoriser.

    L’utilisateur peut ainsi ouvrir les catalogues auxquels il est autorisé à accéder.
    Modifier les propriétés Activer la case à cocher Refuser.

    L’utilisateur se voit ainsi refuser l’autorisation de modifier des définitions de propriétés.
    Importer Activer la case à cocher Refuser.

    L’utilisateur se voit ainsi refuser l’autorisation d’importer des catalogues dans ce site.
    Exporter Activer la case à cocher Autoriser.

    L’utilisateur peut ainsi exporter, à partir de ce site, les catalogues auxquels il est autorisé à accéder.
    Supprimer Activer la case à cocher Refuser.

    L’utilisateur se voit ainsi refuser l’autorisation de supprimer des catalogues.
    Envoyer Activer la case à cocher Autoriser.

    Vous autorisez ainsi cet utilisateur à envoyer des données à un serveur BizTalk. Toutefois, cette fonctionnalité n’est pas utilisée dans ce didacticiel.
    Reconstruire Activer la case à cocher Autoriser.

    Permet à cet utilisateur de reconstruire des catalogues.

    Important

    • Vous ne devez accorder l’accès à la tâche Reconstruire qu’aux seuls administrateurs délégués dignes de confiance pour reconstruire un catalogue. Un utilisateur ayant accès à la tâche Reconstruire est autorisé à reconstruire n’importe quel autre catalogue de votre site.
    Actualiser Activer la case à cocher Autoriser.

    Vous autorisez ainsi l’utilisateur à actualiser (publier) les modifications apportées aux catalogues auxquels il est autorisé à accéder.

    Vous venez d’autoriser l’utilisateur à ouvrir le catalogue auquel il a accès et à effectuer les tâches dont les cases à cocher sont activées ci-dessus.

  10. Pour revenir à l’écran Autorisations de sécurité, cliquez sur Retour dans la barre d’outils.
  11. Pour enregistrer votre configuration et revenir à l’écran Commerce Server : Business Desk, cliquez sur Enregistrer et retour dans la barre d’outils.

Passez à la Leçon 7 : Vérification de l’accès à Business Desk.


Leçon7: Vérification de l'accès à Business Desk

Envoyer des commentaires sur cette page Commerce Server 2002

Leçon 7 : Vérification de l’accès à Business Desk

Dans le monde réel, les responsables Business Desk des groupes de produits Fournitures de bureau et Matériel de bureau accéderaient à Business Desk à partir de leur propre ordinateur. Pour simuler ce comportement, vous allez accéder à Business Desk avec Internet Explorer, depuis une station de travail autre que le contrôleur de domaine et l’ordinateur Commerce Server que vous avez utilisés jusqu’ici.

Important

  • Il est déconseillé d’autoriser des responsables Business Desk à accéder à Business Desk via Internet. Les responsables Business Desk devraient accéder à Business Desk à partir de l’intranet de votre société.

Chacune des étapes répertoriées ci-dessous est nécessaire à l’étape suivante. Il est important d’effectuer les étapes dans l’ordre suivant :

  • Étape 1 : Vérification de l’accès pour le compte AdminMatBur
  • Étape 2 : Vérification de l’accès pour le compte AdminFourBur


Étape1: Vérification de l'accès pour le compte AdminMatBur

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 1 : Vérification de l’accès pour le compte AdminMatBur

  1. Ouvrez une session sur votre station de travail.

    Remarques Remarques

    • Si votre station de travail est un ordinateur exécutant Windows NT version 4, Windows 2000 ou Windows XP, vous devez ouvrir une session en utilisant un compte Windows membre du groupe Administrateurs sur votre station de travail. Cette restriction ne concerne pas les ordinateurs exécutant Windows 9X. Ce compte d’ouverture de session ne doit pas être membre du groupe Administrateurs sur l’ordinateur Commerce Server ou sur votre contrôleur de domaine.
    • Il n’est pas nécessaire que votre station de travail fasse partie du même domaine que l’ordinateur exécutant Commerce Server, ni qu’elle soit approuvée pour la délégation.
    • Le compte Windows que vous utilisez pour ouvrir une session sur votre station de travail ne doit pas nécessairement se trouver dans le même domaine que l’ordinateur Commerce Server.
  2. Sur votre station de travail, ouvrez Internet Explorer et vérifiez que vos Paramètres de sécurité sont configurés conformément aux instructions de la rubrique Impossible d’installer Business Desk.

    remarque Remarque

    • Ces paramètres de sécurité doivent être configurés séparément pour chaque profil utilisateur.
  3. Dans Internet Explorer, tapez http://<computername>supplieradbizdesk dans la zone de texte Adresse, <nomordinateur> étant le nom ou l’adresse IP de l’ordinateur qui exécute Commerce Server, puis appuyez sur ENTRÉE.

    remarque Remarque

    • Si vous recevez le message « Impossible d’afficher la page », essayez de remplacer le nom de l’ordinateur exécutant Commerce Server par son adresse IP. En effet, cette erreur peut être due à l’échec de la résolution du nom d’ordinateur en une adresse IP, ce qui n’a rien d’étonnant si votre station de travail ne se trouve pas dans le même domaine que l’ordinateur Business Desk.

    La boîte de dialogue Connecter à <nomordinateur> apparaît.

  4. Dans la boîte de dialogue Connecter à <nomordinateur>, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom d’utilisateur Taper <nomdomaine>\AdminMatBur,

    où <nomdomaine> est le nom de votre domaine Windows.
    Mot de passe | Taper SésameOuvre.
  5. Cliquez sur OK.

    Lorsqu’un utilisateur accède à Business Desk pour la première fois, la boîte de dialogue Rechercher un dossier apparaît. Ce dossier est celui où est enregistré le fichier .hta créé lors de votre premier accès à Business Desk. Un raccourci vers ce fichier apparaît également sur votre bureau.

  6. Dans la boîte de dialogue Rechercher un dossier, sélectionnez le dossier où vous souhaitez placer le fichier .hta, puis cliquez sur OK.
  7. Dans Internet Explorer, dans la fenêtre Statut, cliquez sur Démarrer Business Desk.

    Le message « Chargement en cours, patientez... » s’affiche, puis l’écran Commerce Server : Business Desk apparaît. Observez que seul le module Catalogues apparaît dans Business Desk. Ceci est dû au fait que vous n’avez autorisé l’utilisateur AdminMatBur à accéder qu’au module Catalogues et au sous-module Éditeur de catalogue dans la Leçon 6 : Attribution aux administrateurs délégués d’un droit d’accès limité à Business Desk.

  8. Développez le module Catalogues, puis cliquez sur Éditeur de catalogue.

    L’écran Catalogues s’affiche. Observez que la tâche Nouveau n’apparaît pas dans la barre d’outils. Ceci est dû au fait que vous avez interdit à l’utilisateur de créer des catalogues lors de l’Étape 1 : Accès limité pour le compte AdminMatBur.

  9. Dans l’écran Catalogues, dans la colonne Nom, sélectionnez Fournitures de bureau dans la liste.

    Observez que le bouton Ouvrir le Catalogue, dans la barre d’outils, n’est pas disponible. Ceci est dû au fait que vous avez interdit au compte AdminMatBur d’accéder au catalogue Fournitures de bureau.

  10. Cliquez sur Désélectionner tout pour désélectionner le catalogue Fournitures de bureau.
  11. Dans l’écran Catalogues, dans la colonne Nom, sélectionnez Catalogue virtuel dans la liste.

    Observez que le bouton Ouvrir le Catalogue, dans la barre d’outils, n’est pas disponible. Ceci est dû au fait que vous avez interdit au compte AdminMatBur d’accéder au catalogue virtuel.

  12. Cliquez sur Désélectionner tout pour désélectionner le catalogue virtuel.
  13. Dans l’écran Catalogues, dans la colonne Nom, sélectionnez Matériel de bureau dans la liste.

    Observez que tous les boutons de la barre d’outils, y compris le bouton Ouvrir le Catalogue, sont disponibles.

  14. Cliquez sur Ouvrir le Catalogue pour ouvrir le catalogue Matériel de bureau.
  15. Dans l’écran Contenu du catalogue – Matériel de bureau (Anglais – États-Unis), dans la section Produits, cliquez sur Rechercher.

    Les produits Stylo et Crayon que vous avez créés dans l’atelier 3 apparaissent dans la zone de liste Produits.

  16. Pour revenir à l’écran Catalogues, cliquez sur Retour dans la barre d’outils.
  17. Fermez Business Desk, puis fermez le navigateur.

Vous venez de vérifier que le compte Windows AdminMatBur a uniquement accès au catalogue de base Matériel de bureau. Passez à l’Étape 2 : Vérification de l’accès pour le compte AdminFourBur.


Étape2: Vérification de l'accès pour le compte AdminFourBur

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 2 : Vérification de l’accès pour le compte AdminFourBur

  1. En utilisant toujours la même station de travail, ouvrez Internet Explorer.
  2. Dans Internet Explorer, tapez http://<nomordinateur>supplieradbizdesk dans la zone de texte Adresse, <nomordinateur> étant le nom ou l’adresse IP de l’ordinateur qui exécute Commerce Server, puis appuyez sur ENTRÉE.

    remarque Remarque

    • Si vous recevez le message « Impossible d’afficher la page », essayez de remplacer le nom de l’ordinateur exécutant Commerce Server par son adresse IP.
  3. Dans la boîte de dialogue Connecter à <nomordinateur>, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom d’utilisateur Taper <nomdomaine>\AdminFourBur,

    où <nomdomaine> est le nom de votre domaine Windows.
    Mot de passe | Taper SésameOuvre2.
  4. Cliquez sur OK.

    Lorsqu’un utilisateur accède à Business Desk pour la première fois avec Internet Explorer, la boîte de dialogue Rechercher un dossier apparaît. Ce dossier est celui où est enregistré le fichier .hta créé lors de votre premier accès à Business Desk avec Internet Explorer. Un raccourci vers ce fichier apparaît également sur votre bureau.

  5. Dans la boîte de dialogue Rechercher un dossier, sélectionnez le dossier où vous souhaitez placer le fichier .hta, puis cliquez sur OK.
  6. Dans Internet Explorer, dans la fenêtre État, cliquez sur Démarrer Business Desk.

    Le message « Chargement en cours, patientez... » s’affiche, puis l’écran Commerce Server : Business Desk apparaît. Observez que seul le module Catalogues apparaît dans Business Desk. Ceci est dû au fait que vous avez autorisé cet utilisateur à n’accéder qu’au module Catalogues et au sous-module Éditeur de catalogue dans la Leçon 6 : Attribution aux administrateurs délégués d’un droit d’accès limité à Business Desk.

  7. Développez le module Catalogues, puis cliquez sur Éditeur de catalogue.

    L’écran Catalogues s’affiche. Observez que la tâche Nouveau n’apparaît pas dans la barre d’outils. Ceci est dû au fait que vous avez interdit à l’utilisateur de créer des catalogues lors de l’Étape 2 : Accès limité pour le compte AdminFourBur.

  8. Dans l’écran Catalogues, dans la colonne Nom, sélectionnez Matériel de bureau dans la liste.

    Observez que le bouton Ouvrir le Catalogue, dans la barre d’outils, n’est pas disponible. Ceci est dû au fait que vous avez interdit au compte AdminFourBur d’accéder au catalogue Matériel de bureau.

  9. Cliquez sur Désélectionner tout pour désactiver la case à cocher du catalogue Matériel de bureau.
  10. Dans l’écran Catalogues, dans la colonne Nom, sélectionnez Catalogue virtuel dans la liste.

    Observez que le bouton Ouvrir le Catalogue, dans la barre d’outils, n’est pas disponible. Ceci est dû au fait que vous avez interdit au compte AdminFourBur d’accéder à ce catalogue.

  11. Cliquez sur Désélectionner tout pour désactiver la case à cocher du catalogue virtuel.
  12. Dans l’écran Catalogues, dans la colonne Nom, sélectionnez Fournitures de bureau dans la liste.

    Observez que tous les boutons de la barre d’outils, y compris le bouton Ouvrir le Catalogue, sont disponibles.

  13. Cliquez sur Ouvrir le Catalogue pour ouvrir le catalogue Fournitures de bureau.
  14. Dans l’écran Contenu du catalogue – Fournitures de bureau (Anglais – États-Unis), dans la section Produits, cliquez sur Rechercher.

    Les produits Imprimante que vous avez créés dans l’atelier 3 apparaissent dans la zone de liste Produits.

  15. Pour revenir à l’écran Catalogues, cliquez sur Retour .

Vous venez de vérifier que le compte Windows AdminFourBur a uniquement accès au catalogue de base Fournitures de bureau.

Ainsi se termine le didacticiel entreprise-entreprise.


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

Envoyer des commentaires sur cette page 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.


Systèmes Commerce Server

À un niveau élevé, Commerce Server 2002 comprend cinq systèmes intégrés :

  • Système d’analyse commerciale
  • Système de profil
  • Système de catalogue de produits
  • Système de ciblage
  • Système de pipeline de traitement des commandes

Chacun de ces systèmes peut être facilement personnalisé par un développeur de site pour répondre à vos besoins commerciaux.

Les chefs d’entreprise utilisent Commerce Server Business Desk avec les systèmes Commerce Server, par exemple pour mettre à jour les catalogues, cibler le contenu en fonction des utilisateurs, définir des profils pour les utilisateurs et les organisations et analyser l’utilisation et la productivité de leurs sites. Les administrateurs système utilisent le Gestionnaire Commerce Server pour configurer les ressources système et gérer les applications, les bases de données et les serveurs Web.

Les systèmes Commerce Server, Business Desk, le Gestionnaire Commerce Server et les bases de données Commerce Server sont préconfigurés et compressés dans les sites solutions, que les développeurs de site peuvent utiliser comme base pour la création d’un site personnalisé et l’intégration d’applications tierces.

La figure suivante présente une vue d’ensemble des systèmes Commerce Server intégrés dans les sites solutions, avec Business Desk, le Gestionnaire Commerce Server et les bases de données Commerce Server.

Figure présentant une vue d'ensemble de Commerce Server.


Système d'analyse commerciale

Envoyer des commentaires sur cette page Commerce Server 2002

Système d’analyse commerciale

Le système d’analyse commerciale fournit une aide à la prise de décision complète par l’intermédiaire du Data Warehouse, de la prévision, du data mining et de l’analyse avancée. Vous pouvez installer Microsoft Commerce Server 2002 afin d’utiliser le système d’analyse commerciale en tant que fonctionnalité autonome et vous pouvez l’utiliser avec des applications non-Commerce Server.

Le système d’analyse commerciale se compose de trois parties principales.

Cette section contient les rubriques suivantes :

  • Data Warehouse. Décrit l’association d’une base de données SQL Server, d’une base de données OLAP et d’un ensemble de processus utilisés par un administrateur système pour importer une grande quantité de données opérationnelles concernant l’activité du site. Le Data Warehouse de Commerce Server stocke et gère les données de la base de données à des fins d’analyse commerciale, à savoir pour la prévision, le data mining et les rapports d’analyse.
  • Rapports d’analyse. Fournit des dizaines de rapports vous permettant d’analyser les ventes des produits, l’utilisation du Web, les diagnostics de site Web, etc. Il comprend des fonctionnalités facilitant et accélérant la création de rapports, par exemple :
    • la fonctionnalité d’extraction qui vous permet d’utiliser les contrôles du tableau croisé dynamique afin d’exposer les données sous-jacentes ;
    • la fonctionnalité d’accès à distance permettant aux cadres dirigeants d’accéder à la base de données OLAP via des pare-feu ou des serveurs proxy et d’exécuter des rapports.

Le tableau suivant répertorie des rubriques d’aide essentielles de Commerce Server 2002 vous permettant d’en savoir plus sur le Data Warehouse, la prévision et les rapports d’analyse.

Pour en savoir plus sur le thème | Consultez
Data Warehouse | Concepts de Data Warehouse Configuration du Data Warehouse Plusieurs sites et un Data Warehouse Spécification des données à importer dans le Data Warehouse Assistant Importation du Data Warehouse Importation de données dans le Data Warehouse Exécution de tâches DTS à l’aide de scripts Processus ETL (Extract, Transform, Load) pour les tâches DTS Data Warehouse, Analysis, and OLE DB Provider (en anglais)
Rapports d’analyse | Analyse Business Desk Analysis/Reporting Schema (en anglais) Analysis/Reporting XML Structures (en anglais)


Data Warehouse

Le Data Warehouse de Commerce Server représente l’association d’une base de données SQL Server, d’une base de données OLAP (Online Analytical Processing) et d’un ensemble de processus utilisés par un administrateur système pour importer et gérer des données. Le Data Warehouse stocke et gère les données de la base de données dans le but de procéder à des analyses commerciales : data mining, prévision et rapports d’analyse.

Le Data Warehouse importe une grande quantité de données collectées à partir de plusieurs sources de données différentes. Il collecte quotidiennement des données opérationnelles sur les utilisateurs qui visitent votre site : données de profil utilisateur, données de transaction et données d’historique des clics. Il collecte également les données sur les produits et la publicité. Ces données sont rassemblées à partir des journaux de serveur Web, des bases de données Microsoft Commerce Server et des autres sources de données que vous spécifiez. Le Data Warehouse gère ensuite les données dans la base de données de sorte qu’elles soient facilement accessibles pour une utilisation dans les modèles de prévision et pour la création de rapports.

Le Data Warehouse comprend les composants essentiels suivants :

  • Configuration du Data Warehouse : il s’agit d’un outil utilisé pour créer un nouveau Data Warehouse. Il ne sert pas à configurer les Data Warehouse existants.
  • Tâches DTS de Commerce Server : il s’agit des tâches de Commerce Server utilisées pour importer et modifier les données du Data Warehouse. Les tâches de Commerce Server sont chargées dans SQL Server au moment de la décompression d’un site. Vous ajoutez les tâches DTS de Commerce Server à un lot SQL Server, puis vous exécutez ce lot afin d’apporter des modifications au Data Warehouse. Pour plus d’informations sur le fonctionnement des tâches DTS de Commerce Server, consultez Processus ETL (Extract, Transform, Load) pour les tâches DTS.

    Vous pouvez soit configurer manuellement les tâches DTS de Commerce Server pour importer des données, soit utiliser l’Assistant Importation du Data Warehouse.

  • Assistant Importation du Data Warehouse : il s’agit d’une interface conçue pour vous permettre d’importer rapidement et en toute facilité des données dans le Data Warehouse. Vous pouvez aussi configurer manuellement les tâches DTS du Data Warehouse pour spécifier les données à importer.

    Diagramme du schéma de Data Warehouse : consultez ce diagramme (au format affiche) pour visualiser le schéma du Data Warehouse avant d’étendre ce dernier ; ce diagramme est disponible dans la documentation de Commerce Server 2002 Enterprise Edition et vous pouvez le commander sur le site Web à l’adresse suivante : http://go.microsoft.com/fwlink/?LinkId=6724

La figure suivante montre les sources de données à partir desquelles le Data Warehouse importe les données, les tâches DTS qui exécutent les processus d’extraction, de transformation et de chargement, ainsi que les outils d’analyse que le Data Warehouse prend en charge.

Figure montrant les composants du Data Warehouse et leur interaction.

Le tableau suivant répertorie des rubriques d’aide essentielles de Commerce Server vous permettant d’en savoir plus sur le Data Warehouse, la prévision et les rapports d’analyse.

Pour en savoir plus sur le thème | Consultez
Déploiement du Data Warehouse | Concepts de Data Warehouse Configuration du Data Warehouse Plusieurs sites et un Data Warehouse Assistant Importation du Data Warehouse
Sécurisation des bases de données du Data Warehouse | Accès au serveur d’analyse via HTTPS Scripts de sécurisation des bases de données accessibles aux tâches DTS Scripts de sécurisation des bases de données accessibles aux rapports Chaînes de connexion du Data Warehouse
Importation de données dans le Data Warehouse | Spécification des données à importer dans le Data Warehouse Assistant Importation du Data Warehouse Exécution de tâches DTS à l’aide de scripts Processus ETL (Extract, Transform, Load) pour les tâches DTS Dépannage du processus d’importation du Data Warehouse
 | Data Warehouse, Analysis, and OLE DB Provider (en anglais)


Rapports d'analyse

Envoyer des commentaires sur cette page Commerce Server 2002

Rapports d’analyse

Les fonctionnalités de rapports d’analyse vous permettent d’analyser les données stockées dans le Data Warehouse. Microsoft Commerce Server fournit des dizaines de rapports vous permettant d’analyser les ventes des produits, l’utilisation du site Web, les diagnostics de site, etc.

Vous exécutez des rapports avec les modules Analyse Commerce Server Business Desk. Si vous utilisez Commerce Server Enterprise Edition, vous pouvez exporter les résultats des rapports sous la forme de listes, puis cibler le contenu en fonction des utilisateurs.

Commerce Server inclut les fonctionnalités suivantes qui facilitent et accélèrent la création de rapports :

  • La fonctionnalité d’accès à distance qui permet aux cadres dirigeants d’accéder à la base de données OLAP via des pare-feu ou des serveurs proxy et d’exécuter des rapports (cette fonctionnalité nécessite SQL Server 2000 Édition Entreprise, y compris Analysis Services pour SQL Server 2000 Édition Entreprise).
  • La fonctionnalité d’extraction qui vous permet d’utiliser les contrôles du tableau croisé dynamique afin d’exposer les données sous-jacentes.

L’exécution des rapports Commerce Server est par ailleurs rapide, car les données requises pour de nombreux rapports sont stockées dans une base de données OLAP.

La fonctionnalité de rapports d’analyse comprend les composants essentiels suivants :

  • Modules Analyse Business Desk : utilisez ces modules pour exécuter des rapports, puis les manipuler dans Internet Explorer à l’aide de tableaux croisés dynamiques Microsoft et de graphiques croisés dynamiques Microsoft.
  • Rapports dynamiques : utilisez ces rapports pour rassembler les données les plus récentes dans le Data Warehouse. Les rapports dynamiques sont créés au moment de l’exécution.
  • Rapports d’extraction dynamiques : utilisez ces rapports dynamiques pour afficher des informations détaillées sur l’ensemble des dimensions du cube qui contient la dimension qui a fait l’objet d’un clic.
  • Rapports statiques : exécutez ces rapports immédiatement sur demande, puis stockez-les avec leurs données dans le Data Warehouse.
  • Le tableau suivant répertorie les rapports inclus dans Microsoft Commerce Server 2002.

Remarque

  • Les rapports précédés d’un astérisque (*) ne sont disponibles que dans Commerce Server 2002 Enterprise Edition.
Rapports dynamiques accédant aux cubes OLAP (aucun rapport statique n’accède aux cubes) | Rapports dynamiques accédant à la base de données SQL Server | Rapports statiques accédant à la base de données SQL Server
Tendances d’utilisation | *Utilisateurs inscrits par date d’inscription | Chaînes de requête (valeurs multiples)
Tendances des utilisateurs | *Jours avant inscription de l’utilisateur | Chaînes de requête (valeur unique)
Activité par navigateur | *Taux d’inscription des utilisateurs | Analyse des chemins d’entrée
Utilisateurs distincts par période |  | *Propriétés de l’utilisateur inscrit
Synthèse de l’utilisation par semaine de l’année |  | *Ventes client
Synthèse de l’utilisation par jour de la semaine |  | *Nouveaux utilisateurs inscrits
Synthèse de l’utilisation par heure de la journée |  |
Statistiques d’activités générales |  |
Pages d’entrée |  |
Pages de sortie |  |
Synthèse de la bande passante |  |
Tendances de la bande passante |  |
Ventes produits |  |
Nombre d’accès par état HTTP |  |
Nombre d’accès par état Win32 |  |
Répertoires |  |
Domaines de référence les plus demandés par nombre de demandes |  |
Pages les plus demandées |  |
*Tendances des visites des utilisateurs |  |
*Synthèse de l’élément de la campagne |  |
*Portée et fréquence d’accès à la publicité par date |  |
*Portée et fréquence d’accès à la publicité par annonceur |  |
*Itinéraire d’achat de l’acheteur |  |
*Synthèse de l’événement de la campagne |  |
*Événements du panier d’achat |  |
*Événements de commande |  |

Le tableau suivant répertorie des rubriques d’aide essentielles de Commerce Server 2002 vous permettant d’en savoir plus sur les rapports d’analyse.

Pour en savoir plus sur le thème | Consultez
Personnalisation des rapports | Analysis/Reporting Schema (en anglais)
Sécurité des rapports | Scripts de sécurisation des bases de données accessibles aux rapports Sécurisation des rapports Accès au serveur d’analyse via HTTPS


Système de profil

Le système de profil de Commerce Server vous permet de collecter les informations que vous spécifiez pour n’importe quel élément à caractère commercial. Par exemple, vous pouvez collecter des informations de profil pour les utilisateurs anonymes, un contexte (tel que la date et l’heure d’une visite) ou une organisation.

Microsoft Commerce Server donne la possibilité de regrouper les données de profil utilisateur provenant de plusieurs bases physiques et de les présenter au développeur d’applications sous la forme d’un objet unique. Il est important de mentionner que cette fonction peut facilement être étendue pour gérer n’importe quelle entité commerciale logique.

Les informations de profil sont stockées dans la banque de données de profils, qui peut être basée dans Active Directory, SQL Server ou les deux. Vous pouvez exporter des données de la banque de données des profils vers le Data Warehouse, puis utiliser Commerce Server Business Desk pour analyser les données de profil collectées.

Le système de profil comprend les composants essentiels suivants :

  • Ressource Profils : utilisez cette ressource pour gérer la collecte de données utilisateur sur votre site Web. La ressource Profils est gérée par le biais du Gestionnaire Commerce Server, qui est hébergé sur la console MMC (Microsoft Management Console). Vous créez des sources de données, des objets de données et des membres de données, créez et validez des définitions de profils, ainsi que vous exportez et importez des schémas de profil.
  • Banque de données de profils : il s’agit d’un groupe de tables contenu dans une base de données Microsoft SQL Server qui stocke les définitions de profils, les entrées du glossaire du site et les expressions nommées.
  • Objets ProfileObject et ProfileService : lors du développement d’un site, utilisez l’objet ProfileObject pour récupérer les données contenues dans des instances spécifiques d’objet de profil et modifier les valeurs des propriétés de cet objet de profil. Utilisez l’objet ProfileService pour créer, récupérer et supprimer les objets ProfileObject.
  • Fournisseur OLE DB de Commerce Server : il est utilisé pour regrouper les données d’objet ProfileObject provenant de plusieurs banques de données sous-jacentes et exposer les données sous la forme d’un objet Row OLE DB unique.
  • Outils d’authentification : vous pouvez gérer l’authentification des utilisateurs à l’aide des outils suivants :
    • AuthManager : il s’agit d’un objet COM (Component Object Model) qui expose les méthodes permettant d’identifier les utilisateurs et de contrôler l’accès au contenu généré de manière dynamique. Par exemple, un développeur de site peut appeler la méthode GetUserID de l’objet AuthManager pour identifier un utilisateur à partir d’un cookie ou d’une chaîne de requête.
    • AuthFilter : il s’agit d’un filtre ISAPI (Internet Server Application Programming Interface) qui est utilisé et configuré au niveau de l’application Commerce Server sur IIS. Il peut s’appliquer à tous les utilisateurs visitant l’application. AuthFilter fournit cinq modes d’implémentation : authentification Windows, authentification personnalisée, génération de cookie automatique, authentification Windows avec génération de cookie automatique et authentification personnalisée avec génération de cookie automatique.
  • Cryptage par clé tournante : il s’agit d’une fonctionnalité permettant de remplacer les clés publique et privée en cryptage asymétrique par une nouvelle paire, puis de faire migrer les données afin d’utiliser les nouvelles clés. Commerce Server prend en charge le cryptage asymétrique (qui sert à crypter les données devant être cryptées ultérieurement), ainsi que le hachage à sens unique (utilisé pour le masquage des données).
  • Modules Profils Business Desk : ces modules vous permettent de spécifier les informations à collecter concernant les utilisateurs visitant votre site et les informations à importer dans le Data Warehouse. Vous déterminez en outre les informations qui doivent être affichées à des utilisateurs ou à des groupes d’utilisateurs spécifiques, par exemple en créant des expressions de ciblage pour associer du contenu à des utilisateurs ou en spécifiant les utilisateurs qui peuvent visualiser des catalogues donnés.

    Vous pouvez utiliser à la fois la ressource Profils et les modules Profils Business Desk pour :

    • créer, modifier et supprimer des entrées du glossaire du site ;
    • modifier et supprimer des définitions de profils ;
    • créer, modifier et supprimer des profils.
  • Fonctionnalité Service partenaire dans le site solution Supplier : si votre site Web est basé sur le site solution Supplier, les partenaires peuvent utiliser la fonctionnalité Profil partenaire sur votre site Web. Les administrateurs délégués peuvent modifier le profil de leur organisation, ajouter ou mettre à jour des profils utilisateur pour leur organisation, ainsi que visualiser les commandes de l’ensemble des utilisateurs de l’organisation. Vous contrôlez les champs disponibles pour les administrateurs délégués à l’aide de Business Desk.
  • Fonctionnalité Service clientèle dans le site solution Retail : si votre site Web est basé sur le site solution Retail, les utilisateurs de votre site Web peuvent se servir de la fonctionnalité Profil client pour modifier leurs propres profils et s’informer du statut de leurs commandes. Lorsque les utilisateurs se servent pour la première fois de cette fonctionnalité sur votre site Web, les données de leur profil sont affichées. Vous contrôlez les champs que les utilisateurs peuvent modifier à l’aide de Business Desk.

Le tableau suivant répertorie des rubriques d’aide essentielles de Commerce Server 2002 vous permettant d’en savoir plus sur les profils.

Pour en savoir plus sur le thème | Consultez
Concepts | Concepts des profils Méthodes conseillées pour les profils Concepts d’authentification Best Practices for Authentication (en anglais)
Programmation | Privacy Samples (en anglais) ASP-Based Profile Sitelet (en anglais) Example Code for Profile Objects (en anglais) Activation d’AuthFilter pour le site solution Retail Activation d’AuthFilter pour le site solution Supplier Intégration à Passport Authentification de base Outlook Web Access de Microsoft Exchange 2000 Code to Retrieve Login Credentials (en anglais) Création et extraction d’une instance de profil avec une propriété cryptée Example Code for the Microsoft.CommerceServer.Profiles Namespace (en anglais)
Références de programmation | Microsoft.CommerceServer.Runtime.Profiles (en anglais) Microsoft.CommerceServer.Interop.Profiles (en anglais) Profiling System Objects (en anglais) Profiles Schema (en anglais) Profiling System and OLE DB Provider (en anglais) Profile XML Structures (en anglais)
Sécurité des profils | Sécurisation de la base de données des profils Gestion des propriétés de profil cryptées Sécurité Business Desk
Déploiement du système de profils | Création d’une définition de profil avec deux sources de données Exportation et importation de schéma de profil dans la ressource Profils Compression de schéma de profil étendu
Création et gestion de profils | Gestion des sources de données dans la ressource Profils Gestion des définitions de profils dans la ressource Profils Profils Business Desk


Système de catalogue de produits

Le système de catalogue de produits permet d’importer, d’exporter, de créer et de gérer les catalogues en ligne. À l’aide des modules Catalogues Commerce Server Business Desk, les chefs d’entreprise peuvent créer des catalogues de produits, ainsi qu’ajouter et mettre à jour les données sur les produits.

Il n’est pas nécessaire que les utilisateurs Business Desk possèdent des connaissances particulières sur les bases de données qui stockent les données sur les produits, même s’ils assemblent un catalogue de produits à partir de différentes sources, par exemple à partir de plusieurs fournisseurs.

Les modules Catalogues Business Desk vous permettent par exemple d’effectuer les opérations suivantes :

  • créer des catalogues prenant en charge plusieurs langues et devises ;
  • importer ou exporter des catalogues au format XML (Extensible Markup Language) ou CSV (valeurs séparées par une virgule) ;
  • exporter les modifications apportées à un catalogue depuis une date spécifique ;
  • regrouper le contenu de plusieurs catalogues ;
  • échanger des catalogues avec des partenaires commerciaux à l’aide de Microsoft BizTalk Server 2000 et des versions ultérieures ;
  • appliquer plusieurs mécanismes de recherche pour permettre aux utilisateurs visitant votre site de trouver ce qu’ils cherchent dans votre catalogue.

Le système de catalogue de produits comprend les composants essentiels suivants :

  • Modules Catalogues Business Desk : utilisez ces modules pour créer et gérer vos catalogues.
  • Objet CatalogManager : lors du développement de votre site, cet objet vous permet d’utiliser le système de catalogue de produits dans son intégralité. Ses méthodes et propriétés affectent tous les catalogues contenus dans le système de catalogue de produits.

    Une nouvelle fonctionnalité de l’objet CatalogManager dans Microsoft Commerce Server 2002 permet de prendre en charge les clés de jointure, que vous utilisez pour établir des liaisons vers des tables externes en vue de récupérer des données d’inventaire au moment de l’exécution et d’associer plusieurs valeurs à un produit.

  • Base de données MSCS_CatalogScratch : le système de catalogue de produits utilise la base de données MSCS_CatalogScratch pour le stockage des tables de catalogue temporaires.
  • Script CatalogCleanup.vbs : utilisez ce script pour supprimer les tables temporaires de la base de données MSCS_CatalogScratch. Le script CatalogCleanup.vbs se trouve dans le dossier \Program Files\Microsoft Commerce Server 2002.
  • Script Updatefulltextcatalogs.vbs : utilisez ce script pour mettre à jour les index de texte intégral de l’ensemble des catalogues de produits dans un catalogue de texte intégral. Le script Updatefulltextcatalog.vbs se trouve dans le dossier \Program Files\Microsoft Commerce Server 2002.
  • Script UpdateLanguageInfo.vbs : utilisez ce script pour le remplissage de la table CatalogLanguageMap. Configurez la coupure de mots pour chaque colonne indexée en texte intégral dans la table neutre.

Le tableau suivant répertorie des rubriques d’aide essentielles de Commerce Server vous permettant d’en savoir plus sur les catalogues.

Pour en savoir plus sur le thème | Consultez
Concepts | Concepts des catalogues Méthodes conseillées pour les catalogues
Programmation | Programming Best Practices for Catalogs (en anglais) Example Code for the Microsoft.CommerceServer.Catalog Namespace (en anglais) Example Code for Product Catalog Objects (en anglais) ASP-Based Catalog Sitelet (en anglais) Integrating a Third-Party Product Catalog (en anglais)
Références de programmation | Microsoft.CommerceServer.Runtime.Catalog (en anglais) Microsoft.CommerceServer.Interop.Catalog (en anglais) Product Catalog Objects (en anglais) Catalog XML Structures (en anglais)
Sécurité des catalogues | Sécurisation de la base de données du catalogue de produits Sécurité Business Desk
Déploiement du système de catalogue | Réplication du contenu de catalogues Importation d’un fichier de catalogue XML
Création de catalogues et mise à jour du contenu du catalogue | Création d’une définition de catalogue Création d’un catalogue de base Création d’un catalogue virtuel Création d’un catalogue multilingue Tarification d’un produit dans un catalogue de base


Système de ciblage

Le système de ciblage est une plate-forme de haute performance et modulable que les chefs d’entreprise utilisent pour cibler un contenu en fonction d’éléments ou de conditions à caractère commercial quelconques. Il comprend un modèle de ciblage uniforme qui permet aux chefs d’entreprise d’utiliser une seule et même technologie pour cibler différentes situations commerciales.

Vous pouvez utiliser le système de ciblage pour effectuer les opérations suivantes :

  • Personnaliser le contenu proposé à l’aide d’une commercialisation ciblée.
  • Créer et planifier des campagnes marketing pour des clients concurrents travaillant dans un même secteur. Les publicités concurrentes ne sont jamais affichées sur la même page.
  • Facturer vos clients en fonction du nombre de demandes de publicité ou de clics qu’ils souhaitent pour leurs publicités.
  • Facturer vos clients en fonction de la page sur laquelle ils souhaitent faire apparaître leur publicité.

Le système de ciblage comprend cinq principaux domaines de fonctionnalités :

  • Campagnes marketing.
  • Infrastructure de sélection de contenu.
  • Générateur d’expressions.
  • Gestionnaire de listes.
  • Service de publipostage Commerce Server.


Campagnes marketing

Les modules Campagnes marketing Commerce Server Business Desk sont étroitement intégrés au système de profil et au système de catalogue de produits par l’intermédiaire des expressions. Les expressions vous permettent de cibler des publicités en fonction des utilisateurs et d’appliquer des remises aux produits. Dans Microsoft Commerce Server 2002 Enterprise Edition, les modules Campagnes marketing sont également intégrés au système d’analyse commerciale pour vous permettre d’analyser le succès de vos campagnes marketing.

Le tableau suivant répertorie des rubriques d’aide essentielles de Commerce Server 2002 vous permettant d’en savoir plus sur les campagnes marketing.

Pour en savoir plus sur le thème | Consultez
Concepts | Concepts des campagnes marketing Concepts des publicités Concepts des remises Content Selection Framework Concepts (en anglais)
Programmation | Targeting Samples (en anglais) Example Code Targeting Objects (en anglais) Order Processing Samples (en anglais) Order Queuing Sample (en anglais) ASP.NET-Based Advertising Sitelet (en anglais) ASP-Based Discount Sitelet (en anglais) Extending the Content Selection Framework (en anglais)
Références de programmation | Microsoft.CommerceServer.Runtime.Targeting (en anglais) Microsoft.CommerceServer.Interop.Targeting (en anglais) Targeting Objects (en anglais) Expression XML Structures (en anglais)
Sécurité des campagnes marketing | Sécurisation de la base de données des campagnes marketing Sécurité Business Desk
Création de campagnes marketing | Fermeture de la boucle à l’aide des systèmes Commerce Server Didacticiel Entreprise-client Création d’une campagne marketing Création d’une publicité Création d’une remise Extension des campagnes marketing Exemples de remises


Infrastructure de sélection de contenu

L’infrastructure de sélection de contenu (CSF, Content Selection Framework) est un système de pipeline qui détermine le contenu à fournir en matière de campagnes publicitaires et de campagnes de remise. L’infrastructure CSF permet de récupérer les multiples parties d’un contenu sous la forme d’un jeu d’enregistrements à l’aide d’un seul appel, d’où un gain de temps considérable.

L’architecture CSF prend en charge un système de définition de score ouvert qui permet aux développeurs de site de modifier l’algorithme utilisé pour déterminer la partie de contenu fournie. En outre, le code de débogage peut servir à analyser les événements survenus durant le processus de définition de score.

La figure suivante présente les composants de l’infrastructure de sélection de contenu.

Figure présentant les composants de l'infrastructure de sélection de contenu.

Le tableau suivant répertorie des rubriques d’aide essentielles de Commerce Server 2002 vous permettant d’en savoir plus sur l’infrastructure de sélection de contenu.

Pour en savoir plus sur le thème | Consultez
Concepts | Content Selection Framework Concepts (en anglais)
Programmation | Targeting Samples (en anglais) Example Code Targeting Objects (en anglais) Order Processing Samples (en anglais) ASP.NET-Based Advertising Sitelet (en anglais) Extending the Content Selection Framework (en anglais)
Références de programmation | Microsoft.CommerceServer.Runtime.Targeting (en anglais) Microsoft.CommerceServer.Interop.Targeting (en anglais) Targeting Objects (en anglais) Expression XML Structures (en anglais)
Sécurité des campagnes marketing | Sécurisation de la base de données des campagnes marketing Sécurité Business Desk
Création de campagnes marketing | Fermeture de la boucle à l’aide des systèmes Commerce Server Didacticiel Entreprise-client Création d’une campagne marketing Création d’une publicité Création d’une remise Exemples de remises


Générateur d'expressions

Envoyer des commentaires sur cette page Commerce Server 2002

Générateur d’expressions

Une expression est une condition qui est évaluée par rapport à des profils afin de déterminer si un contenu doit être fourni ou si une autre action doit être effectuée. Ainsi, user.totalvisit > 100 est un exemple d’expression. Si cette expression prend la valeur True, un contenu spécifique s’affiche pour l’utilisateur ayant visité votre site plus de 100 fois.

Le Générateur d’expressions fournit l’interface utilisateur nécessaire dans les modules Commerce Server Business Desk pour que les chefs d’entreprise puissent créer des expressions qui délivrent un contenu ciblé aux utilisateurs. Le Générateur d’expressions accède aux propriétés appropriées des bases de données Microsoft Commerce Server pour créer une expression, la nommer et la stocker dans la base de données.

Le Générateur d’expressions est conçu de telle sorte que les développeurs de site peuvent facilement incorporer sa fonctionnalité et son interface utilisateur dans d’autres modules Business Desk. En outre, il peut être appelé par n’importe quelle application Web qui utilise et manipule des expressions, ce qui vous permet de l’intégrer à d’autres processus. Par exemple, si vous possédez déjà un processus de gestion de contenu, vous pouvez y incorporer la fonctionnalité du Générateur d’expressions, puis cibler le contenu en fonction des utilisateurs.

Le Générateur d’expressions utilise le langage DHTML (Dynamic Hypertext Markup Language) pour son interface utilisateur, aussi les feuilles de style de l’application s’appliquent-elles à l’interface utilisateur du Générateur d’expressions, donnant ainsi à votre application un aspect uniforme.

Le tableau suivant répertorie des rubriques d’aide essentielles de Commerce Server 2002 vous permettant d’en savoir plus sur le Générateur d’expressions.

Pour en savoir plus sur le thème | Consultez
Concepts | Ciblage basé sur des expressions Le Générateur d’expressions
Programmation | Targeting Samples (en anglais) Example Code Targeting Objects (en anglais) ASP.NET-Based Advertising Sitelet (en anglais) Extending the Content Selection Framework (en anglais)
Références de programmation | Microsoft.CommerceServer.Runtime.Targeting (en anglais) Microsoft.CommerceServer.Interop.Targeting (en anglais) Targeting Objects (en anglais) Expression XML Structures (en anglais) ExpressionBuilder (en anglais) ExpressionBuilder Configuration (en anglais)
Sécurité des expressions | Sécurisation de la base de données des profils Sécurité Business Desk
Création d’expressions | Fermeture de la boucle à l’aide des systèmes Commerce Server Didacticiel Entreprise-client Création des expressions de la campagne marketing


Gestionnaire de listes

Le Gestionnaire de listes est un service doté d’une interface utilisateur Commerce Server Business Desk. Il vous permet d’importer et d’exporter des listes de profils utilisateur. Dans Microsoft Commerce Server 2002 Enterprise Edition, le Gestionnaire de listes est intégré au système d’analyse commerciale, de sorte que vous puissiez exécuter un rapport pour générer une liste de profils, puis importer cette liste dans le Gestionnaire de listes. Vous pouvez également importer des données de segment dans le Gestionnaire de listes.

Une fois que vous avez importé une liste de profils utilisateur dans le Gestionnaire de listes, vous pouvez l’exporter vers le module Utilisateurs, puis mettre à jour les informations de profil si nécessaire, par exemple, pour ajouter des propriétés aux profils utilisateur dans le cadre d’un ciblage. Vous pouvez également utiliser la liste pour créer une campagne de publipostage.

Le tableau suivant répertorie des rubriques d’aide essentielles de Commerce Server 2002 vous permettant d’en savoir plus sur le Gestionnaire de listes.

Pour en savoir plus sur le thème | Consultez
Concepts | Ciblage basé sur des expressions Le Générateur d’expressions
Programmation | Targeting Samples (en anglais) Example Code Targeting Objects (en anglais) ASP.NET-Based Advertising Sitelet (en anglais) Extending the Content Selection Framework (en anglais)
Références de programmation | Microsoft.CommerceServer.Runtime.Targeting (en anglais) Microsoft.CommerceServer.Interop.Targeting (en anglais) Targeting Objects (en anglais) Expression XML Structures (en anglais) ExpressionBuilder (en anglais) ExpressionBuilder Configuration (en anglais)
Sécurité du Gestionnaire de listes | Compte du service Gestionnaire de listes Sécurisation de la base de données des campagnes marketing Sécurité Business Desk
Utilisation du Gestionnaire de listes | Fermeture de la boucle à l’aide des systèmes Commerce Server Didacticiel Entreprise-client Gestion des listes des enregistrements utilisateur


Service de publipostage Commerce Server

Le service de publipostage est un service Microsoft Windows 2000 rapide et évolutif qui vous permet d’envoyer à des groupes importants de destinataires des messages électroniques personnalisés à partir d’une page Web ou des publipostages non personnalisés à partir d’un fichier texte simple. Le service de publipostage peut être utilisé en tant que processus autonome dans lequel vous configurez directement les travaux de publipostage. Vous pouvez aussi l’utiliser conjointement avec les modules Campagnes marketing dans Commerce Server Business Desk et suivre le succès de la campagne de publipostage. Dans Microsoft Commerce Server 2002 Enterprise Edition, le service de publipostage effectue le suivi des messages électroniques et mémorise les messages envoyés et les messages ouverts (ceux sur lesquels le destinataire a cliqué), ce qui vous permet d’analyser le succès d’une campagne de publipostage.

Le pipeline du service de publipostage sert à traiter des listes de destinataires. Vous pouvez ajouter de nouveaux composants au pipeline, intégrer les composants à des systèmes professionnels de gestion d’activité ou les remplacer par des composants de fournisseurs tiers. Vous pouvez par exemple changer le modèle utilisé avec les publipostages.

Le tableau suivant répertorie des rubriques d’aide essentielles de Commerce Server vous permettant d’en savoir plus sur le service de publipostage.

Pour en savoir plus sur le thème | Consultez
Concepts | Concepts du publipostage Direct Mailer Pipeline (en anglais)
Références de programmation | Microsoft.CommerceServer.Runtime.Targeting (en anglais) Microsoft.CommerceServer.Interop.Targeting (en anglais) Targeting Objects (en anglais) Expression XML Structures (en anglais) ExpressionBuilder (en anglais) ExpressionBuilder Configuration (en anglais)
Déploiement du service de publipostage | Installation des ressources Commerce Server 2002 en tant que ressources en clusters Configuration d’un serveur SMTP pour le service de publipostage
Sécurité du service de publipostage | Compte du service de publipostage Sécurisation de la base de données du service de publipostage Sécurité Business Desk
Utilisation du service de publipostage | Didacticiel Service de publipostage Exécution du service de publipostage Création de publipostage Création d’une liste de publipostage


Système de pipeline de traitement des commandes

Le système de pipeline de traitement des commandes vous permet de personnaliser vos processus de commande, de ciblage et de commercialisation. Grâce aux pipelines, vous pouvez définir et relier les étapes d’un processus commercial.

Par exemple, le pipeline de traitement des commandes fournit la séquence des étapes utilisées pour traiter les achats de votre site. Au cours de la première étape du pipeline de traitement des commandes, vous récupérez les informations sur le produit à partir de la base de données stockant les données de catalogue. Au cours de l’étape suivante, vous ajoutez l’adresse de l’utilisateur à la commande. Chaque étape du pipeline représente une catégorie de travail. L’ordre des étapes détermine la séquence d’exécution du travail.

Microsoft Commerce Server 2002 comprend des fonctionnalités de pipeline qui simplifient la gestion des commandes, facilitent la maintenance des modes de livraison ainsi que la gestion des remises, et rendent plus efficaces le chargement et l’exécution d’un pipeline. Ces fonctionnalités sont notamment les suivantes :

  • Gestion des devises de haute précision
  • Gestion des livraisons multiples
  • Gestion des remises
  • Mise en pool de pipelines

Le système de pipeline de traitement des commandes comprend les composants clés suivants :

  • Pipelines : Commerce Server comprend plusieurs pipelines préconfigurés que vous pouvez personnaliser. Pour avoir une description de chaque pipeline, consultez Working with Pipelines (en anglais).
  • Pipeline Editor : utilisez cette application pour créer et modifier des pipelines Commerce Server.

Le tableau suivant répertorie des rubriques d’aide essentielles de Commerce Server 2002 vous permettant d’en savoir plus sur les pipelines.

Pour en savoir plus sur le thème | Consultez
Personnalisation des pipelines | Working with Pipelines (en anglais) Discount Objects (en anglais) Pooled Pipelines (en anglais) Concepts de pipeline Building Pipeline Components (en anglais) Pipeline Objects (en anglais) Pipeline Component Reference (en anglais)
Traitement des commandes multidevises | Currency Enhancements (en anglais) Multiple-shipment Shipping Architecture (en anglais)


Architecture de Commerce Server

Microsoft Commerce Server 2002 fournit une base riche et extensible pour la création d’applications d’e-commerce perfectionnées qui s’intègrent à vos systèmes principaux existants. Étant donné que l’architecture utilise le modèle COM (Component Object Model), il est aisé d’étendre la plate-forme en choisissant parmi le large éventail de solutions tierces intégrées disponibles ou en demandant aux développeurs de votre site de personnaliser les outils Commerce Server pour répondre à vos besoins commerciaux.

Commerce Server 2002 comprend l’infrastructure d’application .NET de Commerce Server, qui est une extension du modèle de programmation ASP.NET. Les développeurs peuvent utiliser cette infrastructure pour créer des applications Commerce Server utilisant du code ASP.NET pour exécuter des services et systèmes Commerce Server. Les fonctionnalités et outils de Commerce Server sont disponibles dans Visual Studio .NET. Pour plus d’informations, consultez Commerce Server .NET Application Framework (en anglais). Pour plus d’informations sur le site International Retail, consultez International Retail Site (en anglais).

Commerce Server utilise pleinement les fonctionnalités de Microsoft Windows 2000, notamment la prise en charge du service Microsoft Active Directory, et il est optimisé pour une utilisation avec d’autres serveurs d’entreprise .NET.

Cette section propose une vue d’ensemble des principaux composants de l’architecture de Commerce Server.

Cette section contient les rubriques suivantes :

  • Définition des termes ressource, site, application et serveur Web. Décrit les ressources, les sites, les applications et les serveurs Web, ainsi que les différences existant entre eux.
  • Commerce Server et IIS. Décrit la relation entre les objets IIS et Commerce Server, ainsi que les propriétés des services IIS (Internet Information Services) 5.0 qui affectent Commerce Server.
  • Bases de données. Décrit les bases de données Commerce Server et les données contenues dans chacune d’elles.
  • Business Desk Architecture (en anglais). Décrit les composants de Commerce Server Business Desk et l’infrastructure de Business Desk.
  • Commerce Server et serveurs d’entreprise .NET. Décrit les technologies .NET généralement utilisées avec Commerce Server.


Ressources, sites, applications et serveurs Web

Une installation Commerce Server comporte quatre groupes de composants principaux :

  • Les ressources. Une ressource est une entité qui fournit une fonctionnalité aux applications d’un site Commerce Server. Une ressource se compose d’un ou de plusieurs objets COM utilisés sur les pages Web d’une application pour accéder à la fonctionnalité de la ressource. Une ressource peut avoir des propriétés au niveau global ou au niveau du site, mais pas les deux.
  • Les sites. Un site est un ensemble d’applications ASP qui utilisent des objets COM (Component Object Model) Commerce Server, ou un ensemble d’applications ASP .NET qui utilisent des objets PIA (Primary Interop Assembly) ou BCL (Base Class Library). Les applications utilisent et modifient les ressources. Un site permet d’administrer en tant que groupe l’ensemble des applications qu’il contient.
  • Les applications. Une application est un site Web. Il s’agit d’une représentation logique d’une application dans les services IIS (Internet Information Services) ; elle apparaît à la fois dans les arborescences des consoles du Gestionnaire Commerce Server et des services IIS. Dans la console des services IIS, une application se situe soit au niveau du répertoire de base du site Web, soit au niveau d’un sous-répertoire du site Web.
  • Les serveurs Web. Dans Commerce Server, un serveur Web est un ordinateur serveur physique exécutant les services IIS (Internet Information Services) 5.0 ; il hérite les propriétés du site Web IIS. Commerce Server prend en charge les serveurs Web qui n’exécutent pas les services IIS et ne comportent pas de composants Commerce Server.

Vous configurez et gérez ces composants à l’aide du Gestionnaire Commerce Server, un outil hébergé par Microsoft Management Console (MMC).

La figure suivante montre la console Gestionnaire Commerce Server et identifie chaque composant Commerce Server.

Figure montrant la console Gestionnaire Commerce Server et identifiant les composants Commerce Server.

Voir aussi

Ressources

Sites

Applications

Serveurs Web

Commerce Server et services IIS


Ressources

Une ressource est une entité qui fournit une fonctionnalité aux applications d’un site Commerce Server.

Une ressource consiste en un ou plusieurs objets COM utilisés sur les pages Web d’une application pour accéder à la fonctionnalité de la ressource. Les ressources comprennent des propriétés qui sont stockées dans la base de données d’administration. Ces propriétés sont accessibles et modifiables à l’aide du Gestionnaire Commerce Server (et modifiables par programmation à l’aide des objets Config).

Il existe deux types de ressources : les ressources globales et les ressources de site. Les développeurs de sociétés tierces peuvent créer des ressources globales et des ressources de site personnalisées à utiliser avec Commerce Server. Pour plus d’informations, consultez Integrating Custom Resources (en anglais).

Ressources globales

Les ressources globales sont à la disposition de tous les sites.

Certaines ressources globales sont créées par le programme d’installation de Commerce Server, d’autres sont créées lors de la décompression d’un site à l’aide du Gestionnaire de package de site Commerce Server. Seules les ressources ayant des propriétés de niveau global s’affichent dans le Gestionnaire Commerce Server sous le nœud Ressources globales. Les sites qui utilisent une ressource globale utilisent également les propriétés attribuées à cette ressource globale.

Le tableau suivant répertorie et décrit les ressources globales incluses dans Commerce Server.

Ressource globale | Description | Installée par
Service de publipostage (Direct Mailer) Commerce Server (également un service Windows 2000) | Envoie des publipostages personnalisés ou non à d’importants groupes de destinataires. | Programme d’installation de Commerce Server
Data Warehouse | Importe et gère les données d’un site Web à partir de fichiers journaux Web, de bases de données Commerce Server et d’autres sources de données. | Gestionnaire de package de site Commerce Server
CS Authentication | Configure la méthode d’authentification et d’identification de votre site Commerce Server. | Gestionnaire de package de site Commerce Server
Profils | Crée des sources de données pour le stockage des données de profil ; crée et stocke des propriétés et des définitions de profil. | Gestionnaire de package de site Commerce Server

Ressources de site

Les ressources de site fournissent des fonctionnalités à un site spécifique.

Dans le Gestionnaire Commerce Server, les pointeurs de ressource globale et les ressources de site s’affichent sous un site. Vous configurez les propriétés d’une ressource de site au niveau du site. Vous configurez les pointeurs de ressource globale pour qu’ils pointent vers la ressource globale au niveau global.

Une ressource peut posséder toutes ses propriétés au niveau du site ou au niveau global, mais elle ne peut pas posséder de propriétés aux deux endroits en même temps.

Le tableau suivant répertorie et décrit les ressources de site incluses dans Commerce Server.

Ressource de site | Description
Configuration par défaut de l’application | Stocke les propriétés que vous utilisez pour configurer un site, comme les paramètres régionaux et symboles de devise, les options de facturation et de paiement, les options de confidentialité, l’unité de mesure pour le poids et les options d’intégration à BizTalk Server.
Autorisations Business Desk | Assure la connexion à la base de données qui stocke des données telles que les identificateurs de sécurité et les définitions qui sont utilisés pour sécuriser l’interface utilisateur de Business Desk.
Campagnes marketing | Assure la connexion à la base de données qui stocke les données sur les campagnes marketing (publicités, remises et publipostage).
Catalogue de produits | Assure la connexion à la base de données qui stocke le schéma du catalogue et les données sur les produits.
Transactions | Assure la connexion à la base de données qui stocke les données sur les paniers et les commandes.
Configuration de la transaction | Assure la connexion à la base de données qui stocke les données sur les taux et les modes de livraison, les taux de taxes, les codes de département et de région et les codes de statut des commandes.

Partage de ressources entre plusieurs sites

Le tableau suivant indique pour chaque ressource si elle peut être partagée à travers plusieurs sites.

Ressource | Peut être partagée
Configuration par défaut de l’application | Non
Autorisations Business Desk | Non
Campagnes marketing | Non
CS Authentication | Oui
Data Warehouse | Oui
Service de publipostage | Oui
Predictor | Oui
Catalogue de produits | Non
Profils | Oui
Transactions | Non
Configuration de la transaction | Non

Voir aussi

Gestion des ressources Commerce Server

Integrating Custom Resources (en anglais)

Integrating a Custom Snap-in Extension (en anglais)

Déploiement de votre site

Plusieurs sites et un Data Warehouse


Sites

Un site est un ensemble d’applications ASP qui utilisent des objets COM (Component Object Model) Commerce Server, ou un ensemble d’applications ASP .NET qui utilisent des objets PIA (Primary Interop Assembly) ou BCL (Base Class Library). Les sites utilisent et modifient les ressources. Un site permet d’administrer en tant que groupe l’ensemble des applications qu’il contient.

Un site comprend généralement au moins deux applications : une application dans laquelle les utilisateurs naviguent pour consulter votre boutique en ligne, et une autre utilisée par les chefs d’entreprise pour accéder à Commerce Server Business Desk. En outre, un site peut comprendre d’autres applications. Par exemple, un site peut se composer des applications www.paradisalpin.com, www.paradisalpin.com/équipement, www.paradisalpin.com/vêtements et www.paradisalpin.com/BusinessDesk. Toutes ces applications peuvent être distribuées sur plusieurs serveurs.

Les sites utilisent à la fois des ressources globales, qui sont partagées sur plusieurs sites, et des ressources de site qui sont définies de manière explicite pour le site.

À partir d’un nœud de site dans le Gestionnaire Commerce Server, vous pouvez compresser un site, ainsi qu’ajouter et supprimer des ressources.

Voir aussi

Gestion des sites Commerce Server

Déploiement de votre site

Installation dans une configuration ordonnée en clusters et comprenant quatre ordinateurs

Installation dans une configuration non ordonnée en clusters et comprenant trois ordinateurs


Applications

Une application Commerce Server 2002 est un site Web. Il s’agit d’une représentation logique d’une application dans les services IIS (Internet Information Services) 5.0, et elle apparaît à la fois dans les arborescences du Gestionnaire Commerce Server et des services IIS. Dans la console des services IIS, une application se situe soit au niveau du répertoire de base du site Web, soit au niveau d’un sous-répertoire du site Web.

Une application représente l’adresse Web à laquelle accède un client Web. Lorsque vous ajoutez une application à Commerce Server, la base de données d’administration est mise à jour à partir des données de configuration de l’application. Lorsque vous ajoutez un serveur Web à l’application, les fichiers ASP (Active Server Pages) sont installés sur l’ordinateur représentant le serveur Web.

Lorsqu’un site Commerce Server est décompressé, il installe généralement deux applications : une application pour le site Web auquel accèdent les utilisateurs pour parcourir et acheter des produits et une autre pour Commerce Server Business Desk, qui est utilisé pour gérer le site. Une application ne peut utiliser que les ressources du site auquel elle appartient.

Une application comprend ses propres serveurs Web, lesquels fournissent le contenu des pages ASP pour le site Web. Une application comprend toujours au moins un serveur Web, mais peut très bien en contenir plusieurs. Vous pouvez configurer un site au niveau de la racine d’un site Web IIS ou au niveau d’un répertoire virtuel n’importe où sous la racine.

Vous pouvez effectuer les fonctions suivantes à partir des consoles des services IIS et du Gestionnaire Commerce Server :

  • À partir du nœud d’application dans le composant logiciel enfichable (snap-in) IIS, vous pouvez définir toutes les propriétés disponibles au niveau du répertoire virtuel, notamment les propriétés de répertoire virtuel, les documents par défaut, la sécurité du répertoire, les en-têtes HTTP (Hypertext Transfer Protocol) et les erreurs personnalisées. Vous pouvez également configurer des extensions serveur Microsoft FrontPage et renommer ou supprimer l’application.
  • À partir du nœud d’application dans le Gestionnaire Commerce Server, vous pouvez définir le nom d’hôte non sécurisé et sécurisé ainsi que le chemin d’accès à l’application IIS, activer HTTPS, activer la création de cookie automatique, activer un filtre d’authentification et configurer les paramètres communs à tous les serveurs Web de l’application.

Pour avoir des informations détaillées sur l’héritage des propriétés des services IIS vers Commerce Server, consultez Commerce Server et services IIS.

Voir aussi

Gestion des applications et des serveurs Web Commerce Server

Déploiement de votre site

Installation dans une configuration ordonnée en clusters et comprenant quatre ordinateurs

Installation dans une configuration non ordonnée en clusters et comprenant trois ordinateurs


Serveurs Web

Dans Commerce Server, un serveur Web est un ordinateur équipé des services IIS (Internet Information Services) 5.0. Pour utiliser un serveur Web avec Commerce Server 2002, vous devez installer Commerce Server sur le même ordinateur que les services IIS.

Dans Commerce Server, un serveur Web est associé à une ou plusieurs applications ; par conséquent, différentes applications peuvent partager le même serveur Web. Le serveur Web contient les fichiers ASP et les sous-dossiers de l’application. Une application peut comporter plusieurs serveurs Web représentant, tous ensemble, une batterie de serveurs Web (Web farm).

La figure suivante montre les objets situés sur les arborescences des consoles des services IIS et du Gestionnaire Commerce Server, ainsi que les relations existant entre ces objets.

Figure montrant les objets sur les consoles des services IIS et du Gestionnaire Commerce Server.

Pour ajouter des fichiers ASP à un serveur Web, vous devez utiliser le Gestionnaire de package de site Commerce Server pour décompresser le serveur Web. L’objet serveur Web Commerce Server est ajouté à l’application lorsque le processus de décompression est terminé. Dans le Gestionnaire Commerce Server, un objet serveur Web est exposé sous l’application associée.

L’objet serveur Web contient les propriétés nécessaires au Data Warehouse pour importer les fichiers journaux.

Le tableau suivant répertorie les propriétés que vous pouvez afficher ou modifier à partir du nœud de serveur Web dans le Gestionnaire Commerce Server. Pour plus d’informations, consultez Configuration d’un serveur Web.

Propriété | Description
Nom du serveur | Nom de l’ordinateur sur lequel est installé le serveur Web. Ne modifiez le nom que si vous avez renommé votre serveur.
Identités | Cette zone affiche l’adresse IP (Internet Protocol) du serveur Web, le port TCP et le nom d’en-tête de l’hôte Ces valeurs sont initialement lues à partir des services IIS.
Identités SSL | Cette zone affiche l’adresse IP (Internet Protocol) et le port SSL du serveur Web. Ces valeurs sont initialement lues à partir des services IIS.
Nouvelle période de journalisation | Spécifier la durée pendant laquelle le site Web IIS écrit dans un fichier journal avant d’en créer un nouveau. Cette valeur est initialement lue à partir des services IIS.
Masque de fichier journal | Spécifier, au besoin, une rotation de fichier journal personnalisée, indiquant la durée pendant laquelle le site Web IIS écrit dans un fichier journal avant d’en créer un nouveau. Pour plus d’informations, y compris des exemples des éléments à entrer dans cette zone, consultez Spécification d’un masque de fichier journal du serveur Web.
Répertoire du fichier journal | Chemin d’accès au fichier journal dans lequel le site Web IIS écrit les événements, par exemple C:\Winnt\System32\LogFiles\Log1. Cette valeur est initialement lue à partir des services IIS. Cependant, vous pouvez spécifier un répertoire différent si vous copiez les fichiers journaux Web à partir du serveur Web dans un emplacement central avant d’exécuter les tâches DTS d’importation.
Page de codes du fichier journal | Cette zone affiche les pages de codes utilisées par la totalité du fichier. Les services IIS 5.0 prennent en charge la page de codes du système. Les futures versions des services IIS prendront en charge UTF-8.
Page de codes de cryptage des URL | Cette zone affiche les pages de codes utilisées pour toutes les adresses URL. Les services IIS 5.0 prennent en charge la page de codes du système. Les futures versions des services IIS prendront en charge UTF-8.

Lorsqu’un serveur Web est ajouté, ces propriétés sont automatiquement remplies à partir des services IIS 5.0 dans la base de données d’administration de Commerce Server.

Différentes applications peuvent partager un serveur Web. Chaque application possède une adresse URL unique, et les adresses URL uniques peuvent être servies par un site Web IIS unique. Par exemple, www.microsoft.com et www.microsoft.com/commerceserver peuvent être servies par le même site Web IIS.

Si vous gérez une batterie de serveurs Web (Web farm), vous devez répliquer vos serveurs Web. Il est recommandé d’utiliser Microsoft Application Center Server 2000 ou un autre produit pour effectuer la réplication de contenu.

Serveurs Web non-Commerce Server

Outre la prise en charge des serveurs Web exécutant les services IIS, Commerce Server prend également en charge les serveurs Web qui n’exécutent pas les services IIS et qui ne possèdent pas de composants Commerce Server. Grâce à cette prise en charge, Commerce Server rend possible l’importation des fichiers journaux des serveurs Web non-Commerce Server par le Data Warehouse.

Commerce Server fournit l’Assistant Configuration du Data Warehouse ; celui-ci simplifie la configuration des applications et serveurs Web non-Commerce Server destinés à fonctionner conjointement avec le Data Warehouse de Commerce Server. Pour plus d’informations, consultez Ajout d’une application non-Commerce Server à un site et Ajout d’un serveur Web non-Commerce Server à une application.

Voir aussi

Configuration d’un serveur Web

Commerce Server et services IIS

Déploiement de votre site

Installation dans une configuration ordonnée en clusters et comprenant quatre ordinateurs

Installation dans une configuration non ordonnée en clusters et comprenant trois ordinateurs


Commerce Server et services IIS

Généralement, l’administrateur système, qui est responsable de l’administration quotidienne de Microsoft Commerce Server 2002, est également responsable de l’administration des services IIS (Microsoft Internet Information Services) 5.0.

Bien que Commerce Server s’exécute au-dessus des services IIS, la relation entre les objets des services IIS et de Commerce Server n’est pas strictement hiérarchique. L’ensemble des propriétés qui affectent un site Commerce Server comprend des propriétés qui sont :

  • définies uniquement au niveau des services IIS ;
  • définies uniquement dans Commerce Server, indépendamment des services IIS ;
  • héritées des services IIS.
  • Le composant logiciel enfichable (snap-in) IIS vous permet de gérer les autorisations d’accès, la sécurité, les performances, les répertoires et les chemins d’accès de sites Web, l’identification des noms de sites Web, les adresses IP et les ports.

Le Gestionnaire Commerce Server vous permet d’effectuer les tâches suivantes :

  • Gérer des ressources Commerce Server globales et de site, configurer des propriétés spécifiques à Commerce Server, configurer les chaînes de connexion de base de données pour des ressources, ajouter et supprimer des serveurs Web d’une application.
  • Au niveau application de Commerce Server, vous pouvez spécifier le chemin d’une application IIS, le site Web IIS, les noms d’hôtes non sécurisés et sécurisés, le port IP et le port IP sécurisé. Vous pouvez également configurer les propriétés permettant d’activer HTTPS, d’activer la création de cookie automatique et de sélectionner un filtre d’authentification. Ces propriétés s’appliquent à tous les serveurs Web utilisés par l’application.

    Lorsque vous modifiez les propriétés de port dans Commerce Server, celles-ci ne sont pas automatiquement modifiées dans les services IIS. Les propriétés de port suivantes dans les services IIS sont celles qui sont effectivement utilisées :

    Au niveau de l’application

    • Port TCP (Transmission Control Protocol)
    • Port SSL (Secure Sockets Layer)

    Sur chaque serveur Web

    • Adresse IP (Internet Protocol)
    • Chemin d’accès au fichier journal
    • Durée du fichier journal

    Si vous modifiez les propriétés de port dans les services IIS, vous devez également les modifier dans Commerce Server.

    Les propriétés de serveur Web sont héritées des services IIS et stockées dans la base de données d’administration pour en simplifier l’accès. Si les propriétés des services IIS changent, vous devez synchroniser la base de données d’administration en mettant à jour manuellement les nouvelles valeurs, ou en cliquant, dans la boîte de dialogue Propriétés de <Serveur>/<Application>, sur l’onglet Serveurs Web, puis sur le bouton Synchroniser les valeurs. Pour plus d’informations, consultez Configuration d’une application.

    Lorsque vous cliquez sur le bouton Synchroniser les valeurs, Commerce Server synchronise les propriétés au niveau de l’application ainsi que les propriétés de tous les objets de serveur Web sous-jacents à l’application. Pour les propriétés situées au niveau de l’application (port TCP et port SSL), Commerce Server lit les valeurs du premier serveur Web. Il considère que tous les serveurs Web ont été configurés de la même façon, ce qui est impératif pour le bon fonctionnement d’une batterie de serveurs Web (Web farm).

  • Au niveau du serveur Web de Commerce Server, vous pouvez afficher et modifier les propriétés de l’adresse IP, ainsi que la durée du fichier journal.

Voir aussi

Administration de Commerce Server

Ajout d’une application non-Commerce Server à un site

Déploiement de votre site

Installation dans une configuration ordonnée en clusters et comprenant quatre ordinateurs

Installation dans une configuration non ordonnée en clusters et comprenant trois ordinateurs


Dépendances de Commerce Server à l'égard des services IIS

Envoyer des commentaires sur cette page Commerce Server 2002

Dépendances de Commerce Server à l’égard des services IIS

Cette section décrit les fonctionnalités que vous devez activer, au minimum, dans les services IIS (Internet Information Services) si vous utilisez des outils tiers (par exemple un filtre de contenu au niveau du pare-feu).

Commerce Server requiert les fonctionnalités suivantes dans les services IIS :

  • Services :
    • HTTP
    • SMTP. Le service de publipostage nécessite l’accès à un serveur de messagerie SMTP. Le site Web d’un client peut contenir du code servant à envoyer une confirmation de commande et, de ce fait, avoir besoin d’accéder à un serveur de messagerie SMTP. Ce serveur SMTP n’est pas obligatoirement le serveur SMTP fourni par les services IIS. C’est au client qu’il appartient de décider.

    Commerce Server ne requiert ni FTP, ni NNTP.

  • Verbes HTTP : GET, POST, PUT
  • Extensions de fichier qui doivent être prises en charge par les services IIS : ASP, HTM, GIF, JPG, HTA, HTC, XML, XSL, CSV, CAB, TXT, CSS, CHM, HHC, HHK, JS, VBS et EXE

    Les scripts JS et VBS sont téléchargés vers le client ; ils ne sont pas exécutés sur le serveur. Commerce Server fournit le fichier OWC10.exe (Contrôles Web Microsoft Office version 10) sous forme de téléchargement vers le navigateur client ; ce fichier ne s’exécute pas sur le serveur.

  • En-têtes HTTP : Translate:, IF:, Lock-Token:

    Commerce Server utilise WebDAV pour publier un fichier d’importation de catalogue (extension de fichier XML ou CSV).

  • Répertoires virtuels installés sous le site Web par défaut : aucun.

    Commerce Server n’est tributaire ni de IISSamples, ni de MSADC, ni de Scripts.

  • Les comptes IUSR et IWAM ne doivent pas avoir fait l’objet d’un refus explicite de l’autorisation d’exécution sur le répertoire System32 et ses parents.

    Par défaut, les bibliothèques de liens dynamiques (DLL, Dynamic-Link Library) de Commerce Server se trouvent dans le répertoire \Program Files\Microsoft Commerce Server. Durant l’installation, vous pouvez modifier le chemin d’installation, mais notez toutefois que Commerce Server requiert les DLL du .NET Framework Visual Studio. Il requiert également :

    • GAC (Global Assembly Cache) dans le répertoire C:\WINNT\System32\Assembly
    • Données de la stratégie système stockées dans le répertoire C:\WINNT\System32\Microsoft.NET\*
  • Les comptes IUSR et IWAM ne doivent pas avoir fait l’objet d’un refus explicite de l’autorisation d’écriture sur certains répertoires de contenu Web.

    Commerce Server requiert un droit d’accès en écriture pour recevoir une mise à jour de fichier de catalogue (extension de fichier XML ou CSV) vers un répertoire de catalogue de produits sous la racine virtuelle Business Desk du site. Vous définissez le nom de la racine virtuelle.


Bases de données

Le tableau suivant répertorie les bases de données généralement utilisées dans un site Commerce Server. Selon les fonctionnalités et la configuration choisies pour votre site, vous pouvez disposer de bases de données en plus ou en moins.

Vous spécifiez les chaînes de connexion de ces bases de données au cours de l’installation et lors du processus de décompression. Vous pouvez toutefois modifier les chaînes de connexion à l’aide du Gestionnaire Commerce Server.

Base de données et nom | Description
Commerce Server <nom_site>_commerce | Données pour les catalogues, les campagnes marketing, les transactions, les profils et les événements.
Administration MSCS_Admin | Données de configuration utilisées par Commerce Server.
Data Warehouse <nom_site>_dw | Données opérationnelles quotidiennes sur les utilisateurs qui visitent votre site, par exemple les données de profil utilisateur, les données de transaction et les données d’historique des clics. Ces données sont importées à partir de fichiers journaux Web et d’autres bases de données Commerce Server à l’aide des tâches de transformation de données (DTS, Data Transformation Services) de Commerce Server.
Service de publipostage | Données pour les listes de publipostage, les messages et les événements.

Cette section contient les rubriques suivantes :

  • Relations entre les bases de données Commerce Server
  • Chaînes de connexion des bases de données Commerce Server
  • Chaînes de connexion, Gestionnaire de package de site et objets Admin
  • Groupement de connexions du fournisseur OLE DB
  • Tables de la base de données d’administration
  • Tables de la base de données d’analyse/de rapports
  • Tables de la base de données du Data Warehouse
  • Base de données du service de publipostage
  • Tables de la base de données des campagnes marketing
  • Composants de la base de données du catalogue
  • Base de données MSCS_CatalogScratch
  • Tables de la base de données des profils
  • Tables de la base de données des transactions
  • Tables de la base de données TransactionConfig


Relations entre les bases de données Commerce Server

Utilisez la procédure suivante pour afficher un diagramme des bases de données Commerce Server dans SQL Server.

Pour afficher un diagramme des bases de données Commerce Server

  1. Développez Serveurs Microsoft SQL Server, développez Groupe SQL Server, développez le serveur sur lequel sont installées vos bases de données, puis développez Bases de données.
  2. Cliquez avec le bouton droit sur Diagrammes, puis cliquez sur Nouveau diagramme de base de données.

    L’Assistant Création de diagramme de base de données démarre.

  3. Dans la boîte de dialogue Sélectionner les tables à ajouter, activez la case à cocher Ajouter automatiquement les tables associées, puis cliquez sur Suivant.
  4. Cliquez sur Terminer.

L’Assistant Création de diagramme de base de données dessine les relations.

Voir aussi

(en anglais)


Chaînes de connexion des bases de données Commerce Server

Les chaînes de connexion de Commerce Server, notamment les noms d’utilisateurs et mots de passe de connexion, sont stockées dans la base de données d’administration.

Remarque

  • Toutes les chaînes de connexion de Commerce Server utilisent la sécurité Microsoft SQL Server. Toutefois, la chaîne de connexion de la ressource Data Warehouse à la base de données du serveur OLAP (Online Analytical Processing) prend uniquement en charge l’authentification Microsoft Windows NT.

Commerce Server utilise des chaînes de connexion pour les bases de données suivantes :

  • Base de données d’administration et base de données du service de publipostage. Au cours de l’installation, vous entrez les noms d’utilisateur et les mots de passe d’ouverture de session pour la base de données d’administration et la base de données du service de publipostage. Vous pourrez modifier ultérieurement ces paramètres à l’aide du Gestionnaire Commerce Server.
  • Bases de données utilisées par les ressources. Lorsque vous décompressez un site à l’aide du Gestionnaire de package de site Commerce Server, une chaîne de connexion à la base de données adéquate vous est demandée pour certaines ressources. Le tableau suivant répertorie les chaînes de connexion pour chaque ressource.
    Ressource | Chaîne de connexion
    Catalogue de produits | Base de données du catalogue
    Campagnes marketing | Base de données Campagnes marketing
    Transactions | Base de données Transactions
    Configuration de la transaction | Base de données Configuration des transactions
    Profils | s_BizDataStoreConnectionString, s_CommerceProviderConnectionString, s_ProfileServiceConnectionString
    Data Warehouse | La chaîne de connexion n’est pas nommée dans l’interface utilisateur, car le Data Warehouse dispose de sa propre extension de composant logiciel enfichable (snap-in).
  • Autres bases de données. Vous spécifiez également les chaînes de connexion dans les cas suivants :
    Fonctionnalité | Chaîne de connexion
    Gestionnaire de listes : importation et exportation de listes | Dans le module Gestionnaire de listes de Commerce Server Business Desk, définissez la chaîne de connexion pour la table de base de données SQL Server que vous importez ou exportez.
    Outil Migration ProfileBuilder | Une fois que vous avez modifié l’outil Migration ProfileBuilder, créez un nom de source de données (DSN) pour la banque de données des profils Commerce Server.
    Ressource Profils : ajout de sources de données | Utilisez le sélecteur de source de données et, pour le protocole LDAP (Lightweight Directory Access Protocol), utilisez la boîte de dialogue Chaîne de connexion LDAP, pour entrer les chaînes de connexion pour les bases de données et les sources LDAP vers lesquelles vous mappez les partitions de source de données.

Utilisez le Gestionnaire Commerce Server si vous devez modifier une chaîne de connexion pour une base de données.

Voir aussi

Modification des chaînes de connexion de base de données

OLE DB Connection Strings for the Data Warehouse (en anglais)

OLE DB Connection Strings for the Profiling System (en anglais)

Code to Connect to the Expression Store (en anglais)

(en anglais)

Code to Connect to the Profile Store (en anglais)


Chaînes de connexion, Gestionnaire de package de site et objets Admin

Pour déterminer si une propriété est une chaîne de connexion, le Gestionnaire de package de site utilise connstr_db, la première partie du nom de chaîne de connexion.

Les objets d’administration utilisent l’indicateur f_IsConnStr de la table ExtendedProps de la base de données MSCS_Admin pour déterminer si la propriété est une chaîne de connexion.

Connstr_db

Lorsque le Gestionnaire de package de site lit connstr_db au début d’un nom de propriété durant le processus de décompression, il remplit cette propriété avec des données.

Si vous exécutez le Gestionnaire de package de site en mode Décompression rapide, il adopte toutes les valeurs par défaut et vous ne pouvez pas les modifier durant le processus de décompression. Si vous exécutez le Gestionnaire de package de site en mode Décompression personnalisée, la propriété est affichée avec les autres chaînes de connexion, et vous pouvez modifier les valeurs.

Si vous voulez que le Gestionnaire de package de site remplisse la propriété chaîne de connexion avec des données, vous devez attribuer à cette propriété un nom débutant par connstr_db. Si vous ne souhaitez pas ce comportement, affectez à la propriété un nom commençant différemment. Ce test est le seul qu’utilise le Gestionnaire de package de site pour déterminer si une propriété donnée est une chaîne de connexion.

Indicateur f_IsConnStr

Les objets d’administration utilisent l’indicateur f_IsConnStr de la table ExtendedProps de MSCS_Admin pour déterminer si la propriété est une chaîne de connexion. Lorsqu’il compresse un site, le Gestionnaire de package de site exporte toutes les données de configuration des ressources vers des fichiers de texte brut et les place dans le package. Ceci pose un problème de sécurité pour les chaînes de connexion, dans la mesure où elles peuvent contenir des noms d’utilisateur et des mots de passe. Si f_IsConnStr reçoit la valeur 1 (VRAI), la fonction d’exportation de l’objet d’administration n’écrit pas la valeur afin de mettre le nom d’utilisateur et le mot de passe à l’abri des regards indiscrets.

Les données de configuration sont stockées dans le package à l’intérieur d’un flux nommé contenu dans le fichier composé, et il est facile de les afficher à l’aide d’outils disponibles dans le domaine public.


Groupement de connexions du fournisseur OLE DB

Lorsqu’une application telle que Visual Basic ou ADO (ActiveX Data Objects) ouvre une connexion à SQL Server, le fournisseur OLE DB pour Commerce Server ouvre un groupement de connexions qu’il initialise pour des raisons de performance. Toutefois, il n’essaie pas d’activer toutes les connexions pendant l’initialisation. Les objets connexions sont créés et placés dans une file d’attente « libre ». Lorsque le fournisseur OLE DB pour Commerce Server reçoit une demande de connexion, il vérifie s’il y a des connexions dans une file d’attente « inactive ». Dans la négative, il acquiert une connexion de la file d’attente « libre » et l’utilise pour établir la connexion à SQL Server.


Tables de la base de données d'administration

Envoyer des commentaires sur cette page Commerce Server 2002

Tables de la base de données d’administration

Les données de configuration des ressources Commerce Server 2002 livrées avec Commerce Server sont stockées dans une base de données Microsoft SQL Server nommée MSCS_Admin. Dans cette base de données, il y a sept tables qui sont importantes pour comprendre comment les données de configuration associées à des ressources personnalisées peuvent être conservées dans cette base de données, exposées à l’aide du Gestionnaire Commerce Server et déployées avec le Gestionnaire de package de site Commerce Server.

Les rubriques suivantes fournissent des informations détaillées sur ces tables. Pour plus d’informations sur la sécurisation de la base de données d’administration, consultez Sécurisation de la base de données d’administration.

Remarque

  • Vous ne devez modifier sous aucun prétexte ces tables principales. Elles sont fournies ici à titre de référence.
Nom de la table | Description
ExtendedProps | Stocke les caractéristiques des propriétés de ressource (schéma des propriétés de ressource).
PupDBScripts | Participe à la configuration de l’utilisation de l’objet GenericPuP.
ResourceProps | Stocke les valeurs des propriétés de ressource réelles, telles qu’elles sont définies dans la table ExtendedProps.
Ressources | Définit des instances de ressource réelles, conformément aux définitions de la table SystemProps.
SiteResources | Sert de mécanisme de recherche pour toutes les ressources installées dans un site.
Sites | Point de départ de l’extraction de données au sujet d’un site.
SystemProps | Stocke les caractéristiques des ressources (schéma des ressources).

L’extraction de la valeur d’une propriété de ressource est un processus comportant plusieurs étapes. Ce processus commence par la recherche du nom du site dans la table Sites. La table Sites conduit à la table SiteResources, qui conduit à la table Resources, qui conduit à la table ResourceProps, dans laquelle sont stockées les valeurs de propriété de ressource réelles.

Vous utilisez les objets d’administration présentés dans le tableau suivant pour accéder à ces tables afin d’extraire des valeurs et de définir de nouvelles valeurs.

Objet | Description
GlobalConfig | Fournit des méthodes de gestion des ressources globales.
SiteConfig | Fournit des méthodes de gestion des ressources de site.
SiteConfigReadOnly | Fournit des méthodes permettant d’extraire plus rapidement les valeurs de propriété des ressources globales et de site.

Voir aussi

Sécurisation de la base de données d’administration


ExtendedProps, table

La table ExtendedProps stocke les caractéristiques des propriétés de ressource. Avec la table SystemProps, cette table définit le schéma de la base de données d’administration.

Le tableau suivant décrit les colonnes de la table ExtendedProps.

Remarque

  • Vous ne devez modifier cette table sous aucun prétexte. Elle est décrite ici à titre de référence.
Colonne Description
s_ResourceType
 Chaîne employée pour mapper une ligne de la table SystemProps, représentant un type de ressource, vers les propriétés de ressource associées dans cette table. La colonne correspondante dans la table SystemProps est également appelée s_ResourceType.
s_PropertyName
 Contient une chaîne arbitraire servant de nom interne de la propriété, utilisée lors de l’accès par programme à la propriété avec les objets GlobalConfig, SiteConfig et SiteConfigReadOnly.

Normalement, ce nom est descriptif et commence par une lettre indiquant le type de données de la propriété, suivie d’un trait de soulignement. Par exemple, « i_AuctionOptions » indique un type de données entier.

f_IsConnStr
 Lorsqu’elle contient la valeur « 1 », cette colonne indique que la propriété est une chaîne de connexion OLE DB. Si tel est le cas, le Gestionnaire Commerce Server utilise une boîte de dialogue UDL (Universal Data Link) pour définir la valeur et, au moment de la décompression, le Gestionnaire de package de site Commerce Server invitera l’utilisateur à fournir les informations de connexion pour une base de données spécifique.

Pour plus d’informations au sujet de cet indicateur et sa relation aux valeurs de configuration de chaîne de connexion, consultez la remarque de la rubrique Table ResourceProps.

f_IsHidden
 Lorsque cette colonne contient la valeur « 1 », la boîte de dialogue Ressource générique n’affiche pas la propriété. Affectez à cet indicateur la valeur « 1 » s’il existe pour la propriété un composant logiciel enfichable (snap-in) MMC personnalisé.
f_IsSimpleList
 Lorsqu’elle contient la valeur « 1 », cette colonne indique que la nouvelle propriété est un objet SimpleList. Cette fonctionnalité permet le stockage de propriétés à valeurs multiples.
s_Description
 Chaîne descriptive arbitraire qui est affichée dans la boîte de dialogue Ressource générique.
i_Vartype
 Entier indiquant le type Variant des données stockées. Par exemple, 8 indique une chaîne et 8200 indique un tableau de chaînes. Tous les types Variant, sauf SafeArray, IUnknown et IDispatch, sont autorisés.
s_Value
 Valeur par défaut de cette propriété de ressource, si elle existe.
s_DisplayName
 Nom complet convivial de la propriété, qui apparaît dans la boîte de dialogue Ressource générique.

Voir aussi

Sécurisation de la base de données d’administration


PupDBScripts, table

La table PupDBScripts intervient dans la configuration de l’utilisation de l’objet GenericPuP.

Le tableau suivant décrit les colonnes de la table PupDBScripts.

Remarque

  • Vous ne devez modifier cette table sous aucun prétexte. Elle est décrite ici à titre de référence.
Colonne Description
i_SiteID
 Entier qui identifie une ressource particulière comme étant associée à un site particulier.

Cette colonne correspond aux colonnes i_SiteID des tables SiteResources et Sites.

i_ResourceID
 Entier qui identifie la ressource à laquelle est associée cette entrée d’objet GenericPuP. Les valeurs de cette colonne correspondent à celles des colonnes i_ResourceID des tables ResourceProps, Resources et SiteResources.
u_scriptname
 Nom du script auquel est associée cette entrée d’objet GenericPuP. Ce nom apparaît dans la liste de valeurs délimitées par des virgules de la colonne s_PupParam2 ou s_PupParam3 de la table Resources.
txt_script
 Script SQL associé à cette entrée d’objet GenericPuP, s’il y en a un. Utilisez les méthodes GetSQLScript, PutSQLScript et DeleteSQLScript de l’objet SiteConfig pour gérer les entrées de script de cette colonne. Pour plus d’informations, consultez SiteConfig Object (en anglais).

Voir aussi

Sécurisation de la base de données d’administration


ResourceProps, table

La table ResourceProps stocke les valeurs de propriété de ressource réelles. Avec les tables Resources, SiteResources et Sites, cette table stocke les données de la base de données d’administration.

Le tableau suivant décrit les colonnes de la table ResourceProps.

Remarque

  • Vous ne devez modifier cette table sous aucun prétexte. Elle est décrite ici à titre de référence.
Colonne Description
i_ResourceID
 Entier qui identifie la ressource à laquelle est associée cette propriété. Les valeurs de cette colonne correspondent à celles des colonnes i_ResourceID des tables PupDBScript, Resources et SiteResources.
s_PropertyName
 Contient une chaîne arbitraire servant de nom interne de la propriété, utilisée lors de l’accès par programme à la propriété avec les objets GlobalConfig, SiteConfig et SiteConfigReadOnly.

Normalement, ce nom est descriptif et commence par une lettre indiquant le type de données de la propriété, suivie d’un trait de soulignement. Par exemple, « i_AuctionOptions » indique un type de données entier.

f_IsConnStr
 Lorsqu’elle contient la valeur « 1 », cette colonne indique que la propriété est une chaîne de connexion OLE DB. Si tel est le cas, le Gestionnaire Commerce Server utilise une boîte de dialogue UDL (Universal Data Link) pour définir la valeur et, au moment de la décompression, le Gestionnaire de package de site Commerce Server invitera l’utilisateur à fournir les informations de connexion pour une base de données spécifique.

Pour plus d’informations sur cet indicateur et sa relation aux valeurs de configuration de chaîne de connexion, consultez les remarques ci-dessous.

f_IsHidden
 Lorsque cette colonne contient la valeur « 1 », la boîte de dialogue Ressource générique n’affiche pas la propriété. Affectez à cet indicateur la valeur « 1 » s’il existe pour la propriété un composant logiciel enfichable (snap-in) MMC personnalisé.
f_IsSimpleList
 Lorsqu’elle contient la valeur « 1 », cette colonne indique que la nouvelle propriété est un objet SimpleList. Cette fonctionnalité permet le stockage de propriétés à valeurs multiples.
s_Description
 Cette colonne n’est pas utilisée.
i_Vartype
 Entier indiquant le type Variant des données stockées. Par exemple, 8 indique une chaîne et 8200 indique un tableau de chaînes. Tous les types Variant, sauf SafeArray, IUnknown et IDispatch, sont autorisés.
s_Value
 Valeur de la propriété.
s_DisplayName
 Nom complet convivial de la propriété, qui apparaît dans la boîte de dialogue Ressource générique.

Remarques

  • Le Gestionnaire de package de site Commerce Server effectue un traitement spécial pour les propriétés de ressource dont les noms débutent par « connstr_db ». Les valeurs associées à ces propriétés sont compressées, mais quand elles sont décompressées, les valeurs compressées sont ignorées, et les propriétés reçoivent des valeurs de chaîne de connexion par défaut. Si vous optez pour la décompression rapide, ces valeurs par défaut sont acceptées automatiquement. Si vous choisissez la décompression personnalisée, les valeurs par défaut s’affichent, et vous avez l’occasion de les modifier. Même si elles sont ignorées durant la décompression, ces chaînes de connexion sont compressées en texte clair, ce qui constitue un risque de sécurité.
  • La compression des valeurs de chaîne de connexion représente un risque de sécurité parce que ces valeurs et les mots de passe qu’elles contiennent éventuellement sont stockés en texte clair dans le package de site. Le mécanisme suivant a été mis au point pour éviter d’encourir ce risque de sécurité.

    L’attribut f_connstr offre un moyen d’empêcher la compression des valeurs de chaîne de connexion (ou, potentiellement, de toute propriété de configuration sensible). Lorsque cet attribut possède la valeur un (1), la valeur de propriété correspondante n’est pas compressée.

  • Si vous voulez qu’une chaîne de connexion soit compressée et décompressée sans aucune intervention de l’utilisateur et que vous assumez le risque de sécurité de cette démarche, n’attribuez pas à votre propriété de chaîne de connexion un nom débutant par « connstr_db » et n’affectez pas la valeur un (1) à l’attribut f_connstr associé. Vous pouvez également créer un objet COM (Component Object Model) qui implémente l’interface IPuP et assure la compression et la décompression de votre chaîne de connexion.

Voir aussi

Sécurisation de la base de données d’administration


Resources, table

La table Resources définit des instances réelles des ressources. Avec les tables ResourceProps, SiteResources et Sites, cette table stocke les données de la base de données d’administration.

Les entrées de la table Resources entretiennent une relation de type un-à-plusieurs avec celles de la table ResourceProps.

Le tableau suivant décrit les colonnes de la table Resources.

Remarque

  • Vous ne devez modifier cette table sous aucun prétexte. Elle est décrite ici à titre de référence.
Colonne Description
i_ResourceID
 Entier qui identifie une ressource dans cette table. Les valeurs de cette colonne correspondent à celles des colonnes i_ResourceID des tables PupDBScript, ResourceProps et SiteResources.
s_DisplayName
 Chaîne qui stocke le nom de programmation de la ressource, utilisé lors de l’accès à la ressource à travers la propriété Fields des objets GlobalConfig, SiteConfig et SiteConfigReadOnly. Pour plus d’informations, consultez respectivement GlobalConfig.Fields, SiteConfig.Fields et SiteConfigReadOnly.Fields (en anglais).
s_Description
 Chaîne qui stocke le nom convivial de la ressource.
s_Type
 Chaîne qui indique le type de cette ressource. Cette colonne correspond aux colonnes s_ResourceType des tables SystemProps et ExtendedProps.
f_IsGlobal
 Indicateur qui précise si une ressource est globale (1) ou spécifique à un site (0).
f_ResourceFlags
 Les valeurs de cette colonne sont des champs binaires qui stockent des informations sur des caractéristiques booléennes de ressources. Le Gestionnaire Commerce Server et le Gestionnaire de package de site Commerce Server examinent ces caractéristiques pour déterminer comment chaque ressource doit être traitée. Les bits sont définis de la façon suivante :
  • 0x00000001 – Activé lorsque cette ligne est une référence à une ressource globale.

    Constante : IS_REFTOGROUPRES

  • 0x00000002 – Activé lorsque cette ressource peut être affichée dans MMC.

    Constante : IS_SNAPINITEM

  • 0x00000004 – Activé lorsque cette ressource dispose de son propre composant logiciel enfichable (snap-in). L’identificateur ProgID de l’extension de composant logiciel enfichable (snap-in) doit être dans la colonne s_ProgIDSnapIn lorsque ce bit est activé.

    Constante : IS_SNAPINAVAILABLE

  • 0x00000008 – Activé lorsque cette ressource est une application dans un site. N’est pas utilisé en externe.

    Constante : IS_ADDRESS

  • 0x00000010 – Activé lorsque cette ressource est une ressource physique. Affecte la fonctionnalité de suppression. La valeur par défaut est la première ressource globale comme elle. Durant la décompression personnalisée, requiert de l’utilisateur qu’il sélectionne une ressource globale existante. Utilisé en association avec IS_REFTOGROUPRES.

    Constante : IS_PHYSICAL

  • 0x00000080 – Activé pour les ressources qui utilisent une extension de composant logiciel enfichable (snap-in) non standard (n’est utilisé actuellement que par la ressource Data Warehouse). L’utilisation de cet indicateur n’est pas recommandée à cause des considérations spéciales requises au niveau de la programmation.

    Constante : IS_SNAPIN_NNSE

  • 0x00000100 – Activé pour les ressources qui ne doivent jamais être compressées par le Gestionnaire de package de site Commerce Server. Activez ce bit lorsque vous ne voulez pas transférer des ressources d’un ordinateur à l’autre.

    Constante : IS_NOTPACKED

  • 0x00000200 – Activé lorsque cette ressource est une application Business Desk.

    Constante : IS_BIZDESK

Les constantes sont définies dans l’énumération ConfigFlags, dans le fichier cssnapin.h.

s_ProgIDSnapIn
 Chaîne qui fournit l’identificateur ProgID d’une extension de composant logiciel enfichable (snap-in) pour cette ressource. L’extension de composant logiciel enfichable (snap-in) doit implémenter l’interface IDispatch. Le bit IS_SNAPINAVAILABLE de la colonne f_ResourceFlags doit être activé lorsque cette colonne contient une valeur.
s_Computer
 Chaîne qui montre facultativement le nom de l’ordinateur où est installé Commerce Server.
i_Status
 Cette colonne n’est pas utilisée actuellement.
f_PupFlags
 Lorsqu’il a la valeur zéro (0), indique au Gestionnaire de package de site Commerce Server que le nom passé lors de la compression et de la décompression est un nom de fichier. Lorsqu’il a la valeur un (1), indique au Gestionnaire de package de site Commerce Server que le nom passé lors de la compression et de la décompression est un nom de dossier.
s_ProgIDPUP
 Chaîne qui fournit l’identificateur ProgID d’un composant COM qui implémente l’interface du Gestionnaire de package de site Commerce Server (IPuP). Pour plus d’informations, consultez Site Packager Interface (en anglais).
s_PupParam1
 Chaîne qui contient la liste des noms, délimités par des virgules, des tables de base de données à compresser et décompresser pour la ressource.
s_PupParam2
 Chaîne qui contient la liste des noms, délimités par des virgules, des scripts de schéma SQL à exécuter lors de l’importation de la ressource.
s_PupParam3
 Chaîne qui contient la liste des noms, délimités par des virgules, des scripts SQL à exécuter lors de la suppression de la ressource.

Voir aussi

Sécurisation de la base de données d’administration


SiteResources, table

La table SiteResources offre un mécanisme de recherche de toutes les ressources installées dans un site. Avec les tables ResourceProps, Resources et Sites, cette table stocke les données de la base de données d’administration.

Les entrées de la table SiteResources entretiennent une relation de type plusieurs-à-plusieurs avec celles de la table Resources.

Le tableau suivant décrit les colonnes de la table SiteResources.

Remarque

  • Vous ne devez modifier cette table sous aucun prétexte. Elle est décrite ici à titre de référence.
Colonne Description
i_SiteID
 Entier qui identifie le site particulier associé à la ressource correspondante.

Cette colonne correspond aux colonnes i_SiteID des tables PupDBScripts et Sites.

i_ResourceID
 Entier qui associe la ressource identifiée au site correspondant. Les valeurs de cette colonne correspondent à celles des colonnes i_ResourceID des tables PupDBScript, ResourceProps et Resources.

Voir aussi

Sécurisation de la base de données d’administration


Sites, table

La table Sites est le point de départ de l’extraction de données au sujet d’un site. Elle fait correspondre le nom de site à un identificateur de site. Cet identificateur est différent de celui de la métabase des services IIS (Internet Information Services) pour le site. Avec les tables ResourceProps, Resources et SiteResources, cette table stocke les données de la base de données d’administration.

Les entrées de la table Sites entretiennent une relation de type un-à-plusieurs avec celles de la table SiteResources.

Le tableau suivant décrit les colonnes de la table Sites.

Remarque

  • Vous ne devez modifier cette table sous aucun prétexte. Elle est décrite ici à titre de référence.
Colonne Description
i_SiteID
 Entier qui identifie un site particulier.

Cette colonne correspond aux colonnes i_SiteID des tables PupDBScripts et SiteResources.

s_Name
 Chaîne contenant un nom convivial pour le site.
s_Description
 Chaîne facultative contenant une description conviviale du site.
i_Status
 Cette colonne n’est pas utilisée actuellement.
d_DateCreated
 Date et heure de création de cette entrée de site.
d_DateModified
 Date et heure de la dernière modification de cette entrée de site.

Voir aussi

Sécurisation de la base de données d’administration


SystemProps, table

La table SystemProps définit les caractéristiques de ressources. Avec la table ExtendedProps, cette table définit le schéma de la base de données d’administration.

Le tableau suivant décrit les colonnes de la table SystemProps.

Remarque

  • Vous ne devez modifier cette table sous aucun prétexte. Elle est décrite ici à titre de référence.
Colonne Description
i_ApplicationID
 Cette colonne n’est pas utilisée actuellement.
s_Name
 Cette colonne n’est pas utilisée actuellement.
s_ClassName
 Contient une chaîne arbitraire. Cette chaîne est utilisée comme valeur du paramètre bstrConfigSchemaClass pour les méthodes GlobalConfig.CreateServiceConfig et SiteConfig.CreateComponentConfig.
s_ResourceType
 Chaîne employée pour mapper une ligne de cette table, représentant un type de ressource, vers les propriétés de ressource associées dans la table ExtendedProps. La colonne correspondante dans la table ExtendedProps est également appelée s_ResourceType.
s_Description
 Cette colonne n’est pas utilisée actuellement.
f_ResourceFlags
 Les valeurs de cette colonne sont des champs binaires qui stockent des informations sur des caractéristiques booléennes de ressources. Pour plus d’informations sur la signification des bits de cet indicateur, consultez la colonne f_ResourceFlags de la table Resources.

Les constantes correspondant aux bits de cet indicateur sont définies dans l’énumération ConfigFlags, dans le fichier cssnapin.h.

f_PupFlags
 Lorsqu’il a la valeur zéro (0), indique au Gestionnaire de package de site Commerce Server que le nom passé lors de la compression est un nom de fichier. Lorsqu’il a la valeur un (1), indique au Gestionnaire de package de site Commerce Server que le nom passé lors de la compression est un nom de dossier.
s_RefResource
 Cette colonne n’est pas utilisée actuellement.
s_MachineName
 Cette colonne n’est pas utilisée actuellement.
i_Status
 Cette colonne n’est pas utilisée actuellement.
s_ProgidSnapin
 Chaîne qui fournit l’identificateur ProgID d’une extension de composant logiciel enfichable (snap-in) pour cette ressource. L’extension de composant logiciel enfichable (snap-in) doit implémenter l’interface IDispatch.
s_ProgidPUP
 Chaîne qui fournit l’identificateur ProgID d’un composant COM qui implémente l’interface du Gestionnaire de package de site Commerce Server (IPuP). Pour plus d’informations, consultez Site Packager Interface (en anglais).
s_PUPParam1
 Cette colonne n’est pas utilisée actuellement.
s_PUPParam2
 Cette colonne n’est pas utilisée actuellement.
s_PUPParam3
 Cette colonne n’est pas utilisée actuellement.

Voir aussi

Sécurisation de la base de données d’administration


Tables de la base de données d'analyse/de rapports

Envoyer des commentaires sur cette page Commerce Server 2002

Tables de la base de données d’analyse/de rapports

Le Data Warehouse contient les tables suivantes. Pour plus d’informations sur la sécurisation de ces tables et des rapports, consultez Sécurisation du Data Warehouse.

Remarque

  • Vous ne devez modifier ces tables sous aucun prétexte. Elles sont décrites ici à titre de référence.
Nom de la table Description
Report
 Décrit les attributs utilisés dans la principale table de définition de rapport.
ReportDbObject
 Décrit des objets de base de données créés en vue d’une utilisation dans un rapport statique.
ReportDimension
 Décrit les attributs utilisés pour ajouter une dimension à un rapport.
ReportInstanceDbObject
 Décrit des instances d’objets de base de données créées en vue d’une utilisation dans un rapport statique.
ReportInstanceParam
 Décrit les attributs utilisés pour stocker les paramètres entrés via l’interface utilisateur en vue d’une utilisation dans des expressions de requête.
ReportParam
 Décrit les attributs utilisés pour ajouter une expression de requête paramétrée à un rapport statique.
ReportStatus
 Décrit les attributs utilisés pour fournir des informations d’état au sujet d’un rapport statique.

Voir aussi

Sécurisation des bases de données du Data Warehouse


Tables de la base de données du Data Warehouse

Le Data Warehouse inclut les classes et les relations qui constituent le schéma logique, ainsi que le métamodèle utilisé pour les créer.

Voir aussi

Sécurisation des bases de données du Data Warehouse


Base de données du service de publipostage

La base de données du service de publipostage contient les tables suivantes. Pour plus d’informations sur la sécurisation de cette base de données, consultez Sécurisation de la base de données du service de publipostage.

Remarque

  • Vous ne devez modifier ces tables sous aucun prétexte. Elles sont décrites ici à titre de référence.
Nom de la table Description
Dml_attachments
 Contient des attributs utilisés pour spécifier des pièces jointes pour des travaux de publipostage.
Dml_job_errors
 Contient des attributs utilisés pour décrire des erreurs survenues durant l’envoi de messages de publipostage.
Dml_jobs
 Contient une liste de travaux de publipostage.

Voir aussi

Sécurisation de la base de données du service de publipostage


Tables de la base de données des campagnes marketing

Les tables marketing se trouvent dans la base de données à laquelle fait référence la ressource de site Campagnes marketing. Pour plus d’informations sur la sécurisation de ces tables de base de données, consultez Sécurisation de la base de données des campagnes marketing.

Remarque

  • Vous ne devez modifier ces tables sous aucun prétexte. Elles sont décrites ici à titre de référence.
Nom de la table Description
Ad_item
 Représente un contenu publicitaire planifié pour une page Web, contient des membres de données précisant le moment où la publicité s’exécute et des codes liant la publicité aux produits qu’elle représente.
Campaign
 Définit le processus commercial impliqué par l’exécution d’une campagne marketing pour un annonceur.
Campaign_item
 Représente le contenu inclus dans une campagne marketing et/ou une publicité planifiée.
Campaign_item_types
 Décrit les types d’éléments de campagne marketing disponibles dans le système marketing.
Campaigns_version
 Contient des informations sur les versions de schéma. Si vous créez des types d’éléments de campagne personnalisés, ils doivent être inscrits ici.
Creative
 Contient des informations sur la façon d’afficher une publicité ou une remise.
Creative_property
 Décrit les chaînes de substitution contenues dans chaque type de contenu créatif, avec une entrée par chaîne de substitution par type de contenu créatif.
Creative_property_value
 Contient des valeurs pour des propriétés de contenu créatif.
Creative_size
 Décrit la taille de l’emplacement requis pour afficher un contenu créatif donné sur une page.
Creative_type
 Contient des informations de mise en forme précisant comment afficher le contenu créatif.
Creative_type_xref
 Détermine quels types de contenu créatif (modèles) sont disponibles pour chaque élément de campagne marketing.
Customer
 Définit un client qui utilise la publicité à travers un site Web Commerce Server 2002.
Dm_item
 Décrit des éléments de publipostage planifiés tels que les informations d’adresse et de mise en forme.
Event_type
 Classe les événements marketing en catégories.
Industry_code
 Contient des attributs qui permettent à l’algorithme de sélection d’empêcher l’apparition de deux annonces de la même industrie et de clients différents sur la même page.
Order_discount
 Représente des éléments vendus avec une remise. Cette classe contient des membres de données précisant les éléments et les conditions de la vente.
Order_discount_expression
 Identifie les expressions d’éligibilité des remises.
Order_discount_misc
 Colonne à usage interne, réservée à Business Desk.
Page_group
 Représente un groupe d’éléments de contenu personnalisés utilisés sur une page Web pour une campagne marketing.
Page_group_xref
 Fournit une référence croisée entre un contenu de page Web personnalisé et la page Web ou l’ensemble logique de pages Web qui contient ce contenu.
Performance_total
 Enregistre des nombres cumulés d’événements, par exemple les clics et les demandes portant sur chaque élément de campagne.
Target
 Définit une cible pour une stratégie marketing et un contenu Web personnalisé, par exemple un type particulier d’utilisateur.
Target_group
 Définit des groupes de cibles pour une stratégie marketing et un contenu Web personnalisé.
Target_group_xref
 Fournit une référence croisée entre un groupe cible et le contenu personnalisé qui lui est destiné.

Voir aussi

Sécurisation de la base de données des campagnes marketing


Composants de la base de données du catalogue

La base de données du catalogue de produits est créée lorsque vous décompressez un site solution. Une série de tables est créée à cette occasion. Ces tables servent à la maintenance générale et à l’exploitation de la base de données.

Pour plus d’informations sur la sécurisation de ces tables, consultez Sécurisation de la base de données du catalogue de produits.

Remarque
  • Vous ne devez modifier sous aucun prétexte ces tables principales. Elles sont fournies ici à titre d’exemple.

Lorsque vous commencez la création d’un nouveau catalogue de produits, Commerce Server 2002 crée des tables de manière dynamique pour faciliter le stockage des données pour le nouveau catalogue. Les composants suivants sont générés pour un nouveau catalogue :

  • Tables du catalogue de base
  • Tables du catalogue virtuel
  • Tables propres aux langues du catalogue
  • Procédures stockées propres au catalogue
  • Vues propres au catalogue
  • Index de recherche de texte intégral
  • Base de données MSCS_CatalogScratch

Tables du catalogue de base

Les tables de catalogue utilisées par un catalogue de base sont les suivantes :

  • <Nom_du_catalogue>_CatalogProducts
  • <Nom_du_catalogue>_CatalogRelationships
  • <Nom_du_catalogue>_CatalogHierarchy
  • <Nom_du_catalogue>_CatalogDeletedProducts (Notez que cette table n’est pas nécessaire dans un environnement de production.)
  • <Nom_du_catalogue>_CatalogDependentCatalogs

Tables du catalogue virtuel

Lorsque vous créez un catalogue virtuel, les tables suivantes sont générées de manière dynamique par agrégation du nom du catalogue et du rôle de la table dans la prise en charge du catalogue :

Remarque

  • Les tables suivantes ne s’appliquent pas au scénario du catalogue Adventure Works, qui n’utilise qu’un catalogue de base.
  • <Nom_du_catalogue>_CatalogRelationships
  • <Nom_du_catalogue>_CatalogHierarchy
  • <Nom_du_catalogue>_CatalogProducts
  • <Nom_du_catalogue>_CatalogDeletedProducts (Notez que cette table n’est pas nécessaire dans un environnement de production.)
  • <Nom_du_catalogue>_CatalogIncludedProductsAndCategories
  • <Nom_du_catalogue>_CatalogPricingRules
  • <Nom_du_catalogue>_CatalogVirtualProducts

Tables propres aux langues du catalogue

Afin de prendre en charge la globalisation du catalogue de produits, une table propre aux langues est créée pour chaque nouvelle langue définie pour le catalogue :

  • <Nom_du_catalogue>_<Langue>_Catalog

Dans le présent exemple, vous allez utiliser une table en anglais (États-Unis) nommée AdventureWorksCatalog_en-US_Catalog.

Procédures stockées propres au catalogue

Lorsqu’un nouveau catalogue est créé, Commerce Server 2002 crée les procédures stockées suivantes qui sont spécifiquement liées au nouveau catalogue. Les conventions d’affectation des noms standard pour ces procédures stockées sont les suivantes :

  • ctlg_DeleteProduct_for_<Nom_du_catalogue>
  • ctlg_GetRelationships_for_<Nom_du_catalogue>
  • ctlg_DeleteCategory_for_<Nom_du_catalogue>

Les procédures stockées propres aux langues sont les suivantes :

  • ctlg_AncestorCategories_for_<Nom_du_catalogue>_<langue>
  • ctlg_GetCategoryResults_for_<Nom_du_catalogue>_<langue>
  • ctlg_GetProducts_for_<Nom_du_catalogue>_<langue>
  • ctlg_GetDescProds_for_<Nom_du_catalogue>_<langue>
  • ctlg_GetDescProdsOnly_for_<Nom_du_catalogue>_<langue>
  • ctlg_GetChildCategories_for_<Nom_du_catalogue>_<langue>
  • ctlg_GetRootCategories_for_<Nom_du_catalogue>_<langue>
  • ctlg_GetRootProducts_for_<Nom_du_catalogue>_<langue>
  • ctlg_Specsearch_for_<Nom_du_catalogue>_<langue>

Vues propres au catalogue

Plusieurs vues sont créées pour un nouveau catalogue. Elles suivent la même convention d’affectation des noms que les tables et les procédures stockées :

  • <Nom_du_catalogue>_ClassTypes
  • <Nom_du_catalogue>_LNG_NEUTRAL

Les vues propres aux langues pour chacune des langues définies pour le catalogue sont les suivantes :

  • <Nom_du_catalogue>_<Langue>_RelationsView
  • <Nom_du_catalogue>_<Langue>_Catalog

Index de recherche de texte intégral

Les catalogues de produits utilisent les index de recherche de texte intégral SQL qui sont créés de manière dynamique dans le cadre d’un nouveau catalogue. Le contenu de ces index n’est pas répliqué, mais est régénéré sur le serveur de base de données de production.

Le catalogue <Nom_du_catalogue>_FullTextCatalog est créé pour prendre en charge un index de texte intégral sur les catalogues suivants :

  • <Nom_du_catalogue>_CatalogProducts, qui inclut des champs marqués comme pouvant faire l’objet d’une recherche dans Business Desk.
  • <Nom_du_catalogue>_<Langue>_Catalog pour chaque langue définie dans le catalogue. Cette table comprend notamment les champs de nom et de nom complet.

MSCS_CatalogScratch

Le système de catalogue de produits utilise une base de données « brouillon » (scratch, en anglais), MSCS_catalog_scratch, pour le stockage des tables temporaires. Vous devez vérifier que cette base de données existe sur les serveurs de base de données de catalogue que vous utilisez en production, et que la table CTLG_PropertyTableMap est répliquée.

Pour plus d’informations sur cette base de données, consultez MSCS_CatalogScratch.


Base de données MSCS_CatalogScratch

Le système de catalogue de produits utilise cette base de données « brouillon » (scratch en anglais) pour stocker les tables persistantes et vides créées par les méthodes d’exécution de l’API Catalog. Elle est créée par l’objet Pup du catalogue et par le script catalogcreate.sql.

Cette base de données doit résider sur les serveurs de base de données de catalogue que vous utilisez en production ; de plus, les utilisateurs au moment de l’exécution et les utilisateurs au moment de la conception du système de catalogue de produits doivent avoir les autorisations db_owner sur cette base de données.

Utilisez le script catalogcleanup.vbs, qui se trouve dans le répertoire Program Files/Microsoft Commerce Server 2002/Support, pour supprimer les tables temporaires de cette base de données.

N’utilisez pas cette base de données pour stocker vos propres données.

Cette base de données est partagée entre plusieurs ressources de catalogue (par exemple, même si deux sites utilisent deux bases de données de catalogue différentes, il n’y a toujours qu’une seule base de données MSCS_CatalogScratch).

Les procédures stockées du système de catalogue de produits créent des tables temporaires dans cette base de données (s’il y a lieu), les remplissent de données et les utilisent ; lorsque les procédures stockées se terminent, elles vident ces tables temporaires. Les procédures stockées réutilisent les tables vides lors de leurs exécutions suivantes. Comme le nom et le schéma de table sont conservés, SQL Server peut réutiliser son plan de requête au lieu de générer une nouvelle requête, ce qui améliore les performances.


Tables de la base de données des profils

Les tables suivantes de la base de données des profils se trouvent dans la base de données référencée par la ressource de site Profils. Pour plus d’informations sur la sécurisation de ces tables, consultez Sécurisation de la base de données des profils.

Remarque

  • Vous ne devez modifier ces tables sous aucun prétexte. Elles sont décrites ici à titre de référence.
Nom de la table Description
Addresses
 Contient les adresses d’utilisateur et d’organisation. Sert à stocker les données d’exécution du système de profil collectées par les sites.
BlanketPOs
 Contient des informations sur les bons de commande. Sert à stocker les données d’exécution du système de profil collectées par les sites.
ClassDef
 Contient des informations sur le schéma des profils/du Data Warehouse.
ClsAttrib
 Contient des informations sur le schéma des profils/du Data Warehouse.
ColDef
 Contient des informations sur le schéma des profils/du Data Warehouse.
CommerceServerCatalogs
 Contient des informations sur le schéma des profils/du Data Warehouse.
ES_ExprExprDeps
 Contient les interdépendances des expressions.
ES_ExprInfo
 Contient des informations pour les expressions.
ES_ExprProfDeps
 Contient les dépendances des expressions envers des profils.
GroupMem
 Contient des informations sur le schéma des profils/du Data Warehouse.
MemAttrib
 Contient des informations sur le schéma des profils/du Data Warehouse.
MemberDef
 Contient des informations sur le schéma des profils/du Data Warehouse.
OrganizationObject
 Contient des informations d’objet organisation. Sert à stocker les données d’exécution du système de profil collectées par les sites.
Relation
 Contient des informations sur le schéma des profils/du Data Warehouse.
SourceAttrib
 Contient des informations sur le schéma des profils/du Data Warehouse.
SourceDef
 Contient des informations sur le schéma des profils/du Data Warehouse.
TableDef
 Contient des informations sur le schéma des profils/du Data Warehouse.
UserObject
 Contient des informations d’objet utilisateur. Sert à stocker les données d’exécution du système de profil collectées par les sites.

Voir aussi

Sécurisation de la base de données des profils


Tables de la base de données des transactions

Les tables suivantes de la base de données de transactions se trouvent dans la base de données référencée par la ressource de site Transactions. Pour plus d’informations sur la sécurisation de ces tables, consultez Sécurisation de la base de données des transactions.

Remarque

  • Vous ne devez modifier ces tables sous aucun prétexte. Elles sont décrites ici à titre de référence.
Nom de la table Description
BasketGroup
 Contient les groupes de commandes pour lesquels statut=panier ou statut=modèle.
CatalogProducts_AuctionBid
 Contient les offres d’article aux enchères.
CatalogProducts_AuctionItem
 Décrit les articles vendus aux enchères.
counters
 Contient des compteurs utilisés par l’objet GenId. Par exemple, cette table est utilisée pour les numéros de suivi des commandes.
OrderFormHeader
 Stocke des informations sur les groupes de commandes au niveau du bon de commande.
OrderFormLineItems
 Stocke des informations sur les groupes de commandes au niveau de l’article.
OrderGroup
 Contient des informations de niveau externe sur les groupes de commandes.
OrderGroupAddresses
 Contient les adresses que renferme un groupe de commandes.
TransCategory
 Contient les tables que la tâche DTS Importation des données de transaction va transférer.
TransDimension
 Contient les colonnes que la tâche DTS va afficher dans l’interface utilisateur. Les champs clés sont transférés par défaut et ne s’affichent pas dans l’interface utilisateur. La colonne RequiredDim détermine la sélection de colonne par défaut dans l’interface utilisateur.
UserFilter
 Contient l’état de recherche d’utilisateur, pour les services client et partenaire.

Voir aussi

Sécurisation de la base de données des transactions


Tables de la base de données TransactionConfig

Les tables suivantes de la base de données TransactionConfig se trouvent dans la base de données référencée par la ressource de site Configuration de la transaction. Pour plus d’informations sur la sécurisation de ces tables, consultez Sécurisation de la base de données TransactionConfig.

Remarque

  • Vous ne devez modifier ces tables sous aucun prétexte. Elles sont décrites ici à titre de référence.
Nom de la table Description
CatalogCache_Virtual_Directory
 Contient une liste d’applications utilisant un cache basé sur des informations de catalogue. Cette table est utilisée par les serveurs d’une batterie de serveurs Web (Web farm) pour annoncer à Business Desk qu’ils stockent dans un cache des informations de catalogue.
Decode
 Sert au décodage de codes (exemples : 1=panier ; 2=modèle ; 3=commande).
Region
 Contient des noms et des codes de pays/région et de département/province.
RegionalTax
 Contient des taux de taxes pour le composant de pipeline SampleRegionalTax.
ShippingConfig
 Contient des informations sur les modes de livraison disponibles.
TableShippingRates
 Contient des informations sur les frais de livraison pour les composants de pipeline StepwiseShipping.
TxVirtual_Directory
 Contient une liste d’applications utilisant des caches de livraison et de taxe. Cette table est utilisée par les serveurs d’une batterie de serveurs Web (Web farm) pour annoncer leurs caches à Business Desk.

Voir aussi

Sécurisation de la base de données TransactionConfig


Architecture de Business Desk

Commerce Server Business Desk est un outil de gestion de site Web inclus dans Commerce Server 2002. Business Desk héberge des modules de gestion commerciale qui vous permettent de configurer, de gérer et d’analyser vos sites. Par exemple, les modules Business Desk permettent de mettre à jour les tarifs de vos catalogues, de cibler de nouvelles publicités en fonction d’utilisateurs spécifiques et d’exécuter des rapports pour mesurer l’impact de ces modifications sur la productivité du site.

Business Desk comporte deux parties : l’application Business Desk et le client Business Desk.

  • Application Business Desk. Outil de gestion permettant de configurer, de gérer et d’analyser votre site. Business Desk est accessible depuis n’importe quel ordinateur exécutant Microsoft Internet Explorer 5.5, ce qui permet un accès à distance sécurisé.

    Les applications Business Desk sont fournies dans les packages de site solution. Après avoir installé Commerce Server, vous devez décompresser un site solution pour installer une application Business Desk. Si vous disposez déjà d’un site et souhaitez utiliser Business Desk pour le gérer, vous devez décompresser un site solution pour obtenir l’application Business Desk, puis modifier l’application.

  • Client Business Desk. Logiciel client installé localement sur votre ordinateur, qui fournit l’interface avec l’application Business Desk. Lorsque vous accédez à l’application Business Desk pour la première fois (via une URL), le client Business Desk est téléchargé et installé sur votre ordinateur. Il est préférable que l’ordinateur qui exécute le client Business Desk dispose d’une connexion haute vitesse avec l’application Business Desk.

La figure suivante montre comment utiliser les clients Business Desk pour accéder à distance à l’application Business Desk afin de mettre à jour un site Web.

Figure montrant comment le client Business Desk accède à l'application Busines Desk.

Cette section contient les rubriques suivantes :

  • Catégories et modules Business Desk
  • Infrastructure de Business Desk


Catégories et modules Business Desk

Les modules, principaux composants de Commerce Server Business Desk, permettent de gérer les différents aspects de votre site Web. Le tableau suivant répertorie les modules Business Desk et les catégories qui les contiennent, et décrit les tâches qu’ils permettent d’effectuer.

Module/Catégories | Description
Analyse Rapports Rapports finalisés | Exécutez et consultez les rapports représentant l’activité de votre site. Les modules Analyse sont fournis avec un grand nombre de rapports traitant divers aspects de votre site.
Campagnes marketing Gestionnaire de campagnes Gestionnaire de listes Expressions de la campagne marketing Groupe cible Tables de références Publier les campagnes marketing | Créez et planifiez des campagnes marketing. Ajoutez des informations sur les clients et gérez des campagnes marketing et des éléments de la campagne, par exemple en créant des bannières publicitaires, des travaux de publipostage et des remises sur les produits. Chaque élément de la campagne peut être ciblé en fonction d’utilisateurs spécifiques, ce qui permet de créer un contenu à découvrir par l’utilisateur extrêmement personnalisé.
Catalogues Concepteur de définitions de catalogues Éditeur de catalogue Groupes de catalogues | Importez ou créez des catalogues, ajoutez et appliquez une tarification aux produits. Créez des catalogues contenant des prix spéciaux, qui ne s’affichent que pour certains utilisateurs, par exemple, les membres d’un club.
Commandes Gestionnaire de panier Codes de statut de la commande Codes d’emplacement Statut de la commande Modes de livraison Taux de taxes Publier les transactions | Recherchez des informations sur les commandes existantes dans la base de données Commerce Server, et ajoutez, supprimez, approuvez ou modifiez les informations sur les commandes. Ajoutez, supprimez ou modifiez les frais de livraison et les taux de taxes.
Utilisateurs Utilisateurs Organisations Concepteur de définitions de profils Éditeur du glossaire du site Publier les profils | Créez et modifiez des utilisateurs, des organisations et des profils. Créez et modifiez les entrées du glossaire du site.

Voir aussi

Utilisation de Business Desk


Infrastructure de Business Desk

Commerce Server Business Desk a une infrastructure d’interface utilisateur implémentée essentiellement sous forme de pages ASP (Active Server Pages) contenant du langage DHTML (Dynamic Hypertext Markup Language). Cette infrastructure fournit un environnement structuré dans lequel les développeurs tiers peuvent facilement étendre les fonctionnalités de gestion fournies par Commerce Server 2002. Cet environnement inclut une navigation structurée entre les pages, des mécanismes standard pour la manipulation des données, des routines utilitaires partagées et des conventions permettant de garantir la cohérence des contenus à découvrir par l’utilisateur.

Par défaut, à chaque site Web Commerce Server est associée une instance distincte de Business Desk. Bien que Business Desk partage avec le site Web un ensemble de ressources Commerce Server, par exemple des bases de données, il existe en tant qu’application ASP distincte, avec une structure de répertoires et une racine virtuelle qui lui sont propres.

L’infrastructure de Commerce Server Business Desk fournit l’environnement dans lequel les modules Business Desk sont exécutés. La figure suivante montre comment un ensemble de fichiers de configuration fournit deux types d’informations importants nécessaires pour que l’infrastructure de Business Desk puisse prendre en charge la navigation. Le premier type d’informations détermine l’ensemble de modules classés par catégorie qui sera accessible dans Business Desk. Le second type d’informations permet de créer et de gérer la barre des tâches, qui peut être unique pour chaque page d’action.

Figure illustrant l'infrastructure de Business Desk.

Cette figure montre également que les modules sont généralement conçus de telle façon que leur page d’action initiale soit une page de liste, à partir de laquelle les pages de modification sont accessibles à l’aide de boutons de tâche. Elle montre également la conception standard dans laquelle un utilisateur doit revenir à la page de liste initiale pour pouvoir passer dans un module différent.

L’infrastructure de Business Desk a les caractéristiques suivantes :

  • Le fichier de configuration maître, associé à un ensemble de fichiers de configuration de module, fournit les informations nécessaires à l’infrastructure de Business Desk pour gérer à la fois le volet de navigation et la barre des tâches affichée sur chaque page d’action.
  • Les pages d’action qui affichent des listes en lecture seule, appelées pages de liste, sont toujours affichées avec le volet de navigation. Cela signifie qu’un utilisateur doit passer à un autre module à partir d’une page de liste et non d’une page de modification. Les pages de liste sont en lecture seule (à l’exception des tâches de suppression), ce qui signifie qu’il est généralement inutile d’envoyer aux utilisateurs un message d’avertissement relatif à la sortie du module sans enregistrement des modifications apportées aux données.
  • En règle générale, la navigation entre les pages d’action doit s’effectuer à l’aide des boutons de la barre des tâches. Ce mécanisme permet à l’infrastructure de Business Desk de fournir des services qui interviennent pendant la transition entre les pages d’action. Vous devez limiter la création de liens directs entre pages d’action et boutons sur une page.

Voir aussi

Building Business Desk Modules (en anglais)


Commerce Server et serveurs d'entreprise .NET

Envoyer des commentaires sur cette page Commerce Server 2002

Commerce Server et serveurs d’entreprise .NET

Bien que Commerce Server 2002 soit un produit autonome, il a été conçu pour fonctionner sans problème avec d’autres produits qui, ensemble, constituent les serveurs d’entreprise Microsoft .NET.

Les serveurs d’entreprise .NET forment une famille complète d’applications serveur, permettant de créer, de déployer et de gérer des solutions Web évolutives et intégrées, avec une mise sur le marché très rapide. Vous pouvez utiliser l’architecture des serveurs d’entreprise .NET pour créer des systèmes qui intègrent les sites Commerce Server au reste de votre système de gestion des informations. Si vous recherchez ce niveau d’intégration, vous pouvez implémenter une ou plusieurs des technologies .NET conjointement avec Commerce Server.

Les technologies .NET utilisables avec Commerce Server incluent :

  • Microsoft Visual Studio .NET
  • Microsoft Content Management Server 2001 et versions ultérieures
  • Microsoft BizTalk Server 2000 et versions ultérieures
  • Microsoft SQL Server 2000
  • Microsoft Application Center 2000 et versions ultérieures
  • Microsoft Internet Security and Acceleration Server 2000 (ISA) et versions ultérieures
  • Microsoft Host Integration Server 2000


Microsoft Visual Studio .NET

L’infrastructure d’application .NET de Commerce Server vous permet de créer des applications Commerce Server .NET à l’aide des nouvelles fonctionnalités du .NET Framework. L’infrastructure d’application .NET de Commerce Server propose deux nouvelles couches pour la plate-forme Commerce Server : la bibliothèque de classes de base et la couche d’interopérabilité Common Language Runtime. Ces couches permettent à du code ASP.NET d’exécuter les services et systèmes Commerce Server. À l’aide de Visual Studio .NET, vous pouvez accéder aux fonctionnalités et aux outils de Commerce Server pour construire une application Commerce Server.

Pour plus d’informations sur la configuration logicielle requise pour développer une application Commerce Server à l’aide de Visual Studio .NET, consultez le Guide d’installation de Commerce Server 2002.

Pour plus d’informations sur le développement d’une application Commerce Server .NET, consultez Commerce Server .NET Application Framework (en anglais).

Pour plus d’informations sur l’utilisation de l’exemple de site International Retail pour développer votre site, consultez International Retail Site (en anglais).

Voir aussi

Commerce Server .NET Application Framework (en anglais)

International Retail Site (en anglais)

Déploiement de votre site


Microsoft Content Management Server 2001 et versions ultérieures

Vous pouvez utiliser Microsoft Content Management Server 2001 (MSCMS) et ses versions ultérieures pour définir dans des dossiers MSCMS des pages basées sur des modèles définis dans la galerie de modèles MSCMS et publiées sur des chaînes MSCMS. MSCMS Content Connector est également utilisé pour réaliser certains aspects de l’intégration à Microsoft Commerce Server 2002.

Content Management Server automatise le processus de publication et offre des fonctionnalités de planification, de contrôle de version, de personnalisation du déroulement des opérations, de publication en fonction du navigateur et d’archivage. Il vous permet de réutiliser et de partager du contenu à travers des applications d’entreprise. Les créateurs de contenu peuvent ajouter ou modifier des contenus sans l’aide de techniciens.

L’intégration à Microsoft Content Management Server n’est pas fournie par défaut avec Commerce Server 2002. Cette fonctionnalité est fournie par la solution Microsoft for Internet Business (MSIB, Microsoft Solution for Internet Business). Pour plus d’informations sur cette solution, consultez http://go.microsoft.com/fwlink/?LinkId=6064.

Remarque

  • Le site MethodSystems de Content Management Server 2001 ne fonctionne pas avec Commerce Server 2002.

Voir aussi

Déploiement de votre site


Microsoft BizTalk Server 2000 et versions ultérieures

Commerce Server s’intègre à Microsoft BizTalk Server 2000 et ses versions ultérieures. BizTalk Server fournit une solution complète d’échange de documents électroniques d’entreprise à entreprise et d’intégration de processus commerciaux. BizTalk Server fonctionne comme une passerelle pour documents commerciaux entre les partenaires commerciaux, et gère les services de traduction des données, de cryptage, de signature numérique et de suivi des documents pour de nombreux mécanismes de transport.

Vous pouvez intégrer Commerce Server et BizTalk Server, par exemple pour échanger des catalogues de produits publiés sur votre site Web ou pour envoyer des commandes entrées sur votre site Web à des fournisseurs afin qu’ils les exécutent.

Pour plus d’informations sur l’intégration de Commerce Server et BizTalk Server, consultez Integrating with BizTalk Server (en anglais).

Voir aussi

Integrating with BizTalk Server (en anglais)

Déploiement de votre site


Microsoft SQL Server2000

Envoyer des commentaires sur cette page Commerce Server 2002

Microsoft SQL Server 2000

Microsoft SQL Server 2000 fournit une base de données évolutive qui allie la simplicité d’utilisation à des utilitaires complexes d’analyse et de stockage des données. SQL Server comprend une riche interface utilisateur graphique, ainsi qu’un environnement de développement complet pour la création d’applications pilotées par les données.

Commerce Server bénéficie des fonctionnalités de SQL Server en matière d’analyse et de stockage des données dans plusieurs zones clés. Le Data Warehouse de Commerce Server, par exemple, utilise la transformation de données (DTS, Data Transformation Services) de SQL Server pour convertir les données stockées dans les bases de données SQL Server dans un format utilisé par les ressources de Commerce Server.

Commerce Server est également tributaire de SQL Server pour la réplication des catalogues. Pour plus d’informations, consultez Réplication du contenu des catalogues.

Voir aussi

Réplication du contenu de catalogues

Déploiement de votre site


Microsoft Application Center 2000 et versions ultérieures

Commerce Server 2002 s’intègre à Microsoft Application Center 2000 et ses versions ultérieures. Application Center est un environnement de gestion et de déploiement à haute disponibilité pour les applications Web créées sur Windows 2000. Il étend l’ensemble principal des services d’applications Web présents dans Microsoft Windows 2000 (services IIS (Internet Information Services) 5.0, ASP (Active Server Pages), COM+, Message Queuing), et fournit une série d’utilitaires de contrôle, de test et de diagnostic non disponibles dans le système d’exploitation principal. Application Center s’adresse aux clients qui ont des besoins finaux importants en matière d’évolutivité et de disponibilité.

Vous pouvez utiliser Application Center avec Commerce Server pour effectuer des déploiements, des mises à jour incrémentielles de votre site Web et des rollbacks. Pour plus d’informations sur l’utilisation de Application Center avec Commerce Server, consultez Déploiement de votre site.

Voir aussi

Déploiement de votre site


Services COM+

Les services Microsoft COM+ (services de composants comprenant Microsoft Transaction Server) constituent un modèle de programmation unifié qui est utilisé pour créer des applications à base de composants et réparties sur trois niveaux. COM+ est créé sur le modèle COM (Component Object Model) de Microsoft, grâce à l’association de COM et des fonctionnalités transactionnelles de Microsoft Transaction Server (MTS). Il étend l’environnement de programmation en ajoutant un vaste ensemble de fonctionnalités pour permettre aux développeurs de site de créer, de déployer et d’administrer plus facilement des solutions fortement évolutives et distribuées, à base de composants.


Microsoft Internet Security and Acceleration Server 2000 (ISA) et versions ultérieures

Commerce Server 2002 s’intègre à Microsoft Internet Security and Acceleration Server 2000 (ISA) et ses versions ultérieures. ISA est un serveur pare-feu d’entreprise extensible et un serveur de cache Web qui fournit de puissantes fonctionnalités de sécurité et d’accélération réseau. Il peut s’utiliser pour fournir les pare-feu requis à des fins de sécurité dans les environnements de déploiement.

Voir aussi

Sécurisation de votre site

Déploiement de votre site


Microsoft Host Integration Server2000

Envoyer des commentaires sur cette page Commerce Server 2002

Microsoft Host Integration Server 2000

Microsoft Host Integration Server 2000 est une plate-forme d’intégration complète qui prend en charge les technologies Internet, intranet et client/serveur tout en préservant vos investissements pour les systèmes existants. En considérant que l’accès aux données existantes constitue uniquement la première étape de l’exploitation des ressources informatiques d’une entreprise, Host Integration Server fournit aux développeurs de l’entreprise les moyens de créer des applications distribuées qui utilisent au maximum les ressources informatiques client/serveur (ou Web) et les informations de l’hôte.


Concepts de Commerce Server

Pour optimiser votre utilisation de Commerce Server 2002, il est important de bien comprendre ses concepts sous-jacents.

Cette section contient les rubriques suivantes :

  • Fermeture de la boucle. Décrit la manière dont vous pouvez utiliser Commerce Server pour collecter en permanence des données sur l’activité des utilisateurs sur votre site Web, analyser ces données, puis utiliser les résultats des analyses pour mettre à jour votre site.
  • Rôles et responsabilités. Décrit la manière dont la conception de Commerce Server vise les compétences de trois principaux groupes : les développeurs de site Web, les administrateurs système et les chefs d’entreprise. Cette section répertorie également les interfaces et les outils disponibles pour chaque groupe.
  • Concepts des profils. Décrit les profils Commerce Server, leur mode de création et leur utilisation dans le cadre de la gestion d’un site Web.
  • Concepts des listes d’utilisateurs et des listes de publipostage. Décrit les listes d’utilisateurs et les listes de publipostage de Commerce Server, ainsi que leur utilisation dans le cadre de la gestion d’un site Web.
  • Concepts des catalogues. Décrit les catalogues Commerce Server, leur utilisation dans le cadre de la gestion d’un site Web, leur structure, ainsi que leur mode de remplissage à l’aide des données sur les produits.
  • Concepts de Data Warehouse. Décrit le Data Warehouse de Commerce Server, son utilisation dans le cadre de la gestion d’un site Web et son mode de remplissage à l’aide de données.
  • Concepts de pipeline. Décrit les pipelines Commerce Server et leur utilisation.
  • Concepts de ciblage et de personnalisation. Décrit le ciblage et la personnalisation Commerce Server, ainsi que leur utilisation.
  • Concepts des campagnes marketing. Décrit les campagnes marketing Commerce Server, leur utilisation dans le cadre de la gestion d’un site Web, leur structure, ainsi que leur mode de traitement.
  • Concepts des publicités. Décrit les publicités Commerce Server, leurs composants et leur mode de traitement.
  • Concepts des remises. Décrit les remises Commerce Server, les différents types existants, leur utilisation et leur mode de traitement.
  • Concepts du publipostage. Décrit le publipostage Commerce Server, l’utilisation des listes des annulations d’abonnements et le mode de traitement du publipostage.
  • Concepts de gestion des commandes. Décrit les commandes Commerce Server, ainsi que leur mode de gestion et de traitement.
  • Concepts de solution internationale. Décrit le processus d’internationalisation d’un site.


Fermeture de la boucle

Fermeture de la boucle est le processus de collecte des informations de profils utilisateur, de ciblage des utilisateurs via des campagnes marketing, d’analyse des résultats de ces campagnes et d’implémentation de modifications en fonction des résultats obtenus. Cette boucle concerne principalement le niveau d’analyse commerciale et son implémentation dépend donc de l’analyse stratégique. Elle permet une évaluation constante et intégrée des performances de votre site.

Personnalisation en boucle fermée est le processus d’utilisation d’outils permettant d’afficher pour chaque client un contenu personnalisé et ciblé, en temps utile et de façon prédictive.

Figure illustrant les étapes du cycle de gestion d'un site.

Commerce Server 2002 propose un ensemble de fonctionnalités permettant de gérer et d’accroître l’efficacité de votre site. Vous pouvez utiliser Commerce Server pour effectuer les opérations suivantes :

  • Collecter et stocker des données utilisateur
  • Analyser des données utilisateur
  • Mettre à jour votre site
  • Implémenter le cycle - Un travail d’équipe

En analysant l’activité des utilisateurs de votre site, vous pouvez prendre des décisions visant à améliorer votre site et à atteindre vos objectifs commerciaux.

Collecter et stocker des données utilisateur

Vous pouvez collecter trois types de données sur les utilisateurs qui visitent votre site :

  • Données de profil explicites. Elles s’obtiennent lorsque les utilisateurs fournissent des informations personnelles par l’intermédiaire des formulaires, enquêtes et sondages en ligne.
  • Historique des clics. Il s’obtient lorsque les utilisateurs visitent votre site et cliquent sur les liens permettant d’accéder aux pages de celui-ci. L’historique des clics comprend le temps passé par l’utilisateur sur votre site, l’adresse du site de référence, le nombre de clics sur publicité, la portée de la publicité, la fréquence des clics, ainsi que l’itinéraire de l’utilisateur dans le site, y compris les pages d’entrée et de sortie. Par exemple, vous pouvez collecter les données de navigation pour une session utilisateur précise, durant laquelle l’utilisateur a passé 17 minutes sur le site, a consulté les descriptions de trois produits du catalogue, a ajouté deux d’entre eux à son panier, a cliqué sur une publicité promotionnelle, puis a ajouté l’article en promotion à son panier.
  • Historique des transactions. Il s’obtient lorsque les utilisateurs achètent des produits. L’historique des transactions enregistre les paniers et les commandes. Par exemple, l’historique des transactions peut comporter le nom d’utilisateur, l’adresse de livraison, la date et l’heure, le produit acheté et la valeur totale de la commande.

Ces données sont recueillies dans les fichiers journaux du serveur Web et les bases de données Commerce Server. À intervalles réguliers, l’administrateur système importe les données des fichiers journaux du serveur Web et les bases de données Commerce Server dans le Data Warehouse de Commerce Server. Le Data Warehouse comprend une base de données centrale qui contient un volume très important de données collectées à partir de plusieurs sources de données, telles que les fichiers journaux de serveur Web, les bases de données Commerce Server, ainsi que toutes les autres sources de données que vous spécifiez.

La figure suivante montre comment les données utilisateur sont collectées dans les journaux de serveur Web et les bases de données Commerce Server, puis stockées dans le Data Warehouse.

Figure illustrant la collecte et le stockage des données utilisateur.

Analyser les données utilisateur

L’analyse des données contenues dans le Data Warehouse vous permet de déterminer des informations importantes concernant votre activité commerciale. Vous pouvez identifier les produits qui se vendent le mieux ; en outre, à l’aide de Commerce Server 2002 Enterprise Edition, vous pouvez identifier les types d’utilisateurs qui visitent votre site, les caractéristiques communes aux utilisateurs qui effectuent des achats, ainsi que les campagnes publicitaires qui ont du succès.

Vous utilisez les modules Analyse de Commerce Server Business Desk pour analyser les données relatives à l’activité des utilisateurs sur votre site. Vous pouvez analyser l’activité des utilisateurs en exécutant des rapports sur le Data Warehouse.

La figure suivante montre comment utiliser Business Desk pour accéder aux données du Data Warehouse, puis effectuer différents types d’analyses.

Figure illustrant les possibilités d'analyse des données.

Commerce Server propose deux types de rapports qui permettent d’analyser l’activité des sites :

  • Rapports dynamiques. Ils transforment les données spécifiques en un format de tableau croisé dynamique via Microsoft® PivotTable® grâce auquel vous pouvez réorganiser des colonnes et créer des graphiques.
  • Rapports statiques. Ils s’affichent dans une fenêtre du navigateur au format HTML. Vous pouvez envoyer ces rapports à d’autres personnes par courrier électronique, les publier sur votre site Web et les modifier dans d’autres applications. Par exemple, à l’aide de Microsoft Internet Explorer, vous pouvez exporter le rapport dans un document Word, puis le modifier.

Commerce Server comprend plusieurs rapports que vous pouvez exécuter à partir de Business Desk, par exemple desdes rapports sur les ventes de produits et des rapports sur l’utilisation du Web. Vous pouvez utiliser un ou plusieurs de ces rapports ou votre développeur de site peut personnaliser l’un d’eux pour récupérer d’autres données. Pour obtenir une liste complète des rapports proposés par Commerce Server, consultez Rapports Commerce Server 2002.

Mettre à jour votre site

Grâce à votre analyse des données utilisateur, vous avez la possibilité de modifier votre site pour affiner vos stratégies de ciblage des utilisateurs, promouvoir les pages les plus visitées ou rendre plus accessibles les produits les plus demandés. Par exemple, si vous constatez que tous vos utilisateurs consultent une page qui se trouve à quatre clics de la page d’accueil, vous pouvez redéfinir votre site de telle sorte que cette page ne soit plus qu’à un clic de portée.

Implémenter le cycle - Un travail d’équipe

Pour implémenter efficacement le cycle de gestion d’un site, le chef d’entreprise, le développeur du site et l’administrateur système doivent communiquer et collaborer pour implémenter les mises à jour du site. Vous devez établir un processus pour faciliter cette communication. Par exemple, pour mettre à jour en bloc un vaste ensemble de profils utilisateur, le chef d’entreprise contacte l’administrateur système, qui effectue ensuite cette tâche. Pour ajouter une nouvelle fonctionnalité à Business Desk, par exemple un module de vente de chèques-cadeaux, le chef d’entreprise contacte le développeur du site pour lui communiquer ses besoins.

Dans de nombreuses organisations, il arrive que le chef d’entreprise, l’administrateur système et le développeur du site travaillent chacun dans des services, des villes, des régions ou des pays différents, c’est pourquoi il est vital d’établir un processus de communication efficace et de l’évaluer régulièrement pour s’assurer de son bon fonctionnement.

Pour avoir une vue d’ensemble des tâches généralement effectuées par le chef d’entreprise, le développeur du site et l’administrateur système, consultez Rôles et responsabilités.

Voir aussi

Concepts de ciblage et de personnalisation

Rôles et responsabilités

Concepts des profils

Concepts de Data Warehouse


Rôles et responsabilités

Commerce Server 2002 offre un ensemble de fonctionnalités et d’outils permettant de développer, déployer et gérer des sites Web. L’utilisation de Commerce Server requiert des compétences spécifiques qui couvrent trois domaines d’expertise au sein d’une organisation. Dans le tableau suivant, les fonctionnalités de Commerce Server sont regroupées selon les trois catégories générales de rôles existant dans une organisation, et sont accompagnées des compétences correspondantes.

Rôle | Domaine d’expertise
Développeur de site | Langage DHTML (Dynamic Hypertext Markup Language), langage XML (Extensible Markup Language), objets de données Microsoft ActiveX (ADO), composants HTML (HTC) et pages ASP (Active Server Pages)
Administrateur système | Microsoft Windows 2000 Server, Microsoft SQL Server 2000 et les services IIS (Internet Information Services) 5.0
Chef d’entreprise | Objectifs commerciaux, stratégies et processus de création et d’exécution d’un site Web populaire d’e-commerce

Dans votre organisation, ces rôles sont peut-être combinés de plusieurs manières ou portent des noms différents. Ils représentent toutefois les trois domaines de compétence distincts nécessaires à l’utilisation des fonctionnalités de Commerce Server.

Le tableau suivant répertorie les trois rôles et fournit des exemples des tâches effectuées par chacun d’entre eux ; en outre, il répertorie également les outils et rubriques d’aide de Commerce Server 2002 pouvant être utilisés pour effectuer ces tâches.

Rôle Responsabilités Outils et interfaces utilisateur
Développeur de site
  • Crée le site Web
  • Intègre le site Web aux systèmes existants
  • Fait migrer les sites et les bases de données d’e-commerce existants
  • Personnalise Commerce Server Business Desk
  • Crée des modules Business Desk
  • Ajoute de nouveaux composants logiciels enfichables (snap-in) d’extension à Microsoft Management Console (MMC)
  • Developer’s Guide (en anglais)
  • Programmer’s Reference (en anglais)
  • Pipeline Editor (en anglais)
  • Pipeline Component Reference (en anglais)
  • Utilisation du Gestionnaire de package de site
Administrateur système
  • Compresse et transfère les sites vers l’ordinateur de production
  • Configure et optimise les ressources de Commerce Server
  • Planifie les tâches d’importation du Data Warehouse
  • Planifie les travaux de publipostage
  • Gère les bases de données Commerce Server
  • Assure le dépannage de l’environnement du site Web
  • Utilisation du Gestionnaire de package de site
  • Administration de Commerce Server
Chef d’entreprise
  • Crée les spécifications de développement du site Web
  • Détermine la manière dont le site Web doit être mis à jour pour répondre aux objectifs commerciaux
  • Demande les modules nouveaux et les modules personnalisés pour Business Desk
  • Crée des campagnes publicitaires
  • Gère les catalogues de produits
  • Analyse l’activité des utilisateurs et l’impact du site
  • Gère les utilisateurs inscrits et les partenaires commerciaux
  • Utilisation de Business Desk


Concepts des profils

Les profils sont essentiels à la gestion d’un site Web car ils fournissent des informations sur les visiteurs et leur mode d’utilisation de votre site Web. Les profils vous permettent d’analyser les données utilisateur et de cibler un contenu qui leur est destiné.

Un profil est un ensemble de caractéristiques qui définissent les éléments à caractère commercial, tels qu’un utilisateur, une société ou un contexte (date et heure). Par exemple, un profil utilisateur peut comporter des caractéristiques telles que le prénom, le nom, la ville, le sexe, l’âge et l’adresse de messagerie. Un profil de société peut comporter d’autres caractéristiques, par exemple, le nom de société, le contact, la ville et l’adresse de messagerie. Un profil de contexte peut comporter des caractéristiques telles que la date et l’heure où une page est affichée, ainsi que le chemin d’accès emprunté par l’utilisateur pour accéder à la page.

La figure suivante montre différents types de profils.

Figure illustrant différents types de profils.

Dans Commerce Server, les profils vous permettent de collecter des informations sur les éléments à caractère commercial. Par exemple, les profils sont utilisés pour collecter des données auprès des utilisateurs de votre site Web. Vous pouvez également utiliser Business Desk pour entrer directement des données dans les profils utilisateur et les profils d’organisation.

Les données de profil sont stockées dans la banque de données des profils dans Microsoft Active Directory, SQL Server, les deux, ou n’importe quelle autre banque de données compatible OLE DB. Pour gérer la banque de données des profils, vous devez utiliser la ressource Profils, qui est accessible à partir du Gestionnaire Commerce Server.

Dans Commerce Server 2002 Enterprise Edition, vous pouvez exporter des données de la banque de données des profils dans le Data Warehouse, puis utiliser Business Desk pour analyser les données de profil collectées. Pour spécifier les données de profil à exporter vers le Data Warehouse, vous devez utiliser les modules Profils Business Desk.

Remarque
  • Commerce Server n’inclut pas l’annuaire d’abonnement de Microsoft Site Server 3.0. Pour plus d’informations sur la migration des informations de profil de l’annuaire d’abonnement vers Commerce Server, consultez Mise à niveau à partir de Site Server 3.0.

Cette section contient les rubriques suivantes :

  • Utilisation des profils dans la gestion d’un site Web
  • Structure d’un profil
  • Définitions de profils
  • Propriétés de profil
  • Attributs de propriété de profil
  • Collecte et stockage des profils
  • Exemples de définitions de profils
  • Utilisation des profils dans une batterie de serveurs Web (Web farm)


Utilisation des profils dans la gestion d'un site Web

Envoyer des commentaires sur cette page Commerce Server 2002

Utilisation des profils dans la gestion d’un site Web

À l’aide de Commerce Server Business Desk, vous pouvez :

  • Déterminer les informations à collecter sur les utilisateurs visitant votre site.
  • Analyser les informations de profil.
  • Créer des expressions de ciblage pour faire correspondre le contenu aux utilisateurs.
  • Créer des campagnes de publicité, de remise et de publipostage pour cibler des groupes d’utilisateurs spécifiques.
  • Adresser des messages de publipostage personnalisés aux utilisateurs.

Par exemple, vous possédez un site de vente d’articles de sport. Le déroulement des opérations ci-dessous illustre la manière d’utiliser les profils pour analyser l’activité des utilisateurs et cibler un contenu en fonction des utilisateurs. Pour obtenir des instructions détaillées sur le déroulement des opérations, consultez « Didacticiel entreprise-client » dans l’aide de Commerce Server 2002.

  1. Votre administrateur système crée des définitions de profils pour les utilisateurs inscrits et les utilisateurs anonymes qui visitent votre site Web d’articles de sport.
  2. Après avoir laissé s’écouler une certaine période d’activité sur votre site, analysez les données de profil pour mieux connaître les utilisateurs qui le visitent ainsi que leurs types d’achats :
    • Vous devez exécuter le rapport Nouveaux utilisateurs inscrits et le rapport Propriétés de l’utilisateur inscrit pour analyser les propriétés de profil des visiteurs de votre site.
    • Vous devez exécuter le rapport Ventes produits pour connaître le volume et le chiffre d’affaires des ventes de produits par date. Ce rapport affiche la quantité et le chiffre d’affaires total, triés par catégorie de produit.
    • Vous devez exécuter le rapport Ventes client pour visualiser les détails ainsi que le total des ventes et des commandes relatifs à un client.
  3. Utilisez les résultats de votre analyse pour créer une campagne marketing de ciblage du contenu en fonction des utilisateurs :
    • Vous devez exporter le rapport Ventes client vers le module Gestionnaire de listes de Commerce Server Business Desk, puis utiliser les informations de profil pour cibler les clients et créer une campagne de remise, afin d’offrir une remise à ces utilisateurs spécifiques.
  4. Une fois la remise placée en production pendant un certain temps, analysez les résultats de la campagne marketing.
    • Exécutez le rapport Synthèse de l’élément de la campagne pour consulter le pourcentage de clics.
    • Exécutez le rapport Portée et fréquence d’accès à la publicité par date pour connaître le comportement des utilisateurs par rapport aux éléments de campagne sur votre site. Ce rapport affiche l’activité des utilisateurs par jour, pour chaque élément de la campagne.
  5. Si vos utilisateurs n’ont pas augmenté leurs achats d’articles remisés, exécutez à nouveau le rapport Ventes client, puis exportez ce rapport vers le module Gestionnaire de listes. Créez une campagne de publipostage pour adresser des messages de publipostage personnalisés en fonction des profils utilisateur.

Pour plus d’informations sur la création d’expressions et le ciblage de contenu destiné aux utilisateurs, consultez Concepts de ciblage et de personnalisation.


Structure d'un profil

Envoyer des commentaires sur cette page Commerce Server 2002

Structure d’un profil

La ressource Profils et les modules Profils vous permettent de créer et de gérer les profils. Un profil Commerce Server se compose des éléments suivants :

  • Définition de profil. Description des données à collecter pour un type de profil déterminé. Par exemple, la définition de profil Objet utilisateur peut être utilisée pour créer un profil pour chaque utilisateur qui s’inscrit sur votre site. Les administrateurs système utilisent la ressource Profils du Gestionnaire Commerce Server pour créer des définitions de profils.
  • Propriété de profil. Caractéristique qui spécifie les données de profil à collecter lorsqu’un utilisateur visite votre site Web. Par exemple, la propriété Prénom indique que le prénom de l’utilisateur doit être collecté. Le module Concepteur de définitions de profils de Business Desk permet d’ajouter des propriétés de profil aux définitions de profils.
  • Attribut de propriété de profil. Caractéristique qui fournit des informations sur une propriété de profil, telles que son type de données (par exemple, nombre, chaîne, décimal et entrées du glossaire du site).

Chaque profil est basé sur une seule définition de profil. Vous pouvez incorporer des définitions de profils pour créer des profils qui se feront mutuellement référence. Par exemple, en ajoutant une définition de profil Adresse à la définition de profil Objet utilisateur, vous pouvez collecter l’adresse d’un utilisateur et l’utilisateur peut faire référence à l’adresse. Utilisez le module Concepteur de définitions de profils de Commerce Server Business Desk pour modifier et gérer les définitions de profils.

Le tableau suivant montre un exemple de définition de profil Objet utilisateur, ainsi qu’une instance unique de l’exemple de profil utilisateur comportant les données de Philippe Tran.

Définition de profil :Utilisateur | Écran Profil :Philippe Tran
Prénom | Philippe
Nom | Tran
Ville | Seattle
Sexe | M
Âge | 52
Adresse de messagerie | philippetran@microsoft.com

Voir aussi

Utilisation des profils dans la gestion d’un site Web

Définitions de profils

Propriétés de profil

Attributs de propriété de profil

Collecte et stockage des profils

Exemples de définitions de profils


Définitions de profils

Une définition de profil est un ensemble de caractéristiques qui définissent les éléments à caractère commercial, tels qu’un utilisateur, une société ou un processus commercial. Si le développeur de votre site a utilisé un site solution pour créer votre site, vous devez disposer des cinq exemples de définitions de profils suivants :

  • Adresse
  • BlanketPOs (bons de commande)
  • Organisation
  • Contexte de ciblage
  • Objet utilisateur

Avant de pouvoir créer des définitions de profils, vous devez déterminer l’emplacement de stockage des données de profil dans la base de données et ajouter la table et les colonnes correspondantes pour les données. Supposons que le chef d’entreprise demande une nouvelle définition de profil intitulée Musique et qu’il souhaite stocker les propriétés de profil suivantes : Premier concert, Dernier concert, CD favori et deux autres propriétés que vous n’avez pas encore déterminées. Vous déterminez que le meilleur emplacement de stockage pour ces données est une nouvelle table intitulée Musique, qui se trouve dans une nouvelle base de données SQL Server appelée Arts. Pour créer la définition de profil Musique, vous effectuez les opérations suivantes :

  • Vous utilisez SQL Server Enterprise Manager pour :
    1. Créer la base de données SQL Server nommée Arts.
    2. Créer la table Musique contenue dans la base de données Arts, puis ajouter des colonnes pour les cinq membres de données qui doivent être stockés à cet emplacement.
  • Vous utilisez la ressource Profils pour :
    1. Effectuer un mappage vers la nouvelle source de données Arts. Il n’est nécessaire d’effectuer cette étape qu’une seule fois. Une fois que vous avez mappé une nouvelle source de données vers la ressource Profils, il n’est plus nécessaire de refaire cette opération.
    2. Créer un objet de données intitulé Musique et le mapper vers la table Musique contenue dans la base de données Arts.
    3. Créer des membres de données nommés Premier concert, Dernier concert, CD préféré, Espace_réservé1 et Espace_réservé2, et les mapper vers les colonnes correspondantes de la table Musique.

    La figure suivante illustre la façon dont les éléments d’une base de données SQL Server, la ressource Profils et une définition de profil sont mappés entre eux.

    Figure illustrant les relations entre SQL Server, la ressource Profils et une définition de profil

Pour obtenir des instructions détaillées sur l’utilisation de la ressource Profils pour étendre le schéma de vos profils, consultez Exécution de la ressource Profils.

Une fois que vous avez créé la définition de profil et les propriétés, le chef d’entreprise peut utiliser le Concepteur de définitions de profils de Business Desk pour ajouter les propriétés Premier concert, Dernier concert et CD préféré à la définition. Pour effectuer cette étape, le chef d’entreprise mappe ces propriétés vers les membres de données que vous avez créés, c’est pourquoi il est nécessaire de fournir les noms des membres de données. Si vous voulez mapper les propriétés vers les membres de données, vous pouvez le faire avec le Gestionnaire Commerce Server.

Plus tard, lorsque le chef d’entreprise détermine d’autres informations à collecter à l’aide de la définition de profil Musique, il peut utiliser le module Concepteur de définitions de profils pour créer deux nouvelles propriétés et les mapper vers les membres de données correspondant aux espaces réservés créés dans la table Musique.

Les sites solutions Commerce Server comportent les exemples de définitions de profils suivants : Adresse, BlanketPOs (bons de commande), Organisation, Objet utilisateur et Contexte de ciblage. L’exemple de définition de profil Objet Utilisateur comprend cinq propriétés sans nom, ce qui vous permet d’ajouter des propriétés à la définition de profil Objet utilisateur sans étendre votre base de données. Pour obtenir la liste des propriétés associée à chaque profil, consultez Exemples de définitions de profils.

Clés des définitions de profils

Vous devez définir une ou plusieurs clés pour chaque définition de profil valide. Vous pouvez identifier les clés uniques, primaires, de jointure ou de hachage en examinant la propriété de type Key dans la section Attributs avancés du module Concepteur de définitions de profils de Business Desk, ou dans la définition de profil de la ressource Profils du Gestionnaire Commerce Server.

Clé unique

Une clé unique indique que la valeur de cette propriété est unique pour tous les membres. Vous mappez un attribut qui est spécifié comme clé unique vers un champ unique d’une base de données SQL Server ou vers un attribut unique d’une source LDAP (Lightweight Directory Access Protocol).

Chaque propriété de définition de profil marquée comme clé est assortie de l’attribut Clé unique activé. Seules les propriétés de type de données string ou numeric peuvent être marquées en tant que clés. Une définition de profil peut comporter autant de clés que nécessaire, mais du point de vue des performances et de la mémoire, il est préférable de limiter au maximum le nombre de clés.

Les principales opérations de gestion des objets de profil du système de profil (CreateProfile, GetProfile, GetProfileByKey, DeleteProfile et DeleteProfileByKey) fonctionnent toutes uniquement avec des membres clés. Le système de profil ne garantit pas le caractère unique des propriétés marquées comme clés uniques. En revanche, il s’appuie sur les contraintes des objets dans les banques de données sous-jacentes (tables pour les bases de données relationnelles ou classes pour les banques d’annuaires) pour appliquer implicitement le caractère unique.

Clé primaire

Une clé primaire indique que la valeur de cette propriété est unique pour tous les membres. Vous mappez un attribut qui est spécifié comme clé primaire vers un champ unique d’une base de données SQL Server ou vers un attribut unique d’une source LDAP. La clé primaire est utilisée pour lier des profils créés avec des définitions de profils incorporées.

Chaque définition de profil doit posséder une et une seule propriété de clé unique marquée comme clé primaire. Marquez de préférence comme clé primaire la propriété de profil la plus couramment utilisée pour opérer sur des instances d’objet de profil.

Une clé primaire est reconnaissable à un « P » rouge ou à un « D » vert (pour les clés composées – primaire et de jointure) devant la propriété dans le module Définition de profil de Business Desk ou dans la définition de profil de la ressource Profils du Gestionnaire Commerce Server.

Clé de jointure

Une clé de jointure établit une relation entre plusieurs banques de données par l’intermédiaire d’une propriété commune dans le service Profils. Pour modifier une propriété définie comme clé de jointure utilisée pour collecter des données, vous devez supprimer les colonnes de base de données qui contiennent les données de la clé de jointure. Après avoir supprimé les colonnes de base de données, vous devez effectuer la migration des anciennes données dans les nouvelles colonnes de base de données. Commerce Server 2002 ne prend pas en charge les modifications de la propriété de clé de jointure lorsque vous avez conservé les données.

Chaque définition de profil doit posséder une et une seule propriété de clé unique marquée comme clé de jointure. Pour des performances optimales, il est conseillé de marquer la clé primaire de la définition de profil également comme clé de jointure. Si vous ne fournissez pas de valeur pour la propriété de clé de jointure lorsque vous créez l’objet de profil, le système de profil génère automatiquement une valeur pour ce membre.

Une clé de jointure est reconnaissable à un « J » bleu ou à un « D » vert (pour les clés composées – primaire et de jointure) devant la propriété dans le module Définition de profil de Business Desk ou dans la définition de profil de la ressource Profils du Gestionnaire Commerce Server. Le système de profil utilise la propriété de clé de jointure pour assembler les fragments d’objets de profil stockés dans diverses banques de données. La valeur d’une propriété de clé de jointure est répliquée dans toutes les banques de données.

Remarque

  • Une propriété de clé de jointure qui a été validée dans les banques sous-jacentes ne peut plus être modifiée.

Clé de hachage

Chaque définition de profil peut posséder une propriété de clé unique marquée comme clé de hachage. La couche d’agrégation des profils utilise la propriété de clé de hachage pour hacher un objet de profil vers une partition unique au sein d’une source de données. La présence d’une propriété de clé de hachage constitue le seul moyen qui permette d’indiquer que les instances d’une définition de profil seront stockées dans plusieurs partitions d’une source de données. L’absence de cette propriété aboutit au stockage de toutes les instances du profil dans la partition par défaut.

Choisissez de préférence comme clé de hachage la clé de jointure de la définition de profil. Pour des performances optimales, il conseillé de marquer la même propriété en tant que clé primaire, clé de jointure et clé de hachage.

Vous pouvez identifier une clé de hachage en examinant la clé de hachage dans la section Attributs avancés du module Définition de profil de Business Desk ou dans la définition de profil de la ressource Profils du Gestionnaire Commerce Server.

Remarques

  • Lorsqu’un objet de profil a été validé dans les banques sous-jacentes, la valeur de la propriété de clé de hachage ne peut plus être modifiée.
  • Pour les banques ANSI SQL partitionnées uniquement, les opérations d’extraction des objets de profil basées sur une clé autre qu’une clé de hachage et sur la méthode GetInfo de l’objet ProfileObject peuvent échouer. Ce n’est toutefois pas le cas pour les banques compatibles LDAP version 3.

Voir aussi

Exécution de la ressource Profils

Utilisation des profils dans la gestion d’un site Web

Structure d’un profil

Propriétés de profil

Attributs de propriété de profil

Collecte et stockage des profils

Exemples de définitions de profils


Propriétés de profil

Une fois que l’administrateur système a créé une définition de profil, vous pouvez ajouter des propriétés de profil à l’aide du module Concepteur de définitions de profils de Business Desk. Les propriétés de profil déterminent les informations à collecter dans un profil. Par exemple, la définition d’un profil Objet utilisateur peut contenir les propriétés suivantes : prénom, nom, ville, sexe, âge et adresse de messagerie.

La figure suivante montre les différentes parties d’un exemple de définition de profil Objet utilisateur.

Figure illustrant les différentes parties d'une définition de profil.

Voir aussi

Exécution de la ressource Profils

Utilisation des profils dans la gestion d’un site Web

Structure d’un profil

Définitions de profils

Attributs de propriété de profil

Collecte et stockage des profils

Exemples de définitions de profils


Attributs de propriété de profil

Chaque propriété de profil possède des attributs. Les attributs fournissent des informations sur la propriété, telles que son type de données (par exemple, nombre, chaîne, décimal et entrées du glossaire du site), si la propriété comporte une valeur unique (par exemple, seul un prénom est autorisé) ou multiple et si la propriété de profil est indexée.

Une entrée du glossaire du site est un type de données que vous créez. Il s’agit d’une liste de valeurs spécifiques pertinentes pour votre site. Une entrée du glossaire du site vous permet d’attribuer cette liste de valeurs à une propriété en tant qu’attribut. Par exemple, vous pouvez créer une entrée du glossaire du site intitulée Sexe et définir les valeurs possibles suivantes : Féminin, Masculin et Non communiqué. Lorsque vous créez une propriété de profil nommée Sexe et que vous lui affectez le type de données « entrées du glossaire du site », seule une des valeurs possibles peut être attribuée au profil. Vous créez les entrées du glossaire du site à l’aide du module Éditeur d’entrées du glossaire du site de Business Desk, puis vous les attribuez à la définition de profil en utilisant le module Concepteur de définitions de profils.

En appliquant les entrées du glossaire du site aux propriétés de profil, vous établissez des mots communs qu’il est possible d’utiliser n’importe où dans Commerce Server, par exemple, pour faire correspondre les préférences de l’utilisateur à un contenu. Pour plus d’informations sur l’utilisation des profils afin de délivrer un contenu, consultez Concepts de ciblage et de personnalisation.

Attributs personnalisés et attributs avancés

Il existe deux types d’attributs de profil particuliers : les attributs personnalisés et les attributs avancés.

Les attributs de profil personnalisés sont spécifiques aux applications. Vous pouvez définir des attributs personnalisés pour des propriétés. Par exemple, vous pouvez créer un attribut personnalisé qui contrôle la façon dont une propriété est affichée sur une page de site Web.

Les attributs personnalisés contrôlent la façon dont le module Éditeur de profils affiche un profil générique dans les écrans Rechercher et Modifier le profil.

Pour les profils génériques récemment créés, vous devez définir les attributs personnalisés sDisplayColumn et sFriendlyName. Si ces attributs ne sont pas définis, le bouton Rechercher n’est pas activé et vous ne pouvez pas rechercher les instances de ces profils.

  • sDisplayColumn. Le nom complet de la propriété est affiché sous forme de nom de colonne dans l’écran Rechercher.

    Les propriétés assorties de l’attribut personnalisé sDisplayColumn s’affichent dans l’écran Rechercher de gauche à droite, selon l’ordre dans lequel ils apparaissent dans la liste Propriétés de l’écran Profil. La valeur de l’attribut personnalisé sDisplayColumn détermine la largeur relative de la colonne pour cette propriété. Par exemple, si la valeur de la largeur de la colonne pour la première propriété est deux et celle de la deuxième propriété est quatre, la deuxième colonne est deux fois plus large que la première.

    Cet attribut respecte la casse et a une largeur maximale de 100. Lorsqu’un profil contient une seule propriété pour laquelle l’attribut personnalisé sDisplayColumn est défini, la colonne d’affichage du profil est, par défaut, triée par ordre croissant sur cette propriété. Les propriétés assorties de cet attribut ne peuvent pas être définies en tant que clé de jointure ou clé composée ; en outre, elles ne peuvent pas constituer de référence à une entrée du glossaire du site ou à un type de profil et doivent être mappées vers un membre de données.

  • sFriendlyName. Le nom complet de la propriété s’affiche dans la barre de titres de l’écran Modifier le profil <NomConvivialProfil>. Le nom complet sert également de première colonne à gauche dans l’écran Rechercher.

    Cet attribut respecte la casse. Les propriétés assorties de cet attribut ne peuvent pas être définies en tant que clé de jointure ou clé composée ; en outre, elles ne peuvent pas constituer de référence à une entrée du glossaire du site ou à un type de profil et doivent être mappées vers un membre de données.

Les attributs avancés permettent de modifier la façon dont vos applications utilisent une propriété de profil. Par exemple, l’attribut Exporté détermine si la propriété sera importée dans le Data Warehouse.

Le tableau suivant répertorie les attributs avancés et décrit leur rôle.

Attribut | Rôle
Activée Indique si cette propriété est disponible dans le système de profils. Les propriétés inactives ne sont pas affichées dans Business Desk.

Une propriété ne peut être active que si elle est mappée vers des données.
Mapper vers les données | Membre de données vers lequel la propriété effectue le mappage. Vous pouvez ajouter, supprimer ou modifier des profils en fonction d’une définition de profil donnée uniquement si cette définition de profil comporte au moins une propriété mappée.
Type de clé Vous pouvez attribuer quatre types de clés. Celles-ci sont décrites plus haut dans ce chapitre, dans la section « Clés des définitions de profils ».
  • Clé unique. Indique que la valeur de cette propriété est unique pour tous les membres. Vous mappez un attribut qui est spécifié comme clé unique vers un champ unique d’une base de données SQL Server ou vers un attribut unique d’une source LDAP (Lightweight Directory Access Protocol).
  • Clé primaire. Indique que la valeur de cette propriété est unique pour tous les membres. Vous mappez un attribut qui est spécifié comme clé primaire vers un champ unique d’une base de données SQL Server ou vers un attribut unique d’une source LDAP. La clé primaire est utilisée pour lier des profils créés avec des définitions de profils incorporées.
  • Clé de jointure. Établit une relation entre plusieurs banques de données par l’intermédiaire d’une propriété commune dans le service Profils. Pour modifier une propriété définie comme clé de jointure utilisée pour collecter des données, vous devez supprimer les colonnes de base de données qui contiennent les données de la clé de jointure. Après avoir supprimé les colonnes de base de données, vous devez effectuer la migration des anciennes données dans les nouvelles colonnes de base de données. Commerce Server 2002 ne prend pas en charge les modifications de la propriété de clé de jointure lorsque vous avez conservé les données.
  • Clé (primaire et de jointure) composée. Indique que la valeur de cette propriété est unique et établit une relation entre cette propriété et une propriété se trouvant dans une autre banque de données.
Requise | Indique que la propriété est obligatoire. Si une propriété est obligatoire, elle doit également être active.
Exportée | Indique que la propriété est importée dans le Data Warehouse.
Différer le chargement du cache | Indique que cette propriété n’est pas chargée initialement lors de la récupération du profil, mais qu’elle sera chargée lorsqu’elle sera sollicitée.
À valeurs multiples | Active la capture d’une collection de valeurs associées à la propriété. Les propriétés à valeurs multiples n’offrent pas de possibilité de recherche.
Possibilité de recherche | Indique que cette propriété est indexée dans la banque de données sous-jacente et qu’elle peut faire l’objet de recherches à l’aide de la fonction Rechercher par. Vous mappez un attribut pouvant faire l’objet d’une recherche vers un champ indexé de la base de données SQL Server ou de la source LDAP. Les propriétés offrant une possibilité de recherche ne peuvent pas être à valeurs multiples.
RDN (Relative Distinguished Name) | RDN (Relative Distinguished Name) d’une banque d’annuaires. Si cet attribut est défini pour une propriété, ce membre effectue un mappage vers l’attribut RDN d’une classe LDAP de la banque sous-jacente. Cela ne s’applique pas au fournisseur OLE DB pour les sources Microsoft Commerce Server (OLE DB) ou tout autre type de source de données.
Clé de hachage | Indique que cette propriété sera utilisée pour répartir des instances du profil entre plusieurs partitions. Pour récupérer ce profil, vous devez effectuer une requête sur cette clé.

Utilisation de clés de hachage pour stocker des données de définitions de profils dans plusieurs bases de données

Une clé de hachage est une clé unique qui est utilisée pour maintenir ensemble les données provenant d’une même source (dans le cas présent, une définition de profil), même si elles sont physiquement stockées dans plusieurs bases de données. Les sources de données utilisent une clé de hachage pour partitionner les données entre plusieurs bases de données. La ressource Profils (ou le module Concepteur de définitions de profils de Commerce Server Business Desk) permet de sélectionner une propriété de profil qui sera la clé de hachage d’une définition de profil.

Si vous ne définissez pas une propriété de profil comme clé de hachage, toutes les données collectées avec une définition de profil sont stockées dans la base de données attribuée à la partition par défaut. Une fois que vous avez défini une clé de hachage, vous ne pouvez pas la redéfinir.

Voir aussi

Exécution de la ressource Profils

Utilisation des profils dans la gestion d’un site Web

Structure d’un profil

Définitions de profils

Propriétés de profil

Collecte et stockage des profils

Exemples de définitions de profils


Collecte et stockage des profils

Les données de profil sont collectées sur un site Commerce Server de deux manières. Les utilisateurs qui visitent votre site fournissent des données de profil sur eux-mêmes ; cela s’appelle le profil explicite de l’utilisateur. Par exemple, lorsque des utilisateurs achètent des produits sur votre site, ils fournissent généralement leur nom, adresse postale, numéro de téléphone et adresse de messagerie. Ces informations servent à remplir leur profil utilisateur.

Vous pouvez également collecter des données grâce au profil implicite de l’utilisateur. Dans le profil implicite de l’utilisateur, les actions de l’ensemble des utilisateurs (anonymes et inscrits) sont enregistrées dans des fichiers journaux Web, au fur et à mesure que ces utilisateurs interagissent avec votre site Web. Par exemple, les fichiers journaux Web enregistrent les liens sur lesquels ont cliqué les utilisateurs anonymes, les produits qu’ils ont recherchés, la durée de leurs sessions et le temps de visite d’une page Web spécifique. Même si les utilisateurs sont anonymes (vous ignorez leur nom, leur adresse de messagerie ou toute autre information les concernant), leur mode d’utilisation de votre site reste une information importante. Par exemple, l’historique des clics fournit le chemin d’accès aux pages Web visitées ; vous pouvez utiliser ces informations pour déterminer un ensemble particulier d’intérêts. Pour plus d’informations sur l’utilisation des cookies dans Commerce Server, consultez Concepts d’authentification.

Toutes les informations collectées durant une session utilisateur spécifique sont collectées dans un seul profil, c’est-à-dire une instance d’une définition de profil.

Voir aussi

Utilisation des profils dans la gestion d’un site Web

Structure d’un profil

Définitions de profils

Propriétés de profil

Exemples de définitions de profils


Exemples de définitions de profils

Les sites solutions Commerce Server comportent des exemples de définitions de profils. Si le développeur de votre site a utilisé un site solution pour créer votre site, vous devez disposer des cinq définitions de profils répertoriées dans le tableau suivant.

Définitions de profils | Propriétés (type de données) | Description
Adresse | Identificateur de l’adresse (chaîne) | Identificateur de l’adresse
 | Identificateur (chaîne) | Identificateur d’organisation/d’utilisateur
 | Nom (chaîne) | Nom de l’utilisateur
 | Prénom (chaîne) | Prénom de l’utilisateur
 | Nom de l’adresse (chaîne) | Nom de cette adresse
 | Type d’adresse (nombre) | Adresse/adresse de livraison/adresse de facturation
 | Description (chaîne) | Description de cette adresse
 | Adresse (1re ligne) (chaîne) | Première ligne de l’adresse
 | Adresse (2e ligne) (chaîne) | Deuxième ligne de l’adresse
 | Ville (chaîne) | Nom de la ville
 | Code de région (chaîne) | Code de département, région ou province
 | Nom de département (chaîne) | Nom de département, région ou province
 | Code postal (chaîne) | Code postal
 | Code de pays/région (chaîne) | Code ISO (Country International Standards Organization) de pays/région
 | Nom de pays/région (chaîne) | Nom de pays/région
 | Numéro de téléphone (chaîne) | Numéro de téléphone à cette adresse
 | Numéro de poste (chaîne) | Numéro de poste à cette adresse
 | Identificateur de paramètre régional (nombre) | Paramètre régional de représentation du formulaire d’adresse
 | Modifié par (chaîne) | Nom de la personne ayant modifié ce profil pour la dernière fois
 | Date de dernière modification (date/heure) | Date de la dernière modification de ce profil
 | Date de création (date/heure) | Date de création de ce profil
BlanketPOs | Identificateur du bon de commande (chaîne) | GUID faisant référence au bon de commande standard
 | Identificateur d’organisation (chaîne) | Identificateur d’organisation
 | Numéro du bon de commande (chaîne) | Numéro de bon de commande standard
 | Description (chaîne) | Description du bon de commande
 | Modifié par (chaîne) | Nom de la personne ayant modifié ce profil pour la dernière fois
 | Date de dernière modification (date/heure) | Date de la dernière modification de ce profil
 | Date de création (date/heure) | Date de création de ce profil
Organisation | Identificateur d’organisation (chaîne) | Identificateur d’organisation
 | Nom (chaîne) | Nom de l’organisation
 | Numéro de partenaire commercial (chaîne) | Numéro de partenaire commercial
 | Contact administratif (chaîne) | GUID du contact administratif
 | Récepteur (chaîne) | Identificateur d’utilisateur de la personne qui recevra les produits livrés par le fournisseur
 | Groupe de catalogues de l’organisation (chaîne) | Groupe de catalogues de l’organisation
 | Modifié par (chaîne) | Nom de la personne ayant modifié ce profil pour la dernière fois
 | Responsable des achats (chaîne) | Identificateur d’utilisateur du responsable des achats de l’organisation
 | Date de dernière modification (date/heure) | Date de la dernière modification de ce profil
 | Date de création (date/heure) | Date de création de ce profil
Objet utilisateur | Identificateur d’utilisateur (chaîne) | Identificateur d’utilisateur
 | Nom d’ouverture de session (chaîne) | Nom d’ouverture de session
 | Mot de passe de l’utilisateur (mot de passe) | Mot de passe de l’utilisateur
 | Messagerie (chaîne) | Adresse de messagerie
 | Type d’utilisateur (nombre) | Type d’utilisateur
 | Titre de l’utilisateur (chaîne) | Titre de l’utilisateur
 | Nom (chaîne) | Nom de l’utilisateur
 | Prénom (chaîne) | Prénom de l’utilisateur
 | Numéro de téléphone (chaîne) | Numéro de téléphone de l’utilisateur
 | Numéro de poste (chaîne) | Numéro de poste de l’utilisateur
 | Numéro de télécopie (chaîne) | Numéro de télécopie de l’utilisateur
 | Numéro de poste de télécopie (chaîne) | Numéro de poste de télécopie de l’utilisateur
 | Modifié par (chaîne) | Nom de la personne ayant modifié ce profil pour la dernière fois
 | Identificateur d’organisation (chaîne) | Identificateur d’organisation
 | État du compte (nombre) | État du compte
 | Groupe de catalogues de l’utilisateur (chaîne) | Groupe de catalogues de l’utilisateur
 | Date d’inscription (date/heure) | Date d’inscription de l’utilisateur
 | Historique de la campagne marketing (chaîne) | Historique de la campagne marketing
 | Indicateurs de rôles du Service Partenaire | Rôle du Service Partenaire
 | Date de dernière modification (date/heure) | Date de la dernière modification de ce profil
 | Date de création (date/heure) | Date de création de ce profil
Contexte de ciblage | Groupe de pages (chaîne) | Nom du groupe de pages (par exemple, pages de sports)

Voir aussi

Exécution de la ressource Profils

Utilisation des profils dans la gestion d’un site Web

Structure d’un profil

Définitions de profils

Propriétés de profil

Attributs de propriété de profil

Collecte et stockage des profils


Utilisation des profils dans une batterie de serveurs Web (Web farm)

Dans une batterie de serveurs Web (Web farm), chaque serveur fournit un cache de profil local. La valeur du profil utilisateur (profil Objet utilisateur) dans un cache particulier peut être obsolète si le profil a été modifié sur un autre serveur. Pour que le serveur reconnaisse que le profil utilisateur a changé, un cachet de date de la dernière modification est défini à la fois dans le profil utilisateur (dans la banque de données des profils) et dans un cookie destiné à l’utilisateur, lors de la création et de la mise à jour du profil (à l’aide de la méthode UpdateUserProfile).

Lorsqu’un utilisateur visite un serveur de la batterie de serveurs Web (Web farm), le cachet de date du profil indiqué dans le cache local est vérifié par rapport à celui du cookie (à l’aide de la méthode GetCurrentUserProfile). S’ils ne sont pas identiques, le profil est récupéré à partir de la banque de données des profils (à l’aide de la méthode GetInfo de l’interface IADs), en contournant le cache local. Si les cookies ne sont pas activés, le cache est toujours contourné, car il n’existe aucun moyen fiable d’assurer le suivi de l’heure de la dernière modification en raison du bouton Retour, de l’actualisation de la page, etc.

La recherche de profils d’adresse contourne toujours le cache, car ils ne font que rarement l’objet d’un accès et le nombre de tels profils à suivre peut être élevé. Les recherches de profil d’organisation contournent le cache selon les besoins, en fonction de la probabilité de la modification des données du profil.

Même avec la solution du cachet de date, il existe des problèmes potentiels liés à la cohérence du cache avec les profils. Par exemple, si un profil utilisateur actuellement mis en cache est modifié par un autre utilisateur dans Business Desk ou dans le Service Partenaire sur un autre ordinateur, les sites ne sont pas au courant que le cache est obsolète. Pour atténuer ce phénomène, les sites solutions appellent la méthode GetInfo lors de la connexion. Si ce niveau de précision n’est pas acceptable, les sites solutions comprennent la variable m_iGlobalProfileLookUpOption, déclarée dans le fichier include\setupenv.asp et qui une fois définie, force un appel de la méthode GetInfo pour récupérer le profil à partir de la banque de données des profils.

La fonction des sites solutions EnsureUpToDateUserProfile suivante illustre la fonctionnalité principale d’une implémentation qui résout ces problèmes. Pour visualiser le contexte global du code qui résout les problèmes de batteries de serveurs Web (Web farms), consultez le code des fichiers de sites solutions login.asp et 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

Voir aussi

Exécution de la ressource Profils

Utilisation des profils dans la gestion d’un site Web

Structure d’un profil

Définitions de profils

Propriétés de profil

Attributs de propriété de profil

Collecte et stockage des profils


Concepts des listes d'utilisateurs et des listes de publipostage

Envoyer des commentaires sur cette page Commerce Server 2002

Concepts des listes d’utilisateurs et des listes de publipostage

Les listes des utilisateurs et les listes de publipostage sont des fichiers texte qui contiennent les propriétés de profil utilisateur. Les listes d’utilisateurs permettent de rechercher et de mettre à jour des propriétés de profil utilisateur ; les listes de publipostage permettent d’effectuer des campagnes de publipostage.

Cette section contient les rubriques suivantes :

  • Utilisation de listes dans la gestion d’un site Web
  • Listes de publipostage
  • Listes des utilisateurs
  • Listes génériques


Utilisation de listes dans la gestion d'un site Web

Envoyer des commentaires sur cette page Commerce Server 2002

Utilisation de listes dans la gestion d’un site Web

Le module Gestionnaire de listes de Commerce Server Business Desk vous permet d’importer et d’exporter des listes des utilisateurs et des listes de publipostage dans Business Desk.

  • Ajout de listes au Gestionnaire de listes. Vous pouvez importer dans le Gestionnaire de listes une liste créée dans une autre application, telle que SQL Server (pour créer une table SQL), le Bloc-notes (pour créer un fichier texte ASCII), Microsoft Excel (pour créer une feuille de calcul) ou Microsoft Outlook (pour exporter un fichier .pst contenant une liste d’adresses).

    Par exemple, si vous possédez une liste d’adresses dans une feuille de calcul Microsoft Excel, vous pouvez utiliser le Gestionnaire de listes pour l’importer dans Business Desk, puis utiliser la liste dans une campagne de publipostage.

    Pour plus d’informations sur l’importation d’une liste dans le Gestionnaire de listes, consultez Importation et exportation de listes.

  • Utilisation de listes du Gestionnaire de listes. Vous pouvez importer une liste des utilisateurs du module Gestionnaire de listes dans le module Utilisateurs, puis mettre à jour les profils utilisateur contenus dans la liste. Vous importez la liste des utilisateurs du Gestionnaire de listes dans le module Utilisateurs, puis vous mettez à jour les profils utilisateur contenus dans la liste en attribuant une valeur spéciale à une propriété de profil des profils utilisateur. Vous utilisez cette valeur pour cibler des campagnes de publicité ou de remise spécifiques, destinées aux utilisateurs dont vous avez modifié les profils. Pour plus d’informations sur l’importation d’une liste dans le module Utilisateurs, consultez Recherche de profils utilisateur dans une liste de publipostage. Pour plus d’informations sur la modification de plusieurs profils utilisateur, consultez Modification de plusieurs profils utilisateur.

    Vous avez également la possibilité d’exporter la liste vers une autre application. Pour plus d’informations sur l’exportation d’une liste vers un fichier, consultez Importation et exportation de listes.

La figure suivante montre comment importer des données de diverses sources vers le Gestionnaire de listes, comment utiliser les listes dans les campagnes marketing ou pour mettre à jour des profils ; elle illustre également la mise à jour des informations de vos bases de données ou le ciblage d’un contenu personnalisé en fonction des utilisateurs.

Figure présentant les composants

Voir aussi

Listes de publipostage

Listes des utilisateurs

Listes génériques


Listes de publipostage

Les listes de publipostage contiennent des lignes d’adresses de messagerie destinées à une campagne de publipostage. Chaque ligne de la liste contient un destinataire unique et se compose des éléments suivants dans un format délimité par des virgules.

Élément | Description
Adresse de messagerie | Obligatoire. Nom ou <nom@domaine>.
GUID | Facultatif. Identificateur d’utilisateur unique utilisé pour fournir le contenu d’un message électronique personnalisé.
Format du message | Facultatif. Contrôle le type de format du message dans lequel les objets de données de collaboration (CDO, Collaboration Data Object) traduit le résultat. Par exemple, le format texte, MHTML (MIME Encapsulation of Aggregate HTML Documents) ou MIME (Multipurpose Internet Mail Extensions).
Langue | Facultatif. Valeur de la page de codes du message électronique.
URL | Facultatif. Permet de transmettre des adresses URL individuelles au niveau de chaque utilisateur à CDO.

Vous pouvez créer une liste à l’aide de n’importe quel éditeur de texte, comme le Bloc-notes. Vous pouvez ajouter une liste de publipostage à Business Desk à l’aide du module Gestionnaire de listes qui permet d’importer des fichiers texte ASCII, des fichiers provenant de Microsoft Excel ou Microsoft Outlook, ou des tables issues de bases de données SQL Server. Pour créer une liste de publipostage en utilisant des informations contenues dans un fichier .pst Microsoft Outlook, consultez la rubrique « Exportation d’éléments vers un fichier ou vers un fichier de dossiers personnels » dans l’aide de Microsoft Outlook.

Pour plus d’informations sur l’importation de listes de publipostage pour une campagne de publipostage, consultez Importation d’une liste de publipostage.

Voir aussi

Utilisation de listes dans la gestion d’un site Web

Listes des utilisateurs

Listes génériques


Listes des utilisateurs

Les listes des utilisateurs contiennent des lignes d’identificateurs d’utilisateurs et, facultativement, d’autres propriétés de profil utilisateur. Vous pouvez exporter des listes des utilisateurs du module Gestionnaire de listes vers le module Concepteur de définitions de profils, puis effectuer des mises à jour en bloc des propriétés d’utilisateurs donnés.

Voir aussi

Utilisation de listes dans la gestion d’un site Web

Listes de publipostage

Listes génériques


Listes génériques

Les listes génériques peuvent contenir toutes sortes d’éléments et peuvent inclure des en-têtes, comme dans l’exemple suivant :

Identificateur du produit | Nom du produit | Unité
1 | Chaussettes | 100
2 | Maillots | 20

Contrairement aux listes des utilisateurs et listes de publipostage, les listes génériques ne sont soumises à aucune exigence en matière de contenu. Un développeur de site doit personnaliser votre application pour permettre l’utilisation des listes génériques.

Vous pouvez par exemple utiliser les listes génériques pour définir des propriétés de produits. Vous exécutez le rapport Ventes produits de Commerce Server pour identifier les produits qui ont le plus de succès (en termes de ventes) sur votre site Web. Vous utilisez le module Éditeur de catalogue pour définir une propriété pour ces produits, les identifiant comme des produits qui se vendent bien. Vous pouvez alors utiliser cette propriété pour créer des expressions de ciblage ou pour augmenter le prix de ces produits de cinq pour cent.

Les listes génériques peuvent également être utilisées pour envoyer par messagerie électronique des bons de réduction à vos clients en ligne fréquents pour une utilisation dans votre magasin.

Voir aussi

Utilisation de listes dans la gestion d’un site Web

Listes de publipostage

Listes des utilisateurs


Concepts des catalogues

Un catalogue est une méthode d’organisation des produits que vous voulez vendre. Vous utilisez les catalogues pour organiser et gérer les données sur les produits de votre base de données afin de les afficher sur votre site et de cibler les produits pour les utilisateurs.

Pour vous aider à organiser vos catalogues, Commerce Server Business Desk conserve dans une définition de catalogue une description des propriétés définies pour chacun des catalogues. Cette définition répertorie l’intégralité des catégories, produits et propriétés autorisés dans un catalogue donné.

Cette section contient les rubriques suivantes :

  • Utilisation de catalogues pour la gestion du site Web
  • Vue d’ensemble de la structure d’un catalogue
  • Catalogues : produits et catégories
  • Définition de catalogue : description des produits et des catégories
  • Identificateurs uniques dans un catalogue
  • Hiérarchies et relations de catalogue
  • Catalogues de base et catalogues virtuels
  • Restrictions concernant le nom et la taille des catalogues
  • Catalogues de fournisseurs multiples
  • Catalogues de synthèse
  • Catalogues multilingues
  • Catalogues externes : utilisation de clés de jointure
  • Groupes de catalogues
  • Méthodes de tarification des produits


Utilisation de catalogues pour la gestion du site Web

Les modules Catalogues de Commerce Server Business Desk permettent de créer et de gérer vos catalogues. Vous pouvez utiliser d’autres modules Business Desk pour promouvoir les produits de vos catalogues. Par exemple, lorsque votre site est en production, vous pouvez exécuter des rapports à l’aide des modules Analyse pour identifier les produits qui ne se vendent pas, puis utiliser les modules Campagnes marketing pour créer une campagne de remise pour augmenter les ventes de ces produits.

À l’aide de Business Desk, vous pouvez :

  • Importer des catalogues à partir d’autres sources de données. Vous pouvez importer des catalogues au format XML (Extensible Markup Language) ou CSV (valeurs séparées par une virgule). Par exemple, si des catalogues se trouvent dans d’autres bases de données, vous pouvez les importer dans la base de données du catalogue Commerce Server, puis utiliser Business Desk pour les gérer.

    Pour convertir un catalogue au format XML ou CSV, vous pouvez utiliser votre système de gestion de base de données existant pour enregistrer le catalogue au format XML ou CSV, ou bien un développeur de site peut écrire un script pour convertir le catalogue à votre place.

  • Exporter des catalogues. Vous pouvez exporter vos catalogues au format XML. Vous pouvez exporter un catalogue si, par exemple, vous vendez des produits en gros et que vous souhaitez exporter votre catalogue à l’usage de détaillants. Vous pouvez également exporter un catalogue vers une autre application, par exemple, un système d’inventaire ou de tarification.

    Si vous souhaitez que Commerce Server importe ou exporte des catalogues selon une planification, vous pouvez demander à un développeur de site d’ajouter cette fonctionnalité.

  • Appliquer des remises aux produits. Vous pouvez appliquer des remises à tous les produits d’une catégorie ou à certains produits répondant à des critères spécifiques. Par exemple, si Product.price > 20,00, vous pouvez spécifier qu’une remise de 10 pour cent soit appliquée au prix de ce produit lorsque les utilisateurs l’ajoutent à leur panier d’achat.
  • Modifier des produits dans le catalogue. Vous pouvez modifier le nom, le prix, la description, ainsi que d’autres propriétés du produit si nécessaire.
  • Mettre à jour les informations sur un produit en temps réel. Vous pouvez mettre à jour les informations sur un produit, par exemple son prix, puis publier immédiatement les modifications sur votre site Web. Par exemple, si des utilisateurs ont ajouté un produit à leur panier et que votre site est mis à jour avant la validation des achats, Commerce Server applique le nouveau prix aux produits du panier. Si des utilisateurs ont enregistré leur panier, puis le reprennent après la mise à jour du prix, ils voient le nouveau prix affiché.
  • Identifier les produits qui se vendent bien. Vous pouvez exécuter des rapports Commerce Server pour identifier les produits les plus vendus par unité et par total des ventes, ainsi que les catégories les plus vendues par unité et par total des ventes. Vous pouvez par exemple utiliser le résultat de votre analyse pour appliquer une remise aux produits qui ne se vendent pas bien ou proposer des accessoires pour les produits qui se vendent bien. En outre, votre développeur de site peut personnaliser votre site pour permettre la prise en charge des ventes associées, telles que les offres de lancement et les ventes croisées intelligentes.
  • Rechercher des produits. Vous pouvez trouver des produits en effectuant une recherche par propriétés ou une recherche en texte libre.

La figure suivante montre une vue d’ensemble des processus du Système de catalogue de produits intervenant dans l’importation et l’exportation des catalogues, la mise à jour de la base de données de catalogues, ainsi que l’importation des données de catalogue dans le Data Warehouse à des fins de création de rapport.


Vue d'ensemble de la structure d'un catalogue

Envoyer des commentaires sur cette page Commerce Server 2002

Vue d’ensemble de la structure d’un catalogue

Un catalogue Commerce Server 2002 se compose de trois éléments principaux :

  • Définition de catalogue. il s’agit d’une description des catégories et des propriétés du produit d’un catalogue. Cette définition répertorie l’intégralité des catégories, produits et propriétés autorisés dans un catalogue donné. La définition de catalogue est disponible pour tous les catalogues d’un site.
  • Catalogue de base : Il s’agit d’une instance de la définition de catalogue qui contient des données.
  • Catalogue virtuel : il s’agit d’un catalogue référençant les données sur les produits d’un ou plusieurs catalogues de base. Les produits ne sont représentés qu’une seule fois dans la base de données, quel que soit le nombre de catalogues virtuels où ils figurent.

Le tableau suivant montre un exemple de définition de catalogue appelé Vêtements, puis une instance unique de la définition du catalogue Vêtements qui comporte des données pour le catalogue Vêtements de sport.

Définition de catalogue Catalogue de base :Vêtements de sport
Définition de catégorie : Rayon
Propriétés de catégorie
Nom
Description
Fichier_image
Largeur_image
Hauteur_image
 Catégorie : Rayon des maillots de sport

Rayon des maillots de sport
Catalogue 2002 des maillots de sport
Sports_shirts.gif
100
200
Définition de produit : Maillots
Propriétés du produit :
Nom
Fabricant
Prix
Propriétés du composant produit :
Taille
Couleur
Référence
 Produit : Maillots de football Ace

Maillots de football Ace
Maillots Ace
22,45 EUR

M
Vert
23354

Pour vous aider à comprendre le fonctionnement des catalogues Commerce Server, les rubriques suivantes décrivent les catalogues en commençant à partir de ce qui est visible sur un site Web, par exemple un catalogue de vêtements de sport, puis en approfondissant l’analyse jusqu’à la structure sous-jacente, en d’autres termes, la définition de catalogue.


Catalogues: produits et catégories

Envoyer des commentaires sur cette page Commerce Server 2002

Catalogues : produits et catégories

Un catalogue Commerce Server est une instance d’une définition de catalogue qui contient des données sur des produits individuels et des catégories permettant de classer ces produits. Les modules Catalogues de Commerce Server Business Desk vous permettent d’importer un catalogue externe ou de créer un catalogue, puis de le publier sur votre site Web.

Cette section traite les sujets suivants :

  • Catalogue
  • Catégories
  • Produits
  • Familles de produits et composants produit


Catalogue

Un catalogue se compose de catégories, de produits, de composants produit et de propriétés. Les utilisateurs qui visitent votre site Web naviguent dans des catégories, lisent les descriptions des produits et achètent des produits ou composants produit spécifiques. Les propriétés fournissent des mots clés qui permettent aux utilisateurs de rechercher des produits.


Catégories

Les catégories sont des instances individuelles d’une définition de catégorie. Par exemple, vous pouvez utiliser une définition de catégorie nommée Rayon pour créer la catégorie Maillots de football.

Chaque catégorie et chaque produit peut avoir une seule catégorie parent primaire. La catégorie parent primaire fournit un chemin d’accès canonique à une catégorie ou un produit enfant. Par ailleurs, si un produit figure dans plusieurs catégories et que la tarification est définie au niveau de la catégorie, seule la tarification de la catégorie parent primaire est appliquée aux catégories et produits enfants. (Vous pouvez définir la tarification au niveau de la catégorie en utilisant la tarification de niveau catégorie ou une règle de tarification de catalogue virtuel sur la catégorie.)


Produits

Les produits sont des éléments d’un catalogue. Un produit est une combinaison de définitions de propriétés. Par exemple, si vous disposez d’une définition de produit nommée Maillots de football, qui possède les propriétés Nom, Couleur et Taille, vous créez un produit pour chaque combinaison de nom, couleur et taille à inclure dans votre catalogue.


Familles de produits et composants produit

Une famille de produits est un produit qui contient des composants produit. Une famille de produits ne se distingue d’un produit que par cette caractéristique.

Dans la figure précédente, Maillots de football Ace constitue une famille de produits qui inclut le même type de maillot dans toutes les combinaisons de couleurs et de tailles disponibles. Chaque combinaison de type, de taille et de couleur correspond à un composant produit. Un maillot vert, de taille Large avec la référence 114 est un composant produit du produit Maillots de football ; la taille, la couleur et la référence forment un composant.

Une famille de produits comprend toujours un identificateur unique, tel que le nom du produit.

Un composant produit comprend toujours un identificateur unique, tel que la référence, ainsi qu’un prix. Chaque composant produit est basé sur la même définition de produit.


Définition de catalogue: description des produits et des catégories

Envoyer des commentaires sur cette page Commerce Server 2002

Définition de catalogue : description des produits et des catégories

La définition de catalogue décrit les caractéristiques des catégories et des produits d’un type de catalogue donné. Par exemple, la définition de catalogue d’un catalogue de Vêtements de sport peut contenir les définitions de produits suivantes : Maillots, Shorts et Chaussures. Pour créer une définition de catalogue, vous utilisez le module Concepteur de définitions de catalogues dans Commerce Server Business Desk.

La figure suivante montre les différentes parties d’une définition de catalogue et la manière dont elles sont mappées vers les parties du catalogue. Les propriétés sont utilisées dans la définition de catégorie et la définition de produit. La définition de catégorie « Rayon » est utilisée pour la catégorie « Maillots de football ». La définition de produit « Maillots de football » est utilisée pour le produit « Maillots de football Ace ».

Cette section traite les sujets suivants :

  • Définition de catalogue
  • Définitions de catégories
  • Définitions de produits
  • Définitions de propriétés


Définition de catalogue

La définition de catalogue se compose des définitions de catégories, des définitions de produits et des définitions de propriétés. Les définitions de catégories et les définitions de produits sont créées à l’aide des définitions de propriétés.

La figure suivante montre les différentes parties d’un exemple de définition de catalogue.

Figure illustrant les différentes parties d'un exemple de définition de catalogue

Vous pouvez modifier la définition de catalogue même lorsqu’un catalogue contient déjà des données. Par exemple, vous pouvez effectuer les actions suivantes :

  • renommer une définition de produit ou de catégorie ;
  • modifier les propriétés incluses dans une définition de catégorie ou une définition de produit.

Vous ne pouvez pas effectuer les opérations suivantes :

  • renommer une définition de propriété ;
  • modifier le type de données d’une propriété, par exemple le changer de nombre en chaîne.


Définitions de catégories

Les définitions de catégories décrivent les caractéristiques spécifiques des catégories de votre catalogue. Ces caractéristiques sont appelées propriétés de catégorie. Vous créez une définition de catégorie en lui attribuant des propriétés de catégorie. Par exemple, la définition de catégorie Rayon peut avoir les propriétés de catégorie suivantes : Nom, Description, Nom du fichier image, Hauteur d’image et Largeur d’image. Lorsque vous créez une catégorie basée sur la définition de catégorie Rayon, vous entrez les valeurs des propriétés de catégorie. Par exemple, la propriété de catégorie Nom peut correspondre à « Rayon des maillots de sport ».


Définitions de produits

Les définitions de produits décrivent les caractéristiques spécifiques d’un produit donné. Ces caractéristiques sont appelées propriétés du produit. Vous créez une définition de produit en lui attribuant des propriétés du produit. Par exemple, vous pouvez créer une définition de produit appelée Maillots qui comprend trois propriétés de produit : Nom, Fabricant et Prix. Lorsque vous créez un produit basé sur la définition de produit Maillots, vous entrez les valeurs des propriétés de produit. Par exemple, la propriété de produit Nom peut correspondre à « Maillots de football Ace ».


Définitions de propriétés

Les propriétés de catégorie et de produit sont basées sur des définitions de propriétés. Une définition de propriété décrit les informations relatives à cette propriété comme le type de données de la propriété (par exemple, nombre, texte, texte multilingue ou décimal), le nom de la propriété et une valeur minimale pour la propriété. Par exemple, vous pouvez créer une propriété appelée Taille_maillot avec les valeurs Small, Medium et Large ou une propriété appelée Longueur avec une valeur minimale de 10 et une valeur maximale de 120.


Identificateurs uniques dans un catalogue

Lorsque vous créez un catalogue de base, vous spécifiez les propriétés qui constituent les identificateurs uniques des produits et des composants produit. Les produits et les composants produit ont tous deux des identificateurs uniques. Les identificateurs uniques sont soit un type de propriété texte, soit un type de propriété nombre.

Remarque

  • Dans un catalogue virtuel, l’identificateur du produit est toujours « ProductId » et l’identificateur du composant est toujours « VariantId ». Lorsque vous créez un catalogue virtuel, vous ne devez pas spécifier l’identificateur du produit et l’identificateur du composant.

Par exemple, si vous avez un catalogue de livres, le titre du livre peut être l’identificateur unique du produit et la référence ISBN l’identificateur unique du composant produit. Pour le livre Le futur de l’e-commerce, la version reliée représente un composant, la version brochée représente un deuxième composant et la version audio un troisième composant. Ces trois composants produit appartiennent à la famille de produits Le futur de l’e-commerce.

L’exemple suivant illustre les composants de la famille de produits Le futur de l’e-commerce :

Famille de produits = Le futur de l’e-commerce
Identificateur unique = Titre : Le futur de l’e-commerce

Composant produit = Le futur de l’e-commerce en version reliée
Identificateur unique = ISBN : 1102334
Prix = 22,45 €
Composant produit = Le futur de l’e-commerce en version brochée
Identificateur unique = ISBN : 1102335
Prix = 11,23 €
Composant produit = Le futur de l’e-commerce en version audio
Identificateur unique = ISBN : 1102336
Prix = 16,84 €

Pour obtenir une liste des méthodes conseillées pour l’attribution d’identificateurs uniques, consultez Méthodes conseillées pour les catalogues.


Hiérarchies et relations de catalogue

Alors que la définition de catalogue fournit la structure sous-jacente du catalogue, vous pouvez créer des hiérarchies de catalogues et des relations pour organiser les produits au sein de votre catalogue, et faciliter la navigation des utilisateurs vers les produits de leur choix.

Vous pouvez créer des hiérarchies de catégories, ainsi que des relations entre les catégories et les produits d’un même catalogue ou de catalogues différents. Par exemple, si vous disposez d’un catalogue de grande taille, vous pouvez créer une catégorie parent qui comprend plusieurs autres catégories, également appelées catégories enfants. Lorsque les utilisateurs naviguent vers la catégorie parent, les catégories enfants s’affichent, ce qui permet aux utilisateurs de naviguer rapidement vers la catégorie contenant les produits qui les intéressent.

Cette section contient les rubriques suivantes :

  • Catégorie parent primaire


Catégorie parent primaire

Chaque catégorie et chaque produit peut avoir une seule catégorie parent primaire. La catégorie parent primaire fournit un chemin d’accès canonique à une catégorie ou un produit enfant. Par ailleurs, si un produit figure dans plusieurs catégories et que la tarification est définie au niveau de la catégorie, seule la tarification de la catégorie parent primaire est appliquée aux catégories et produits enfants. (Vous pouvez définir la tarification au niveau de la catégorie en utilisant la tarification de niveau catégorie ou une règle de tarification de catalogue virtuel sur la catégorie.)

La figure suivante illustre la manière dont une catégorie parent peut posséder plusieurs catégories enfants, et comment chaque catégorie enfant peut également être une catégorie parent.

Figure illustrant le fonctionnement de la catégorie parent primaire

Dans la figure précédente, le catalogue Vêtements de sport possède deux catégories : Maillots et Shorts. La catégorie Maillots possède deux catégories enfants : Maillots de football et Survêtements deux-pièces. Cette organisation propose aux utilisateurs deux voies d’accès à la catégorie Survêtements deux pièces. Ils peuvent naviguer vers les survêtements via la catégorie Maillots ou la catégorie Shorts.

Cette figure illustre également une relation accessoire entre Maillots de football Ace et Shorts de football Ace. Si les utilisateurs sont intéressés par les maillots, ils peuvent également l’être par les shorts.


Catalogues de base et catalogues virtuels

Avant de créer et d’organiser vos catalogues, vous devez bien comprendre qu’il est possible de créer deux types de catalogues : les catalogues de base et les catalogues virtuels. Ces deux types de catalogues sont décrits dans les rubriques suivantes ; ils sont accompagnés de trois exemples d’utilisation des catalogues virtuels.

Cette section contient les rubriques suivantes :

  • Catalogues de base
  • Catalogues virtuels
  • Catalogue virtuel, exemple 1 : définition d’une tarification spéciale
  • Catalogue virtuel, exemple 2 : tarification des produits dans d’autres devises
  • Catalogue virtuel, exemple 3 : proposition d’un sous-ensemble de produits


Catalogues de base

Les catalogues de base contiennent des catégories et des produits, mais ne comportent pas de règles de tarification spécifiques. Ils contiennent également des données sur les produits, qui sont stockées dans la base de données du catalogue.


Catalogues virtuels

Les catalogues virtuels référencent les données sur les produits d’un ou de plusieurs catalogues de base. Si vous ajoutez un produit à un catalogue de base, le produit peut aussi apparaître dans le catalogue virtuel associé, en fonction des règles d’ajout qui ont été définies. Les produits d’un catalogue virtuel ne sont représentés qu’une seule fois dans la base de données, quel que soit le nombre de catalogues virtuels où ils figurent.

Les catalogues virtuels sont principalement utilisés pour effectuer les trois opérations suivantes :

  • regrouper plusieurs catalogues afin qu’ils apparaissent sous la forme d’un seul catalogue pour les utilisateurs ;
  • tarifer des produits dans plusieurs devises ;
  • fournir une tarification spéciale, ou des sous-ensembles de produits, pour des groupes d’utilisateurs spécifiques.

Les catalogues virtuels prennent en charge les règles de tarification. Cela signifie en d’autres termes que vous pouvez spécifier si le prix pour la catégorie ou le produit est identique au prix figurant dans le catalogue de base ou s’il diffère, par exemple, d’un pourcentage ou d’un montant défini en plus ou en moins.


Catalogue virtuel, exemple1: définition d'une tarification spéciale

Envoyer des commentaires sur cette page Commerce Server 2002

Catalogue virtuel, exemple 1 : définition d’une tarification spéciale

Dans la figure suivante, deux sociétés européennes fictives, Wheels Express et Bikes Galore, ont conclu un contrat. La société Wheels Express vendra des roues de motos aux clients Bikes Galore avec une remise de 20 pour cent. Tous les produits sont tarifés en euros.

Figure illustrant les catalogues virtuels


Catalogue virtuel, exemple2: tarification des produits dans d'autres devises

Envoyer des commentaires sur cette page Commerce Server 2002

Catalogue virtuel, exemple 2 : tarification des produits dans d’autres devises

La figure suivante montre un catalogue virtuel qui inclut des produits d’un catalogue de base, dont les prix sont définis en dollars américains. Les prix du catalogue virtuel sont multipliés par 0,056, de sorte que les prix des produits vendus au Canada s’affichent en dollars canadiens.

Figure illustrant les catalogues virtuels


Catalogue virtuel, exemple3: proposition d'un sous-ensemble de produits

Envoyer des commentaires sur cette page Commerce Server 2002

Catalogue virtuel, exemple 3 : proposition d’un sous-ensemble de produits

La figure suivante montre un catalogue virtuel qui inclut un sous-ensemble de produits d’un catalogue de base. Le sous-ensemble de produits est destiné à une vente en France. Tous les produits sont tarifés en euros.

Figure illustrant les catalogues virtuels


Restrictions concernant le nom et la taille des catalogues

Cette section répertorie les restrictions concernant le nom et la taille des catalogues au niveau de Commerce Server Business Desk et au niveau de l’interface de programmation d’applications (API, Application Programming Interface) Catalog.

Cette section contient les rubriques suivantes :

  • Business Desk et l’API Catalog
  • Données chiffrées concernant les catalogues de produits


Business Desk et l'API Catalog

Envoyer des commentaires sur cette page Commerce Server 2002

Business Desk et l’API Catalog

Les restrictions suivantes relatives aux caractères s’appliquent aux propriétés indiquées :

Article | Restrictions concernant le nom et la taille
Nom de définition de propriété
  • Un nom de définition de propriété peut comporter 100 caractères au maximum.
  • Les chiffres ne sont pas autorisés en première position.
  • Vous ne devez pas utiliser de virgule (,) ou de point (.).
  • Vous ne devez pas utiliser de caractères qui ne sont pas acceptés dans un nom de balise XML. Pour obtenir la liste des caractères acceptés dans un nom de balise XML, consultez « Microsoft XML 3.0 - XML Developer’s Guide » à l’adresse suivante : http://go.microsoft.com/fwlink/?LinkId=5161.
  • Vous ne devez pas utiliser « ProductID » ou « VariantID » dans les noms de définition de propriété.
Nom de définition de produit | Un nom de définition de produit peut comporter 128 caractères au maximum.
Nom de définition de catégorie | Un nom de définition de catégorie peut comporter 128 caractères au maximum.
Nom du catalogue (nom interne, et non celui affiché sur le site Web)
  • Il doit s’agir d’un nom unique.
  • Un nom de catalogue peut comporter 85 caractères au maximum.
  • Vous ne devez pas utiliser les crochets ([,]), apostrophes (‘), les parenthèses ((,)) ou les caractères « # ». Vous ne devez pas utiliser de virgule ou de point.
  • Il n’existe aucune restriction concernant le nom complet du catalogue.
  • Si vous disposez de plusieurs sites Commerce Server avec des bases de données distinctes stockant les données sur les catalogues, et qu’ils partagent le même Data Warehouse, n’affectez pas le même nom aux différents catalogues sur les différents sites. Si deux catalogues portent le même nom, le Data Warehouse les traite comme s’il s’agissait d’un seul catalogue.
Nom de catégorie
  • Il doit s’agir d’un nom unique.
  • Vous ne devez pas utiliser les barres obliques (/) ou les guillemets ("). Vous ne devez pas utiliser de virgule.
  • Vous ne devez pas utiliser un nom comportant plus de 100 caractères.
Nom du produit
  • La longueur maximale du nom du produit dépend de la valeur spécifiée dans la définition de produit. Commerce Server n’impose pas de limite de longueur.
  • Vous devez utiliser un nom unique pour chaque produit.
  • Vérifiez l’absence de répétition des combinaisons de nom de catégorie et de produit.
    • Si vous créez un catalogue pour un site et que des noms de produits ne sont pas uniques dans des catégories, un produit inapproprié risque d’être ajouté au panier d’achat lorsque l’utilisateur sélectionne un produit à acheter. Ceci est dû au fait que le nom de produit est ajouté au nom de catégorie. Par exemple, le produit 1A de la catégorie B et le produit A de la catégorie B1 sont tous deux stockés sous la forme « B1A ».
Identificateur du produit
  • Vous devez utiliser un entier ou du texte.
  • Vous ne devez pas utiliser de date/heure ou de devise.


Données chiffrées concernant les catalogues de produits

Le tableau suivant répertorie les données chiffrées concernant les catalogues Commerce Server.

Article | Taille ou nombre pris en charge
Nombre de catalogues | 10 000 catalogues de base, 10 000 catalogues virtuels, ou une combinaison de 10 000 catalogues des deux types.
Nombre de produits par catalogue | Cinq millions Commerce Server n’a pas été testé au-delà de 10 000 catalogues contenant chacun cinq millions de produits
Nombre de langues par catalogue | 10
Nombre de définitions de propriétés par catalogue | 1 000
Nombre de catalogues de base par catalogue virtuel | 80
Nombre de produits par catalogue virtuel | Un million
Nombre de règles de tarification par catalogue virtuel | 10 000
Nombre de produits par catégorie | 10 000
Nombre de catégories imbriquées | Cinq

En outre, Commerce Server prend en charge le type de données texte SQL, qui n’est pas soumis à la limite de taille de ligne SQL Server qui est de 8 060 octets. Plusieurs catalogues de produits peuvent partager un catalogue de texte intégral SQL Server unique.


Catalogues de fournisseurs multiples

Vous pouvez importer des catalogues de fournisseurs multiples, les afficher sur votre site Web sous la forme d’un catalogue unique, puis, lorsque les utilisateurs achètent un produit du catalogue, vous pouvez transmettre les commandes directement aux fournisseurs pour qu’ils les traitent.

Chaque catalogue Commerce Server comporte un attribut d’identificateur du fournisseur. Cet attribut est rempli lorsque votre administrateur système utilise Microsoft BizTalk Server pour définir un accord de partenariat commercial avec un fournisseur (et configure la ressource Configuration par défaut de l’application de sorte que la propriété Options de BizTalk ait la valeur « 1 »). Si l’attribut d’identificateur du fournisseur est vide, Commerce Server suppose que vous êtes le fournisseur de ce catalogue.

Lorsque vous procédez à une intégration à BizTalk Server, l’attribut d’identificateur du fournisseur est utilisé pour envoyer automatiquement les bons de commande au fournisseur des articles achetés dans le catalogue. Une fois que votre administrateur système a défini un accord avec un fournisseur, ce nouveau fournisseur est ajouté à la liste déroulante des fournisseurs dans Commerce Server Business Desk et vous pouvez alors le sélectionner dans la liste.

Deux principales étapes permettent d’implémenter ce scénario :

  • La création d’un catalogue virtuel dans lequel vous regroupez le contenu des catalogues des fournisseurs. Cette étape est décrite dans la rubrique « Création d’un catalogue virtuel » de l’aide de Commerce Server 2002.
  • L’intégration de Commerce Server à BizTalk Server pour transmettre les commandes à vos partenaires commerciaux. Cette étape est décrite dans la rubrique « Integrating with BizTalk Server » (en anglais) de l’aide de Commerce Server 2002.

Vous trouverez ci-après une vue d’ensemble des étapes que vous et vos fournisseurs devez effectuer pour échanger des catalogues à l’aide de BizTalk Server :

  1. Installez et configurez BizTalk Server de sorte que vous puissiez recevoir les catalogues des fournisseurs.
  2. Configurez la ressource Configuration par défaut de l’application de sorte que la propriété Options de BizTalk ait la valeur 1.
  3. Définissez un accord avec un fournisseur.
  4. Un fournisseur vous envoie ses catalogues par courrier électronique ou à l’aide de BizTalk Server, puis vous les importez dans votre base de données du catalogue Commerce Server à l’aide du module Éditeur de catalogue de Business Desk.
  5. Vous pouvez envoyer des catalogues au fournisseur à partir de Business Desk en cliquant dans la barre d’outils du module Éditeur de catalogue sur le bouton Envoyer. Une boîte de dialogue s’affiche ; elle répertorie les fournisseurs qui sont définis avec des accords dans BizTalk Server et auxquels vous pouvez envoyer le catalogue.

Plusieurs catalogues peuvent être associés à un fournisseur donné. Vous pouvez aussi spécifier un fournisseur au niveau du produit ; dans ce cas cependant, votre développeur de site doit personnaliser la page _additem.asp de votre site Web. Pour plus d’informations sur la personnalisation de la page _additem.asp, consultez Commerce Server Solution Sites (en anglais).


Catalogues de synthèse

Un catalogue de synthèse affiche le contenu de plusieurs catalogues. Par exemple, si vous vendez le contenu de différents fournisseurs et que chacun d’eux vous envoie un ou plusieurs catalogues, vous pouvez regrouper le contenu dans un seul catalogue de synthèse.

Pour regrouper plusieurs catalogues, vous devez créer en premier lieu un catalogue virtuel, puis inclure le contenu des catalogues de base. Pour l’utilisateur qui visite votre site, un catalogue de synthèse apparaît comme un seul catalogue.

Un catalogue de synthèse se distingue d’un groupe de catalogues dans la mesure où il est constitué de différents composants et propose une disponibilité différente.

  • Un catalogue de synthèse constitue la combinaison de plusieurs catalogues dans un catalogue virtuel.
  • Un groupe de catalogues rassemble un ou plusieurs catalogues que vous mettez à la disposition de différents utilisateurs ou organisations. Vous pouvez ensuite créer un groupe de catalogues incluant des catalogues de synthèse et d’autres catalogues de votre base de données.

Vous spécifiez les utilisateurs ou organisations pouvant consulter les catalogues d’un groupe de catalogues ; un catalogue de synthèse peut être à la disposition de tous les utilisateurs, s’il n’est pas un membre d’un groupe de catalogues.


Catalogues multilingues

Un catalogue multilingue affiche le texte des catégories et des produits dans plusieurs langues. Il se peut par exemple que vous vouliez afficher les informations sur le produit en anglais, en français et en japonais.

Vous trouverez ci-après une vue d’ensemble des étapes que vous devez effectuer pour créer un catalogue multilingue. Ces étapes sont décrites en détail dans l’aide de Commerce Server 2002 :

  1. Ajouter des définitions de propriétés multilingues pour les éléments à afficher dans plusieurs langues.

    La définition de catalogue inclut par défaut un ensemble de propriétés multilingues, telles que les suivantes :

    • Nom du produit – Texte multilingue
    • Description – Texte multilingue
    • Couleur – Choix multiple multilingue
  2. Ajouter des définitions de produits qui utilisent les propriétés multilingues. Attribuez par exemple Nom du produit, Description et Couleur à chaque définition de produit.
  3. Créer le catalogue et spécifier les langues qu’il prendra en charge, par exemple l’anglais, le français et le japonais.
  4. Ajouter des produits et ajouter des catégories qui incluent les propriétés multilingues, comme Nom du produit et Description.
  5. Traduire les produits et catégories multilingues dans les langues que le catalogue prend en charge. Vous pouvez traduire le catalogue à l’aide de l’une des méthodes suivantes :
    • Traduction d’un catalogue par exportation/importation : Si vous devez traduire de nombreux produits, utilisez le module Éditeur de catalogue pour exporter le catalogue au format XML, puis l’envoyer à un traducteur. Une fois que le catalogue est traduit, vous pouvez l’importer dans la base de données du catalogue utilisée par Commerce Server. Vous pouvez ensuite utiliser Commerce Server Business Desk pour mettre à jour le catalogue et le publier selon les besoins.
    • Traduction d’un catalogue avec Business Desk : Si vous ne devez traduire que quelques produits, utilisez le module Éditeur de catalogue de Business Desk pour ajouter manuellement les données sur les produits dans une langue différente.


Catalogues externes: utilisation de clés de jointure

Envoyer des commentaires sur cette page Commerce Server 2002

Catalogues externes : utilisation de clés de jointure

Une nouvelle fonctionnalité de Commerce Server 2002 permet de prendre en charge les clés de jointure. Utilisez des clés de jointure pour établir des liaisons à des tables externes en vue de récupérer des données d’inventaire au moment de l’exécution et d’associer plusieurs valeurs à un produit.

Les deux scénarios courants pour l’utilisation des clés de jointure sont les suivants :

  • Récupération au moment de l’exécution des données de catalogue changeantes, comme les données d’inventaire. Vous ne pouvez pas inclure de données d’inventaire dans le catalogue lui-même, car le site n’écrit jamais dans la base de données du catalogue. En outre, pour pouvoir utiliser l’équilibrage de charge réseau, la base de données du catalogue doit être en lecture seule.
  • Association de plusieurs valeurs à un produit, comme une liste de titres de chansons pour un CD, une liste des interprètes pour un titre de film ou une liste des révisions du client pour un produit.

La figure suivante montre comment utiliser des clés de jointure pour récupérer les données d’une table externe et de la base de données du catalogue Commerce Server.

Figure illustrant l'utilisation de clés de jointure pour récupérer les données d'une table externe


Groupes de catalogues

Vous déterminez le catalogue que l’utilisateur voit sur votre site en créant des groupes de catalogues. Un groupe de catalogues rassemble un ou plusieurs catalogues que vous mettez à la disposition de différents utilisateurs ou organisations.

Un groupe de catalogues se distingue d’un catalogue de synthèse dans la mesure où il est constitué de différents composants et propose une disponibilité différente.

  • Un catalogue de synthèse constitue la combinaison de plusieurs catalogues dans un catalogue virtuel.
  • Un groupe de catalogues rassemble un ou plusieurs catalogues que vous mettez à la disposition de différents utilisateurs ou organisations. Vous pouvez ensuite créer un groupe de catalogues incluant des catalogues de synthèse et d’autres catalogues de votre base de données.

Vous spécifiez les utilisateurs ou organisations pouvant consulter les catalogues d’un groupe de catalogues ; un catalogue de synthèse peut être à la disposition de tous les utilisateurs, s’il n’est pas un membre d’un groupe de catalogues.

Par exemple, pour créer un groupe de catalogues, vous pouvez créer deux catalogues de base et un catalogue virtuel, définir un groupe de catalogues qui inclut les deux catalogues de base et le catalogue virtuel, puis afficher ce groupe de catalogues aux membres d’une organisation spécifique. La figure suivante illustre la manière dont les membres d’un club de football peuvent consulter le catalogue Vêtements de l’équipe doté d’une tarification spéciale.

Figure illustrant un catalogue de tarification spéciale

Les modules Profils Business Desk vous permettent de spécifier le groupe de catalogues qu’un utilisateur peut consulter. Lorsque vous créez un utilisateur, vous indiquez le nom du groupe de catalogues.


Méthodes de tarification des produits

Vous serez probablement amené à mettre à jour les prix des produits à intervalles réguliers. Toutefois, vous pouvez définir initialement le prix d’un produit dans un catalogue à l’aide de l’une des méthodes suivantes : tarification directe, tarification indirecte et tarification personnalisée (règles de tarification).

Cette section contient les rubriques suivantes :

  • Tarification directe
  • Tarification indirecte
  • Tarification personnalisée (règles de tarification dans un catalogue virtuel)


Tarification directe

Vous définissez le prix d’un produit dans le produit lui-même. Vous pouvez réaliser cette opération lors de la création du produit ou lorsque vous le modifiez pour changer son prix.


Tarification indirecte

Le prix est déterminé par son association avec une catégorie de tarification spécifique. Si un produit est associé à une catégorie de tarification, le prix indiqué sur le produit est remplacé par le prix défini dans cette catégorie. Le prix d’origine du produit est restauré lorsqu’il n’est plus associé à cette catégorie de tarification particulière.

La tarification indirecte est généralement utilisée pour appliquer le même prix à un groupe de produits, par exemple pour créer une catégorie spéciale dans laquelle tous les produits coûtent 2,13 €.


Tarification personnalisée (règles de tarification dans un catalogue virtuel)

Dans un catalogue virtuel, vous pouvez appliquer des règles de tarification à une catégorie, un produit ou un composant produit.

Vous appliquez des règles de tarification lorsque vous créez un catalogue virtuel dans une devise secondaire ou lorsque vous créez un catalogue virtuel qui ne sera affiché qu’à un groupe spécifique d’utilisateurs, par exemple, des membres d’un club qui bénéficient de prix avec remise.

Une catégorie, un produit ou un composant produit ne peuvent avoir qu’une seule règle de tarification.

Vous pouvez appliquer les règles de tarification suivantes aux catégories et produits d’un catalogue virtuel :

  • Prix défini. vous spécifiez le prix exact du produit. Par exemple, le produit est vendu pour exactement 11,23 €.
  • Ajouter : vous spécifiez le montant exact qui doit être ajouté au prix de base.
  • Ajouter un pourcentage : vous spécifiez le pourcentage du prix de base qui doit être ajouté au prix.
  • Remise : vous spécifiez le montant exact qui doit être soustrait du prix de base.
  • Pourcentage de remise : vous spécifiez le pourcentage à soustraire au prix. Pour réduire le prix de 20 pour cent, spécifiez 20 pour cent.

Pour plus d’informations sur la tarification personnalisée, consultez Tarification des produits dans plusieurs devises.

Voir aussi

Using Current Product Prices vs Original Product Prices (en anglais).


Concepts de Data Warehouse

Le Data Warehouse de Commerce Server 2002 représente un ensemble de processus utilisés par un administrateur système pour importer et gérer des données dans l’ensemble résultant de l’association d’une base de données SQL Server à une base de données OLAP (Online Analytical Processing). Le Data Warehouse importe un grand volume de données d’utilisation du site collectées à partir de sources de données différentes. Ces données sont recueillies dans les fichiers journaux du serveur Web et les bases de données Commerce Server (de catalogues et de transactions) et des autres sources de données spécifiées. Le Data Warehouse gère ensuite les données dans les bases de données SQL Server et OLAP. Ces bases de données sont par la suite utilisées pour générer des rapports ainsi que pour analyser et visualiser les segments de population.

Le Data Warehouse est conçu pour prendre en charge les requêtes et les analyses avec fiabilité. Vous analysez les données du Data Warehouse grâce aux modules Analyse de Commerce Server Business Desk.Par exemple, pour identifier les tendances des utilisateurs ou analyser l’efficacité d’une campagne marketing, puis mettre à jour votre site pour cibler le contenu en fonction de groupes d’utilisateurs bien précis, vendre des produits spécifiques, etc.

Cette section contient les rubriques suivantes :

  • Utilisation de Data Warehouse dans la gestion d’un site Web
  • Structure de Data Warehouse
  • Vue d’ensemble de l’importation de données dans le Data Warehouse
  • Préparation des données pour une analyse à l’aide de OLAP Server
  • Rapports : statiques et dynamiques


Utilisation du Data Warehouse dans la gestion d'un site Web

Envoyer des commentaires sur cette page Commerce Server 2002

Utilisation du Data Warehouse dans la gestion d’un site Web

Le Data Warehouse associe les données de plusieurs sources en une structure commune, ce qui donne aux données la cohérence nécessaire pour produire des rapports ainsi que pour analyser et visualiser les segments de population. Cela s’appelle le système d’analyse commerciale de Commerce Server. L’analyse commerciale est un moyen d’observer les données de votre site Web pour répondre à des questions spécifiques sur ses performances. Vous pouvez utiliser les informations fournies par l’analyse commerciale pour améliorer vos prestations vis-à-vis des clients et cibler un contenu en fonction des utilisateurs.

L’analyse commerciale permet d’effectuer des mesures spécifiques des performances de votre site Web, notamment :

  • Quel site visitait l’utilisateur avant d’accéder à votre site (site de référence) ?
  • Quelles sont les pages les plus visitées sur votre site Web ?
  • Quels sont les produits qui se vendent le mieux ?

Vous pouvez utiliser ces mesures pour modifier votre site Web, ce qui permettra d’accroître les ventes et de fidéliser les utilisateurs. Par exemple, vous affichez une publicité pour promouvoir un nouveau produit. Après une semaine d’affichage, vous pouvez exécuter un rapport pour déterminer si la publicité a permis d’augmenter les ventes du produit. Si les ventes n’ont pas augmenté, vous pouvez mettre à jour votre site en affichant, par exemple, une remise de 10 pour cent sur le nouveau produit, et attendre une semaine pour déterminer si cette remise a permis d’augmenter les ventes.

Voir aussi

Structure de Data Warehouse

Vue d’ensemble de l’importation de données dans le Data Warehouse

Préparation des données pour une analyse à l’aide de OLAP Server

Rapports


Structure du Data Warehouse

Le Data Warehouse se compose de deux parties principales :

  • Base physique. Il s’agit d’une base de données Microsoft SQL Server que vous pouvez interroger à l’aide de requêtes SQL, et d’une base de données OLAP qui vous permet d’exécuter des rapports.
  • Schéma logique. Il s’agit d’un modèle conceptuel mappé vers les données de la base physique.

La figure suivante montre la relation existant entre la base physique et le schéma logique.

Figure illustrant la relation existant entre la base physique et le schéma logique.

Base physique

La base physique du Data Warehouse comprend une base de données que vous pouvez interroger à l’aide de requêtes SQL. La base physique contient toutes les données que vous avez importées à partir de différentes sources.

Durant le processus de décompression, Commerce Server crée automatiquement la base physique du Data Warehouse dans la base de données SQL Server et la base de données OLAP. Data Warehouse fournit les données nécessaires à tous les rapports Commerce Server disponibles dans les modules Analyse Business Desk.

Schéma logique

Le schéma logique fournit une vue compréhensible des données du Data Warehouse, et prend en charge un processus d’importation efficace. Par exemple, le schéma logique permet à un développeur de site de modifier l’emplacement de stockage des données dans les tables physiques sous-jacentes. Lorsqu’un développeur de site écrit du code pour ajouter, mettre à jour ou supprimer des données dans le Data Warehouse, il interagit avec le schéma logique. Lorsque Commerce Server accède aux données du Data Warehouse, il y parvient grâce au schéma logique. Seul le développeur de site a besoin d’une connaissance approfondie du schéma logique.

Un schéma logique comprend les éléments suivants :

  • Classe. Il s’agit d’une collection logique de membres de données. Par exemple, la classe Utilisateur inscrit contient des membres de données décrivant un utilisateur inscrit.
  • Membre de données. Il s’agit d’une structure qui stocke une partie de données. Par exemple, le membre de données Adresse électronique de la classe Utilisateur inscrit stocke l’adresse de messagerie d’un utilisateur inscrit.
  • Relation. Relation de type parent-enfant entre deux classes. La relation parent-enfant détermine le nombre d’instances (1 ou plus) qu’un enfant peut avoir avec une instance correspondante du parent. Par exemple, RegisteredUser est un parent de la classe enfant Request. Il peut exister de nombreuses demandes pour un utilisateur inscrit.

Le schéma logique utilise des classes, des membres de données, des relations et d’autres structures de données pour mapper les données dans la base physique.

Voir aussi

Utilisation de Data Warehouse dans la gestion d’un site Web

Structure de Data Warehouse

Vue d’ensemble de l’importation de données dans le Data Warehouse

Préparation des données pour une analyse à l’aide de OLAP Server

Rapports


Vue d'ensemble de l'importation de données dans le Data Warehouse

Envoyer des commentaires sur cette page Commerce Server 2002

Vue d’ensemble de l’importation de données dans le Data Warehouse

Les données contenues dans le Data Warehouse proviennent généralement de plusieurs sources de données : journaux de serveur Web, bases de données Commerce Server et toutes les autres sources de données spécifiées. La figure suivante montre les sources des données opérationnelles, et la manière dont ces données peuvent être utilisées pour prendre en charge les tâches exécutées à partir de Business Desk.

Figure illustrant la manière dont les données sont importées dans le Data Warehouse.

Étant donné que Data Warehouse ne fait pas partie de votre environnement d’exécution, un administrateur système doit déterminer la fréquence à laquelle importer les données opérationnelles dans Data Warehouse. Par exemple, vous pouvez configurer le Data Warehouse de telle sorte qu’il importe automatiquement les nouvelles données tous les jours ou toutes les semaines. La fréquence à laquelle vous devez importer des données dépend du volume de nouvelles données collectées quotidiennement dans vos sources de données opérationnelles. Commerce Server comprend des tâches de transformation de données (DTS, Data Transformation Services) personnalisées qui simplifient l’importation des données dans le Data Warehouse. Ces tâches DTS importent les données utilisées avec les rapports disponibles dans Business Desk.

Même si les données opérationnelles peuvent être importées à partir de différents types de bases de données - ou à partir de supports de stockage qui ne sont pas des bases de données - toutes les données sont structurées de manière cohérente après avoir été rassemblées dans le Data Warehouse. Par exemple, vous pouvez posséder une source de données dans laquelle le prénom et le nom d’un utilisateur sont stockés dans le même champ, et une autre source de données dans laquelle le prénom et le nom sont stockés dans des champs séparés. Lorsque ces données sont importées dans le Data Warehouse, elles sont automatiquement structurées de manière cohérente, ce qui rend ainsi possible vos activités d’analyse.

Voir aussi

Utilisation de Data Warehouse dans la gestion d’un site Web

Structure de Data Warehouse

Préparation des données pour une analyse à l’aide de OLAP

Rapports

(en anglais)

Exécution de Data Warehouse

Analyse Business Desk


Préparation des données pour une analyse à l'aide de OLAP

Envoyer des commentaires sur cette page Commerce Server 2002

Préparation des données pour une analyse à l’aide de OLAP

Une fois les données importées dans la base de données SQL Server du Data Warehouse, elles doivent être préparées à l’analyse de telle sorte que les chefs d’entreprise puissent l’utiliser pour exécuter des rapports. Pour préparer les données à la création d’un rapport, l’administrateur système exécute une tâche DTS qui exporte un sous-ensemble spécifique de données de la base de données SQL Server vers la base de données OLAP. Dans la base de données OLAP, les données sont stockées dans des cubes multidimensionnels.

En stockant les données dans des cubes OLAP, au lieu des tables relationnelles de SQL Server, le Data Warehouse peut extraire plus rapidement les données nécessaires à la création de rapports. Les données sont récupérées plus rapidement à partir des cubes car elles sont agrégées. OLAP est généralement plus rapide que SQL Server car les données OLAP sont synthétisées alors que les données SQL Server contiennent tous les détails. Par exemple, à l’aide de OLAP, vous pouvez exécuter un rapport qui répertorie les utilisateurs visitant votre site en fonction de l’heure de leur visite et de la première page ASP à laquelle ils accèdent. Il est extrêmement difficile d’exécuter ce type de rapport sur une base de données SQL Server de grande taille.

Dans les cubes multidimensionnels, les données sont regroupées en deux types de structures :

  • Mesures. Il s’agit des valeurs numériques analysées.
  • Dimensions. Il s’agit d’une entité commerciale, telle que la couleur, la taille, le produit ou l’heure. Par exemple, la dimension « couleur » vous permet de mettre en évidence le nombre de produits vendus de couleur rouge par rapport au nombre de produits de couleur bleue, alors que la dimension « taille » met en évidence le nombre de produits vendus de grande taille par rapport au nombre de produits de petite taille.

C’est la relation entre les structures de dimension (par exemple, la couleur) et de mesure (par exemple, le nombre de produits vendus) qui fournit la base de vos rapports sur l’activité des utilisateurs.

La figure suivante illustre les dimensions et les mesures d’un rapport.

Illustration d'un rapport avec des légendes montrant des indicateurs et des dimensions

Voir aussi

Utilisation de Data Warehouse dans la gestion d’un site Web

Structure de Data Warehouse

Vue d’ensemble de l’importation de données dans le Data Warehouse

Rapports


Rapports: statiques et dynamiques

Envoyer des commentaires sur cette page Commerce Server 2002

Rapports : statiques et dynamiques

Pour analyser les données stockées dans le Data Warehouse, Commerce Server fournit des rapports dynamiques et des rapports statiques.

Rapports dynamiques

Rapports statiques

Rapports utilisant le serveur OLAP via HTTPS


Rapports dynamiques

Les rapports dynamiques sont créés lors de l’exécution. Chaque fois que le rapport est exécuté, il récupère les données les plus récentes dans le serveur OLAP si les données sont des données dynamiques OLAP data, dans le Data Warehouse (SQL Server) si les données sont des données dynamiques SQL.

Seule la définition du rapport, qui ne change jamais, est stockée. Commerce Server n’enregistre pas les rapports dynamiques terminés ; cependant, vous pouvez exporter les résultats des rapports dynamiques vers Microsoft Excel pour les y stocker. Pour plus d’informations sur l’exportation des résultats d’un rapport dynamique vers Microsoft Excel, consultez Exportation d’un rapport dynamique.

La figure suivante illustre la génération d’un rapport dynamique : les données sont stockées dans le Data Warehouse, puis mises en cache dans la base de données OLAP lors de l’exécution de la tâche DTS Préparation du rapport ; dès lors, le client Business Desk accède à ces données pour exécuter un rapport.

Figure illustrant la génération d'un rapport dynamique


Rapports statiques

Les rapports statiques sont immédiatement exécutés sur demande, puis stockés avec leurs données dans le module Rapports finalisés. Le rapport s’affiche dans une fenêtre du navigateur au format HTML. Vous pouvez exporter les résultats d’un rapport statique vers le module Gestionnaire de listes, puis utiliser cette liste dans une campagne de publipostage. Vous pouvez envoyer ces rapports à d’autres personnes par courrier électronique, les publier sur votre site Web et les modifier dans d’autres applications. Par exemple, à l’aide de Microsoft Internet Explorer, vous pouvez exporter le rapport dans un document Word, puis le modifier.

Commerce Server 2002 comprend plusieurs rapports que vous pouvez exécuter à partir de Business Desk, tels que le Rapport de synthèse directorial, le Rapport Produits par quantité vendue et le Rapport Nombre d’accès par utilisateur. Vous pouvez utiliser un ou plusieurs de ces rapports, ou personnaliser l’un d’eux pour récupérer d’autres données.

La figure suivante illustre la génération des rapports statiques : les données sont stockées dans le Data Warehouse, mises en cache dans la base de données OLAP, puis générées par les composants du Gestionnaire des rapports ; dès lors, le client Business Desk y accède.

Figure illustrant la génération d'un rapport statique


Rapports utilisant le serveur OLAP via HTTPS

Le système d’analyse commerciale permet à un utilisateur Business Desk d’exécuter des rapports dynamiques en se connectant aux services Analysis Services (pour accéder à la base de données OLAP) via les services IIS (Internet Information Services). Lorsque vous configurez cette méthode de connexion, le service de tableau croisé dynamique peut créer une connexion tunnel via des pare-feu ou des serveurs proxy vers le serveur Analysis Services.

Vous devez effectuer les étapes suivantes pour configurer l’accès aux services Analysis Services via HTTPS. Chacune de ces étapes est décrite en détail dans la rubrique Accès au serveur d’analyse via HTTPS.

  • Installez les services IIS (Internet Information Services) et SQL Server 2000 Édition Entreprise, ainsi que l’édition Entreprise d’Analysis Server, sur le même ordinateur.
  • Configurez la chaîne de connexion cliente des services Analysis Services (ConnStr_OLAP_Client) à l’aide du Gestionnaire Commerce Server, afin d’accéder à la boîte de dialogue Propriétés de Data Warehouse. Vous devez spécifier une URL dans la propriété Source de données de la chaîne de connexion.
  • Configurez Msolap.asp à l’aide des services IIS (Internet Information Services).

La figure suivante montre les composants utilisés pour créer des rapports à l’aide d’OLAP via HTTPS.

Figure illustrant les composants utilisés pour créer des rapports à l’aide d’OLAP via HTTPS

Voir aussi

(en anglais)

Exécution de Data Warehouse

Analyse Business Desk


Concepts de pipeline

Un pipeline est une infrastructure logicielle extensible qui définit et relie entre elles une ou plusieurs étapes d’un processus commercial, en les exécutant sous forme séquentielle pour effectuer une tâche spécifique. Par exemple, le pipeline de traitement des commandes fournit la séquence des étapes utilisées pour traiter les achats de votre site. Au cours de la première étape du pipeline de traitement des commandes, vous récupérez les informations sur le produit à partir de la base de données stockant les données de catalogue. Au cours de l’étape suivante, vous ajoutez l’adresse de l’utilisateur à la commande. Chaque étape du pipeline représente une catégorie de travail. L’ordre des étapes détermine la séquence d’exécution du travail.

Commerce Server 2002 comprend un ensemble de pipelines qui effectuent une bonne partie du traitement standard requis par un site Commerce Server. Un développeur de site peut personnaliser ces pipelines de telle sorte qu’ils répondent aux besoins spécifiques du site. Par exemple, un développeur de site peut ajouter de nouvelles étapes au pipeline, intégrer les composants du pipeline à votre système existant, ou remplacer ces composants par d’autres fournis par des tierces parties.

Cette section contient les rubriques suivantes :

  • Types de pipelines
  • Structure d’un pipeline
  • Création et modification des pipelines


Types de pipelines

Commerce Server comprend les types de pipelines suivants :

  • Pipeline de sélection de contenu. Il sélectionne le contenu à afficher aux utilisateurs. Par exemple, il détermine les publicités qu’un utilisateur doit voir ou les remises qu’il doit recevoir, en fonction des expressions de ciblage créées à l’aide de Commerce Server Business Desk, ainsi que le nombre de publicités à proposer, et d’autres facteurs.
  • Pipeline de traitement des événements. Il enregistre les événements liés au contenu affiché (par exemple, un utilisateur cliquant sur une publicité) qu’il stocke dans les bases de données Commerce Server. Ces informations sont ensuite utilisées pour la création de rapports, par exemple, sur le nombre d’utilisateurs ayant cliqué sur une publicité.
  • Pipeline du service de publipostage. Il crée et envoie des messages pour les campagnes de publipostage. Il peut créer des messages électroniques personnalisés ou des messages avec un contenu statique.
  • Pipeline de traitement des commandes. Il traite les commandes au niveau de la relation entreprise-client (vente au détail) ou entreprise-entreprise (vente en gros). Ces pipelines sont une garantie que la commande passe par toutes les étapes nécessaires pour être traitée de manière appropriée. Par exemple, elles récupèrent la description du produit dans le catalogue, l’adresse de livraison de l’utilisateur, calculent le montant des taxes ainsi que le prix total.

    Commerce Server comprend les types de pipelines de traitement des commandes suivants :

    • Pipeline de produit. Il calcule le prix et les remises d’un produit.
    • Pipeline de planification. Il vérifie l’intégrité de la commande. Par exemple, si la commande ne contient aucun élément, une erreur est générée.
    • Pipeline d’achat. Il accepte l’achat final résultant d’un bon de commande, stocke la commande dans une base de données, puis de manière facultative, il finalise le reçu et écrit le contenu de la commande dans la base de données des reçus.

Voir aussi

Working with Pipelines (en anglais)

Building Pipeline Components (en anglais)

Pipeline Component Reference (en anglais)

Extending the Content Selection Framework (en anglais)


Structure d'un pipeline

Envoyer des commentaires sur cette page Commerce Server 2002

Structure d’un pipeline

Un pipeline se définit dans un fichier de configuration de pipeline, lequel possède l’extension .pcf. Dans le fichier .pcf, vous pouvez identifier les étapes du pipeline. Chaque étape contient un ou plusieurs composants de pipeline. Un développeur de site peut configurer chaque étape afin de travailler sur les besoins spécifiques à votre site.

La figure suivante montre les étapes du Pipeline d’achat au détail (fichier Purchase.pcf).

Figure illustrant les étapes du Pipeline d'achat au détail.

Les informations sont transmises d’une page ASP au pipeline à l’aide des deux dictionnaires suivants :

  • Dictionnaire de contextes. Il s’agit d’un dictionnaire en lecture seule qui fournit au pipeline des informations sur l’environnement. Par exemple, il peut contenir la chaîne de connexion d’une base de données.
  • Dictionnaire de commandes. Il s’agit d’un dictionnaire en lecture-écriture qui fournit les données que le pipeline doit traiter. Par exemple, lorsqu’un utilisateur passe une commande, toutes les informations sont rassemblées dans le dictionnaire de commandes, puis sont transmises au pipeline de traitement des commandes.

Le contenu de chaque dictionnaire est dépendant du type de pipeline. Un développeur de site spécifie les informations à inclure dans le dictionnaire sur la page ASP.

Les pipelines Commerce Server peuvent être exécutés comme des transactions, ce qui permet au pipeline d’annuler le processus en cas d’erreur. En outre, les pipelines Commerce Server tirent parti de la fonctionnalité de mise en pool des objets de Microsoft Windows 2000 Server pour augmenter considérablement la vitesse de traitement. Pour plus d’informations sur la mise en pool des objets, consultez la documentation en ligne de Windows 2000 Server.

Voir aussi

Working with Pipelines (en anglais)

Building Pipeline Components (en anglais)

Pipeline Component Reference (en anglais)

Extending the Content Selection Framework (en anglais)


Création et modification des pipelines

Pipeline Editor permet à un développeur de site de créer de nouveaux pipelines ou de modifier ceux qui existent déjà. Commerce Server fournit sept modèles de pipeline préconfigurés que vous pouvez utiliser comme base pour créer votre pipeline personnalisé. Les fichiers modèles permettant de créer de nouveaux pipelines portent l’extension .pct (modèle de configuration de pipeline). Vous pouvez modifier les noms d’étapes, et ajouter ou supprimer des étapes. Vous pouvez ajouter ou supprimer des composants dans n’importe quelle étape.

Voir aussi

Working with Pipelines (en anglais)

Building Pipeline Components (en anglais)

Pipeline Component Reference (en anglais)

Extending the Content Selection Framework (en anglais)


Concepts de ciblage et de personnalisation

Le ciblage et la personnalisation sont des processus de fourniture de contenu personnalisé à un ou plusieurs utilisateurs, ou à n’importe quelle autre entité commerciale dotée d’un profil. Par exemple, si vous gérez un site Web sur le sport, vous pouvez fournir des informations axées sur le tennis uniquement aux joueurs de tennis ou aux utilisateurs intéressés par le tennis. Vous pouvez réaliser des annonces concernant les prochains tournois de tennis, ou des publicités et des promotions pour les produits liés au tennis.

Vous pouvez utiliser Commerce Server 2002 Standard Edition pour effectuer un ciblage basé sur des expressions, également appelé ciblage explicite. Il s’utilise lorsque vous connaissez les propriétés de profil des utilisateurs auxquels vous fournissez du contenu ou lorsque le contexte vous est familier et que vous savez quel est le contenu à offrir. Les modules Campagnes marketing de Commerce Server Business Desk vous permettent de spécifier ce type d’informations et de fournir le contenu souhaité aux utilisateurs.

Le ciblage basé sur des expressions améliore votre capacité à fournir un contenu intéressant les utilisateurs qui le reçoivent. Les utilisateurs sont plus enclins à revenir sur votre site lorsqu’ils s’attendent à recevoir un contenu personnalisé.

Cette section contient les rubriques suivantes :

  • Utilisation des méthodes de ciblage dans la gestion d’un site Web
  • Ciblage basé sur des expressions
  • Traitement des expressions


Utilisation des méthodes de ciblage dans la gestion d'un site Web

Envoyer des commentaires sur cette page Commerce Server 2002

Utilisation des méthodes de ciblage dans la gestion d’un site Web

Vous pouvez cibler un contenu en fonction de n’importe quel élément à caractère commercial possédant un profil. Par exemple, vous pouvez cibler un contenu en fonction d’utilisateurs anonymes, d’utilisateurs inscrits, de sociétés ou de contextes. Pour obtenir des informations conceptuelles sur les profils, consultez Concepts des profils.

Business Desk vous permet de cibler un contenu en fonction d’éléments à caractère commercial. Par exemple, vous pouvez effectuer les actions suivantes :

  • Créer une campagne de publipostage pour adresser des messages personnalisés aux utilisateurs.
  • Fournir aux utilisateurs un contenu tel que de la publicité, d’après certaines propriétés de profil utilisateur. Par exemple, vous avez la possibilité d’afficher des publicités pour des vélos aux utilisateurs dont la propriété Sport favori est « Cyclisme ».
  • Identifier des groupes de pages Web, puis cibler le contenu à afficher uniquement sur ces pages, ou seulement lorsque des utilisateurs possédant des propriétés spécifiques accèdent à ces pages.
  • Afficher un contenu sur une page en fonction des propriétés d’un autre contenu sur cette page. Par exemple, si votre site Web propose des actualités, vous pouvez attribuer des profils au contenu en spécifiant si la propriété « Type_Temps » est « Chaud » ou « Froid ». Si Type_temps = Chaud, vous pouvez afficher une publicité pour des climatiseurs.
  • Appliquer des remises à certains produits de votre catalogue d’après leurs caractéristiques ou en fonction du profil utilisateur.
  • Choisir le moment où une remise doit être affichée et celui où elle doit être appliquée à la commande. Par exemple, vous pouvez appliquer une remise au moment où les utilisateurs placent l’article dans leur panier ou lorsqu’ils procèdent à la validation des achats.

Voir aussi

Ciblage basé sur des expressions

Traitement des expressions

Générateur d’expressions


Ciblage basé sur des expressions

Le ciblage basé sur des expressions est un processus de création d’expressions qui définissent les utilisateurs ou le contexte à cibler, ainsi que le contenu à fournir. Une expression est une condition qui est évaluée par rapport à des profils afin de déterminer si un contenu doit être fourni ou si une autre action doit être effectuée. Par exemple, user.totalvisit > 100 est un exemple d’expression. Si cette expression prend la valeur « True », un contenu spécifique s’affiche pour l’utilisateur.

Les modules Campagnes marketing Business Desk vous permettent de créer des expressions, puis d’associer ces expressions à l’action à effectuer une fois l’expression évaluée. Vous pouvez créer deux types d’expressions :

  • Expressions de ciblage. Elles identifient l’emplacement, le moment et le destinataire du contenu à afficher. Par exemple, vous pouvez cibler un contenu pour des utilisateurs possédant des propriétés de profil spécifiques. Vous pouvez également cibler un contenu en fonction des sections spécifiques d’un site Web, appelées groupes de pages. Par exemple, vous pouvez créer une expression de ciblage qui affiche certaines publicités uniquement sur les pages de sport.
  • Expressions de catalogue. Elles indiquent les produits d’un catalogue auxquels il est possible d’appliquer une remise. Par exemple, Prix.produit = 120,00 peut être une expression de catalogue. Si cette expression prend la valeur « Vrai » pour un produit donné, une remise de 10 pour cent est appliquée au prix de ce produit lorsque les utilisateurs l’ajoutent à leur panier d’achat.

Après avoir créé des expressions de ciblage, vous pouvez les associer pour former un groupe cible. Un groupe cible est un ensemble d’expressions et d’actions. Par exemple, vous créez une expression destinée à afficher un contenu spécifique aux utilisateurs ayant visité le site 10 fois, et une autre expression pour afficher un contenu aux utilisateurs ayant acheté un maillot de football. Vous pouvez associer les deux expressions en un groupe cible à l’aide des instructions AND ou OR. Par exemple :

Si l’utilisateur a visité le site 10 fois et (AND) l’utilisateur a acheté un maillot de football,
afficher une publicité pour un produit lié au football.

Dans un groupe cible, vous associez les expressions en spécifiant l’action à entreprendre lorsque chaque expression prend la valeur « True ». Chaque action possède deux multiplicateurs : un multiplicateur à appliquer si l’expression prend la valeur « True », et un multiplicateur à appliquer si l’expression prend la valeur « False ». Lorsque le multiplicateur est appliqué, l’expression reçoit un score qui détermine si le contenu peut être fourni ou non. Vous pouvez spécifier les actions suivantes :

  • Cibler. Si l’expression prend la valeur « True », le score augmente, de même que la probabilité d’affichage du contenu. Si l’expression prend la valeur « False », le score n’est pas modifié. Dans ces deux scénarios, le contenu peut être fourni.
  • Exiger. Si l’expression prend la valeur « True », le contenu peut être fourni ; si la valeur est « False », le contenu ne peut pas être fourni.
  • Exclure. Si l’expression prend la valeur « True », le contenu ne peut pas être fourni ; si la valeur est « False », le contenu peut être fourni.
  • Sponsoriser. Si l’expression prend la valeur « True », le contenu peut être fourni et aucun autre contenu n’est possible sauf s’il possède également une expression avec action = Sponsoriser. (Sponsoriser ne possède qu’un seul multiplicateur.) Par exemple, si Microsoft sponsorise une publicité sur une page d’accueil, seules les publicités de Microsoft s’affichent ; cependant, s’il existe plusieurs publicités d’autres sociétés sponsorisant la page d’accueil, ces publicités peuvent également être affichées.

Un développeur de site peut modifier les valeurs des multiplicateurs livrés avec Commerce Server. Cette opération se justifie si vous voulez donner aux expressions comportant un seul type d’action une priorité plus élevée qu’aux expressions comportant un type d’action différent.

Voir aussi

Utilisation des méthodes de ciblage dans la gestion d’un site Web

Traitement des expressions

Générateur d’expressions


Traitement des expressions

Commerce Server effectue plusieurs étapes pour spécifier le contenu qui doit être affiché à l’utilisateur. Les composants suivants sont utilisés lors du processus :

  • ExpressionEval. Cet objet COM (Component Object Model) prend l’expression et les données utilisateur comme entrée, puis traite l’expression pour déterminer si elle prend la valeur « True » ou « False ».
  • Infrastructure de sélection de contenu (CSF, Content Selection Framework). Cette infrastructure au niveau de la plate-forme comprend un ensemble de composants et de pipelines (le pipeline de sélection de contenu et le pipeline de traitement des événements) qui détermine l’action à exécuter comme résultat de l’expression.

La figure suivante illustre la manière dont les expressions de ciblage, les expressions de catalogue, les données utilisateur et les données de contexte sont entrées dans l’Évaluateur d’expressions, ce qui produit des résultats ayant une valeur True, False ou non définie. Le résultat est entré dans l’infrastructure CSF, qui détermine alors l’action à exécuter.

Figure illustrant le traitement des expressions par l'Évaluateur d'expressions et l'infrastructure de sélection de contenu.

Voir aussi

Extending the Content Selection Framework (en anglais)

Concepts des campagnes marketing

Campagnes marketing Business Desk

Générateur d’expressions


Concepts des campagnes marketing

Une campagne marketing est un programme spécialisé qui utilise de nombreux moyens de communication pour parvenir à un résultat spécifique, par exemple, l’augmentation des parts de marché, l’introduction de nouveaux produits ou la fidélisation des clients. Commerce Server offre plusieurs mécanismes de production de vos campagnes marketing en ligne. Par exemple, vous pouvez créer des campagnes marketing pour des publicités, des remises et du publipostage.

Cette section contient les rubriques suivantes :

  • Utilisation de campagnes marketing dans la gestion d’un site Web
  • Structure d’une campagne marketing
  • Ciblage quantitatif de la campagne marketing
  • Tables de références des campagnes


Utilisation de campagnes marketing dans la gestion d'un site Web

Envoyer des commentaires sur cette page Commerce Server 2002

Utilisation de campagnes marketing dans la gestion d’un site Web

Les modules Campagnes marketing ont été conçus pour vous permettre de travailler avec vos clients de manière à optimiser l’effet des publicités, remises et publipostage. Avec les modules Campagnes marketing, vous pouvez :

  • Cibler des publicités ou des remises en fonction d’utilisateurs présentant un certain profil. Vous définissez un profil utilisateur à l’aide du module Concepteur de définitions de profils, puis vous l’intégrez dans une campagne marketing. Pour chaque page de publicité individuelle, vous pouvez spécifier si le profil de l’utilisateur qui visite cette page doit être pris en compte pour le contenu ciblé, ou s’il doit être ignoré.
  • Exécuter des campagnes marketing pour des clients concurrents travaillant dans le même domaine d’activité. Les publicités concurrentes ne sont jamais affichées sur la même page.
  • Facturer vos clients en fonction du nombre de demandes de publicité qu’ils souhaitent pour leurs publicités. L’infrastructure de sélection de contenu prend ce facteur en compte lors du classement du contenu.

La figure suivante montre les composants utilisés dans la fonctionnalité Campagnes marketing du système de ciblage.

Figure illustrant les composants utilisés dans la fonctionnalité Campagnes marketing du système de ciblage


Structure d'une campagne marketing

Envoyer des commentaires sur cette page Commerce Server 2002

Structure d’une campagne marketing

Les campagnes marketing et les éléments de campagne associés sont regroupés par client. Les informations sur les clients, telles que l’adresse de facturation, sont utilisées pour toutes les campagnes marketing créées pour ce client, ainsi que pour la création de rapports. Vous pouvez afficher tous vos clients par ordre alphabétique dans le Gestionnaire de campagnes.

Une campagne marketing est une structure permettant de regrouper des éléments de campagne. Il existe trois types d’éléments de campagne : publicité, remise et publipostage. Chaque campagne marketing peut être composée de plusieurs éléments de campagne. Par exemple, une campagne marketing de promotion d’un nouveau produit peut inclure trois éléments de la campagne : une bannière de publicité sur la page d’accueil, un message de publipostage personnalisé annonçant le nouveau produit et un élément de campagne de remise offrant une remise de 10 pour cent aux utilisateurs qui achètent le produit durant le mois de juin.

Tous les éléments de la campagne d’une campagne marketing ont un client et une plage de dates communs. Par exemple, dans la section Voyages du site d’un journal, un annonceur peut demander la livraison de 10 000 demandes en l’espace d’une semaine pour les utilisateurs du Nord-Ouest. L’annonceur peut décider d’exécuter trois publicités différentes pour ces 10 000 demandes, puis voir laquelle de ces trois publicités attire le plus grand nombre de visiteurs. Chaque publicité est un élément de la campagne.

Voir aussi

Utilisation de campagnes marketing dans la gestion d’un site Web

Ciblage quantitatif de la campagne marketing

Tables de références des campagnes


Ciblage quantitatif de la campagne marketing

Le ciblage quantitatif de la campagne marketing constitue le processus qui permet de spécifier le nombre de publicités à fournir (ciblage) dans un laps de temps déterminé. Vous pouvez définir un ciblage quantitatif en termes de clics sur une publicité ou de demandes pour une publicité. Vous pouvez définir des ciblages quantitatifs pour une campagne marketing au niveau de la campagne ou au niveau de la publicité.

  • Le ciblage quantitatif de niveau campagne permet d’appliquer les ciblages quantitatifs à tous les éléments de la campagne (publicités) d’une campagne marketing, en utilisant une distribution pondérée du nombre total des demandes.

    Supposons que vous définissiez un ciblage quantitatif au niveau de la campagne pour un client. Ce client vous donne deux publicités et commande 25 000 demandes de publicité. Au niveau de la campagne marketing, une publicité est définie pour afficher 60 pour cent des demandes de publicité et une autre publicité est définie pour afficher 40 pour cent des demandes de publicité. Si le client décide de changer le nombre de demandes de publicité pour passer à 40 000, vous n’avez pas à modifier manuellement le nombre d’affichages des publicités : les proportions de 60 % et de 40 % sont conservées.

  • Le ciblage quantitatif de niveau publicité permet d’appliquer les ciblages quantitatifs au niveau de l’élément de la campagne. Le nombre total de demandes pour la campagne marketing sera égal au nombre total de demandes commandées pour chaque élément de la campagne. Par exemple, un client commande 50 000 demandes à livrer en un mois. L’élément de publicité doit être livré 50 000 fois.

Vous pouvez permuter les ciblages quantitatifs de niveau campagne et de niveau publicité. Le ciblage quantitatif du niveau campagne marketing détermine comment le poids des publicités sera calculé. Par exemple, dans le Gestionnaire de campagnes, vous pouvez définir des ciblages quantitatifs au niveau de la campagne marketing et attribuer à chaque élément un poids équivalant à 1. Ensuite, vous pouvez changer le ciblage quantitatif en ciblage quantitatif de niveau publicité et commander d’autres demandes de publicité pour l’un des éléments de la campagne. La quantité totale commandée pour la campagne marketing comprend maintenant des demandes de publicité supplémentaires.

Si vous ajoutez une publicité à une campagne marketing qui est passée d’un ciblage quantitatif de niveau publicité à un ciblage quantitatif de niveau campagne marketing, le poids payé de toutes les publicités doit être modifié, faute de quoi la livraison des publicités sera erronée. Pour plus d’informations sur le passage d’un ciblage quantitatif de niveau campagne marketing à un ciblage de niveau publicité, consultez Changement entre le ciblage quantitatif de niveau campagne marketing et de niveau éléments de la publicité.

Voir aussi

Utilisation de campagnes marketing dans la gestion d’un site Web

Structure d’une campagne marketing

Tables de références des campagnes


Tables de références des campagnes

Le module Tables de références de Business Desk vous permet de définir les tailles du contenu affiché sur votre site, de gérer les noms des groupes de pages, ainsi que d’établir des codes d’activité que vous pouvez utiliser afin d’éviter l’affichage simultané sur une même page de deux publicités pour le même secteur d’activité. Les propriétés contenues dans le module Tables de références garantissent la cohérence du contenu publicitaire sur votre site.

  • Les tailles de contenu correspondent aux tailles que vous voulez attribuer à votre contenu (publicités et remises). Commerce Server 2002 fournit plusieurs tailles de contenu par défaut. Ces tailles de contenu proviennent d’une liste de tailles fréquemment utilisées approuvée par le bureau Internet Advertising Bureau (IAB). Les tailles de contenu sont validées par l’intermédiaire de la section Taille du contenu du module Tables de références.

    Les tailles de contenu des tables de références sont disponibles lorsque vous sélectionnez la taille souhaitée pour le contenu d’un élément de la campagne. Vous pouvez afficher, modifier et supprimer n’importe laquelle des tailles prédéfinies. Vous pouvez également créer une taille de contenu adaptée à vos besoins.

  • Les codes d’activité sont les codes de différents secteurs d’activité, par exemple le secteur automobile, aéronautique ou agroalimentaire. Les codes d’activité permettent d’identifier le secteur d’activité associé à une publicité, afin d’éviter que deux publicités de sociétés concurrentes d’un même secteur d’activité s’affichent sur la même page. Les codes d’activité ne s’appliquent pas aux remises.

    Vous pouvez mettre à jour vos codes d’activité, par exemple pour inclure plusieurs codes pour les boissons, tels qu’un code pour du café et un autre pour du lait, de sorte que des publicités pour différentes boissons puissent s’afficher sur la même page. Il est par exemple tolérable de mettre sur la même page une publicité pour du café et une publicité pour du lait. Vous pouvez définir le niveau d’analyse des conflits du secteur d’activité en contrôlant le nombre d’entrées de cette table.

    Commerce Server fournit plusieurs codes d’activité courants. Les codes d’activité utilisés dans les publicités sont validés par l’intermédiaire de la section Codes d’activité du module Tables de références. Les codes d’activité des tables de références sont disponibles lorsque vous sélectionnez le code d’activité souhaité pour un élément de la campagne. Vous pouvez afficher une liste de tous les codes d’activité disponibles, ajouter de nouveaux codes, modifier des codes existants et supprimer des codes de la section Codes d’activité du module Tables de références.

  • Les groupes de pages représentent des ensembles de pages Web apparentées, indiquées par un nom de groupe de pages particulier et qui sont utilisées pour le ciblage des publicités. Par exemple, pour le site d’un journal, vous pouvez créer un groupe de pages pour les sports, un autre pour les nouvelles principales et un autre pour les nouvelles locales. Vous pouvez ensuite cibler les publicités pour qu’elles s’affichent uniquement sur les pages de certains groupes de pages.

    Lorsque vous facturez à vos clients l’affichage de publicités sur votre site, vous pouvez établir les taux de publicité par groupe de pages. Par exemple, vous pouvez faire payer le montant maximal pour les publicités affichées sur votre page d’accueil, et un montant moins important pour les publicités affichées sur les autres pages.

    Remarque
    • Pour que vous puissiez utiliser un groupe de pages, vous devez préalablement activer la page pour la publicité. Pour connaître les instructions à suivre, consultez le Kit de développement de logiciel (SDK, Software Development Kit) de Commerce Server.

Voir aussi

Utilisation de campagnes marketing dans la gestion d’un site Web

Structure d’une campagne marketing

Ciblage quantitatif de la campagne marketing


Concepts des publicités

Commerce Server prend en charge deux types de publicités : les publicités payées et les publicités maison.

  • Les publicités payées sont un contenu que Commerce Server délivre en fonction d’une formule de livraison spécifique appelée estimation de livraison (EDL).
  • Les publicités maison sont un contenu fourni lorsque les publicités payées ont pris de l’avance sur leur planification d’estimation de livraison. Par exemple, un client commande 1 000 publicités payées à livrer sur quatre mois, mais au cours des deux premiers mois, la publicité a été affichée 850 fois. Dans ce cas, pour rééquilibrer la planification d’estimation de livraison, des publicités maison sont affichées.

    Les publicités maison sont essentielles pour garantir une livraison uniforme des publicités payées. Des publicités maison sont également affichées lorsque aucune publicité payée ne convient pour la demande. Par exemple, une publicité maison est affichée si aucune publicité payée ne convient à une cible donnée.

    Les publicités maison peuvent également permettre de vendre le stock invendu à prix réduit. Elles peuvent également être utilisées si les publicités du site n’ont pas de but de livraison spécifique, mais que vous souhaitez exécuter des publicités selon des poids spécifiés.

Cette section contient les rubriques suivantes :

  • Composants d’une publicité
  • Ciblage des publicités : poids et groupe cible
  • Traitement des publicités : infrastructure de sélection de contenu


Composants d'une publicité

Envoyer des commentaires sur cette page Commerce Server 2002

Composants d’une publicité

Dans Commerce Server, les publicités se composent de quatre éléments :

  • Les propriétés de la publicité correspondent au nom de la publicité, à son type (publicité payée ou publicité maison), à son poids ou au nombre de demandes ou de clics à livrer planifié (publicité payée et publicité maison), à sa limite d’affichage et au secteur d’activité qui y est associé.
  • La planification de la publicité correspond à la date/heure de début et la date/heure de fin. Vous pouvez sélectionner les jours de la semaine pendant lesquels la publicité doit être affichée, et les heures correspondant à chaque jour.
  • La cible publicitaire identifie les pages et les groupes cibles auxquels la remise doit être appliquée.
  • L’affichage de la publicité identifie la taille de la publicité, son type (par exemple, image, texte ou HTML), et si nécessaire, l’image et/ou l’adresse URL sur laquelle l’utilisateur peut cliquer pour aller sur une autre page (ou un autre site Web). Vous pouvez afficher les publicités sous forme d’images, de texte, de pages HTML, d’images non associées à un lien hypertexte, de publicités Acheter, de Services Windows Media ou de vignette. (Une vignette publicitaire est composée d’un texte affiché à côté de l’image correspondant à la publicité.)

Voir aussi

Ciblage des publicités : poids et groupe cible

Traitement des publicités : infrastructure de sélection de contenu


Ciblage des publicités: poids et groupe cible

Envoyer des commentaires sur cette page Commerce Server 2002

Ciblage des publicités : poids et groupe cible

Commerce Server vous permet de déterminer le moment où une publicité doit être affichée, son emplacement et son destinataire. Lorsque vous créez une publicité, vous spécifiez les éléments suivants :

  • Limite d’affichage. Nombre de fois où la publicité peut être affichée à un utilisateur au cours d’une session. Si votre site utilise des profils utilisateur pour stocker l’historique de la campagne marketing, la limite d’exposition est le nombre de fois où la publicité peut être présentée à l’utilisateur dans l’ensemble de ces sessions.
  • Poids. Moyen permettant de déterminer la fréquence à laquelle une publicité doit être affichée, par rapport à tous les éléments de la campagne d’un client donné. Dans une campagne marketing, le poids s’applique uniquement aux publicités dont le ciblage quantitatif a été défini au niveau de la campagne. Si les publicités ont un ciblage quantitatif de niveau élément, le poids n’est pas utilisé pour les publicités payées.

    Pour les publicités maison, le poids est déterminé en fonction de toutes les autres publicités maison pour tous les clients et toutes les campagnes marketing. Pour les publicités payées, le poids est déterminé en fonction des autres publicités payées de la même campagne marketing. Le poids d’un élément de la campagne est calculé par rapport au poids de tous les autres éléments de la campagne.

    Supposons que vous ayez quatre publicités pour vendre de la peinture et que vous définissiez le poids de la manière suivante :

    Publicité | Poids | Pourcentage d’affichage
    Peinture bleue | 1 | 10
    Peinture verte | 2 | 20
    Peinture rouge | 3 | 30
    Peinture jaune | 4 | 40
    Poids total | 10 | 100

    Le poids total de toutes les publicités est de 100 (10+20+30+40 = 100). La publicité pour la peinture bleue ayant un poids de 1, elle sera affichée une fois toutes les dix demandes de publicité.

    Pour les publicités payées, le poids correspond au rapport entre une publicité et la somme des éléments de la campagne de cette campagne marketing. Pour les publicités maison, le poids correspond à la somme des poids de toutes les autres publicités maison de la campagne marketing.

    Pour les publicités dont le ciblage quantitatif est défini au niveau de l’élément de la campagne, le poids n’est pas utilisé pour déterminer la livraison de la publicité. Vous spécifiez directement le nombre de demandes ou de clics à fournir.

  • Groupes de pages. Ensemble de pages Web apparentées, indiquées par un nom de groupe de pages particulier, et utilisées pour le ciblage des publicités. Par exemple, pour le site d’un journal, vous pouvez créer un groupe de pages pour les sports, un autre pour les nouvelles principales et un autre pour les nouvelles locales. Vous pouvez ensuite cibler les publicités pour qu’elles s’affichent uniquement sur les pages de certains groupes de pages.

    Les groupes de pages sont créés à l’aide du module Tables de références.

  • Groupes cibles. Ensemble de cibles où du contenu sera affiché. Par exemple, vous pouvez cibler des publicités pour des utilisateurs possédant des propriétés de profil spécifiques.

Voir aussi

Composants d’une publicité

Traitement des publicités : infrastructure de sélection de contenu


Traitement des publicités: infrastructure de sélection de contenu

Envoyer des commentaires sur cette page Commerce Server 2002

Traitement des publicités : infrastructure de sélection de contenu

L’infrastructure de sélection de contenu (CSF) traite les variables spécifiées pour une publicité : ciblage quantitatif de la campagne marketing, limite d’affichage, planification, poids, groupes de pages et groupes cibles. Chaque fois qu’un utilisateur visite votre site, l’infrastructure détermine si la publicité doit être affichée.

L’infrastructure de sélection de contenu pour la publicité utilise une formule appelée estimation de livraison (EDL) pour attribuer initialement aux publicités un score définissant leur état d’avancement par rapport à la planification. Cette formule tient compte de la quantité totale de contenu à livrer et de la période sur laquelle cette quantité doit être livrée. L’estimation de livraison est calculée par l’infrastructure de sélection de contenu pour chaque demande de publicité, une fois la demande de publicité traitée. L’estimation de livraison est appliquée aux publicités payées uniquement ; elle n’est pas appliquée aux publicités maison.

Si vous possédez plusieurs publicités et que vous vouliez savoir sur quelle base elles sont affichées, contactez votre développeur de site. Commerce Server comprend un outil appelé TraceScores que votre développeur de site peut utiliser pour suivre le processus de sélection. Utilisez TraceScores pour connaître le fonctionnement exact du processus de décision de contenu interne.

Si vous envisagez d’exécuter de nombreuses campagnes marketing simultanément, à l’aide du même groupe cible et de la même priorité, l’infrastructure de sélection de contenu (CSF) sélectionne la publicité à afficher en fonction de son type. Si les publicités sont des publicités maison, la sélection de publicité est effectuée de manière aléatoire en utilisant les poids comme probabilités relatives. Si les publicités sont des publicités payées, la sélection s’effectue en fonction du calcul de l’estimation de livraison (qui prend en compte la date de début, la date de fin, le nombre d’événements planifiés et le nombre d’événements qui se sont produits à ce jour). La pénalité d’historique peut modifier le score ; elle applique une pénalité décroissante aux publicités récemment affichées par l’utilisateur. Lorsque la pénalité d’historique est activée, les publicités font l’objet de « rotations » dans le temps.

Voir aussi

Composants d’une publicité

Ciblage des publicités : poids et groupe cible


Concepts des remises

Les remises constituent une partie cruciale du système de marchandisage de Commerce Server. La fonctionnalité de remises de Commerce Server donne au responsable de la campagne la possibilité de créer et de proposer des prix promotionnels sur des produits ou des groupes de produits à des utilisateurs répondant à des critères spécifiés. Vous pouvez appliquer des remises à tous les éléments de votre catalogue. Vous pouvez appliquer une remise sur une commande entière (remise au niveau de la commande) ou sur les articles spécifiques d’une commande (remise au niveau de l’article).

Cette section contient les rubriques suivantes :

  • Utilisation de remises dans la gestion d’un site Web
  • Priorité d’une remise
  • Conditions de remise
  • Avantages liés à la remise
  • Limites de remise
  • Remises distinctes
  • Remises conditionnées par un clic
  • Conditions d’éligibilité pour les remises
  • Remises multiples
  • Traitement des remises


Utilisation de remises dans la gestion d'un site Web

Envoyer des commentaires sur cette page Commerce Server 2002

Utilisation de remises dans la gestion d’un site Web

Commerce Server 2002 permet aux gestionnaires de campagnes d’appliquer plusieurs remises à un article ou à une commande et de conserver un contrôle sur l’ordre d’application des remises. Commerce Server 2002 offre également aux responsables de campagne la possibilité de combiner des remises au niveau de l’article et au niveau de la commande dans une même commande.

  • Les remises au niveau de la commande s’appliquent à tous les produits d’un panier d’achat. Par exemple, la livraison gratuite est un type de remise au niveau de la commande : vous pouvez accorder aux utilisateurs une livraison gratuite pour tous les produits de leur panier. Les remises au niveau de la commande fournies avec Commerce Server sont la livraison gratuite et une remise en pourcentage ou en euros sur le coût total.

    Pour offrir un autre type de remise au niveau de la commande, par exemple, une remise de 10 pour cent aux utilisateurs privilégiés, un développeur de site doit apporter des modifications personnalisées à votre site.

  • Les remises au niveau de l’article s’appliquent à des produits spécifiques du panier. Vous pouvez appliquer plusieurs remises à un seul élément de commande ou à une seule commande.

Vous pouvez utiliser Commerce Server pour créer et appliquer les types de remises suivants :

  • Les remises sur clic ne sont appliquées que si l’utilisateur clique sur l’adresse URL de la remise, qui peut être représentée par une image du produit indiquant, par exemple, « 10 pour cent de remise ». Les développeurs de site peuvent étendre ce type de remise à d’autres usages, tels que des coupons de réduction, que les utilisateurs doivent posséder pour bénéficier de la remise.
  • Les remises supplémentaires sont basées sur l’achat d’autres produits. Par exemple, lorsque les utilisateurs ajoutent un téléphone dans leur panier, lors de la totalisation de leurs achats, vous pouvez leur offrir un casque mains libres, qu’ils peuvent accepter en l’ajoutant dans leur panier. Vous pouvez également leur proposer un autre accessoire à un prix remisé.
  • Les remises en pourcentage réduisent le prix des produits en fonction d’un pourcentage, plutôt que d’un montant en euros. Par exemple, vous pouvez appliquer une remise de 10 pour cent à des produits, puis modifier le prix de ces produits, si besoin est. Lorsque vous modifiez le prix des produits, le montant de la remise est mis à jour automatiquement.
  • Les remises en euros réduisent le prix des produits selon un montant fixe. Par exemple, vous pouvez offrir une remise de 4,5 € sur certains produits. Même si vous modifiez le prix des produits, le montant de la remise (4,5 €) reste le même.
  • Les remises « planifiées » réduisent le prix des produits à certaines dates ou heures. Pour planifier l’application de remises à certaines heures, vous pouvez créer des expressions qui évaluent la propriété Heure actuelle. Par exemple si Heure actuelle > 17:00 et Heure actuelle < 21:00, vous appliquez une remise de 10 pour cent au produit.

Vous pouvez appliquer ces remises à des produits individuels, à tous les produits d’une catégorie ou vous pouvez créer une expression pour appliquer une remise aux produits répondant à des critères spécifiques, par exemple, offrir une remise de 10 pour cent sur tous les articles d’un fabricant particulier.

Vous pouvez par exemple créer des remises qui s’appliquent dans les situations suivantes :

  • Le prix du produit est supérieur à 22,45 €. Il s’agit d’une expression de condition de remise. Les expressions de condition de remise se basent sur une propriété de produit.
  • L’utilisateur achète 2 unités. Il s’agit d’un élément d’un critère de condition de remise requis.
  • L’utilisateur clique sur une publicité de remise dans la page des sports. Il s’agit de la partie de la remise sur clic.
  • L’utilisateur est inscrit. Il s’agit d’une expression d’éligibilité pour la remise. Les expressions d’éligibilité pour la remise sont basées sur les profils utilisateur et les profils de contexte.


Priorité d'une remise

Envoyer des commentaires sur cette page Commerce Server 2002

Priorité d’une remise

Vous attribuez à chaque remise une priorité qui détermine le moment où elle doit être appliquée, par rapport à d’autres remises qui peuvent également s’appliquer à un produit. (À la différence des publicités, les remises n’utilisent pas de poids pour déterminer le moment où elles sont appliquées.) Les remises sont appliquées par ordre de priorité, du plus petit au plus grand nombre. Par exemple, une remise assortie d’une priorité 10 s’appliquera avant une remise dont la priorité est 20. Cette règle reste vraie même si les remises s’appliquent au même article remise.

Supposons que le rayon boissons de votre boutique en ligne propose une offre spéciale pour l’été : pour un pack de jus de fruits acheté, le second est à moitié prix. Votre boutique en ligne propose en outre une autre offre spéciale : une remise de 10 pour cent sur tous les produits de la catégorie des boissons. Supposons que vous attribuiez des priorités à ces remises, comme l’illustre le tableau suivant.

Remise | Priorité
Pour un pack de jus de fruits acheté, le second est à moitié prix | 10
10 pour cent de remise sur tous les produits de la catégorie des boissons | 20

Si un utilisateur achète quatre packs de jus de fruits, les remises sont appliquées comme suit :

  • Pack 1 : Aucune remise
  • Pack 2 : 50 pour cent de remise
  • Pack 3 : Aucune remise
  • Pack 4 : 50 pour cent de remise, seulement si aucune limite n’a été fixée pour la remise « Pour un pack de jus de fruits acheté, le second est à moitié prix ». La remise de 50 pour cent s’appliquera de nouveau au lieu des 10 pour cent car vous lui avez attribué une priorité supérieure.

Si un article bénéficiant d’une remise reçoit plusieurs offres et que ces offres présentent le même niveau de priorité et le même type de remise (remise en pourcentage ou remise en euros), les remises seront combinées. Par exemple, dans le scénario suivant, deux remises seront combinées en une remise unique de 30 pour cent, car elles présentent le même niveau de priorité (10) et le même type de remise (remise en pourcentage au niveau de l’article).

Par exemple, vous créez deux remises en attribuant une priorité 10 à chacune d’elles, comme l’illustre le tableau suivant.

Remise | Priorité
Acheter un téléphone, obtenir 10 pour cent de réduction sur une radio. | 10
Acheter un jeu vidéo, obtenir 20 pour cent de réduction sur une radio. | 10

Les deux remises seront combinées en une remise unique de 30 pour cent, car elles présentent le même niveau de priorité (10) et le même type de remise (remise en pourcentage au niveau de l’article).

Panier de l’utilisateur :

Produit | Prix | Remise | Total ajusté
Téléphone | 40 |  | 40
Jeu vidéo | 50 |  | 50
Radio | 30 | 9 (30*.30) | 21
 |  | Total | 111

Les remises en euros fonctionnent de la même façon. Les remises seront combinées si les priorités sont les mêmes.

Si les remises ont la même priorité, mais ne sont pas du même type, le composant de pipeline OrderDiscount détermine le type de remise qui doit s’appliquer en premier. Pour plus d’informations sur le composant de pipeline OrderDiscount, consultez How Discounts are Applied Programmatically (en anglais).


Conditions de remise

La condition de remise (Acheter) spécifie si une remise sera proposée à l’utilisateur. La remise est fonction de ce que l’utilisateur achète. La condition Acheter doit être vraie pour permettre l’application de la remise. La condition est évaluée pour chaque article du bon de commande. Une condition peut être une expression spécifiant que la remise s’applique à un article en particulier ou à l’ensemble des articles. La condition Acheter inclut une propriété Acheter n’importe quoi, un type de condition, une valeur et une expression de catalogue.

  • Acheter n’importe quoi spécifie que si le panier contient un produit auquel vous pouvez associer un avantage, la remise s’appliquera toujours. Par exemple, achetez n’importe quoi et obtenez une ceinture gratuite. La propriété Acheter n’importe quoi indique également qu’un article du panier ne sera pas utilisé en tant que condition.
    • Si le panier est vide, la propriété Acheter n’importe quoi indique que les remises s’appliqueront toujours. « Acheter n’importe quoi » équivaut à « Acheter n’importe quel produit pour une quantité nulle (0) ».
  • Type de condition détermine le type de la condition Acheter. Il existe deux conditions Acheter pour une remise : quantité et valeur. Vous pouvez appliquer des remises en fonction de la quantité ou de la valeur des achats effectués par les utilisateurs. Par exemple, vous pouvez créer une remise qui s’applique lorsqu’un utilisateur achète trois packs de jus de fruits (quantité), ou une remise qui s’applique lorsqu’un utilisateur achète du jus de fruits pour une somme de 22,45 € (valeur).
  • Valeur de la condition spécifie la valeur en euros ou la valeur de l’unité de la condition.
  • Expression de catalogue est une expression basée sur le catalogue de produits. L’expression de catalogue s’évalue pour chaque article contenu dans le panier de l’utilisateur. L’expression doit prendre la valeur « True » au moins une fois pour que la remise s’applique. Vous trouverez ci-dessous des exemples d’expressions de catalogue dans la colonne Condition (Acheter) et les remises correspondantes dans la colonne Remise (Obtenir).
    Condition (Acheter) | Remise (Obtenir)
    Acheter un jean | Obtenir une chemise avec 50 pour cent de réduction
    Acheter deux produits de la catégorie Appareil photo numérique | Obtenir une pellicule avec 30 pour cent de réduction
    Acheter un des produits de la catégorie Appareil photo numérique
    OR
    acheter un caméscope     		Obtenir une radio avec 20 euros de réduction

La remise ne s’appliquera pas nécessairement, car la disponibilité de l’avantage lié à la remise n’est pas connue.

Les conditions cumulatives AND et OR sont toutes deux autorisées dans le générateur d’expressions de catalogue, mais seule la condition OR est prise en charge pour les remises. La condition AND n’est pas prise en charge et son utilisation est déconseillée.


Avantages liés à la remise

L’avantage lié à la remise (Obtenir) identifie ce que l’utilisateur reçoit. L’avantage lié à la remise inclut un type de cible, un type de valeur et une expression de catalogue.

  • Type de cible définit la cible de la remise. Il existe trois types de remises : les remises au niveau de l’article, les remises au niveau de la commande et les remises sur la livraison. La seule remise sur la livraison prise en charge par Commerce Server 2002 est la livraison gratuite. Pour permettre les variations en pourcentage et en euros de la remise sur la livraison, le développeur du site doit apporter des modifications personnalisées.
  • Type de valeur définit la valeur de la remise. Les valeurs de remise sont des remises en pourcentage ou en euros.

    Vous pouvez créer des remises en euros égales à zéro (0) ; cependant, Commerce Server 2002 ne prend pas en charge les remises en pourcentage égales à zéro (0).

  • Expression de catalogue applique l’avantage lié à la remise uniquement si l’expression prend la valeur « True ». L’expression de catalogue est basée sur le catalogue de produits. L’expression de catalogue de remise s’évalue pour chaque article contenu dans le panier de l’utilisateur. L’expression doit prendre la valeur « True » au moins une fois pour que la remise s’applique.

    Le tableau suivant montre quelques exemples d’expressions de catalogue.

    Condition (Acheter) | Remise (Obtenir) | Offre
    Acheter un jean | Obtenir un T-shirt col montant Lee | Avec 50 pour cent de réduction
    Acheter pour plus de 500 euros en une commande | Obtenir un pantalon de la catégorie Calvin Clean Blue Jean | Gratuit
    Acheter un caméscope modèle 123 Obtenir une carte de mémoire flash
    OR
    deux pieds de caméscope     		Avec 40 pour cent de réduction

Les conditions cumulatives AND et OR sont toutes deux autorisées dans le générateur d’expressions de catalogue, mais seule la condition OR est prise en charge pour les remises. La condition AND n’est pas prise en charge et son utilisation est déconseillée.

Vous pouvez récompenser l’utilisateur de différentes façons. Commerce Server prend en charge trois types de remises :

  • Les remises au niveau de l’article s’appliquent à des produits spécifiques du panier. Vous pouvez appliquer plusieurs remises à un seul élément de commande ou à une seule commande.
  • Les remises au niveau de la commande s’appliquent à tous les produits d’un panier d’achat.
  • Les remises sur la livraison s’appliquent aux frais de livraison que l’utilisateur doit acquitter pour que les articles qu’il a commandés lui parviennent à son adresse. La seule remise sur la livraison prise en charge par Commerce Server 2002 est la livraison gratuite. Pour permettre les variations en pourcentage et en euros de la remise sur la livraison, le développeur du site doit apporter des modifications personnalisées.

Cette section contient les rubriques suivantes :

  • Remise sur le sous-total de la commande
  • Livraison gratuite


Remise sur le sous-total de la commande

La remise sur le sous-total de la commande s’applique au sous-total de la commande. Le montant du sous-total est réparti entre les différents éléments de commande contenus dans le panier. Pour gérer correctement les remboursements, les gestionnaires de campagnes préfèrent répartir les remises au niveau de la commande sur les différents articles qui la composent. Commerce Server 2002 répartit les remises en pourcentage et les remises en euros.

Par exemple, un gestionnaire de campagnes offre une remise de 10 % à des clients privilégiés sur la commande suivante :

  • 4 livres à 25 € chacun = 100 €

Si la remise ne s’appliquait qu’au prix final, le reçu ressemblerait au suivant :

Article | Montant
Livre 1 | 25,00
Livre 2 | 25,00
Livre 3 | 25,00
Livre 4 | 25,00
Sous-total | 100,00
Remise | (10,00)
Total | 90,00

Dans cet exemple, un client retournant l’un des livres reçoit un remboursement total de 25 euros. Cependant, il n’a pas payé 25 euros pour chaque livre. Le prix effectivement payé par livre est de 22,50 €, compte tenu de la remise de 10 %. C’est pourquoi les gestionnaires de campagnes préfèrent répartir les remises au niveau de la commande sur les différents articles qui la composent.

Répartition des remises en pourcentage

L’exemple suivant illustre la répartition des remises en pourcentage entre les éléments de commande du panier. Dans cet exemple, un gestionnaire de campagnes offre une remise de 10 % à des clients privilégiés sur la commande suivante :

  • 4 livres à 25 € chacun = 100 €
Article | Montant
Livre 1 | 25,00
Remise | (2,50)
Sous-total | 22,50
Livre 2 | 25,00
Remise | (2,50)
Sous-total | 22,50
Livre 3 | 25,00
Remise | (2,50)
Sous-total | 22,50
Livre 4 | 25,00
Remise | (2,50)
Sous-total | 22,50
Total | 90,00

Le prix de vente final ne change pas. Toutefois, le prix ajusté de chaque article est enregistré à 22,50 €, ce qui reflète correctement la remise. Dans ce cas, un client renvoyant un article ne reçoit pas un montant de remboursement supérieur à la dépense réelle.

Les remises en pourcentage sont arrondies à deux chiffres après la virgule. Contactez votre développeur de site si vous souhaitez modifier le nombre de chiffres après la virgule.

Répartition des remises en euros

Pour répartir des remises en euros, le montant de chaque remise d’article est calculé et la remise est répartie entre les différents articles contenus dans le panier. Les remises en euros utilisent l’algorithme suivant :

ItemDiscount = Truncate(((ItemAdjustedPrice/OrderAdjustedSubtotal)*DiscountAmount),2);

qui équivaut à :

tronquer la valeur ItemAdjustedPrice/OrderAdjustedSubtotal à deux décimales, où ItemAdjustedPrice est le prix de l’article ajusté en fonction des remises appliquées avant la remise au niveau de la commande, et OrderAdjustedSubtotal est le sous-total de la commande ajusté en fonction des remises appliquées avant la remise au niveau de la commande.

Remarque

  • Les remises en euros sont arrondies à deux chiffres après la virgule.

L’exemple suivant illustre la répartition des remises en euros entre les éléments de commande du panier. Un gestionnaire de campagnes offre une remise de 25 euros à des utilisateurs privilégiés sur la commande suivante :

  • 2 chemises à 30 euros chacune ;
  • 2 pantalons à 50 euros chacun ;
  • 1 ceinture à 10 euros.

Vous trouverez ci-dessous un panier d’utilisateur avant l’application de la remise de 25 euros :

Panier de l’utilisateur

Article | Quantité | Prix unitaire | Total courant
Maillot | 2 | 30,00 | 60,00
Shorts | 2 | 50,00 | 100,00
Ceinture | 1 | 10,00 | 10,00
Total |  |  | 170,00

Vous trouverez ci-dessous un panier d’utilisateur après l’application de la remise de 25 euros :

Panier de l’utilisateur

Article | Prix unitaire | Remise | Prix ajusté
Premier maillot | 30,00 | 4,41 | 25,59
Deuxième maillot | 30,00 | 4,41 | 25,59
Premier short | 50,00 | 7,35 | 42,65
Deuxième short | 50,00 | 7,35 | 42,65
Ceinture | 10,00 | 1,47 | 8,52
Total | 170,00 | 24,99 | 145,00

Remarquez que la somme des remises équivaut à 24,99 euros, et non à la remise totale de 25 euros pour la commande.

Vous trouverez ci-dessous deux approches permettant de résoudre le problème d’arrondissement :

Approche 1 :

L’Approche 1 applique la différence au dernier article de la liste d’articles faisant l’objet d’une remise :

If (CurrentItem = LastItemThatCanReceiveADiscount)

If (TotalDiscountApplied < AwardAmount)

ItemDiscount = (AwardAmount – TotalDiscountApplied)

Remarque

  • Comme les valeurs sont tronquées, TotalDiscountApplied a toujours la valeur <=AwardAmount.

Approche 2 :

L’Approche 2 effectue les calculs suivants :

  1. Calculer le prix le plus bas en fonction des décimales. Par exemple, si le nombre de décimales équivaut à deux, alors le prix le plus bas possible est 0,01 €.
  2. Ajouter d’abord le « prix le plus bas » aux remises accordées sur les articles, en commençant par les articles les plus chers. Si deux articles ont le même « prix le plus cher », accorder la remise à celui qui possède le « numéro d’index le plus bas dans le panier ».
  3. Soustraire ce montant de la remise erronée.
  4. Répéter les étapes 2 et 3 jusqu’à ce que la remise erronée soit égale à zéro (0).

L’exemple suivant illustre l’application de la remise de 25,00 € à l’aide de l’Approche 1.

  • 2 chemises à 30 euros chacune ;
  • 2 pantalons à 50 euros chacun ;
  • 1 ceinture à 10 euros.

Panier de l’utilisateur

Article | Prix unitaire | Remise | Prix ajusté
Premier maillot | 30,00 | 4,41 | 25,59
Deuxième maillot | 30,00 | 4,41 | 25,59
Premier short | 50,00 | 7,35 | 42,65
Deuxième short | 50,00 | 7,35 | 42,65
Ceinture | 10,00 | 1,48 | 8,52
Total | 170,00 | 25,00 | 145,00

Dans l’exemple ci-dessus, la ceinture est le dernier article pouvant recevoir une remise. Par conséquent, la remise erronée de 0,01 € est ajoutée à celle de la ceinture pour un total de 1,48 € (1,47 + 0,01), ce qui entraîne une remise totale de 25,00 € pour la commande.

Voici un autre exemple illustrant l’application des remises en euros à l’aide de l’Approche 1.

  • Acheter n’importe quoi
  • Obtenir une remise de 5 euros au niveau de la commande

Panier de l’utilisateur

Numéro d’index dans le panier | Article | Prix unitaire | Remise | Prix ajusté
1 | Article 1 | 7,50 | 2,49 | 5,01
2 | Article 1 | 7,50 | 2,49 | 5,01
3 | Article 3 | 0,01 | 0,00 | 0,01
Total |  | 15,01 | 4,98 | 10,03

Dans cet exemple, remarquez que la somme des remises équivaut à 4,98 euros, et non à la remise totale de 5 euros pour la commande.

L’exemple suivant illustre l’application de la remise de l’exemple ci-dessus à l’aide de l’Approche 1.

Panier de l’utilisateur

Numéro d’index dans le panier | Article | Prix unitaire | Remise | Prix ajusté
1 | Article 1 | 7,50 | 2,49 | 5,01
2 | Article 1 | 7,50 | 2,51 | 4,99
3 | Article 3 | 0,01 | 0,00 | 0,01
Total |  | 15,01 | 5,00 | 10,01

Dans l’exemple ci-dessus, l’article 1 portant le numéro d’index 2 dans le panier est le dernier à pouvoir bénéficier d’une remise (l’article 3 ne peut pas recevoir de remise de 0,02 €, car son prix est de 0,01 € seulement). Par conséquent, la remise erronée de 0,02 € est ajoutée à celle de l’article 1 portant le numéro d’index 2 dans le panier pour un total de 2,51 €, ce qui entraîne une remise totale de 5,00 € pour la commande.

Vous trouverez ci-dessous quelques références relatives à l’utilisation de l’Approche 1 :

  • Les numéros d’index 1 et 2 dans le panier contiennent le même nombre d’articles (du même prix). Cependant, leurs remises sont différentes.
  • Aucune remise n’est appliquée à l’article 3.
  • Comme les articles 1 et 2 ont le même prix, si l’article 1 est renvoyé, remboursez-vous à l’utilisateur 5,01 € ou 4,99 € ?

L’exemple suivant illustre l’application de la remise de l’exemple ci-dessus à l’aide de l’Approche 2.

Panier de l’utilisateur

Numéro d’index dans le panier | Article | Prix unitaire | Remise | Prix ajusté
1 | Article 1 | 7,50 | 2,50 | 5,00
2 | Article 1 | 7,50 | 2,50 | 5,00
3 | Article 3 | 0,01 | 0,00 | 0,01
Total |  | 15,01 | 5,00 | 10,01

Le prix ajusté de chaque article est enregistré et l’utilisateur recevra la remise de 5,00 €. Les articles portant les numéros d’index 1 et 2 dans le panier reçoivent la même remise. Par conséquent, si un des articles est renvoyé, le remboursement est identique pour chacun.

Remarque

  • Dans l’exemple ci-dessus, le composant de pipeline OrderDiscountApply est utilisé pour appliquer la remise. Pour plus d’informations sur le composant OrderDiscountApply, consultez la rubrique « OrderDiscount » du Programmer’s Reference (en anglais) de l’aide de Commerce Server 2002.

Voir aussi

Traitement des remises

Composants d’une remise

Création d’une remise


Livraison gratuite

La propriété Livraison gratuite applique la livraison gratuite en tant qu’avantage lié à la remise pour tous les produits commandés. Les remises sur la livraison peuvent être assimilées à une remise au niveau de la commande, puisqu’elles s’appliquent à l’ensemble d’une commande et non au niveau d’un article donné. Pour permettre les variations en pourcentage et en euros de la remise sur la livraison, le développeur du site doit apporter des modifications personnalisées.

Dans la table order_discount, qui sert à stocker toutes les remises, il existe deux propriétés de la remise : b_disc_order_level_discount et u_disc_special_offer_type. Ces deux propriétés de la remise permettent de différencier les remises au niveau de la commande des remises sur la livraison.

Adresses de livraison multiples

Commerce Server 2002 prend en charge les adresses de livraison multiples. Par exemple, un utilisateur peut acheter un certain nombre d’articles et les faire livrer à plusieurs adresses.

Article | Quantité | Prix unitaire | Total courant | Adresse de livraison
Pendentif en argent | 2 | 30 | 60 | Jean Utilisateur 6, rue des Vendangeurs 51200 Épernay
Voiture de course miniature | 2 | 50 | 100 | Jacques Utilisateur 6, place de la Libération 07200 Aubenas
Total |  |  | 160 |

Remises sur la livraison et stratégies d’interaction

L’exemple suivant explique en quoi les stratégies d’interaction de la remise sur la livraison et de la remise au niveau de la commande sont liées.

Remise | Condition (Acheter) | Remise (Obtenir) | Priorité
Remise 1 | Acheter pour un sous-total de commande supérieur à 300 euros | Obtenir une remise au niveau de la commande de 20 euros | 10
Remise 2 | Acheter un caméscope | Obtenir la livraison gratuite | 20

Le panier de l’utilisateur contient les articles suivants :

Article | Quantité | Prix unitaire | Total courant
Caméscope | 1 | 200,00 | 200,00
Appareil photo numérique | 1 | 300,00 | 500,00
Total |  |  | 700,00

La remise 1 s’appliquera en premier, car elle est assortie d’une priorité 10. La remise sur la livraison étant une remise cumulative, elle est liée à la remise au niveau de la commande à l’aide des stratégies d’interaction courantes de Commerce Server pour les remises. Par conséquent, la remise 1 bloque les autres avantages et la remise 2 ne sera pas appliquée.


Limites de remise

Vous pouvez limiter le nombre de remises applicables à un panier. Si la valeur de la limite de remise est égale à zéro (0), les remises sont illimitées : la remise peut être appliquée plusieurs fois, si les conditions requises sont satisfaites à plusieurs reprises dans le panier. Une limite de remise est spécifique à un panier et ne s’applique pas à un ensemble de paniers. Par exemple, si un utilisateur valide ses achats, revient sur le site et achète les mêmes articles remisés, il bénéficie de la même remise.


Remises distinctes

Les remises distinctes sont des remises qui s’appliquent si les clauses Obtenir et Acheter font référence au même produit. Cette propriété détermine si l’article condition doit être réutilisé en tant qu’avantage lié à la remise. Les deux remises distinctes sont :

  • Appliquer l’offre à la réservation du produit uniquement. La condition Acheter ne peut pas être réutilisée comme remise. Utilisée par les chefs d’entreprise pour promouvoir modérément un produit.
  • Appliquer l’offre à la réservation et à l’achat du produit. La condition Acheter peut être réutilisée comme remise. Utilisée par les chefs d’entreprise pour promouvoir un produit de manière agressive.

La remise suivante donnera des résultats différents en fonction de la remise distincte que vous sélectionnez. Les résultats du panier sont affichés pour chaque remise distincte :

Condition : Acheter deux maillots unisexe.

Remise : Obtenir une chemise unisexe avec 40 pour cent de réduction.

Remises distinctes : Appliquer l’offre à la réservation du produit uniquement.

Le panier suivant affiche une remise de 40 pour cent sur le troisième maillot unisexe du panier. La propriété de remise distincte Appliquer l’offre à la réservation du produit uniquement a été sélectionnée ; par conséquent, l’article condition n’a pas pu être réutilisé comme remise. Les premier et deuxième maillots ont été utilisés comme condition ; en outre, la remise de 40 pour cent est appliquée au troisième maillot unisexe. Le quatrième maillot ne bénéficie d’aucune condition ou remise.

Panier de l'utilisateur

Condition : Acheter deux maillots unisexe.

Remise : Obtenir une chemise unisexe avec 40 pour cent de réduction.

Remises distinctes : Appliquer l’offre à la réservation et à l’achat du produit.

Le panier suivant affiche une remise de 40 pour cent sur les deuxième et quatrième maillots unisexe du panier. La propriété de remise distincte Appliquer l’offre à la réservation et à l’achat du produit a été sélectionnée ; par conséquent, les articles condition ont été réutilisés comme remise. Les premier et deuxième maillots unisexes du panier ont été utilisés comme condition et le deuxième maillot a bénéficié d’une remise de 40 pour cent. Les troisième et quatrième maillots du panier ont été utilisés comme condition et le quatrième maillot a bénéficié d’une remise de 40 pour cent.

Panier de l'utilisateur


Remises conditionnées par un clic

Si la propriété de remise conditionnée par un clic a la valeur « True », l’utilisateur doit cliquer sur la publicité associée à la remise pour pouvoir bénéficier de cette remise. Cette propriété lie les fonctionnalités de publicité et de marchandisage de votre activité commerciale.


Conditions d'éligibilité pour les remises

Envoyer des commentaires sur cette page Commerce Server 2002

Conditions d’éligibilité pour les remises

Les conditions d’éligibilité spécifient à qui s’applique une remise. Les conditions d’éligibilité sont des expressions de ciblage. Si l’expression de ciblage prend la valeur « True », la remise est appliquée. Par exemple, si sport favori = escalade, appliquer la remise.

Les conditions d’éligibilité sont créées à l’aide des propriétés de contexte, telles que Objet utilisateur, Contexte de ciblage et Évaluateur Intrinsics (données actuelles, heure actuelle). En créant une expression de ciblage, vous pouvez cibler les utilisateurs qui recevront cette remise. Par exemple, vous pouvez cibler les utilisateurs mélomanes et leur offrir une remise de 20 pour cent sur un CD de Jazz.

Vous pouvez également utiliser des groupes cibles pour déterminer les utilisateurs auxquels vous allez afficher une remise.


Remises multiples

Vous pouvez créer plusieurs remises à l’aide de stratégies d’interaction des remises. Les stratégies d’interaction des remises sont des règles qui déterminent si un article peut faire l’objet de plusieurs remises ou bénéficier de plusieurs avantages. Commerce Server prend en charge quatre stratégies d’interaction différentes pour les remises.

  • Un article condition peut être réutilisé pour une autre offre. Indique à Commerce Server qu’un article servant de condition pour pouvoir bénéficier d’une offre peut être réutilisé pour bénéficier d’une autre offre.
  • Un article condition peut être réutilisé comme article remise. Indique à Commerce Server qu’un article servant de condition pour pouvoir bénéficier d’une remise peut toujours être éligible pour recevoir une offre.
  • Un article remise peut être réutilisé comme article condition. Indique à Commerce Server qu’un article ayant fait l’objet d’une remise peut toujours servir à se qualifier pour d’autres offres.
  • Un article remise peut être réutilisé pour une autre offre. Indique à Commerce Server qu’un article ayant fait l’objet d’une remise peut recevoir d’autres offres ; par exemple, un article peut bénéficier de plusieurs avantages.

Les quatre stratégies d’interaction pour les remises peuvent toutes être sélectionnées en même temps. Ensemble, elles vous permettent de mieux contrôler la façon dont les remises sont appliquées.


Traitement des remises

Le pipeline de sélection de contenu pour les remises et le composant de pipeline OrderDiscount servent à traiter les remises. Le pipeline de sélection de contenu pour les remises vous permet d’afficher la remise la plus appropriée à un utilisateur. Le composant OrderDiscountApply contenu dans le pipeline Panier vous permet d’appliquer des remises au panier d’achat.

  • Le pipeline de sélection de contenu pour les remises vérifie les dates de début et de fin des remises, puis ajuste les scores figurant dans la liste des remises possibles. Il garantit que les remises les plus appropriées pour l’utilisateur en cours reçoivent la priorité la plus élevée.
  • Le composant de pipeline OrderDiscount applique d’abord les conditions préalables aux remises disponibles. En fonction de la remise concernée, il utilise les informations de profil utilisateur et de profil de contexte pour évaluer les expressions de ciblage. En outre, si une remise nécessite qu’un clic soit effectué, il vérifie la liste des identificateurs des éléments de la campagne de tous les éléments sur lesquels un clic a été exécuté. Ensuite, le pipeline OrderDiscount traite chaque élément, en testant les conditions et les remises. Les remises sont appliquées par ordre de priorité, de la plus élevée à la moins élevée. Si deux remises ont la même priorité, les propriétés qui ne sont pas de type prioritaire déterminent l’ordre d’application des remises.


Concepts du publipostage

Vous créez un publipostage pour diffuser des publicités sous forme de messages électroniques à un groupe d’utilisateurs ciblé. L’objectif est d’obtenir un taux de réponse élevé à ces publipostages. Vous pouvez envoyer des messages électroniques personnalisés à partir d’une page Web, ou des messages non personnalisés à partir d’un fichier texte simple. Vous pouvez créer des messages de publipostage qui comprennent des pièces jointes, telles que des images, remises ou adresses URL. Le service de publipostage est conçu pour envoyer en bloc des messages électroniques personnalisés à des millions d’utilisateurs.

Cette section contient les rubriques suivantes :

  • Vue d’ensemble de la création de publipostage
  • Listes des annulations d’abonnements
  • Traitement du publipostage


Vue d'ensemble de la création de publipostage

Envoyer des commentaires sur cette page Commerce Server 2002

Vue d’ensemble de la création de publipostage

Vous créez un publipostage pour diffuser des publicités sous forme de messages électroniques à un groupe d’utilisateurs ciblé. L’objectif est d’obtenir un taux de réponse élevé à ces publipostages. Vous pouvez envoyer des messages électroniques personnalisés à partir d’une page Web, ou des messages non personnalisés à partir d’un fichier texte simple. Vous pouvez créer des messages de publipostage qui comprennent des pièces jointes, telles que des images, remises ou adresses URL. Le service de publipostage est conçu pour envoyer en bloc des messages électroniques personnalisés à des millions d’utilisateurs.

Pour créer un publipostage, vous devez utiliser le module Gestionnaire de campagnes dans Business Desk. Le publipostage est traité par le service de publipostage, qui est un puissant moteur capable d’envoyer un grand nombre de messages électroniques très rapidement.

Pour créer un publipostage, vous devez effectuer les étapes suivantes :

  • Créer le message. Pour pouvoir créer des messages électroniques personnalisés, votre développeur de site doit au préalable créer des pages ASP comportant le texte personnalisé, puis les ajouter au serveur Web. Il doit vous donner l’adresse URL correspondant à l’emplacement des pages ASP. Pour créer un message non personnalisé, vous pouvez taper le texte dans un fichier texte simple, par exemple, à l’aide du Bloc-notes.
  • Créer et planifier la campagne de publipostage. Utilisez le module Gestionnaire de campagnes pour spécifier le nom de la campagne marketing, le nom de la liste de destinataires, l’heure et la date de début de l’élément de la campagne, ainsi que l’adresse URL (pour les messages personnalisés) ou le fichier statique où le service de publipostage doit trouver le corps du message.

Voir aussi

Listes de publipostage

Importation d’une liste de publipostage

Listes des annulations d’abonnements

Traitement du publipostage


Listes des annulations d'abonnements

Envoyer des commentaires sur cette page Commerce Server 2002

Listes des annulations d’abonnements

Le service de publipostage prend en charge la fonctionnalité d’annulation d’abonnement. Pour les travaux de publipostage s’exécutant dans le cadre d’un élément de la campagne, les destinataires individuels peuvent demander d’annuler l’abonnement à un élément de la campagne de publipostage. La page ASP d’annulation d’abonnement permet aux utilisateurs de s’ajouter à une liste des annulations d’abonnement.

La page exemple ASP d’annulation d’abonnement est utilisée conjointement avec la page exemple ASP ServiceReminder, qui est utilisée pour créer le contenu de publipostage. Lorsqu’il est implémenté, ce fichier ASP envoie des messages électroniques personnalisés rappelant à chacun de vos clients de venir sur votre site Web pour afficher de nouveaux produits. Ce fichier ASP comprend également un lien d’annulation d’abonnement s’ils souhaitent être supprimés de la liste de publipostage.

Le développeur chargé de créer la page ASP pour les travaux de publipostage à partir du serveur Web peut fournir des liens vers une page ASP d’annulation d’abonnement, permettant ainsi au destinataire d’annuler son abonnement à tous les publipostages du site ou à l’élément de la campagne de publipostage en cliquant sur le lien approprié. Lorsqu’un travail du service de publipostage s’exécute dans le cadre d’un élément de la campagne, le service de publipostage recherche la présence de la liste des annulations d’abonnements au niveau du site et de celle au niveau de l’élément de la campagne. Si l’une des listes existe, ses articles sont retirés de la liste de publipostage d’origine laissant ainsi à la liste résultante le rôle de nouvelle liste de publipostage.

Voir aussi

Vue d’ensemble de la création de publipostage

Traitement du publipostage


Traitement du publipostage

Le service de publipostage fournit une interface de ligne de commande qui permet de créer, d’exécuter, d’analyser et de supprimer des travaux du service de publipostage, mais également d’effectuer des tâches de démarrage et de récupération de travaux. Pour configurer les propriétés du service de publipostage, vous devez utiliser le Gestionnaire Commerce Server.

Le service de publipostage effectue les tâches suivantes :

  • Il gère les travaux de publipostage.
  • Il élabore les corps de messages personnalisés et non personnalisés.
  • Il met en forme les en-têtes de messages électroniques.
  • Il définit la valeur de la page de codes (langue) et convertit les corps de messages selon le type de message correct : MHTML (MIME Encapsulation of Aggregate HTML Documents), MIME (Multipurpose Internet Mail Extensions) ou texte.
  • Il envoie des messages électroniques aux destinataires.

Le pipeline du service de publipostage sert à traiter des listes de destinataires. Vous pouvez ajouter de nouveaux composants au pipeline, intégrer les composants à des systèmes professionnels de gestion d’activité ou les remplacer par des composants de fournisseurs tiers.

La figure suivante montre comment, via Commerce Server 2002 Enterprise Edition, vous pouvez collecter des informations sur les utilisateurs qui visitent votre site, importer ces données dans le Data Warehouse, exécuter des rapports pour identifier les cibles d’une campagne de publipostage, puis exporter ces données vers le Gestionnaire de listes. Lorsque vous créez votre campagne de publipostage, le travail de publipostage est exécuté par le service de publipostage.

Figure illustrant le traitement du publipostage

Voir aussi

Campagnes marketing Business Desk

Exécution du service de publipostage

Working with Pipelines (en anglais)

Extending the Content Selection Framework (en anglais)

Concepts de ciblage et de personnalisation


Concepts de gestion des commandes

Lorsqu’un utilisateur achète un produit de votre site Web, Commerce Server crée une commande. La commande est traitée par le pipeline de traitement des commandes de Commerce Server qui décompose le traitement des commandes en étapes représentant une catégorie de travail. Un pipeline de traitement des commandes classique comprend une étape d’information sur le client, une étape de paiement et une étape de livraison. Par exemple, la description du produit et l’adresse de livraison de l’utilisateur sont récupérées à partir de la base de données Commerce Server et le montant des taxes est calculé. Les informations sur la commande et le prix total sont stockés dans les tables des transactions de la base de données Commerce Server.

Cette section contient les rubriques suivantes :

  • Traitement des commandes
  • Objets OrderGroup, OrderForm et OrderGroupManager
  • Codes de statut de la commande


Traitement des commandes

La figure suivante présente les composants du pipeline de traitement des commandes ainsi que leur interaction lorsqu’un utilisateur ajoute un article au panier, puis passe à la validation, reçoit une remise et enregistre la commande dans les tables de transactions de la base de données Commerce Server (ou de la base de données des commandes dans un environnement distribué).

Figure illustrant les composants du pipeline de traitement des commandes

Si votre site utilise BizTalk Server, la commande peut être envoyée à un fournisseur pour qu’il la remplisse. Pour obtenir des informations détaillées sur l’utilisation de BizTalk Server avec Commerce Server, consultez « Integrating with BizTalk Server » (en anglais) dans l’aide de Commerce Server 2002.

Vous pouvez utiliser Commerce Server Pipeline Editor pour modifier le pipeline de traitement des commandes afin de mieux répondre aux besoins de votre site. Par exemple, vous pouvez ajouter des composants de crédit tiers qui valident la carte de crédit.


Objets OrderGroup, OrderForm et OrderGroupManager

L’objet OrderGroup est utilisé dans Commerce Server 2002 pour stocker, calculer et accéder aux informations sur les paniers et les commandes d’un site. L’objet OrderGroupManager fonctionne conjointement avec l’objet OrderGroup pour permettre la recherche et d’autres opérations de gestion des commandes.

L’objet OrderForm est un dictionnaire contenant des entrées individuelles et des entrées qui sont des objets Dictionary et SimpleList. La structure permet de présenter une synthèse détaillée de l’ensemble ou d’une partie d’une ou plusieurs sessions d’achat à l’utilisateur, ou encore au pipeline de traitement des commandes. Cette synthèse comprend des données telles que des informations sur les noms, adresses et cartes de crédit, ainsi que des informations sur le produit liées à l’achat.

Le diagramme suivant illustre la relation de l’objet OrderGroup et de l’objet OrderForm l’un par rapport à l’autre, ainsi qu’avec les dictionnaires Addresses et LineItem.

Un objet OrderGroup décrit les informations sur les commandes. Il regroupe les bons de commandes et fournit des opérations ainsi que des totaux agrégés. L’objet OrderGroup effectue la liaison vers un ou plusieurs objets OrderForm, et vers un ou plusieurs dictionnaires Address.

L’objet OrderForm spécifie les informations d’en-têtes d’une commande, telles que le total de livraison, le total des taxes, ainsi que d’autres données nécessaires au traitement de la commande. L’objet OrderForm référence un ou plusieurs dictionnaires LineItem, qui décrivent les produits spécifiques à acheter. Le dictionnaire Addresses spécifie les informations sur les adresses de facturation et de livraison pour les bons de commande. Chaque objet OrderForm spécifie généralement une valeur billing_address_id, et chaque élément de commande spécifie une valeur shipping_address_id.

La figure suivante présente les composants de l’objet OrderForm.

L’objet OrderGroup contient souvent un seul objet OrderForm, mais si vous souhaitez que vos utilisateurs achètent des articles auprès de plusieurs fournisseurs, la fonctionnalité d’objets OrderForm multiples de l’objet OrderGroup vous permet de préserver les distinctions entre les fournisseurs tout en autorisant une expérience d’achat unifiée pour l’utilisateur.

L’objet OrderGroup contient couramment les objets suivants :

  • Dictionnaires Address. Ces dictionnaires spécifient les informations sur les adresses de facturation et de livraison pour les bons de commande.
  • Objets OrderForm. Ces objets contiennent un objet SimpleList appelé Items comprenant les dictionnaires Item dans lesquels se trouvent les informations sur les éléments de la commande.
  • Items SimpleLists. Items SimpleLists contient les dictionnaires Item.
  • Dictionnaires Item. Ces dictionnaires spécifient le contenu des éléments de la commande dans un bon de commande. Un objet OrderForm représentant les informations utilisées pour traiter le bon de commande référence zéro ou plusieurs dictionnaires Item par le biais de la liste Items.


Codes de statut de la commande

L’objet OrderGroup représente une unité d’achat et possède un statut spécifique. Ce statut est stocké dans OrderGroup.value("order_status_code") et indique si l’objet OrderGroup représente un panier (1), une commande enregistrée ou un modèle (2), une nouvelle commande (4), etc.

Vous pouvez créer de nouveaux codes de statut à l’aide des modules Commandes de Commerce Server Business Desk. Par exemple, vous pouvez créer des valeurs de statut Accepté, Annulé, etc. Les codes de statut de ces valeurs doivent avoir pour valeur des nombres à la puissance 2 (par exemple : 8, 16, 32).

Les codes de statut de commande suivants sont fournis par défaut :

  • Statut Panier. Le statut Panier indique un objet OrderGroup qui est en passe d’être assemblé et vérifié avant la soumission de la commande. Ce statut porte le code 1.
  • Statut Modèle (statut Commande enregistrée). L’objectif du statut Modèle consiste à faciliter les achats répétitifs, par exemple sur le site d’un grossiste où les mêmes articles sont commandés chaque semaine. Ce statut équivaut au statut Commande enregistrée. Il porte le code de statut 1.
  • Statut Nouvelle commande. Le statut Nouvelle commande indique une commande qui a été soumise pour subir un traitement supplémentaire (généralement suite à un clic sur le bouton Soumettre la commande par l’utilisateur). Ce statut porte le code 4.


Concepts de solution internationale

Internet est un marché mondial, ce qui signifie que vos activités d’e-commerce sont internationales même si vous n’avez pas l’intention que ce soit le cas. Pour faire de votre site Web Commerce Server 2002 un site mondial, vous devez déterminer la façon de présenter vos activités commerciales aux utilisateurs internationaux.

Lorsque des utilisateurs parcourent votre site, les caractères qu’ils entrent dans leur navigateur sont déterminés par les options régionales définies sur leur ordinateur. Ces paramètres contrôlent les caractères enregistrés par les entrées sur le clavier, ainsi que la représentation des symboles spéciaux, tels que la devise et les séparateurs décimaux. Par exemple, si vous tapez sur la touche « ; » sur un ordinateur doté d’un clavier anglais et dont les paramètres régionaux d’entrée correspondent à Anglais (États-Unis), vous obtenez un point-virgule. Si, sur le même ordinateur doté d’un clavier anglais, vous changez les paramètres régionaux d’entrée en définissant Espagnol (Mexique) à la place, lorsque vous tapez sur la touche « ; », vous obtenez le caractère « ñ » (eña).

La planification d’une solution s’adressant à des utilisateurs internationaux nécessite le développement d’un système conciliant les différents paramètres régionaux. Vous avez besoin d’un procédé pour présenter les données et accepter les entrées utilisant les paramètres régionaux propres à l’utilisateur. Dans Commerce Server 2002, le système de catalogue de produits est conçu pour prendre en charge plusieurs langues dans un catalogue unique. Pour plus d’informations sur les techniques de développement de solutions internationales, consultez Developing an International Site (en anglais).

Le processus d’internationalisation d’un site est décrit dans cette section par l’intermédiaire d’un scénario fictif. Bien que ce scénario illustre de nombreux principes de développement d’une solution internationale, il ne s’agit nullement de la seule approche possible en la matière.

Cette section contient les rubriques suivantes :

  • Synthèse des fonctionnalités pour les solutions internationales. Présente une synthèse des fonctionnalités du développement d’une solution internationale.
  • Tâches de développement, d’administration et de gestion pour les solutions internationales. Présente une synthèse des tâches qu’il peut s’avérer nécessaire d’effectuer pour créer votre solution internationale.
  • Synthèse pour les scénarios internationaux. Présente une synthèse des scénarios d’entreprise fictifs permettant de créer un site unique pour tous les utilisateurs internationaux.
  • Transactions internationales. Décrit un scénario d’entreprise fictif présentant la façon dont deux types de conversion de devise peuvent être appliqués pour prendre en charge les transactions impliquant plusieurs devises.
  • Catalogues internationaux. Décrit un scénario d’entreprise fictif présentant la façon dont les fonctionnalités multilingues et multidevises peuvent être appliquées pour fournir le contenu de catalogue adéquat.
  • Campagnes marketing internationales. Décrit un scénario d’entreprise fictif présentant la façon dont deux zones du système de ciblage de Commerce Server peuvent être appliquées pour afficher des informations culturellement pertinentes sur la campagne marketing.
  • Livraisons internationales. Décrit un scénario d’entreprise fictif présentant la mise en oeuvre possible de remise d’informations sur la livraison dans des paramètres régionaux particuliers.


Synthèse des fonctionnalités pour les solutions internationales

Vous créez une solution internationale avec Commerce Server 2002 en effectuant les opérations suivantes :

  • modification du code de votre site existant ;
  • création d’un site conçu dès le début pour être international ;
  • utilisation du site International Retail comme point de départ ;
  • configuration des ressources de site et définition des processus commerciaux.

Les mini-sites inclus dans le Kit de développement de logiciel (SDK) de Commerce Server 2002 et le site International Retail proposent, pour tous ces cas de figure, des exemples et fournissent des instructions qui vous serviront de base pour votre travail.

Les mini-sites contenus dans le Kit de développement de logiciel (SDK) fournissent des exemples sur la façon de modifier le code du site. Pour plus d’informations sur les mini-sites Commerce Server 2002, consultez ASP.NET Samples (en anglais).

Le site International Retail Site (rubrique en anglais) fournit un point de départ pour les nouvelles implémentations internationales. L’utilisation de ce site comme point de départ est le moyen le plus rapide pour produire un site international totalement opérationnel.

Le tableau suivant récapitule les nombreuses facettes du développement d’une solution internationale. Il est classé en fonction des systèmes Commerce Server et décrit les diverses fonctionnalités qui sont concernées par les aspects internationaux.

Système | Fonctionnalité | Informations de synthèse
Catalogue de produits | Catalogues multilingues | Vous pouvez partager un catalogue de produits commun ayant des informations en plusieurs langues en ajoutant des propriétés multilingues pour chaque langue que vous prenez en charge sur votre site. Vous pouvez par exemple définir une propriété multilingue pour une description de produit. Le champ Nom complet de cette propriété contiendrait alors « Description » en anglais et « Beschreibung » en allemand (ce qui signifie « Description » en allemand).
Catalogues multidevises Vous pouvez définir une devise de base par catalogue. Pour définir le prix des produits dans d’autres devises, appliquez une règle de tarification ou ajoutez des propriétés de devise supplémentaires.

Remarque

  • Le type de données MONEY utilisé pour la devise ne prend en charge que quatre chiffres après la virgule.
Profil | Entrées du glossaire du site | Vous devez créer des entrées du glossaire du site uniques pour chaque langue que vous prenez en charge. Par exemple, si vous créez une entrée du glossaire du site pour « Favorite Sport » en anglais, vous devez également créer une entrée du glossaire du site « Deporte Favorito » en espagnol, si vous prenez en charge l’espagnol sur votre site Web. Vous trouverez ces informations dans le Kit de Ressources Techniques Commerce Server 2000, dans la section concernant l’exemple d’implémentation de site international « Au Péché mignon ». La documentation en ligne se trouve à l’adresse suivante : http://go.microsoft.com/fwlink/?LinkId=5595.
Propriétés de profil Vous pouvez créer des propriétés de profil multilingues en ajoutant des attributs personnalisés aux définitions de propriétés. Par exemple, si vous avez une propriété « City » pour votre profil d’adresse anglais, vous pouvez créer un attribut personnalisé avec les valeurs suivantes :
  • Nom : City_Fr
  • Nom complet : Ville (traduction de City)
  • Description : Votre ville (traduction de Your city)
  • Valeur : Paris
  • Le Système de profil prend en charge Unicode pour sa banque de données.
Analyse commerciale Data Warehouse Vous pouvez créer un Data Warehouse de Commerce Server unique, qui importe les données de plusieurs applications spécifiques à la langue. Vous pouvez par exemple importer des données de transaction d’une application en français et d’une application en japonais dans un seul Data Warehouse de Commerce Server.

Pour créer un site unique prenant en charge des utilisateurs internationaux à l’aide de plusieurs paramètres de page de codes (par exemple, Europe de l’Ouest et japonais), vous devez affecter la valeur UTF-8 aux paramètres de page de codes du fichier journal et de cryptage des URL. Windows 2000 prend uniquement en charge les pages de codes ANSI lors de l’enregistrement dans le journal. UTF-8 nécessite Windows .NET Server. Pour plus d’informations, consultez http://go.microsoft.com/fwlink/?LinkId=6728.

Remarque

  • L’affectation de la valeur UTF-8 provoque un comportement imprévisible dans les navigateurs qui ne prennent pas en charge UTF-8.
Analyse Vous pouvez générer des rapports qui synthétisent les données de plusieurs langues et devises. Par exemple, si vous avez un site avec plusieurs applications spécifiques à la langue, vous pouvez générer le rapport Pages les plus demandées, livré avec Commerce Server, pour synthétiser les pages les plus demandées dans tous les groupes de langues. Les paramètres de langue du navigateur de l’utilisateur affectent l’aspect des données figurant dans le rapport.

Remarque

  • Commerce Server ne fournit aucun rapport prédéfini synthétisant les données en fonction de la langue.
Ciblage | Publicités | Vous devez créer un contenu publicitaire distinct pour chaque langue.
Remises | Vous devez créer des remises distinctes pour chaque langue.
Publipostage | Vous devez créer des campagnes de publipostage distinctes pour chaque langue.
Pipelines de processus commercial Traitement des commandes Il est possible que les éléments de commande convertis affichés sur le site ne correspondent pas au coût total facturé à l’utilisateur, car les taux de change varient avec le temps. Les prix doivent être marqués comme étant des prix approximatifs lorsqu’ils sont affichés.

Commerce Server 2002 suppose que les prix de chaque article mis dans le panier sont exprimés dans la même devise.

La fonctionnalité de remises Commerce Server n’est pas conçue pour gérer plusieurs devises.

Si vous souhaitez utiliser des publicités et des remises en plusieurs langues, vous devez recréer chaque publicité et chaque remise dans la langue appropriée.

Voir aussi

Tâches de développement, d’administration et de gestion pour les solutions internationales

Transactions internationales

Catalogues internationaux

Campagnes marketing internationales

Livraisons internationales


Tâches de développement, d'administration et de gestion pour les solutions internationales

Envoyer des commentaires sur cette page Commerce Server 2002

Tâches de développement, d’administration et de gestion pour les solutions internationales

Le tableau suivant récapitule les tâches de développement, d’administration et de gestion qu’il peut s’avérer nécessaire d’effectuer pour créer ou mettre à jour votre solution internationale. Des liens sont également fournis pour en savoir plus sur les tâches.

Pour en savoir plus sur le thème | Consultez
Développement d’un catalogue international | ASP-Based Catalog Sitelet, Code to filter catalog data for a particular language (en anglais)
Prise en charge de transactions multidevises | ASP-Based Order Sitelet, Code to set the language properties for a user profile (en anglais)
Affichage de modes de livraison internationale | ASP-Based Order Sitelet, Code to display shipping methods for a particular language (en anglais)
Affichage d’informations publicitaires et de remise spécifiques aux paramètres régionaux | ASP-Based Discount Sitelet (en anglais)
Définition de paramètres de configuration pour d’autres langues et devises pour votre site | Configuration de la ressource Configuration par défaut de l’application.
Création de processus commerciaux pour les catalogues spécifiques aux paramètres régionaux | Création d’un catalogue multilingue, Tarification des produits dans plusieurs devises
Création de processus commerciaux pour les modes de livraison internationale | Modes de livraison

De plus, le site International Retail Site (rubrique en anglais) fournit un site de travail intégré que vous pouvez utiliser comme base pour un nouveau site international.

Voir aussi

Synthèse des fonctionnalités pour les solutions internationales

Synthèse pour les scénarios internationaux

Transactions internationales

Catalogues internationaux

Campagnes marketing internationales

Livraisons internationales


Synthèse pour les scénarios internationaux

Dans les scénarios fictifs utilisés dans cette section, Contoso, S.A. est une société de commerce international de grande envergure. La société pratique des opérations de vente au détail et de vente en gros et a développé des interfaces Web dans chacun de ces domaines d’activité. Ses sites Web sont www.contosoretail.com et www.contososupplier.com.

Contoso devait créer un site Web unique destiné à l’ensemble des utilisateurs de la vente au détail, quels que soient leurs paramètres de langue et de devise. La société a décidé de fournir le contenu dans cinq langues (anglais, espagnol, français, allemand et japonais). La liste suivante décrit certaines étapes spécifiques que la société Contoso a effectuées pour créer un site unique pour tous ses utilisateurs internationaux :

  • Créer un catalogue unique contenant des propriétés multilingues et multidevises pour l’ensemble des produits. Définir un processus de localisation pour la mise à jour de ces propriétés.
  • Développer des messages de remise, du contenu publicitaire et des messages de publipostage correspondant à chacune des cinq langues.
  • Développer des modes de livraison pour chacune des cinq langues.
  • Ajouter du code à sa page default.asp afin de déterminer si l’utilisateur se sert d’un navigateur ne prenant pas en charge le codage UTF-8. Dans la mesure où Contoso nécessite que ses utilisateurs se servent d’un navigateur prenant en charge le codage UTF-8, si un navigateur n’assurant pas cette prise en charge est détecté, l’utilisateur est redirigé vers une page où il peut télécharger un navigateur prenant en charge ce codage.
  • Ajouter du code à son site pour récupérer du profil utilisateur la langue de l’utilisateur et la préférence de devise.
  • Ajouter des chaînes à un fichier XML pour chacune des cinq langues et ajouter du code de site pour récupérer les chaînes dans la langue correspondant à la propriété de profil utilisateur pour les préférences de langue et de devise.

Voir aussi

Transactions internationales

Catalogues internationaux

Campagnes marketing internationales

Livraisons internationales


Transactions internationales

Commerce Server 2002 propose une prise en charge améliorée pour le traitement des transactions nécessitant une conversion de devises. Commerce Server ajoute plus particulièrement la prise en charge des deux types suivants de conversion de devises :

  • Conversion à taux ponctuels
  • Conversion à taux fixe

Les scénarios d’entreprise fictifs suivants fournissent du contexte pour comprendre la façon dont ces deux types de conversion de devise peuvent être appliqués pour prendre en charge des transactions impliquant plusieurs devises.

Cette section contient les rubriques suivantes :

  • Scénarios d’entreprise pour permettre des transactions internationales


Scénarios d'entreprise pour permettre des transactions internationales

Envoyer des commentaires sur cette page Commerce Server 2002

Scénarios d’entreprise pour permettre des transactions internationales

La capacité à gérer des transactions dans plusieurs devises devient rapidement une fonctionnalité importante sur le marché de l’e-commerce. Dans le cadre de transactions entreprise-entreprise (B2B), les parties suivantes peuvent intervenir : une organisation d’achats qui exerce ses activités commerciales dans plusieurs devises de transaction, un fournisseur qui utilise plusieurs devises de transaction et un acheteur de vente au détail qui n’utilise pour ses transactions qu’une seule devise, mais le fournisseur est capable de gérer plusieurs formats de devise.

Il existe plusieurs types de transactions multidevises :

  • opérations de change entre la chaîne d’approvisionnement et B2B en utilisant une conversion négociée pour toutes les devises ;
  • opérations de change entre la chaîne d’approvisionnement et B2B en utilisant une conversion basée sur le marché pour toutes les devises ;
  • opérations de change entre le fournisseur et B2C (entreprise-client) en utilisant une conversion basée sur le marché pour une seule devise.

Dans les scénarios fictifs suivants, la société Contoso, S.A. se situe aux États-Unis et tient l’ensemble de ses comptes financiers en dollars américains. Contoso entretient des activités commerciales avec des fournisseurs qui utilisent des devises autres que le dollar américain et a des clients dans le cadre de la vente au détail qui font leurs achats sur le site Web en utilisant différentes devises. Chacun de ces types de transactions internationales (fournisseurs et vente au détail) a ses propres exigences. Par exemple, les clients de la vente au détail ne font leurs achats qu’avec une carte de crédit. Le taux de conversion de devise appliqué à l’utilisateur est déterminé lorsque l’organisme qui a émis la carte de crédit convertit la transaction. Il s’agit d’un exemple de conversion « à taux ponctuels ».

Dans certains scénarios en revanche, le taux appliqué aux fournisseurs de Contoso est défini avant que les transactions n’aient lieu. Contoso s’accorde avec chacun de ses fournisseurs sur un taux de conversion pour une durée déterminée. Lorsque la société Contoso prend une commande pour un produit fourni par une société utilisant une autre devise, le taux de conversion appliqué à la transaction est défini en fonction de l’accord passé. Il s’agit d’un exemple de conversion « à taux fixe ».

Hypothèses émises pour tous les scénarios

Prise en charge de transactions multidevises

Suivi des transactions multidevises

Problèmes liés aux transactions multidevises

Hypothèses émises pour tous les scénarios

Les hypothèses énoncées ci-dessous s’appliquent à l’ensemble des scénarios de transactions internationales :

  • Tous les catalogues du site utilisent une seule devise par défaut (qui correspond à la devise utilisée par le site pour les transactions avec la banque).
  • L’utilisateur n’a pas besoin d’utiliser plusieurs devises dans une commande unique. En d’autres termes, l’utilisateur n’achète pas un article « A » en euros et un article « B » en yens dans la commande.

Remarque

  • Il est recommandé que le site Web utilise un système de comptabilité tiers pour gérer les conversions. Le mini-site de commandes « Order Sitelet » inclus dans le Kit de développement de logiciel (SDK) de Commerce Server utilise un exemple de méthode simple qu’il n’est pas recommandé d’utiliser pour le code de production.

Scénario 1 :

  • Un utilisateur unique procède à un achat sur le site www.contosoretail.com en utilisant une conversion de devise au taux du marché. La transaction se fait en dollars américains ; cependant, l’utilisateur voit également un prix approximatif affiché en yens.

Il s’agit de la transaction internationale de vente au détail ou entreprise-client la plus simple et la plus répandue : dans ce cas de figure, il se peut que l’acheteur et un site d’e-commerce n’utilisent pas la même devise par défaut, mais qu’ils souhaitent faire du commerce ensemble. Un utilisateur visite le site Web en anglais www.contosoretail.com, dont la devise par défaut est le dollar américain. L’utilisateur sélectionne le yen comme étant sa devise par défaut. Lorsque l’utilisateur parcourt le site, tous les prix sont alors affichés en yens.

Tous les prix en yens sont marqués comme étant des prix approximatifs sur le site, car il est possible que l’utilisateur ait à payer une somme légèrement différente selon le taux de conversion pratiqué par sa banque. Il est possible de faire une approximation de ce taux ; cependant, il ne sera jamais connu exactement avant que la transaction ait eu lieu. Lorsque l’utilisateur soumet sa commande, il obtient un total approximatif dans sa devise par défaut et la valeur exacte de la commande dans la devise par défaut du site.

Lorsque le site www.contosoretail.com reçoit le paiement de la banque de l’utilisateur, il reçoit des dollars américains. Lorsque la banque facture le montant à l’utilisateur, ces dollars sont convertis en yens. Le coût exact en yens n’est pas connu avant ce moment.

Scénario 2 :

  • Un utilisateur unique procède à un achat sur un site unique (www.contosoretail.com) en utilisant une conversion de devise au taux du marché.
  • www.contosoretail.com revend les marchandises d’autres sociétés en utilisant une conversion négociée.

La transaction entre l’utilisateur et www.contosoretail.com est identique au premier scénario. Il y a toutefois une transaction supplémentaire (ou des transactions supplémentaires) du fait que www.contosoretail.com est à présent un revendeur et qu’il doit acheter les marchandises sur demande au fournisseur.

Le fournisseur de marchandises de www.contosoretail.com utilise des francs suisses comme devise par défaut, et www.contosoretail.com et le fournisseur se sont accordés sur un taux de conversion défini. L’avantage d’un taux de conversion défini est que www.contosoretail.com sait exactement ce qui lui sera facturé pour chaque transaction avec le fournisseur. La banque n’est pas maîtresse de la conversion entre le fournisseur et le site www.contosoretail.com, comme c’est le cas entre www.contosoretail.com et l’utilisateur.

Plusieurs fournisseurs peuvent intervenir dans ce scénario, chacun d’eux pouvant utiliser une devise par défaut différente de la devise par défaut du revendeur ou de l’acheteur.

Scénario 3 :

  • Un utilisateur unique procède à un achat sur le site www.contosoretail.com en utilisant une conversion de devise au taux du marché.
  • www.contosoretail.com revend les marchandises d’autres sociétés en utilisant une conversion de devise au taux du marché.

La transaction entre l’utilisateur et www.contosoretail.com est identique à celle des premier et deuxième scénarios.

Ce scénario diffère du deuxième en ce que la transaction entre le fournisseur et www.contosoretail.com est déterminée par le taux du marché au moment de la conversion. Notez que cela peut se produire à plusieurs stades au cours du processus de la transaction, par exemple lorsque le fournisseur facture www.contosoretail.com ou lorsque www.contosoretail.com paye le fournisseur.

L’utilisateur, www.contosoretail.com et le fournisseur peuvent tous utiliser des devises différentes. Les banques sont responsables du taux de conversion. Cela signifie que www.contosoretail.com ne connaît pas le montant qui sera facturé pour la transaction tant que celle-ci n’a pas eu lieu.

Il est important de noter que, pour ces trois scénarios, l’utilisateur ne connaît pas précisément le taux de conversion appliqué à son achat tant que l’achat n’est pas effectué et que la banque n’a pas débité le compte du client. Tous les prix affichés sur le site d’e-commerce doivent, pour cette raison, être marqués comme étant des prix approximatifs.

Prise en charge de transactions multidevises

Les taux de conversion appliqués à une transaction multidevise et la gestion des coûts associés à ces transactions sont des facteurs clés pour la réussite commerciale. D’un point de vue commercial, Commerce Server 2002 ne couvre pas le cycle de vie entier d’une transaction multidevise, car cela nécessiterait un système d’exécution des commandes et/ou de comptabilité. Une prise en charge intrinsèque de systèmes d’exécution des commandes et de comptabilité tiers est en revanche fournie.

Le système de pipeline de traitement des commandes Commerce Server 2002 traite ces aspects par le biais des éléments suivants :

  • Capacité à spécifier et à suivre la devise que l’utilisateur du site d’e-commerce souhaite employer.
  • Capacité à suivre le taux de conversion appliqué à une commande.

Pour prendre en charge ces fonctions, Commerce Server 2002 suppose les points suivants :

  • Les prix du catalogue doivent être stockés dans la devise par défaut du site d’e-commerce.
  • Le pipeline de traitement des commandes est toujours exécuté dans la devise par défaut du site d’e-commerce.
  • Les conversions de devise se font en dehors de Commerce Server 2002 et se présentent toujours sous la forme Règlement = Devise par défaut * Conversion, où Règlement correspond au montant payé ou dû par l’acheteur des marchandises.
  • Le Data Warehouse, et par extension Analyse, stockent toujours les données et créent des rapports des données dans la devise par défaut du site, car toutes les données sont groupées par site.

Suivi des transactions multidevises

Le tableau suivant présente les données dont le système de pipeline de traitement des commandes effectue le suivi. Le système de pipeline de traitement des commandes effectue le suivi des données de chaque transaction passant par le pipeline. Ces données sont stockées dans le bon de commande et en final dans la base de données de commandes.

Nom du champ | Emplacement | Description
billing_currency | En-tête du bon de commande | Devise par défaut du site.
supplier_currency | Élément de commande | Devise par défaut du fournisseur approvisionnant le site www.contosoretail.com en marchandises.
buyer_currency | En-tête du bon de commande | Devise par défaut de l’utilisateur.

Le tableau suivant présente les données dont le système de pipeline de traitement des commandes n’effectue pas le suivi de manière native, mais dont un système d’exécution des commandes et/ou de comptabilité tiers devrait effectuer le suivi.

Nom du champ | Description
Taux de conversion | Multiplicateur utilisé pour convertir la devise par défaut du site en devise acceptée par un membre de la chaîne d’approvisionnement.
Type de conversion | Indique si la conversion s’est faite selon un taux statique (contrat) ou dynamique (défini par la banque).
Heure de conversion | Heure à laquelle le taux de conversion a été verrouillé par la banque. Dans le cas d’une conversion statique, il doit toujours s’agir de l’heure à laquelle la commande a été acceptée pour exécution.
ID de contrat | Identificateur du contrat spécifiant le taux de conversion, uniquement utilisé dans le cas d’une conversion statique.

Problèmes liés aux transactions multidevises

Les problèmes liés aux transactions multidevises sont les suivants :

  • Comme il l’a été mentionné plus haut, il est possible que les éléments de commande convertis affichés sur le site ne correspondent pas au coût total facturé à l’utilisateur.
  • Le site International Retail suppose que les prix de chaque article mis dans le panier sont exprimés dans la même devise ; le type de la devise n’est pas vérifié. Si un article mis dans le panier coûte 1 euro et qu’un autre coûte 2 yens, le site n’indique pas à l’utilisateur que le sous-total est de 1 euro et de 2 yens, de même qu’il ne convertit pas les 2 yens en euros et présente un sous-total en euros. Les développeurs de site doivent créer leur propre implémentation pour afficher correctement les informations de reçu de ce type.
  • Les remises ne sont pour l’heure pas en mesure de gérer plusieurs devises.
  • À l’heure actuelle, aucune société de carte de crédit ou banque ne fractionne une transaction en différentes devises, aussi toutes les opérations comptables et conversions doivent-elles être effectuées en interne sur le site.
  • Si vous souhaitez utiliser des publicités et des remises en plusieurs langues, vous devez recréer chaque publicité et chaque remise dans la langue appropriée.

Voir aussi

ASP-Based Order Sitelet (en anglais)

ASP.NET-Based Order Sitelet (en anglais)

Synthèse pour les scénarios internationaux

Catalogues internationaux

Campagnes marketing internationales

Livraisons internationales


Catalogues internationaux

Commerce Server 2002 assure une prise en charge améliorée pour fournir des informations de catalogue appropriées à des paramètres régionaux particuliers. Vous pouvez créer un catalogue qui contient des propriétés multilingues et multidevises. Votre application peut alors fournir le contenu du catalogue dans la langue appropriée, avec le symbole de devise correspondant à des paramètres régionaux spécifiques.

Le scénario d’entreprise fictif suivant fournit du contexte pour comprendre la façon dont vous pouvez appliquer des fonctionnalités multilingues et multidevises pour fournir un contenu de catalogue adéquat. Le scénario est une extension de celui décrit dans Scénario d’entreprise pour permettre des transactions internationales.

Scénario d’entreprise pour les catalogues internationaux

Dans ce scénario fictif, le site de vente au détail de la société Contoso affiche un contenu de catalogue qui correspond aux préférences de langue et de devise de ses utilisateurs. Les développeurs du site Contoso ont implémenté cette fonctionnalité en créant un catalogue qui contient des données pour les cinq paramètres régionaux que le site cible. Le catalogue a été développé à l’origine en anglais avec des dollars américains comme devise de base, puis il a été traduit dans quatre autres langues (espagnol, français, allemand et japonais) et devises par les gestionnaires de contenu des filiales Contoso dans les quatre pays respectifs.

Les prix figurant dans les catalogues virtuels sont déterminés par une règle de tarification. Cette règle de tarification définit le prix indiqué dans le catalogue virtuel soit en augmentant, soit en réduisant le prix en fonction du taux de change. Le tableau suivant illustre la règle de tarification.

Prix du catalogue de base | Taux de change | Règle de tarification | Prix du catalogue virtuel
1 | 0,5 | Prix de base * 200 % |

Contoso met automatiquement à jour, de manière régulière, les informations de taux de change par l’intermédiaire d’un service tiers. Ces mises à jour sont effectuées afin de refléter plus exactement le coût réel facturé aux utilisateurs. Toutefois, le coût exact facturé à l’utilisateur est déterminé par le taux de change en vigueur lorsque l’organisme émetteur de la carte de crédit de l’utilisateur effectue la transaction.

Pour afficher du contenu approprié, les développeurs du site ont modifié le code de navigation du catalogue pour afficher les articles du catalogue qui correspondent aux langue et devise par défaut de l’utilisateur. En l’absence de langue et devise par défaut (par exemple lorsque l’utilisateur fait des achats de manière anonyme), le catalogue est affiché en anglais et les prix sont indiqués en dollars américains.

Remarque

  • Vous pouvez créer un catalogue virtuel destiné au marché français qui utilise uniquement la langue française, ne propose que des produits adaptés au marché français et contient une tarification en euros.

Voir aussi

Code to Set the Language Properties for a User Profile (en anglais)

Synthèse pour les scénarios internationaux

Transactions internationales

Campagnes marketing internationales

Livraisons internationales

Traduction d’un catalogue par exportation/importation

Traduction d’un catalogue avec Business Desk


Campagnes marketing internationales

Commerce Server 2002 assure une prise en charge améliorée pour fournir des informations sur les campagnes marketing appropriées à des paramètres régionaux particuliers. Cette prise en charge améliorée s’observe dans les zones suivantes :

  • Remises
  • Contenu publicitaire

Le scénario d’entreprise fictif suivant fournit du contexte pour comprendre la façon dont ces deux zones du système de ciblage de Commerce Server peuvent être appliquées pour afficher des informations sur les campagnes marketing qui soient appropriées d’un point de vue culturel. Le scénario est une extension de celui décrit dans Scénarios d’entreprise pour permettre des transactions internationales.

Scénario d’entreprise pour permettre des campagnes marketing internationales

Dans ce scénario fictif, le site de vente au détail de la société Contoso affiche des remises et du contenu publicitaire spécifiques aux paramètres régionaux. L’équipe de développement de contenu de Contoso crée un contenu adapté à cinq paramètres régionaux (anglais, espagnol, français, allemand et japonais). Ce contenu est nommé en utilisant une convention qui identifie le groupe culturel cible. Par exemple, une publicité pour des chaussures de golf affichée pour un utilisateur français est nommée golf_FR.

Contoso utilise des groupes de pages pour définir les publicités à afficher sur une page donnée et emploie des groupes cibles pour déterminer les messages de remise et les publicités spécifiques aux paramètres régionaux à afficher à un groupe particulier d’utilisateurs. La société Contoso a développé une expression de ciblage se fondant sur les propriétés de profil de langue et de devise par défaut comme base pour ces groupes cibles. Les développeurs ont créé des campagnes marketing distinctes pour prendre en charge chaque langue requise.

Voir aussi

Code to Set the Language Properties for a User Profile (en anglais)

Synthèse pour les scénarios internationaux

Transactions internationales

Catalogues internationaux

Livraisons internationales


Livraisons internationales

Commerce Server 2002 assure une prise en charge améliorée pour fournir des informations de livraison appropriées à des paramètres régionaux particuliers. Le scénario d’entreprise fictif suivant fournit du contexte pour comprendre la façon dont cette prise en charge est implémentée. Le scénario est une extension de celui décrit dans Scénarios d’entreprise pour permettre des transactions internationales.

Scénario d’entreprise pour permettre des livraisons internationales

Dans ce scénario fictif, le site de vente au détail de la société Contoso affiche des informations de livraison spécifiques aux paramètres régionaux. Les gestionnaires de livraison de Contoso ont créé des modes de livraison adaptés à cinq paramètres régionaux (anglais, espagnol, français, allemand et japonais). Par exemple, le contenu est nommé en utilisant une convention qui identifie les paramètres régionaux qui lui sont associés. Un mode de livraison par fret aérien affiché pour un utilisateur français sur le site est par exemple nommé Air_FR.

Contoso utilise le champ language_id de la table de base de données ShippingConfig pour effectuer le suivi des modes de livraison affichés sur la page de livraison.

Voir aussi

Code to Display Shipping Methods for a Particular Language (en anglais)

Synthèse pour les scénarios internationaux

Transactions internationales

Catalogues internationaux

Campagnes marketing internationales


Planification de votre installation Commerce Server

Vous devez prendre certaines décisions en matière de planification avant de développer et de déployer votre installation de Microsoft Commerce Server 2002. Pour développer et déployer correctement Commerce Server, il est important de bien prendre en compte les questions suivantes liées à la planification et d’en rechercher les implications en consultant d’autres zones de l’aide de Commerce Server 2002.

La planification de votre implémentation de Commerce Server est la première phase, et peut-être la plus importante, du cycle planification-développement-déploiement-gestion. En effet, la planification rigoureuse de votre site, notamment la prise en compte de son expansion future, peut vous éviter de perdre du temps et de l’argent en modifications ultérieures.

Commerce Server comprend cinq sous-systèmes étroitement intégrés. Outre la planification de ces sous-systèmes, vous devez également planifier l’administration, la gestion, l’architecture et la sécurité de votre implémentation.

Cette section contient les rubriques suivantes :

  • Planification des outils d’administration et de gestion. Fournit des recommandations pour les questions relatives à la gestion et à l’administration de votre site.
  • Planification du système d’analyse commerciale. Fournit des recommandations pour les questions relatives à l’accès et à la mise à jour de vos données.
  • Planification des pipelines de processus commercial. Fournit des recommandations pour les questions relatives à la fonctionnalité d’un pipeline.
  • Planification du système de catalogue de produits. Fournit des recommandations pour les questions relatives à votre système de catalogue de produits.
  • Planification du système de profil. Fournit des recommandations pour les questions relatives à votre système de profil.
  • Planification du système de ciblage. Fournit des recommandations pour les questions relatives à votre système de ciblage.
  • Planification de l’architecture du site. Fournit des recommandations pour les questions relatives à l’architecture de votre site.


Planification des outils d'administration et de gestion

Envoyer des commentaires sur cette page Commerce Server 2002

Planification des outils d’administration et de gestion

Commerce Server 2002 comprend trois outils de gestion et d’administration de votre installation : Commerce Server Business Desk, Partner Service et Gestionnaire Commerce Server.

Business Desk vous permet de configurer de nombreuses options et de gérer le marketing et l’analyse quotidienne des activités liées au site. Vous devez prendre certaines décisions concernant votre site pour utiliser Business Desk de manière optimale.

Le tableau suivant répertorie certaines questions auxquelles vous devez répondre lors de la planification des outils d’administration et de gestion.

Question liée à la planification | Recommandation
Votre site s’adresse-t-il principalement à des consommateurs ou à des partenaires commerciaux ? Si votre site s’adresse à des consommateurs, vous devez procéder à son développement à l’aide du site solution Retail car il inclut le Service clientèle, qui permet aux utilisateurs d’accéder à leurs informations de profil.

Si votre site s’adresse à des partenaires commerciaux, vous devez procéder à son développement à l’aide du site solution Supplier car il inclut Partner Service, qui permet aux partenaires commerciaux d’accéder à leurs comptes.

Pour plus d’informations sur les sites solutions, consultez Commerce Server Solution Sites (en anglais).
Si vous envisagez une interaction avec des partenaires commerciaux, devez-vous échanger des documents commerciaux avec eux ? | Vous devez planifier l’intégration de Microsoft BizTalk Server 2000 à votre implémentation si vous envisagez d’échanger des documents commerciaux avec vos partenaires commerciaux.
Quelles sont les options de paiement prises en charge par votre site ? | Vous devez contacter un établissement bancaire si vous envisagez de prendre en charge le paiement par carte de crédit.
Quelles sont les devises prises en charge par votre site ? | Si votre site doit afficher des informations dans plusieurs devises, vous devez étendre le système de catalogue de produits.
Les chefs d’entreprise doivent-ils avoir accès à de gros volumes de données ? | Certains aspects de la gestion de site ne se prêtent pas à l’accès à de gros volumes de données via Business Desk. Par exemple, si votre catalogue de produits inclut plus de 100 000 articles, vous devrez peut-être publier les mises à jour à l’aide d’un script plutôt que par l’intermédiaire des modules Catalogues fournis dans Business Desk. Vous devez planifier les besoins de Business Desk en matière de capacité.

Voir aussi

Localizing Currencies (en anglais)

Integrating with BizTalk Server (en anglais)

Planification de la capacité et des performances

Configuration de la ressource Configuration par défaut de l’application.


Planification du système d'analyse commerciale

Envoyer des commentaires sur cette page Commerce Server 2002

Planification du système d’analyse commerciale

Le Data Warehouse de Commerce Server 2002 vous permet de collecter jour après jour les données opérationnelles concernant les utilisateurs qui visitent votre site, y compris les données de profil utilisateur, les données de transaction et les données d’historique des clics. Pour analyser ces données, vous utilisez les modules Analyse. Par exemple, vous pouvez identifier les tendances des utilisateurs ou analyser l’efficacité d’une campagne marketing, puis mettre à jour votre site pour cibler des groupes d’utilisateurs bien précis, vendre des produits spécifiques, etc.

Le tableau suivant répertorie certaines questions auxquelles vous devez répondre lors de la planification du système d’analyse commerciale.

Question liée à la planification | Recommandation
Comment l’analyse des données va-t-elle affecter les décisions commerciales majeures que vous devez prendre à propos de votre site ? Quels sont les rapports dont vous avez besoin pour prendre ces décisions ? | Pour examiner les rapports disponibles dans le système d’analyse commerciale, consultez la section Rapports Commerce Server 2002. Il existe également un certain nombre de fournisseurs de logiciels tiers disposant de solutions de création de rapports, capables d’interagir avec le système d’analyse commerciale.
Qui doit accéder aux données au sein de votre organisation ? À quelle fréquence doivent-ils exécuter les rapports, et quel est le niveau de détail escompté lors des mises à jour ? | Vous devez établir une planification pour l’exécution des rapports. Vous pouvez être amené à exécuter les rapports statiques à intervalles réguliers en même temps que vos tâches de transformation de données (DTS, Data Transformation Services), en fonction des besoins commerciaux anticipés.
À quelle fréquence allez-vous traiter les fichiers journaux Web ? Le volume et la nature des données stockées dans vos journaux détermineront votre réponse. Plus vous traitez les journaux, plus ils sont petits.

Des fichiers journaux volumineux offrent un ensemble de données plus important, mais ils sont plus longs à traiter.

À chaque tâche de post-traitement correspond une surcharge. Sur les sites de taille plus importante, il est recommandé d’effectuer moins de processus quotidiens d’importation de journal et de postimportation, en raison du post-traitement qui en résulte. La durée d’exécution du processus d’importation de journal est proportionnelle à la taille de votre Data Warehouse.

Vous devez déterminer la fréquence de traitement appropriée dans votre environnement de test, puis l’appliquer à votre environnement de production.

Voir aussi

Rapports Commerce Server 2002

Concepts de Data Warehouse

(en anglais)


Planification des pipelines de processus commercial

Les pipelines vous permettent de définir et de relier entre elles une ou plusieurs étapes d’un processus commercial, avant de les exécuter sous forme séquentielle pour effectuer une tâche spécifique. Chaque étape d’un pipeline contient un ou plusieurs composants de pipeline, qui sont des objets (COM (Component Object Model)) pouvant être configurés en fonction des besoins spécifiques d’un site.

Les développeurs de site utilisent cette infrastructure pour implémenter deux modèles de pipelines : le pipeline de traitement des commandes (OPP) et le pipeline de sélection de contenu (CSP).

Le tableau suivant répertorie certaines questions auxquelles vous devez répondre lors de la planification des pipelines de processus commercial.

Question liée à la planification | Recommandation
Les composants de pipeline inclus dans Commerce Server répondent-ils à vos besoins ? Dans la négative, voulez-vous créer vos propres composants ou les acheter à un développeur de composants de pipeline tiers ? | Examinez la fonctionnalité offerte par les pipelines inclus dans Commerce Server 2002. Déterminez si les étapes de traitement correspondent à vos besoins. Dans la négative, développez vous-même les fonctionnalités des pipelines, ou achetez des composants de pipeline auprès d’un développeur de composants de pipeline tiers. Par exemple, vous pouvez ajouter des composants de pipeline tiers pour effectuer des calculs complexes de frais de livraison et de taxes avec paiement par carte de crédit.

Voir aussi

Working with Pipelines (en anglais)

Building Pipeline Components (en anglais)

Extending the Content Selection Framework (en anglais)


Planification du système de catalogue de produits

Le système de catalogue de produits permet de créer des catalogues de produits, mais également d’ajouter et de mettre à jour les données sur les produits. Ce système offre des fonctionnalités d’importation et d’exportation, et vous permet de définir ou de modifier le schéma des catalogues.

Le tableau suivant répertorie certaines questions auxquelles vous devez répondre lors de la planification du système de catalogue de produits.

Question liée à la planification | Recommandation
Envisagez-vous de synchroniser les informations du système de catalogue de produits avec un catalogue hors connexion ? | Si vous synchronisez les informations du système de catalogue de produits avec votre catalogue hors connexion, vous devez développer un logiciel personnalisé. Pour obtenir cette fonctionnalité, contactez votre administrateur système.
Quel est le meilleur schéma d’organisation pour votre catalogue ? | Le système de catalogue de produits est suffisamment versatile pour accepter une grande variété de schémas. Si vous créez un nouveau catalogue, veillez à inclure un nombre important de possibilités d’expansion dans le schéma.
Quelles sont les langues prises en charge par votre site ? | Si vous envisagez d’utiliser plusieurs langues sur votre site, vous devez choisir celle des rapports, c’est-à-dire la langue dans laquelle les données sont exportées vers le Data Warehouse pour être utilisées dans les rapports d’analyse.
Quelles sont les devises prises en charge par votre site ? Si votre site doit afficher des informations dans plusieurs devises, vous devez déterminer un mode de gestion des prix multidevises. Vous avez la possibilité de convertir les devises de trois façons différentes :
  • Conversion à taux fixe. Vous créez un catalogue virtuel pour chaque nouvelle devise utilisée, en incluant le catalogue de base approprié dans chaque catalogue virtuel ; en outre, vous créez une règle de tarification au niveau du catalogue pour convertir les prix dans la nouvelle devise.
  • Conversion à taux dynamique. Cette approche vous permet de calculer dynamiquement la valeur dans la devise au moment de l’exécution, avant que l’utilisateur ne la voie. Pour une démonstration de cette approche, consultez l’exemple de site International dans le Kit de développement de logiciel.
  • Tarification de devise secondaire explicite. Utilisez cette approche pour définir explicitement les prix dans chaque devise. Par exemple, un même produit peut valoir 29,99 dollars américains, 39,99 dollars canadiens et 24,99 euros. Pour ce faire, vous devez ajouter des propriétés supplémentaires de type « devise » à votre catalogue ; par exemple, les propriétés CDN_Price et EURO_Price. Vous ajoutez ensuite des prix à ces propriétés à l’aide du module Éditeur de catalogue de Business Desk. Au moment de l’exécution, vous devez utiliser un composant de pipeline pour sélectionner la propriété de tarification appropriée correspondant au produit, dans la devise utilisée par le client.
Voulez-vous fournir des choix personnalisés en matière de tarification ou de produits à différents groupes d’utilisateurs ? Créez des catalogues virtuels pour fournir une tarification spéciale ou afficher des sous-ensembles de produits à l’intention de groupes d’utilisateurs spécifiques.

Créez des groupes de catalogues pour identifier un ou plusieurs catalogues que vous souhaitez mettre à la disposition de différents utilisateurs ou organisations.
Quelles sont les données de catalogue que vous voulez analyser dans les rapports ? | Vous devez exporter les informations nécessaires vers le Data Warehouse pour pouvoir exécuter les rapports et effectuer d’autres analyses sur les données. Vous spécifiez les données sur les produits à exporter vers le Data Warehouse lorsque vous créez vos définitions de propriétés.
Voulez-vous échanger des catalogues avec vos partenaires commerciaux ? | Le cas échéant, incluez Microsoft BizTalk Server 2000 ou version ultérieure dans votre stratégie de déploiement. Vous disposerez ainsi d’une fonctionnalité permettant d’échanger automatiquement les catalogues avec des partenaires commerciaux.

Voir aussi

À propos des catalogues

Catalogues

Integrating with BizTalk Server (en anglais)

Integrating a Third-Party Product Catalog (en anglais)


Planification du système de profil

Dans Commerce Server 2002, les profils vous permettent de collecter et de stocker des informations sur les utilisateurs qui visitent votre site Web. Les données qui constituent un profil proviennent de plusieurs sources de données, notamment les fichiers journaux Web et les bases de données Commerce Server. Après avoir importé les données de profil dans le Data Warehouse et les avoir analysées, vous pouvez utiliser les résultats obtenus pour cibler un contenu vers des groupes d’utilisateurs.

Le tableau suivant répertorie certaines questions auxquelles vous devez répondre lors de la planification du système de profil.

Question liée à la planification | Recommandation
Quelles sont les décisions commerciales que vous devez prendre concernant les informations collectées dans le système de profil ? | Commencez la planification du système de profil en répondant à cette question. Votre réponse va déterminer le reste de vos décisions de planification pour ce système.
Pour quels types d’entités commerciales (par exemple, clients, sociétés, produits, bons de commande ou comptes) stockez-vous actuellement des informations ? Parmi celles-ci, sur quelles entités devez-vous stocker des informations dans le système de profil ? | Le système de profil est suffisamment flexible pour capturer et stocker des informations sur une grande variété d’entités commerciales. Il peut rassembler ces informations à partir de sources de données disparates. Vous configurez le système en définissant les entités et les sources de données. Vous devez coordonner cet effort de planification avec l’administrateur de base de données pour avoir la garantie que les entités de données définies sont compatibles avec les entités qui existent dans votre système de gestion de base de données.
Quelles sont les informations de profil que vous devez exporter vers le Data Warehouse ? | Vous devez exporter les informations à utiliser pour créer les rapports que vous avez identifiés en réponse à la question de la section Planification du système d’analyse commerciale.
Quelles sont les informations que vous devez collecter sur les utilisateurs ? | Vous pouvez collecter les informations directement chez les utilisateurs.
Quelle banque de données voulez-vous utiliser pour le stockage des profils ? | Si vous devez authentifier les utilisateurs à l’aide du contexte de sécurité de Microsoft Windows 2000, vous devez stocker certaines informations de profil dans Microsoft Active Directory. Dans le cas contraire, utilisez Microsoft SQL Server 2000 pour stocker les données de profil.
Existe-t-il des comptes d’utilisateur que vous devez transférer vers le système de profil ? Voulez-vous transférer tous les attributs du système actuel ? | Si vous effectuez un transfert de comptes d’utilisateur depuis l’annuaire d’abonnement de Microsoft Site Server 3.0, utilisez la boîte à outils de migration d’annuaire. N’envisagez pas de gérer l’annuaire d’abonnement une fois la migration effectuée.

Voir aussi

À propos de la ressource Profils

Exécution de la ressource Profils

Migration de l'annuaire d'abonnement


Planification du système de ciblage

Le système de ciblage vous permet d’offrir un contenu à un ou plusieurs utilisateurs. Le système de ciblage comprend trois sous-systèmes distincts, dont vous devez tenir compte lors de sa planification.

Cette section contient les rubriques suivantes :

  • Planification de l’infrastructure de sélection de contenu
  • Planification du service de publipostage
  • Planification de l’Évaluateur d’expressions


Planification de l'infrastructure de sélection de contenu

Envoyer des commentaires sur cette page Commerce Server 2002

Planification de l’infrastructure de sélection de contenu

L’infrastructure de sélection de contenu (CSF) repose sur l’architecture de pipeline de Commerce Server 2002. Vous pouvez utiliser principalement l’infrastructure de sélection de contenu pour gérer une campagne marketing (remise de publicités et de promotions), mais sa souplesse d’utilisation vous permet également de classer, sélectionner et planifier n’importe quel type de contenu.

Le tableau suivant répertorie certaines questions auxquelles vous devez répondre lors de la planification de vos campagnes marketing en ligne.

Question liée à la planification | Recommandation
Voulez-vous cibler des campagnes marketing en fonction de groupes d’utilisateurs bien précis ? Dans ce cas, quels sont les attributs utilisateur que vous voulez cibler ? | Utilisez le système d’analyse commerciale pour déterminer les schémas d’achat courants sur votre site et incorporer ces informations dans votre système de ciblage. La planification de ce domaine est un processus constant.
Voulez-vous vendre de la publicité à d’autres organisations ? Dans ce cas, quel est le prix envisagé pour la publicité ? | Établissez une tarification si vous n’en possédez pas déjà. Vous devez disposer de cette information lors de la création des campagnes marketing dans Commerce Server Business Desk.
Qui doit prendre les décisions concernant la gestion des remises ? Quelles stratégies comptez-vous appliquer pour prendre ces décisions ? | Coordonnez vos remises avec vos campagnes publicitaires pour amplifier leur efficacité.
Quelles sont les informations dont vous avez besoin de la part du système d’analyse commerciale pour prendre des décisions concernant la tarification ? | Déterminez vos besoins en informations pour l’infrastructure de sélection de contenu, et utilisez cette estimation pour évaluer et modifier, si nécessaire, les rapports fournis par le système d’analyse commerciale.

Voir aussi

Extending the Content Selection Framework (en anglais)


Planification du service de publipostage

Le service de publipostage de Commerce Server vous permet de gérer des listes de publipostage utilisateur et de coordonner l’envoi de publipostage aux membres de ces listes. Vous pouvez personnaliser le message électronique que vous créez à l’aide de pages ASP (Active Server Pages), sauf s’il s’agit d’un fichier statique. Le module Gestionnaire de listes vous permet d’importer des adresses de messagerie dans une base de données de publipostage à partir d’un fichier plat ou d’une base de données Microsoft SQL Server.

Le tableau suivant répertorie certaines questions auxquelles vous devez répondre lors de la planification de vos campagnes de publipostage.

Question liée à la planification | Recommandation
Comment les utilisateurs vont-ils vous indiquer qu’ils souhaitent être retirés de la liste de publipostage ? | Incluez toujours une liste des annulations d’abonnements dans vos publipostages.
À quelle fréquence voulez-vous envoyer vos publipostages ? | Établissez un calendrier et créez un script pour automatiser le processus.
Le publipostage doit-il être personnalisé ? Dans ce cas, quelles sont les informations de profil utilisateur que vous voulez inclure dans la personnalisation ? | Un message personnalisé a davantage d’impact. Créez vos profils utilisateur de manière à inclure les attributs à utiliser pour vos cibles de publipostage.

Voir aussi

À propos du service de publipostage

Direct Mailer Pipeline (en anglais)

Exécution du service de publipostage

Développement d’un contenu de publipostage


Planification de l'Évaluateur d'expressions

Envoyer des commentaires sur cette page Commerce Server 2002

Planification de l’Évaluateur d’expressions

L’Évaluateur d’expressions vous permet de créer des règles commerciales pour fournir des publicités, des remises et des contenus personnalisés. Ces règles sont des expressions conditionnelles.

Le tableau suivant répertorie certaines questions auxquelles vous devez répondre lors de la planification de l’Évaluateur d’expressions.

Question liée à la planification | Recommandation
Quel contenu voulez-vous faire découvrir à vos utilisateurs ? Quelles règles commerciales devez-vous créer pour implémenter ce type de découverte ? | Vous devez créer des expressions qui seront évaluées par l’Évaluateur d’expressions afin de créer les contenus spécifiques à découvrir par l’utilisateur. Basez vos expressions sur les exigences de personnalisation que vous avez développées pour le système de ciblage. Par exemple, si vous avez décidé d’afficher un contenu en fonction d’une adresse URL (Uniform Resource Locator) de référence, vous pouvez créer l’expression Point d’accès égal URL.
Quelles sont les entrées du glossaire du site nécessaires pour créer les règles commerciales requises ? | Créez des entrées du glossaire du site pour prendre en charge les expressions que vous avez identifiées. Dans l’exemple précédent, vous devez développer une entrée du glossaire du site appelée « Point d’accès ».

Voir aussi

Générateur d’expressions

Ciblage basé sur des expressions

Ciblage des publicités

Création d’une entrée du glossaire du site

(en anglais)


Planification de l'architecture du site

Envoyer des commentaires sur cette page Commerce Server 2002

Planification de l’architecture du site

La planification de l’ensemble de l’architecture de votre site d’e-commerce comprend la planification de sa croissance, la définition des objectifs de performances, et l’établissement des exigences en matière de sécurité. Cette section décrit certaines questions liées à la planification dans chacun de ces domaines.

Cette section contient les rubriques suivantes :

  • Planification de la capacité et des performances
  • Planification de la croissance
  • Planification de l’intégration aux systèmes existants
  • Planification de l’intégration à Active Directory


Planification de la capacité et des performances

Il est difficile de prévoir la façon dont les variables associées à la structure du site, les règles d’écriture du code, le comportement de l’utilisateur et l’architecture du site vont se combiner pour affecter les performances du site. C’est pourquoi il est important de planifier et de tester la capacité et les performances de votre site avant de rendre ce dernier opérationnel dans un environnement de production.

Si vous faites migrer un site existant, vous pouvez analyser les données existantes en les considérant comme une base pour la planification du nouveau site. Si vous créez un site pour la première fois, utilisez les instructions de dimensionnement fournies dans le Kit de Ressources Techniques Microsoft Commerce Server 2000 pour créer un site de test que vous pourrez ensuite charger, tester et optimiser avant de le rendre réellement opérationnel.

La planification des performances et la planification de la capacité sont indissociables ; cependant, chaque processus implique une perspective différente. La planification des performances répond aux aspects techniques du site en se concentrant sur les valeurs métriques des performances, par exemple, le débit des pages ASP (Active Server Pages) et la latence ASP. La planification de la capacité répond à une perspective commerciale, en se concentrant sur l’élargissement du nombre d’utilisateurs que le site peut gérer.

De ces deux processus, la planification des performances est le plus simple. Il est relativement facile de mesurer le nombre de transactions de validation par seconde, et d’établir des comparaisons avec les autres sites de commerce.

L’analyse de la capacité d’utilisateurs est un petit peu plus complexe. Avant de pouvoir prévoir la capacité maximale d’utilisateurs, vous devez d’abord établir le profil du comportement de l’utilisateur, puis utiliser ces informations de profil utilisateur conjointement avec les valeurs métriques des performances, afin de calculer la capacité. Le comportement de l’utilisateur varie d’un site à un autre, en fonction de la richesse de l’expérience d’achat (structure de la page, structure du site et temps de réponse), ainsi que des types de produits vendus et de l’étendue de la gamme de produits. En raison des différences qui existent au niveau du comportement de l’utilisateur, un site peut prendre en charge 1 000 utilisateurs, alors qu’un autre site installé sur une plate-forme identique peut ne prendre en charge que 200 utilisateurs.

Pour plus d’informations sur l’analyse des performances et la planification de la capacité, consultez le livre blanc Sizing Guidelines for Windows 2000 Domain Controller and Global Catalog Server, disponible à l’adresse suivante : http://go.microsoft.com/fwlink/?LinkId=6278.

Le tableau suivant répertorie certaines questions auxquelles vous devez répondre lors de la planification des performances.

Question liée à la planification | Recommandation
Quels sont les éléments clés à mesurer pour déterminer les performances du site ? | Sélectionnez les facteurs les plus proches de vos objectifs en ce qui concerne le contenu à découvrir par l’utilisateur. Par exemple, si votre objectif consiste à permettre aux utilisateurs de naviguer rapidement dans le catalogue, mesurez la vitesse à laquelle est renvoyée une demande de navigation dans le catalogue.
Quels sont les profils d’utilisation clés pour la mesure des performances du site ? | Déterminez la manière dont vous voulez que les utilisateurs se connectent à votre site, ainsi que la charge prévue. Utilisez ce profil d’utilisation dans votre environnement de test, puis confirmez l’exactitude des profils lorsque vous avez collecté les informations relatives à l’utilisation dans le nobr>Data Warehouse de Commerce Server.
Quels sont les outils et les ressources nécessaires pour mesurer les performances de votre site ? | Examinez les outils de performance fournis dans le Kit de Ressources Techniques Commerce Server 2000 pour déterminer s’ils répondent à vos besoins.
De combien de serveurs avez-vous besoin pour votre site ? Comment doivent-ils être configurés ? | Commencez par examiner les informations de configuration du scénario d’utilisation fournies dans le Kit de Ressources Techniques Commerce Server 2000. Comparez ces scénarios avec les besoins de votre site, puis modifiez les informations de configuration selon la nature de vos besoins.
Quelles sont vos attentes concernant le rythme de croissance de l’utilisation de votre site ? | Prenez en compte le dépassement de capacité lors des premières étapes du déploiement de votre site. Comparez régulièrement la croissance effective à vos projections.
Comment voulez-vous équilibrer la charge entre les serveurs de votre site ? | Consultez le Kit de Ressources Techniques Microsoft Windows 2000 et le Kit de Ressources Techniques Commerce Server 2000 pour plus d’informations sur l’utilisation de l’équilibrage de charge réseau (NLB, Network Load Balancing).

Voir aussi

Optimisation de Commerce Server

Analyse des sites Commerce Server


Planification de la croissance

La structure préliminaire de votre site doit prendre en compte les possibilités d’expansion future. Un site correctement planifié peut s’étendre (évoluer) de manière rentable pour gérer l’augmentation du trafic tout en préservant les performances.

Pour planifier la future croissance de votre site, vous devez diviser l’architecture de votre site en deux larges couches : les serveurs Web frontaux et les systèmes principaux, qui stockent les données et contiennent vos systèmes de traitement commercial. Chacune de ces couches peut être subdivisée en plusieurs niveaux pour correspondre au schéma de croissance prévu pour votre site. Étant donné que Commerce Server 2002 est flexible, vous pouvez choisir l’architecture qui répond le mieux à vos besoins.

Vous ajustez généralement la partie principale en premier lieu, en procédant à un ajustement vertical (par la mise à jour du serveur et l’ajout d’un stockage de masse). Ensuite, vous pouvez également subdiviser la couche de données par fonction entre deux ou plusieurs serveurs. Par exemple, le Data Warehouse de Commerce Server peut être placé sur un serveur, et la base de données de stockage des informations de profil sur un autre. À l’aide de Commerce Server, vous pouvez répartir des fonctions entre plusieurs serveurs lors de l’installation ou effectuer cette procédure ultérieurement à l’aide du Gestionnaire Commerce Server. Pour les sites de grande taille, il est possible de partitionner les bases de données individuellement sur plusieurs serveurs.

Le tableau suivant répertorie certaines questions auxquelles vous devez répondre lors de la planification de la croissance.

Question liée à la planification | Recommandation
Quelle est l’architecture de site qui répond le mieux à vos besoins en matière d’augmentation constante de la capacité ? | Examinez les informations de configuration du scénario d’utilisation fournies dans le Kit de Ressources Techniques Commerce Server 2000. Sélectionnez la configuration qui répond le mieux à vos besoins.
Comment voulez-vous accroître la capacité de votre site parallèlement aux besoins d’utilisation ? | Planifiez une amélioration de chaque type de serveur, chaque connexion réseau et chaque fonction de Commerce Server. Cette planification doit inclure vos prévisions en matière d’amélioration du site lorsque les seuils spécifiés (tels que le nombre d’utilisateurs simultanés, l’utilisation de la mémoire ou du disque) sont atteints.

Voir aussi

Déploiement de votre site


Planification de l'intégration aux systèmes existants

Envoyer des commentaires sur cette page Commerce Server 2002

Planification de l’intégration aux systèmes existants

Durant le processus de planification, vous devez évaluer les systèmes et données existants, puis déterminer les méthodes les plus efficaces pour les intégrer aux composants de Commerce Server 2002 ou pour les convertir aux formats pouvant être importés dans les bases de données Commerce Server. En outre, vous devez planifier l’intégration de vos sous-systèmes d’e-commerce.

Le tableau suivant répertorie certaines questions auxquelles vous devez répondre lors de la planification de l’intégration.

Question liée à la planification | Recommandation
Voulez-vous intégrer les bases de données et serveurs de base de données existants, qui contiennent des données telles que des catalogues et des profils utilisateur ou des clients ? | Si vous envisagez de gérer des sources de données distinctes pour vos activités hors connexion et en ligne, vous devez établir un système de synchronisation des données. Intégrez Microsoft Host Integration Server 2000 et Microsoft Application Center 2000 à l’ensemble de la structure de votre système.
Voulez-vous intégrer les systèmes existants de traitement des commandes, de transaction de paiement, de gestion des stocks et d’exécution des commandes à Commerce Server ? | Si vous envisagez d’intégrer ces systèmes, développez des composants COM (Component Object Model) pour les connecter à Commerce Server. Incorporez également Microsoft BizTalk Server 2000 à l’ensemble de la structure de votre système.
Devez-vous intégrer des systèmes ERP (Enterprise Resource Planning) comprenant des fournisseurs et des partenaires commerciaux ? | Si vous envisagez d’intégrer des systèmes ERP, vous devez incorporer BizTalk Server à l’ensemble de la structure de votre système.
Quels sont vos besoins en matière de conversion des données ? | Établissez un système permettant de transformer les données de leur format d’origine en un format utilisable dans Commerce Server. Par exemple, vous devez convertir au format XML (Extensible Markup Language) des données de catalogue existantes ayant un format délimité par des tabulations, avant de les importer dans le système de catalogue de produits.
Quels sont vos besoins en matière de développement personnalisé ? | Bien que Commerce Server soit un produit très complet, il a été conçu pour vous permettre de personnaliser de nombreuses fonctionnalités afin de répondre le mieux possible à vos besoins commerciaux. Examinez attentivement la liste des fonctionnalités dans Présentation rapide des fonctionnalités de Commerce Server et lisez l’aide de Commerce Server 2002 avant de planifier un développement personnalisé.
Voulez-vous réaliser le développement personnalisé en interne ou travailler en collaboration avec un éditeur de logiciels ? | Consultez les informations relatives aux partenaires Microsoft à l’adresse suivante : http://go.microsoft.com/fwlink/?LinkId=6772.

Voir aussi

Integrating with BizTalk Server (en anglais)

Integrating a Third-Party Product Catalog (en anglais)

Ajout d’une application non-Commerce Server à un site

Ajout d’un serveur Web non-Commerce Server à une application


Planification de l'intégration à Active Directory

Envoyer des commentaires sur cette page Commerce Server 2002

Planification de l’intégration à Active Directory

Active Directory est un service d’annuaire intégré à Microsoft Windows 2000. Vous pouvez utiliser Active Directory pour ajouter, modifier, supprimer et organiser les entités commerciales de votre organisation. Par exemple, les comptes d’utilisateur, comptes d’ordinateur, groupes de sécurité et de distribution, ainsi que les ressources publiées de Windows 2000 sont tous accessibles via Active Directory.

Vous pouvez utiliser Active Directory comme source de données pour les données de profil. Le système de profil rassemble les données de Active Directory et d’autres sources de données en une entité commerciale unique, que vous pouvez ensuite utiliser lors de l’implémentation de Commerce Server. Par exemple, vous pouvez stocker le numéro de compte et le mot de passe d’un utilisateur dans Active Directory, puis stocker le reste des informations du compte (contacts, seuil de crédit, préférences, etc.) dans Microsoft SQL Server. Le système de profil rassemble ensuite les données provenant de ces deux sources de données en un profil unique, que vous pouvez utiliser pour des opérations de ciblage ou d’analyse.

Active Directory est une technologie d’une grande robustesse et évolutivité ; cependant, il est important que l’architecture de votre site soit conçue pour pouvoir l’utiliser de manière appropriée.

Si vous envisagez de répartir les utilisateurs en groupes dans Active Directory, vous devez prendre toutes les précautions nécessaires pour vous assurer que les performances du serveur Active Directory sont appropriées. L’ajout d’utilisateurs à des groupes est une opération relativement lourde dans Active Directory ; en outre, la limite est de 5 000 utilisateurs par groupe.

Pour contourner cette limite, le Kit de développement de logiciel (SDK, Software Development Kit) de Microsoft Commerce Server comprend un objet appelé Subgroup Manager qui permet de stocker plus de 5 000 utilisateurs dans un groupe « virtuel », en masquant les groupes réels dans lesquels les utilisateurs sont stockés. Pour plus d’informations, consultez Subgroup Manager (en anglais). Étant donné que l’utilisation de cet objet entraîne une surcharge de travail dans un processus déjà très sollicité, vous devez prendre ce facteur en considération lors du choix du matériel approprié pour le composant de votre site Web.

Le tableau suivant répertorie certaines questions auxquelles vous devez répondre pour déterminer la meilleure façon d’utiliser Active Directory lors de la conception de votre site.

Question liée à la planification | Recommandation
Quelles données voulez-vous stocker dans Active Directory ? | Vous ne devez stocker dans Active Directory que des données non volatiles.
Quel volume de données allez-vous stocker dans Active Directory ? Vous pouvez inclure jusqu’à un million de comptes d’utilisateur dans un seul domaine Active Directory. Cette estimation se base sur les hypothèses suivantes :
  • À un moment donné, 1 pour cent (10 000) des utilisateurs utilisera le site de manière active.
  • Le rapport entre le nombre d’éléments écrits dans Active Directory et le nombre d’éléments lus dans Active Directory ne dépasse pas 14 pour cent.

Si vous devez accueillir plus d’un million d’utilisateurs dans votre banque Active Directory, vous pouvez rassembler plusieurs domaines contenant chacun un million d’utilisateurs.

Si vous envisagez d’utiliser Active Directory pour des implémentations à plus large échelle, sollicitez les services de Conseil de Microsoft (MCS) pour vous aider dans votre tâche de planification.

Voir aussi

Configuration d’un site de petite taille avec Active Directory

Définition des domaines

Migration de l'annuaire d'abonnement

Création d’une définition de profil avec deux sources de données


Planification d'une solution internationale

Envoyer des commentaires sur cette page Commerce Server 2002

Planification d’une solution internationale

Commerce Server offre de nombreux outils permettant de développer une solution internationale ; cependant, il est important de bien comprendre quelles sont les décisions clés à prendre en matière de conception, avant d’implémenter une solution. Pour ce faire, vous devez analyser les exigences de votre solution dans les deux grands domaines suivants :

  • Exigences relatives à l’affichage des caractères
  • Exigences relatives à l’affichage des devises


Exigences relatives à l'affichage des caractères

Envoyer des commentaires sur cette page Commerce Server 2002

Exigences relatives à l’affichage des caractères

Commerce Server 2002 utilise les fonctionnalités d’affichage des caractères de Windows 2000 et de SQL Server 2000. Votre solution Commerce Server 2002 peut tirer pleinement parti des multiples fonctionnalités d’affichage de ces deux produits sous-jacents. Toutefois, vous devez répondre à plusieurs questions clés en matière de planification pour pouvoir utiliser ces fonctionnalités. Le tableau suivant répertorie ces questions.

Question liée à la planification | Recommandation
Devez-vous afficher des caractères nécessitant des pages de codes différentes dans un même site Web ? Bien qu’il soit possible d’afficher des caractères nécessitant différentes pages de codes sur votre site, il existe plusieurs limites. En règle générale, vous devez planifier la gestion d’une seule page de codes pour les éléments suivants :
  • chaînes de requête ;
  • événements Commerce Server ;
  • noms de fichiers.

Une seule page de codes suffit pour les noms de fichiers dans la mesure où ces derniers peuvent apparaître dans le champ URL. Les fichiers journaux Web des services IIS ne prennent en charge que des pages de codes uniques ; ces fichiers journaux sont importés dans le Data Warehouse.
Devez-vous afficher des caractères nécessitant des pages de codes différentes pour vos articles du catalogue de produits ? | Créez un catalogue de base unique contenant les descriptions. Définissez les propriétés de langue pour les langues appropriées. Ajoutez du code à votre site pour afficher les descriptions du catalogue de produits à l’aide de la page de codes appropriée, comme l’expliquent les rubriques ASP-Based Catalog Sitelet et ASP .NET-Based Catalog Sitelet (en anglais).
Devez-vous afficher des caractères nécessitant des pages de codes pour votre contenu de campagne marketing ? | En règle générale, vous devez créer plusieurs versions du contenu de votre campagne marketing pour chaque langue. Les campagnes marketing peuvent présenter des spécificités linguistiques et culturelles, et requièrent parfois davantage qu’une simple traduction. Si chaque élément d’une campagne marketing nécessite une page de codes différente, ajoutez du code à votre site pour afficher les descriptions du catalogue de produits à l’aide de la page de codes appropriée. Pour plus d’informations, consultez les rubriques (en anglais) ASP-Based Advertising Sitelet et ASP .NET-Based Advertising Sitelet.


Exigences relatives à l'affichage des devises

Envoyer des commentaires sur cette page Commerce Server 2002

Exigences relatives à l’affichage des devises

Commerce Server utilise les fonctionnalités d’affichage des devises de Windows 2000 et de SQL Server 2000. En règle générale, l’identificateur LCID de devise détermine le format d’affichage des devises (symbole de devise et séparateur décimal). La position du symbole de devise, le symbole de groupement des chiffres ainsi que le séparateur décimal (le cas échéant) sont spécifiques aux paramètres régionaux. Le symbole de devise et l’existence de décimales sont spécifiques à la devise ; par exemple, le symbole du Yen japonais est ¥, quels que soient les paramètres régionaux ou les valeurs (le Yen ne comporte pas de décimales).

Commerce Server 2002 fournit une méthode simple pour définir l’identificateur LCID de devise site par site (au moyen d’une propriété de configuration par défaut de l’application) et pour intégrer le code de mise en forme des devises de votre application. Toutefois, vous devez répondre à plusieurs questions clés en matière de planification pour pouvoir utiliser ces fonctionnalités. Le tableau suivant répertorie ces questions.

Question liée à la planification | Recommandation
Devez-vous afficher deux devises simultanément pour un même article de catalogue (par exemple, des dollars américains et des yens japonais) ? | Définissez la devise utilisée par votre système comptable dans les rapports financiers en tant que devise de base dans la ressource Configuration par défaut de l’application. Définissez la deuxième devise en tant que devise secondaire. Stockez la valeur de la devise de base dans le catalogue, et arrondissez le prix secondaire lors de l’exécution en utilisant un taux de conversion approprié. Pour plus d’informations sur la ressource Configuration par défaut de l’application, consultez Configuration de la ressource Configuration par défaut de l’application.
Devez-vous afficher les prix du catalogue dans des devises différentes en fonction d’un accord de conversion à taux fixe ? | Stockez les taux de conversion fixes dans une base de données, et utilisez-les pour calculer une règle de tarification appropriée. Ceci peut également s’effectuer à l’aide des règles de tarification et des catalogues virtuels.

(en anglais)


Sécurisation de votre site

Un site Web conçu, construit et déployé avec la sécurité comme souci premier est plus robuste qu’un site Web dont les fonctionnalités de sécurité sont ajoutées ultérieurement. Cependant, à mesure que les sites Web gagnent en complexité, il devient plus difficile de les sécuriser. La sécurisation ne s’obtient pas en définissant quelques propriétés particulières, ni en utilisant un outil spécifique, mais en adoptant une approche holistique et en prenant la sécurité en compte à toutes les étapes de la planification, du développement et du déploiement du site.

Pour obtenir des instructions détaillées sur la configuration de votre installation de Commerce Server afin d’utiliser la sécurité intégrée de Windows, consultez Déploiement de Commerce Server à l’aide de l’authentification Windows.

Cette section contient les rubriques suivantes :

  • Liste de contrôle de la sécurité. Vue d’ensemble des mesures recommandées pour sécuriser votre installation Commerce Server.
  • Méthodes conseillées pour la sécurité. Décrit les recommandations relatives à la configuration d’un site sécurisé.
  • Remarques importantes relatives à la sécurité. Décrit les problèmes de sécurité connus dans Commerce Server ainsi que la procédure à suivre pour réduire les risques de sécurité.
  • Utilisation de l’authentification Windows. Explique comment configurer votre site Commerce Server pour utiliser l’authentification Windows sur vos bases de données SQL Server.
  • Utilisation de l’authentification SQL. Explique les risques de sécurité associés à l’utilisation de l’authentification SQL plutôt que l’authentification Windows pour la connectivité avec les bases de données.
  • Déploiement d’un site sécurisé. Explique les mesures à prendre pour concevoir et développer un site sécurisé. Décrit comment éviter les saturations de tampon, les problèmes de script intersite et les attaques de type refus de service.
  • Déploiement d’un site sécurisé. Fournit une vue d’ensemble d’une configuration sécurisée comprenant trois pare-feu.
  • Sécurisation des comptes anonymes. Décrit les exigences en matière de sécurité pour le compte anonyme utilisé par les utilisateurs au moment de l’exécution.
  • Sécurisation des comptes de service. Décrit les autorisations nécessaires aux comptes du service Commerce Server lorsque vous utilisez l’authentification Windows pour la connectivité aux bases de données.
  • Sécurisation de Business Desk. Explique comment sécuriser l’application et l’interface utilisateur de Business Desk.
  • Sécurisation de vos bases de données. Explique comment sécuriser vos bases de données Commerce Server lorsque vous utilisez l’authentification Windows pour la connectivité aux bases de données.
  • Sécurisation d’un déploiement de Predictor. Explique comment sécuriser les composants d’un déploiement de Predictor.
  • Sécurisation de votre réseau. Explique comment activer SSL (Secure Sockets Layer) sur votre site Commerce Server. Décrit les systèmes de détection des intrusions.
  • Sécurisation de votre serveur Web. Fournit une vue d’ensemble de la sécurisation d’un serveur Web.
  • Informations supplémentaires sur la sécurité. Répertorie les sources d’informations supplémentaires pour le développement et le déploiement d’un site sécurisé.


Liste de contrôle de la sécurité

Cette section propose une vue d’ensemble des mesures recommandées pour sécuriser votre installation Commerce Server.

  • Déployez une infrastructure sécurisée.
    • Utilisez des pare-feu.
    • Exécutez des services SQL et Windows, en particulier les services Commerce Server – Gestionnaire de listes et Service de publipostage – en utilisant des comptes avec le moins de privilèges possible. Le compte utilisateur utilisé pour l’enregistrement des événements doit être celui d’un administrateur local.
    • Limitez les demandes, par exemple pour les paniers et les validations.
    • Configurez les applications IIS (Internet Information Services) utilisées par Commerce Server en mode Moyen (Pooled). Si vous disposez d’une configuration comportant plusieurs sites, les applications IIS utilisées par Commerce Server doivent être exécutées en mode Élevé (Isolé).
  • Déploiement de Commerce Server en utilisant l’authentification Windows.
    • Créez des comptes de domaines pour les services et les utilisateurs de Commerce Server.
    • Installez Commerce Server en utilisant la sécurité intégrée de Windows.
    • Configurez le compte anonyme à mapper au compte de domaine.
    • Configurez une connexion approuvée pour le serveur Web de Business Desk
  • Sécurisez l’application et l’interface utilisateur de Business Desk.
    • Appliquez l’authentification NTLM aux clients de Business Desk qui exécutent Windows NT 4.0 ou des versions antérieures.
    • Utilisez le module Autorisations de Business Desk pour restreindre l’accès aux modules, aux tâches, aux champs et aux propriétés.
    • Définissez des autorisations à la fois sur les répertoires physiques et virtuels de Business Desk, afin que seul l’administrateur puisse y accéder.
    • Définissez des autorisations sur les scripts BDRefresh.asp, RefreshApp.asp et Opt-Out.asp pour accepter uniquement les accès de l’adresse IP du serveur Business Desk.
  • Sécurisez la base de données d’administration, qui contient les informations de configuration de votre site.
    • Utilisez l’authentification Windows pour la connexion à la base de données d’administration.
    • Sécurisez les objets SiteConfigReadOnly, SiteConfig et GlobalConfig.
    • Limitez les scripts exécutables de façon à empêcher les agresseurs d’accéder à ces objets de configuration.
    • Restreignez l’utilisation des objets SiteConfig et GlobalConfig en modifiant les listes de contrôle d’accès (ACL) sur les clés de registre pour ces classes d’objet.
  • Sécurisez les bases de données d’exécution de Commerce Server.
    • Utilisez l’authentification Windows pour la connexion aux bases de données.
    • Exécutez les scripts de sécurité de Commerce Server pour créer les rôles appropriés sur chaque base de données puis attribuer des comptes d’utilisateur et d’utilisateur au moment de l’exécution Business Desk aux rôles appropriés.
    • Utilisez une connexion réseau cryptée en déployant le cryptage sur les canaux nommés : utilisez l’authentification IPSec et activez le cryptage SSL et le cryptage client multiprotocole.
    • Utilisez les fonctionnalités de cryptage de Commerce Server (telles que le hachage à sens unique et le cryptage asymétrique) pour crypter les mots de passe utilisateur, c’est-à-dire les données qu’il n’est pas nécessaire de décrypter. Utilisez le cryptage asymétrique pour crypter les numéros des cartes de crédit et leurs dates d’expiration.
    • Définissez des autorisations sur les bases de données, les tables et les procédures stockées de Commerce Server pour les utilisateurs au moment de l’exécution (utilisateurs qui visitent votre site Web) et les utilisateurs au moment de la conception (utilisateurs qui mettent à jour votre site à l’aide de Business Desk).
  • Sécurisez le Data Warehouse.
    • Exécutez les scripts de sécurité de la tâche DTS sur toutes les bases de données Commerce Server auxquelles la tâche DTS doit accéder. Ces scripts créent le rôle DTS_ImportRole de chaque base de données et lui accordent les autorisations de base de données appropriées. Vous attribuez au rôle DTS_ImportRole le compte de connexion des utilisateurs autorisés à exécuter les tâches DTS.
    • Exécutez les scripts de sécurité des rapports sur la base de données du Data Warehouse. Ces scripts créent deux rôles dans la base de données du Data Warehouse : un pour les utilisateurs qui exécutent et affichent les rapports, et un autre pour les utilisateurs qui créent, suppriment et modifient les rapports. Les rôles disposent des autorisations de base de données appropriées. Attribuez des utilisateurs Business aux rôles appropriés, en fonction de leurs besoins.
    • Configuration de l’accès au serveur d’analyse via HTTPS. Ceci permet aux utilisateurs Business Desk d’exécuter des rapports via Internet.
  • Sécurisez la base de données du service de publipostage.
    • Accordez l’accès db_owner au service de publipostage.
    • Accordez l’accès db_owner au service Gestionnaire de listes.
  • Sécurisez les fichiers journaux Web qui sont importés dans le Data Warehouse.
    • Définissez des listes de contrôle d’accès (ACL) sur le répertoire des fichiers journaux.
    • Utilisez une connexion réseau cryptée (appliquez SSL et IPSec).
  • Sécurisez le serveur Web, l’application et les fichiers spécifiques installés sur le serveur Web.
    • Supprimez le serveur FTP, le serveur SMTP, le service d’indexation, les extensions Microsoft FrontPage, le débogueur de script et le Gestionnaire des services Internet (HTML), s’ils ne sont pas utilisés par une autre application sur le serveur.
    • Sécurisez le répertoire de pipelines à l’aide de listes de contrôle d’accès pour éviter les téléchargements des fichiers .PCF et .PIPELOG.
    • Sécurisez le fichier Csapp.ini en désactivant son accès anonyme et son accès en lecture dans les services IIS. Ne pas utiliser d’autorisations du système de fichiers NTFS pour sécuriser ce fichier car celui-ci doit être lisible dans le cadre des informations d’identification utilisateur telles que le compte IUSR.
    • Créez des scripts pour sécuriser les fichiers et dossiers contenant votre site après l’avoir décompressé. Le Gestionnaire de package de site Commerce Server ne compresse ni ne décompresse aucune autorisation de dossier ou de fichier NTFS (listes de contrôle d’accès).
    • Soyez prudent lors de la configuration des comptes pouvant se connecter interactivement à un serveur Web : vérifiez que le compte Invité est désactivé et que seuls les comptes nécessitant l’accès au serveur Web reçoivent les droits d’accès.
    • Désactivez les autorisations en écriture sur les dossiers (onglet Répertoire de base) et les applications IIS (Internet Information Services).
  • Installez les outils du programme Microsoft Strategic Technology Protection Program, disponible à l’adresse http://go.microsoft.com/fwlink/?LinkId=6689.
    • Utilisez l’outil IIS Lockdown pour supprimer tous les liens inutiles du Gestionnaire des services Internet (par exemple les scripts, les images, iishelp, iisadmin et msadc). Pour télécharger l’outil IIS Lockdown, reportez-vous à l’adresse http://go.microsoft.com/fwlink/?LinkId=6689.
    • Utilisez l’outil URLScan pour vérifier que vos serveurs Web ne répondent qu’aux demandes légitimes.
    • Utilisez l’outil HFNetCheck pour analyser vos serveurs locaux et distants et vérifier que tous les correctifs de sécurité disponibles pour Windows 2000, les services IIS 5.0, Internet Explorer et SQL Server ont bien été installés. Pour télécharger l’outil HFCheck, reportez-vous à l’adresse http://go.microsoft.com/fwlink/?LinkId=6715.
    • Utilisez l’outil QChain.exe pour installer plusieurs correctifs en ne procédant qu’à un seul redémarrage. Pour télécharger l’outil QChain.exe, consultez l’article Q296861 (en anglais) dans la Base de connaissances Microsoft : « Use QChain.exe to Install Multiple Hotfixes with Only One Reboot », que vous trouverez à l’adresse http://go.microsoft.com/fwlink/?LinkId=6716.


Méthodes conseillées pour la sécurité

Il est fortement recommandé de suivre les méthodes conseillées répertoriées dans cette rubrique, afin de garantir une installation sécurisée de Commerce Server.

  • Installez Commerce Server en utilisant l’authentification Windows.

    Si vous n’acceptez pas les options d’installation par défaut et installez Commerce Server en utilisant l’authentification SQL Server, votre déploiement peut comporter certains risques de sécurité. Pour plus d’informations sur ces risques de sécurité, ainsi que sur les étapes nécessaires à la sécurisation de votre site, consultez Remarques importantes relatives à la sécurité.

    Certaines ressources de Commerce Server ne doivent pas être configurées pour utiliser l’authentification SQL Server lors de l’accès à vos bases de données. De même, d’autres ressources ne doivent pas être configurées pour utiliser l’authentification Windows. Toutes les ressources doivent utiliser la même méthode de sécurité.

    Les problèmes suivants s’appliquent à des configurations spécifiques :

    • Si l’ordinateur SQL Server est distant et que vous utilisez l’authentification Windows pour accéder à vos bases de données, vous devez mapper le compte anonyme IIS vers un compte de domaine.

      Si vous utilisez un ordinateur SQL Server distant ainsi que l’authentification Windows, vous devez mapper le compte anonyme IIS (IUSR_ordinateur par défaut) vers un compte de domaine. Vous devez ensuite créer une connexion SQL Server pour le compte de domaine, qui dispose d’un accès complet aux bases de données d’exécution de Commerce Server.

    • Si l’ordinateur SQL Server est local, et que vous utilisez l’authentification Windows, SQL Server nécessite que des autorisations soient attribuées au compte utilisé comme compte anonyme IIS.

      SQL Server nécessite que le compte anonyme IIS possède les autorisations d’accès nécessaires à la banque de données.

      Vous pouvez effectuer cette configuration, si vous êtes par exemple un développeur et que les logiciels sont installés sur un seul ordinateur.

  • Pour les utilisateurs Business Desk, configurez les services IIS, afin de prendre en charge l’authentification de base.

    Lorsque les utilisateurs Business Desk exécutent des rapports, ils accèdent aux données de la base de données des services Analysis Services. Pour pouvoir utiliser les services Analysis Services sur une connexion HTTPS, les utilisateurs Business Desk doivent être authentifiés via l’authentification de base (qui transmet les informations d’identification de Windows 2000).

    Lors de la transmission des informations d’identification de Windows 2000 par le Web, utilisez HTTPS pour garantir la sécurisation du compte et du mot de passe Windows.

    Remarque

    • Lorsque les utilisateurs Business Desk exécutent des rapports et accèdent aux services Analysis Services via HTTPS, leurs identificateur d’utilisateur et mot de passe Windows 2000 valides sont stockés dans le code HTML de Business Desk. Pour plus d’informations, consultez Accès au serveur d’analyse via HTTPS.
  • Lors d’un déploiement sur plusieurs serveurs, au cours duquel vous utilisez AuthFilter, vous devez utiliser l’authentification SQL Server pour la chaîne de connexion à la base de données d’administration.

    Le scénario est le suivant :

    • Déployez Commerce Server en utilisant l’authentification Windows.
    • Utilisez SQL Server (à la place de Microsoft Active Directory).
    • Utilisez AuthFilter.
    • Remplacez la chaîne de connexion à la base de données d’administration par une authentification SQL Server.

    Lorsque vous utilisez AuthFilter dans le cadre de ce scénario, vous devez modifier la chaîne de connexion à la base de données d’administration, car le filtre ISAPI (et donc AuthFilter) s’exécute dans le contexte de sécurité du processus IIS (inetinfo), dénommé LocalSystem. En conséquence, AuthFilter tente de se connecter à SQL Server sur un autre ordinateur, en utilisant les informations d’identification de LocalSystem ; cette démarche n’est pas valide, car AuthFilter ne dispose pas des droits requis pour établir des connexions sur le réseau. (Si la base de données d’administration est locale, la connexion peut fonctionner, mais vous ne devez jamais placer la base de données d’administration sur le serveur Web.)

    Ce scénario ne s’applique pas à l’utilisation des services IIS (Internet Information Services) 6.0.

    Pour plus d’informations, consultez Utilisation de l'authentification Windows dans un déploiement distribué.

  • Dans les environnements comportant plusieurs sites, n’autorisez pas le chargement de scripts.

    À moins que le script chargé ne soit attentivement contrôlé, le code qu’il contient peut poser un risque pour la sécurité.

Voir aussi

Remarques importantes relatives à la sécurité

Utilisation de l'authentification Windows dans un déploiement distribué

Sécurisation des comptes de service

Sécurisation des bases de données d’exécution de Commerce Server

Sécurisation des bases de données du Data Warehouse

Sécurisation de Business Desk


Remarques importantes relatives à la sécurité

Cette rubrique décrit les problèmes de sécurité connus de Commerce Server ainsi que des étapes à effectuer pour diminuer ces risques.

Problèmes de sécurité connus

  • Sécurité du catalogue : attribuer des utilisateurs Business Desk au rôle DB_Owner
  • Gestionnaire de package de site : Gestionnaire de package de site : supprimer le fichier Unpack.vbs
  • Application Config COM+ : supprimer Tout le monde du rôle Utilisateurs Web
  • AuthFilter nécessite l'authentification SQL pour la base de données d'administration

Sécurité du catalogue : attribuer des utilisateurs Business Desk au rôle DB_Owner

Pour permettre aux utilisateurs Business Desk de modifier des catalogues (par exemple, modifier une définition de catalogue, reconstruire le catalogue, mettre à jour l’index de texte intégral et publier le catalogue), vous devez les attribuer au rôle db_owner de la base de données du catalogue. Pour connaître les instructions à suivre, consultez Déploiement de Commerce Server en utilisant l’authentification Windows.

Vérifiez soigneusement la fiabilité de l’utilisateur Business Desk que vous attribuez au rôle db_owner. Lorsque vous attribuez un utilisateur Business Desk à ce rôle, vous devez envisager le risque de sécurité suivant.

Important

  • Un utilisateur Business Desk attribué au rôle db_owner peut tout à fait supprimer une base de données. Pour diminuer ce risque, installez un pare-feu pour empêcher le client Business Desk de se connecter directement à la base de données SQL Server contenant les catalogues. Il s’agit de la configuration sécurisée recommandée. Pour obtenir des instructions détaillées sur le déploiement de pare-feu, consultez Déploiement d’un site sécurisé.

Gestionnaire de package de site : supprimer le fichier Unpack.vbs

Si vous créez un fichier unpack.vbs lorsque vous décompressez une application vers un serveur Web distant, vous devez supprimer le fichier immédiatement après la décompression de l’application.

Le fichier unpack.vbs existe dans le répertoire racine et les utilisateurs anonymes peuvent y accéder. L’utilisation non autorisée de ce fichier de commandes pourrait conduire au refus de service ou à l’altération des paramètres de site.

Application Config COM+ : supprimer Tout le monde du rôle Utilisateurs Web

Bien que Commerce Server installe cinq applications COM+, seule l’application Config, utilisée pour accéder à la base de données d’administration, utilise les rôles attribués. Ces rôles sont les suivants :

  • Administrateurs. Les comptes de ce rôle utilisent des objets pour écrire dans la base de données d’administration. Par défaut, l’utilisateur connecté durant l’installation de Commerce Server est ajouté à ce rôle ; par ailleurs, le groupe local Administrateurs est également ajouté.

    Utilisez ce rôle pour donner aux administrateurs système l’autorisation d’utiliser le Gestionnaire Commerce Server.

  • Web Users. Les comptes de ce rôle disposent d’autorisations permettant d’ajouter un serveur Web à une application.

    Ce rôle est conçu pour prendre en charge les ajouts automatiques de serveurs Web, par exemple, dans le cas d’une batterie de serveurs Web (Web farm) : lorsque l’application Commerce Server démarre pour la première fois sur le nouveau serveur Web. Par exemple, lorsqu’un utilisateur se connecte au serveur Web, ou y est renvoyé par répartition, global.asa démarre. Le serveur Web est alors automatiquement ajouté à la base de données d’administration. La fonction qui met à jour la base de données d’administration est JoinWebFarm ; elle est incluse dans les sites solutions.

    Par défaut, Tout le monde est ajouté à ce rôle. Vous devez procéder aux modifications suivantes :

    1. Supprimez Tout le monde.
    2. Ajoutez le compte Anonyme (IUSR_<nom_ordinateur> par défaut).
    3. Ajoutez le compte de Lancement de IIS Process (IWAM_<nom_ordinateur> par défaut).
    4. Ajoutez les comptes des autres utilisateurs autorisés à se connecter au site.

    Pour plus d’informations sur JoinWebFarm, consultez JoinWebFarm et Ajout de serveurs Web sans le Gestionnaire de package de site.

AuthFilter nécessite l’authentification SQL pour la base de données d’administration

Lorsque vous utilisez AuthFilter dans un déploiement distribué, vous devez modifier la chaîne de connexion de la base de données d’administration à l’authentification SQL. Vous devez modifier la chaîne de connexion pour la raison suivante

le filtre ISAPI (et donc AuthFilter) s’exécute dans le contexte de sécurité du processus IIS (inetinfo), dénommé LocalSystem. En conséquence, AuthFilter tente de se connecter à SQL Server sur un autre ordinateur, en utilisant les informations d’identification de LocalSystem, lesquelles ne sont pas valides ; en effet, celui-ci ne dispose pas des droits requis pour établir des connexions sur le réseau.

Si la base de données d’administration est locale, la connexion peut fonctionner, mais vous ne devez jamais placer la base de données d’administration sur le serveur Web.

Voir aussi

Sécurisation des comptes de service

Sécurisation des bases de données Commerce Server

Sécurisation des bases de données du Data Warehouse

Sécurisation de Business Desk


Utilisation de l'authentification Windows

Envoyer des commentaires sur cette page Commerce Server 2002

Utilisation de l’authentification Windows

Commerce Server prend en charge l’authentification Windows pour SQL Server. Cette authentification s’appelle également la sécurité intégrée de Windows.

L’authentification Windows est la configuration recommandée pour une installation Commerce Server. Dans l’authentification Windows, les comptes utilisateur Windows sont utilisés pour l’authentification auprès de SQL Server. Commerce Server définit une balise dans la chaîne de connexion, qui indique à SQL Server d’utiliser l’authentification Windows lors de la vérification du contexte de sécurité de l’utilisateur qui tente d’accéder à une base de données précise.

Lorsque vous utilisez l’authentification Windows, les noms d’utilisateur et les mots de passe ne sont pas stockés dans la chaîne de connexion SQL Server et ne sont pas modifiés lors de la réinitialisation du mot de passe SQL Server.

Cette section contient les rubriques suivantes :

  • Liste de contrôle pour l’utilisation de l’authentification Windows
  • Déploiement de Commerce Server en utilisant l’authentification Windows.
  • Utilisation de l’authentification Windows dans un déploiement sur un seul ordinateur.
  • Utilisation de l’authentification Windows dans un déploiement distribué
  • Utilisation du service de publipostage et de l’authentification Windows


Liste de contrôle pour l'utilisation de l'authentification Windows

Envoyer des commentaires sur cette page Commerce Server 2002

Liste de contrôle pour l’utilisation de l’authentification Windows

Vous trouverez ci-après une liste de contrôle pour la configuration d’un déploiement sécurisé utilisant l’authentification Windows dans un déploiement distribué incluant les contrôleurs de domaine. Pour obtenir un schéma de déploiement sécurisé, consultez Vue d’ensemble d’un exemple de déploiement sécurisé.

Contrôleurs de domaine

  • Installez Active Directory en mode natif.
  • Exécutez setspn.exe pour définir le nom principal de service (SPN, Service Principle Name).
  • Exécutez setspn –L pour vérifier l’existence de host/WebServerNetbios et de host/WebServerDNSName.
  • Exécutez setspn -L SQLnetbiosName pour vérifier l’existence du nom principal de service SQL.

Serveur Web

  • Configurez-le pour une isolation moyenne (En file d’attente) en utilisant IWAM\<nom_ordinateur>. Vous n’avez pas besoin d’autorisations supplémentaires pour IWAM.

    Le mode d’isolation élevée est requis pour les déploiements comportant plusieurs sites.

  • Vérifiez que TCP/IP est un protocole/net lib pour les connexions du client SQL.

SQL Server

  • Configurez-le pour une authentification en mode mixte.
  • Activez le protocole TCP/IP pour le serveur. Si vous utilisez une instance nommée, fournissez un numéro de port et SQL ajoutera un nom principal de service (en l’occurrence, mssqlsvc/dnsname:port) lors du redémarrage du service (MSSQLSVC).

Client Business Desk

  • L’ordinateur sur lequel le client Business Desk est installé doit se trouver dans le même domaine (la même forêt) que les ordinateurs du niveau des données, ou dans un domaine approuvé.
  • Utilisez Internet Explorer 5.5 ou une version ultérieure. Si vous installez Internet Explorer 6.0, l’option « Utiliser l’authentification intégrée de Windows » est désactivée par défaut. Vous devez l’activer.


Déploiement de Commerce Server en utilisant l'authentification Windows

Envoyer des commentaires sur cette page Commerce Server 2002

Déploiement de Commerce Server en utilisant l’authentification Windows

Il est fortement recommandé d’installer Commerce Server en utilisant la sécurité intégrée de Windows et de sécuriser vos bases de données pour l’utilisation de l’authentification Windows.

Voici les étapes à suivre pour installer Commerce Server en utilisant la sécurité intégrée de Windows et pour sécuriser vos services et bases de données pour l’utilisation de l’authentification Windows. Chacune de ces étapes est expliquée en détail dans cette section.

  • Étape 1 : Exécuter dcpromo et installer les services Active Directory
  • Étape 2 : Créer les comptes requis
  • Étape 3 : Installer Commerce Server en utilisant la sécurité intégrée de Windows
  • Étape 4 : Décompresser votre site et configurer les chaînes de connexion de la base de données pour l’authentification Windows
  • Étape 5 : Configurer une connexion approuvée pour les utilisateurs Business Desk
  • Étape 6 : Mapper le compte anonyme du site Web vers le compte de domaine anonyme
  • Étape 7 : Créer des comptes de connexion SQL pour chaque compte requis
  • Étape 8 : Exécuter les scripts de sécurité de la base de données Commerce Server
  • Étape 9 : Ajouter les comptes requis aux rôles de la base de données
  • Étape 10 : Configurer la base de données OLAP
  • Étape 11 : Ajouter les comptes de service au rôle de l’application Config COM+
  • Étape 12 : Ajouter des comptes d’utilisateur aux comptes de domaine du groupe
  • Étape 13 : Accorder des autorisations aux utilisateurs Business Desk
  • Étape 15 : Activer l’authentification intégrée de Windows dans Internet Explorer
  • Étape 15 : Mapper le compte de connexion de l’utilisateur vers l’utilisateur propriétaire de la base de données (dbo)

Étape 1 : Exécuter dcpromo et installer les services Active Directory

Exécutez cette étape si les services Active Directory et les services DNS (Domain Name Service) ne sont pas installés et si vous ne disposez pas d’un contrôleur de domaine. Si les services Active Directory sont déjà installés, passez à l’étape 2 : Créer les comptes requis.

Pour obtenir des instructions détaillées sur l’exécution de dcpromo et l’installation des services Active Directory, consultez Configuration de Active Directory et du DNS sur l’Ordinateur 1.

Pour exécuter dcpromo et installer les services Active Directory

  1. Cliquez sur Démarrer, puis sur Exécuter.
  2. Dans la boîte de dialogue Exécuter, dans la zone Ouvrir, tapez dcpromo, puis cliquez sur OK.

    L’Assistant Installation de Active Directory démarre.

  3. Suivez les instructions en ligne de l’assistant, mais observez les points suivants :
    • Dans la boîte de dialogue Mot de passe administrateur de Restauration des services d’annuaire, vous êtes invité à saisir le mot de passe que vous voulez affecter au compte d’administrateur pour le serveur DNS. Ce compte est différent du compte d’administrateur pour l’ordinateur.

Étape 2 : Créer les comptes requis

Créez les comptes de groupe ou d’utilisateur requis sur l’ordinateur sur lequel les services Active Directory sont installés.

Pour créer les comptes requis

  1. Connectez-vous en tant qu’administrateur de l’ordinateur (et non pas en tant qu’administrateur de domaine).
  2. Cliquez sur Démarrer, pointez sur Programmes, sur Outils d’administration, puis cliquez sur Utilisateurs et ordinateurs Active Directory.
  3. Dans Utilisateurs et ordinateurs Active Directory, cliquez avec le bouton droit sur Utilisateur puis sur Nouvel utilisateur.
  4. Dans la boîte de dialogue Nouvel utilisateur, tapez le nom du nouveau nom de compte, CSDM par exemple, tapez un mot de passe puis cliquez sur Créer.
  5. Répétez ces étapes jusqu’à ce que vous ayez créé chacun des comptes suivants.
    Utilisateur du compte | Exemple de nom de compte | Description
    Utilisateur au moment de l’exécution | Anonyme | Compte d’utilisateur pour les utilisateurs anonymes visitant votre site Web.
    Service de publipostage | CSDM | Compte d’utilisateur pour le service de publipostage.
    Service Gestionnaire de listes | CSLM | Compte d’utilisateur pour le service Gestionnaire de listes.
    Application Config COM+ | CSCOMPlus | Compte d’utilisateur pour l’application Config COM+.
    Groupe Business Desk | BDGroup | Compte de groupe pour tous les utilisateurs Business Desk, y compris les utilisateurs exécutant des rapports. Également appelés utilisateurs au moment de la conception.
    Groupe de rapport avancé | ReportAdvanced | Compte de groupe pour les utilisateurs Business Desk devant enregistrer des rapports dynamiques, modifier et supprimer des rapports.
    Groupe de la tâche DTS d’importation | DTSImport | Compte de groupe pour les administrateurs système exécutant les tâches DTS pour importer et étendre le Data Warehouse.

    Pour créer le compte de groupe Business Desk, cliquez avec le bouton droit sur Groupe (à la place d’Utilisateur) puis cliquez sur Nouveau groupe.

Étape 3 : Installer Commerce Server en utilisant la sécurité intégrée de Windows.

Avant d’installer le service de publipostage, vérifiez que l’Agent SQL Server est lancé. Sinon, vous ne pourrez pas installer ce service.

Pour installer Commerce Server en utilisant la sécurité intégrée de Windows

  1. Connectez-vous en tant qu’administrateur de l’ordinateur. Ne vous connectez pas en tant qu’administrateur de domaine.
  2. Insérez le CD-ROM Commerce Server 2002 dans le lecteur approprié. À la racine du CD-ROM Commerce Server 2002, double-cliquez sur Setup.exe. Le programme d’installation de Commerce Server 2002 démarre.
  3. Dans l’écran Configuration de la base de données d’administration, sélectionnez Utiliser la sécurité intégrée de Windows puis cliquez sur Suivant.
  4. Dans l’écran Configuration de la base de données du service de publipostage, sélectionnez Utiliser la sécurité intégrée de Windows puis cliquez sur Suivant.
  5. Dans l’écran Comptes de services, cliquez sur Service de publipostage puis spécifiez le compte Windows 2000 pour le publipostage, CSDM par exemple.
  6. Répétez l’étape 5 pour les services suivants :
    Service | Exemple de nom de compte
    Gestionnaire de listes | CSLM
    Application Config COM+ | CSCOMPlus

    Le programme d’installation de Commerce Server accorde automatiquement le droit Connexion comme un service aux comptes que vous spécifiez.

    L’enregistrement des événements doit être exécuté avec un compte d’administrateur local.

  7. Cliquez sur Installer pour lancer la procédure d’installation.
  8. Cliquez sur Terminer lorsque le processus d’installation est terminé.

Étape 4 : Décompresser votre site et configurer les chaînes de connexion de la base de données pour l’authentification Windows

Lorsque vous décompresser votre site, les chaînes de connexion de vos bases de données sont automatiquement configurées pour utiliser l’authentification Windows.

  1. Connectez-vous en tant qu’utilisateur de domaine disposant de droits d’administrateur sur les ordinateurs du serveur Web et de la base de données.
  2. Cliquez sur Démarrer, pointez sur Programmes, sur Microsoft Commerce Server 2002, puis cliquez sur Gestionnaire de package de site Commerce Server.

    Le Gestionnaire de package de site Commerce Server est démarré.

  3. Suivez les instructions en ligne. Par défaut, toutes les chaînes de connexion de base de données sont configurées pour utiliser l’authentification Windows.

    On considère que vous sélectionnez l’option Personnalisée et que vous créez les bases de données suivantes :

    • Autorisations Business Desk
    • Catalog
    • Profils
    • Campagnes marketing
    • TransactionConfig
    • Transactions

    Modifiez les étapes suivantes si vos bases de données sont différentes ou si vous installez toutes les ressources dans une seule base de données.

Étape 5 : Configurer une connexion approuvée pour les utilisateurs Business Desk

Effectuez cette étape sur l’ordinateur sur lequel vous avez installé les services Active Directory dans l’étape 1 : Exécuter dcpromo et installer les services Active Directory.

Pour configurer une connexion approuvée pour les utilisateurs Business Desk

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Outils d’administration, puis cliquez sur Utilisateurs et ordinateurs Active Directory.
  2. Dans l’écran Utilisateurs et ordinateurs Active Directory, cliquez avec le bouton droit sur le nom de l’ordinateur puis sur Propriétés.
  3. Dans la boîte de dialogue Propriétés de <nom ordinateur>, sous l’onglet Général, sélectionnez Approuver l’ordinateur pour la délégation puis cliquez sur OK.

Étape 6 : Mapper le compte anonyme du site Web vers le compte de domaine anonyme

Cette étape vous permet de mapper le compte d’utilisateur anonyme de votre site Web (par défaut, avec les services IIS, ce compte est IUSR_<nomordinateur>) vers le compte de domaine anonyme que vous avez créé à l’étape 2 : Créer les comptes requis.

Pour remplacer le compte anonyme du site en compte de domaine

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Outils d’administration, puis cliquez sur Gestionnaire des services Internet.
  2. Dans le Gestionnaire des services Internet, localisez votre application (par exemple, Retail_Site).
  3. Cliquez avec le bouton droit sur votre application (par exemple, Retail_Site), puis cliquez sur Propriétés.
  4. Dans la boîte de dialogue Propriétés de retail, sous l’onglet Sécurité de répertoire, dans la section Accès anonyme et contrôle d’authentification, cliquez sur Modifier.
  5. Dans la boîte de dialogue Méthodes d’authentification, dans la section Accès anonyme, cliquez sur Modifier.
  6. Dans la boîte de dialogue Compte d’utilisateur anonyme, dans la zone Nom d’utilisateur, tapez le nom du compte de domaine anonyme (par exemple, Anonyme).
  7. Cliquez sur OK à plusieurs reprises pour fermer les boîtes de dialogue.
  8. Cliquez sur Démarrer, puis sur Exécuter.
  9. Dans la boîte de dialogue Exécuter, dans la zone Ouvrir, tapez iisreset, puis cliquez sur OK.
Une zone de commandes s’affiche pendant la réinitialisation des services IIS. Une fois terminée la réinitialisation des services IIS, la zone de commandes se ferme.

Étape 7 : Créer des comptes de connexion SQL pour chaque compte requis

Cette étape vous permet de créer des comptes de connexion SQL sur le serveur SQL Server. Créez un compte pour chaque compte de domaine, à l’exception du compte de l’application Config COM+.

Pour créer un compte de connexion SQL

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Microsoft SQL Server, puis cliquez sur Enterprise Manager.
  2. Dans SQL Server Enterprise Manager, développez les nœuds jusqu’au chemin suivant : Microsoft SQL Servers/SQL Server Group/<nom de l’ordinateur>/Security.
  3. Cliquez avec le bouton droit sur Connexion, puis cliquez sur Nouvelle connexion.
  4. Dans l’écran Propriétés de la connexion SQL Server - Nouvelle connexion, sous l’onglet Général, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Tapez un nom d’utilisateur de domaine (par exemple, Anonyme, comme compte d’utilisateur pour vos utilisateurs au moment de l’exécution).
    Authentification Windows | Vérifier que cette option est sélectionnée.
    Domaine | Sélectionner dans la liste déroulante le domaine de du compte.
    Autoriser l’accès | Vérifier que cette option est sélectionnée pour garantir un accès sécurisé.
    Base de données | Sélectionner dans la liste déroulante la base de données master pour cette connexion.
    Langue | Sélectionner dans la liste déroulante la langue par défaut pour cette connexion.
  5. Cliquez sur OK.
  6. Répétez ces étapes jusqu’à ce que vous ayez créé un compte de connexion SQL Server pour chacun des comptes de domaine suivants :
    Compte | Exemple de nom de compte
    Utilisateurs au moment de l’exécution | Anonyme
    Service de publipostage | CSDM
    Service Gestionnaire de listes | CSLM
    Groupe Business Desk | BDGroup
    Groupe de rapport avancé | ReportAdvanced
    Groupe de la tâche DTS d’importation | DTSImport
    Application Config COM+ | CSCOMPlus

Étape 8 : Exécuter les scripts de sécurité de la base de données Commerce Server

Exécutez les scripts de sécurité de Commerce Server pour créer automatiquement des rôles de sécurité pour les comptes requis et attribuer les autorisations de base de données appropriées. Vous trouverez ces scripts dans le dossier Program Files\Microsoft Commerce Server\Support.

Pour exécuter les scripts et créer les rôles de sécurité

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Microsoft SQL Server, puis cliquez sur Analyseur de requêtes SQL.
  2. Dans la boîte de dialogue Connexion à SQL Server, spécifiez le serveur SQL approprié.
  3. Dans la liste déroulante des bases de données de l’Analyseur de requêtes, sélectionnez la base de données sur laquelle vous voulez exécuter le script.
  4. Cliquez sur Fichier puis sur Ouvrir.
  5. Parcourez les scripts qui se trouvent dans le dossier Program Files\Microsoft Commerce Server\Support et sélectionnez le script à exécuter.

    Le script s’ouvre et le code s’affiche dans la fenêtre Analyseur de requêtes.

  6. Dans la barre d’outils, cliquez sur Exécuter pour exécuter le script sur la base de données sélectionnée.
  7. Répétez ces étapes pour exécuter tous les scripts sur les bases de données répertoriées dans le tableau suivant.

Remarque

  • Vous devez exécuter le script ReportViewer.sql avant le script ReportAdvanced.sql.

Scripts de sécurité pour les bases de données d’exécution de Commerce Server

Nom du script | À exécuter sur la base de données suivante
BDReaderRole et BDWriterRole | Autorisations Business Desk
CampaignReaderRole et CampaignWriterRole | Campagnes marketing
CatalogSecurityRoles | Catalogue de produits
ProfileReaderRole et ProfileWriterRole | Profils
TransactionConfigReaderRole et TransactionConfigWriterRole | TransactionConfig
TransactionReaderRole et TransactionWriterRole | Transactions

Scripts de sécurité pour Analyse et Data Warehouse

Script | À exécuter sur la base de données suivante
ReportViewer.sql | Data Warehouse
ReportAdvanced.sq | Data Warehouse
Dts_AdminDB_SecurityRole.sql | Administration (MSCS_Admin)
Dts_CommerceDB_Campaign_SecurityRole.sql | Campagnes marketing
Dts_CommerceDB_Catalog_SecurityRole.sql | Catalogue de produits
Dts_CommerceDB_Transaction_SecurityRole.sql | Transactions
Dts_CommerceDB_UPM_SecurityRole.sql | Profils

Remarques

  • Exécutez de nouveau les scripts CatalogSecurityRoles et Dts_CommerceDB_Catalog_SecurityRole lorsque vous :
    • créez de nouveaux catalogues ;
    • ajoutez des langues à un catalogue
    • ou reconstruisez des catalogues virtuels.

Les tables de base de données d’exécution de Commerce Server peuvent se trouver dans une seule base de données ou bien chaque ressource peut disposer de tables dans sa propre base de données.

Ces scripts sont conçus pour fonctionner avec SQL Server, pour les données enregistrées dans les bases de données d’exécution de Commerce Server et dans la base de données d’administration. Ils ne sont pas conçus pour fonctionner avec Active Directory ou une base de données Oracle.

Étape 9 : Ajouter les comptes requis aux rôles de la base de données

Après avoir exécuter tous les scripts, ajoutez les comptes requis aux rôles que vous venez de créer.

Pour ajouter un compte requis à un rôle de base de données

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Microsoft SQL Server, puis cliquez sur Enterprise Manager.
  2. Dans SQL Server Enterprise Manager, développez Sécurité puis cliquez sur Connexions.
  3. Cliquez avec le bouton droit sur un compte de connexion SQL puis cliquez sur Propriétés.
  4. Dans la boîte de dialogue Propriétés de la connexion SQL Server, cliquez sur l’onglet Accès aux bases de données.
  5. Sélectionnez une base de données dans la zone supérieure et spécifiez un rôle pour compte dans la zone inférieure.
  6. Répétez ces étapes jusqu’à avoir attribué aux comptes requis l’appartenance aux rôles de base de données dont ils ont besoin, puis cliquez sur OK.

    Le tableau suivant répertorie tous les comptes, les bases de données et les rôles à attribuer aux comptes.

Compte
(Exemple de nom de compte) 		Pour la base de données suivante À attribuer au rôle de base de données suivant
*Utilisateurs au moment de l’exécution
(Anonyme) 		Administration (MSCS_Admin) Pour plus d’informations, consultez Sécurisation de la base de données d’administration.
MSCS_CatalogScratch | db_owner
Catalog | ctlg_CatalogReaderRole
Autorisations Business Desk | BDReaderRole
Profils | ProfileReaderRole
Campagnes marketing | CampaignReaderRole
Configuration de la transaction | TransactionConfigReaderRole
Transactions | TransactionReaderRole
Groupe Business Desk
(BDGroup) 		Administration (MSCS_Admin) db_datareader
MSCS_CatalogScratch | db_owner
Catalog | db_owner
Autorisations Business Desk | BDWriterRole
Profils | ProfileWriterRole
Campagnes marketing CampaignWriterRole
db_datareader
Configuration de la transaction | TransactionConfigWriterRole
Transactions | TransactionWriterRole
Data Warehouse | ReportViewerRole
Groupe de rapport avancé
(ReportAdvanced) 		Data Warehouse ReportAdvancedRole
Service de publipostage
(CSDM) 		Administration (MSCS_Admin) db_datareader
Service de publipostage | db_owner
Compte du service Gestionnaire de listes
(CSLM) 		Administration (MSCS_Admin) db_datareader
Service de publipostage | db_owner
Campagnes marketing | db_owner
Groupe de la tâche DTS d’importation
(DTSImport) 		Administration (MSCS_Admin) DTS_ImportRole
Catalog | DTS_ImportRole
Autorisations Business Desk | DTS_ImportRole
Profils | DTS_ImportRole
Campagnes marketing | DTS_ImportRole
Configuration de la transaction | DTS_ImportRole
Transactions | DTS_ImportRole
Serveur SQL du Data Warehouse | Étape 14 : Mapper le compte de connexion de l’utilisateur vers l’utilisateur propriétaire de la base de données (dbo)
Base de données OLAP du Data Warehouse | **Ajouter au groupe des administrateurs OLAP
Ordinateur à partir duquel vous exécutez les tâches DTS | Groupe des utilisateurs avec pouvoir
Application Config COM+ | Administrateurs (consultez l’étape 11 : Ajouter les comptes de service au rôle de l’application Config COM+
  1. Application Config COM+
 Serveur SQL du Data Warehouse db_owner

**Le compte DTSImport doit faire partie du groupe des administrateurs OLAP pour l’ordinateur de la base de données OLAP et l’ordinateur sur lequel vous allez exécuter la tâche DTS Préparation du rapport. Cette opération est nécessaire pour pouvoir exécuter la tâche DTS Préparation du rapport.

Pour permettre aux utilisateurs Business Desk de modifier des catalogues (par exemple, modifier une définition de catalogue, reconstruire le catalogue, mettre à jour l’index de texte intégral et publier le catalogue), vous devez les attribuer au rôle db_owner.

Nous vous recommandons de créer un compte de groupe spécifique pour les utilisateurs Business Desk devant modifier les catalogues.

Vérifiez soigneusement la fiabilité de l’utilisateur Business Desk que vous attribuez au rôle db_owner. Lorsque vous attribuez un utilisateur Business Desk à ce rôle, vous devez envisager le risque de sécurité suivant :

Important

  • Un utilisateur Business Desk attribué au rôle db_owner peut tout à fait supprimer une base de données de catalogue. Pour diminuer ce risque, créez un pare-feu pour interdire au client Business Desk de se connecter directement à la base de données SQL Server contenant les catalogues. Il s’agit de la configuration sécurisée recommandée. Pour obtenir des instructions détaillées, consultez Déploiement d’un site sécurisé.

Étape 10 : Configurer la base de données OLAP

Cette étape migre le référentiel OLAP vers le serveur SQL Server. Elle vous permet d’augmenter la sécurité de votre référentiel OLAP. Vous affectez ensuite les autorisations d’accès au référentiel appropriées au compte d’utilisateur DTSImport.

Pour migrer le référentiel OLAP vers SQL Server

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Microsoft SQL Server, puis cliquez sur Enterprise Manager.
  2. Dans SQL Server Enterprise Manager, créez une nouvelle base de données SQL.
  3. Dans Analysis Services Manager, cliquez avec le bouton droit sur le nom du serveur puis cliquez sur Déplacer le référentiel.
  4. Sélectionnez le format natif Analysis Services recommandé.
  5. Sélectionnez le nom du serveur SQL sur lequel vous voulez migrer le référentiel OLAP.
  6. Utilisez un compte d’authentification SQL et un niveau administrateur pour le suivi de cette connexion.

Pour attribuer au compte d’utilisateur DTS_Import les autorisations appropriées

  1. Attribuez le compte DTSImport au groupe d’administrateurs OLAP pour le serveur OLAP et le serveur SQL. Pour cela, effectuez les étapes suivantes :
    • Cliquez sur Démarrer, pointez sur Programmes, sur Outils d’administration, puis cliquez sur Gestion de l’ordinateur.
    • Développez Utilisateurs et groupes puis Groupes.
    • Cliquez avec le bouton droit sur le groupe d’administrateurs OLAP puis cliquez sur Propriétés.
    • Ajoutez le groupe DTSImport en tant que membre du groupe d’administrateurs OLAP.
  2. Sur le serveur OLAP, accordez le « contrôle total » du répertoire BIN sous <racine_serveur_olap>\bin à l’utilisateur DTS_Import. Pour cela, effectuez les étapes suivantes :
    • Localisez le répertoire <racine_serveur_olap>\bin ; \Program Files\Microsoft Analysis Services\Bin par exemple.
    • Cliquez avec le bouton droit sur Bin puis cliquez sur Sélectionner.
    • Cliquez sur Autorisations puis ajoutez le compte DTSImport à ce répertoire.
    • Accordez l’accès Contrôle total.
    • Cliquez sur OK.
  3. Sur l’ordinateur sur lequel vous voulez exécuter les tâches DTS, attribuez le compte DTSImport au groupe « Utilisateurs avec pouvoir ».

    Dans ce contexte de sécurité, les messages de débogage générés par cette tâche ne s’affichent pas. Ce sujet est développé dans l’article Q274559 de la Base de connaissances. Pour contourner ce problème, l’utilisateur doit utiliser le compte de l’administrateur local.

  4. Si les cubes OLAP et le Data Warehouse se trouvent sur des ordinateurs différents, vous devez configurer le compte du service MSSQLServerOLAPService pour qu’il dispose des droits du rôle db_owner sur le Data Warehouse.

Étape 11 : Ajouter les comptes de service au rôle de l’application Config COM+

L’application Config COM+ dispose d’un rôle Administrateurs. Les comptes de ce rôle utilisent des objets pour écrire dans la base de données d’administration. Par défaut, l’utilisateur connecté durant l’installation de Commerce Server est ajouté à ce rôle ; par ailleurs, le groupe local Administrateurs est également ajouté.

Vous devez ajouter les comptes de service au rôle Administrateurs. (Cette étape implique que le compte DTSImport soit déjà ajouté au rôle Administrateurs. Si tel n’est pas le cas, ajoutez-le maintenant.)

Pour ajouter les comptes de service au rôle Administrateurs

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Outils d’administration, puis cliquez sur Services de composants.
  2. Développez Services de composants, Ordinateurs, Poste de travail, Applications COM+, Commerce Server Config, Rôles et enfin Administrators.
  3. Cliquez avec le bouton droit sur Utilisateurs, sélectionnez Nouveau, puis Utilisateur.
  4. Dans la zone Rechercher dans de la boîte de dialogue Sélectionnez Utilisateurs ou Groupes, sélectionnez le compte du service de publipostage, CSDM par exemple
  5. Cliquez sur OK.
  6. Répétez cette procédure pour ajouter le compte du service Gestionnaire de listes.

Étape 12 : Ajouter des comptes d’utilisateur aux comptes de domaine du groupe

Créez un compte d’utilisateur Windows pour toutes les personnes devant utiliser Business Desk. Attribuez ensuite ces comptes Windows aux comptes de groupe suivants, selon le cas :

  • Compte BDGroup. Tous les utilisateurs Business Desk.
  • Compte ReportAdvanced. Utilisateurs devant enregistrer, modifier et supprimer des rapports dynamiques.

Remarque

  • Les membres du groupe ReportAdvanced disposent des droits accordés aux utilisateurs du groupe BDGroup.

Pour attribuer des comptes d’utilisateur individuels de Business Desk aux comptes de groupe

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Outils d’administration, puis cliquez sur Utilisateurs et ordinateurs Active Directory.
  2. Dans l’écran Utilisateurs et ordinateurs Active Directory, cliquez avec le bouton droit sur le compte de groupe puis sur Propriétés.
  3. Sous l’onglet Membres, cliquez sur Ajouter.
  4. Saisissez les comptes Windows des utilisateurs appropriés puis cliquez sur OK.
  5. Répétez ces étapes pour ajouter les comptes d’utilisateur aux comptes de groupe, selon les besoins.

Étape 13 : Accorder des autorisations aux utilisateurs Business Desk

Avec le module Autorisations Business Desk, vous devez ajouter le compte de groupe de domaine Business Desk au module Autorisations puis accorder aux utilisateurs du domaine le droit d’utiliser Business Desk.

Remarques

  • Si un compte Windows ne figure pas dans la liste des comptes du module Autorisations, ou qu’aucune option « autoriser » ne lui a été attribuée, les utilisateurs de ce compte n’ont pas la possibilité d’accéder à Business Desk.
  • Si la liste des comptes du module Autorisations comporte un compte Windows qui n’existe plus, les utilisateurs affectés à ce compte n’ont accès ni aux catégories ni aux modules de Business Desk.

Pour ajouter des comptes Windows à la liste des comptes du module Autorisations

  1. Dans Sécurité, cliquez sur Autorisations.
  2. Dans l’écran Autorisations de sécurité, dans la section Compte Windows, cliquez sur Ajouter à la liste.
  3. Dans la boîte de dialogue Ajouter un compte, tapez le compte Windows pour lequel vous souhaitez ajouter des autorisations (BDGroup par exemple), puis cliquez sur Ajouter.
  4. Pour revenir à l’écran d’accueil de Business Desk, cliquez sur Retour dans la barre d’outils.

    Le compte Windows a été ajouté à la liste des comptes du module Autorisations.

  5. Répétez ces étapes pour ajouter le compte de groupe ReportAdvanced.

Pour définir des autorisations pour un compte Windows

  1. Dans Sécurité, cliquez sur Autorisations.
  2. Dans l’écran Autorisations de sécurité, dans la zone de liste déroulante Compte Windows, sélectionnez le compte Windows (dans la liste des comptes du module Autorisations) pour lequel vous souhaitez ajouter des autorisations.
  3. Dans l’écran Autorisations de sécurité, dans la section Entités sécurisables, accordez ces autorisations aux comptes suivants :
    • BDGroup – Tout autoriser
    • ReportAdvanced – Tout autoriser

    Pour plus d’informations, consultez Définition d’autorisations Business Desk pour des comptes Windows.

  4. Pour enregistrer vos modifications et revenir à l’écran d’accueil Business Desk, cliquez sur Enregistrer et retour dans la barre d’outils.

Important

  • Après avoir modifié les autorisations pour un utilisateur Business Desk, celui-ci doit fermer et redémarrer Business Desk pour que les nouveaux paramètres soient pris en compte.

    Si l’identité Windows (appartenances à des groupes, droits, listes de contrôle d’accès, etc.) a été modifiée pour cet utilisateur, il doit se déconnecter, puis ouvrir une session afin que les nouveaux paramètres soient pris en compte sur le serveur. (Sinon, le client fonctionnera correctement, mais pas le serveur.)

Étape 14 : Activer l’authentification intégrée de Windows dans Internet Explorer

Effectuez cette étape sur tous les ordinateurs sur lesquels le client Business Desk est installé. Sur l’ordinateur client, attribuez également le compte Business Desk au groupe d’administrateurs.

Pour activer l’authentification intégrée de Windows

  1. Sur le bureau, cliquez avec le bouton droit sur Internet Explorer, puis cliquez sur Propriétés.
  2. Dans la boîte de dialogue Propriétés Internet, cliquez sur l’onglet Avancées.
  3. Faites défiler jusqu’à la section Sécurité puis sélectionnez Activer l’authentification intégrée de Windows.
  4. Cliquez sur OK puis redémarrez l’ordinateur client.

Pour attribuer un utilisateur Business Desk au groupe des utilisateurs avec pouvoir

  1. Sur l’ordinateur client Business Desk, cliquez sur Démarrer, pointez sur Programmes, sur Outils d’administration, puis cliquez sur Gestion de l’ordinateur.
  2. Développez Utilisateurs et groupes puis cliquez sur Groupes.
  3. Cliquez avec le bouton droit sur Administrateurs puis cliquez sur Propriétés.
  4. Ajoutez le compte de groupe Business Desk puis cliquez sur OK.

Étape 15 : Mapper le compte de connexion de l’utilisateur vers l’utilisateur propriétaire de la base de données (dbo)

Effectuer cette étape pour les utilisateurs devant exécuter les tâches DTS de Commerce Server et pour le compte du service Gestionnaire de listes. Vous devez effectuer cette étape pour que tous les objets créés par la tâche DTS soient la propriété du dbo.

Par exemple, si vous vous connectez en tant que « JeanUtilisateur » et que vous ne faites pas partie de l’alias du dbo, lorsque vous exécutez les tâches DTS, les noms des tables étendues du Data Warehouse seront la propriété de « JeanUtilisateur » et incorrectement au format « JeanUtilisateur.<table> »

Cette procédure vous garantit que les noms des tables seront corrects, au format « dbo.<table> ».

Pour plus d’informations sur le propriétaire de la base de données (dbo) et sur l’utilisation de sp_addalias, consultez la documentation en ligne de SQL Server.

Pour mapper le compte de connexion de l’utilisateur vers l’utilisateur propriétaire de la base de données (dbo)

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Microsoft SQL Server, puis cliquez sur Analyseur de requêtes SQL.
  2. Dans la boîte de dialogue Connexion à SQL Server, spécifiez le serveur SQL approprié.
  3. Dans l’Analyseur de requêtes SQL, sélectionnez le Data Warehouse dans la liste déroulante des bases de données.
  4. Dans la fenêtre Analyseur de requêtes, tapez exec sp_addalias ‘domaine\nom_connexion’,’dbo’.

    Vous pouvez par exemple taper l’exemple suivant :

        Exec sp_addalias ‘<domaine>\jeanutilisateur’,’dbo’
  5. Dans la barre d’outils, cliquez sur Exécuter.

    Le compte d’utilisateur que vous avez spécifié fait désormais partie de l’alias de l’utilisateur propriétaire de la base de données (dbo).

  6. Répétez cette étape pour attribuer cet alias à l’utilisateur Gestionnaire de liste du Data Warehouse.

    Vous pouvez par exemple taper l’exemple suivant :

        Exec sp_addalias ‘<domaine>\CSLM’,’dbo’


Utilisation de l'authentification Windows dans un déploiement sur un seul ordinateur

Envoyer des commentaires sur cette page Commerce Server 2002

Utilisation de l’authentification Windows dans un déploiement sur un seul ordinateur

Vous pouvez déployer Commerce Server sur un seul ordinateur ; par exemple, si vous êtes un développeur en train de créer un site.

Le scénario de déploiement décrit dans cette rubrique est le suivant :

  • Les services IIS (Internet Information Services) et les bases de données SQL Server (la base de données d’administration et les bases de données de site Commerce Server) sont installés sur le même ordinateur.
  • SQL Server est configuré pour une authentification en Mode mixte (authentification Windows et authentification SQL Server).
  • Commerce Server est configuré pour l’authentification Windows.

    Les utilisateurs qui se connectent à Business Desk et à un site Commerce Server via un compte d’utilisateur Windows, peuvent utiliser des connexions approuvées (connexions validées par Windows). Les utilisateurs sont identifiés par leur nom d’utilisateur Windows et n’ont pas à entrer de nom d’accès SQL Server distinct.

Pour configurer un site Commerce Server pour les connexions approuvées

  1. Créez un domaine Active Directory. Pour connaître les instructions à suivre, consultez l’Étape 1 : Configuration de Active Directory et du DNS sur l’Ordinateur 1.
  2. Créez un compte d’utilisateur dans le domaine Active Directory pour permettre aux utilisateurs anonymes d’accéder à SQL Server.
  3. Remplacez le compte IUSR_<ordinateur> dans les services IIS par le compte anonyme créé au cours de l’étape 2.
  4. En ce qui concerne le compte IWAM_<ordinateur>, attribuez le rôle db_owner SQL Server pour la base de données de site Commerce Server (pas la base de données MSCS_Admin).
  5. Lorsque vous installez les services Commerce (Service de publipostageet Gestionnaire de listes), spécifiez un compte Windows ayant accès au serveur SQL Server.

    Le programme d’installation de Commerce Server accorde automatiquement le droit Connexion comme un service aux comptes que vous spécifiez.

Pour plus d’informations sur les comptes de service, consultez Sécurisation des comptes de service.

Pour obtenir des instructions sur la modification d’un compte de service ou d’un mot de passe, consultez Modification d’un compte de service ou d’un mot de passe.

Vous n’avez pas à effectuer les opérations suivantes :

  • accorder une approbation de délégation aux ouvertures de session dans des domaines ;
  • modifier les stratégies de sécurité ;
  • modifier les rôles COM+.


Utilisation de l'authentification Windows dans un déploiement distribué

Envoyer des commentaires sur cette page Commerce Server 2002

Utilisation de l’authentification Windows dans un déploiement distribué

Lorsque vous déployez un ordinateur SQL Server distant, ainsi que l’authentification Windows, vous devez modifier le compte anonyme (IUSR_ordinateur par défaut) des services IIS (Internet Information Services) en le remplaçant par un compte de domaine. Vous devez ensuite attribuer au compte de domaine un nom d’utilisateur SQL disposant des autorisations d’accès appropriées aux bases de données d’exécution de Commerce Server, comme cela est indiqué dans Sécurisation des bases de données Commerce Server.

Remarques

  • Si l’ordinateur SQL Server est local, et que vous utilisez l’authentification Windows, vous devez créer un compte de connexion SQL pour le compte anonyme IIS (par défaut, IUSR_<ordinateur>).
  • Si vous utilisez une authentification SQL Server et une authentification SQL Server distante, vous n’avez pas besoin d’attribuer un nom d’utilisateur SQL au compte de domaine.

Le scénario de déploiement décrit dans cette rubrique est le suivant :

  • Les services IIS (Internet Information Services) sont installés sur un ordinateur.
  • Les bases de données SQL Server (la base de données d’administration et les bases de données d’exécution de Commerce Server) sont installées sur un second ordinateur.
  • SQL Server est configuré pour une authentification en Mode mixte (authentification Windows et authentification SQL Server).
  • Commerce Server est configuré pour l’authentification Windows.
  • AuthFilter est configuré pour l’Authentification personnalisée. Dans ce scénario, vous devez remplacer la chaîne de connexion à la base de données d’administration par l’authentification SQL Server ; les instructions nécessaires sont fournies dans cette rubrique.

Vous utilisez un ordinateur SQL Server distant ainsi que la sécurité intégrée de Windows ; par conséquent, vous devez remplacer le compte anonyme IIS (IUSR_ordinateur par défaut) par un compte de domaine. Vous devez ensuite attribuer au compte de domaine un nom d’utilisateur SQL Server disposant des autorisations d’accès appropriées aux bases de données d’exécution de Commerce Server, comme cela est indiqué dans Sécurisation des bases de données Commerce Server.

Pour configurer une connexion approuvée pour les utilisateurs Business Desk

  1. Sur le serveur Active Directory, cliquez sur Démarrer, pointez sur Programmes, sur Outils d’administration, puis cliquez sur Gestionnaire Commerce Server.
  2. Dans Gestionnaire Commerce Server, développez Utilisateurs et ordinateurs Active Directory.
  3. Cliquez avec le bouton droit sur le nom de l’ordinateur, et dans la boîte de dialogue Propriétés de <nom de l’ordinateur>, sélectionnez Approuver l’ordinateur pour la délégation, puis cliquez sur OK.

Pour remplacer le compte anonyme du site en compte de domaine

  1. Avant d’effectuer ces étapes, créez un compte d’utilisateur dans le domaine Active Directory pour permettre aux utilisateurs anonymes d’accéder à SQL Server.
  2. Dans le Gestionnaire Commerce Server, développez Internet Information Services, et naviguez vers votre application (par exemple, mon_site).
  3. Cliquez avec le bouton droit sur l’application, puis cliquez sur Propriétés.
  4. Dans la boîte de dialogue Propriétés de retail, sous l’onglet Sécurité de répertoire, dans la section Accès anonyme et contrôle d’authentification, cliquez sur Modifier.
  5. Dans la boîte de dialogue Méthodes d’authentification, dans la section Accès anonyme, cliquez sur Modifier.
  6. Dans la zone Nom d’utilisateur, tapez le nom d’un compte de domaine.
  7. Cliquez sur OK à plusieurs reprises pour fermer les boîtes de dialogue.
  8. Cliquez sur Démarrer, puis sur Exécuter.
  9. Dans la boîte de dialogue Exécuter, dans la zone Ouvrir, tapez iisreset, puis cliquez sur OK.
Une zone de commandes s’affiche pendant la réinitialisation des services IIS. Une fois terminée la réinitialisation des services IIS, la zone de commandes se ferme.

Pour attribuer les autorisations de compte de domaine à SQL Server

  1. Dans le Gestionnaire Commerce Server, développez Serveurs Microsoft SQL Server, Groupe SQL Server, développez le serveur utilisé par les bases de données Commerce Server, puis développez Sécurité.
  2. Cliquez avec le bouton droit sur Connexions, puis cliquez sur New.
  3. Dans la boîte de dialogue Propriétés de la connexion SQL Server – Nouvelle connexion, sous l’onglet Général, dans la zone Nom, cliquez sur Bouton de sélection pour rechercher et sélectionner le compte de domaine.
  4. Dans la zone Domaine, tapez le nom du domaine pour ce compte.
  5. Sous l’onglet Accès aux bases de données, sélectionnez les bases de données Commerce Server accessibles via cette connexion.
  6. Cliquez sur OK.

Pour remplacer la chaîne de connexion à la base de données d’administration par une authentification SQL Server

  1. Dans le Gestionnaire Commerce Server, cliquez avec le bouton droit sur le nœud Gestionnaire Commerce Server, puis cliquez sur Propriétés.
  2. Sous l’onglet Base de données d’administration, cliquez sur Modifier.
  3. Dans la boîte de dialogue Propriétés des liaisons de données, modifiez le nom de l’ordinateur SQL Server, le cas échéant.
  4. Pour utiliser l’authentification SQL, sélectionnez Utiliser un nom d’utilisateur et un mot de passe spécifiques, puis renseignez les zones Nom d’utilisateur et Mot de passe.

    Ne sélectionnez pas Mot de passe vide. Dans le cas contraire, cette option risque de constituer une vulnérabilité de sécurité de votre environnement.

  5. Cliquez sur OK.

Remarques

  • Il est possible d’ajouter des chaînes de connexion qui ne sont pas associées à une base de données et qui ne fonctionnent donc pas. Si cela se produit, les Liaisons de données Microsoft n’affichent pas de message d’erreur.
  • Après avoir modifié une propriété dans le Gestionnaire Commerce Server, vous devez redémarrer tous les services l’utilisant. Pour obtenir des instructions, consultez Redémarrage des services IIS et Commerce Server.


Utilisation du service de publipostage et de l'authentification Windows

Envoyer des commentaires sur cette page Commerce Server 2002

Utilisation du service de publipostage et de l’authentification Windows

Pour utiliser le service de publipostage avec l’authentification Windows, effectuez les étapes décrites dans cette rubrique.

Si vous configurez votre site pour l’authentification Windows et que les autorisations nécessaires ne sont pas accordées aux comptes de service sous lesquels s’exécutent les services de publipostage et Gestionnaire de listes, un utilisateur Business Desk peut obtenir l’erreur « Impossible d’enregistrer ou de planifier le publipostage ».

Les étapes suivantes sont nécessaires pour configurer le service de publipostage pour qu’il utilise l’authentification Windows :

  • Création d’une connexion SQL
  • Attribution au service de publipostage d’un droit d’accès aux objets COM de Commerce Server
  • Définition de l’identité du service
  • Modification des chaînes de connexion pour l’authentification Windows
  • Redémarrage des services IIS et du service de publipostage

Création d’une connexion SQL

Vous devez effectuer les étapes suivantes pour pouvoir créer une connexion SQL qui corresponde à l’identité sous laquelle les services de publipostage et Gestionnaire de listes sont configurés pour s’exécuter. L’identité du service est créée au cours de l’installation ; cependant, si vous souhaitez la modifier, consultez Définition de l’identité du service.

Au cours de cette étape, vous créez une connexion SQL qui possède les autorisations db_owner pour la base de données du service de publipostage ainsi que pour la base de données <nom_site>_Commerce.

Pour créer une connexion SQL

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Microsoft SQL Server, puis cliquez sur Enterprise Manager.
  2. Dans SQL Server Enterprise Manager, développez les nœuds jusqu’au chemin suivant : Microsoft SQL Servers/SQL Server Group/<nom de l’ordinateur>/Security/Logins.
  3. Dans le volet de droite, cliquez n’importe où avec le bouton droit, puis sélectionnez Nouvelle connexion.

    Remarque

    • Ne cliquez pas avec le bouton droit sur un nom existant.
  4. Dans l’écran Propriétés de la connexion SQL Server - Nouvelle connexion, sous l’onglet Général, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper le nom du compte de domaine configuré pour le service.
    Authentification Windows | Vérifier que cette option est sélectionnée.
    Domaine | Sélectionner dans la liste déroulante le domaine de du compte.
    Autoriser l’accès | Vérifier que cette option est sélectionnée pour garantir un accès sécurisé.
    Base de données | Sélectionner dans la liste déroulante la base de données master pour cette connexion.
    Langue | Sélectionner dans la liste déroulante la langue par défaut pour cette connexion.
  5. Sous l’onglet Accès aux bases de données, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Autoriser | Activer cette case à cocher située en regard de la base de données <nom_site>_commerce, pour spécifier que cette dernière sera accessible via cette connexion.
    db_owner | Activer cette case à cocher, afin de spécifier le rôle de base de données db_owner pour la base de données <nom_site>_commerce.

    Remarque

    • Répétez l’étape 5 pour la base de données Service de publipostage.
  6. Cliquez sur OK.

Attribution au service de publipostage d’un droit d’accès aux objets COM de Commerce Server

Vous devez accorder au service de publipostage un droit d’accès aux objets COM de Commerce Server. À travers l’objet GlobalConfig COM, le service de publipostage obtient un droit d’accès à la base de données d’administration (et charge sa configuration initiale).

Pour accorder au service de publipostage un droit d’accès aux objets COM de Commerce Server

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Outils d’administration, puis cliquez sur Services de composants.
  2. Développez les nœuds jusqu’au chemin suivant : Services de composants/Ordinateurs/Poste de travail/Applications COM+/Commerce Server Config/Rôles/Utilisateurs.
  3. Cliquez avec le bouton droit sur Utilisateurs, puis sélectionnez Nouvelle fenêtre à partir d’ici.
  4. Cliquez avec le bouton droit sur Utilisateurs, sélectionnez Nouveau, puis Utilisateur.
  5. Dans la boîte de dialogue Sélectionnez Utilisateurs ou Groupes, dans la zone Rechercher dans, sélectionnez le nom de l’ordinateur correspondant à l’utilisateur pour lequel vous souhaitez que le service s’exécute.
  6. Dans le volet inférieur, tapez le nom de l’utilisateur ou sélectionnez ce dernier dans la liste pour laquelle vous souhaitez que les services s’exécutent, puis cliquez sur OK.

Définition de l’identité du service

Les identités des services de publipostage et Gestionnaire de listes Commerce Server sont créées au cours de l’installation ; cependant, si vous souhaitez les modifier, vous devez attendre la fin de l’installation et effectuer les étapes suivantes. Ces étapes doivent être effectuées à la fois pour le service de publipostage et le service Gestionnaire de listes.

Pour définir l’identité du service

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Outils d’administration, puis cliquez sur Services.
  2. Dans la boîte de dialogue Services, dans le volet droit, cliquez avec le bouton droit sur Service de publipostage Commerce Server, puis sélectionnez Propriétés.
  3. Dans la boîte de dialogue Propriétés de Service de publipostage Commerce Server, sous l’onglet Connexion, sélectionnez l’option Ce compte, puis effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Ce compte | Taper le nom de l’utilisateur pour lequel le service doit s’exécuter.
    Mot de passe | Taper le mot de passe de l’utilisateur pour lequel le service doit s’exécuter.
    Confirmer le mot de passe | Taper la confirmation du mot de passe de l’utilisateur pour lequel le service doit s’exécuter.
  4. Cliquez sur OK.
  5. Pour redémarrer le service, dans la boîte de dialogue Services, cliquez avec le bouton droit sur Service de publipostage Commerce Server, puis cliquez sur Redémarrer.
Remarque
  • Répétez les étapes 2 à 5 pour le Service Gestionnaire de listes Commerce Server.

Modification des chaînes de connexion pour l’authentification Windows

Les chaînes de connexion du service de publipostage sont créées au cours de l’installation des services, ainsi qu’au cours de la décompression d’un site pour les services spécifiques au site. Si durant l’installation, vous avez sélectionné l’authentification SQL Server, vous devrez modifier les chaînes de connexion afin qu’elles utilisent l’authentification Windows.

Pour modifier les chaînes de connexion pour l’authentification Windows

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Microsoft Commerce Server 2002, puis cliquez sur Gestionnaire Commerce Server.
  2. Développez Gestionnaire Commerce Server, puis Ressources globales, cliquez avec le bouton droit sur Direct Mail on <server name>, puis cliquez sur Propriétés.
  3. Dans la boîte de dialogue DirectMail on <server name> Properties, sous l’onglet Chaînes de connexion, cliquez sur Modifier.
  4. Dans la boîte de dialogue Propriétés des liaisons de données, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Sélectionner ou taper un nom de serveur | Sélectionner un nom de serveur dans la liste déroulante, ou taper le chemin du serveur hébergeant la base de données à laquelle vous voulez accéder.
    Utiliser la sécurité intégrée de Windows NT | Spécifier que le fournisseur demandera une connexion sécurisée (ou approuvée) à un serveur SQL Server s’exécutant sur Windows 2000.
    Sélectionner la base de données sur le serveur | Sélectionner DirectMailer dans la liste déroulante.
  5. Cliquez sur OK.
  6. Dans la boîte de dialogue Direct Mail on <server name> Properties, cliquez sur OK.
  7. Dans Gestionnaire Commerce Server, développez Sites de commerce, puis <nom du site>, puis Ressources de site, cliquez avec le bouton droit sur Campagnes marketing, puis sélectionnez Propriétés.
  8. Dans la boîte de dialogue Propriétés de la campagne marketing, cliquez sur Modifier.
  9. Dans la boîte de dialogue Propriétés des liaisons de données, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Sélectionner ou taper un nom de serveur | Sélectionner un nom de serveur dans la liste déroulante, ou taper le chemin du serveur hébergeant la base de données à laquelle vous voulez accéder.
    Utiliser la sécurité intégrée de Windows NT | Spécifier que le fournisseur demandera une connexion sécurisée (ou approuvée) à un serveur SQL Server s’exécutant sur Windows 2000.
    Sélectionner la base de données sur le serveur | Sélectionner <nom du site>_commerce dans la liste déroulante.
  10. Cliquez sur OK.
  11. Dans la boîte de dialogue Direct Mail on <server name> Properties, cliquez sur OK.

Redémarrage des services IIS et du service de publipostage

Après avoir modifié la chaîne de connexion, vous devez redémarrer les services IIS. Vous devez également redémarrer le service de publipostage pour que les nouveaux paramètres soient pris en compte. Vous pouvez redémarrer le service de publipostage à partir de l’interface de ligne de commande ou via les outils d’administration.

Pour utiliser la commande IISReset pour redémarrer les services IIS.

  1. Cliquez sur Démarrer, puis sur Exécuter.
  2. Dans la boîte de dialogue Exécuter, dans la zone Ouvrir, tapez iisreset, puis cliquez sur OK.

Une zone de commandes s’affiche pendant la réinitialisation des services IIS. Une fois terminée la réinitialisation des services IIS, la zone de commandes se ferme.

Pour redémarrer le service de publipostage à partir de l’interface de ligne de commande

  1. Au niveau de la ligne de commande, tapez : net stop dmlservice
  2. Lorsque le service est arrêté, tapez : net start dmlservice

Pour redémarrer le service de publipostage à l’aide de Services

  1. À partir du menu Démarrer, ouvrez Services. Cliquez sur Démarrer, pointez sur Programmes, sur Outils d’administration, puis cliquez sur Services.
  2. Dans l’écran Services, dans le volet droit, cliquez avec le bouton droit sur Service de publipostage Commerce Server, puis sélectionnez Redémarrer.

Voir aussi

Configuration du service de publipostage

Sécurité : Risque de sécurité : Utilisation de l’authentification SQL pour la ressource globale Service de publipostage


Utilisation de l'authentification SQL

Envoyer des commentaires sur cette page Commerce Server 2002

Utilisation de l’authentification SQL

Il est fortement recommandé d’utiliser l’authentification Windows pour la connectivité avec la base de données, à la place de l’authentification SQL. Cette section décrit les risques de sécurité liés à l’utilisation de l’authentification SQL dans un déploiement Commerce Server.

Authentification SQL Server

Mots de passe SQL Server

SQL Server dans un déploiement distribué

Création de comptes SQL pour les ressources Commerce Server

Authentification SQL Server

Il est recommandé d’utiliser l’authentification Windows à la place de l’authentification SQL Server. Si vous utilisez l’authentification SQL Server, prenez note des risques de sécurité suivants ainsi que des étapes à effectuer pour sécuriser votre site :

  • Les mots de passe en texte clair, contenus dans les chaînes de connexion, sont stockés dans la base de données d’administration.

    Lorsqu’une connexion est effectuée vers la base de données Commerce Server, le mot de passe en texte clair est transmis via le réseau, ce qui permet aux pirates de s’en emparer.

    Pour sécuriser votre installation

    • Implémentez un réseau privé entre les serveurs Web et les serveurs SQL Server, afin que les pirates ne puissent pas avoir accès au trafic entre le serveur Web et la base de données SQL Server.
    • Activez le cryptage Net-Library multiprotocole sur l’ordinateur SQL Server. Pour connaître les instructions à suivre, consultez la documentation en ligne de SQL Server.
    • Activez SSL (Secure Sockets Layer) sur le port 1433 du serveur Web. Pour connaître les instructions à suivre, consultez « Configuration de SSL sur votre serveur » dans la documentation des services IIS 5.0.
    • Utilisez IPSec sur la connexion réseau. Pour connaître les instructions à suivre, consultez l’aide de Windows 2000.
  • Les mots de passe en texte clair sont enregistrés dans le fichier OLAP, dans \Program Files\Microsoft Analysis Services\bin\msmdrep.mdb.

    Pour sécuriser ce fichier, faites migrer son contenu vers un référentiel de la base de données SQL Server, ou utilisez la sécurité intégrée de Windows.

Mots de passe SQL Server

  • Quand un serveur Web se connecte à un serveur SQL utilisant l’authentification SQL Server, le mot de passe SQL Server est transmis en texte clair. Pour protéger une connexion SQL Server contre les intrusions, utilisez le pilote de réseau multiprotocole de SQL Server, qui permet de crypter les connexions de session. Si vous utilisez l’authentification Windows NT, ce mot de passe sera protégé, sauf dans le programme d’installation de Commerce Server et si vous choisissez l’option Décompression rapide dans le Gestionnaire de package de site Commerce Server.
  • N’utilisez pas la connexion « sa » que SQL Server crée par défaut. Vous devez spécifier un nom d’administrateur différent pour vos serveurs de bases de données. N’utilisez jamais un mot de passe vide. Cela augmenterait en effet les risques de sécurité pour votre site.

SQL Server dans un déploiement distribué

Lorsque SQL Server est situé sur un ordinateur distant, le compte anonyme IIS (par défaut, il s’agit de IUSR_<nom_ordinateur>) doit utiliser un compte de domaine.

Pour plus d’informations sur les privilèges que vous devez accorder à IUSR pour lui permettre d’accéder à la base de données d’administration, consultez Sécurisation de la base de données d’administration.

Pour plus d’informations sur la création d’un compte de domaine, consultez Utilisation de l’authentification Windows dans un déploiement distribué.

Création de comptes SQL pour les ressources Commerce Server

Si vous utilisez l’authentification SQL, vous devez créer des connexions SQL pour les ressources suivantes :

  • Autorisations Business Desk
  • Campagnes marketing
  • Catalogues de produits
  • Profils
  • Service de publipostage
  • Data Warehouse
  • Transactions
  • Configuration de la transaction


Déploiement d'un site sécurisé

Envoyer des commentaires sur cette page Commerce Server 2002

Déploiement d’un site sécurisé

Cette section est consacrée aux mesures à prendre pour concevoir et développer un site sécurisé. Une partie de son contenu est tirée de l’excellent livre Writing Secure Code (Microsoft Press, 2002), avec l’autorisation des auteurs, Michael Howard et David LeBlanc. Il est vivement recommandé de lire Writing Secure Code avant de commencer à développer un site Commerce Server.

Pour obtenir des instructions détaillées sur le déploiement d’un site Commerce Server sécurisé, consultez Déploiement d’un site sécurisé.

Cette section contient les rubriques suivantes :

  • Conception de la sécurité à partir d’un modèle de menaces
  • Écriture de code sécurisé
  • Erreurs classiques en matière de sécurité Web
  • Problèmes liés aux attaques par script intersite
  • Élaboration d’instructions SQL sécurisées
  • Exécution avec le moins de privilèges possible
  • Prévention des attaques de type refus de service


Conception de la sécurité à partir d'un modèle de menaces

Envoyer des commentaires sur cette page Commerce Server 2002

Conception de la sécurité à partir d’un modèle de menaces

Durant la phase de conception de votre développement de site Web, vous devez créer un modèle de menaces. Il s’agit d’une liste des domaines où votre site Commerce Server est le plus vulnérable, précisant pour chacun d’eux le risque d’une attaque, les mesures à prendre pour atténuer la menace et la priorité attribuée à l’implémentation de ces mesures. En créant un modèle de menaces, vous pouvez identifier les domaines où votre installation Commerce Server est la plus vulnérable, puis choisir les outils appropriés et implémenter la meilleure technique pour la protéger.

Pour créer votre modèle de menaces, respectez les étapes suivantes :

  1. Identifiez les menaces connues auxquelles est exposé le système.
  2. Classez les menaces par ordre de risque décroissant.
  3. Déterminez comment vous allez répondre à ces menaces.
  4. Identifiez les techniques qui atténuent les menaces.
  5. Choisissez les technologies appropriées parmi les techniques identifiées.

Il peut s’avérer nécessaire de répéter cette procédure plusieurs fois, car il est difficile de formuler toutes les menaces possibles en une seule séance de travail. De plus, la technologie évolue avec le temps, de nouveaux problèmes voient le jour et l’environnement commercial et technique est susceptible de révéler de nouveaux risques ou de rendre inoffensives des menaces existantes. Tous ces facteurs ont un impact sur les menaces que vous avez identifiées pour votre système.

Cette section contient les rubriques suivantes :

  • Identification des menaces connues
  • Classement des menaces par ordre de risque décroissant
  • Identification des techniques qui atténuent les menaces
  • Choix des technologies appropriées parmi les techniques identifiées


Identification des menaces connues

Il est important d’identifier les menaces auxquelles est exposée votre installation Commerce Server. Vous devez déterminer si des menaces pèsent sur les types de données suivants :

  • Données de configuration : chaînes de connexion à des bases de données.
  • Données d’authentification : noms d’utilisateur et mots de passe stockés dans votre base de données des profils.
  • Données persistantes : données stockées et utilisées par des processus de Commerce Server, par exemple les données SQL Server, les données XML, les données du Registre, les fichiers, les journaux et les données d’authentification et d’autorisation.
  • Données qui transitent par des canaux de communication : cookies, informations d’authentification, numéros de carte de crédit et informations sur les achats et les commandes.
  • Données d’état : données qui indiquent si l’utilisateur conduit ou non une session et données stockées dans le panier d’achat.
  • Données temporaires : données créées par les processus du site.

Pour identifier les menaces pesant sur ces données, vous devez élaborer un plan de l’architecture générale de votre système qui recense en particulier les éléments suivants :

  • Processus fondamentaux, tels que les fichiers exécutables, les objets COM et les services.
  • Données de configuration, données d’authentification, données persistantes et données qui transitent par des canaux de communication.
  • Canaux de communication utilisés entre les processus, en particulier les sockets, les pipelines, les appels de procédure distante (RPC, Remote Procedure Call), le modèle DCOM (Distributed Component Object Model) ainsi que les protocoles TCP/IP et SOAP (Simple Object Access Protocol).

Ensuite, organisez une réunion à laquelle participe au moins un membre de chacune des disciplines concernées dans votre entreprise, par exemple un concepteur Web, un développeur, un administrateur système et un rédacteur technique. Passez en revue l’architecture générale du système et essayez d’identifier autant de menaces que possible pour la sécurité. L’objectif de cette réunion est d’identifier les menaces potentielles et non de résoudre les problèmes qu’elles soulèvent.

Créez un tableau qui répertorie les processus fondamentaux, les données persistantes et temporaires, ainsi que les protocoles de communication de votre application, en prenant comme exemple le tableau suivant.

Composant ou protocole | Commentaires
Navigateur | Ce composant est utilisé par le client pour afficher les informations sur les profils et les commandes.
Protocole HTTP (Hypertext Transfer Protocol) (HTTP) | Le navigateur communique avec le serveur Web selon le protocole HTTP.
Serveur Web | Le serveur Web crée les données HTML que le navigateur affiche.
Pages Web | Les pages Web sont écrites sous forme de pages ASP (Active Server Pages).
Données d’authentification | Ces informations sont utilisées pour authentifier les utilisateurs inscrits.
Serveur de base de données | Commerce Server inclut des procédures stockées utilisées pour accéder à des données au moment de l’exécution et au moment de la conception.

Lors de l’étape suivante, vous allez regrouper et analyser les menaces auxquelles sont exposés ces composants et ces protocoles.

Cette section contient les rubriques suivantes :

  • Présentation du modèle de menaces STRIDE
  • Application du modèle STRIDE
  • Menaces STRIDE dans Commerce Server


Présentation du modèle de menaces STRIDE

Pour analyser les menaces, il est utile de poser des questions telles que :

  • Comment un agresseur peut-il modifier les données d’authentification ?
  • Quels dommages peut causer un agresseur s’il réussit à lire les données de profil utilisateur ?
  • Que se passe-t-il en cas de refus de l’accès à la base de données des profils ?

Vous pouvez regrouper les menaces en catégories afin de faciliter la formulation de ces types de questions. Pour ce faire, il est recommandé d’utiliser le modèle STRIDE, dont le nom est un acronyme formé à partir des six catégories de menaces suivantes :

  • Spoofing identity (Usurpation d’identité). L’usurpation d’identité consiste par exemple à accéder illégalement au site Web, puis à utiliser les informations d’authentification d’un autre utilisateur (telles que son nom d’utilisateur et son mot de passe).
  • Tampering with data (Falsification de données). La falsification de données consiste à modifier des données avec l’intention de nuire. Les modifications non autorisées de données persistantes, comme celles stockées dans une base de données, et l’altération de données voyageant entre deux ordinateurs via un réseau ouvert, comme Internet, constituent deux exemples de cette catégorie de menaces.
  • Repudiation (Reniement). Les menaces de reniement sont associées à des utilisateurs qui nient avoir accompli une action sans qu’il soit possible de prouver le contraire (par exemple, un utilisateur effectue une opération illégale dans un système qui n’est pas en mesure de garder une trace des opérations interdites). Le Non-reniement désigne la capacité d’un système à exclure les menaces de reniement. Par exemple, il est possible d’obliger un utilisateur qui achète un article à signer un accusé de réception lors de la livraison. Le fournisseur peut ensuite utiliser l’accusé de réception signé comme preuve que l’article a été remis à ‘utilisateur.
  • Information disclosure (Divulgation d’informations). Les menaces de divulgation impliquent la communication d’informations à des personnes qui ne sont pas censées les connaître, par exemple la possibilité pour des utilisateurs de lire un fichier auquel ils ne sont pas autorisés à accéder, ou la possibilité pour un intrus de lire des données en transit entre deux ordinateurs.
  • Denial of service (Refus de service). Les attaques DoS (Denial of service) refusent des services à des utilisateurs valides, par exemple en rendant temporairement un serveur Web non disponible ou inutilisable. Vous devez prévoir une protection contre certains types de menaces DoS, ne serait-ce que pour augmenter la disponibilité et la fiabilité du système.
  • Elevation of privilege (Élévation des privilèges). Ce type de menace intervient lorsqu’un utilisateur non privilégié obtient un accès privilégié et, de ce fait, possède des autorisations suffisantes pour porter atteinte au système tout entier, ou même le détruire. Les menaces d’élévation des privilèges incluent les situations dangereuses où un agresseur, après avoir neutralisé toutes les défenses du système, est devenu partie intégrante du système approuvé lui-même.

Voir aussi

Application du modèle STRIDE

Menaces STRIDE dans Commerce Server


Application du modèle STRIDE

La façon la plus simple d’appliquer le modèle STRIDE à votre application consiste à analyser l’impact de chacune des menaces de ce modèle sur chaque composant Commerce Server et chacune de ses connexions ou relations avec d’autres composants de l’application. En fait, vous considérez chaque partie de l’application et déterminez si ce composant ou ce processus est exposé à des menaces des catégories ci-dessus (S, T, R, I, D ou E). Généralement, plusieurs menaces pèsent sur la plupart des parties de l’application et il est important de les enregistrer toutes.

La liste suivante fournit quelques exemples de menaces pour un site Web. Notez qu’il s’agit d’une liste fortement abrégée. Lors d’une réunion d’analyse des menaces, vous pourrez probablement, au bout de deux heures, identifier de 20 à 40 menaces pour la sécurité.

  • Menace nº 1 Un utilisateur malveillant affiche ou falsifie des données de profil utilisateur transmises au client par le serveur Web ou inversement. (Falsification de données/Divulgation d’informations)
  • Menace nº 2 Un utilisateur malveillant affiche ou falsifie des données de profil utilisateur transmises au composant COM par le serveur Web ou inversement. (Falsification de données/Divulgation d’informations)
  • Menace nº 3 Un utilisateur malveillant accède aux données de profil ou les falsifie directement dans la base de données. (Falsification de données/Divulgation d’informations)
  • Menace nº 4 Un utilisateur malveillant affiche les paquets d’authentification du protocole LDAP (Lightweight Directory Access Protocol) et apprend à y répondre de façon à pouvoir agir « à la place de » l’utilisateur. (Usurpation d’identité/Divulgation d’informations/Élévation des privilèges [si les données d’authentification utilisées sont celles d’un administrateur])
  • Menace nº 5 Un utilisateur malveillant défigure le serveur Web en modifiant une ou plusieurs pages Web. (Falsification de données)
  • Menace nº 6 Un agresseur refuse l’accès à l’ordinateur qui héberge le serveur de la base de données des profils en le submergeant de paquets TCP/IP. (Refus de service)
  • Menace nº 7 Un agresseur supprime ou modifie les journaux d’audit. (Falsification de données/Reniement)
  • Menace nº 8 Un agresseur place son propre serveur Web sur le réseau après avoir neutralisé le véritable serveur Web avec une attaque de type refus de service répartie (DDoS, Distributed DoS). (Usurpation d’identité ; de plus, un utilisateur particulièrement malveillant pourrait ici réaliser toutes les catégories de menaces en se procurant des mots de passe ou d’autres données d’authentification, supprimant des données, etc.)

Voir aussi

Présentation du modèle de menaces STRIDE

Menaces STRIDE dans Commerce Server


Menaces STRIDE dans Commerce Server

La figure suivante montre les menaces STRIDE dans une installation Commerce Server et indique les techniques permettant d’atténuer chacune de ces menaces. Par exemple, les menaces portant sur la base de données d’administration sont : falsification de données, divulgation d’informations et refus de service. Pour atténuer ces menaces, utilisez les listes de contrôle d’accès (ACL, Access Control Lists), SSL (Secure Socket Layer), TLS (Transport Layer Security) et l’authentification IPSec (Internet Protocol Security).

Voir aussi

Présentation du modèle de menaces STRIDE

Application du modèle STRIDE


Classement des menaces par ordre de risque décroissant

Pour chaque actif de votre installation Commerce Server, classez les menaces potentielles selon leur priorité en déterminant les éléments suivants :

  • Quelle est la probabilité de réalisation d’une attaque ? En d’autres termes, combien d’énergie/d’argent/de temps faudrait-il investir pour réaliser cette attaque ? 1 = probabilité élevée, 10 = probabilité faible
  • Quel est le coût ou le dommage supporté par votre site si une attaque a lieu ? 1 = dommage léger, 10 = dommage massif
  • Risque = Dommage en cas d’attaque / Probabilité de l’attaque. 1 = risque léger, 10 = risque massif

Pour réduire le risque auquel est exposée votre installation Commerce Server, traitez d’abord les éléments à risque élevé. Ce faisant, gardez présentes à l’esprit les statistiques figurant dans le tableau suivant. Ces statistiques montrent comment les attaques se répartissent actuellement entre les sept principales vulnérabilités des systèmes.

Vulnérabilité | Pourcentage des attaques
Restrictions contournables | 20
Vérification d’argument | 19
Tampon non vérifié | 18
Marquage de contrôle incorrect | 10
Autorisations incorrectes | 9
Erreur d’architecture | 6
Autre erreur d’implémentation | 18

Voir aussi

Identification des techniques qui atténuent les menaces


Identification des techniques qui atténuent les menaces

Le tableau suivant répertorie quelques-unes des techniques que vous pouvez utiliser pour atténuer les menaces du modèle STRIDE.

Type de menace Technique d’atténuation
Usurpation d’identité
  • Authentification
  • Protégez les secrets
  • Ne stockez pas les secrets
Falsification de données
  • Autorisation
  • Hachage
  • Codes d’authentification de message
  • Signatures numériques
  • Protocoles infalsifiables
Reniement
  • Signatures numériques
  • Cachets de date
  • Journaux témoins
Divulgation d’informations
  • Autorisation
  • Protocoles à extension confidentialité
  • Cryptage
  • Protégez les secrets
  • Ne stockez pas les secrets
Refus de service
  • Authentification
  • Autorisation
  • Filtrage
  • Limitation
  • Qualité de service
Élévation des privilèges
  • Exécution avec le moins de privilèges possible

Voir aussi

Choix des technologies appropriées parmi les techniques identifiées


Choix des technologies appropriées parmi les techniques identifiées

Commerce Server fournit des fonctionnalités d’authentification, des fonctionnalités de cryptage et des scripts pour donner à chacun le niveau d’autorisation approprié pour l’accès aux bases de données, aux vues et aux procédures stockées.

De plus, il est recommandé d’implémenter la sécurité intégrée de Windows (connue également sous le nom de Kerberos ou d’authentification Windows) pour sécuriser l’accès aux bases de données et d’utiliser les listes de contrôle d’accès (ACL), SSL, TLS et l’authentification IPSec.

Pour obtenir une explication approfondie des technologies disponibles pour atténuer des menaces, consultez Writing Secure Code, de Michael Howard et David LeBlanc. Dans cette aide en ligne, la rubrique Écriture de code sécurisé fournit des informations extraites de ce livre.


Écriture de code sécurisé

Vous pouvez assurer la sécurité d’un site en écrivant un code sécurisé. Cette section explique des techniques de codage et les erreurs classiques que commettent les développeurs en écrivant du code pour une application Web.

Cette section contient les rubriques suivantes :

  • Saturations de tampon
  • Prévention des saturations de tampon


Saturations de tampon

Une saturation de tampon a lieu lorsqu’un agresseur essaie d’écrire plus de n octets dans un tampon de n octets. Ceci peut avoir trois conséquences pour votre site :

  • Vous recevez un message de violation d’accès (AV, access violation).
  • Votre site devient instable.
  • L’agresseur introduit du code dans votre application, l’exécute et accorde à tous les utilisateurs le statut d’administrateur de votre site.

La suite de cette section explique les différents types de saturations de tampon, les erreurs d’indexation de tableau, les bogues de chaîne de format et les correspondances incorrectes entre les tailles de tampon Unicode et ANSI. Les erreurs de chaîne de format, un problème porté récemment à la connaissance du public, ne nécessitent pas obligatoirement la présence d’une saturation de tampon, mais offrent à un agresseur des possibilités comparables à celles d’une saturation de tampon. Après avoir montré comment fonctionne une saturation de tampon, cette section explique des techniques permettant d’éviter ces problèmes.

Remarque

  • La version de Visual C++ accompagnant Microsoft Visual Studio .NET inclut une prise en charge de la prévention de certains types de saturations exploitables au niveau de la pile. La technologie du compilateur s’applique à toutes les applications Windows C++ et pas seulement au code managé .NET.

Cette section contient les rubriques suivantes :

  • Saturations de tampon statique
  • Saturations de segment de mémoire
  • Erreurs d’indexation de tableau
  • Bogues de chaîne de format
  • Correspondances incorrectes entre les tailles de tampon Unicode et ANSI


Saturations de tampon statique

Une saturation de tampon statique a lieu lorsque le contenu d’un tampon déclaré sur la pile est remplacé en copiant des données dont la taille dépasse celle du tampon. Les variables déclarées sur la pile sont situées à côté de l’adresse de retour pour l’appelant de la fonction. La cause de la saturation est habituellement une entrée utilisateur non vérifiée passée à une fonction telle que strcpy et le résultat est que l’adresse de retour pour la fonction est remplacée par une adresse choisie par l’agresseur.

La figure suivante montre un exemple de pile en haut. Le problème est que le contenu du Tampon dans bar() peut être remplacé par du code de l’agresseur, de sorte que, lors du traitement de l’Adresse de retour vers fog(), l’adresse est renvoyée au code assembleur de l’agresseur, comme indiqué dans la deuxième case. L’agresseur peut additionner les deux en utilisant une simple fonction de copie, montrée dans la troisième case.

Pour parvenir à ses fins, l’agresseur doit surmonter quelques problèmes, par exemple le fait que l’entrée utilisateur est partiellement vérifiée ou que le tampon ne peut contenir qu’un nombre de caractères limité. Si vous utilisez des jeux de caractères codés sur deux octets, la tâche de l’agresseur risque de s’en trouver compliquée, mais les problèmes ainsi introduits ne sont pas insurmontables.

Le programme suivant, écrit en C, montre une exploitation simple d’une saturation.

/*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;
}

Cette application est presque aussi simple que celle qui écrit « Hello, World ». Elle commence par afficher les adresses des deux fonctions, foo et bar, en utilisant l’option %p de la fonction printf, qui affiche une adresse. Un véritable agresseur faisant intrusion dans une application pourrait essayer de retourner au tampon statique déclaré dans foo ou de trouver une fonction utile chargée à partir d’une bibliothèque de liens dynamiques (DLL, dynamic-link library) système. Le but de cet exercice est de faire s’exécuter la fonction bar. La fonction foo contient une paire d’instructions printf qui utilisent un effet secondaire des fonctions à argument variable pour afficher les valeurs qui se trouvent sur la pile. Le problème a lieu lorsque la fonction foo accepte aveuglément une entrée utilisateur et la copie dans un tampon de 10 octets.

Voici un exemple de code fournissant une chaîne comme argument de ligne de commande :

[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

Maintenant, pour vérifier si des saturations de tampon ont lieu, entrez une chaîne longue :

[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

Le message d’erreur de l’application apparaît alors et prétend que l’instruction située à l’adresse 0x41414141 a essayé d’accéder à la mémoire à l’adresse 0x41414141.

Voici un exemple de code montrant comment rechercher les caractères que vous devez entrer dans l’application :

[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

Le message d’erreur de l’application montre maintenant que l’agresseur essaie d’exécuter des instructions à l’adresse 0x54535251. Il suffit à l’agresseur de consulter un tableau de codes ASCII pour voir que 0x54 représente la lettre « T », qui est donc ce qu’il aimerait modifier.

En modifiant l’entrée utilisateur, l’agresseur est en mesure de manipuler l’emplacement où le programme essaie d’exécuter l’instruction suivante. Par exemple :

[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

Si l’agresseur parvenait à lui envoyer 0x45, 0x10, 0x40 au lieu de QRS, il pourrait faire s’exécuter la fonction bar. Pour passer ces caractères spéciaux (0x10 ne s’imprime pas) sur la ligne de commande, un agresseur peut utiliser le script PERL suivant, nommé HackOverrun.pl, pour envoyer facilement à l’application une ligne de commande arbitraire :

$arg = "ABCDEFGHIJKLMNOP"."\x45\x10\x40";
$cmd = "StaticOverrun ".$arg;

system($cmd);

L’exécution de ce script produit le résultat souhaité :

[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!

Dans une attaque réelle, l’agresseur remplirait les 16 premiers caractères de code assembleur destiné à nuire à la victime et à définir l’adresse de retour au début du tampon.

Remarque

  • Le processeur Intel Itanium 64 bits ne place pas l’adresse de retour sur la pile ; au lieu de cela, l’adresse de retour est stockée dans un registre. Ceci ne met pas le processeur à l’abri des saturations de tampon. Simplement, l’exploitation des saturations est plus difficile.


Saturations de segment de mémoire

Une saturation de segment de mémoire pose un problème analogue à celui de la saturation de tampon, mais elle est plus difficile à exploiter. Comme dans le cas d’une saturation de tampon statique, les agresseurs peuvent écrire des informations arbitraires à des emplacements de votre application auxquels ils ne devraient pas avoir accès. Citons à ce sujet un excellent article, « w00w00 on Heap Overflows », écrit par Matt Conover, de la société w00w00 Security Development (WSD). Cet article se trouve à l’adresse www.w00w00.org/files/articles/heaptut.txt.

L’application suivante montre comment exploiter une saturation de segment de mémoire :

/*
  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;
}

En regardant l’exemple ci-dessus, vous pouvez facilement imaginer que la fonction BadFunc a été écrite par un programmeur persuadé que les saturations de segment de mémoire n’étaient pas exploitables. Ce programmeur a également écrit BadStringBuf, une classe C++ destinée à contenir le pointeur du tampon d’entrée. Sa meilleure fonctionnalité est sa prévention des fuites de mémoire par libération du tampon dans le destructeur. Si le tampon BadStringBuf n’est pas initialisé avec la fonction d’allocation de mémoire, malloc, l’appel de la fonction free risque de poser quelques problèmes.

Un agresseur remarquerait que cette application explose lorsque le premier ou le deuxième argument devient trop long. De même, l’adresse de l’erreur (indiquée dans le message d’erreur) montre que l’altération de la mémoire a lieu dans le haut du segment de mémoire. L’agresseur démarre ensuite le programme dans un débogueur et recherche l’emplacement de la première chaîne d’entrée. Quelle précieuse mémoire pourrait éventuellement avoisiner ce tampon ? Une petite enquête révèle que le deuxième argument est écrit dans un autre tampon alloué dynamiquement : où est le pointeur vers ce tampon ? Il suffit de rechercher dans la mémoire les octets correspondant à l’adresse du deuxième tampon : le pointeur vers le deuxième tampon se trouve là, seulement 0x40 octets après l’emplacement où commence le premier tampon. Maintenant, l’agresseur peut modifier ce pointeur comme bon lui semble et toute chaîne passée comme deuxième argument sera écrite à l’endroit de son choix dans l’espace de processus de l’application !

Comme dans le premier exemple, le but de l’agresseur est de faire s’exécuter la fonction bar. L’étape suivante consiste donc à remplacer le pointeur pour faire référence à l’adresse 0x0012fe94 (dans cet exemple) qui, en l’occurrence, se trouve être l’emplacement du point de la pile où est conservée l’adresse de retour pour la fonction BadFunc.

L’agresseur confectionne la deuxième chaîne de façon à définir à l’adresse mémoire 0x0012fe94 l’emplacement de la fonction bar (0x0040100f). Dans cette approche, comme l’agresseur ne détruit pas la pile, un mécanisme destiné à protéger la pile ne remarquera pas le moindre changement. S’il exécute l’application en pas à pas, l’agresseur obtient les résultats suivants :

Address of bar is 0040100F
input 1 = 2222222222222222222222222222222222222222222222222222ö??
input2 = *4@
You have been hacked!

Notez que l’agresseur peut exécuter ce code en mode débogage et l’exécuter ligne par ligne parce que la vérification de pile du mode débogage de Visual C++ ne s’applique pas au segment de mémoire.


Erreurs d'indexation de tableau

Envoyer des commentaires sur cette page Commerce Server 2002

Erreurs d’indexation de tableau

Les erreurs d’indexation de tableau sont bien moins souvent exploitées que les saturations de tampon, mais ces dernières ne représentent qu’un tableau de caractères et des tableaux d’autres types pourraient aussi être utilisés pour écrire des informations à des emplacements arbitraires dans la mémoire.

Voici un exemple de code qui montre comment utiliser une erreur d’indexation de tableau pour écrire des informations à des emplacements arbitraires dans la mémoire :

/*
    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;
}

Une situation classique où cette sorte d’erreur permet d’attaquer un système se présente lorsqu’un utilisateur vous indique combien d’éléments il faut attendre, puis est autorisé à accéder aléatoirement au tableau après sa création parce que vous n’avez fait appliquer aucun contrôle de limites.

Le tableau de notre exemple commence à l’adresse 0x00510048 et la valeur que l’agresseur souhaite écrire est la valeur de retour sur la pile, qui se trouve à l’adresse 0x0012FF84. L’équation suivante décrit comment l’adresse d’un élément de tableau est déterminée par la base du tableau, l’index et la taille des éléments du tableau :

Address of array element = base of array + index * sizeof(element)

En remplaçant les variables de cette équation par leurs valeurs, vous obtenez :

0x10012FF84 = 0x00510048 + index * 4

Observez que 0x10012FF84 est employé dans l’équation au lieu de 0x0012FF84. Un petit travail avec Calc.exe révèle que l’index est 0x3FF07FCF (ou 1072725967) et que l’adresse de bar (0x00401000) est 4198400 en notation décimale. Voici les résultats du programme :

[d:\]ArrayIndexError.exe 1072725967 4198400
Address of bar is 00401000
Address of IntVector is 00510048
Writing memory at 0012FF84
You have been hacked!

Comme vous pouvez le voir, ce type d’erreur est très facile à exploiter si l’agresseur a accès à un débogueur.


Bogues de chaîne de format

Bien qu’ils ne soient pas exactement pareils que les saturations de tampon, les bogues de chaîne de format sont inclus dans cette section parce qu’ils conduisent aux mêmes problèmes.

Le problème de base des bogues de chaîne de format provient du fait qu’une fonction admettant un nombre d’arguments variable ne dispose d’aucun moyen réaliste pour déterminer combien d’arguments lui sont passés. (Les fonctions les plus communes qui admettent un nombre d’arguments variable, en particulier parmi les fonctions run-time C, sont la famille d’appels printf.) Ce qui rend ce problème intéressant, c’est que le spécificateur de format %n écrit le nombre d’octets qui aurait été écrit par la chaîne de format dans le pointeur fourni pour cet argument. Un petit bricolage vous permet de découvrir que certains bits quelque peu aléatoires de l’espace mémoire du processus sont maintenant remplacés par les octets de l’agresseur. L’exploitation de tels bogues est un peu difficile sur les systèmes Windows parce que de nombreux segments de mémoire où vous aimeriez écrire sont situés à l’adresse 0x00ffffff ou au-dessous (par exemple, la pile se trouve en général approximativement à 0x00120000).

Il est relativement facile de remédier à ce problème : passez toujours une chaîne de format à la famille de fonctions printf. Par exemple, printf(entrée) est exploitable, alors que printf("%s", entrée) ne l’est pas.

Ne perdez pas de vue que si vous autorisez les agresseurs à commencer à écrire des informations en mémoire n’importe où dans votre application, ils trouveront tôt ou tard un moyen de l’arrêter ou de faire exécuter un code arbitraire. Ce bogue est vraiment facile à éviter. Une prudence particulière est de rigueur si des chaînes de format personnalisées sont stockées pour fournir l’aide dans les versions de votre application en langue étrangère. Si tel est le cas, faites en sorte que ces chaînes ne puissent pas être écrites par des utilisateurs dépourvus de privilèges.


Correspondances incorrectes entre les tailles de tampon Unicode et ANSI

La saturation de tampon causée par des correspondances incorrectes entre les tailles de tampon Unicode et ANSI est relativement fréquente sur les plates-formes Windows. Elle se produit si vous confondez le nombre d’éléments avec la taille en octets d’un tampon Unicode. Il y a deux raisons au fait que ce problème est très répandu : Microsoft Windows NT et les versions ultérieures prennent en charge les chaînes ANSI et Unicode et la plupart des fonctions Unicode utilisent des tailles de tampon exprimées en caractères étendus (et non en octets).

La fonction d’usage le plus répandu sujette à ce type de bogue est MultiByteToWideChar. Considérez le code suivant :

BOOL GetName(char *szName)
{
    WCHAR wszUserName[256];

    // Convert ANSI name to Unicode.
    MultiByteToWideChar(CP_ACP, 0,
                        szName,
                        -1,
                        wszUserName,
                        sizeof(wszUserName));
    // Snip

}

Le problème est le dernier argument de MultiByteToWideChar. La valeur passée dans cet appel est sizeof(wszUserName), une chaîne Unicode de 256 caractères étendus. Comme un caractère étendu est codé sur deux octets, sizeof(wszUserName) représente en réalité 512 octets. Ainsi, la fonction pense que la capacité du tampon est de 512 caractères étendus. Comme wszUserName est sur la pile, la saturation de tampon potentielle est exploitable.

Voici la manière correcte d’écrire cette fonction :

    MultiByteToWideChar(CP_ACP, 0,
                        szName,
                        -1,
                        wszUserName,
                        sizeof(wszUserName) / sizeof(wszUserName[0]));


Prévention des saturations de tampon

La prévention des saturations de tampon est indispensable pour écrire une application robuste. Consultez à ce sujet l’excellent livre de Steve Maguire, Writing Solid Code (Microsoft Press, 1993).

La mesure la plus importante que vous puissiez prendre pour empêcher les saturations de tampon consiste à toujours valider toutes vos entrées. De même, hormis l’entrée et la sortie que la fonction attend, aucune information sur l’implémentation interne de la fonction ne doit être accessible en dehors de la fonction.

Traitement des chaînes sécurisé

Le traitement des chaînes est la principale source des saturations de tampon. Bien que cette section n’explique que les problèmes des versions utilisant des caractères codés sur un seul octet, les mêmes problèmes s’appliquent aux fonctions de traitement des chaînes de caractères étendus. Par ailleurs, les systèmes Windows prennent en charge lstrcpy, lstrcat et lstrcpyn, et le shell Windows contient des fonctions semblables, telles que StrCpy, StrCat et StrCpyN, qui sont exportées à partir de Shlwapi.dll. Bien que les appels de la famille lstr varient un peu dans les détails et fonctionnent avec les deux types de jeux de caractères (SBCS et MBCS) selon la façon dont l’application définit la terminaison d’un pointeur LPTSTR, ils présentent les mêmes problèmes que les versions ANSI plus connues.

Fonction | Commentaire
strcpy | La fonction strcpy étant intrinsèquement peu sûre, ne l’utilisez que rarement, voire pas du tout. Si le tampon de destination ou le tampon source est nul, vous aboutissez dans le gestionnaire d’exception. Le plus grand problème est que si la chaîne source est plus longue que le tampon de destination, une saturation a lieu.
strncpy | Cette fonction est plus sûre que strcpy, mais le passage d’un pointeur nul ou illicite pour la source ou la destination provoque des exceptions.
sprintf | Il n’y a pratiquement aucun moyen d’utiliser cette fonction en toute sécurité. Il n’est pas facile de vérifier que le tampon est assez long pour les données avant d’appeler sprintf.
_snprintf | Cette fonction est flexible et sûre, mais elle ne garantit pas que le tampon est terminé par zéro. Spécifiez un nombre de caractères égal à la taille du tampon moins un afin de toujours laisser de la place pour le caractère nul final et terminez toujours par zéro le dernier caractère du tampon.
STL (Standard Template Library Strings) | Lorsque vous écrivez du code C++, vous pouvez utiliser STL. STL offre plusieurs fonctions membres utiles, dont vous pouvez vous servir pour rechercher des caractères et des chaînes à l’intérieur d’une autre chaîne et pour tronquer la chaîne.
gets et fgets | N’utilisez pas gets. Il est impossible de savoir si gets fera déborder le tampon. Utilisez à la place fgets ou un objet Flux de données C++.


Erreurs classiques en matière de sécurité Web

Les données doivent être validées lorsqu’elles traversent les frontières entre les environnements non approuvés et les environnements approuvés. Par définition, les données approuvées sont des données totalement contrôlées par vous-même ou par une entité que vous approuvez explicitement ; toutes les autres données sont appelées données non approuvées. Toutes les données soumises par un utilisateur sont initialement non approuvées.

Cette section contient les rubriques suivantes :

  • Vulnérabilités des entrées utilisateur
  • Exemple d’entrées utilisateur approuvées en utilisant du code managé
  • Vulnérabilité de sécurité : tailles illimitées
  • Vulnérabilité de sécurité : utilisation des entrées utilisateur directement dans des instructions SQL
  • Remèdes aux problèmes liés aux entrées utilisateur


Vulnérabilités des entrées utilisateur

Toutes les applications Web effectuent certaines actions à partir des demandes utilisateur. Vous devez déterminer si ces demandes sont valides et rejeter toutes les autres entrées.

L’exemple suivant est basé sur un code ASP (Active Server Pages) d’un site Web qui recommandait aux concepteurs de site Web d’utiliser le code Microsoft® JScript® suivant dans leurs applications ASP pour implémenter l’authentification par formulaire :

// 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;
}

Voici le code client utilisé pour envoyer le nom d’utilisateur et le mot de passe au code JScript en utilisant la méthode HTTP POST :

<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>

L’utilisateur entre un nom d’utilisateur et un mot de passe à l’aide du formulaire HTML montré ci-dessus, puis clique sur le bouton d’ouverture de session. Le code ASP le nom d’utilisateur et le mot de passe fournis pour construire une instruction SQL pour interroger une base de données. Si le nombre de lignes renvoyées par la requête est supérieur à zéro (SELECT count(*) renvoie le nombre de lignes renvoyées par la requête SQL), la combinaison de nom d’utilisateur et de mot de passe est valide et l’utilisateur est autorisé à ouvrir une session sur le système.

Toutefois, les codes client et serveur présentent tous deux un défaut, parce que la solution prend directement une entrée utilisateur et l’utilise pour accéder à une base de données sans contrôler si cette entrée est valide. En d’autres termes, des données sont transférées depuis une source non approuvée (un utilisateur) à une source approuvée, la base de données SQL que contrôle l’application.

Supposons qu’un utilisateur sans mauvaises intentions entre son nom, « Blake », et le mot de passe « $qu1r+ », ce qui donne lieu à la construction de l’instruction SQL suivante :

SELECT count(*) FROM client
WHERE name=‘Blake’
AND pwd=‘$qu1r+’

S’il s’agit d’une combinaison valide de nom d’utilisateur et de mot de passe, count(*) renvoie une valeur d’au moins 1 et permet à l’utilisateur d’accéder au système. Cette requête peut très bien renvoyer une valeur supérieure à 1 s’il existe deux utilisateurs ayant le même nom et le même mot de passe, ou si une erreur administrative aboutit à entrer les données deux fois.

Comme le nom d’utilisateur et le mot de passe ne sont pas contrôlés par l’application ASP, l’agresseur peut envoyer n’importe quelle entrée.

Voir aussi

N’approuvez pas les entrées utilisateur directement


N'approuvez pas les entrées utilisateur directement

Envoyer des commentaires sur cette page Commerce Server 2002

N’approuvez pas les entrées utilisateur directement

Vous ne devez jamais approuver directement les entrées utilisateur, surtout si elles sont anonymes. Rappelez-vous les deux règles d’or : ne jamais approuver les entrées utilisateur et toujours vérifier les données lorsqu’elles passent d’un domaine non approuvé à un domaine approuvé.

Un des scénarios d’entrée utilisateur malveillante dont il faut se méfier peut se réaliser si votre application prend l’entrée utilisateur, puis l’utilise pour créer des sorties destinées à d’autres utilisateurs. Par exemple, considérez les ramifications au niveau de la sécurité si vous construisez un service Web qui permet à des utilisateurs de créer et de publier des critiques de produit que d’autres utilisateurs du système liront avant d’acheter un produit. Imaginez qu’un agresseur n’aime pas ProduitA, mais aime ProduitB. Cet agresseur rédige sur ProduitA un commentaire, qui apparaîtra sur la page Web de ProduitA, avec toutes les autres critiques. Toutefois, ce commentaire est le suivant :

<meta http-equiv="refresh"
    content="2;URL=http://www.northwindtraders.com/productb.aspx">

Ce code HTML envoie le navigateur de l’utilisateur à la page produit pour ProduitB dès que le navigateur a passé deux secondes à la page consacrée à ProduitA !


Exemple d'entrées utilisateur approuvées en utilisant du code managé

Envoyer des commentaires sur cette page Commerce Server 2002

Exemple d’entrées utilisateur approuvées en utilisant du code managé

Le code suivant montre un exemple d’entrées utilisateur approuvées en utilisant du code managé :

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();
}

Les exemples suivants montrent les défauts de ce code et les possibilités qu’il offre aux agresseurs.

Entrée utilisateur : exemple de l’entrée valide que vous attendez

Name: Foo Corp
SELECT sum(cost)
FROM orders
WHERE companyname=‘Foo Corp’

Entrée d’agresseur : ce qu’un agresseur entre réellement

Name: Blah’ or 1=1 --
SELECT sum(cost)
FROM orders
WHERE companyname=‘Blah’ or 1=1 -- ‘

Dans l’exemple ci-dessus, l’entrée incorrecte est ‘Blah’ or 1=1 -- ‘. Cette entrée est incorrecte parce que l’agresseur peut l’utiliser pour vérifier qu’il est possible d’injecter des instructions SQL dans le code en utilisant le niveau de privilège de l’utilisateur ordinaire.

Très mauvaise entrée d’agresseur

Name: b’ drop table orders --
SELECT sum(cost)
FROM orders
WHERE companyname= ‘b’ drop table orders -- ‘

Dans l’exemple ci-dessus, l’entrée incorrecte est b’ drop table orders -- . Cette entrée est incorrecte parce qu’elle permet à l’agresseur d’injecter une instruction SQL de suppression de table. Pour y parvenir, toutefois, l’agresseur doit avoir les privilèges de niveau db_owner.

Très très mauvaise entrée d’agresseur

Name: b’ xp_cmdshell(‘fdisk.exe’) --
SELECT sum(cost)
FROM orders
WHERE companyname= ‘b’ xp_cmdshell(‘fdisk.exe’) -- ‘

Dans l’exemple ci-dessus, l’entrée incorrecte est b’ xp_cmdshell(‘fdisk.exe’) – . Cette entrée est incorrecte parce que l’agresseur peut l’utiliser pour exécuter des commandes de niveau système (passage du shell au mode ligne de commande). Pour y parvenir, toutefois, l’agresseur doit être en mesure de se connecter à vos bases de données SQL Server en utilisant les privilèges de niveau sa.

Exemple de code managé plus sécurisé

L’exemple de code suivant montre comment se défendre plus efficacement contre les attaques ci-dessus.

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( );
}


Vulnérabilité de sécurité: tailles illimitées

Envoyer des commentaires sur cette page Commerce Server 2002

Vulnérabilité de sécurité : tailles illimitées

Si la taille des données du client n’est ni limitée, ni contrôlée, les agresseurs peuvent envoyer autant de données qu’ils veulent. Ceci pourrait poser un problème de sécurité s’il existait une saturation de tampon inconnue jusqu’ici dans le code de base de données appelé lorsque la requête SQL est exécutée. En y regardant de plus près, un agresseur peut facilement contourner les limites de taille imposées pour le nom d’utilisateur et le mot de passe par le code de formulaire HTML client précédent, qui limite ces deux champs à 32 caractères : il lui suffit de ne pas utiliser le code client. À la place, les agresseurs écrivent leur propre code client, par exemple en Perl, ou utilisent simplement un client Telnet.

L’exemple de code suivant illustre cette méthode : il envoie un formulaire HTML valide à Logon.asp, mais définit comme mot de passe et nom d’utilisateur une chaîne composée de 32000 fois la lettre « A ».

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);

Ne vous fiez pas aux contrôles de sécurité HTML côté client (dans ce cas, en croyant que les longueurs du nom d’utilisateur et du mot de passe sont limitées à 32 caractères) parce qu’un agresseur peut toujours contourner de tels contrôles en contournant aussi le client.


Vulnérabilité de sécurité: utilisation des entrées utilisateur directement dans des instructions SQL

Envoyer des commentaires sur cette page Commerce Server 2002

Vulnérabilité de sécurité : utilisation des entrées utilisateur directement dans des instructions SQL

Du fait que l’entrée n’est pas approuvée et que sa validité n’a pas été contrôlée, un agresseur pourrait modifier la sémantique de l’instruction SQL. Dans l’exemple suivant, l’agresseur entre un nom d’utilisateur et un mot de passe complètement incorrects, à savoir « ’b’or ‘1’ = ‘1’ », ce qui donne lieu à la construction de l’instruction SQL valide suivante :

SELECT count(*)
FROM client
WHERE name=‘b’ or ’1’=‘1’ and pwd=‘b’ or ’1’=‘1’

Cette instruction renvoie toujours un nombre de lignes supérieur à un, parce que le fragment « ’1’ = ‘1’ » est vrai des deux côtés de la clause « and ». L’agresseur est authentifié sans avoir fourni de nom d’utilisateur ou de mot de passe valide : son entrée a simplement modifié la façon dont fonctionne la requête SQL.

Voici une autre variante : un agresseur qui connaît un nom d’utilisateur et veut usurper cette identité peut le faire en employant des commentaires SQL, par exemple deux tirets (--) dans Microsoft SQL Server ou le signe dièse (#) dans mySQL. Certaines autres bases de données utilisent le point-virgule (;) comme marque de commentaire. Au lieu de « ’b’ or ‘1’ = ‘1’ », l’agresseur entre « ’Cheryl’ -- », ce qui donne lieu à la construction de l’instruction SQL valide suivante :

SELECT count(*)
FROM client
WHERE name=‘Cheryl’ --and pwd=‘‘

Si une utilisatrice du nom de Cheryl est définie dans le système, l’agresseur est autorisé à ouvrir sa session parce qu’il a marqué comme commentaire le reste de l’instruction SQL qui évalue le mot de passe, si bien que le mot de passe n’est pas vérifié.

Il est possible de joindre des instructions SQL. Par exemple, l’instruction SQL suivante est valide :

SELECT * from client INSERT into client VALUES (‘me’, ’URHacked’)

Cette ligne contient en réalité deux instructions SQL. La première sélectionne toutes les lignes de la table client et la seconde insère une nouvelle ligne dans la même table.

Remarque

  • Une des raisons pour lesquelles l’instruction INSERT pourrait fonctionner pour un agresseur est que la plupart des gens se connectent aux bases de données SQL en utilisant des comptes à haut niveau de privilèges, par exemple le compte sysadmin (sa) dans SQL Server. Ceci constitue une raison de plus pour respecter le principe de privilège minimal lors de la conception d’applications Web.

Un agresseur pourrait utiliser cette page ASP d’ouverture de session et entrer le nom d’utilisateur « ’b’ INSERT INTO client VALUES (‘me’, ‘URHacked’) -- », ce qui donnerait lieu à la construction de l’instruction SQL suivante :

SELECT count(*)
FROM client
WHERE name=‘b’ INSERT INTO client VALUES (‘me’, ’URHacked’) --and pwd=‘‘

Le mot de passe n’est pas vérifié parce que cette partie de la requête est marquée comme commentaire. Par ailleurs, l’agresseur a ajouté une nouvelle ligne contenant « me » comme nom d’utilisateur et « URHacked » comme mot de passe : désormais, l’agresseur peut ouvrir une session en utilisant « me » et « URHacked ».


Remèdes aux problèmes liés aux entrées utilisateur

Pour éviter les problèmes liés aux entrées utilisateur, la première règle consiste à déterminer quelle entrée est valide et à rejeter toutes les autres entrées. Il existe d’autres options qui offrent davantage de fonctionnalités avec, potentiellement, moins de sécurité.

Les techniques suivantes réduisent la menace que représentent les entrées utilisateur :

  • Déterminez ce qui est une entrée valide et rejetez tout le reste.
  • Utilisez des expressions régulières.
  • N’affichez les entrées utilisateur qu’après les avoir expurgées.
  • Les mots de passe peuvent causer des problèmes : évitez-les en utilisant Server.URLEncode ou HttpServerUtility.URLEncode.
  • N’utilisez jamais le compte sa pour vous connecter à SQL Server depuis une application. Il va à l’encontre du principe de niveau de privilège minimal.
  • Ne construisez pas de chaînes SQL.
  • Utilisez des espaces réservés ou des procédures stockées.

Cette section contient les rubriques suivantes :

  • Idées de test d’entrées
  • Contrôle strict de la validité des entrées


Idées de test d'entrées

Envoyer des commentaires sur cette page Commerce Server 2002

Idées de test d’entrées

Il est recommandé d’énumérer tous les points d’entrée de l’application avant de déployer votre site : sockets, appels RPC, canaux nommés, fichiers, clés de registre, paramètres SOAP, en-têtes HTTP, valeurs de formulaire, chaînes de requête, etc. Ensuite, utilisez un outil qui passe « sous le radar », tel que Perl, C# ou C++. Créez une entrée qui est trop grande, trop petite, inexistante ou d’un type de données incorrect et testez-la.


Contrôle strict de la validité des entrées

Il est facile de limiter les caractères valides pour un nom d’utilisateur à un petit ensemble de caractères, tel que A-Z, a-z et 0-9. L’extrait de code JScript côté serveur suivant montre comment construire et utiliser une expression régulière pour analyser le nom d’utilisateur sur le serveur :

// 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.
}

Observez l’emploi de l’option « g » à la fin de l’expression ci-dessus. Il s’agit de l’option « global », qui force l’expression régulière à rechercher le motif dans la totalité de l’entrée ; sans cette option, elle ne vérifie que la première ligne. L’omission de l’option « global » peut avoir des conséquences graves si l’agresseur peut forcer l’entrée à occuper plusieurs lignes.

Non seulement cette expression régulière limite le nom d’utilisateur à un petit sous-ensemble de caractères, mais elle vérifie aussi que la longueur de la chaîne est comprise entre 1 et 32 caractères.

Remarque

  • Observez l’emploi de « ^ » et de « $ » dans l’expression régulière : ces signes signifient que tous les caractères du début (^) à la fin ($) de l’entrée doivent correspondre à cette expression régulière. Autrement, l’expression régulière risquerait de se contenter de trouver une correspondance avec un sous-ensemble de la chaîne. Par exemple, /[A-Za-z0-9]{1,32}/ se limiterait à rechercher une correspondance dans n’importe quelle partie de la chaîne d’entrée. De ce fait, des balises HTML ou un script, par exemple <script>alert("hi!")</script>, seraient admis parce que le mot « script » correspond à l’expression.

Votre code doit appliquer une expression régulière à la totalité de l’entrée, qu’elle fasse partie d’un formulaire, d’un en-tête HTTP ou d’une chaîne de requête.

Dans le cas du nom de fichier passé au serveur Web sous la forme d’une chaîne de requête, l’expression régulière suivante, qui représente un nom de fichier valide (les noms de répertoire et les lettres de lecteur n’étant pas autorisés), permet de contrecarrer toute tentative d’utiliser un script comme partie de la chaîne de requête :

// 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.
}

Une erreur classique que commettent de nombreux développeurs Web est d’autoriser les constructions HTML « sûres », par exemple en permettant à un utilisateur d’envoyer des balises <IMG> ou <TABLE> à l’application Web. L’utilisateur peut alors envoyer des balises HTML, mais rien d’autre, sauf du texte brut. Ne le faites pas. En effet, une attaque par script intersite reste possible parce que l’agresseur peut incorporer un script dans certaines de ces balises.

Voici quelques exemples :

<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))>


Problèmes liés aux attaques par script intersite

Lors d’une attaque par script intersite, un agresseur envoie à un utilisateur un lien dans un message électronique ou emploie une autre technique pour aiguiller l’utilisateur vers un lien à un site Web et une charge utile malveillante se trouve dans la chaîne de requête incorporée dans l’adresse URL. Cette attaque est particulièrement néfaste si le site Web crée un message d’erreur dont le texte mentionne la chaîne de requête incorporée.

La fréquence des attaques par script intersite augmente. Le principal problème qui cause la vulnérabilité est la reproduction en écho des entrées utilisateur. De plus, une seule page présentant un défaut dans tout votre domaine suffit pour vous rendre vulnérable.

Remarque

  • L’utilisation de SSL/TLS n’atténue pas les problèmes de script intersite.

Cette section contient les rubriques suivantes :

  • Fonctionnement des attaques par script intersite


Fonctionnement des attaques par script intersite

La figure suivante montre ce qui peut arriver lorsque vous renvoyez des données à un utilisateur. Dans ce cas, le site Web affiche un message d’accueil personnel, « Hello Blake ». (Ce même problème peut aussi avoir lieu, par exemple, lorsqu’un utilisateur entre une chaîne de recherche pour rechercher un produit ou un contenu quelconque sur votre site.) Après avoir vu le contenu personnalisé, l’agresseur décide de tester la sécurité de votre site en ajoutant un script à l’adresse URL, afin de déterminer si votre site l’exécutera.

Dans cet exemple, le script est exécuté et désormais tous les utilisateurs seront redirigés vers le site Web de l’agresseur, www.<serveur de l’agresseur>.com. Lorsque les utilisateurs entrent dans le site Web de l’agresseur, ce dernier peut recueillir les données de leur profil.

Cette attaque peut s’utiliser contre des ordinateurs protégés par des pare-feu. De nombreux réseaux locaux d’entreprise sont configurés de telle sorte que les ordinateurs clients approuvent les serveurs du réseau local, mais non les serveurs qui se trouvent à l’extérieur, sur Internet. Il est toutefois possible, pour un serveur extérieur au pare-feu, de tromper un client protégé par le pare-feu, en lui faisant croire qu’un serveur approuvé, à l’intérieur du pare-feu, lui a demandé d’exécuter un programme. Pour ce faire, l’agresseur a seulement besoin de connaître le nom d’un serveur Web situé à l’intérieur du pare-feu et qui ne vérifie pas si les champs des formulaires contiennent des caractères spéciaux. Il est difficile, mais non impossible, de se procurer une telle information, sauf si l’agresseur l’obtient de bonne source.

Pour plus d’informations sur les problèmes de script intersite, consultez l’article « Cross-Site Scripting Overview » (en anglais) à l’adresse http://go.microsoft.com/fwlink/?LinkId=6717.


Élaboration d'instructions SQL sécurisées

Envoyer des commentaires sur cette page Commerce Server 2002

Élaboration d’instructions SQL sécurisées

La construction de chaînes SQL dans le code est source de problèmes. Une manière simple d’y remédier consiste à laisser à la base de données le soin de réaliser la chaîne SQL au lieu d’essayer de la construire dans votre code. Vous pouvez le faire de deux façons. La première est de transmettre l’entrée de l’utilisateur à une procédure stockée ; SQL Server autorise l’emploi de procédures stockées.

Si votre application Web utilise ODBC (open database connectivity) et que vous voulez employer des paramètres, vous devez utiliser les fonctions SQLNumParams et SQLBindParam. Si vous utilisez OLE DB, vous pouvez vous servir de l’interface ICommandWithParameters.


Exécution avec le moins de privilèges possible

Les utilisateurs et les processus exécutables ne doivent pas posséder plus de privilèges que le minimum requis pour effectuer leur tâche.

Remarque

  • Si vous utilisez l’authentification SQL au lieu de l’authentification Windows pour votre site Commerce Server, vous devez prendre d’autres mesures pour que les utilisateurs qui accèdent à Business Desk et au Gestionnaire Commerce Server ne possèdent pas de privilèges superflus dans l’environnement de production.

Tout défaut logiciel grave, tel qu’une saturation de tampon, susceptible de conduire à des problèmes de sécurité causera des dommages moins importants si le logiciel concerné s’exécute avec peu de privilèges. Des problèmes ont lieu lorsqu’un utilisateur exécute, volontairement ou par inadvertance, un code malveillant (par exemple un cheval de Troie dans une pièce jointe à un message électronique, ou encore un code injecté à la faveur d’une saturation de tampon) qui bénéficie des prérogatives importantes de l’utilisateur. Par exemple, le processus créé lors du lancement d’un cheval de Troie hérite toutes les prérogatives de l’appelant. De plus, si l’utilisateur est membre du groupe Administrateurs local, le code exécuté peut avoir la totalité des privilèges système et des droits accès aux objets. Le potentiel pour les dommages est immense.


Prévention des attaques de type refus de service

Comme nous l’avons expliqué antérieurement, les attaques de type refus de service (DoS, Denial of Service) refusent aux utilisateurs valides essayant d’accéder à votre site les services qu’ils sont en droit d’attendre. Par exemple, un agresseur peut submerger votre serveur Web de demandes, ce qui rend le serveur temporairement non disponible ou inutilisable. Les attaques DoS constituent un problème parce qu’elles sont faciles à réaliser et peuvent être anonymes.

Les attaques DoS se rangent en quatre catégories principales : privation d’unité centrale, de mémoire, de ressource (ou d’espace disque) et de bande passante réseau. Les sections suivantes décrivent ces différentes attaques DoS et les techniques que vous pouvez utiliser pour les atténuer. Pour plus d’informations, consultez Writing Secure Code, de Michael Howard et David LeBlanc.

Cette section contient les rubriques suivantes :

  • Attaques de type privation d’unité centrale
  • Attaques de type privation de mémoire
  • Attaques de type privation de ressource
  • Attaques de type privation de bande passante réseau


Attaques de type privation d'unité centrale

Envoyer des commentaires sur cette page Commerce Server 2002

Attaques de type privation d’unité centrale

Du point de vue de l’agresseur, l’objet d’une attaque de type privation d’unité centrale est de faire s’enliser votre application dans une boucle étroite pendant que s’effectuent des calculs coûteux. Par exemple, un agresseur peut soumettre plusieurs demandes de validation à votre site, dépassant ainsi la capacité du système. En pareil cas, votre serveur épuise la capacité de traitement de son unité centrale en très peu de temps.

Pour atténuer les attaques de type privation d’unité centrale, vous pouvez partitionner les serveurs de validation et limiter le nombre de demandes qu’ils acceptent. Pour ce faire, vous dirigez les validations vers http://checkout.<mystore.com> dans les liens et vous placez une limite de demande IIS sur ce site.


Attaques de type privation de mémoire

Une attaque de type privation de mémoire a pour but de majorer la consommation de mémoire de votre site Web. Ce type d’attaque se produit habituellement si, lors du codage de votre site, vous oubliez de vérifier si une allocation ou une nouvelle demande de mémoire a réussi, en partant de l’hypothèse que la mémoire est toujours disponible en quantité suffisante.

Par exemple, un agresseur peut ajouter continuellement des éléments de commande à des paniers à l’aide d’un script qui ajoute des millions d’éléments de commande. Dans un site Commerce Server, comme les paniers sont chargés en mémoire sous forme d’objet dictionnaire, un agresseur peut éventuellement épuiser la mémoire disponible du serveur et provoquer un refus de service. Le site solution Retail atténue cette menace en limitant les éléments de commande à 999. Pour votre propre site Commerce Server, choisissez la limite appropriée.

Pour parer aux attaques de type privation de mémoire sur les services IIS eux-mêmes, utilisez les paramètres suivants :

  • Adsutil.vbs set w3svc/*/ConnectionTimeout 30
  • Adsutil.vbs set w3svc/*/UploadReadAheadSize 2000
  • Modifiez ou ajoutez la valeur de Registre MaxClientRequestBuffer=16384 sous HKLM/System/CurrentControlSet/Service/w3svc/parameters/


Attaques de type privation de ressource

Une attaque de type privation de ressource, également connue sous le nom d’attaque de l’espace disque, a lieu lorsqu’un agresseur est capable de consommer une ressource particulière jusqu’à épuisement. Par exemple, il est possible qu’un agresseur envoie continuellement des demandes à votre site Web pour créer des paniers ou créer des utilisateurs. Si cela se produit, votre capacité disque finira par s’épuiser.

Pour atténuer les attaques de type privation de ressource qui se servent des paniers, utilisez une procédure stockée afin de purger les paniers inactifs et exécutez-la à l’aide du planificateur de tâches SQL, comme le montre le pseudo-code suivant :

while (select outdated baskets not end of file)
    delete top 20 outdated baskets
end while

Cette procédure est exécutée dans une boucle et vous ne supprimez que les 20 premiers paniers périmés, afin d’éviter de verrouiller la table des paniers. En effet, si cela se produit, d’autres transactions ne pourront pas continuer et, par conséquent, votre serveur SQL sera bloqué.

Pour faire face aux demandes de création d’utilisateurs, vérifiez que la capacité de votre système disque est suffisante et supprimez périodiquement les utilisateurs inactifs. Vous pouvez le faire à l’aide d’un script semblable à celui proposé pour supprimer les paniers.


Attaques de type privation de bande passante réseau

Une attaque de type privation de bande passante réseau classique fait appel aux services Echo (reproduction en écho) et Chargen (générateur de caractères). Echo répond avec l’entrée qu’il a reçue et Chargen envoie un flux de caractères infini à un client quelconque. Ces deux applications servent habituellement à diagnostiquer les problèmes réseau et à obtenir une estimation de la bande passante disponible entre deux points. Toutefois, un agresseur peut simuler un paquet issu du port Chargen du système pendant que ce service s’exécute et l’envoyer au service Echo situé à l’adresse de diffusion. Si cela se produit, plusieurs systèmes se mettent à échanger des paquets entre le port Echo et le port Chargen.

Pour atténuer les attaques de type privation de bande passante réseau, validez chaque demande émanant d’un utilisateur avant d’envoyer une réponse d’erreur.


Déploiement d'un site sécurisé

Envoyer des commentaires sur cette page Commerce Server 2002

Déploiement d’un site sécurisé

Cette section propose une vue d’ensemble d’une configuration sécurisée.

Pour obtenir des instructions détaillées sur la configuration décrite dans cette section, visitez le site http://go.microsoft.com/fwlink/?LinkId=6724.

Cette section contient les rubriques suivantes :

  • Vue d’ensemble d’un exemple de déploiement sécurisé
  • Pare-feu et ports pour un déploiement sécurisé


Vue d'ensemble d'un exemple de déploiement sécurisé

Envoyer des commentaires sur cette page Commerce Server 2002

Vue d’ensemble d’un exemple de déploiement sécurisé

La figure suivante illustre une configuration simple à neuf ordinateurs.

Cette figure illustre la configuration suivante :

  • Niveau de la présentation. Toutes les demandes entrantes des clients sont reçues par le niveau de la présentation qui exécute votre site Web Commerce Server 2002.
  • Niveau des données. Le serveur exécutant SQL Server 2000 traite les transactions avec la base de données. Les serveurs sont protégés par un pare-feu qui peut être un pare-feu matériel ou un serveur exécutant ISA Server. Dans cet exemple de déploiement, ISA est utilisé comme pare-feu.
  • Contrôleurs de domaine. Contient les serveurs DNS et réseau pour les autres niveaux. Ces services sont partagés entre le niveau des données et le niveau de la présentation.

Il est recommandé d’utiliser un déploiement à trois niveaux dans tous les cas, que vous utilisiez l’authentification SQL ou l’authentification Windows pour protéger vos bases de données Commerce Server.

Le tableau suivant répertorie les différents composants d’un déploiement sécurisé et décrit leur fonction.

Composant | Description
ISA Server 1 | Pare-feu entre le niveau de la présentation et le niveau des données
ISA Server 2 | Pare-feu entre le niveau de la présentation et Internet
ISA Server 3 | Pare-feu entre le réseau local de l’entreprise et le niveau des données
SQL Server 1 | Bases de données d’exécution de Commerce Server
SQL Server 2 | Base de données du Data Warehouse
Serveur Business Desk | Composants de Commerce Server et l’application Business Desk
Serveur Web | Serveur Web hébergeant l’application Web
Contrôleur de domaine 1 | Contrôleur de domaine pour le niveau des données
Contrôleur de domaine 2 | Contrôleur de domaine pour le niveau de la présentation

Pour obtenir des instructions détaillées sur cette configuration, visitez le site http://go.microsoft.com/fwlink/?LinkId=6724.


Pare-feu et ports pour un déploiement sécurisé

Le tableau suivant répertorie les services utilisés par Commerce Server, ainsi que les ports nécessaires à leur prise en charge. La Direction (Entrante ou Sortante) est le sens du trafic que vous avez spécifié lors de la configuration du pare-feu ISA.

Par exemple, pour Microsoft DTC (Distributed Transaction Coordinator), vous devez ouvrir le port 135 pour le trafic entrant.

Utilisez ce tableau comme guide pour la configuration de votre déploiement sécurisé personnel.

Pare-feu ISA | Services | Ports TCP/IP | Direction
Niveau des données | SQL Server | 1433 | Entrante
Niveau des données | DTC | 135 | Entrante
Niveau des données | DTC | 5000-5030 | Entrante (secondaire)
Niveau des données | DTC | 135 | Sortante
Niveau des données | DTC | 5000-5030 | Sortante
Niveau de l’entreprise Niveau de la présentation | HTTP | 80 | Les deux
Niveau de l’entreprise Niveau de la présentation | HTTPS | 443 | Les deux
Niveau de l’entreprise Niveau de la présentation | SMTP | 25 | Sortante

Le diagramme suivant présente l’emplacement de ces pare-feu dans un déploiement sécurisé standard.

  • Le pare-feu du niveau de la présentation se situe entre Internet et le serveur Web.
  • Le pare-feu du niveau des données se situe entre le serveur Web et les bases de données.
  • Le pare-feu du niveau de l’entreprise se situe entre les bases de données et le client Business Desk.

    Pare-feu dans un déploiement sécurisé standard


Sécurisation des comptes anonymes

L’authentification anonyme donne aux utilisateurs accès aux zones publiques de votre site Web sans leur demander d’entrer un nom d’utilisateur ou un mot de passe. Lorsqu’un utilisateur tente de se connecter à votre site Web public, votre serveur Web affecte à cet utilisateur le compte d’utilisateur Windows nommé IUSR_nom_ordinateur, où nom_ordinateur est le nom du serveur sur lequel s’exécutent les services IIS.

Remarque

  • Si votre site est basé sur ASP.NET, le compte anonyme est ASPNET.

Par défaut, le compte IUSR_nom_ordinateur est inclus dans le groupe d’utilisateurs Windows Invités. Ce groupe a des restrictions de sécurité, imposées par les autorisations NTFS qui désignent le niveau d’accès et le type de contenu disponibles pour les utilisateurs publics.

Si vous avez plusieurs sites sur votre serveur ou si des zones de votre site nécessitent des privilèges d’accès différents, vous pouvez créer plusieurs comptes anonymes : un pour chaque site Web, répertoire ou fichier. En donnant à ces comptes des autorisations d’accès différentes ou en affectant ces comptes à des groupes d’utilisateurs Windows différents, vous pouvez accorder aux utilisateurs anonymes l’accès à différentes zones de votre site Web public.

Remarque

  • Si vous créez des composants de Commerce Server personnalisés qui ont besoin d’autorisations sur une base de données du fichier global.asa, le compte IWAM_<nom_ordinateur> doit disposer d’autorisations au moment de l’exécution.

Utilisation de comptes anonymes et de l’authentification Windows

Il est fortement recommandé de configurer votre installation de Commerce Server pour utiliser l’authentification Windows.

Pour utiliser l’authentification Windows, effectuez les opérations suivantes :

  1. Créez un compte d’utilisateur dans le domaine Active Directory pour permettre aux utilisateurs anonymes d’accéder à SQL Server. Il s’agit du compte d’utilisateur au moment de l’exécution.
  2. Remplacez le compte IUSR_<ordinateur> dans les services IIS par le compte d’utilisateur au moment de l’exécution créé au cours de l’étape 1.
  3. Attribuez les autorisations du compte d’utilisateur au moment de l’exécution à SQL Server. Pour obtenir la liste détaillée des autorisations devant être accordées au compte d’utilisateur au moment de l’exécution, consultez Sécurisation de vos bases de données.

Voir aussi

Utilisation de l’authentification Windows dans un déploiement distribué

Modification du compte utilisé pour l’authentification anonyme


Modification du compte utilisé pour l'authentification anonyme

Envoyer des commentaires sur cette page Commerce Server 2002

Modification du compte utilisé pour l’authentification anonyme

Vous pouvez modifier le compte qui est utilisé pour l’authentification anonyme dans le composant logiciel enfichable (snap-in) Internet Information Services, soit au niveau de service du serveur Web, soit pour des fichiers et des répertoires virtuels individuels. Le compte anonyme doit avoir le droit de l’utilisateur d’ouvrir une session locale. Si le compte n’a pas l’autorisation Ouvrir une session localement, les services IIS ne pourront pas traiter les demandes anonymes.

L’installation des services IIS accorde spécialement l’autorisation Ouvrir une session localement au compte IUSR_nom_ordinateur. Par défaut, les comptes IUSR_nom_ordinateur sur les contrôleurs de domaine ne sont pas attribués aux comptes invités ; ils doivent être modifiés pour avoir l’autorisation Ouvrir une session localement afin d’autoriser les connexions anonymes.

Remarque

  • Si vous modifiez le compte IUSR_nom_ordinateur, les modifications affecteront chaque demande HTTP anonyme traitée par un serveur Web. Soyez donc très prudent si vous modifiez ce compte.


Sécurisation des comptes de service

Pendant l’installation de Commerce Server, dans la boîte de dialogue Compte services, vous spécifiez le nom d’utilisateur Windows et le mot de passe pour les services Commerce Server suivants :

  • Compte du service Gestionnaire de listes
  • Compte du service de publipostage
  • Enregistrement des événements. Ce service exige que le compte soit un administrateur local.

Le programme d’installation accorde automatiquement à ces comptes Windows le droit Ouvrir une session en tant que service. Le programme d’installation ne vous permet pas de configurer ces services pour utiliser le Compte système local. Bien qu’il soit possible de le faire manuellement après l’installation, ce n’est pas conseillé car vous pourriez octroyer aux services plus d’autorisations que nécessaire.

Dans la même boîte de dialogue, vous spécifiez un compte sous lequel l’Enregistrement des événements sera effectué. Ce dernier compte est utilisé dans le package Commerce Event Logging COM+ qui est créé par le programme d’installation. Pour plus d’informations sur ce compte, consultez Remarques importantes relatives à la sécurité.

Cette section contient les rubriques suivantes :

  • Compte du service Gestionnaire de listes
  • Compte du service de publipostage


Compte du service Gestionnaire de listes

Pour le Gestionnaire de listes, vos utilisateurs Commerce Server Business Desk doivent pouvoir lire les dossiers à partir desquels ils importent les listes et écrire sur les dossiers vers lesquels ils exportent des listes. Le compte de service Gestionnaire de listes doit posséder des autorisations NTFS appropriées sur les dossiers à partir desquels les utilisateurs importeront ou exporteront les listes.

Le compte du service Gestionnaire de listes doit disposer des éléments suivants si Commerce Server est configuré pour utiliser l’authentification Windows :

  • le rôle db_datareader sur la base de données d’administration.
  • le rôle db_owner sur la base de données des campagnes marketing et la base de données du service de publipostage. Pour plus d’informations, consultez Sécurisation de la base de données des campagnes marketing et Sécurisation de la base de données du service de publipostage.
  • les autorisations Lecture sur tous les fichiers qu’il doit importer. Ces autorisations sont des listes de contrôle d’accès définies sur ces fichiers.

Voir aussi

Gestionnaire de listes : Objets de base de données dynamiques

Procédures stockées pour le Gestionnaire de listes


Compte du service de publipostage

Le compte attribué au service de publipostage doit avoir accès à la base de données du service de publipostage.

Les autorisations de sécurité suivantes sont impliquées dans l’exécution du service de publipostage :

  • Autorisation de démarrer le service de publipostage. Il s’agit d’une autorisation de domaine Windows.
  • Autorisation de démarrer et d’utiliser le service Gestionnaire de listes. Il s’agit d’une autorisation de domaine Windows.

Le compte du service de publipostage doit disposer des autorisations suivantes si Commerce Server est configuré pour utiliser l’authentification Windows.

Nom de la table | Compte du service de publipostage
Base de données du service de publipostage | Rôle db_owner
Base de données des campagnes marketing | Rôle db_owner
dml_attachments
 Sélectionner
Insérer
Mettre à jour
dml_job_errors
 Sélectionner
Insérer
Mettre à jour
dml_jobs
 Sélectionner
Insérer
Mettre à jour
ML_<GUID>
 Sélectionner
Insérer
Mettre à jour

En outre, le service de publipostage doit disposer d’autorisations d’écriture (listes de contrôle d’accès) sur les fichiers suivants :

dml_drop
Winnt\system32\logfiles folders

Le service de publipostage doit posséder des autorisations d’écriture sur ces fichiers pour pouvoir créer et écrire dans un fichier journal, ainsi qu’envoyer des messages (il doit disposer d’autorisations sur l’emplacement de destination).

Voir aussi

Sécurisation de la base de données du service de publipostage

Sécurisation de la base de données des campagnes marketing

Utilisation du service de publipostage et de l’authentification Windows


Sécurisation de Business Desk

Vous devez effectuer plusieurs étapes avant de pouvoir sécuriser Commerce Server Business Desk.

Pour les utilisateurs Business Desk, configurez les services IIS afin de prendre en charge l’authentification de base. Lorsque les utilisateurs Business Desk exécutent des rapports, ils accèdent aux données de la base de données du serveur d’analyse (OLAP). Pour pouvoir utiliser les services Analysis Services sur une connexion HTTP, les utilisateurs Business Desk doivent être authentifiés via l’authentification de base (qui transmet les informations d’identification de Windows 2000).

Lors de la transmission des informations d’identification de Windows 2000 par le Web, utilisez HTTPS pour garantir la sécurisation du compte et du mot de passe Windows.

Remarque

  • Lorsque les utilisateurs Business Desk exécutent des rapports et accèdent aux services Analysis Services via HTTP, leur identificateur d’utilisateur et mot de passe Windows 2000 valides sont stockés dans le code HTML de Business Desk. Pour plus d’informations, consultez Accès au serveur d’analyse via HTTPS.

Cette section contient les rubriques suivantes :

  • Vue d’ensemble de la sécurité Business Desk
  • Remarques sur la sécurité Business Desk
  • Sécurisation des pages BDRefresh.asp, RefreshApp.asp et Opt-Out.asp
  • Sécurisation de sessions Business Desk
  • Sécurisation des modules Business Desk

Voir aussi

Déploiement de Commerce Server en utilisant l’authentification Windows

Remarques importantes relatives à la sécurité

Méthodes conseillées pour la sécurité


Vue d'ensemble de la sécurité Business Desk

Envoyer des commentaires sur cette page Commerce Server 2002

Vue d’ensemble de la sécurité Business Desk

Le seul compte d’utilisateur par défaut de Business Desk est le groupe des administrateurs Business Desk. Après l’installation d’une application Business Desk, ce compte de groupe comporte initialement les utilisateurs du groupe des administrateurs pour le serveur Web sur lequel l’application Business Desk est installée.

Un membre du groupe des administrateurs Business Desk possède toutes les autorisations et peut ajouter d’autres utilisateurs.

Il est recommandé d’effectuer les étapes suivantes afin de sécuriser votre application Business Desk pour une utilisation par les chefs d’entreprise. Pour obtenir des instructions détaillées, consultez Déploiement de Commerce Server à l’aide de l’authentification Windows.

  1. Créez des comptes de groupe Windows et ajoutez les utilisateurs Business Desk aux comptes de groupe appropriés. Il est recommandé de créer minimum trois comptes de groupe (représentés ici avec des exemples de noms de compte) :
    • Compte BDGroup. À attribuer à tous les utilisateurs Business Desk.
    • Compte ReportAdvanced. À attribuer aux utilisateurs qui doivent enregistrer, modifier et supprimer des rapports dynamiques.
    • Compte SegmentViewer. À attribuer aux utilisateurs qui doivent utiliser le module Identification de segments.
  2. Exécutez les scripts de sécurité de Commerce Server sur les bases de données Commerce Server pour créer des rôles de base de données en attribuant les autorisations appropriées aux utilisateurs Business Desk.
  3. Affectez les rôles de base de données appropriés aux comptes de groupe Business Desk.
  4. Ajoutez les comptes de groupe Business Desk au module Autorisations, puis accordez aux membres du domaine les autorisations appropriées pour utiliser Business Desk.

    Le module Autorisations de Business Desk vous permet de sécuriser l’interface utilisateur Business Desk. Il ne permet pas de sécuriser le serveur Web ni les bases de données Commerce Server.

  5. Sur chaque ordinateur équipé du client Business Desk, activez Authentification intégrée de Windows dans Internet Explorer.
  6. Pour les utilisateurs Business Desk qui doivent exécuter des rapports à partir de l’autre côté d’un pare-feu, consultez Accès au serveur d'analyse via HTTPS.

Outre les étapes ci-dessus, vous devez sécuriser les pages BDRefresh.asp, RefreshApp.asp et Opt-Out.asp.

Voir aussi

Sécurisation des pages BDRefresh.asp, RefreshApp.asp et Opt-Out.asp


Remarques sur la sécurité Business Desk

  • Lorsque vous sécurisez Business Desk, gardez à l’esprit les problèmes connus suivants.
  • Examiner les comptes Windows avec des autorisations de Business Desk avant de compresser un site.

    Lorsque vous décompressez un site à l’aide du Gestionnaire de package de site Commerce Server, les comptes Windows dotés d’autorisations de Business Desk sont également décompressés.

    Par exemple, vous avez Commerce Server d’installé sur un ordinateur et vous ajoutez des groupes et des comptes locaux Si vous compressez le site, puis le décompressez sur un autre ordinateur, les comptes sont également décompressés. Lorsque vous ouvrez Business Desk, les autorisations sont toujours disponibles.

  • Si l’indicateur DEBUG_MODE du fichier BizDataServices.asp file est activé, un utilisateur Business Desk doit avoir accès au fichier journal qui se trouve dans le dossier Profils avant d’enregistrer des modifications apportées à une définition de profil. Cet indicateur est désactivé par défaut.
  • Par défaut, l’option Tout le monde est affectée à la liste de contrôle d’accès du fichier BizDataManager.dll. Cela n’affecte pas la sécurité du Gestionnaire Commerce Server. Seuls les utilisateurs du groupe Administrateurs peuvent exécuter le Gestionnaire Commerce Server.
  • Lorsque vous utilisez Business Desk dans Microsoft Visual Studio .NET, et que vous voulez importer un fichier de catalogue XML situé sur votre ordinateur local, vous devez effectuer l’une des opérations suivantes :
    • Déplacez le fichier local vers le serveur, puis importez le fichier XML sur le serveur.
    • Exécutez Business Desk en dehors de Visual Studio .NET, et importez le fichier de catalogue XML.
    • Modifiez vos paramètres de sécurité dans Internet Explorer pour activer ou signaler l’exécution de composants non sécurisés, puis importez le fichier de catalogue XML à partir de l’ordinateur local. Cette option n’est pas recommandée car elle compromet la sécurité de votre ordinateur.
  • L’objet BizDeskSecurity fournit des méthodes non sécurisées pour lire et écrire dans une base de données Commerce Server. Il en est de même pour d’autres objets, tels que les catalogues. L’accès aux serveurs, ainsi que la possibilité de charger des scripts, doivent être contrôlés de manière indépendante par les administrateurs système.
  • L’objet BizDeskSecurity ne fait pas la différence entre les groupes locaux intégrés de plusieurs ordinateurs différents. Ceci ne s’applique pas aux groupes locaux créés par l’utilisateur.
    • Par exemple, Commerce Server est installé sur deux ordinateurs :
    • L’ordinateur A possède une installation complète, ainsi qu’un site solution décompressé.
    • L’ordinateur B possède une installation de serveur Web, ainsi que l’application Business Desk décompressée.

    Vous ajoutez un domaine\compte1 aux invités du groupe local sur les deux ordinateurs.

    Sur l’ordinateur A, vous utilisez le module Autorisations de Business Desk pour ajouter les invités du groupe local à la liste des comptes Windows, puis vous accordez au groupe l’accès aux modules Profils.

    Sur l’ordinateur B, vous ouvrez une session en tant que domaine\compte1, puis vous ouvrez Business Desk, et vous avez accès aux modules Profils.


Sécurisation des pages BDRefresh.asp, RefreshApp.asp et Opt-Out.asp

Utilisez les restrictions d’accès d’adresse IP pour limiter les autorisations sur Bdrefresh.asp et RefreshApp.asp, afin que les utilisateurs non autorisés ne puissent pas exécuter ces scripts. Par défaut, Bdrefresh.asp et Refreshapp.asp sont paramétrés pour un accès anonyme, ce qui est obligatoire pour que les utilisateurs Business Desk publient les modifications vers le site Web. Pour sécuriser ces fichiers, accordez l’accès à des utilisateurs Business Desk spécifiques en utilisant les restrictions d’accès d’adresse IP dans les services IIS (Internet Information Services) 5.0.

Le script Bdrefresh.asp efface le cache Business Desk. Le script RefreshApp.asp efface le cache Profiles. L’effacement répété de l’un ou l’autre de ces caches peut conduire à un refus de service pour les utilisateurs. Ces fichiers se trouvent dans le répertoire racine d’un site solution décompressé.

D’autres fichiers similaires sont inclus avec les sites solutions Commerce Server. Pour plus d’informations, consultez Commerce Server Solution Sites (en anglais).

Pour définir des restrictions d’accès d’adresse IP

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Outils d’administration, puis cliquez sur Gestionnaire des services Internet.
  2. Dans Internet Information Services, accédez au fichier Bdrefresh.asp.
  3. Cliquez avec le bouton droit sur Bdrefresh.asp, puis cliquez sur Propriétés.
  4. Sous l’onglet Sécurité de fichier, dans la section Restrictions par adresse IP et nom de domaine, cliquez sur Modifier.
  5. Dans la boîte de dialogue Restrictions par adresse IP et nom de domaine, cliquez sur Ajouter pour ajouter les ordinateurs auxquels vous voulez accorder l’accès à Bdresfresh.asp, cliquez sur Refusé, puis sur OK.
  6. Accédez à Refreshapp.asp, cliquez avec le bouton droit sur Refreshapp.asp, puis sur Propriétés.
  7. Répétez les étapes 4 et 5 pour sécuriser Refreshapp.asp.


Sécurisation de sessions Business Desk

Lorsque le Gestionnaire de package de site Commerce Server décompresse une application Commerce Server Business Desk, il la configure pour utiliser la sécurité intégrée de Windows. Bien que cela sécurise l’authentification client, la session Business Desk elle-même transmet les données en texte clair.

Pour garantir la sécurité des sessions Business Desk, n’autorisez que les clients Business Desk à l’intérieur de votre pare-feu Internet. Les sessions Business Desk sont toujours en texte clair dans le pare-feu et des pirates peuvent y accéder au sein de ce dernier, bien qu’il s’agisse là d’un scénario peu probable.

Pour une sécurité renforcée, vous pouvez utiliser SSL (Secure Sockets Layer) pour les connexions Business Desk.

Voir aussi

Enabling SSL on a Commerce Server Site (en anglais)

Accès au serveur d’analyse via HTTPS


Sécurisation des modules Business Desk

Cette rubrique explique comment sécuriser les modules Business Desk pour une installation de Commerce Server 2000 en définissant des entrées de contrôle d'accès (ACE) sur les fichiers ASP Business Desk. Cette procédure est requise pour assurer la compatibilité ascendante avec des installations de Commerce Server 2000.

N’utilisez pas cette méthode de sécurité sur une installation de Commerce Server 2002. Utilisez plutôt le module Autorisations de Business Desk pour accorder ou refuser aux utilisateurs Business Desk l’accès à une fonctionnalité Business Desk spécifique. Pour plus d’informations sur l’utilisation du module Autorisations de Business Desk, consultez Sécurité Business Desk.

Chaque module de Commerce Server 2000 Business Desk possède un fichier ASP principal où les ACE sont recherchées, avant qu’il ne soit ajouté au volet de navigation de Business Desk. Si l’utilisateur exécutant actuellement Business Desk ne dispose pas d’autorisation Lecture sur le fichier ASP principal de ce module, le module n’est pas affiché dans le volet de navigation de l’utilisateur.

Remarques

  • Si un utilisateur donné et le groupe Utilisateurs authentifiés ont accès à un module Commerce Server Business Desk et que vous retirez cette autorisation à l’utilisateur, redémarrez l’ordinateur client afin de redessiner la barre de navigation pour que les modules que l’utilisateur est autorisé à utiliser soient rafraîchis dans la barre de navigation.
  • Si vous incluez une ACE pour le compte d’administrateur, vous devez également accorder des autorisations au groupe Tout le monde. L’ensemble exact des autorisations n’est pas significatif, mais le groupe Tout le monde doit figurer dans la liste d’utilisateurs et de groupes. Si le groupe Tout le monde ne dispose pas d’autorisations pour un module Business Desk, un administrateur ne pourra pas accéder à ce module.
  • Si vous sécurisez l’un des modules suivants, tous les trois modules sont sécurisés par défaut : Publier les profils, Publier les campagnes marketing et Publier les codes de commandes.

Pour limiter l’accès aux modules de Commerce Server 2000 Business Desk

  1. Dans l’Explorateur Windows, accédez au dossier qui contient vos fichiers d’application Commerce Server 2000 Business Desk.

    Il s’agit du dossier où réside votre site Web IIS. Par défaut, ce dossier réside dans le dossier Inetpub\wwwroot.

  2. Cliquez sur le dossier contenant le module dont vous voulez limiter l’accès.
  3. En vous conformant aux informations présentées dans le tableau suivant, cliquez avec le bouton droit sur le nom de chaque fichier correspondant à un module dont vous voulez limiter l’accès. Cliquez ensuite sur Propriétés.
  4. Cliquez sur l’onglet Sécurité.
Sur l’onglet Sécurité, vous pouvez gérer les ACE contenues dans la liste de contrôle d’accès (ACL) de ce fichier.

Le tableau suivant montre les fichiers sur lesquels vous pouvez définir des ACE pour chaque module Business Desk.

Pour contrôler l’accès à cette catégorie/module | Définissez une ACE sur ce fichier ASP
Analyse/rapports | Analysis\Analysis_reports.asp
Analyse/rapports finalisés | Analysis\Analysis report viewer.asp
Analyse/>Identification de segments | Segviewer\Modellist.asp
Campagnes/Gestionnaire de campagnes | Marketing\Cmanager.asp
Campagnes/Gestionnaire de listes | Marketing\Listmanager.asp
Campagnes marketing/Expressions de la campagne marketing | Marketing\Targetexpr.asp
Campagnes marketing/Groupe cible | Marketing\Target_group.asp
Campagnes marketing/Tables de références | Marketing\Reftable.asp
Campagnes marketing/Publier les campagnes marketing | Productionrefresh\refresh.asp
Catalogues/Définition de catalogue | Catalogs\Designer\List_categorydefinitions.asp
Catalogues/Éditeur de catalogue | Catalogs\Editor\List_catalogs.asp
Catalogues/Groupes de catalogues | Catalogsets\Catalogsets_list.asp
Commandes/Gestionnaire de panier | Orders\Basket_list.asp
Commandes/Codes de données | Application\Datacodes_list.asp
Commandes/Statut de la commande | Orders\Orderstatus_list.asp
Commandes/Publier les codes de commande | Productionrefresh\refresh.asp
Commandes/Modes de livraison | Shipping\Shipping_list.asp
Commandes/Taux de taxes | Tax\Regionaltax.asp
Profils/Utilisateurs | Users\Registered.asp
Profils/Organisations | Organizations\Orgs.asp
Profils/Concepteur de définitions de profils | Profiles\Profileselector.asp
Profils/Éditeur d’entrées du glossaire du site | Profiles\Profileeditor.asp
Profils/Publier les profils | Profiles\Refreshprofilesvcall.asp
Profils/Éditeur de profils | Profiles\Genericprofileeditor.asp


Sécurisation de vos bases de données

Il est vivement recommandé d’utiliser l’authentification Windows pour accéder à vos bases de données. Lorsque vous configurez vos chaînes de connexion de base de données pour l’authentification Windows, vous devez attribuer aux utilisateurs de Business Desk et aux utilisateurs au moment de l’exécution (qui utilisent un compte de domaine anonyme) les droits d’accès appropriés à vos bases de données.

Cette section explique comment sécuriser vos bases de données lorsque vous configurez votre site afin d’utiliser l’authentification Windows pour vos bases de données SQL Server.

Cette section contient les rubriques suivantes :

  • Scripts de sécurisation de vos bases de données
  • Attribution de rôles de base de données SQL Server
  • Sécurisation de la base de données d’administration
  • Sécurisation des bases de données d’exécution de Commerce Server
  • Sécurisation de la base de données du service de publipostage
  • Sécurisation des bases de données du Data Warehouse


Scripts de sécurisation de vos bases de données

Lorsque vous configurez votre site afin d’utiliser l’authentification Windows, vous devez créer des comptes pour les utilisateurs au moment de l’exécution et pour les utilisateurs de Business Desk, puis leur attribuer les rôles de base de données appropriés.

Commerce Server comprend des scripts qui créent des rôles de base de données à votre intention et attribuent les autorisations de base de données appropriées aux utilisateurs de Business Desk et aux utilisateurs au moment de l’exécution. Ces scripts se trouvent dans le dossier Program Files\Microsoft Commerce Server\Support.

Ils créent deux rôles :

  • <base de données>ReaderRole. Attribuer ce rôle aux utilisateurs qui visitent votre site.
  • <base de données>WriterRole. Attribuer ce rôle aux utilisateurs de Business Desk qui mettent à jour votre site.

Lorsque vous avez exécuté ces scripts et créé les rôles appropriés, attribuez-les au compte de groupe Business Desk et au compte anonyme au moment de l’exécution (compte de domaine). Pour connaître les instructions à suivre, consultez Attribution de rôles de base de données SQL Server.

Le tableau suivant répertorie les scripts de sécurité de Commerce Server ainsi que les bases de données sur lesquelles vous les exécutez.

Script | À exécuter sur cette base de données
BDReaderRole et BDWriterRole | Autorisations Business Desk
CampaignReaderRole et CampaignWriterRole | Campagnes marketing
CatalogSecurityRoles | Catalogues
ProfileReaderRole et ProfileWriterRole | Profils
TransactionReaderRole et TransactionWriterRole | Transactions
TransactionConfigReaderRole et TransactionConfigWriterRole | TransactionConfig

Les tables de la base de données d’exécution de Commerce Server peuvent se trouver dans une base de données unique, ou chaque ressource peut posséder des tables d’exécution dans sa propre base de données.

Ces scripts sont conçus pour utiliser SQL Server pour les données stockées dans les bases de données d’exécution de Commerce Server et dans la base de données d’administration. Ils ne sont pas destinés à une utilisation avec Microsoft Active Directory ou une base de données Oracle.

Voir aussi

Scripts de sécurisation des bases de données accessibles aux rapports

Scripts de sécurisation des bases de données accessibles aux tâches DTS

Déploiement de Commerce Server en utilisant l’authentification Windows.

Sécurisation de la base de données d’administration

Sécurisation de la base de données du service de publipostage


Attribution de rôles de base de données SQL Server

Pour que les utilisateurs de Commerce Server Business Desk et les utilisateurs au moment de l’exécution accèdent aux ressources de Commerce Server, telles que Catalogue de produits, ils doivent posséder des autorisations suffisantes pour accéder à la base de données SQL Server qui correspond à la ressource. Par exemple, les utilisateurs de Business Desk qui modifient les modes de livraison doivent accéder à la base de données Configuration des transactions.

Lorsque vous configurez votre site afin d’utiliser l’authentification Windows, il est recommandé de créer des comptes de domaine pour les utilisateurs et services suivants, puis de créer des comptes de connexion SQL pour chaque compte de domaine.

Utilisateur du compte | Exemple de nom de compte | Description
Utilisateurs au moment de l’exécution | Anonyme | Compte d’utilisateur destiné aux utilisateurs anonymes visitant votre site Web.
Utilisateurs de Business Desk | BDGroup | Compte de groupe destiné à tous les utilisateurs de Business Desk. Également appelés utilisateurs au moment de la conception.
Groupe Rapport avancé | ReportAdvanced | Compte de groupe destiné aux utilisateurs de Business Desk qui doivent enregistrer, modifier et supprimer des rapports dynamiques.
Groupe Tâche d’importation DTS | DTSImport | Compte de groupe destiné aux administrateurs système qui exécutent les tâches DTS d’importation et d’extension du Data Warehouse.
Service de publipostage | CSDM | Compte d’utilisateur destiné au service de publipostage.
Service Gestionnaire de listes | CSLM | Compte d’utilisateur destiné au service Gestionnaire de liste.
Application COM+ Config | CSCOMPlus | Compte d’utilisateur destiné à l’application COM+ Config.

Pour obtenir des instructions sur la création de ces comptes de domaine, consultez Déploiement de Commerce Server à l’aide de l’authentification Windows.

Lorsque vous avez créé un compte de domaine, vous devez exécuter les scripts de sécurité de Commerce Server afin de créer les rôles de base de données requis pour les utilisateurs de Business Desk et les utilisateurs au moment de l’exécution. Pour connaître les instructions à suivre, consultez Vue d’ensemble des scripts de sécurisation de vos bases de données.

Cette rubrique suppose que vous avez créé les comptes de domaine et exécuté les scripts de sécurité de Commerce Server. Elle explique les étapes suivantes : la création du compte de connexion SQL, puis l’attribution des rôles de base de données au compte de domaine.

Pour créer un compte de connexion SQL

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Microsoft SQL Server, puis cliquez sur Enterprise Manager.
  2. Dans SQL Server Enterprise Manager, développez les nœuds jusqu’au chemin suivant : Serveur Microsoft SQL /Groupe SQL Server /<nom de l’ordinateur>/Sécurité.
  3. Cliquez avec le bouton droit sur Connexions, puis cliquez sur Nouvelle connexion.
  4. Dans l’écran Propriétés de la connexion SQL Server - Nouvelle connexion, sous l’onglet Général, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper le nom du compte d’utilisateur de domaine (par exemple, Anonyme pour un compte d’utilisateur destiné à vos utilisateurs au moment de l’exécution).
    Authentification Windows | Vérifier que cette option est sélectionnée.
    Domaine | Sélectionner dans la liste déroulante le domaine du compte.
    Autoriser l’accès | Vérifier que cette option est sélectionnée pour garantir un accès sécurisé.
    Base de données | Sélectionner dans la liste déroulante la base de données master pour cette connexion.
    Langue | Sélectionner dans la liste déroulante la langue par défaut pour cette connexion.
  5. Cliquez sur OK.
  6. Répétez ces étapes jusqu’à ce que vous ayez créé un compte de connexion SQL Server pour les comptes de domaine suivants : les utilisateurs de Business Desk (compte de groupe), le service Gestionnaire de listes, le le service de publipostage et l’application COM+ Config.

Pour attribuer des rôles de base de données SQL Server à une connexion

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Microsoft SQL Server, puis cliquez sur Enterprise Manager.
  2. Dans SQL Server Enterprise Manager, développez Sécurité, puis cliquez sur Connexions.
  3. Cliquez avec le bouton droit sur un compte de connexion SQL, puis cliquez sur Propriétés.
  4. Dans la boîte de dialogue Propriétés de la connexion SQL Server, cliquez sur l’onglet Accès aux bases de données.
  5. Dans la zone supérieure, sélectionnez une base de données, puis spécifiez le rôle du compte dans la zone inférieure.
  6. Répétez ces étapes jusqu’à ce que vous ayez attribué à tous les comptes requis l’appartenance aux rôles de base de données dont ils ont besoin, puis cliquez sur OK.

Remarque

  • Si vous utilisez l’authentification SQL Server, les chaînes de connexion de la ressource contiennent le nom d’utilisateur et le mot de passe SQL. Si une chaîne de connexion utilise l’authentification SQL Server, chaque fois que la chaîne de connexion est utilisée, les informations de connexion qu’elle contient sont employées. Par conséquent, vous ne pouvez pas vous connecter à une base de données en utilisant différents noms d’utilisateur associés à différentes autorisations d’accès.

Voir aussi

Scripts de sécurisation de vos bases de données

Scripts de sécurisation des bases de données accessibles aux rapports

Scripts de sécurisation des bases de données accessibles aux tâches DTS

Déploiement de Commerce Server en utilisant l’authentification Windows.

Sécurisation de la base de données d’administration

Sécurisation de la base de données du service de publipostage


Sécurisation de la base de données d'administration

Envoyer des commentaires sur cette page Commerce Server 2002

Sécurisation de la base de données d’administration

Il est important de verrouiller le serveur qui héberge la base de données d’administration pour votre site. Quand vous exécutez le programme d’installation de Commerce Server, vous donnez aux utilisateurs de cet ordinateur un contrôle total sur la base de données d’administration.

Important

  • Il est recommandé de sécuriser chaque table d’administration de la manière décrite dans cette section pour accorder au compte anonyme les autorisations appropriées sur chaque table de la base de données d’administration.

Bien que le mot de passe SQL pour la connexion à la base de données d’administration soit crypté dans le Registre Windows, les utilisateurs peuvent y accéder en utilisant un script qui accède à l’un de ces objets de programmation : SiteConfigReadOnly, SiteConfig ou GlobalConfig. Assurez-vous que les utilisateurs ne peuvent avoir accès à l’ordinateur ou y exécuter des scripts une fois le programme d’installation achevé.

SiteConfig et GlobalConfig sont inscrits en tant que composants COM+ avec des rôles de sécurité. Cependant, SiteConfigReadOnly ne possède pas de rôle de sécurité et est mise à la disposition du grand public.

Vous pouvez restreindre l’utilisation des objets SiteConfig et GlobalConfig en modifiant les listes de contrôle d’accès (ACL) sur les clés de registre pour ces classes d’objet. Pour restreindre l’accès à ces objets, modifiez les autorisations à l’aide de l’éditeur de Registre Windows. Pour connaître les instructions à suivre, consultez Modification des autorisations sur un objet administratif.

Cette section contient les rubriques suivantes :

  • Sécurisation de l’objet SiteConfigReadOnly
  • Modification de l’autorisation sur un objet administratif
  • Sécurisation des tables MSCS_Admin
  • Sécurisation de la table ExtendedProps
  • Sécurisation de la table Pupdbscripts
  • Sécurisation de la table ResourceProps
  • Sécurisation de la table Resources
  • Sécurisation de la table SiteResources
  • Sécurisation de la table Sites


Sécurisation de l'objet SiteConfigReadOnly

Envoyer des commentaires sur cette page Commerce Server 2002

Sécurisation de l’objet SiteConfigReadOnly

Les sites Web utilisent l’objet SiteConfigReadOnly afin d’obtenir les chaînes de connexion pour les ressources d’exécution à partir de la base de données d’administration. L’objet SiteConfigReadOnly doit être accessible par tous les comptes d’utilisateur qui accéderont aux applications Commerce Server : il est nécessaire que les utilisateurs anonymes possèdent des droits d’accès en lecture à la base de données d’administration afin qu’ils puissent accéder aux bases de données Commerce Server au moment de l’exécution.

Si vous utilisez la sécurité intégrée de Windows, les donnes renvoyées à l’objet SiteConfigReadOnly sont sécurisées, car aucun nom d’utilisateur ou mot de passe n’est stocké.

Important

  • Si vous utilisez l’authentification SQL (configuration non recommandée) ou si votre serveur Web n’est pas sécurisé, et si un agresseur parvient à télécharger ainsi qu’à exécuter un script, il peut récupérer les informations sur les chaînes de connexion de toutes vos bases de données et traverser vos pare-feu.

Pour autoriser l’accès anonyme, l’objet SiteConfigReadOnly doit être accessible au compte anonyme, nommé IUSR_<nom_ordinateur>. Si vous utilisez un site ASP.NET, le compte anonyme est ASPNET. La clé pour l’objet SiteConfigReadOnly est D1AA04A4-B00D-4D30-88AA-E3070DAE8040.

En outre, il est recommandé de sécuriser davantage l’objet SiteConfigReadOnly en le verrouillant avec une application COM+.

Pour sécuriser l’objet SiteConfigReadOnly avec une application COM+

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Outils d’administration, puis cliquez sur Services de composants.
  2. Développez Services de composants, Poste de travail, puis Applications COM+.
  3. Cliquez avec le bouton droit sur Commerce Server Config, cliquez sur Nouveau, puis sur Application.

    Assistant Installation des composants COM démarre.

  4. Cliquez sur Suivant.
  5. Cliquez sur Importer des composants qui sont déjà enregistrés.
  6. Dans la boîte de dialogue Choisir des composants à importer, sélectionnez CS_MSCSCfg.SiteConfigReadOnly, puis cliquez sur Suivant.
  7. Cliquez sur Terminer.
  8. Développez Composants, cliquez avec le bouton droit sur CS_MSCSCfg.SiteConfigReadOnly, puis cliquez sur Propriétés.
  9. Sous l’onglet Sécurité, sélectionnez Administrateurs et Utilisateurs Web, puis cliquez sur OK.


Modification de l'autorisation sur un objet administratif

Envoyer des commentaires sur cette page Commerce Server 2002

Modification de l’autorisation sur un objet administratif

Vous pouvez restreindre l’utilisation des objets SiteConfig et GlobalConfig en modifiant les listes de contrôle d’accès (ACL) sur les clés de registre pour ces classes d’objet. Pour restreindre l’accès à ces objets, modifiez les autorisations à l’aide de l’éditeur de Registre Windows.

Pour modifier l’autorisation sur un objet administratif

  1. Cliquez sur Démarrer, puis sur Exécuter.
  2. Dans la boîte de dialogue Exécuter, dans la zone Ouvrir, tapez regedt32.
  3. Cliquez sur HKEY_LOCAL_MACHINE.
  4. Sur le menu Affichage, cliquez sur Rechercher une clé.
  5. Dans la boîte de dialogue Recherche, dans la zone Rechercher, tapez la clé appropriée, comme l’illustre le tableau suivant.
    Pour trouver la clé pour cet objet | Tapez cela
    SiteConfig | 31B031AE-8877-4973-BC58-FEE0EF8CE07B
    GlobalConfig | CB438FDD-81EC-45FF-9DBB-9F9FBBF717AF
  6. Désactivez la case à cocher Mot entier, puis cliquez sur Suivant.

    Une liste de clés s’affiche. La clé que vous avez demandée est marquée comme sélectionnée avec une fine bordure noire. Vous devrez faire défiler la liste si vous ne voyez pas la clé sélectionnée.

  7. Cliquez sur le nœud de la clé pour laquelle vous avez effectué la recherche.
  8. Dans le menu Sécurité, cliquez sur Autorisations.
  9. Dans la boîte de dialogue Autorisations, définissez les autorisations appropriées, en fonction de vos besoins. Limitez les autorisations Lecture aux comptes qui n’ont pas besoin de modifier la base de données d’administration.


Sécurisation des tables MSCS_Admin

Le tableau suivant répertorie les autorisations qu’un compte donné doit posséder pour accéder aux tables MSCS_Admin. Utilisez SQL Server Enterprise Manager pour définir ces autorisations.

Remarque

  • Si votre site est basé sur COM (Component Object Model), le compte anonyme par défaut dans IIS est IUSR_<nom_ordinateur>. Si votre site est basé sur ASP.NET, le compte anonyme par défaut est ASPNET.
Nom de la table | IUSR ou ASPNET | IWAM | Comptes de service | Comptes COM+ | Administrateurs système | Chefs d’entreprise
ExtendedProps | Aucun accès | Aucun accès | Aucun accès | Aucun accès | Sélectionner Insérer Mettre à jour Supprimer | Aucun accès
pupdbscripts | Aucun accès | Aucun accès | Aucun accès | Aucun accès | Sélectionner Insérer Mettre à jour Supprimer | Aucun accès
ResourceProps | Sélectionner | Sélectionner | Sélectionner | Sélectionner | Sélectionner Insérer Mettre à jour Supprimer | Sélectionner Mettre à jour
Ressources | Sélectionner | Sélectionner | Sélectionner | Sélectionner | Sélectionner Insérer Mettre à jour Supprimer | Sélectionner
SiteResources | Sélectionner | Sélectionner | Sélectionner | Sélectionner | Sélectionner Insérer Mettre à jour Supprimer | Sélectionner
Sites | Sélectionner | Sélectionner | Sélectionner | Sélectionner | Sélectionner Insérer Mettre à jour Supprimer | Sélectionner


Sécurisation de la table ExtendedProps

Le tableau suivant répertorie les autorisations qu’un compte donné doit posséder pour accéder à la table ExtendedProps située dans la base de données MSCS_Admin. Utilisez SQL Server Enterprise Manager pour définir ces autorisations.

Remarque

  • Si votre site est basé sur COM, le compte anonyme par défaut dans IIS est IUSR_<nom_ordinateur>. Si votre site est basé sur ASP.NET, le compte anonyme par défaut est ASPNET.
Colonnes IUSR ou ASPNET IWAM Comptes de service Comptes d’identité COM+ Administrateurs système Chefs d’entreprise
s_ResourceType
 Aucun accès Aucun accès Aucun accès Aucun accès Sélectionner
Mettre à jour 		Aucun accès
s_PropertyName
 Aucun accès Aucun accès Aucun accès Aucun accès Sélectionner
Mettre à jour 		Aucun accès
f_IsConnStr
 Aucun accès Aucun accès Aucun accès Aucun accès Sélectionner
Mettre à jour 		Aucun accès
f_IsHidden
 Aucun accès Aucun accès Aucun accès Aucun accès Sélectionner
Mettre à jour 		Aucun accès
f_IsSimpleList
 Aucun accès Aucun accès Aucun accès Aucun accès Sélectionner
Mettre à jour 		Aucun accès
s_Description
 Aucun accès Aucun accès Aucun accès Aucun accès Sélectionner
Mettre à jour 		Aucun accès
i_Vartype
 Aucun accès Aucun accès Aucun accès Aucun accès Sélectionner
Mettre à jour 		Aucun accès
s_Value
 Aucun accès Aucun accès Aucun accès Aucun accès Sélectionner
Mettre à jour 		Aucun accès
s_DisplayName
 Aucun accès Aucun accès Aucun accès Aucun accès Sélectionner
Mettre à jour 		Aucun accès


Sécurisation de la table Pupdbscripts

Le tableau suivant répertorie les autorisations qu’un compte donné doit posséder pour accéder à la table Pupdbscripts située dans la base de données MSCS_Admin. Utilisez SQL Server Enterprise Manager pour définir ces autorisations.

Remarque

  • Si votre site est basé sur COM, le compte anonyme par défaut dans IIS est IUSR_<nom_ordinateur>. Si votre site est basé sur ASP.NET, le compte anonyme par défaut est ASPNET.
Colonnes IUSR ou ASPNET IWAM Comptes de service Comptes d’identité COM+ Administrateurs système Chefs d’entreprise
i_SiteID
 Aucun accès Aucun accès Aucun accès Aucun accès Sélectionner
Mettre à jour 		Aucun accès
i_ResourceID
 Aucun accès Aucun accès Aucun accès Aucun accès Sélectionner
Mettre à jour 		Aucun accès
u_scriptname
 Aucun accès Aucun accès Aucun accès Aucun accès Sélectionner
Mettre à jour 		Aucun accès
txt_script
 Aucun accès Aucun accès Aucun accès Aucun accès Sélectionner
Mettre à jour 		Aucun accès


Sécurisation de la table ResourceProps

Le tableau suivant répertorie les autorisations qu’un compte donné doit posséder pour accéder à la table ResourceProps située dans la base de données MSCS_Admin. Utilisez SQL Server Enterprise Manager pour définir ces autorisations.

Remarque

  • Si votre site est basé sur COM, le compte anonyme par défaut dans IIS est IUSR_<nom_ordinateur>. Si votre site est basé sur ASP.NET, le compte anonyme par défaut est ASPNET.
Colonnes IUSR ou ASPNET IWAM Comptes de service Comptes d’identité COM+ Administrateurs système Chefs d’entreprise
i_ResourceID
 Sélectionner Sélectionner Sélectionner Sélectionner Sélectionner
Mettre à jour 		Sélectionner
s_PropertyName
 Sélectionner Sélectionner Sélectionner Sélectionner Sélectionner
Mettre à jour 		Sélectionner
f_IsConnStr
 Sélectionner Sélectionner Sélectionner Sélectionner Sélectionner
Mettre à jour 		Sélectionner
f_IsHidden
 Sélectionner Sélectionner Sélectionner Sélectionner Sélectionner
Mettre à jour 		Sélectionner
f_IsSimpleList
 Sélectionner Sélectionner Sélectionner Sélectionner Sélectionner
Mettre à jour 		Sélectionner
s_Description
 Aucun accès Aucun accès Aucun accès Aucun accès Sélectionner
Mettre à jour 		Aucun accès
i_Vartype
 Sélectionner Sélectionner Sélectionner Sélectionner Sélectionner
Mettre à jour 		Sélectionner
s_Value
 Sélectionner Sélectionner Sélectionner Sélectionner Sélectionner
Mettre à jour 		Sélectionner
s_DisplayName
 Aucun accès Aucun accès Aucun accès Aucun accès Sélectionner
Mettre à jour 		Aucun accès


Sécurisation de la table Resources

Le tableau suivant répertorie les autorisations qu’un compte donné doit posséder pour accéder à la table Resources située dans la base de données MSCS_Admin. Utilisez SQL Server Enterprise Manager pour définir ces autorisations.

Remarque

  • Si votre site est basé sur COM, le compte anonyme par défaut dans IIS est IUSR_<nom_ordinateur>. Si votre site est basé sur ASP.NET, le compte anonyme par défaut est ASPNET.
Colonnes IUSR ou ASPNET IWAM Comptes de service Comptes d’identité COM+ Administrateurs système Chefs d’entreprise
i_ResourceID
 Sélectionner Sélectionner Sélectionner Sélectionner Sélectionner
Mettre à jour 		Sélectionner
s_DisplayName
 Sélectionner Sélectionner Sélectionner Sélectionner Sélectionner
Mettre à jour 		Sélectionner
s_Description
 Sélectionner Sélectionner Sélectionner Sélectionner Sélectionner
Mettre à jour 		Sélectionner
s_Type
 Sélectionner Sélectionner Sélectionner Sélectionner Sélectionner
Mettre à jour 		Sélectionner
f_IsGlobal
 Sélectionner Sélectionner Sélectionner Sélectionner Sélectionner
Mettre à jour 		Sélectionner
f_ResourceFlags
 Sélectionner Sélectionner Sélectionner Sélectionner Sélectionner
Mettre à jour 		Sélectionner
s_ProgIDSnapIn
 Sélectionner Sélectionner Sélectionner Sélectionner Sélectionner
Mettre à jour 		Sélectionner
s_Computer
 Sélectionner Sélectionner Sélectionner Sélectionner Sélectionner
Mettre à jour 		Sélectionner
i_Status
 Sélectionner Sélectionner Sélectionner Sélectionner Sélectionner
Mettre à jour 		Sélectionner
f_PupFlags
 Sélectionner Sélectionner Sélectionner Sélectionner Sélectionner
Mettre à jour 		Sélectionner
s_ProgIDPUP
 Sélectionner Sélectionner Sélectionner Sélectionner Sélectionner
Mettre à jour 		Sélectionner
s_PupParam1
 Sélectionner Sélectionner Sélectionner Sélectionner Sélectionner
Mettre à jour 		Sélectionner
s_PupParam2
 Sélectionner Sélectionner Sélectionner Sélectionner Sélectionner
Mettre à jour 		Sélectionner
s_PupParam3
 Sélectionner Sélectionner Sélectionner Sélectionner Sélectionner
Mettre à jour 		Sélectionner


Sécurisation de la table SiteResources

Le tableau suivant répertorie les autorisations qu’un compte donné doit posséder pour accéder à la table SiteResources située dans la base de données MSCS_Admin. Utilisez SQL Server Enterprise Manager pour définir ces autorisations.

Remarque

  • Si votre site est basé sur COM, le compte anonyme par défaut dans IIS est IUSR_<nom_ordinateur>. Si votre site est basé sur ASP.NET, le compte anonyme par défaut est ASPNET.
Colonnes IUSR ou ASPNET IWAM Comptes de service Comptes d’identité COM+ Administrateurs système Chefs d’entreprise
i_SiteID
 Sélectionner Sélectionner Sélectionner Sélectionner Sélectionner
Mettre à jour 		Sélectionner
i_ResourceID
 Sélectionner Sélectionner Sélectionner Sélectionner Sélectionner
Mettre à jour 		Sélectionner


Sécurisation de la table Sites

Le tableau suivant répertorie les autorisations qu’un compte donné doit posséder pour accéder à la table Sites située dans la base de données MSCS_Admin. Utilisez SQL Server Enterprise Manager pour définir ces autorisations.

Remarque

  • Si votre site est basé sur COM, le compte anonyme par défaut dans IIS est IUSR_<nom_ordinateur>. Si votre site est basé sur ASP.NET, le compte anonyme par défaut est ASPNET.
Colonnes IUSR ou ASPNET IWAM Comptes de service Comptes d’identité COM+ Administrateurs système Chefs d’entreprise
i_SiteID
 Sélectionner Sélectionner Sélectionner Sélectionner Sélectionner
Mettre à jour 		Sélectionner
s_Name
 Sélectionner Sélectionner Sélectionner Sélectionner Sélectionner
Mettre à jour 		Sélectionner
s_Description
 Sélectionner Sélectionner Sélectionner Sélectionner Sélectionner
Mettre à jour 		Sélectionner
i_Status
 Sélectionner Sélectionner Sélectionner Sélectionner Sélectionner
Mettre à jour 		Sélectionner
d_DateCreated
 Sélectionner Sélectionner Sélectionner Sélectionner Sélectionner
Mettre à jour 		Sélectionner
d_DateModified
 Sélectionner Sélectionner Sélectionner Sélectionner Sélectionner
Mettre à jour 		Sélectionner


Sécurisation des bases de données d'exécution de Commerce Server

Deux types de comptes d’utilisateur ont besoin d’accéder aux objets de la base de données Commerce Server, tels que les tables et les procédures stockées :

  • Les comptes d’utilisateur au moment de la création sont utilisés par les utilisateurs Business Desk.
  • Les comptes d’utilisateur au moment de l’exécution sont utilisés par les utilisateurs qui visitent votre site Web.

Cette section contient des informations détaillées sur l’attribution aux utilisateurs au moment de la conception et au moment de l’exécution des droits d’accès appropriés à vos bases de données.

Pour plus d’informations sur la nécessité pour les tâches DTS de Commerce Server d’accéder aux bases de données d’exécution de Commerce Server, consultez Scripts de sécurisation des bases de données accessibles par les tâches DTS.

Pour plus d’informations sur la nécessité pour les services de Commerce Server ( le Gestionnaire de listes et le service de publipostage), consultez Sécurisation des comptes de service.

Cette section contient les rubriques suivantes :

  • Sécurisation de la base de données Autorisations de Business Desk
  • Sécurisation de la base de données des campagnes marketing
  • Sécurisation de la base de données du catalogue de produits
  • Sécurisation de la base de données des profils
  • Sécurisation de la base de données des transactions
  • Sécurisation de la base de données TransactionConfig


Sécurisation de la base de données Autorisations de Business Desk

Il est vivement recommandé d’utiliser l’authentification Windows pour accéder à vos bases de données. Lorsque vous configurez vos chaînes de connexion de base de données pour l’authentification Windows, vous devez attribuer aux utilisateurs de Business Desk et aux utilisateurs au moment de l’exécution (qui utilisent un compte de domaine anonyme) les droits d’accès appropriés à vos bases de données.

Pour vous aider à sécuriser la base de données Autorisations de Business Desk, Commerce Server comprend deux scripts de sécurité : BDReaderRole.sql et BDWriterRole.sql. Ces scripts se trouvent dans le dossier Program Files\Microsoft Commerce Server\Support.

Ils créent deux rôles pour la base de données Autorisations de Business Desk et attribuent les autorisations nécessaires aux tables et procédures stockées :

  • BDReaderRole. Attribuer ce rôle aux utilisateurs au moment de l’exécution.
  • BDWriterRole. Attribuer ce rôle aux utilisateurs de Business Desk.

Pour créer les scripts BDReaderRole et BDWriterRole

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Microsoft SQL Server, puis cliquez sur Analyseur de requêtes SQL.
  2. Dans la boîte de dialogue Connexion à SQL Server, spécifiez le serveur SQL approprié.
  3. Dans l’Analyseur de requêtes, sélectionnez la base de données Autorisations de Business Desk dans la liste déroulante.
  4. Cliquer sur Fichier, puis sur Ouvrir.
  5. Naviguez vers les scripts situés dans le dossier Program Files\Microsoft Commerce Server\Support et sélectionnez BDReaderRole.

    Le script s’ouvre et le code s’affiche dans la fenêtre de l’Analyseur de requêtes.

  6. Dans la barre d’outils, cliquez sur Exécuter pour exécuter le script sur la base de données sélectionnée.
  7. Répétez ces étapes pour exécuter le script BDWriterRole.
  8. Une fois les rôles créés, attribuez les rôles appropriés au compte d’utilisateur anonyme au moment de l’exécution et au compte de groupe Business Desk. Pour connaître les instructions à suivre, consultez Attribution de rôles de base de données SQL Server.

Les scripts créent les rôles et accordent les autorisations sur les tables et procédures stockées pour les autorisations suivantes.

Table BDReaderRole
(utilisateurs au moment de l’exécution) 		BDWriterRole
(utilisateurs de Business Desk)
BDSecurityDefinition
 Aucun accès Sélectionner
Mettre à jour
Insérer
Supprimer
BDSecurityIdentifiers
 Aucun accès Sélectionner
Mettre à jour
Insérer
Supprimer

Procédures stockées pour les autorisations

Les scripts de sécurité de Business Desk accordent des autorisations sur les procédures stockées suivantes.

Procédure stockée BDReaderRole
(utilisateurs au moment de l’exécution) 		BDWriterRole
(utilisateurs de Business Desk)
sp_AddAccount
 Aucun accès Oui
sp_AddSIDsToTempTable
 Aucun accès Oui
sp_GetAccounts
 Aucun accès Oui
sp_GetAccountsForRight
 Aucun accès Oui
sp_GetPermissions
 Aucun accès Oui
sp_GetUID
 Aucun accès Oui
sp_RemoveAccount
 Aucun accès Oui
sp_RemoveSecurityDefinitions
 Aucun accès Oui
sp_SetPermissions
 Aucun accès Oui


Sécurisation de la base de données des campagnes marketing

Il est vivement recommandé d’utiliser l’authentification Windows pour accéder à vos bases de données. Lorsque vous configurez vos chaînes de connexion de base de données pour l’authentification Windows, vous devez attribuer aux utilisateurs de Business Desk et aux utilisateurs au moment de l’exécution (qui utilisent un compte de domaine anonyme) le niveau d’accès approprié à vos bases de données.

Pour vous aider à sécuriser la base de données des campagnes marketing, Commerce Server comprend deux scripts de sécurité : CampaignReaderRole.sql et CampaignWriterRole.sql. Ces scripts se trouvent dans le dossier Program Files\Microsoft Commerce Server\Support.

Ils créent deux rôles pour la base de données des campagnes marketing et attribuent les autorisations nécessaires aux tables et procédures stockées :

  • CampaignReaderRole. Attribuer ce rôle aux utilisateurs au moment de l’exécution.
  • CampaignWriterRole. Attribuer ce rôle aux utilisateurs au moment de la conception.

Important

  • Les rôles CampaignWriterRole et db_datareader doivent être attribués aux utilisateurs de Business Desk sur la base de données des campagnes marketing.
  • Pour permettre aux utilisateurs de Business Desk de supprimer des éléments de campagnes, ils doivent appartenir au rôle public sur la base de données du service de publipostage.

Pour créer les scripts CampaignReaderRole et CampaignWriterRole

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Microsoft SQL Server, puis cliquez sur Analyseur de requêtes SQL.
  2. Dans la boîte de dialogue Connexion à SQL Server, spécifiez le serveur SQL approprié.
  3. Dans l’Analyseur de requêtes, sélectionnez la base de données Campagnes marketing dans la liste déroulante.
  4. Cliquer sur Fichier, puis sur Ouvrir.
  5. Naviguez vers les scripts situés dans le dossier Program Files\Microsoft Commerce Server\Support et sélectionnez CampaignReaderRole.

    Le script s’ouvre et le code s’affiche dans la fenêtre de l’Analyseur de requêtes.

  6. Dans la barre d’outils, cliquez sur Exécuter pour exécuter le script sur la base de données sélectionnée.
  7. Répétez ces étapes pour exécuter le script CampaignWriterRole.
  8. Une fois les rôles créés, attribuez les rôles appropriés au compte d’utilisateur anonyme au moment de l’exécution et au compte de groupe Business Desk. Pour connaître les instructions à suivre, consultez Attribution de rôles de base de données SQL Server.

Les scripts créent les rôles et accordent les autorisations sur les tables et procédures stockées pour les campagnes marketing suivantes.

Nom de la table CampaignReaderRole
(utilisateurs au moment de l’exécution) 		CampaignWriterRole
(utilisateurs de Business Desk)
Ad_item
 Sélectionner Sélectionner
Mettre à jour
Insérer
Campaign
 Sélectionner Sélectionner
Mettre à jour
Insérer
Campaign_item
 Sélectionner Sélectionner
Mettre à jour
Insérer
Campaign_item_types
 Sélectionner Sélectionner
Mettre à jour
Insérer
Campaigns_version
 Sélectionner Sélectionner
Creative
 Sélectionner Sélectionner
Mettre à jour
Insérer
Creative_property
 Sélectionner Sélectionner
Mettre à jour
Insérer
Creative_property_value
 Sélectionner Sélectionner
Mettre à jour
Insérer
Supprimer
Creative_size
 Sélectionner Sélectionner
Mettre à jour
Insérer
Supprimer
Creative_type
 Sélectionner Sélectionner
Creative_type_xref
 Sélectionner Sélectionner
Customer
 Sélectionner Sélectionner
Mettre à jour
Insérer
Dm_item
 Aucun accès Sélectionner
Mettre à jour
Insérer
Supprimer
Event_type
 Sélectionner Sélectionner
Industry_code
 Sélectionner Sélectionner
Mettre à jour
Insérer
Supprimer
Order_discount
 Sélectionner Sélectionner
Mettre à jour
Insérer
Order_discount_expression
 Sélectionner Sélectionner
Mettre à jour
Insérer
Supprimer
Order_discount_misc
 Sélectionner Sélectionner
Mettre à jour
Insérer
Supprimer
Page_group
 Sélectionner Sélectionner
Mettre à jour
Insérer
Supprimer
Page_group_xref
 Sélectionner Sélectionner
Mettre à jour
Insérer
Supprimer
Performance_total
 Sélectionner
Mettre à jour
Insérer 		Sélectionner
Target
 Sélectionner Sélectionner
Mettre à jour
Insérer
Supprimer
Target_group
 Sélectionner Sélectionner
Mettre à jour
Insérer
Supprimer
Target_group_xref
 Sélectionner Sélectionner
Mettre à jour
Insérer
Supprimer
Virtual_directory
 Sélectionner
Mettre à jour
Insérer 		Sélectionner
Supprimer

Procédures stockées pour les campagnes marketing

Les scripts de sécurité des campagnes marketing accordent des autorisations sur les procédures stockées suivantes de la manière décrite ci-dessous.

Procédures stockées pour les campagnes marketing CampaignReaderRole
(utilisateurs au moment de l’exécution) 		CampaignWriterRole
(utilisateurs de Business Desk)
sp_camp_item_archive
 Non Oui
sp_clean_archived_campaigns
 Non Oui
sp_clean_delete_campaign
 Non Oui
sp_clean_delete_campitem
 Non Oui
sp_clean_delete_customer
 Non Oui
sp_cs_campitem_add
 Non Oui
sp_cs_campitem_delete
 Non Oui
sp_cs_campitem_update
 Non Oui
sp_cs_mail_add
 Non Oui
sp_cs_mail_delete
 Non Oui
sp_cs_mail_schedid
 Non Oui
sp_cs_mail_update
 Non Oui
sp_DeleteCampaign
 Non Oui
sp_DeleteCampaignItem
 Non Oui
sp_DeleteCustomer
 Non Oui
sp_dm_item_delete
 Non Oui
sp_dm_item_edit
 Non Oui
sp_dm_item_new
 Non Oui
sp_GetCampItemGUID
 Non Oui
sp_InsertAdItem
 Non Oui
sp_InsertCampaign
 Non Oui
sp_InsertCampaignItem
 Non Oui
sp_InsertCPValue
 Non Oui
sp_InsertCreative
 Non Oui
sp_InsertCustomer
 Non Oui
sp_InsertDiscount
 Non Oui
sp_InsertDiscount2
 Non Oui
sp_InsertDiscountMisc
 Non Oui
sp_InsertPageGroup
 Non Oui
sp_InsertPageGroupMain
 Non Oui
sp_InsertTargetGroup
 Non Oui
sp_InsertTargetGroupMain
 Non Oui
sp_InsertTargetMain
 Non Oui
sp_UndeleteCampaign
 Non Oui
sp_UndeleteCampaignItem
 Non Oui
sp_UndeleteCustomer
 Non Oui
sp_update_performance_total
 Oui Oui
sp_update_vdir
 Oui Oui
sp_UpdateAdItem
 Non Oui
sp_UpdateCampaign
 Non Oui
sp_UpdateCampaignItem
 Non Oui
sp_UpdateCreative
 Non Oui
sp_UpdateCustomer
 Non Oui
sp_UpdateDiscount
 Non Oui
sp_UpdateDiscount2
 Non Oui
sp_UpdateDiscountMisc
 Non Oui
sp_UpdateTargetGroupMain
 Non Oui
sp_UpdateTargetMain
 Non Oui

Gestionnaire de listes : Objets de base de données dynamiques

Le service Gestionnaire de listes, qui s’exécute sous un compte de service, crée une nouvelle table pour chaque liste importée. Par exemple, il peut créer la table suivante :

LM_MAILLIST_40FBCA60_ABE8_4392_BB0B_2B02BA95AE03

Lors de la première exécution du service Gestionnaire de listes, il recherche la base de données appropriée à l’aide de sa chaîne de connexion et vérifie si la base de données contient les tables du Gestionnaire de listes. Si ce n’est pas le cas, il crée les deux tables suivantes :

lm_master
lm_master_operations

Lorsque le travail de publipostage s’exécute et appelle le service Gestionnaire de listes, ce dernier crée également des tables dans la base de données du service de publipostage.

Le tableau suivant présente les autorisations nécessaires au Gestionnaire de listes, à Predictor (Commerce Server 2002 Enterprise Edition), aux utilisateurs de Business Desk et aux utilisateurs au moment de l’exécution.

Nom de la table | Utilisateurs au moment de l’exécution | Utilisateurs de Business Desk | Compte du service Gestionnaire de listes | Compte du service Predictor
Base de données des campagnes marketing Pour connaître les exigences en matière de sécurité, consultez les tables Campagnes marketing. Pour connaître les exigences en matière de sécurité, consultez les tables Campagnes marketing. Rôle db_owner db_ddladmin
db_datawriter
db_datareader
Base de données du service de publipostage | Pour connaître les exigences en matière de sécurité, consultez Sécurisation de la base de données du service de publipostage. | Pour connaître les exigences en matière de sécurité, consultez Sécurisation de la base de données du service de publipostage. | Rôle db_owner | Aucun accès
lm_master
 Non Non Sélectionner
Mettre à jour
Insérer
Supprimer 		Sélectionner
Mettre à jour
Insérer
Supprimer
lm_master_operations

Non
Non
Sélectionner

Mettre à jour

Insérer

Supprimer
Sélectionner

Mettre à jour

Insérer

Supprimer

LM_MAILLIST_<GUID>

Non
Non
Sélectionner

Mettre à jour

Insérer

Supprimer
Sélectionner

Mettre à jour

Insérer

Supprimer

Procédures stockées pour le Gestionnaire de listes

Procédure stockée
Utilisateurs au moment de l’exécution
Utilisateurs de Business Desk
Compte du service Gestionnaire de listes

sp_lm_CheckLMStore

Non
Non
Oui

sp_lm_DeleteListAndData

Non
Non
Oui

sp_lm_GetSchema

Non
Non
Oui

sp_lm_LoadAllLists

Non
Non
Oui

sp_lm_LoadAllOperations

Non
Non
Oui

sp_lm_LoadListById

Non
Non
Oui

sp_lm_LoadListByName

Non
Non
Oui

sp_lm_LoadOperationInfo

Non
Non
Oui

sp_lm_SaveListDetails

Non
Non
Oui

sp_lm_SaveOperationDetails

Non
Non
Oui

sp_lm_SetListCreationTime

Non
Non
Oui

sp_lm_SetOpCompletionTime

Non
Non
Oui

sp_lm_UpdateListRecentOperLid

Non
Non
Oui

sp_lm_UpdateListStatus

Non
Non
Oui

sp_lm_UpdateOperStatus

Non
Non
Oui

Après la création de ces tables et procédures stockées, si vous modifiez le compte du Gestionnaire de listes, n’oubliez pas d’accorder les autorisations appropriées au nouveau compte.

Voir aussi

Compte du service Gestionnaire de listes


Sécurisation de la base de données du catalogue de produits

Il est vivement recommandé d’utiliser l’authentification Windows pour accéder à vos bases de données. Lorsque vous configurez vos chaînes de connexion de base de données pour l’authentification Windows, vous devez attribuer aux utilisateurs de Business Desk et aux utilisateurs au moment de l’exécution (qui utilisent un compte de domaine anonyme) le niveau d’accès approprié à vos bases de données.

Cette rubrique explique les autorisations nécessaires aux utilisateurs de Business Desk et aux utilisateurs au moment de l’exécution pour accéder à la base de données du catalogue.

Utilisateurs de Business Desk

Pour permettre aux utilisateurs de Business Desk de modifier les catalogues (par exemple, de modifier la définition de catalogue, de reconstruire le catalogue, d’actualiser l’index de texte intégral et de publier le catalogue), vous devez leur attribuer le rôle db_owner.

Veillez absolument à ce que l’utilisateur de Business Desk auquel vous attribuez le rôle db_owner soit digne de confiance. Lorsque vous attribuez ce rôle à un utilisateur de Business Desk, tenez compte des risques de sécurité suivants :

Important

  • Un utilisateur de Business Desk auquel le rôle db_owner est attribué a le pouvoir de supprimer une base de données. Pour atténuer ce risque, vous devez créer un pare-feu afin d’empêcher toute connexion directe à partir du client Business Desk à la base de données SQL Server contenant les catalogues. Il s’agit de la configuration sécurisée recommandée. Pour obtenir des instructions détaillées, consultez Déploiement d’un site sécurisé.

Si vous utilisez BizTalk Server pour échanger des catalogues avec des partenaires commerciaux, l’API CatalogToVendorAssociation.GetVendorList() doit disposer de droits d’accès à la base de données BizTalk Messaging Management (InterchangeBTM). Pour la base de données InterchangeBTM, vous devez accorder l’autorisation d’exécution sur la procédure stockée btsint_organizations_selectvalidvendors. Sans cette autorisation, l’API CatalogToVendorAssociation.GetVendorList() échoue.

Utilisateurs au moment de l’exécution

Pour attribuer aux utilisateurs au moment de l’exécution qui visitent votre site Web le niveau approprié d’accès à vos catalogues, exécutez le script CatalogSecurityRoles.sql.

Le script CatalogSecurityRoles.sql se trouve dans le dossier Program Files\Microsoft Commerce Server 2002\Support. Il crée le rôle ctlg_CatalogReaderRole et l’ajoute au rôle db_datareader.

Le script ctlg_CatalogReaderRole dispose des autorisations de sélection sur les tables et vues du catalogue, ainsi que des autorisations d’exécution sur les procédures stockées au moment de l’exécution qui sont nécessaires aux utilisateurs visitant votre site Web.

Exécutez le script CatalogSecurityRoles.sql après l’exécution de l’une des tâches suivantes :

  • Création de nouveaux catalogues
  • Ajout de langues à un catalogue
  • Reconstruction de catalogues virtuels

Les vues d’un catalogue sont générées après sa création. Elles sont propres à la langue. Lorsque vous avez effectué l’une de ces tâches et exécuté le script CatalogSecurityRoles.sql, les utilisateurs du site Web disposent des autorisations de sélection appropriées sur les affichages du nouveau catalogue.

Remarques

  • Les membres de ctlg_CatalogReaderRole doivent disposer des autorisations db_owner sur la base de données MSCS_CatalogScratch. La base de données MSCS_CatalogScratch est une base de données temporaire sans données persistantes. Il ne s’agit donc pas d’un problème de sécurité. Si les utilisateurs visitant votre site ne possèdent pas les droits d’accès à la base de données MSCS_CatalogScratch, ils ne peuvent pas effectuer de recherche dans votre catalogue de produits.
  • Les membres de ctlg_CatalogReaderRole doivent disposer des autorisations db_reader sur la base de données d’administration. Cela est nécessaire pour qu’ils puissent récupérer la chaîne de connexion à la base de données du catalogue de produits et afficher vos catalogues.
  • Si vous utilisez des clés de jointure pour effectuer la liaison avec des tables externes, vous devez également accorder aux membres de ctlg_CatalogReaderRole les autorisations de sélection sur ces tables.

Pour créer le script ctlg_CatalogReaderRole

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Microsoft SQL Server, puis cliquez sur Analyseur de requêtes SQL.
  2. Dans la boîte de dialogue Connexion à SQL Server, spécifiez le serveur SQL approprié.
  3. Dans l’Analyseur de requêtes, sélectionnez la base de données Catalogues dans la liste déroulante.
  4. Cliquer sur Fichier, puis sur Ouvrir.
  5. Naviguez vers les scripts situés dans le dossier Program Files\Microsoft Commerce Server\Support et sélectionnez ctlg_CatalogReaderRole.

    Le script s’ouvre et le code s’affiche dans la fenêtre de l’Analyseur de requêtes.

  6. Dans la barre d’outils, cliquez sur Exécuter pour exécuter le script sur la base de données Catalogues.

    Le script ctlg_CatalogReaderRole est créé sur la base de données Catalogues et est ajouté au rôle datareader.

  7. Une fois le rôle créé, attribuez-le au compte d’utilisateur anonyme au moment de l’exécution. Pour connaître les instructions à suivre, consultez Attribution de rôles de base de données SQL Server.

Tables du catalogue global

Le script CatalogSecurityRoles.sql accorde l’accès de sélection au script ctlg_CatalogReaderRole pour les tables du catalogue de produits :

Nom de la table ctlg_CatalogReaderRole
(utilisateurs au moment de l’exécution)
CatalogAttributes
 Sélectionner
CatalogDefinitions
 Sélectionner
CatalogDefinitionProperties
 Sélectionner
CatalogenumValues
 Sélectionner
CatalogGlobal
 Sélectionner
CatalogLanguage
 Sélectionner
CatalogLanguageMap
 Aucun accès
CatalogSchemaVersion
 Sélectionner
CatalogSet_Catalogs
 Sélectionner
CatalogSet_Info
 Sélectionner
CatalogStatus
 Sélectionner
CatalogToVendorAssociation
 Sélectionner
CatalogUsedDefinitions
 Sélectionner

Tables du catalogue de base

Les tableaux suivants répertorient les tables du catalogue de base de chaque catalogue de base.

Pour chaque catalogue de base

Nom de la table ctlg_CatalogReaderRole
(utilisateurs au moment de l’exécution)
<Catalog Name>_CatalogDeletedProducts
 Aucun accès
<Catalog Name>_CatalogDependentCatalogs
 Sélectionner
<Catalog Name>_CatalogHierarchy
 Sélectionner
<Catalog Name>_CatalogProducts
 Sélectionner
<Catalog Name>_CatalogRelationships
 Sélectionner

Pour chaque langue du catalogue

Nom de la table ctlg_CatalogReaderRole
(utilisateurs au moment de l’exécution)
<Catalog Name>_<LANGUAGE>_Catalog
 Sélectionner

Tables du catalogue virtuel

Les tableaux suivants répertorient les tables du catalogue de base de chaque catalogue de base.

Pour chaque catalogue virtuel

Nom de la table ctlg_CatalogReaderRole
(utilisateurs au moment de l’exécution)
<VirtualCatalog Name>_CatalogDeletedProducts
 Aucun accès
<VirtualCatalog Name>_CatalogHierarchy
 Sélectionner
<VirtualCatalog Name>_CatalogIncludedProductsAndCategories
 Aucun accès
<VirtualCatalog Name>_CatalogPricingRules
 Aucun accès
<VirtualCatalog Name>_CatalogProducts
 Sélectionner
<VirtualCatalog Name>_CatalogRelationships
 Sélectionner
<VirtualCatalog Name>_CatalogVirtualProducts
 Sélectionner

Pour chaque langue du catalogue

Nom de la table ctlg_CatalogReaderRole
(utilisateurs au moment de l’exécution)
<VirtualCatalog Name>_<LANGUAGE>_Catalog
 Sélectionner

Vues du catalogue

Pour le catalogue global

Vue ctlg_CatalogReaderRole
(utilisateur au moment de l’exécution)
CatalogGlobal_LNG_NEUTRAL
 Sélectionner

Pour chaque langue du système de catalogue de produits

Vue ctlg_CatalogReaderRole
(utilisateur au moment de l’exécution)
<CatalogGlobal_<LANGUAGE>
 Sélectionner

Pour chaque catalogue

Vue ctlg_CatalogReaderRole
(utilisateur au moment de l’exécution)
<Catalog Name>_ClassTypes
 Sélectionner
<Catalog Name>_LNG_NEUTRAL
 Sélectionner

Pour chaque catalogue

Vue ctlg_CatalogReaderRole
(utilisateur au moment de l’exécution)
<Catalog Name>_<LANGUAGE>_RelationsView
 Sélectionner
<Catalog Name>_<LANGUAGE>
 Sélectionner

Procédures stockées pour le catalogue

Le script CatalogSecurityRoles.sql accorde l’accès approprié aux procédures stockées suivantes. Vous trouverez également ci-dessous l’accès dont doit disposer le compte d’utilisateur au moment de la conception.

Procédures stockées pour le catalogue ctlg_CatalogReaderRole
(utilisateur au moment de l’exécution) 		Utilisateur de Business Desk
ctlg_AddAttributeToCatalog
 Aucun accès Oui
ctlg_AddCatalogDefinitionProperty
 Aucun accès Oui
ctlg_AddCatalogLanguage
 Aucun accès Oui
ctlg_AddCatalogLanguageMap
 Aucun accès Oui
ctlg_AddChildCategoryToCategory
 Aucun accès Oui
ctlg_AddColumnsToCatalog
 Aucun accès Oui
ctlg_AddColumnsToRelationships
 Aucun accès Oui
ctlg_AddDefaultToProperty
 Aucun accès Oui
ctlg_AddDisplayNameToCatalog
 Aucun accès Oui
ctlg_AddDisplayNameToProperty
 Aucun accès Oui
ctlg_AddFullTextCatalogForLanguage
 Aucun accès Oui
ctlg_AddParentCategoryToCategory
 Aucun accès Oui
ctlg_AddPricingCategory
 Aucun accès Oui
ctlg_AddProductToCategory
 Aucun accès Oui
ctlg_AddPropertyAttribute
 Aucun accès Oui
ctlg_AddPropertyForCSVImport
 Aucun accès Oui
ctlg_AddPropertyToDefinition
 Aucun accès Oui
ctlg_AddPropertyValue
 Aucun accès Oui
ctlg_AddRelationshipToCategory
 Aucun accès Oui
ctlg_AddRelationshipToProduct
 Aucun accès Oui
ctlg_AlterClassTypesToProduct
 Aucun accès Oui
ctlg_AlterClassTypesToProductFamily
 Aucun accès Oui
ctlg_AlterColumnInTable
 Aucun accès Oui
ctlg_AlterFullTextColumns
 Aucun accès Oui
ctlg_AlterPropertyInFullTextCatalogs
 Aucun accès Oui
ctlg_AlterPropertyLength
 Aucun accès Oui
ctlg_CheckCatalog
 Oui Oui
ctlg_CompleteCatalogImport
 Aucun accès Oui
ctlg_CreateCatalogClassTypesView
 Aucun accès Oui
ctlg_CreateCatalogLanguageView
 Aucun accès Oui
ctlg_CreateCatalogLanguageViews
 Aucun accès Oui
ctlg_CreateCatalogProcedures
 Aucun accès Oui
ctlg_CreateCatalogSystem_LanguageView
 Aucun accès Oui
ctlg_CreateCatalogSystem_LanguageViews
 Aucun accès Oui
ctlg_CreateCategory
 Aucun accès Oui
ctlg_CreateCategoryDefinition
 Aucun accès Oui
ctlg_CreateFullTextCatalog
 Aucun accès Oui
ctlg_CreateProduct
 Aucun accès Oui
ctlg_CreateProductDefinition
 Aucun accès Oui
ctlg_CreateProductVariant
 Aucun accès Oui
ctlg_CreateProperty
 Aucun accès Oui
ctlg_CreateTriggers
 Aucun accès Oui
ctlg_DeleteCatalog
 Aucun accès Oui
ctlg_DeleteCatalogDefinition
 Aucun accès Oui
ctlg_DeleteImportProduct
 Aucun accès Oui
ctlg_DeleteProductsFromDeletedTable
 Aucun accès Oui
ctlg_DeleteProperty
 Aucun accès Oui
ctlg_DeleteVariant
 Aucun accès Oui
ctlg_DropCatalogLanguageView
 Aucun accès Oui
ctlg_DropCatalogObjectFromDatabase
 Aucun accès Oui
ctlg_DropCatalogProcedures
 Aucun accès Oui
ctlg_DropCatalogProceduresAndViews
 Aucun accès Oui
ctlg_DropFullTextCatalog
 Aucun accès Oui
ctlg_DropViewOnCatalogGlobal
 Aucun accès Oui
ctlg_EnsurePropTableMapExists
 Oui Oui
ctlg_GetBaseCatalogName
 Oui Oui
ctlg_GetCatalogDefinitionProperties
 Oui Oui
ctlg_GetCatalogGlobalProperties
 Oui Oui
ctlg_GetCatalogLanguages
 Oui Oui
ctlg_GetCatalogLanguagesForExport
 Oui Oui
ctlg_GetCatalogProperties
 Oui Oui
ctlg_GetCatalogPropertiesForExport
 Oui Oui
ctlg_GetCatalogPropertiesForUpdate
 Aucun accès Oui
ctlg_GetCatalogRelationships
 Oui Oui
ctlg_GetCatalogType
 Oui Aucun accès
ctlg_GetCatalogs
 Oui Oui
ctlg_GetCatalogsInCatalogSet
 Oui Oui
ctlg_GetCategoryOID
 Oui Oui
ctlg_GetCategoryProperties
 Oui Oui
ctlg_GetDefinedCatalogAttributes
 Oui Oui
ctlg_GetDefinedPropertyAttributes
 Oui Oui
ctlg_GetDefinitionProperties
 Oui Oui
ctlg_GetDefinitions
 Oui Oui
ctlg_GetDefnPropertiesForCatalogImport
 Aucun accès Oui
ctlg_GetDefnPropertiesForCSVImport
 Aucun accès Oui
ctlg_GetDeletedProducts
 Aucun accès Oui
ctlg_GetDistinctPropertiesIncatalog
 Aucun accès Oui
ctlg_GetFTSColumnLCID
 Aucun accès Oui
ctlg_GetFTSQuery
 Oui Oui
ctlg_gethierarchy
 Aucun accès Oui
ctlg_gethierarchy2
 Aucun accès Oui
ctlg_GetHierarchy_For_VC
 Aucun accès Oui
ctlg_GetJoinType
 Oui Oui
ctlg_GetParentCategories
 Oui Oui
ctlg_GetPricingCategory
 Oui Oui
ctlg_GetPricingCategoryOIDs
 Oui Oui
ctlg_GetPrimaryParentCategory
 Oui Oui
ctlg_GetProductCategory_UniqueID
 Oui Oui
ctlg_GetProductOID
 Oui Oui
ctlg_GetProductOIDAndType
 Oui Oui
ctlg_GetProductProperties
 Oui Oui
ctlg_GetProductsForExport
 Aucun accès Oui
ctlg_GetProductVariantProperties
 Oui Oui
ctlg_GetProperties
 Oui Oui
ctlg_GetPropertiesForCatalog
 Aucun accès Oui
ctlg_GetPropertiesInCatalog
 Oui Oui
ctlg_GetPropertiesInDefinitions
 Aucun accès Oui
ctlg_GetPropertiesUsedInCatalogs
 Oui Oui
ctlg_GetPropertyAttributes
 Oui Oui
ctlg_GetPropertyAttributesForDefinition
 Oui Oui
ctlg_GetPropertyValues
 Oui Oui
ctlg_GetRelationships_For_VC
 Oui Oui
ctlg_GetResults
 Oui Oui
ctlg_GetSearchableCategories
 Oui Oui
ctlg_GetSmallestFulltextcatalog
 Aucun accès Oui
ctlg_GetSourceCatalogsForExport
 Aucun accès Oui
ctlg_GetSpecsearchableProps
 Oui Oui
ctlg_GetSQLQuery
 Oui Oui
ctlg_GetValidLanguage
 Oui Oui
ctlg_ImportRelationship
 Aucun accès Oui
ctlg_InsertCatalogGlobal
 Aucun accès Oui
ctlg_InsertCatalogsBeingExportedOrImported
 Aucun accès Oui
ctlg_InsertCatalogStatus
 Aucun accès Oui
ctlg_InsertCSVCatalog
 Aucun accès Oui
ctlg_InsertDefinition
 Aucun accès Oui
ctlg_InsertDefinitionProperties
 Aucun accès Oui
ctlg_InsertEnumValues
 Aucun accès Oui
ctlg_InsertHierarchy
 Aucun accès Oui
ctlg_InsertHierarchy2
 Aucun accès Oui
ctlg_InsertUsedDefinition
 Aucun accès Oui
ctlg_IsCatalogPropertyRemovable
 Aucun accès Oui
ctlg_IsCatalogValidForFTSearch
 Oui Oui
ctlg_IsCategorySpecSearchable
 Oui Oui
ctlg_IsDefinitionPresent
 Aucun accès Oui
ctlg_IsDefinitionPropPresent
 Aucun accès Oui
ctlg_IsDefinitionUsedInCatalog
 Aucun accès Oui
ctlg_IsEnumPresent
 Oui Oui
ctlg_IsProductvalid
 Oui Oui
ctlg_IsPropertyPresentInDefinition
 Aucun accès Oui
ctlg_JoinQueryWithTable
 Oui Oui
ctlg_PersistTT_EnsureExists
 Oui Oui
ctlg_PersistTT_GetName
 Oui Oui
ctlg_PersistTT_Purge
 Oui Oui
ctlg_PersistTT_PurgeTablesUsingProperty
 Aucun accès Oui
ctlg_PurgeCatalog
 Aucun accès Oui
ctlg_RecordCatalogExport
 Aucun accès Oui
ctlg_RemoveAllCatalogLanguages
 Aucun accès Oui
ctlg_RemoveCatalogAttribute
 Aucun accès Oui
ctlg_RemoveCatalogLanguage
 Aucun accès Oui
ctlg_RemoveChildCategoryForCategory
 Aucun accès Oui
ctlg_RemoveColumnsFromRelationships
 Aucun accès Oui
ctlg_RemoveDefinitionFromCatalog
 Aucun accès Oui
ctlg_RemoveFullTextCatalogForLanguage
 Aucun accès Oui
ctlg_RemoveParentCategoryForCategory
 Aucun accès Oui
ctlg_RemoveProductFromCategory
 Aucun accès Oui
ctlg_RemovePropertyAttribute
 Aucun accès Oui
ctlg_RemovePropertyFromDefinition
 Aucun accès Oui
ctlg_RemovePropertyValue
 Aucun accès Oui
ctlg_RemoveRelationship
 Aucun accès Oui
ctlg_RenameCatalogDefinition
 Aucun accès Oui
ctlg_RenameCatalogProperty
 Aucun accès Oui
ctlg_SetPricingCategory
 Aucun accès Oui
ctlg_SetPrimaryParentCategory
 Aucun accès Oui
ctlg_TableExistsInFullTextCatalog
 Aucun accès Oui
ctlg_UpdateCategoryDisplayNames
 Aucun accès Oui
ctlg_UpdateCategoryRelationships
 Aucun accès Oui
ctlg_UpdateParentOids
 Aucun accès Oui
ctlg_UpdateProductRelationships
 Aucun accès Oui
ctlg_ValidateCatalogForCSVImport
 Aucun accès Oui
ctlg_ValidateJoinTableInfo
 Oui Oui
ctlg_VC_AddHierarchy
 Aucun accès Oui
ctlg_VC_AddPriceRule
 Aucun accès Oui
ctlg_VC_AddVCRule
 Aucun accès Oui
ctlg_VC_ApplyCatalogLevelPriceRule
 Aucun accès Oui
ctlg_VC_ApplyPriceRule
 Aucun accès Oui
ctlg_VC_ApplyPriceRuleToDescendents
 Aucun accès Oui
ctlg_VC_BC_GetDependentCatalogs
 Aucun accès Oui
ctlg_VC_DoesPriceRuleExist
 Aucun accès Oui
ctlg_VC_DoesProdOrCategExist
 Aucun accès Oui
ctlg_VC_DoesVCRuleExist
 Aucun accès Oui
ctlg_VC_EvaluateVCRule
 Aucun accès Oui
ctlg_VC_ExcludeCatalog
 Aucun accès Oui
ctlg_VC_ExcludeCategory
 Aucun accès Oui
ctlg_VC_ExcludeCategoryDescendents
 Aucun accès Oui
ctlg_VC_ExcludeProduct
 Aucun accès Oui
ctlg_VC_ExcludeVariant
 Aucun accès Oui
ctlg_VC_FTS_GetResults
 Oui Oui
ctlg_VC_GetPriceRules
 Aucun accès Oui
sp_VC_GetProductOrVariantOrCategoryOID
 Aucun accès Oui
ctlg_VC_GetRelationshipDescColumns
 Aucun accès Oui
ctlg_VC_GetSourceCatalogs
 Oui Oui
ctlg_VC_GetUserDefinedBCProperties
 Aucun accès Oui
ctlg_VC_GetUserDefinedVCProperties
 Aucun accès Oui
ctlg_VC_GetVCRules
 Aucun accès Oui
ctlg_VC_ImportPriceRule
 Aucun accès Oui
ctlg_VC_ImportRelationship
 Aucun accès Oui
ctlg_VC_ImportRule
 Aucun accès Oui
ctlg_VC_IncludeCatalog
 Aucun accès Oui
ctlg_VC_IncludeCategory
 Aucun accès Oui
ctlg_VC_IncludeCategoryDescendents
 Aucun accès Oui
ctlg_VC_IncludeExcludeCatalog
 Aucun accès Oui
ctlg_VC_IncludeProduct
 Aucun accès Oui
ctlg_VC_IncludeVariant
 Aucun accès Oui
ctlg_VC_IsVirtualCatalog
 Oui Oui
ctlg_VC_MaterializeVCViews
 Aucun accès Oui
ctlg_VC_PropagateBCChanges
 Aucun accès Oui
ctlg_VC_PropagateBCChanges_DeleteCatalog
 Aucun accès Oui
ctlg_VC_PropagateBCChanges_Hierarchy
 Aucun accès Oui
ctlg_VC_PropagateBCChanges_PrimaryParentCategory
 Aucun accès Oui
ctlg_VC_PropagateBCChanges_ProductCategory
 Aucun accès Oui
ctlg_VC_PropagateBCChanges_Relationship
 Aucun accès Oui
ctlg_VC_PropagateBCChanges_Variant
 Aucun accès Oui
ctlg_VC_PropagateDependentCatalogChanges
 Aucun accès Oui
ctlg_VC_PropagateVCChanges_DeleteCatalog
 Aucun accès Oui
ctlg_VC_RebuildVirtualCatalog
 Aucun accès Oui
ctlg_VC_ReEvaluateAllPricingRules
 Aucun accès Oui
ctlg_VC_ReEvaluateAllVCInclusionOrExclusionRules
 Aucun accès Oui
ctlg_VC_ReEvaluateAllVCRules
 Aucun accès Oui
ctlg_VC_RemovePriceRule
 Aucun accès Oui
ctlg_VC_RemoveVCRule
 Aucun accès Oui
ctlg_VC_Reset_Evaluated_Tables
 Aucun accès Oui
ctlg_VC_ResetUserDefinedLinks
 Aucun accès Oui
ctlg_VC_SetVCDirtyFlag
 Aucun accès Oui
ctlg_VC_SetVCRebuildStatus
 Aucun accès Oui
ctlg_VC_SetVCStatus
 Aucun accès Oui
ctlg_VC_SplitVCIdentifierName
 Aucun accès Oui
ctlg_VC_UpdateDependentVCs_DeletedProductsTables
 Aucun accès Oui
ctlg_VC_UpdateVCs_Dependent_On_DefinitionName
 Aucun accès Oui
ctlg_VC_UpdateVCs_Dependent_On_PropertyName
 Aucun accès Oui

Procédures stockées propres au catalogue

Procécures stockées pour chaque catalogue

Procédures stockées ctlg_CatalogReaderRole
(utilisateur au moment de l’exécution) 		Utilisateur de Business Desk
ctlg_DeleteCategory_for_<Catalog Name>
 Aucun accès Oui
ctlg_DeleteProduct_for_<Catalog Name>
 Aucun accès Oui
ctlg_GetRelationships_for_<Catalog Name>
 Oui Oui
ctlg_GetResults_for_AllColumns_<Catalog Name>
 Oui Oui

Procédures stockées par langue de catalogue

Procédures stockées ctlg_CatalogReaderRole
(utilisateur au moment de l’exécution) 		Utilisateur de Business Desk
ctlg_AncestorCategories_for_<Catalog Name>_<LANGUAGE>
 Oui Oui
ctlg_GetCategoryResults_For_<Catalog Name>_<LANGUAGE>
 Oui Oui
ctlg_GetChildCategories_for_<Catalog Name>_<LANGUAGE>
 Oui Oui
ctlg_GetDescProds_for_<Catalog Name>_<LANGUAGE>
 Oui Oui
ctlg_GetDescProdsOnly_for_<Catalog Name>_<LANGUAGE>
 Oui Oui
ctlg_GetProductsFor_<Catalog Name>_<LANGUAGE>
 Oui Oui
ctlg_GetRootCategories_for_<Catalog Name>_<LANGUAGE>
 Oui Oui
ctlg_GetRootProducts_for_<Catalog Name>_<LANGUAGE>
 Oui Oui
ctlg_Specsearch_for_<Catalog Name>_<LANGUAGE>
 Oui Oui

Fonctions

Nom de la fonction

 ctlg_CatalogReaderRole
(utilisateur au moment de l’exécution) 		Utilisateur de Business Desk
fn_AddTablePrefixToColumnList
 Oui Oui
fn_CS_AppendClause
 Oui Oui
fn_IsSingleLanguageCatalog
 Oui Oui
fn_VC_GetMungedIdentifier
 Oui Oui
GetSQLDataType
 Aucun accès Oui


Sécurisation de la base de données des profils

Il est vivement recommandé d’utiliser l’authentification Windows pour accéder à vos bases de données. Lorsque vous configurez vos chaînes de connexion de base de données pour l’authentification Windows, vous devez attribuer aux utilisateurs de Business Desk et aux utilisateurs au moment de l’exécution (qui utilisent un compte de domaine anonyme) les niveaux d’accès appropriés à vos bases de données.

Les administrateurs système doivent également disposer des droits d’accès appropriés à la base de données des profils et le rôle db_owner doit leur être attribué.

Pour vous aider à sécuriser la base de données des profils, Commerce Server comprend deux scripts de sécurité : ProfileReaderRole.sql et ProfileWriterRole.sql. Ces scripts se trouvent dans le dossier Program Files\Microsoft Commerce Server\Support.

Ils créent deux rôles pour la base de données des profils et attribuent les autorisations nécessaires aux tables et procédures stockées :

  • ProfileReaderRole. Attribuer ce rôle aux utilisateurs au moment de l’exécution.
  • ProfileWriterRole. Attribuer ce rôle aux utilisateurs au moment de la conception.

Pour créer les scripts ProfileReaderRole et ProfileWriterRole

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Microsoft SQL Server, puis cliquez sur Analyseur de requêtes SQL.
  2. Dans la boîte de dialogue Connexion à SQL Server, spécifiez le serveur SQL approprié.
  3. Dans l’Analyseur de requêtes, sélectionnez la base de données Profils dans la liste déroulante.
  4. Cliquer sur Fichier, puis sur Ouvrir.
  5. Naviguez vers les scripts situés dans le dossier Program Files\Microsoft Commerce Server\Support et sélectionnez ProfileReaderRole.

    Le script s’ouvre et le code s’affiche dans la fenêtre de l’Analyseur de requêtes.

  6. Dans la barre d’outils, cliquez sur Exécuter pour exécuter le script sur la base de données Profils.
  7. Répétez ces étapes pour exécuter le script ProfileWriterRole.
  8. Une fois les rôles créés, attribuez les rôles appropriés au compte d’utilisateur anonyme au moment de l’exécution et au compte de groupe Business Desk. Pour connaître les instructions à suivre, consultez Attribution de rôles de base de données SQL Server.

Les scripts créent les deux rôles et accordent les autorisations sur les tables et procédures stockées pour les profils suivantes.

Nom de la table ProfileReaderRole
(utilisateurs au moment de l’exécution) 		ProfileWriterRole
(utilisateurs de Business Desk)
Addresses
 Sélectionner Sélectionner
Insérer
Supprimer
Mettre à jour
BlanketPOs
 Sélectionner Sélectionner
Insérer
Supprimer
Mettre à jour
ClassDef
 Sélectionner Sélectionner
Mettre à jour
ClsAttrib
 Sélectionner Sélectionner
ColDef
 Sélectionner Sélectionner
CommerceServerCatalogs
 Sélectionner Sélectionner
ES_ExprExprDeps
 Sélectionner Sélectionner
Mettre à jour
Insérer
Supprimer
ES_ExprInfo
 Sélectionner Sélectionner
Mettre à jour
Insérer
Supprimer
ES_ExprProfDeps
 Sélectionner Sélectionner
Mettre à jour
Insérer
Supprimer
GroupMem
 Sélectionner Sélectionner
Mettre à jour
Insérer
MemAttrib
 Sélectionner Sélectionner
Mettre à jour
Insérer
Supprimer
MemberDef
 Sélectionner Sélectionner
Mettre à jour
Insérer
Supprimer
OrganizationObject
 Sélectionner
Insérer
Mettre à jour 		Sélectionner
Insérer
Supprimer
Mettre à jour
RelDef
 Sélectionner Sélectionner
SourceAttrib
 Sélectionner Aucun accès
SourceDef
 Sélectionner Aucun accès
TableDef
 Sélectionner Sélectionner
Insérer
Supprimer
Mettre à jour
UserObject
 Sélectionner
Insérer
Mettre à jour 		Sélectionner
Insérer
Supprimer
Mettre à jour

Procédures stockées pour les profils

Afin de sécuriser les procédures stockées pour les profils, les scripts accordent des autorisations aux scripts ProfileReaderRole et ProfileWriterRole de la manière décrite dans le tableau suivant.

Remarque

  • Dans la base de données des catalogues, vous devez accorder à la table CatalogSet_Info les autorisations de sélection pour le compte d’utilisateur de Business Desk. Sinon, les groupes de catalogues utilisés par les modules Organisation et Profil ne se chargent pas.
Procédures stockées pour les profils ProfileReaderRole
(utilisateurs au moment de l’exécution) 		ProfileWriterRole
(utilisateurs de Business Desk)
sp_CheckDeleteExpr
 Non Oui
sp_CheckExprExprDeps
 Non Oui
sp_CheckExprStore
 Oui Oui
sp_DelProfile
 Non Oui
sp_DelProfileCatalog
 Non Oui
sp_DelProfileGroup
 Non Oui
sp_DelProfileGroupHelper
 Non Oui
sp_DelProfileHelper
 Non Oui
Sp_DelProfileProperty
 Non Oui
sp_DelProfilePropHelper
 Non Oui
sp_DelDataMember
 Non Oui
sp_DelDataObject
 Non Oui
sp_DelDataSource
 Non Oui
sp_EnsureEmptyStore
 Non Oui
sp_ExprIDFromName
 Oui Oui
sp_ExprNameFromID
 Oui Oui
sp_GetProfileCustomProps
 Non Oui
sp_GetDataSourceDepends
 Non Oui
sp_GetDataSourceInfo
 Non Oui
sp_GetProfileCatalogInfo
 Oui Oui
sp_GetProfileCatalogs
 Non Oui
sp_GetProfileDomains
 Non Oui
sp_GetProfileInfo
 Oui Oui
sp_GetProfileMemAttrs
 Non Oui
sp_GetProfileMember
 Non Oui
sp_GetProfileProps
 Oui Oui
sp_GetProfileSources
 Non Oui
sp_ImportExprInfo
 Non Oui
sp_UpdateExprModDate
 Non Oui

Voir aussi

Informations d’identification pour une source de données de profil Active Directory


Informations d'identification pour une source de données de profil Active Directory

Envoyer des commentaires sur cette page Commerce Server 2002

Informations d’identification pour une source de données de profil Active Directory

Vous pouvez utiliser la ressource Profils pour configurer le type d’authentification utilisé par le service Profils pour se connecter à une source de données sous-jacente, autrement dit Active Directory). Lorsque vous configurez la source de données, il est recommandé de spécifier des informations d’identification disposant d’autorisations suffisantes pour effectuer des opérations sur le conteneur dans Active Directory. Dans la boîte de dialogue Attributs système, vous pouvez sélectionner l’option Utiliser les mêmes informations d'identification pour tous les utilisateurs afin d’obliger le service Profils à utiliser les informations d’identification spécifiées.

Si vous sélectionnez cette option, le service Profils utilise le nom d’utilisateur et le mot de passe stockés dans les informations d'identification de liaison LDAPv3 lorsqu’il se connecte à la banque Active Directory. Cette paire nom d’utilisateur/mot de passe est stockée dans la base de données en texte clair.

Par exemple, si un utilisateur ouvre une session sur votre site, les informations d’identification sont lues dans la base de données SQL Server, puis le service Profils effectue la liaison à Active Directory à l’aide de celles-ci.

Si vous ne sélectionnez pas l’option Utiliser les mêmes informations d'identification pour tous les utilisateurs, vous utilisez le mode d’authentification intégrée de Windows du système de profil d’Active Directory. Cela signifie que le système de profil utilise le contexte de sécurité de la thread appelante pour appeler Active Directory, et qu’Active Directory accepte ou refuse l’appel en se basant sur ce contexte de sécurité.

Pour utiliser efficacement le service Profils de cette manière avec un site à enregistrement automatique des clients, vous devez accorder les autorisations de compte utilisateur anonyme IIS afin d’effectuer des opérations de création sur le conteneur Active Directory contenant vos données utilisateur.

La figure suivante présente la boîte de dialogue Attributs système.

Figure présentant la boîte de dialogue Attributs système

Voir aussi

Création d’une définition de profil dans la ressource Profils

Création d’une définition de profil avec deux sources de données


Sécurisation de la base de données de transactions

Il est vivement recommandé d’utiliser l’authentification Windows pour accéder à vos bases de données. Lorsque vous configurez vos chaînes de connexion de base de données pour l’authentification Windows, vous devez attribuer aux utilisateurs de Business Desk et aux utilisateurs au moment de l’exécution (qui utilisent un compte de domaine anonyme) les niveaux d’accès appropriés à vos bases de données.

Pour vous aider à sécuriser la base de données des transactions, Commerce Server comprend deux scripts de sécurité : TransactionsReaderRole.sql et TransactionsWriterRole.sql. Ces scripts se trouvent dans le dossier Program Files\Microsoft Commerce Server\Support.

Ils créent deux rôles pour la base de données des transactions et attribuent les autorisations nécessaires aux tables et procédures stockées :

  • TransactionsReaderRole. Attribuer ce rôle aux utilisateurs au moment de l’exécution.
  • TransactionsWriterRole. Attribuer ce rôle aux utilisateurs au moment de la conception.

Pour créer et exécuter les scripts TransactionsReaderRole et TransactionsWriterRole

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Microsoft SQL Server, puis cliquez sur Analyseur de requêtes SQL.
  2. Dans la boîte de dialogue Connexion à SQL Server, spécifiez le serveur SQL approprié.
  3. Dans l’Analyseur de requêtes, sélectionnez la base de données Transactions dans la liste déroulante.
  4. Cliquer sur Fichier, puis sur Ouvrir.
  5. Naviguez vers les scripts situés dans le dossier Program Files\Microsoft Commerce Server\Support et sélectionnez TransactionsReaderRole.

    Le script s’ouvre et le code s’affiche dans la fenêtre de l’Analyseur de requêtes.

  6. Dans la barre d’outils, cliquez sur Exécuter pour exécuter le script sur la base de données Transactions.
  7. Répétez ces étapes pour exécuter le script TransactionsWriterRole.
  8. Une fois les rôles créés, attribuez les rôles appropriés au compte d’utilisateur anonyme au moment de l’exécution et au compte de groupe Business Desk. Pour connaître les instructions à suivre, consultez Attribution de rôles de base de données SQL Server.

Les scripts TransactionsReaderRole et TransactionsWriterRole créent les deux rôles et accordent les autorisations sur les tables et procédures stockées pour les transactions suivantes.

Nom de la table TransactionsReaderRole
(utilisateurs au moment de l’exécution) 		TransactionsWriter
(utilisateurs de Business Desk)
BasketGroup
 Sélectionner
Insérer
Mettre à jour
Supprimer 		Sélectionner
Supprimer
CatalogProducts_AuctionBid
 Sélectionner
Insérer
Mettre à jour
Supprimer 		Sélectionner
Insérer
Mettre à jour
Supprimer
CatalogProducts_AuctionItem
 Aucun accès Sélectionner
Insérer
Mettre à jour
Supprimer
Counters
 Sélectionner
Insérer
Mettre à jour 		Aucun accès
OrderFormHeader
 Sélectionner
Insérer
Mettre à jour 		Sélectionner
Supprimer
OrderFormLineItems
 Sélectionner
Insérer
Mettre à jour 		Sélectionner
Supprimer
OrderGroup
 Sélectionner
Insérer
Mettre à jour 		Sélectionner
Supprimer
OrderGroupAddresses
 Sélectionner
Insérer
Mettre à jour 		Sélectionner
Supprimer
TransCategory
 Aucun accès Aucun accès
*TransDimension
 Aucun accès Aucun accès
UserFilter
 Sélectionner
Insérer
Mettre à jour
Supprimer 		Aucun accès

*La table TransDimension est utilisée par la tâche de transformation de données (DTS, Data Transformation Services) Importation des données de transaction. Pour plus d’informations, consultez Processus ETL pour la tâche DTS Importation des données de transaction.

Procédure stockée

Il n’existe qu’une procédure stockée pour les transactions : OrderSummaryProc. Ni les utilisateurs au moment de l’exécution, ni les utilisateurs au moment de la conception ne doivent y accéder. Cette procédure stockée est appelée par le script OrderGroupManager.GetOrderSummary.


Sécurisation de la base de données TransactionConfig

Il est vivement recommandé d’utiliser l’authentification Windows pour contrôler l’accès à vos bases de données. Lorsque vous configurez vos chaînes de connexion de base de données pour l’authentification Windows, vous devez attribuer aux utilisateurs de Business Desk et aux utilisateurs au moment de l’exécution (qui utilisent un compte de domaine anonyme) les niveaux d’accès appropriés à vos bases de données.

Pour vous aider à sécuriser la base de données des transactions, Commerce Server comprend deux scripts de sécurité : TransactionsConfigReaderRole.sql et TransactionConfigWriterRole.sql. Ces scripts se trouvent dans le dossier Program Files\Microsoft Commerce Server\Support.

Ils créent deux rôles dans la base de données TransactionConfig et attribuent les autorisations nécessaires aux tables et procédures stockées :

  • TransactionConfigReaderRole. Attribuer ce rôle aux utilisateurs au moment de l’exécution.
  • TransactionConfigWriterRole. Attribuer ce rôle aux utilisateurs au moment de la conception.

Pour créer les scripts TransactionConfigReaderRole et TransactionConfigWriterRole

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Microsoft SQL Server, puis cliquez sur Analyseur de requêtes SQL.
  2. Dans la boîte de dialogue Connexion à SQL Server, spécifiez le serveur SQL approprié.
  3. Dans l’Analyseur de requêtes, sélectionnez la base de données TransactionConfig dans la liste déroulante.
  4. Cliquer sur Fichier, puis sur Ouvrir.
  5. Naviguez vers les scripts situés dans le dossier Program Files\Microsoft Commerce Server\Support et sélectionnez TransactionConfigReaderRole.
  6. Le script s’ouvre et le code s’affiche dans la fenêtre de l’Analyseur de requêtes.
  7. Dans la barre d’outils, cliquez sur Exécuter pour exécuter le script sur la base de données sélectionnée.
  8. Répétez ces étapes pour exécuter le script TransactionConfigWriterRole.
  9. Une fois les rôles créés, attribuez les rôles appropriés au compte d’utilisateur anonyme au moment de l’exécution et au compte de groupe Business Desk. Pour connaître les instructions à suivre, consultez Attribution de rôles de base de données SQL Server.

Les scripts créent les deux rôles et accordent les autorisations sur les tables et procédures stockées pour TransactionConfig suivantes.

Nom de la table TransactionConfigReaderRole
(utilisateurs au moment de l’exécution) 		TransactionConfigWriterRole
(utilisateurs de Business Desk)
CatalogCache_Virtual_Directory
 Sélectionner
Insérer
Mettre à jour 		Sélectionner
Supprimer
Decode
 Sélectionner Sélectionner
Insérer
Mettre à jour
Supprimer
Region
 Sélectionner Sélectionner
Insérer
Mettre à jour
Supprimer
RegionalTax
 Sélectionner Sélectionner
Insérer
Mettre à jour
Supprimer
ShippingConfig
 Sélectionner Sélectionner
Insérer
Mettre à jour
Supprimer
TableShippingRates
 Sélectionner Sélectionner
Insérer
Mettre à jour
Supprimer
TxVirtual_Directory
 Sélectionner
Insérer
Mettre à jour 		Sélectionner
Supprimer

Procédure stockée pour TransactionConfig

Les scripts accordent des autorisations aux scripts TransactionConfigReaderRole et TransactionConfigWriterRole de la manière décrite dans le tableau suivant.

Procédure stockée | TransactionConfigReaderRole (utilisateurs au moment de l’exécution) | TransactionConfigWriterRole (utilisateurs de Business Desk)
sp_GetShippingRateProc | Oui | Oui


Sécurisation de la base de données du service de publipostage

Le service de publipostage utilise la chaîne de connexion spécifiée dans la ressource globale Service de publipostage pour se connecter à la base de données correspondante.

Lors de la première exécution du service de publipostage, il crée les tables suivantes dans la base de données du service de publipostage :

  • dml_attachments
  • dml_job_errors
  • dml_jobs

Il crée également la procédure stockée Sp_create_dml_sqlagent_job.

Pour chaque liste unique participant au travail de publipostage, le service de publipostage crée une table distincte dans la base de données correspondante :

ML__13F0BA4B_AD15_45BD_AE07_E33DB423A076_

Le tableau suivant répertorie la base de données du service de publipostage et d’autres tables de ce service et indique si le compte au moment de l’exécution, le compte au moment de la conception et le compte du service de publipostage doivent pouvoir y accéder.

Nom de la table | Utilisateur au moment de l’exécution | Comptes d’utilisateur au moment de la conception | Comptes de service de publipostage
Base de données du service de publipostage | Non | Non | Rôle db_owner
dml_attachments
 Non Non Sélectionner
Insérer
Mettre à jour
dml_job_errors
 Non Non Sélectionner
Insérer
Mettre à jour
dml_jobs
 Non Non Sélectionner
Insérer
Mettre à jour
ML_<GUID>
 Non Non Sélectionner
Insérer
Mettre à jour

En outre, le service de publipostage doit disposer d’autorisations d’écriture (listes de contrôle d’accès) sur les fichiers suivants :

dml_drop
Winnt\system32\logfiles folders

Le service de publipostage doit posséder des autorisations d’écriture sur ces fichiers pour pouvoir créer et écrire dans un fichier journal, ainsi qu’envoyer des messages (il doit disposer d’autorisations sur l’emplacement de destination).

Important

  • Le service de publipostage peut se trouver sur l’ordinateur A et la base de données de ce dernier, sur l’ordinateur B. Lorsqu’un élément de la campagne de publipostage est généré à l’aide de Business Desk, un travail de l’Agent SQL Server est créé dans la base de données du service de publipostage (ordinateur B). Selon la planification de ce travail, il appelle le service de publipostage de l’ordinateur A pour traiter réellement les messages.

    Pour que cette configuration fonctionne, le service de publipostage doit également être installé sur l’ordinateur B. Cette installation n’est nécessaire que pour permettre au travail de l’Agent SQL Server de l’ordinateur B de communiquer avec le service de publipostage de l’ordinateur A. Le traitement des messages n’a réellement lieu que sur l’ordinateur A.

Procédure stockée pour le service de publipostage

Le tableau suivant spécifie la procédure stockée du service de publipostage ; il indique également si les comptes d’utilisateur au moment de l’exécution ou les comptes d’utilisateur au moment de la création peuvent y accéder.

Procédure stockée Utilisateur au moment de l’exécution Comptes d’utilisateur au moment de la conception Comptes de service de publipostage
sp_create_dml_
sqlagent_job
 Non Oui Oui

Voir aussi

Compte du service de publipostage

Utilisation du service de publipostage et de l’authentification Windows


Sécurisation du Data Warehouse

Cette section décrit les objets et données que vous devez sécuriser pour le Data Warehouse. Elle fournit aussi des instructions détaillées sur la manière de les sécuriser.

Il est vivement recommandé d’utiliser l’authentification Windows pour accéder à vos bases de données. Lorsque vous configurez vos chaînes de connexion de base de données pour l’authentification Windows, vous devez attribuer aux utilisateurs Commerce Server Business Desk et aux administrateurs système les droits d’accès appropriés à vos bases de données du Data Warehouse.

Commerce Server comprend sept scripts (ReportViewer.sql, ReportAdvanced.sql et cinq scripts pour les tâches DTS) qui créent des rôles de base de données SQL Server et attribuent les autorisations de base de données appropriées à chaque rôle. Une fois ces scripts exécutés, vous pouvez attribuer les connexions SQL Server des utilisateurs Business Desk et des administrateurs système aux rôles appropriés.

Cette section contient les rubriques suivantes :

  • Vue d’ensemble de la sécurité du Data Warehouse
  • Composants du Data Warehouse à sécuriser
  • Vue d’ensemble d’un déploiement de Data Warehouse sécurisé
  • Scripts de sécurisation des bases de données accessibles aux tâches DTS
  • Autorisations nécessaires à l’exécution de tâches DTS
  • Scripts de sécurisation des bases de données accessibles aux rapports
  • Configuration du compte du serveur d’analyse
  • Accès au serveur d’analyse via HTTPS
  • Configuration des chaînes de connexion du Data Warehouse
  • Modification du mot de passe du Data Warehouse
  • Modification du compte du Gestionnaire des rapports


Vue d'ensemble de la sécurité du Data Warehouse

Envoyer des commentaires sur cette page Commerce Server 2002

Vue d’ensemble de la sécurité du Data Warehouse

Les tâches suivantes accèdent au Data Warehouse :

  • Importation de données à partir du fichier journal du serveur Web et des bases de données d’exécution de Commerce Server.
  • Exécution de rapports à partir de Business Desk.

Vous devez sécuriser votre site afin que ces tâches puissent être exécutées sans risque pour vos bases de données. Vous trouverez ci-dessous un aperçu des étapes à effectuer et des outils à utiliser afin de sécuriser votre site pour ces tâches :

  • Importation de données. Commerce Server comprend des scripts de sécurité pour chaque base de données Commerce Server à laquelle les tâches de transformation de données (DTS, Data Transformation Services) doivent accéder.

    Vous devez exécuter le script approprié sur les bases de données d’exécution de Commerce Server et sur la base de données d’administration. Les scripts de sécurité créent un rôle DTS_ImportRole sur chaque base de données et lui attribuent les autorisations d’accès appropriées.

    Pour plus d’informations sur les scripts de sécurité des tâches DTS, consultez Scripts de sécurisation des bases de données accessibles aux tâches DTS.

  • Exécution de rapports. Commerce Server comprend les scripts de sécurité ReportViewer et ReportAdvanced à exécuter sur la base de données SQL Server du Data Warehouse.

    Ils créent deux rôles pour la base de données du Data Warehouse et leur attribuent les autorisations d’accès appropriées sur le Data Warehouse :

    • Le rôle ReportViewer possède les autorisations destinées aux utilisateurs Business Desk qui exécutent et affichent les rapports.
    • Le rôle ReportAdvanced possède les autorisations destinées aux utilisateurs Business Desk qui créent, suppriment et modifient les rapports.

    Une fois ces deux rôles créés, vous devez leur attribuer le compte d’utilisateur Business Desk. Les rôles permettent aux utilisateurs Business Desk d’utiliser des rapports sans endommager votre base de données.

    Pour plus d’informations sur l’exécution de ces scripts, consultez Scripts de sécurisation des bases de données accessibles aux rapports.

Voir aussi

Composants du Data Warehouse à sécuriser


Composants du Data Warehouse à sécuriser

Cette section décrit les objets du Data Warehouse à sécuriser : les bases de données, les chaînes de connexion et les rapports. Elle contient des informations de référence détaillées sur chaque composant du Data Warehouse, ainsi que sur les autorisations nécessaires pour y accéder.

Pour sécuriser ces composants, effectuez les actions suivantes :

  • Bases de données. Sécurisez toujours les bases de données du Data Warehouse derrière un pare-feu. Pour connaître les instructions à suivre, consultez Déploiement d’un site sécurisé. En outre, effectuez les opérations suivantes :
    • Pour la base de données SQL Server, exécutez les scripts de sécurité ReportViewer.sql et ReportAdvanced.sql afin de créer les rôles requis sur la base de données du Data Warehouse à l’intention des utilisateurs Business Desk qui exécutent des rapports, puis attribuez les utilisateurs Business Desk aux rôles appropriés.
    • Pour la base de données OLAP, le compte que vous définissez pour le serveur d’analyse doit disposer de droits d’accès de sélection sur l’ensemble des vues de Commerce Server.
    • Pour exécuter l’Assistant Importation du Data Warehouse et enregistrer un package, votre compte doit disposer des autorisations de sélection, d’insertion et de mise à jour sur la base de données msdb du serveur SQL sur lequel vous exécutez les tâches DTS. La base de données msdb est utilisée par l’agent SQL Server pour planifier les alertes et les travaux. Elle fait l’objet d’un accès lors de l’enregistrement du package DTS. En outre, attribuez les mêmes autorisations sur l’objet sysDTSPackage qui permet aux utilisateurs d’enregistrer un package DTS.
  • Chaînes de connexion. Configurez les chaînes de connexion pour utiliser l’authentification Windows.
  • Rapports. Utilisez le module Autorisations de Business Desk pour accorder aux utilisateurs Business Desk l’accès aux fonctionnalités de l’interface utilisateur permettant d’exécuter, de créer et de modifier les rapports.

Cette section contient les rubriques suivantes :

  • Base de données SQL Serveur du Data Warehouse
  • Base de données OLAP du Data Warehouse
  • Chaînes de connexion du Data Warehouse
  • Chaînes de connexion SQL Server du Data Warehouse
  • Chaînes de connexion au serveur d’analyse du Data Warehouse
  • Tâches DTS du Data Warehouse
  • Rapports Commerce Server
  • Rapports accédant aux cubes OLAP et à SQL Server


Base de données SQL Serveur du Data Warehouse

Cette rubrique contient des informations de référence en matière de sécurité pour les composants de la base de données SQL Server du Data Warehouse à sécuriser :

Tables du Data Warehouse

Vues du Data Warehouse

Fonctions du Data Warehouse

L'exécution des tâches suivantes entraîne l'accès aux données de la base de données SQL Server :

  • Exécution des tâches DTS de Commerce Server. Pour connaître les autorisations nécessaires à l’utilisation des tâches DTS, consultez Autorisations nécessaires à l'exécution de tâches DTS.
  • Exécution de rapports statiques par les utilisateurs Business Desk. Afin de sécuriser la base de données SQL Server du Data Warehouse, vous devez utiliser les scripts de sécurité de Commerce Server pour créer les rôles de base de données destinés aux utilisateurs Business Desk qui exécutent des rapports sur la base de données. Pour plus d’informations, consultez Scripts de sécurisation des bases de données accessibles aux rapports.

    Vous devez également attribuer le rôle db_owner de la base de données du Data Warehouse au compte spécifié dans le composant COM+ Gestionnaire des rapports Commerce Server. Pour connaître les instructions à suivre, consultez Modification du compte du Gestionnaire des rapports.

Tables du Data Warehouse

Le tableau suivant répertorie les tables spécifiques du Data Warehouse auxquelles les utilisateurs Business Desk (utilisateurs au moment de la conception) doivent accéder pour exécuter des rapports. Pour obtenir la liste des rapports et tâches nécessitant des autorisations particulières, consultez Script ReportViewer.sql et Script ReportAdvanced.sql.

Table Accès des utilisateurs au moment de la conception
GroupReportDbObject
 Sélectionner
Insérer
Supprimer
GroupReportJob
 Sélectionner
Insérer
Supprimer
GroupReportStatus
 Sélectionner
Insérer
Supprimer
LinkSiteRegisteredUserRel
 Sélectionner
RegisteredUser
 Sélectionner
Insérer
Report
 Sélectionner
Insérer
ReportDimension
 Sélectionner
Insérer
Supprimer
ReportInstanceDbObject
 Sélectionner
Insérer
ReportInstanceParam
 Sélectionner
Insérer
ReportParam
 Sélectionner
Insérer
Supprimer
ReportStatus
 Sélectionner
Insérer
Supprimer

Vues du Data Warehouse

Le vues suivantes de Commerce Server sont utilisées par les rapports dynamiques exécutés sur la base de données SQL Server pour remplir les cubes et les dimensions au sein d’Analysis Services.

Accordez au compte défini pour le serveur d’analyse (base de données OLAP) les droits d’accès de sélection sur l’ensemble de ces vues. Aucun autre rôle ou compte ne requiert un accès à ces vues. Pour connaître les instructions à suivre, consultez Configuration du compte du serveur d'analyse.

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

Fonctions du Data Warehouse

Les fonctions suivantes de Commerce Server sont utilisées par la tâche DTS Préparation du rapport. L’utilisateur Business Desk ne doit pas y avoir accès.

La tâche Préparation du rapport doit disposer des autorisations d’exécution pour ces fonctions. Vous ne devez effectuer aucune opération pour activer les autorisations d’exécution de cette tâche DTS, car vous disposez des autorisations nécessaires suite à la configuration de votre compte pour l’exécution des autres tâches DTS.

csdw_fnGetDataTypeString
csdw_fnGetValAsSQLConstant
csdw_fnVarBinToHexStr


Base de données OLAP du Data Warehouse

Le serveur d’analyse héberge la base de données OLAP (cubes) du Data Warehouse. La tâche DTS Préparation du rapport remplit les cubes à l’aide de données. La tâche DTS Mise en cache du rapport et les utilisateurs Business Desk accèdent à ces données lorsqu’ils exécutent des rapports OLAP dynamiques.

Pour sécuriser les bases de données OLAP, effectuez les actions suivantes :

  • Accordez au compte défini pour le serveur d’analyse les droits d’accès de sélection sur l’ensemble des vues de Commerce Server.
  • Configurez les chaînes de connexion à la base de données OLAP pour utiliser l’authentification Windows. Les chaînes de connexion à la base de données OLAP sont ConnStr_OLAP (côté serveur) et ConnStr_OLAP_Client (côté client). Pour connaître les instructions à suivre, consultez Configuration des chaînes de connexion du Data Warehouse.

Important

  • Si les cubes OLAP se trouvent sur un autre ordinateur que la base de données SQL Server du Data Warehouse, vous devez fournir les informations d’authentification de connexion pour les services MSSQLServiceOLAPService dans les cas suivants :
    • L’utilisateur qui ouvre une session dispose des autorisations adéquates sur la base de données SQL Server du Data Warehouse.
    • L’utilisateur qui ouvre une session est un membre du groupe d’administrateurs OLAP.

Le tableau suivant répertorie les rapports dynamiques et les cubes de la base de données OLAP auxquels chaque rapport accède. Ces informations sont fournies à titre de référence.

Rapport | Nécessite des droits d’accès de sélection sur ces scripts OLAP
Tendances d’utilisation | mscsWebUsage
Tendances des utilisateurs | mscsWebUsage
Activité par navigateur | mscsWebUsage
Utilisateurs distincts par période | mscsWebUsage
Synthèse de l’utilisation par semaine de l’année | mscsWebUsage
Synthèse de l’utilisation par jour de la semaine | mscsWebUsage
Synthèse de l’utilisation par heure de la journée | mscsWebUsage
Statistiques d’activités générales | mscsWebUsage
Pages d’entrée | Pages d’entrée
Pages de sortie | Pages de sortie
Synthèse de la bande passante | BandWidth
Tendances de la bande passante | BandWidth
Ventes produits | mscsSales
Nombre d’accès par état HTTP | Page Usage
Nombre d’accès par état Win32 | Page Usage
Répertoires | Page Usage
Domaines de référence les plus demandés par nombre de demandes | mscsWebUsage
Pages les plus demandées | Page Usage
Tendances des visites des utilisateurs | mscsWebUsage
Synthèse de l’élément de la campagne | mscsCampaign
Portée et fréquence d’accès à la publicité par date | mscsCampaign
Portée et fréquence d’accès à la publicité par annonceur | mscsCampaign
Itinéraire d’achat de l’acheteur | Buyer Visits
Synthèse de l’événement de la campagne | mscsCampaign
Événements du panier d’achat | Basket Events
Événements de commande | OrderEvents

N’accordez pas l’accès aux cubes suivants, car les rapports n’y accèdent pas directement :

mscsCampaignEvents
mscsDateIntersect
mscsOrderedImpressions
mscsVisitInfo


Chaînes de connexion du Data Warehouse

Le tableau suivant répertorie les chaînes de connexion du Data Warehouse.

Chaîne de connexion | Description
connstr_db_dw connstr_db_Analysis | Chaînes de connexion côté serveur et côté client utilisées pour exécuter des rapports sur la base de données SQL Server du Data Warehouse.
ConnStr_OLAP ConnStr_OLAP_Client | Chaînes de connexion côté serveur et côté client utilisées pour exécuter des rapports sur la base de données OLAP du serveur d’analyse. Il s’agit des chaîne de connexion du serveur d’analyse primaire.
ConnStr_OLAP_HA | Utilisée pour des déploiements à haute disponibilité comprenant un deuxième serveur d’analyse. Il s’agit de la chaîne de connexion du serveur d’analyse secondaire.
ConnStr_DW | Utilisée par les tâches DTS pour accéder au Data Warehouse par l’intermédiaire du fournisseur OLE DB de Commerce Server.

Configurez chaque chaîne de connexion pour utiliser l’authentification Windows.

Ces chaînes de connexion sont stockées dans la base de données d’administration.

Voir aussi

Configuration des chaînes de connexion du Data Warehouse

OLE DB Connection Strings for the Data Warehouse (en anglais)


Chaînes de connexion SQL Server du Data Warehouse

Le Data Warehouse possède les chaînes de connexion suivantes à la base de données SQL Server :

Chaîne de connexion côté serveur : connstr_dw

Chaîne de connexion côté serveur : connstr_db_dw

Chaîne de connexion côté client : connstr_db_Analysis

Chaîne de connexion côté serveur : connstr_dw

Il s’agit de la chaîne de connexion du Data Warehouse pour le fournisseur OLE DB de Commerce Server.

Si vous utilisez l’authentification SQL, le format de cette chaîne de connexion est le suivant :

"URL=mscop://InProcConnect/Server=myserver:Database=dbname: Catalog=DWSchema:Trusted_Connection=Yes:FastLoad=True:Connection_Retry=10:Connection_Retry_Delay=30"

Ou

"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"

Si vous utilisez l’authentification Windows, le format de cette chaîne de connexion est le suivant :

"URL=mscop://InProcConnect/Server=myserver:Database=dbname:Catalog=DWSchema:Trusted_Connection=true:FastLoad=True:Connection_Retry=10:Connection_Retry_Delay=30"

Ou

"URL=mscop://InProcConnect/Server=myserver:Database=dbname:Catalog=DWSchema:Trusted_Connection=Yes:FastLoad=True:Connection_Retry=10:Connection_Retry_Delay=30"

Chaîne de connexion côté serveur : connstr_db_dw

Dans le code ASP, il s’agit de g_MSCSDataWarehouseSQLConnStr.

Cette chaîne de connexion du Data Warehouse côté serveur est utilisée par les modules Analyse pour récupérer les données permettant de remplir les composants ListSheet des modules Rapports et Rapports finalisés. Elle est utilisée dans le cadre des tâches suivantes :

  • durant l’exécution ou l’exportation d’un rapport ;
  • pour supprimer les définitions de rapport et les rapports finalisés ;
  • pour enregistrer les rapports dynamiques.

Cette chaîne de connexion nécessite certaines autorisations pour créer et supprimer les tables du Data Warehouse, ainsi que des autorisations pour sélectionner, insérer, mettre à jour, supprimer les enregistrements des tables du Data Warehouse et exécuter les procédures stockées. Vous définissez cette chaîne de connexion lorsque vous décompressez la ressource Data Warehouse ; celle-ci possède des privilèges d’administration.

Si vous utilisez l’authentification SQL, le format de cette chaîne de connexion est le suivant :

Provider=SQLOLEDB.1;Data Source=ServerName;Initial
Catalog=DataWarehouseName;Integrated Security='SSPI';Extended
Properties=;Network Library=dbmssocn

Si vous utilisez l’authentification Windows, le format de cette chaîne de connexion est le suivant :

'Provider=SQLOLEDB.1;Data Source= ServerName;Initial Catalog=
 DataWarehouseName;Integrated Security=SSPI;Persist Security
Info=False;Network Library=dbmssocn'

Chaîne de connexion côté client : connstr_db_Analysis

Dans le code ASP, il s’agit de g_MSCSDataWarehouseSQLConnStrPivot.

Cette chaîne de connexion du Data Warehouse côté client est utilisée par le tableau croisé dynamique dans les rapports dynamiques, pour interroger les données du rapport. L’exécution de rapports SQL dynamiques nécessite que l’utilisateur Windows connecté dispose d’autorisations de sélection sur tous les objets de base de données référencés dans la requête du rapport.

Les clients peuvent accéder à cette chaîne de connexion en affichant la source lors de la restitution d’un rapport dynamique. Par conséquent, cette chaîne de connexion utilise l’authentification Windows par défaut, même si vous spécifiez la sécurité SQL lorsque vous décompressez la ressource Data Warehouse.

Le format de cette chaîne de connexion est le suivant :

'Provider=SQLOLEDB.1;Data Source= ServerName;Initial Catalog=
DataWarehouseName;Integrated Security=SSPI;Persist Security
Info=False;Network Library=dbmssocn'

Comme cette chaîne de connexion utilise l’authentification Windows, les utilisateurs Windows qui ne disposent pas des autorisations SQL Server ne pourront pas exécuter les rapports SQL dynamiques.

Pour autoriser de nombreux utilisateurs différents à exécuter des rapports SQL dynamiques, créez un groupe d’utilisateurs Windows doté d’autorisations SQL Server. Pour plus d’informations, consultez Scripts de sécurisation des bases de données accessibles aux rapports.

Remarque

  • Commerce Server 2000 ne dispose pas de cette chaîne de connexion. Lors d’une mise à niveau de Commerce Server 2000 vers Commerce Server 2002, les informations de la chaîne de connexion pour cette ressource sont copiées à partir de connstr_db_dw. Vous devez alors modifier manuellement connstr_db_Analysis pour utiliser l’authentification Windows.

Voir aussi

Configuration des chaînes de connexion du Data Warehouse

OLE DB Connection Strings for the Data Warehouse (en anglais)


Chaînes de connexion au serveur d'analyse du Data Warehouse

Envoyer des commentaires sur cette page Commerce Server 2002

Chaînes de connexion au serveur d’analyse du Data Warehouse

Le Data Warehouse possède les chaînes de connexion suivantes à la base de données OLAP du serveur d’analyse :

Chaîne de connexion côté serveur : ConnStr_OLAP

Chaîne de connexion côté client : ConnStr_OLAP_Client

Chaîne de connexion au serveur d’analyse secondaire : ConnStr_OLAP_HA

Chaîne de connexion côté serveur : ConnStr_OLAP

Dans le code ASP, il s’agit de g_MSCSDataWarehouseOLAPConnStr.

Cette chaîne de connexion côté serveur est utilisée pour interroger la base de données OLAP. Elle est utilisée de la manière suivante lors de l’exécution d’un rapport OLAP :

  • Pour les rapports statiques, cette chaîne de connexion sert à interroger les données du rapport dans la base de données OLAP.
  • Pour les rapports dynamiques, cette chaîne de connexion sert à vérifier que le cube utilisé dans le rapport est prêt à être interrogé avant l’exécution du rapport.

Le format de cette chaîne de connexion est le suivant :

Provider=MSOLAP;Integrated Security=SSPI;Persist Security Info=False;Data Source=ServerName;Initial Catalog=OLAPDatabaseName

Par défaut, tout membre du domaine Windows du serveur où réside OLAP disposera de l’accès requête (en lecture) aux cubes OLAP Commerce Server 2002.

Chaîne de connexion côté client : ConnStr_OLAP_Client

Dans le code ASP, il s’agit de g_MSCSDataWarehouseOLAPConnStrPivot.

Cette chaîne de connexion du Data Warehouse côté client est utilisée par le tableau croisé dynamique dans les rapports OLAP dynamiques, pour interroger la base de données OLAP.

Le format de cette chaîne de connexion est le suivant :

Provider=MSOLAP;Integrated Security=SSPI;Persist Security Info=False;Data Source=ServerName;Initial Catalog=OLAPDatabaseName

Par défaut, tout membre du domaine Windows du serveur où réside OLAP disposera de l’accès requête (en lecture) aux cubes OLAP Commerce Server 2002.

Remarques

  • Il est recommandé d’utiliser HTTPS et l’authentification de base dans la chaîne de connexion ci-dessus. L’identificateur d’utilisateur et le mot de passe peuvent être n’importe quel utilisateur Windows valide sur l’ordinateur Analysis Services sous la forme <domaine>\<Identificateur_utilisateur>, par exemple REDMOND\PhilippeTran.
  • Vous pouvez créer un nouveau compte d’utilisateur disposant des autorisations nécessaires pour interroger uniquement les cubes OLAP.
  • Cette chaîne de connexion n’existait pas dans Commerce Server 2000. Si vous effectuez une mise à niveau de Commerce Server 2000 vers Commerce Server 2002, les informations de cette chaîne de connexion sont copiées à partir de ConnStr_OLAP.

Pour plus d’informations sur la configuration de OLAP via HTTPS, consultez Accès au serveur d’analyse via HTTPS.

Chaîne de connexion au serveur d’analyse secondaire : ConnStr_OLAP_HA

Cette chaîne de connexion est utilisée pour OLAP dans les installations à haute disponibilité et les environnements de transfert comprenant un deuxième serveur d’analyse en cas d’échec du premier serveur d’analyse. Elle peut être utilisée par l’utilisateur client ; cependant, elle n’est pas actuellement référencée par les modules Analyse de Business Desk.

Le format de cette chaîne de connexion est le suivant :

Provider=MSOLAP;Integrated Security=SSPI;Persist Security Info=False;Data Source=ServerName;Initial Catalog=OLAPDatabaseName

Voir aussi

Configuration des chaînes de connexion du Data Warehouse

OLE DB Connection Strings for the Data Warehouse (en anglais)


Tâches DTS du Data Warehouse

Pour exécuter les tâches DTS de Commerce Server permettant d’importer des données dans le Data Warehouse, vous devez utiliser un compte membre du groupe des administrateurs ou portant l’alias de l’utilisateur dbo dans le Data Warehouse. Pour plus d’informations, consultez Autorisations nécessaires à l’exécution de tâches DTS.

Pour sécuriser les bases de données d’exécution de Commerce Server et la base de données d’administration afin de pouvoir exécuter les tâches DTS sans risque, utilisez les scripts de sécurité DTS de Commerce Server pour créer un rôle DTS_ImportRole sur chaque base de données. Pour plus d’informations, consultez Scripts de sécurisation des bases de données accessibles aux tâches DTS.

Une fois le rôle DTS_ImportRole créé sur chaque base de données, attribuez le compte de l’utilisateur qui doit exécuter la tâche DTS à chaque base de données.

Vous trouverez ci-dessous les tâches DTS de Commerce Server permettant d’importer des données et d’étendre le Data Warehouse :

  • Synchronisation de la configuration
  • Importation de journal de serveur Web
  • Importation des données de transaction
  • Importation du catalogue de produits
  • Résolution IP
  • Préparation du rapport
  • Suppression des données

Le tableau suivant répertorie les bases de données auxquelles ces tâches DTS accèdent, ainsi que le type d’accès nécessaire pour chacune d’elles. Lorsque vous exécutez les scripts de sécurité de Commerce Server, les autorisations appropriées sont attribuées au rôle DTS_ImportRole.

Objet | Tâche DTS | Type d’accès
Base de données MSCS_Admin | Toutes les tâches DTS | Sélectionner Insérer Mettre à jour Supprimer
Bases de données d’exécution de Commerce Server | Importation des données de transaction Importation du catalogue de produits Importation des données du profil utilisateur Importation de campagne marketing | Sélectionner et créer des tables temporaires dans la base de données tempdb sur l’ordinateur SQL Server hébergeant les bases de données d’exécution de Commerce Server
Base de données SQL Serveur du Data Warehouse | Toutes les tâches d’importation | Votre compte de connexion doit être un membre du groupe des administrateurs ou porter l’alias de l’utilisateur dbo dans le Data Warehouse
Base de données OLAP du Data Warehouse | Tâche Préparation du rapport | L’utilisateur doit être un membre du groupe d’administrateurs OLAP.
Active Directory | Importation des données du profil utilisateur | Sélectionner

Pour exécuter l’Assistant Importation du Data Warehouse et enregistrer un package, votre compte doit disposer des autorisations de sélection, d’insertion et de mise à jour sur la base de données msdb du serveur SQL sur lequel vous exécutez les tâches DTS.

La base de données msdb est utilisée par l’agent SQL Server pour planifier les alertes et les travaux. Elle fait l’objet d’un accès lors de l’enregistrement du package DTS. En outre, attribuez les mêmes autorisations sur l’objet sysDTSPackage qui permet aux utilisateurs d’enregistrer un package DTS.

Voir aussi

Scripts de sécurisation des bases de données accessibles aux tâches DTS


Rapports Commerce Server

Pour permettre aux utilisateurs Business Desk d’exécuter des rapports, vous devez veiller à ce qu’ils disposent des autorisations d’accès aux bases de données ainsi que des autorisations d’interface utilisateur Business Desk appropriées.

Autorisations Business Desk

Rapports statiques

Rapports dynamiques

Autorisations Business Desk

Utilisez le module Autorisations de Business Desk pour accorder et refuser aux utilisateurs Business Desk l’autorisation d’exécuter des rapports d’analyse. Vous pouvez sécuriser des zones du module Analyse de Business Desk pour que des fonctions de création de rapport spécifiques ne soient disponibles que pour les utilisateurs ou groupes d’utilisateurs sélectionnés.

Par exemple, vous pouvez désactiver le bouton [image] du module Rapports pour qu’un groupe d’utilisateurs ne puisse pas exécuter de rapports dynamiques dans Business Desk.

Le seul compte d’utilisateur par défaut de Business Desk est le groupe des administrateurs Business Desk. Après l’installation d’une application Business Desk, ce compte de groupe comporte initialement les utilisateurs du groupe des administrateurs pour le serveur Web sur lequel l’application Business Desk est installée.

Un membre du groupe des administrateurs Business Desk possède toutes les autorisations et peut ajouter d’autres utilisateurs et leur accorder des autorisations de création de rapport. Les autorisations de création de rapport permettent aux utilisateurs de créer et d’enregistrer des rapports.

Important

  • Les autorisations de création de rapport permettent à un utilisateur Business Desk d’enregistrer des requêtes de rapport SQL dans le Data Warehouse. Ces requêtes seront exécutées par quiconque exécutera le rapport. Même si les utilisateurs qui créent le rapport ne possèdent pas les autorisations requises pour exécuter la requête de rapport directement, ils peuvent enregistrer le rapport dans le Data Warehouse.

    Des utilisateurs possédant des autorisations SQL plus élevées peuvent alors exécuter la requête en exécutant le rapport, sans savoir si la requête exécutée est dommageable ou pas. Cet élément doit être pris en compte lorsque vous déterminez à qui vous accordez ces autorisations de création de rapports.

Rapports statiques

Pour générer des rapports statiques, le Gestionnaire des rapports (composant de génération de rapport) s’exécute sur l’ordinateur SQL Server et accède aux tables du Data Warehouse nécessaires aux rapports statiques. Les utilisateurs Business Desk n’ont pas directement accès au Gestionnaire des rapports.

Ce dernier s’exécute sous le compte local. Ce contexte de sécurité permet à l’application Business Desk d’exécuter des rapports sans spécifier d’autorisations supplémentaires pour les services IIS, ce qui présente un risque pour la sécurité.

Important

  • Pour que les rapports statiques s’exécutent, vous devez attribuer le rôle db_owner de la base de données du Data Warehouse au compte spécifié dans le composant COM+ Gestionnaire des rapports Commerce Server. Pour connaître les instructions à suivre, consultez Modification du compte du Gestionnaire des rapports.

Rapports dynamiques

Pour permettre aux utilisateurs Business Desk d'exécuter des rapports dynamiques, vous devez configurer la chaîne de connexion côté client à la base de données SQL Server (connstr_db_Analysis) avec les autorisations permettant aux utilisateurs Business Desk d’accéder aux tables et vues du Data Warehouse référencées dans les requêtes de rapport dynamique.

La chaîne de connexion côté client à la base de données SQL Server est utilisée uniquement par le tableau croisé dynamique dans les rapports dynamiques, pour interroger les données du rapport.

Important

  • La chaîne de connexion côté client à la base de données SQL Server (connstr_db_Analysis) réside sur le client Business Desk et les utilisateurs Business Desk peuvent y accéder en affichant la source lors de la restitution d'un rapport dynamique. Vous devez donc utiliser l’authentification Windows afin que le mot de passe ne soit pas en texte clair. Les utilisateurs peuvent toujours afficher le nom du serveur d’analyse et profiter de toutes les possibilités offertes par cet accès. Il est donc important de sécuriser toutes les bases de données OLAP du serveur.
  • Par défaut, tout membre du domaine Windows du serveur où réside OLAP dispose des autorisations de sélection sur les cubes OLAP de Commerce Server 2002.

Voir aussi

Scripts de sécurisation des bases de données accessibles aux rapports


Rapports accédant aux cubes OLAP et à SQL Server

Cette rubrique répertorie les rapports d’analyse accédant aux bases de données du serveur d’analyse et aux bases de données SQL Server.

Utilisez cette liste pour identifier les rapports auxquels doivent accéder les groupes de chefs d’entreprise, puis attribuez à ces derniers les informations d’identification sécurisées appropriées.

Rapports dynamiques accédant à la base de données du serveur d’analyse (cubes OLAP)

Rapports dynamiques accédant à la base de données SQL Server

Rapports statiques accédant à la base de données SQL Server

Rapports dynamiques accédant à la base de données du serveur d’analyse (cubes OLAP)

Aucun rapport statique n’est basé sur les cubes OLAP. Le tableau suivant répertorie les rapports dynamiques et les cubes de la base de données OLAP auxquels chaque rapport accède.

Rapport | Cube OLAP | Autorisations pour connstr_OLAP (côté serveur)
Tendances d’utilisation | mscsWebUsage | Sélectionner
Tendances des utilisateurs | mscsWebUsage | Sélectionner
Activité par navigateur | mscsWebUsage | Sélectionner
Utilisateurs distincts par période | mscsWebUsage | Sélectionner
Synthèse de l’utilisation par semaine de l’année | mscsWebUsage | Sélectionner
Synthèse de l’utilisation par jour de la semaine | mscsWebUsage | Sélectionner
Synthèse de l’utilisation par heure de la journée | mscsWebUsage | Sélectionner
Statistiques d’activités générales | mscsWebUsage | Sélectionner
Pages d’entrée | Pages d’entrée | Sélectionner
Pages de sortie | Pages de sortie | Sélectionner
Synthèse de la bande passante | BandWidth | Sélectionner
Tendances de la bande passante | BandWidth | Sélectionner
Ventes produits | mscsSales | Sélectionner
Nombre d’accès par état HTTP | Page Usage | Sélectionner
Nombre d’accès par état Win32 | Page Usage | Sélectionner
Répertoires | Page Usage | Sélectionner
Domaines de référence les plus demandés par nombre de demandes | mscsWebUsage | Sélectionner
Pages les plus demandées | Page Usage | Sélectionner
Tendances des visites des utilisateurs | mscsWebUsage | Sélectionner
Synthèse de l’élément de la campagne | mscsCampaign | Sélectionner
Portée et fréquence d’accès à la publicité par date | mscsCampaign | Sélectionner
Portée et fréquence d’accès à la publicité par annonceur | mscsCampaign | Sélectionner
Itinéraire d’achat de l’acheteur | Buyer Visits | Sélectionner
Synthèse de l’événement de la campagne | mscsCampaign | Sélectionner
Événements du panier d’achat | Basket Events | Sélectionner
Événements de commande | OrderEvents | Sélectionner

Rapports dynamiques accédant à la base de données SQL Server

Le tableau suivant répertorie les rapports dynamiques qui accèdent à la base de données SQL Server, ainsi que les tables de la base de données auxquelles chaque rapport accède.

Rapport | Tables du Data Warehouse | Autorisations pour connstr_db_dw (côté serveur)
Utilisateurs inscrits par date d’inscription | RegisteredUser LinkSiteRegisteredUserRel Site | Sélectionner
Jours avant inscription de l’utilisateur | UserRegistrationFactView | Sélectionner
Taux d’inscription des utilisateurs | RegisteredUser LinkSiteRegisteredUserRel Site | Sélectionner

Pour accéder à ces rapports via HTTPS, vous devez les réécrire sous forme de rapports statiques.

Rapports statiques accédant à la base de données SQL Server

Le tableau suivant répertorie les rapports Business Desk et les tables du Data Warehouse utilisées par chaque rapport.

Rapport | Tables du Data Warehouse | Autorisations
Chaînes de requête (valeurs multiples) | MVQueryStringFactTable MVQStringName Site Date | Sélectionner
Chaînes de requête (valeur unique) | SVQueryStringFactTable Site Date | Sélectionner
Propriétés de l’utilisateur inscrit | RegisteredUser LinkSiteRegisteredUserRel Site | Sélectionner
Ventes client | OrderFormHeader OrderGroup RegisteredUser Site CurrencyCode | Sélectionner
Nouveaux utilisateurs inscrits | RegisteredUser LinkSiteRegisteredUserRel Site | Sélectionner
Rapport | Procédure stockée du Data Warehouse | Autorisations
Analyse des chemins d’entrée | CSDW_MakePathAnalysis | Exécuter

Voir aussi

Scripts de sécurisation des bases de données accessibles aux rapports

Chaînes de connexion du Data Warehouse

Configuration des chaînes de connexion du Data Warehouse

Configuration du compte du serveur d’analyse

Accès au serveur d’analyse via HTTPS


Vue d'ensemble d'un déploiement de Data Warehouse sécurisé

Envoyer des commentaires sur cette page Commerce Server 2002

Vue d’ensemble d’un déploiement de Data Warehouse sécurisé

La figure suivante indique la configuration recommandée pour le déploiement du Data Warehouse dans un environnement de production sécurisé.

Dans cette figure, le Data Warehouse se situe sur un autre serveur que les bases de données d’exécution de Commerce Server pour optimiser les performances, et non par souci de sécurité.

Il est impératif de déployer le Data Warehouse derrière un pare-feu. Avant d’importer les fichiers journaux du serveur Web, copiez-les sur un serveur situé derrière le pare-feu. Pour plus d’informations sur l’utilisation de Microsoft Internet Security and Acceleration Server afin de créer un pare-feu, consultez Déploiement d’un site sécurisé.

Pour les connexions à la base de données SQL Server du Data Warehouse et à la base de données Analysis Services (OLAP), utilisez l’authentification Windows. Utilisez l’authentification de base pour les utilisateurs Business Desk.

Si vous avez déjà installé Commerce Server en utilisant l’authentification SQL Server, vous pouvez modifier les chaînes de connexion du Data Warehouse pour utiliser la sécurité intégrée de Windows. Pour connaître les instructions à suivre, consultez Configuration des chaînes de connexion du Data Warehouse.

Voir aussi

Déploiement d’un site sécurisé

Déploiement de plusieurs sites partageant un même Data Warehouse

Installation dans une configuration ordonnée en clusters et comprenant quatre ordinateurs

Installation dans une configuration non ordonnée en clusters et comprenant trois ordinateurs


Scripts de sécurisation des bases de données accessibles aux tâches DTS

Commerce Server comprend des scripts de sécurité à exécuter sur les bases de données d’exécution de Commerce Server et sur la base de données d’administration. Ces scripts se trouvent dans le dossier Program Files\Microsoft Commerce Server\Support.

Ils créent le rôle DTS_ImportRole sur chaque base de données et lui attribuent les autorisations d’accès appropriées sur la base de données spécifiée.

Le tableau suivant répertorie les scripts de sécurité des tâches DTS ainsi que les bases de données sur lesquelles vous les exécutez.

Script | À exécuter sur cette base de données
Dts_AdminDB_SecurityRole.sql | Administration
Dts_CommerceDB_Campaign_SecurityRole.sql | Campagnes marketing
Dts_CommerceDB_Catalog_SecurityRole.sql | Catalogue
Dts_CommerceDB_Transaction_SecurityRole.sql | Transactions
Dts_CommerceDB_UPM_SecurityRole.sql | Profils

Les tables de la base de données d’exécution de Commerce Server peuvent se trouver dans une base de données unique, ou chaque ressource peut posséder des tables dans sa propre base de données.

Ces scripts sont conçus pour utiliser SQL Server pour les données stockées dans les bases de données d’exécution de Commerce Server et dans la base de données d’administration. Ils ne sont pas destinés à une utilisation avec Active Directory ou une base de données Oracle.

Remarques

  • Le rôle DTS_ImportRole ne dispose pas des autorisations permettant de créer une application non-Commerce Server à l’aide de la Configuration du Data Warehouse. Un utilisateur qui appartient au rôle DTS_ImportRole peut exécuter la procédure de création d’une application non-Commerce Server, mais aucune application n’est générée.

    Pour créer une application non-Commerce Server à l’aide de la Configuration du Data Warehouse, vous devez être membre du groupe des administrateurs.

  • Pour exécuter l’Assistant Importation du Data Warehouse et enregistrer un package, votre compte doit disposer des autorisations de sélection, d’insertion et de mise à jour sur la base de données msdb du serveur SQL sur lequel vous exécutez les tâches DTS. La base de données msdb est utilisée par l’agent SQL Server pour planifier les alertes et les travaux. Elle fait l’objet d’un accès lors de l’enregistrement du package DTS. En outre, attribuez les mêmes autorisations sur l’objet sysDTSPackage qui permet aux utilisateurs d’enregistrer un package DTS.
  • Si les tâches DTS de Commerce Server sont planifiées par l’Agent SQL Server, ce service doit être exécuter sous un compte de service Windows qui est un membre du rôle DTS_ImportRole.
  • Si vous exécutez les tâches DTS de Commerce Server directement depuis le Gestionnaire Commerce Server, Windows Script Host ou SQL Server Enterprise Manager, le compte de connexion Windows doit être membre du rôle DTS_ImportRole.

Pour exécuter les scripts de sécurité des tâches DTS

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Microsoft SQL Server, puis cliquez sur Analyseur de requêtes SQL.
  2. Dans la boîte de dialogue Connexion à SQL Server, spécifiez le serveur SQL approprié.
  3. Dans la liste déroulante de l’Analyseur de requêtes, sélectionnez la base de données sur laquelle vous souhaitez exécuter le script.
  4. Cliquer sur Fichier, puis sur Ouvrir.
  5. Naviguez vers les scripts situés dans le dossier Program Files\Microsoft Commerce Server\Support et sélectionnez le script de sécurité DTS à exécuter.

    Le script s’ouvre et le code s’affiche dans la fenêtre de l’Analyseur de requêtes.

  6. Dans la barre d’outils, cliquez sur Exécuter pour exécuter le script sur la base de données sélectionnée.
  7. Répétez ces étapes pour exécuter les scripts de sécurité des tâches DTS restants sur les bases de données appropriées.
  8. Une fois le rôle DTS_ImportRole créé sur chaque base de données, attribuez à chaque rôle le compte des utilisateurs appropriés qui doivent exécuter les tâches DTS. Pour connaître les instructions à suivre, consultez Attribution de rôles de base de données SQL Server.

Voir aussi

Autorisations nécessaires à l’exécution de tâches DTS


Script Dts_AdminDB_SecurityRole.sql

Exécutez ce script sur la base de données d’administration. Pour connaître les instructions à suivre, consultez Scripts de sécurisation des bases de données accessibles aux tâches DTS.

Ce script crée le rôle DTS_ImportRole sur la base de données d’administration. Ajoutez à ce rôle l’utilisateur qui doit exécuter les tâches DTS de Commerce Server.

Le script Dts_AdminDB_SecurityRole.sql accorde au rôle DTS_Import les autorisations sur les tables de la base de données d’administration suivantes.

Table d’administration | Autorisations nécessaires aux tâches DTS
ExtendedProps | Sélectionner Insérer Mettre à jour Supprimer
Pupdbscripts | Sélectionner
ResourceProps | Sélectionner Insérer Mettre à jour Supprimer
Ressources | Sélectionner Mettre à jour
SiteResources | Sélectionner
Sites | Sélectionner Mettre à jour
SystemProps | Sélectionner

Voir aussi

Autorisations nécessaires à l’exécution de tâches DTS


Script Dts_CommerceDB_Campaign_SecurityRole.sql

Exécutez ce script sur la base de données Campagnes marketing. Pour connaître les instructions à suivre, consultez Scripts de sécurisation des bases de données accessibles aux tâches DTS.

Ce script crée le rôle DTS_ImportRole sur la base de données Campagnes marketing. Ajoutez à ce rôle l’utilisateur qui doit exécuter la tâche DTS Importation de campagne marketing.

Le script Dts_CommerceDB_Campaign_SecurityRole.sql accorde au rôle DTS_Import les autorisations de sélection sur les tables de la base de données Campagnes marketing suivantes :

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

Voir aussi

Autorisations nécessaires à l’exécution de tâches DTS


Script Dts_CommerceDB_Catalog_SecurityRole.sql

Exécutez ce script sur la base de données Catalogue. Pour connaître les instructions à suivre, consultez Scripts de sécurisation des bases de données accessibles aux tâches DTS.

Ce script crée le rôle DTS_ImportRole sur la base de données Catalogue. Ajoutez à ce rôle l’utilisateur qui doit exécuter la tâche DTS Importation du catalogue de produits.

Le script Dts_CommerceDB_Catalog_SecurityRole.sql accorde au rôle DTS_Import les autorisations de sélection sur les tables de la base de données Catalogue suivantes :

  • CatalogGlobal
  • CatalogAttributes
  • Toutes les tables et vues possédant un préfixe du nom de catalogue provenant de la table CatalogGlobal

Voir aussi

Autorisations nécessaires à l’exécution de tâches DTS


Script Dts_CommerceDB_Transaction_SecurityRole.sql

Exécutez ce script sur la base de données Transactions. Pour connaître les instructions à suivre, consultez Scripts de sécurisation des bases de données accessibles aux tâches DTS.

Ce script crée le rôle DTS_ImportRole sur la base de données Transactions. Ajoutez à ce rôle l’utilisateur qui doit exécuter la tâche DTS Importation des données de transaction.

Le script Dts_CommerceDB_Transaction_SecurityRole.sql accorde au rôle DTS_Import les autorisations de sélection sur les tables de la base de données Transactions suivantes :

OrderFormHeader
OrderFormLineItems
OrderGroup
OrderGroupAddresses
TransCategory
TransDimension

Voir aussi

Autorisations nécessaires à l’exécution de tâches DTS


Script Dts_CommerceDB_UPM_SecurityRole.sql

Exécutez ce script sur la base de données Profils. Pour connaître les instructions à suivre, consultez Scripts de sécurisation des bases de données accessibles aux tâches DTS.

Ce script crée le rôle DTS_ImportRole sur la base de données Profils. Ajoutez à ce rôle l’utilisateur qui doit exécuter la tâche DTS Importation des données du profil utilisateur.

Le script Dts_CommerceDB_UPM_SecurityRole.sql accorde au rôle DTS_Import les autorisations de sélection sur les tables de la base de données Profils suivantes :

ClassDef
ClsAttrib
ColDef
CommerceServerCatalogs
GroupMem
MemAttrib
MemberDef
RelDef
SourceAttrib
SourceDef
TableDef

Modifications du schéma de profil

Si vous modifiez le schéma de profil et ajoutez de nouveaux objets, vous devez accorder les autorisations de sélection sur ces objets afin que la tâche Importation des données du profil utilisateur fonctionne correctement.

Par exemple, si vous décompressez un site solution, vous devez accorder des autorisations de sélection sur les tables suivantes pour le schéma de profil inclus dans les sites solutions :

Addresses
BlanketPOs
OrganizationObject
UserObject

Voir aussi

Autorisations nécessaires à l’exécution de tâches DTS


Autorisations nécessaires à l'exécution de tâches DTS

Envoyer des commentaires sur cette page Commerce Server 2002

Autorisations nécessaires à l’exécution de tâches DTS

Pour exécuter les tâches DTS de Commerce Server, votre compte de connexion doit être configuré de la manière suivante :

  • Le compte doit être membre du rôle DTS_ImportRole sur la base de données pour la tâche DTS que vous exécutez.
  • Sur l’ordinateur utilisé pour l’exécution des tâches DTS, attribuez le compte DTSImport au groupe « Utilisateurs avec pouvoir ».
  • Le compte doit être mappé vers l’utilisateur dbo dans la base de données du Data Warehouse. Pour mapper un nom de connexion à l’utilisateur dbo, exécutez la procédure stockée sp_addalias dans l’Analyseur de requêtes de la manière suivante :
    Exec sp_addalias 'domain\login','dbo'

    Pour exécuter sp_addalias dans l’Analyseur de requêtes, vous devez être connecté avec des privilèges « sa ».

    La procédure stockée sp_addalias échoue si l’utilisateur a déjà été ajouté au Data Warehouse. N’ajoutez pas le compte à l’aide d’une autre méthode que la procédure stockée sp_addalias.

  • Le compte doit être membre du rôle Administrateurs pour l’application COM+ Config de Commerce Server sur l’ordinateur qui sera utilisé pour exécuter les tâches DTS.

    Seuls les utilisateurs du rôle Administrateurs peuvent instancier l’objet GlobalConfig2, ce qui est nécessaire pour l’exécution de tâches DTS. Pour plus d’informations sur le rôle Administrateurs de l’application Config, consultez Application COM+ Config de Commerce Server.

  • Pour exécuter l’Assistant Importation du Data Warehouse et enregistrer un package, votre compte doit disposer des autorisations de sélection, d’insertion et de mise à jour sur la base de données msdb du serveur SQL sur lequel vous exécutez les tâches DTS. La base de données msdb est utilisée par l’agent SQL Server pour planifier les alertes et les travaux. Elle fait l’objet d’un accès lors de l’enregistrement du package DTS. En outre, attribuez les mêmes autorisations sur l’objet sysDTSPackage qui permet aux utilisateurs d’enregistrer un package DTS.

Le tableau suivant répertorie les rôles auxquels le compte de connexion doit appartenir pour exécuter des tâches DTS spécifiques.

Pour exécuter cette tâche DTS | Vous devez appartenir à ces rôles
Synchronisation de la configuration | DTS_ImportRole sur la base de données d’administration
Importation de journal de serveur Web | DTS_ImportRole sur la base de données d’administration
Importation des données de transaction | DTS_ImportRole sur la base de données Transactions
Importation du catalogue de produits | DTS_ImportRole sur la base de données Catalogue
Suppression des données | DTS_ImportRole sur la base de données d’administration
Résolution IP | Aucun rôle supplémentaire requis
Préparation du rapport | Groupe d’administrateurs OLAP

Remarques

  • Réexécutez les scripts CatalogSecurityRoles et Dts_CommerceDB_Catalog_SecurityRole après l’exécution d’une des tâches suivantes :
    • Création de nouveaux catalogues
    • Ajout de langues à un catalogue
    • Reconstruction de catalogues virtuels
  • Réexécutez le script Dts_CommerceDB_Campaign_SecurityRole après la création de nouvelles campagnes marketing.
  • Lorsque vous étendez la base de données Profils (en créant des définitions de profils), attribuez manuellement des autorisations au compte DTSImport.
  • Le compte de l’application COM+ Config doit être membre du rôle db_owner sur la base de données SQL Server du Data Warehouse.

Pour plus d’informations sur les autorisations nécessaires à l’exécution de la tâche DTS Générateur de modèles, consultez Sécurisation d'un déploiement de Predictor.

Voir aussi

Scripts de sécurisation des bases de données accessibles aux tâches DTS


Scripts de sécurisation des bases de données accessibles aux rapports

Commerce Server fournit les deux scripts suivants que vous pouvez utiliser pour créer deux rôles de création de rapports :

  • ReportViewer.sql. Utilisez ce script pour créer le rôle ReportViewerRole sur la base de données SQL Server du Data Warehouse. Le rôle ReportViewerRole dispose des autorisations permettant aux utilisateurs Business Desk d’effectuer les tâches suivantes :
    • Exécution et affichage de rapports dynamiques et statiques
    • Suppression de rapports statiques finalisés
  • ReportAdvanced.sql. Utilisez ce script pour créer le rôle ReportAdvancedRole sur la base de données SQL Server du Data Warehouse. Le rôle ReportAdvancedRole dispose des autorisations permettant aux utilisateurs Business Desk d’effectuer les tâches suivantes :
    • Enregistrement de rapports dynamiques
    • Modification de rapports dynamiques non-système existants
    • Suppression de rapports dynamiques et statiques non-système

    Ce script s’ajoute lui-même en tant que membre du rôle ReportViewerRole. Par conséquent les utilisateurs du rôle ReportAdvancedRole héritent de toutes les autorisations du rôle ReportViewerRole.

Ces scripts ne contiennent pas les autorisations nécessaires pour la base de données Commerce. Vous devez attribuer les autorisations CREATE TABLE sur la base de données Commerce.

Ces scripts se trouvent dans le dossier \Program Files\Microsoft Commerce Server\Support.

Pour exécuter les scripts ReportViewer et ReportAdvanced

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Microsoft SQL Server, puis cliquez sur Analyseur de requêtes SQL.
  2. Dans la boîte de dialogue Connexion à SQL Server, spécifiez le serveur SQL approprié.
  3. Dans l’Analyseur de requêtes, sélectionnez la base de données SQL Server du Data Warehouse dans la liste déroulante.
  4. Cliquer sur Fichier, puis sur Ouvrir.
  5. Naviguez vers les scripts situés dans le dossier Program Files\Microsoft Commerce Server\Support et sélectionnez ReportViewer.

    Le script s’ouvre et le code s’affiche dans la fenêtre de l’Analyseur de requêtes.

  6. Dans la barre d’outils, cliquez sur Exécuter pour exécuter le script sur la base de données du Data Warehouse.
  7. Répétez ces étapes pour exécuter le script ReportAdvanced.

    Ce script s’ajoute lui-même en tant que membre du rôle ReportViewerRole. Par conséquent les utilisateurs du rôle ReportAdvancedRole héritent de toutes les autorisations du rôle ReportViewerRole.

  8. Une fois ces rôles créés, attribuez le compte de groupe Business Desk a rôle ReportViewerRole, puis le compte ReportAdvanced au rôle ReportAdvancedRole. Pour connaître les instructions à suivre, consultez Attribution de rôles de base de données SQL Server.


Script ReportViewer.sql

Le script ReportViewer.sql se trouve dans le dossier \Program Files\Microsoft Commerce Server\Support.

Il accorde au rôle ReportViewer des autorisations sur les tables de la base de données SQL Server du Data Warehouse et de la base de données OLAP.

Cette section décrit les autorisations accordées sur les tables et vues.

Exécution et affichage de rapports dynamiques (SQL) : SELECT

Deux rapports dynamiques accèdent aux données de la base de données SQL Server du Data Warehouse :

  • Utilisateurs inscrits par date d’inscription
  • Taux d’inscription des utilisateurs

Pour permettre aux utilisateurs Business Desk d’exécuter et d’afficher ces rapports dynamiques, le script ReportViewer.sql accorde au rôle ReportViewer les autorisations de sélection sur les tables suivantes du Data Warehouse :

Report
RegisteredUser
LinkSiteRegisteredUserRel

Exécution et affichage de rapports dynamiques (OLAP) : SELECT

Pour permettre aux utilisateurs Business Desk d’exécuter et d’afficher des rapports dynamiques qui utilisent des données de la base de données OLAP du Data Warehouse, le script ReportViewer.sql accorde au rôle ReportViewer les autorisations de sélection sur les vues suivantes de la base de données OLAP :

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

Affichage de rapports statiques : SELECT

Pour permettre aux utilisateurs Business Desk d’afficher des rapports statiques qui utilisent des données de la base de données SQL Server du Data Warehouse, le script ReportViewer.sql accorde au rôle ReportViewer les autorisations de sélection sur les tables suivantes de la base de données du Data Warehouse :

ReportDimension
ReportInstanceDbObject
ReportInstanceParam
ReportParam
ReportStatus
GroupReportJob
GroupReportStatus
GroupReportDbObject

Exécution de rapports statiques : INSERT

Pour permettre aux utilisateurs Business Desk d’exécuter des rapports statiques qui utilisent des données de la base de données SQL Server du Data Warehouse, le script ReportViewer.sql accorde au rôle ReportViewer les autorisations d’insertion sur les tables suivantes de la base de données du Data Warehouse :

ReportInstanceDbObject
ReportInstanceParam
ReportStatus
GroupReportJob
GroupReportStatus
GroupReportDbObject

Suppression de rapports statiques finalisés : DELETE

Pour permettre aux utilisateurs Business Desk de supprimer des rapports statiques qui utilisent des données de la base de données SQL Server du Data Warehouse, le script ReportViewer.sql accorde au rôle ReportViewer les autorisations de suppression sur les tables suivantes de la base de données du Data Warehouse :

ReportInstanceParam
ReportStatus

Voir aussi

Chaînes de connexion du Data Warehouse

Configuration des chaînes de connexion du Data Warehouse

Configuration du compte du serveur d’analyse

Accès au serveur d’analyse via HTTPS


Script ReportAdvanced.sql

Le script ReportAdvanced.sql se trouve dans le dossier \Program Files\Microsoft Commerce Server\Support.

Il crée le rôle de base de données ReportAdvanced. Le rôle ReportAdvanced hérite de toutes les autorisations accordées au rôle ReportViewer.

Il accorde au rôle ReportAdvanced des autorisations sur les tables de la base de données SQL Server du Data Warehouse de sorte que les utilisateurs Business Desk puissent effectuer les opérations suivantes :

  • Créer des rapports dynamiques
  • Supprimer des rapports personnalisés
  • Modifier des rapports existants

Le script ReportAdvanced.sql accorde au rôle ReportAdvanced les autorisations suivantes sur les tables du Data Warehouse spécifiées :

Table du Data Warehouse Autorisations
Report
 Insérer
Mettre à jour
Supprimer
ReportDimension
 Supprimer
ReportParam
 Supprimer
ReportStatus
 Supprimer
GroupReportJob
 Supprimer
GroupReportStatus
 Supprimer
GroupReportDbObject
 Supprimer


Configuration du compte du serveur d'analyse

Envoyer des commentaires sur cette page Commerce Server 2002

Configuration du compte du serveur d’analyse

Les vues suivantes de Commerce Server sont utilisées par les rapports dynamiques qui s’exécutent sur la base de données SQL Server. Accordez au compte défini pour le serveur d’analyse (OLAP) les droits d’accès de sélection sur l’ensemble de ces vues. Aucun autre rôle ou compte ne requiert un accès à ces vues :

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

Voir aussi

Chaînes de connexion du Data Warehouse

Configuration des chaînes de connexion du Data Warehouse

Configuration du compte du serveur d’analyse

Accès au serveur d’analyse via HTTPS


Accès au serveur d'analyse via HTTPS

Envoyer des commentaires sur cette page Commerce Server 2002

Accès au serveur d’analyse via HTTPS

Remarque

  • Cette fonctionnalité nécessite SQL Server 2000 Édition Entreprise, qui comprend l'édition Entreprise d'Analysis Server.

Le système d’analyse commerciale permet à un utilisateur Business Desk d’exécuter des rapports dynamiques en se connectant aux services Analysis Services (pour accéder à la base de données OLAP) via les services IIS (Internet Information Services). Pour cela, utilisez HTTP ou HTTPS. Lorsque vous configurez cette méthode de connexion à l’aide de HTTPS, le service de tableau croisé dynamique peut créer une connexion tunnel via des pare-feu ou des serveurs proxy vers le serveur Analysis Services.

Figure illustrant la façon dont vous pouvez configurer votre site pour que les utilisateurs Business Desk puissent exécuter des rapports au travers des pare-feu.

Vous devez effectuer les étapes suivantes pour configurer l’accès aux services Analysis Services via HTTPS :

  • Installez les services IIS et SQL Server Analysis Services 2000 sur le même ordinateur. Pour connaître les instructions à suivre, consultez le Guide d'installation de Microsoft Commerce Server 2002.
  • Configurez la chaîne de connexion cliente des services Analysis Services (ConnStr_OLAP_Client) à l’aide du Gestionnaire Commerce Server, afin d’accéder à la boîte de dialogue Propriétés de Data Warehouse. Vous devez spécifier une URL dans la propriété Source de données de la chaîne de connexion.
  • Configurez Msolap.asp à l’aide des services IIS.

Pour accéder aux services Analysis Services via HTTPS, le format de la chaîne de connexion ConnStr_OLAP_Client est le suivant :

Provider=MSOLAP;user id=Domain\Username;password=Password;Data Source=https://ServerName;Initial Catalog=OLAPDatabaseName

Remarque

  • Il est recommandé d’utiliser HTTPS et l’authentification de base dans la chaîne de connexion précédente. L’identificateur d’utilisateur et le mot de passe peuvent être n’importe quel utilisateur Windows valide sur l’ordinateur Analysis Services sous la forme <domaine>\<Identificateur_utilisateur>, par exemple REDMOND\PhilippeTran. Il est recommandé d’utiliser le compte Windows que vous créez pour le rôle de création de rapports de la manière décrite dans Scripts de sécurisation des bases de données accessibles aux rapports.
  • SSL (Secure Sockets Layer) et HTTPS nécessitent davantage de ressources matérielles que HTTP. Pour plus d’informations, consultez « À propos du cryptage » dans la documentation des services IIS (Internet Information Services) 5.0.

Pour configurer la chaîne de connexion cliente des services Analysis Services (ConnStr_OLAP_Client)

  1. Développez Gestionnaire Commerce Server, Ressources globales, cliquez avec le bouton droit sur Data Warehouse, puis cliquez sur Propriétés.
  2. Sous l’onglet Serveur d’analyse de la boîte de dialogue Propriétés de Data Warehouse, dans la section Connexion du client, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Se connecter en utilisant HTTP | Sélectionner cette option.
    Utiliser SSL | Sélectionner cette option.
    Identificateur d’utilisateur et Mot de passe Taper un identificateur d’utilisateur et un mot de passe Windows valides sous la forme <domaine>\<Identificateur_utilisateur>, par exemple REDMOND\PhilippeTran.

    Il est recommandé d’utiliser le compte Windows que vous avez créé pour le rôle de création de rapports.
    Serveur | Taper le nom du serveur d’analyse.
    Base de données | Taper le nom de la base de données OLAP du Data Warehouse.
  3. Cliquez sur OK pour enregistrer les modifications.

Pour configurer Msolap.asp

  1. À l’aide de l’Explorateur Windows, copiez Msolap.asp du dossier \Program Files\Microsoft Analysis Services\Bin vers le dossier \Inetpub\wwwroot.
  2. Cliquez sur Démarrer, pointez sur Programmes, sur Outils d’administration, puis cliquez sur Gestionnaire des services Internet.
  3. Développez le serveur que vous êtes en train d’administrer, puis cliquez sur Site Web par défaut.
  4. Dans le volet d’informations, cliquez avec le bouton droit sur Msolap.asp, puis sur Propriétés.
  5. Dans la boîte de dialogue Propriétés, sous l’onglet Fichier, sélectionnez Lire, puis Accès à la source du script.
  6. Cliquez sur Appliquer pour définir ces propriétés.
  7. Sous l’onglet Sécurité de fichier, dans la section Restrictions par adresse IP et nom de domaine, cliquez sur Modifier.
  8. Cliquez sur Ne sera pas autorisé, puis sur Ajouter pour accorder l’accès uniquement aux plages IP autorisées.
  9. Cliquez sur OK pour définir ces propriétés.
  10. Sous l’onglet Sécurité du fichier, dans la section Connexions anonymes et contrôle d’authentification, cliquez sur Modifier.
  11. Vérifiez que Accès anonyme n’est pas sélectionné, et que Authentification de base est sélectionné.
  12. Sous l’onglet Sécurité du fichier, dans la section Communications sécurisées, cliquez sur Modifier.
  13. Vérifiez que Exiger un canal sécurisé (SSL) est sélectionné.

Important

  • Si vous n’avez pas configuré de certificat SSL sur cet ordinateur, vous ne pouvez pas utiliser l’option « Utiliser SSL » dans la section Connexion du client de la boîte de dialogue Propriétés de Data Warehouse du Gestionnaire Commerce Server. Si vous tentez d’effectuer cette opération, la connexion n’est pas validée. Pour plus d’informations sur la configuration d’un certificat SSL, consultez la documentation IIS.
  1. Cliquez sur OK pour fermer la boîte de dialogue Propriétés de Data Warehouse.
  2. Pour implémenter les nouvelles propriétés, utilisez la commande IISReset afin de redémarrer les services IIS.

Voir aussi

Rapports accédant aux cubes OLAP et à SQL Server

Scripts de sécurisation des bases de données accessibles aux rapports


Configuration des chaînes de connexion du Data Warehouse

Vous pouvez configurer les chaînes de connexion du Data Warehouse par programmation ou en utilisant le Gestionnaire Commerce Server.

Utilisation du Gestionnaire Commerce Server pour configurer les chaînes de connexion

Configuration des chaînes de connexion par programmation

Requêtes pour la lecture des chaînes de connexion du Data Warehouse à partir de la base de données d’administration

Utilisation du Gestionnaire Commerce Server pour configurer les chaînes de connexion

  1. Dans le Gestionnaire Commerce Server, dans Ressources globales, cliquez avec le bouton droit sur Data Warehouse, puis cliquez sur Propriétés.
  2. Sous l’onglet SQL Server, spécifiez le mode d’authentification des chaînes de connexion connstr_db_dw et connstr_db_Analysis.
    • Si vous spécifiez l’authentification SQL Server, l’identificateur d’utilisateur et le mot de passe seront utilisés dans connstr_db_dw, alors que connstr_db_Analysis (chaîne de connexion côté client) continuera à utiliser l’authentification Windows pour des raisons de sécurité.
    • Si vous spécifiez l’authentification Windows NT, connstr_db_dw sera configurée pour utiliser l’authentification Windows.

    L’exemple de boîte de dialogue ci-dessous montre les chaînes de connexion qui sont configurées.

    Exemple de boîte de dialogue montrant la configuration des chaînes de connexion pour la base de données du Data Warehouse de SQL Server.

  3. Sous l’onglet Serveur d’analyse, spécifiez le mode d’authentification des chaînes de connexion ConnStr_OLAP, ConnStr_OLAP_HA et ConnStr_OLAP_Client.

    L’exemple de boîte de dialogue ci-dessous montre dans chaque section les chaînes de connexion qui sont configurées.

Exemple de boîte de dialogue montrant la configuration des chaînes de connexion pour le serveur d'analyse.

Configuration des chaînes de connexion par programmation

Lorsque vous configurez les chaînes de connexion du Data Warehouse par programmation, vous devez également mettre à jour un ensemble de propriétés analysées :

  • Lorsque vous mettez à jour les chaînes de connexion SQL Server du Data Warehouse (ConnStr_dw, connstr_db_dw et connstr_db_Analysis), vous devez également mettre à jour les propriétés analysées suivantes :
    Propriété Description
    Schema_ctlgDbName
            Nom de la base de données du Data Warehouse, par exemple BlankSite_dw.
    Schema_ctlgName
            Nom du schéma de catalogue, par exemple DWSchema.
    Schema_ctlgUserID
            Identificateur d’utilisateur spécifié dans la chaîne de connexion du Data Warehouse. Cette chaîne doit être vide si vous utilisez l’authentification Windows.
    Schema_ctlgPsw
            Mot de passe spécifié dans la chaîne de connexion du Data Warehouse. Cette chaîne doit être vide si vous utilisez l’authentification Windows.
    Schema_ctlgSqlServerName
            Nom du serveur SQL du Data Warehouse
  • Lorsque vous mettez à jour la chaîne de connexion de la base de données OLAP du serveur d’analyse (ConnStr_OLAP), vous devez également mettre à jour les propriétés analysées suivantes :
    Propriété Description
    Schema_ctlgNameOLAPDbName
            Nom de la base de données OLAP du serveur d’analyse.
    Schema_ctlgNameOLAPServerName
            Nom du serveur d’analyse.

Requêtes pour la lecture des chaînes de connexion du Data Warehouse à partir de la base de données d’administration

Vous pouvez utiliser les requêtes suivantes pour lire les chaînes de connexion du Data Warehouse à partir de la base de données MSCS_Admin. Ces requêtes sont très utiles lorsque vous cherchez à déterminer quelles sont les chaînes de connexion stockées dans la base de données d’administration :

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'

Voir aussi

Configuration des chaînes de connexion du Data Warehouse

Configuration du compte du serveur d’analyse

Accès au serveur d’analyse via HTTPS

Scripts de sécurisation des bases de données accessibles aux rapports


Modification du mot de passe du Data Warehouse

Si vous modifiez le mot de passe de l’administrateur système pour votre ordinateur SQL Server, vous devez également modifier le mot de passe dans Data Warehouse Commerce Server et les chaînes de connexion pour toutes les ressources.

Lorsque vous changez le mot de passe du Data Warehouse, vous devez le modifier à deux endroits :

  • La ressouce globale du Data Warehouse, qui spécifie la chaîne de connexion à la base de données SQL Server du Data Warehouse.
  • La base de données OLAP du Data Warehouse, qui possède une chaîne de connexion à la base de données SQL Server du Data Warehouse.

Pour modifier le mot de passe du Data Warehouse

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Microsoft Commerce Server 2002, puis cliquez sur Gestionnaire Commerce Server.
  2. Dans le Gestionnaire Commerce Server, développez Ressources globales, cliquez avec le bouton droit sur le Data Warehouse pour lequel vous voulez modifier le mot de passe, puis cliquez sur Propriétés.
  3. Dans la boîte de dialogue Propriétés de Data Warehouse 1, cliquez sur l’onglet SQL Server.
  4. Sous l’onglet SQL Server, dans la zone Mot de passe, tapez le nouveau mot de passe, puis cliquez sur OK.
  5. Dans le Gestionnaire Commerce Server, développez Serveur d’analyse, le nom du serveur OLAP, la base de données OLAP, puis Sources de données.
  6. Cliquez avec le bouton droit sur la source de données du Data Warehouse (par exemple COMMERCE_DataWarehouse), puis cliquez sur Modifier.
  7. Tapez le nouveau mot de passe dans la boîte de dialogue Propriétés des liaisons de données, puis cliquez sur OK.

Voir aussi

Configuration d’une ressource globale

Scripts de sécurisation des bases de données accessibles aux rapports

Configuration des chaînes de connexion du Data Warehouse

Configuration du compte du serveur d’analyse

Accès au serveur d’analyse via HTTPS


Modification du compte du Gestionnaire des rapports

Pour générer des rapports statiques, le Gestionnaire des rapports (composant de génération de rapport) s’exécute sur l’ordinateur SQL Server et accède aux tables du Data Warehouse nécessaires aux rapports statiques. Les utilisateurs Business Desk n’ont pas directement accès au Gestionnaire des rapports.

Ce dernier s’exécute sous le compte local. Ce contexte de sécurité permet à l’application Business Desk d’exécuter des rapports sans spécifier d’autorisations supplémentaires pour les services IIS, ce qui présente un risque pour la sécurité.

Important

  • Pour que les rapports statiques s’exécutent, vous devez attribuer le rôle db_owner de la base de données du Data Warehouse au compte spécifié dans le composant COM+ Gestionnaire des rapports Commerce Server.

Pour modifier le compte du Gestionnaire des rapports

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Outils d’administration, puis cliquez sur Services de composants.
  2. Développez Ordinateurs, Poste de travail, puis Applications COM+.
  3. Cliquez avec le bouton droit sur Gestionnaire des rapports Commerce Server, puis cliquez sur Propriétés.
  4. Dans la boîte de dialogue Propriétés de Gestionnaire des rapports Commerce Server, sous l’onglet Identité, spécifiez l’utilisateur et le mot de passe du Gestionnaire des rapports, puis cliquez sur OK.


Sécurisation d'un déploiement de Predictor

Envoyer des commentaires sur cette page Commerce Server 2002

Sécurisation d’un déploiement de Predictor

Pour sécuriser un déploiement de Predictor utilisant l’authentification Windows, effectuez les étapes suivantes :

Sécuriser le compte du service Predictor.

Accorder des autorisations d’exécution de la tâche DTS Générateur de modèles.

Configurer les chaînes de connexion de la ressource Predictor à l’aide de l’authentification Windows.

Exécution du script SegmentViewer pour sécuriser les tables Predictor.

Sécuriser le modèle Predictor déployé sur le serveur Web.

Accorder des autorisations d’utilisation des modules Identification de segments et Listes des affinités.

Sécurisation du compte du service Predictor

Le compte attribué au service Predictor doit disposer du droit Ouvrir une session en tant que service. Commerce Server accorde ce droit au compte pendant la configuration.

Le compte attribué au service Predictor doit être affecté aux rôles suivants :

  • Base de données d’administration. À attribuer au rôle db_datareader.
  • Base de données SQL Serveur du Data Warehouse. À attribuer aux rôles db_datareader, db_datawriter et db_ddladmin.
  • Tables du Gestionnaire de listes. Attribuer les autorisations de sélection, de mise à jour, d’insertion et de suppression.
  • Base de données Campagnes marketing. À attribuer aux rôles db_ddladmin, db_datawriter et db_datareader.
  • Application COM+ Config. À attribuer au rôle Administrateurs.

Pour accorder au compte du service Predictor l’accès aux bases de données appropriées

  1. Dans SQL Enterprise Manager, développez Sécurité, cliquez avec le bouton droit sur Connexions, puis cliquez sur Nouvelle connexion.
  2. Créez une nouvelle connexion pour le service Predictor à l’aide de l’authentification Windows, puis cliquez sur OK.
  3. Dans le volet d’affichage, cliquez avec le bouton droit sur la nouvelle connexion, puis cliquez sur Propriétés.
  4. Dans la boîte de dialogue Propriétés de la connexion SQL Server, sous l’onglet Accès aux bases de données, spécifiez la base de données d’administration, puis sélectionnez le rôle db_datareader.
  5. Spécifiez la base de données SQL Server du Data Warehouse, puis attribuez les rôles suivants : db_datareader, db_datawrite et db_ddladmin.
  6. Cliquez sur OK.

Pour plus d’informations, consultez la documentation en ligne de SQL Server.

Pour attribuer le compte du service Predictor au rôle Administrateurs

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Outils d’administration, puis cliquez sur Services de composants.
  2. Développez Services de composants, Ordinateurs, Poste de travail, Applications COM+, Commerce Server Config, Rôles, puis Administrators.
  3. Cliquez avec le bouton droit sur Utilisateurs, sélectionnez Nouveau, puis Utilisateur.
  4. Dans la boîte de dialogue Sélectionnez Utilisateurs ou Groupes, dans la zone Rechercher dans, sélectionnez le compte du service Predictor, par exemple CSPred.
  5. Cliquez sur OK.

Octroi d’autorisations d’exécution de la tâche DTS Générateur de modèles

Pour pouvoir exécuter la tâche DTS Générateur de modèles, vous devez d’abord ajouter votre compte au contexte de sécurité du composant de service Predictor, c’est-à-dire à la liste des comptes d’utilisateur autorisés à appeler le service Predictor.

Si vous configurez la tâche Générateur de modèles afin qu’elle s’exécute selon une planification, vous devez également ajouter le compte de l’Agent SQL à la liste des comptes d’utilisateur autorisés à appeler le service Predictor.

Pour ajouter votre compte au contexte de sécurité de Predictor

  1. Cliquez sur Démarrer, sur Exécuter, tapez Dcomcnfg, puis appuyez sur ENTRÉE.
  2. Sous l’onglet Applications, sélectionnez Service Microsoft Commerce Server Predictor, puis cliquez sur Propriétés.
  3. Sous l’onglet Sécurité, sélectionnez Utiliser les autorisations d’accès personnalisées, puis cliquez sur Modifier.
  4. Dans la boîte de dialogue Autorisations - Valeur du Registre, cliquez sur Ajouter.
  5. Ajoutez le compte d’utilisateur qui doit exécuter la tâche Générateur de modèles, puis sélectionnez Permettre l’accès dans la zone Type d’accès.
  6. Le groupe Administrateurs doit disposer du droit Ouvrir une session en tant que service.
  7. Cliquez sur OK pour enregistrer vos modifications, cliquez sur OK pour quitter la boîte de dialogue Propriétés, puis cliquez à nouveau sur OK pour quitter Dcomcnfg.
  8. Redémarrez le service Predictor.

Configuration des chaînes de connexion de la ressource Predictor

Si vous construisez des modèles sur une base de données autre que celle du Data Warehouse, vous devez configurer une chaîne de connexion de la ressource Predictor à la base de données externe.

Il est recommandé de toujours configurer la chaîne de connexion de la ressource Predictor à une base de données externe pour utiliser l’authentification Windows.

Lorsque vous configurez la ressource Predictor pour utiliser l’authentification Windows, le compte utilisé par la ressource Predictor doit être membre des rôles suivants sur la base de données externe :

  • db_datareader
  • db_datawriter
  • db_ddladmin

Si le service Predictor se trouve sur un ordinateur et la base de données externe sur un autre, le compte du service Predictor doit être un compte d’utilisateur de domaine.

Pour configurer la chaîne de connexion de la ressource Predictor pour utiliser l’authentification Windows

  1. Développez Gestionnaire Commerce Server, puis Ressources globales, cliquez avec le bouton droit sur Predictor on <nom_serveur>, et cliquez sur Propriétés.
  2. Sous l’onglet Chaînes de connexion de la boîte de dialogue Propriétés de Predictor on <nom_serveur>, sélectionnez Utiliser la base de données externe, puis cliquez sur Modifier.
  3. Dans la boîte de dialogue Propriétés des liaisons de données, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Sélectionner ou taper un nom de serveur | Sélectionner le nom du serveur contenant la base de données du Data Warehouse à laquelle vous souhaitez accéder ou la base de données externe.
    Utiliser la sécurité intégrée de Windows NT | Cliquer afin d’utiliser l’authentification Windows pour la base de données externe (et non la base de données du Data Warehouse).
    Sélectionner la base de données sur le serveur | Taper le nom de la base de données à laquelle vous voulez accéder.
  4. Cliquez sur OK.

Exécution du script SegmentViewer pour sécuriser les tables Predictor

Au cours de cette étape, vous exécutez le script SegmentViewer sur la base de données SQL Server du Data Warehouse. Ce script crée le rôle SegmentViewer sur le Data Warehouse et accorde au rôle les autorisations appropriées pour utiliser le module Identification de segments dans Business Desk.

Les tables de Predictor résident dans la base de données du Data Warehouse. Le tableau suivant répertorie les tables Predictor, ainsi que les autorisations nécessaires aux administrateurs systèmes et aux chefs d’entreprise.

Table Autorisations pour les administrateurs système Autorisations pour les chefs d’entreprise
PredictorDataTables
 Accès complet Sélectionner
Mettre à jour
PredictorModelCfgs
 Accès complet Sélectionner
Mettre à jour
PredictorModels
 Accès complet Sélectionner
Mettre à jour
*PredictorAttribute_<model_config>
 Accès complet Sélectionner

*Il existe une table PredictorAttribute_<model_config> par configuration de modèle. Elle est créée lors de la première construction d’un modèle.

Les administrateurs système doivent disposer d’un accès complet à ces tables lorsqu’ils exécutent la tâche DTS Générateur de modèles. Les utilisateurs Business Desk doivent disposer d’autorisation de sélection pour pouvoir manipuler les segments à l’aide du module Identification de segments dans Business Desk.

Remarque

  • Il est recommandé d’utiliser des comptes différents pour l’exécution du service Predictor et des tâches DTS Générateur de modèles. Si les deux comptes sont attribués au groupe Administrateurs, la tâche Générateur de modèles échoue suite à une erreur liée à un refus d’autorisation.

Pour plus d’informations sur la création de groupes Windows, l’attribution de comptes Windows aux groupes et l’attribution des groupes Windows aux rôles SQL Server de ces tables, consultez Attribution de rôles de base de données SQL Server.

Pour exécuter le script SegmentViewer

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Microsoft SQL Server, puis cliquez sur Analyseur de requêtes SQL.
  2. Dans la boîte de dialogue Connexion à SQL Server, spécifiez le serveur SQL approprié.
  3. Dans l’Analyseur de requêtes, sélectionnez la base de données SQL Server du Data Warehouse dans la liste déroulante.
  4. Cliquer sur Fichier, puis sur Ouvrir.
  5. Naviguez vers les scripts situés dans le dossier Program Files\Microsoft Commerce Server\Support et sélectionnez SegmentViewer.

    Le script s’ouvre et le code s’affiche dans la fenêtre de l’Analyseur de requêtes.

  6. Dans la barre d’outils, cliquez sur Exécuter pour exécuter le script sur le Data Warehouse.

    Le rôle SegmentViewer est créé.

  7. Une fois le rôle créé, attribuez-lui le compte de groupe Business Desk approprié. Pour connaître les instructions à suivre, consultez Attribution de rôles de base de données SQL Server.

Sécurisation du modèle Predictor déployé sur le serveur Web

Les étapes à effectuer pour sécuriser un déploiement de Predictor varient selon que le modèle Predictor réside dans un fichier ou dans une base de données sur le serveur Web.

  • Base de données. Si vous copiez les tables Predictor du Data Warehouse vers une base de données située sur le serveur Web, vous devez accorder des autorisations de sélection aux comptes anonymes. Dans les services IIS, le compte d’utilisateur anonyme est IUSR_<nom_ordinateur> et le compte de l’ordinateur est IWAM_<nom_ordinateur>.

    Si votre site est basé sur ASP.NET, vous devez accorder ces autorisations de sélection au compte anonyme utilisé par les sites ASP.NET : le compte ASPNET.

  • Fichier. Si vous copiez le modèle Predictor sur le serveur Web sous la forme d’un fichier, vous devez le sécuriser à l’aide de listes de contrôle d’accès (ACL). Accordez l’accès en lecture à Tout le monde. Pour connaître les instructions à suivre, consultez l’aide de Windows 2000.

Octroi d’autorisations d’utilisation des modules Identification de segments et Listes des affinités

Vous devez utiliser le module Autorisations de Business Desk pour accorder aux utilisateurs Business Desk l’accès aux modules Identification de segments et Listes des affinités. Vous pouvez spécifier les utilisateurs Business Desk qui peuvent ouvrir les modules et ceux qui peuvent effectuer des tâches spécifiques à l’aide de ceux-ci. Par exemple, vous pouvez spécifier les tâches suivantes :

  • Module Identification de segments : Ouvrir, enregistrer les étiquettes de segment, créer un rapport, exporter les listes d’utilisateurs vers le module Gestionnaire de listes
  • Module Listes des affinités : Ouvrir, exporter les listes des affinités vers le module Gestionnaire de listes

Pour obtenir des instructions détaillées sur l’utilisation du module Autorisations afin d’accorder l’accès aux modules Identification de segments et Listes des affinités, consultez Définition d'autorisations Business Desk pour des comptes Windows.


Sécurisation de votre réseau

Pour obtenir des informations détaillées sur la sécurisation de votre réseau, consultez Déploiement d’un site sécurisé.

Pour implémenter la protection réseau dans un site d’e-commerce, vous devez utiliser les éléments de sécurité suivants :

  • Activation de SSL sur un site Commerce Server
  • Utilisation d’un système de détection des intrusions


Activation de SSL sur un site Commerce Server

Dans un site d’e-commerce, vous traitez des informations à caractère sensible, telles que les numéros de carte de crédit des clients. Ces données doivent être cryptées et transmises sur un canal sécurisé. L’implémentation d’un transfert de données sécurisé nécessite l’utilisation de SSL (Secure Sockets Layer).

Pour implémenter cette fonctionnalité, vous devez obtenir un certificat numérique et l’installer sur vos serveurs. Vous pouvez demander un certificat numérique auprès d’une des autorités de certification. Citons comme exemples d’autorités de certification commerciales connues VeriSign, CyberTrust et GTE.

SSL est un modèle destiné aux protocoles tels que HTTP (appelé HTTPS s’il est sécurisé), FTP et NNTP (Network News Transfer Protocol). Si vous utilisez SSL pour transmettre les données :

  • Les données sont cryptées.
  • Une connexion sécurisée est établie entre les serveurs source et de destination.
  • L’authentification du serveur est activée.

Pour activer SSL sur un site Commerce Server

  1. Dans le Gestionnaire des services Internet, utilisez l’Assistant Certificat de serveur Web pour installer et configurer un certificat de serveur sur votre serveur Web. Pour connaître les instructions à suivre, consultez « Configuration de SSL sur votre serveur » dans la documentation des services IIS 5.0.
  2. Dans le Gestionnaire Commerce Server, développez Sites de commerce, puis cliquez sur le site que vous voulez administrer.
  3. Développez Applications, cliquez avec le bouton droit sur l’application à configurer, puis cliquez sur Propriétés.
  4. Dans la boîte de dialogue Propriétés de <application>, sous l’onglet Général, sélectionnez Activer HTTPS.
  5. Sous l’onglet Serveurs Web, cliquez sur Synchroniser les valeurs pour copier les propriétés du port SSL d’IIS vers la base de données d’administration Commerce Server.

    La valeur par défaut du port SSL est 443. Si vous disposez ici d’une valeur autre que 443, vous devez taper cette valeur dans la zone Nom d’hôte sécurisé sous l’onglet Général (par exemple, www.microsoft.com:441)

Remarque

  • Lorsque vous modifiez une propriété dans le Gestionnaire Commerce Server, vous devez redémarrer tous les services utilisant ces valeurs. Pour connaître les instructions à suivre, consultez Redémarrage des services IIS et Commerce Server.

Voir aussi

Déploiement d’un site sécurisé

Configuration d’une application

Configuration d’un serveur Web

Configuration des propriétés de la ressource CS Authentication


Utilisation d'un système de détection des intrusions

Envoyer des commentaires sur cette page Commerce Server 2002

Utilisation d’un système de détection des intrusions

Un système de détection des intrusions (IDS, Intrusion Detection System) permet d’identifier les signatures ou schémas d’attaques, de générer des alarmes pour avertir les techniciens et de contraindre les routeurs à mettre fin aux connexions avec les sources hostiles. Ces systèmes peuvent également empêcher les attaques de type refus de service.

Ce type d’attaque se produit lorsqu’un agresseur envoie des fragments de requêtes TCP masqués sous la forme de demandes TCP légitimes, ou envoie des demandes à partir d’une source IP erronée. Le serveur ne peut pas traiter un tel nombre de demandes et affiche un message indiquant une attaque de type refus de service à l’intention des utilisateurs légitimes du site. Un IDS fournit une analyse en temps réel du trafic réseau et implémente l’approche « prévenir, détecter et réagir » pour la sécurité.

Vous devez implémenter un IDS en face d’un pare-feu dans chaque domaine de sécurité. Même si les IDS sont nécessaires à la sécurité, tenez compte des problèmes suivants associés à leur utilisation :

  • Ils entraînent un traitement intensif et peuvent affecter les performances de votre site.
  • Ils sont onéreux.
  • Un IDS peut parfois prendre le trafic réseau normal pour une agression hostile et entraîner des alarmes superflues.

Une série d’outils tiers sont disponibles pour la détection des intrusions. Par exemple, vous pouvez utiliser NetRanger de Cisco ou RealSecure d’ISS pour analyser le trafic réseau en temps réel. L’amélioration et le développement de la technologie IDS est un processus permanent au sein du secteur informatique.

Voir aussi

Prévention des attaques de type refus de service


Sécurisation de votre serveur Web

Les autorisations de serveur Web IIS peuvent être définies pour limiter l’accès des utilisateurs anonymes à vos applications, et peuvent également être utilisées pour limiter la visualisation du code source sur Internet, même aux utilisateurs disposant d’autorisations Windows (ou d’entrées de contrôle d’accès).

Vous trouverez ci-dessous les différences entre les autorisations de serveur Web et les autorisations NTFS :

  • Les autorisations de serveur Web s’appliquent à tous les utilisateurs qui accèdent à vos sites Web.
  • Les autorisations NTFS ne s’appliquent qu’à un utilisateur spécifique ou à un groupe d’utilisateurs disposant d’un compte Windows valide. NTFS contrôle l’accès aux répertoires physiques sur votre serveur, alors que les autorisations de serveur Web contrôlent l’accès aux répertoires virtuels sur votre site Web.

Quand vous utilisez le Gestionnaire de package de site pour compresser un site, il sélectionne les autorisations de serveur Web telles qu’elles sont définies dans le site source. Par exemple, si le paramètre Autorisations d’exécution est défini sur « Scripts et exécutables » dans le dossier racine de l’application sur l’ordinateur source, le dossier racine virtuel sur l’ordinateur de destination aura le même paramètre.

Par exemple, le tableau suivant décrit comment les autorisations IIS sont définies dans les sites solutions de Commerce Server.

Dossier | Autorisations
Root | Autorisation d’exécution définie à Scripts et exécutables.
Pipeline, Include, Template | Refus de l’autorisation de lecture, écriture et exécution.

Cette section contient les rubriques suivantes :

  • Sécurisation d’une application non-Business Desk


Sécurisation d'une application non-Business Desk

Envoyer des commentaires sur cette page Commerce Server 2002

Sécurisation d’une application non-Business Desk

Lorsque vous décompressez une application non-Business Desk, si vous utilisez un fichier script Unpack.vbs que vous avez créé, vous devez supprimer ou sécuriser le fichier immédiatement après la décompression. Le fichier existe dans le répertoire racine et les utilisateurs anonymes peuvent y accéder. L’utilisation non autorisée de ce script pourrait conduire au refus de service ou à l’altération des paramètres de site.

La présence du fichier Unpack.vbs est nécessaire si vous recompressez le site.

Le Gestionnaire de package de site Commerce Server n’affecte pas les listes de contrôle d’accès (ACL) Windows.

Après avoir décompressé un site, vous devez verrouiller certains fichiers et dossiers de votre site Commerce Server en modifiant leurs autorisations. Vous pouvez également limiter l’accès aux fichiers en définissant des autorisations de serveur Web. Pour plus d’informations, consultez Définition des autorisations de serveur Web.

Dans les sites solutions Commerce Server, le fichier Unpack.vbs est sécurisé par défaut.


Informations supplémentaires sur la sécurité

Pour les publications d’outils de sécurité et de service packs, consultez le site Web Microsoft Security à l’adresse http://go.microsoft.com/fwlink/?LinkId=6679.

Il est vivement recommandé, avant de développer et de déployer votre site, de lire les ouvrages suivants sur la sécurité :

  • Writing Secure Code, de Michael Howard et David LeBlanc (Microsoft Press, 2002).
    ISBN 0-7356-1588-8
  • Designing Secure Web-Based Applications for Microsoft Windows 2000, de Michael Howard, Marc Levy et Richard Waymire (Microsoft Press, 2000). ISBN 0-7356-0995-0

Les livres suivants constituent de bonnes ressources et leur lecture est au programme du certificat MCSE (Microsoft Certified Systems Engineer) :

  • MCSE Training Kit : Designing Microsoft Windows 2000 Network Security (Microsoft Press, 2001), ISBN 0-7356-1134-3. Ce livre est au programme du certificat Microsoft Certified Systems Engineer.
  • MCSE Training Kit : Microsoft Internet Security and Acceleration Server 2000, de J.C. Mackin (Microsoft Press, 2001), ISBN 0-7356-1347-8.
  • MCSE Training Kit : Designing Highly Available Web Solutions with Microsoft Windows 2000 Server Technologies (Microsoft Press, 2001), ISBN 0-7356-1425-3.


Authentification des utilisateurs

Commerce Server exploite les fonctionnalités de sécurité de Windows 2000, telles que les listes de contrôle d’accès (ACL) et l’authentification Windows. Commerce Server fournit également des fonctionnalités d’authentification, qui lui sont uniques et qui permettent d’étendre les fonctions de la sécurité Windows.

Cette section contient les rubriques suivantes :

  • Concepts d’authentification. Décrit les tickets d’authentification, les cookies, la ressource CS Authentication et le fichier Csapp.ini.
  • Méthodes conseillées pour l’authentification. Indique des recommandations pour utiliser Active Directory, AuthFilter, pour sécuriser les mots de passe et pour utiliser les comptes proxy.
  • Comparaison entre AuthFilter et AuthManager. Décrit les différences entre les fonctionnalités d’AuthFilter et d’AuthManager.
  • AuthFilter. Explique comment utiliser AuthFilter pour la prise en charge d’une connexion unique et comment l’utiliser avec les sites solutions Retail et Supplier, ainsi qu’avec un site .NET.
  • AuthManager. Décrit l’objet AuthManager et présente une figure illustrant la façon dont AuthManager traite une demande.
  • Mode d’authentification Windows. Explique comment utiliser AuthFilter dans le mode d’authentification Windows.
  • Mode Authentification personnalisée. Explique comment utiliser AuthFilter dans le mode Authentification personnalisée.
  • Mode Création de cookie automatique. Explique comment utiliser AuthFilter dans le mode Création de cookie automatique.
  • Authentification Windows et mode Création de cookie automatique. Explique comment utiliser AuthFilter dans les modes d’authentification Windows et Création de cookie automatique.
  • Authentification personnalisée et mode Création de cookie automatique. Explique comment utiliser AuthFilter dans les modes Authentification personnalisée et Création de cookie automatique.
  • Configuration de la ressource CS Authentication. Explique les propriétés de la ressource CS Authentication.
  • Authentification de base Outlook Web Access de Microsoft Exchange 2000. Explique comment utiliser AuthFilter et l’authentification de base Outlook Web Access de Microsoft Exchange 2000.
  • Définition du mode de sécurité sur le contrôleur de domaine. Explique comment activer les Utilisateurs du domaine, qui sont requis pour utiliser le mode d’authentification Windows sur un site Commerce Server.
  • Génération d’une nouvelle clé de cryptage de cookie. Explique comment générer une nouvelle clé de cryptage de cookie pour crypter et décrypter les données de cookie.
  • Cryptage par clé tournante pour les tickets d’authentification. Explique comment utiliser la fonctionnalité de cryptage par clé tournante pour modifier la clé de cryptage, qui sert à crypter et décrypter les tickets d’authentification d’un site.
  • Configuration de la page Login.asp pour l’utilisation d’un GUID. Explique comment mettre à jour votre page Login.asp pour ajouter une propriété personnalisée nommée guid, qui contient une chaîne d’identificateur global unique (GUID, Globally Unique Identifier) dans le ticket d’un utilisateur, afin de protéger votre site contre les attaques de type DDoS (Distributed Denial of Service).
  • Intégration à Passport. Explique comment intégrer Commerce Server aux services Passport Achats Express et Passport connexion unique.


Concepts d'authentification

Envoyer des commentaires sur cette page Commerce Server 2002

Concepts d’authentification

L’authentification représente le processus de validation des informations d’identification des utilisateurs. Lorsque des utilisateurs se connectent à votre site, leurs informations d’identification sont comparées à une liste autorisée ; si Commerce Server trouve une correspondance, l’accès à votre site est accordé.

Les informations d’identification des utilisateurs peuvent être représentées par la combinaison d’un nom d’utilisateur et d’un mot de passe, un certificat ou un ticket d’authentification ; ces informations peuvent être contenues dans un cookie ou codées dans l’adresse URL. Après que des utilisateurs se sont déconnectés d’un site, l’authentification expire ; par conséquent, ils doivent s’authentifier à nouveau lorsqu’ils reviennent sur votre site.

Commerce Server comprend la ressource CS Authentication, qui vous permet de déterminer le mode d’implémentation des tickets sur votre site. Vous pouvez configurer les propriétés de la ressource CS Authentication dans le Gestionnaire Commerce Server.

Cette section contient les rubriques suivantes :

  • Tickets d’authentification
  • Cookies Commerce Server
  • Ressource CS Authentication
  • Valeurs du fichier Csapp.ini pour l’authentification


Tickets d'authentification

Envoyer des commentaires sur cette page Commerce Server 2002

Tickets d’authentification

Commerce Server utilise des tickets d’authentification pour authentifier les utilisateurs qui visitent votre site. Un ticket d’authentification est un mécanisme qui permet d’authentifier les utilisateurs. Il comprend une paire propriété/valeur telle que userID et la valeur de userID. Par exemple, userID/JeanUtilisateur est une paire propriété/valeur contenue dans un ticket d’authentification.

Un ticket Commerce Server contient des informations sur un utilisateur qui visite votre site, par exemple l’ID de connexion, l’heure à laquelle l’utilisateur a visité votre site pour la dernière fois, ainsi que la durée de validité du ticket. Commerce Server utilise des tickets pour identifier et authentifier les utilisateurs, ainsi que pour associer les identificateurs d’utilisateurs aux informations de profil collectées à leur sujet.

Commerce Server utilise deux types de tickets d’authentification : les tickets MSCSProfile et les tickets MSCSAuth. Lorsqu’un utilisateur accède à votre site pour la première fois, Commerce Server lui crée un ticket MSCSProfile et écrit ce dernier dans l’en-tête HTTP. Lorsqu’un utilisateur inscrit est authentifié, Commerce Server crée un ticket MSCSAuth et l’écrit dans l’en-tête HTTP. Les deux tickets peuvent être stockés dans un cookie ou codés dans la chaîne de requête d’adresse URL.

Cette section contient les rubriques suivantes :

Tickets MSCSProfile

Tickets MSCSAuth

Tickets pour l’inscription des utilisateurs anonymes

Caractéristiques des tickets MSCSAuth et MSCSProfile


Tickets MSCSProfile

Commerce Server utilise les tickets MSCSProfile pour identifier et effectuer le suivi des utilisateurs anonymes qui visitent votre site. Les tickets MSCSProfile sont stockés dans des cookies persistants pour les utilisateurs qui autorisent les cookies persistants. Si les utilisateurs n’autorisent pas les cookies persistants, le ticket MSCSProfile est codé dans l’adresse URL.

Lorsqu’un ticket MSCSProfile est stocké dans un cookie persistant, vous pouvez déterminer la durée de validité (plusieurs années généralement) du ticket MSCSProfile en configurant la propriété Date d’expiration du cookie de profil de la ressource CS Authentication. Pour plus d’informations sur les cookies persistants, consultez Cookies Commerce Server.

Si MSCSProfile est stocké dans un cookie persistant, le ticket demeure sur l’ordinateur client après la fermeture de la session. Le cookie persistant demeure, sauf si l’utilisateur décide de le supprimer.

Il est recommandé d’utiliser uniquement les tickets MSCSProfile pour les utilisateurs anonymes. N’authentifiez jamais un utilisateur à l’aide d’un ticket MSCSProfile car ce dernier est stocké dans un cookie persistant. Prenons l’exemple du scénario d’un kiosque public : si vous authentifiez un utilisateur à l’aide d’un ticket MSCSProfile, l’utilisateur suivant peut accéder aux pages auxquelles le précédent utilisateur a eu accès.

N’utilisez jamais un ticket MSCSProfile pour permettre l’accès à des informations personnelles sensibles, telles que des numéros de carte de crédit ou de sécurité sociale. Utilisez plutôt les tickets MSCSProfile à des fins de personnalisation (par exemple pour souhaiter la bienvenue de manière nominative), pour offrir des préférences (en matière de langue d’interface utilisateur ou d’affichage) ou pour suivre la navigation des utilisateurs anonymes sur votre site.

Remarque

  • N’utilisez pas de tickets non cryptés. Si les tickets ne sont pas cryptés, des pirates peuvent facilement détourner leur utilisation en synthétisant l’identificateur d’utilisateur ; dès lors, ces pirates peuvent usurper l’identité des utilisateurs légitimes qui visitent votre site.

Voir aussi

Tickets MSCSAuth

Tickets pour l’inscription des utilisateurs anonymes

Caractéristiques des tickets MSCSAuth et MSCSProfile

Cryptage par clé tournante pour les tickets d’authentification

Cryptage des cookies


Tickets MSCSAuth

Commerce Server utilise des tickets MSCSAuth pour l’identification et le suivi des utilisateurs inscrits et authentifiés.

Les tickets MSCSAuth peuvent être stockés dans des cookies de session ou codés dans l’adresse URL. À la fin de chaque session, le navigateur supprime automatiquement les cookies de session ; en outre, l’utilisateur doit renouveler son authentification lorsqu’il revisite le site.

La méthode d’authentification de Commerce Server, la méthode IsAuthenticated, recherche si le ticket MSCSAuth existe, puis vérifie que ce dernier est bien valide et que l’heure d’accès se situe effectivement dans les limites de la durée de validité du ticket.

Remarque

  • N’utilisez pas de tickets non cryptés. Si les tickets ne sont pas cryptés, des pirates peuvent facilement détourner leur utilisation en synthétisant l’identificateur d’utilisateur ; dès lors, ces pirates peuvent usurper l’identité des utilisateurs légitimes qui visitent votre site.

Voir aussi

Tickets MSCSProfile

Tickets pour l’inscription des utilisateurs anonymes

Caractéristiques des tickets MSCSAuth et MSCSProfile

Cryptage par clé tournante pour les tickets d’authentification

Cryptage des cookies


Tickets pour l'inscription des utilisateurs anonymes

Envoyer des commentaires sur cette page Commerce Server 2002

Tickets pour l’inscription des utilisateurs anonymes

Un utilisateur qui visite un site de manière anonyme reçoit un ticket MSCSProfile. Lorsqu’un utilisateur anonyme s’inscrit sur votre site, il reçoit un ticket MSCSAuth. L’utilisateur possède à présent deux tickets : un ticket MSCSProfile et un ticket MSCSAuth, tous deux contenus dans l’en-tête HTTP. L’ordre des tickets dans l’en-tête HTTP est inconnu et peut varier entre les demandes. AuthFilter en tient compte et recherche automatiquement tous les cookies des tickets MSCSProfile et MSCSAuth.

Deux tickets dans le fichier journal Web

Les deux cookies sont consignés dans le fichier journal Web dans l’ordre de leur apparition dans l’en-tête de demande HTTP. La tâche DTS Importation de journal de serveur Web importe le premier cookie trouvé. Il arrive que la tâche DTS détecte deux utilisateurs au lieu d’un seul, lorsqu’elle trouve des accès dans le fichier journal et que les cookies ne se présentent pas dans le même ordre. Ceci compromet le suivi de l’utilisateur et peut produire des erreurs de calcul en matière de visites et d’utilisateurs. Si deux tickets existent pour une entrée de journal spécifique, la tâche DTS utilise le ticket MSCSProfile.

Solution recommandée

Pour contourner le problème décrit ci-dessus, vous pouvez effectuer les opérations suivantes :

  1. Mappez les identificateurs d’utilisateurs des tickets MSCSAuth et MSCSProfile vers un identificateur d’utilisateur commun.
  2. Durant l’authentification, vérifiez que l’identificateur d’utilisateur du ticket MSCSProfile correspond à l’identificateur d’utilisateur du ticket MSCSAuth. Si les identificateurs d’utilisateurs ne correspondent pas, vous devez mettre à jour l’identificateur d’utilisateur du ticket MSCSProfile.

Voir aussi

Authentification Windows et mode Création de cookie automatique

Authentification personnalisée et mode Création de cookie automatique

Mode Création de cookie automatique

Cryptage par clé tournante pour les tickets d’authentification

Authentification Commerce Server

Cookies Commerce Server

Importation de cookies

Exécution de la tâche DTS Importation de journal de serveur Web


Caractéristiques des tickets MSCSAuth et MSCSProfile

Le tableau suivant répertorie les principales caractéristiques des tickets MSCSAuth et MSCSProfile.

Caractéristique | MSCSAuth | MSCSProfile
Type d’utilisateur | Attribué aux utilisateurs inscrits. Dans ce contexte, « inscrits » fait référence aux utilisateurs qui ont correctement effectué le processus d’inscription du site correspondant. | Attribué aux utilisateurs anonymes.
Stockage | Stocké sous forme de cookie de session ou codé dans la chaîne d’adresse URL. Il est valide pendant toute la durée de la session ou une durée spécifique, puis il est supprimé. | Stocké sous forme de cookie persistant sur l’ordinateur de l’utilisateur. Si le ticket MSCSProfile est codé dans la chaîne d’adresse URL, il n’est pas stocké ; par conséquent, il n’est pas conservé après la fin de la session.
Contenu | Contient un identificateur d’utilisateur unique, l’heure de la dernière connexion, la durée de validité et des propriétés personnalisées facultatives. | Contient un identificateur d’utilisateur unique et des propriétés personnalisées facultatives.

Voir aussi

Tickets MSCSProfile

Tickets MSCSAuth

Tickets pour l’inscription des utilisateurs anonymes

Cryptage par clé tournante pour les tickets d’authentification

Cookies Commerce Server


Cookies Commerce Server

Commerce Server crée des cookies persistants et des cookies de session, également appelés cookies non persistants. Commerce Server utilise les cookies persistants pour effectuer le suivi des utilisateurs anonymes qui visitent votre site. Il utilise des cookies de session pour effectuer le suivi des utilisateurs authentifiés qui visitent votre site.

Cette section contient les rubriques suivantes :

  • Cookies persistants
  • Cookies de session
  • Résumé des fonctionnalités des cookies


Cookies persistants

Commerce Server utilise les cookies persistants pour effectuer le suivi des utilisateurs anonymes qui visitent votre site. Pour les utilisateurs anonymes qui autorisent les cookies, les cookies persistants sont stockés sur leur ordinateur.

Lorsque vous configurez la ressource CS Authentication, vous déterminez la durée de validité du cookie persistant. Par défaut, les cookies persistants sont valides jusqu’au 15 janvier 2038.

Un cookie persistant peut contenir le ticket MSCSProfile. Ou bien, le ticket MSCSProfile peut être codé dans l’adresse URL.

Les cookies persistants contiennent l’identificateur d’utilisateur. Vous pouvez déterminer la valeur servant d’identificateur d’utilisateur. Par exemple, vous pouvez utiliser un identificateur global unique (GUID, Globally Unique Identifier) généré par l’une de vos pages ASP. (Commerce Server inclut l’objet GenID, qui permet de générer des GUID.) Si l’utilisateur anonyme s’inscrit sur le site et qu’il devient un utilisateur authentifié, ce GUID peut être transféré vers son cookie de session.

Remarque

  • Vous pouvez ajouter des propriétés personnalisées aux cookies persistants. Cependant, ne stockez pas d’informations sensibles dans les cookies, par exemple des numéros de carte de crédit ou de sécurité sociale. Vous prendriez un risque important en matière de sécurité.

Voir aussi

Tickets d’authentification

Cookies persistants

Résumé des fonctionnalités des cookies

Cryptage par clé tournante pour les tickets d’authentification


Cookies de session

Commerce Server utilise des cookies de session pour effectuer le suivi des utilisateurs authentifiés qui visitent votre site. Une fois la session terminée, Commerce Server supprime ces cookies de session.

Un cookie de session peut contenir le ticket MSCSAuth. Ou bien, le ticket MSCSAuth peut être codé dans l’adresse URL.

Les cookies de session contiennent les données suivantes :

  • Identificateur d’utilisateur. Il sert à identifier l’utilisateur de manière unique. Vous pouvez déterminer la valeur à utiliser comme identificateur d’utilisateur.
  • Heure de la dernière connexion. Il s’agit de l’enregistrement de l’heure à laquelle l’utilisateur a accédé au site.
  • Durée de validité. Il s’agit de la durée de validité, en minutes, d’un cookie de session. Si un utilisateur est authentifié, qu’il cesse de travailler sur son ordinateur sans se déconnecter (ou qu’il est inactif pendant un certain laps de temps), puis qu’il revient avant la fin de la durée de validité, cet utilisateur n’a pas besoin de s’authentifier à nouveau. Toutefois, si cet utilisateur revient après la fin de la durée de validité, il doit de nouveau se connecter.

Remarque

  • Vous pouvez ajouter des propriétés personnalisées aux cookies de session. Cependant, ne stockez pas d’informations sensibles dans les cookies, par exemple des numéros de carte de crédit ou de sécurité sociale. Vous prendriez un risque important en matière de sécurité.

Voir aussi

Tickets d’authentification

Cookies de session

Résumé des fonctionnalités des cookies


Résumé des fonctionnalités des cookies

Vous pouvez utiliser des cookies dans Commerce Server pour appliquer des fonctionnalités spécifiques à votre site.

Cryptage des cookies

Vous pouvez configurer Commerce Server pour crypter à la fois les cookies persistants et les cookies de session générés par votre site. En cryptant les cookies, vous avez l’assurance que seules vos applications Commerce Server pourront les lire.

Les cookies sont cryptés par défaut sur les sites solutions Commerce Server. Néanmoins, vous pouvez désactiver ce cryptage, pour effectuer du débogage par exemple. Ne désactivez jamais le cryptage d’un cookie sur un site de production.

Pour désactiver le cryptage, dans la ressource CS Authentication, affectez la valeur 0 à la propriété Activer le cryptage. Pour plus d’informations, consultez Configuration de la ressource CS Authentication.

Pour obtenir des instructions sur le cryptage de la clé des données de cookie, consultez Génération d’une nouvelle clé de cryptage de cookie.

Partager les cookies entre les domaines

Vous pouvez configurer Commerce Server pour permettre le partage des cookies entre différents domaines. Chaque cookie possède une propriété de domaine qui détermine le domaine dans lequel il est valide. Pour plus d’informations sur le partage des cookies entre des domaines, consultez Prise en charge de la connexion unique par AuthFilter.

Remarque

  • Si vous utilisez les protocoles SSL (Secure Socket Layers) et HTTPS (Secure Hypertext Transfer Protocol) pour une application, l’étendue du domaine est créée à partir du nom d’hôte sécurisé. Si vous utilisez HTTP, l’étendue du domaine est créée à partir du nom d’hôte non sécurisé. Pour plus d’informations sur la configuration du nom d’hôte sécurisé et du nom d’hôte non sécurisé pour une application, consultez Configuration d’une application.

Partager les cookies entre les applications

Vous pouvez configurer Commerce Server pour permettre le partage des cookies entre les applications du même site.

Dans certains cas, il peut être souhaitable de ne pas partager les cookies entre applications du même site, car la présence de cookies peut influer sur les résultats d’analyse de l’activité des utilisateurs de votre site. Par exemple, vous possédez un site qui vend des fournitures de bureau. Si vous partagez des cookies entre une application de vente en gros et une application de vente au détail, vos résultats d’analyse ne vont pas différencier l’activité des utilisateurs entre ces deux applications. Les achats effectués sur le site de vente en gros peuvent montrer qu’un utilisateur achète des fournitures de bureau en très grande quantité, alors que le site de vente au détail peut montrer que les utilisateurs achètent leurs fournitures en petite quantité.

Pour plus d’informations sur le partage des cookies entre des applications, consultez Activation du partage de cookie entre les applications.

Voir aussi

Configuration d’une application

Génération d’une nouvelle clé de cryptage de cookie

Gestion des propriétés de profil cryptées

Prise en charge de la connexion unique par AuthFilter

Tickets d’authentification


Ressource CS Authentication

La ressource CS Authentication est une collection de propriétés, comprenant les propriétés utilisées pour configurer l’objet AuthManager et AuthFilter. La ressource CS Authentication vous permet de configurer un site Commerce Server au niveau global et au niveau de l’application. Vous ne définissez pas de propriétés de la ressource CS Authentication au niveau du site.

Ne confondez pas la ressource CS Authentication et l’authentification Commerce Server, qui se compose des outils AuthFilter et AuthManager.

Propriétés d’authentification au niveau global

Au niveau global, vous définissez les propriétés de la ressource globale CS Authentication. Ces propriétés d’authentification sont utilisées par tous les sites Commerce Server qui utilisent cette ressource CS Authentication spécifique. Pour connaître les instructions à suivre, consultez Configuration de la ressource CS Authentication.

Pour chaque site, il existe un pointeur de ressource globale vers la ressource CS Authentication. Plusieurs sites peuvent partager la même ressource globale CS Authentication.

Propriétés d’authentification au niveau de l’application

Au niveau de l’application (dans le Gestionnaire Commerce Server, cliquez avec le bouton droit sur l’application), vous définissez les propriétés d’authentification utilisées uniquement par cette application. Pour connaître les instructions à suivre, consultez Configuration d’une application.

En outre, si vous développez un site en utilisant un site solution Commerce Server, vous pouvez configurer les propriétés d’authentification du site dans la ressource configuration par défaut de l’application. Pour plus d’informations sur les propriétés de configuration par défaut de l’application, consultez App Default Config Settings for Solution Sites (en anglais).

Remarques

  • La propriété Délai d’expiration du ticket d’authentification AuthManager, qui est configurée au niveau de configuration par défaut de l’application via le Gestionnaire Commerce Server, n’est pas utilisée par AuthFilter. Cette propriété est utilisée par AuthManager pour obtenir le délai d’expiration des tickets MSCSAuth.
  • Si vous avez effectué une mise à niveau à partir de Commerce Server 2000, la propriété Durée de validité du ticket s’affiche dans la boîte de dialogue des propriétés de la ressource CS Authentication. Cependant, Commerce Server 2002 n’utilise pas cette propriété.

Voir aussi

  • Configuration de la ressource CS Authentication
  • Configuration d’une application
  • Configuration de la ressource Configuration par défaut de l’application.
  • Comparaison entre AuthFilter et AuthManager
  • AuthFilter
  • AuthManager


Valeurs du fichier Csapp.ini pour l'authentification

Envoyer des commentaires sur cette page Commerce Server 2002

Valeurs du fichier Csapp.ini pour l’authentification

Le Gestionnaire de package de site Commerce Server génère le fichier csapp.ini durant le processus de décompression. Ce fichier est requis à la fois par AuthManager et AuthFilter ; en outre, il doit se trouver dans le dossier racine du site.

AuthManager et AuthFilter lisent les valeurs suivantes à partir du fichier csapp.ini :

Nom de la clé | Valeur de la clé | Utilisation
SiteName Cette valeur doit être un nom de site valide dans la base de données d’administration. Cette valeur sert à initialiser le composant SiteConfigReadOnly pour récupérer les informations appartenant au site.

Important

  • Commerce Server prend en charge uniquement les noms de site dont la longueur est comprise entre 1 et 127 caractères.
AddressKeyName | Cette valeur doit être un nom d’application valide dans le site défini par la clé SiteName. | Cette valeur sert à récupérer les informations appartenant à l’application du site défini par la clé SiteName.

Voir aussi

Fichier Csapp.ini


Méthodes conseillées pour l'authentification

Envoyer des commentaires sur cette page Commerce Server 2002

Méthodes conseillées pour l’authentification

Il est fortement recommandé de suivre les méthodes conseillées répertoriées dans cette rubrique, afin de garantir une installation sécurisée de Commerce Server.

Utilisation de Active Directory

Utilisation d’AuthFilter

Instanciation d’AuthManager

Utilisation du mode Création de cookie automatique

Sécurisation des mots de passe

Comptes proxy

Configuration des propriétés d’authentification

Utilisation de Active Directory

  • Lors d’une utilisation de Active Directory sur une grande échelle, utilisez SQL Server pour stocker un profil synthétisé.

    Utilisez Active Directory pour stocker les données sensibles telles que le nom d’ouverture de session, le mot de passe, les groupes, les adresses de messagerie, et utilisez plutôt SQL Server pour stocker les données plus dynamiques et moins sensibles telles que les préférences de l’utilisateur et les données de transaction.

    SQL Server est plus rapide qu’Active Directory, mais Active Directory fournit des fonctionnalités de sécurité supplémentaires ainsi qu’une intégration entre les applications. Pour obtenir un exemple détaillé du mode de stockage de certaines propriétés de profil dans Active Directory et d’autres propriétés de profil dans SQL Server, consultez Ajouter de nouvelles propriétés à la définition de profil de votre site.

    Bien que Active Directory puisse stocker un grand nombre d’objets, il est recommandé pour des raisons de performance liées aux scénarios e-business, de ne pas stocker plus de trois millions d’objets/utilisateurs par domaine Active Directory. Commerce Server offre une prise en charge du partitionnement entre plusieurs forêts pour déployer Active Directory à l’échelle appropriée. L’utilisation de 10 millions d’objets/utilisateurs au maximum a été testée ; toutefois, il n’existe pas de limite codée de manière irréversible. Il existe également une solution beaucoup plus simple : l’utilisation de comptes proxy. Pour plus d’informations, consultez Comptes proxy.

Utilisation d’AuthFilter

  • Si Commerce Server est installé avec l’authentification Windows, vous ne pouvez utiliser AuthFilter que si vous activez l’authentification SQL Server pour la base de données d’administration.

    Lorsque vous avez recours à AuthFilter dans le cadre d’un déploiement de Commerce Server utilisant l’authentification Windows, vous devez modifier la chaîne de connexion à la base de données d’administration, car le filtre ISAPI (et donc AuthFilter) s’exécute dans le contexte de sécurité du processus IIS (inetinfo), dénommé LocalSystem. En conséquence, AuthFilter tente de se connecter à SQL Server sur un autre ordinateur, en utilisant les informations d’identification de LocalSystem, lesquelles ne sont pas valides ; en effet, celui-ci ne dispose pas des droits requis pour établir des connexions sur le réseau. (Si la base de données d’administration est locale, la connexion peut fonctionner, mais vous ne devez jamais placer la base de données d’administration sur le serveur Web.)

    Pour obtenir des instructions sur l’utilisation d’AuthFilter dans ce scénario, consultez Utilisation de l’authentification Windows dans un déploiement distribué.

  • Utilisez AuthFilter en mode d’authentification Windows pour prendre en charge la connexion unique dans un environnement de batterie de serveurs Web (Web farm)/à plusieurs domaines.

    Dans une batterie de serveurs Web (Web farm), AuthFilter permet à l’utilisateur authentifié qui a ouvert une session sur un serveur d’accéder à un site situé sur un autre serveur, sans devoir entrer à nouveau ses informations de connexion.

    Remarque

    • Pour implémenter cette fonctionnalité, vous devez ajouter du code personnalisé à la page Login.asp. Pour obtenir un exemple de code, consultez Code de la page Login.asp pour le site solution Supplier.

    Cependant, si la demande est envoyée avec la méthode Post via des sessions non persistantes, les informations contenues dans le corps de l’en-tête sont perdues lors de la redirection demandée. N’utilisez la méthode Post qu’avec des sessions persistantes. Si vous utilisez des sessions non persistantes, employez toujours la méthode Get et SSL (HTTPS) pour accroître la sécurité. Pour plus d’informations, consultez Authentification des utilisateurs dans une batterie de serveurs Web (Web farm).

  • Après avoir apporté une modification au dossier AuthFiles (après l’avoir renommé par exemple), ou après avoir modifié des fichiers de ce dossier, vérifiez les paramètres de sécurité du dossier AuthFiles.

    Après avoir apporté une modification au dossier AuthFiles, utilisez le Gestionnaire des services Internet pour naviguer jusqu’au répertoire virtuel du site, puis vérifiez que l’accès anonyme est défini pour la propriété de sécurité.

    Pour définir l’accès anonyme pour la propriété

    1. Dans le Gestionnaire des services Internet, cliquez avec le bouton droit sur AuthFiles, puis cliquez sur Propriétés.
    2. Sous l’onglet Sécurité du répertoire, dans la section Connexions anonymes et contrôle d’authentification, cliquez sur Modifier.
    3. Vérifiez que l’option Accès anonyme est sélectionnée, puis cliquez sur OK.
  • Pour suivre à la fois les utilisateurs authentifiés et les utilisateurs anonymes qui visitent votre site, utilisez AuthFilter en mode mixte (en utilisant soit le mode d’authentification Windows soit le mode Authentification personnalisée conjointement avec le mode Création de cookie automatique).

    Vous pouvez gérer certains contenus réservés aux utilisateurs authentifiés, et d’autres contenus destinés aux utilisateurs anonymes. Ainsi, vous permettez aux utilisateurs anonymes de naviguer sur votre site et vous effectuez le suivi de leurs tendances de navigation.

    Lorsque vous utilisez le mode Authentification personnalisée, les utilisateurs doivent s’inscrire ; par conséquent, ils doivent accéder à votre site en tant qu’utilisateurs authentifiés. AuthFilter sécurise tous les fichiers du répertoire virtuel placé sous sa protection, en autorisant uniquement les utilisateurs authentifiés à accéder aux fichiers de ce répertoire virtuel. Vous ne pouvez pas configurer le répertoire virtuel de telle sorte que les contenus destinés aux utilisateurs authentifiés et anonymes soient accessibles simultanément.

    Une fois que la page de connexion a validé les informations d’identification des utilisateurs, tous les contenus/pages s’exécutent dans le contexte du compte anonyme des services IIS (Microsoft Internet Information Services) 5.0 ; par défaut, il prend le nom IUSR_nomordinateur, où nomordinateur correspond au nom de l’ordinateur qui héberge votre site.

    Pour gérer un contenu accessible aux utilisateurs anonymes, effectuez les opérations suivantes :

    1. Ajoutez un lien sur la page de connexion. Les utilisateurs non inscrits et qui ne souhaitent pas le faire, peuvent accéder au contenu anonyme en cliquant sur ce lien.
    2. Faites de cette adresse URL un autre répertoire virtuel distinct du répertoire virtuel d’origine. L’adresse URL ne peut pas être imbriquée dans le répertoire virtuel d’origine.
  • Spécification de SSL/HTTPS pour les pages de connexion lors de l’utilisation d’AuthFilter.

    Pour spécifier SSL/HTTPS pour les pages de connexion lors de l’utilisation d’AuthFilter, utilisez la propriété Formulaire de connexion CS Authentication. Vous devez spécifier le chemin d’accès complet vers la page Login.asp, par exemple, https://www.microsoft.com/authfilter/login.asp. Pour obtenir des instructions sur la définition de la propriété Formulaire de connexion, consultez Configuration de la ressource CS Authentication.

    Si vous utilisez AuthManager, vous n’avez pas besoin de configurer la propriété Formulaire de connexion. Utilisez plutôt le Gestionnaire Commerce Server pour configurer deux propriétés de l’application : Activer HTTPS et Nom d’hôte sécurisé. AuthFilter n’utilise pas ces propriétés. Pour obtenir des instructions sur la définition de ces propriétés, consultez Configuration d’une application.

  • Vous ne pouvez pas utiliser des en-têtes d’hôte lors d’un déploiement de plusieurs sites qui implémentent AuthFilter.

    Les services IIS ne prennent pas en charge l’utilisation d’en-têtes d’hôte avec SSL. Cependant, pour garantir un minimum de sécurité AuthFilter nécessite l’utilisation de SSL lors de la transmission d’informations d’authentification de connexion au serveur.

  • Utilisez plutôt SSL avec AuthFilter, Active Directory et des listes de contrôle d’accès (ACL), que l’authentification mutuelle avec des certificats clients.

    Avec l’authentification mutuelle, le client vérifie l’identité de votre serveur à l’aide de certificats. De même, votre serveur vérifie l’identité des clients à l’aide de certificats. Cependant, l’utilisation de certificats pour valider les utilisateurs nécessite un investissement dans une infrastructure de clé publique, par exemple des certificats, des serveurs de certificats et une autorité de certificat. En outre, la vérification des certificats requiert des ressources de serveur supplémentaires, telles que le temps UC. Il est plus facile d’utiliser SSL avec AuthFilter, Active Directory et des listes de contrôle d’accès (ACL), que de configurer le système pour délivrer et vérifier des certificats. Pour plus d’informations sur les certificats, consultez la documentation en ligne des services IIS.

  • Lors de l’ajout de plusieurs sites de commerce (protégés par AuthFilter) sur un seul serveur Web, décompressez chaque site de commerce dans un répertoire distinct.

    N’installez pas un site de commerce dans le sous-répertoire d’un autre site. Vous pouvez installer plusieurs sites dans le même répertoire virtuel s’ils sont contenus dans des répertoires distincts à l’intérieur du répertoire virtuel.

  • Lors de l’utilisation d’AuthFilter, tous les sites de commerce doivent posséder des noms différents.

    Par exemple, n’appelez pas un site « Détail » et un autre « détail2 ». En effet, les services IIS enverraient des cookies au site incorrect.

Instanciation d’AuthManager

  • Instanciez l’objet AuthManager avec une étendue application.

    Vous devez instancier et initialiser une seule instance de l’objet AuthManager dans l’étendue application, de telle sorte que le cache des données de l’objet SiteConfig s’initialise. Ceci améliore les performances des appels ultérieurs pour l’initialisation de l’objet AuthManager, car le cache est déjà rempli. Cependant, ne recourez pas à cette instance pour utiliser les API AuthManager.

    L’objet AuthManager doit être créé et détruit à la demande sur chaque page ASP. En effet, AuthManager possède des dépendances sur des sessions utilisateur individuelles.

    Utilisez l’objet AuthManager uniquement via des pages ASP (Active Server Pages), car il dépend d’objets ASP intrinsèques. Cet objet AuthManager ne doit pas être utilisé ailleurs.

Remarque

  • En dehors d’un script ASP, vous pouvez utiliser les méthodes Initialize, Refresh, GetUserIDFromCookie et GetUserIDFromCookieAndKey de l’objet AuthManager.

Utilisation du mode Génération de cookie automatique

  • En mode Génération de cookie automatique, lorsque des utilisateurs anonymes s’inscrivent, leurs cookies persistants peuvent être mis à jour par programmation, afin de ne pas perdre les données de profil rassemblées pendant que les utilisateurs étaient anonymes.

    L’objet AuthManager vous permet d’ajouter une fonctionnalité de mise à jour par programmation. La page d’inscription doit effectuer cette mise à jour en obtenant le GUID ou l’identificateur d’utilisateur approprié à partir du profil inscrit, et en utilisant la méthode SetProfileTicket pour le définir. Cette logique est nécessaire car le processus de conversion des utilisateurs anonymes en utilisateurs inscrits dépend de votre application, selon que le même profil est utilisé ou qu’il s’agit d’un profil différent.

    Une fois qu’un utilisateur anonyme devient un utilisateur inscrit, deux tickets existent à tout moment, lorsque l’utilisateur est connecté et authentifié.

    • Si le nouveau profil est utilisé, mettez à jour le ticket MSCSProfile à partir de la nouvelle identité ; si aucun nouveau profil n’est créé mais qu’un indicateur est simplement activé, définissez les propriétés appropriées selon les besoins.
    • Dans les cas où les tickets MSCSAuth et MSCSProfile existent tous les deux, la tâche de transformation de données (DTS, Data Transformation Services) d’importation des journaux Web obtient l’identificateur d’utilisateur contenu dans le ticket MSCSProfile.

      Si le ticket MSCSProfile n’existe pas, l’identificateur d’utilisateur est récupéré à partir du ticket MSCSAuth. L’identificateur d’utilisateur permet d’effectuer une recherche du profil à partir de la clé primaire du schéma de profil exporté par la tâche DTS d’importation d’utilisateur. Le schéma par défaut exporté dans le Data Warehouse par la tâche DTS d’importation de profil contient le GUID et LoginName.

Sécurisation des mots de passe

  • Vous ne pouvez pas obtenir de mots de passe en texte clair à partir de Active Directory ; par conséquent, vous devez activer les sessions persistantes.

    Les mots de passe des utilisateurs sont stockés dans un format crypté dans Active Directory. Pour pouvoir accéder à ces mots de passe en texte clair, les deux actions suivantes sont permises lorsque le mot de passe est récupéré initialement sur la page de connexion :

    • Étendez le schéma de profil en ajoutant une nouvelle propriété pour stocker le mot de passe en texte clair. Vous devez étendre le schéma à l’aide du module Définition de profil de Commerce Server Business Desk. Pour plus d’informations sur cette procédure, consultez Ajout de propriétés à une définition de profil.
    • Créez un cache personnalisé pour stocker le mot de passe à récupérer en texte clair. Pour plus d’informations, consultez Mots de passe en texte clair.
  • Si vous utilisez Active Directory et l’agrégation SQL Server, capturez le mot de passe à partir de la page Login.asp, puis stockez-le dans la banque de données de profils pour l’utilisateur dans SQL Server.

    Le mot de passe est ensuite accessible à partir de n’importe quel autre serveur Web ; en outre, grâce à votre code personnalisé dans Login.asp, les utilisateurs peuvent se connecter de manière transparente. Cela permet à la page de connexion d’envoyer les informations d’identification des utilisateurs à AuthFilter, qui s’exécute sur le serveur vers lequel l’utilisateur est redirigé. Ce processus d’authentification ne nécessite pas de sessions persistantes.

Remarque

  • Vous pouvez crypter les propriétés de profil. Pour plus d’informations, consultez Gestion des propriétés de profil cryptées.

Configuration des propriétés d’authentification

  • Utilisez les commandes net stop iisadmin et net start w3svc pour redémarrer les services IIS.

    Vous devez redémarrer les services IIS lorsque vous effectuez l’une des tâches suivantes :

    • configuration des propriétés de la ressource CS Authentication ;
    • activation du partage de cookie entre les domaines/applications ;
    • activation ou désactivation d’AuthFilter.

    En redémarrant les services IIS, vous déchargez toutes les applications et mettez à jour les propriétés de configuration du site dans le cache de site local pour AuthFilter.

    N’utilisez pas la commande IISReset. Bien que la commande IISReset arrête puis redémarre les services IIS, dans certaines circonstances elle ne redémarre pas Inetinfo.exe (service W3SVC). Par exemple, la commande IISReset ne redémarre pas les services IIS si le service W3SVC est configuré pour un démarrage manuel au lieu d’un démarrage automatique. Pour obtenir des instructions sur l’utilisation des commandes net stop et net start, consultez Redémarrage des services IIS et Commerce Server.


Comparaison entre AuthFilter et AuthManager

Commerce Server fournit deux outils permettant de gérer l’authentification et l’identification des utilisateurs :

  • AuthManager. Il s’agit d’un objet COM (Component Object Model) qui expose les méthodes permettant d’identifier les utilisateurs et de contrôler l’accès au contenu généré de manière dynamique. Par exemple, un développeur de site peut appeler la méthode GetUserID d’AuthManager pour identifier un utilisateur à partir du ticket contenu dans un cookie ou une chaîne de requête. AuthManager est utilisé sur toutes les pages ASP sécurisées de votre site pour vérifier que l’utilisateur est autorisé à afficher une page, grâce à la méthode IsAuthenticated.

    AuthManager prend en charge l’achat sans utilisation des cookies. Un ticket d’authentification doit être ajouté à chaque chaîne de requête d’adresse URL créée sur le site, afin de garantir la transmission de ce ticket d’authentification pour toutes les demandes. Cette opération s’effectue via la méthode GetUrl. Remarquez qu’un seul ticket peut être ajouté à l’adresse URL, et que le ticket MSCSAuth doit être prioritaire par rapport au ticket MSCSProfile.

    AuthManager ne dépend d’aucun des paramètres de configuration appliqués durant le processus de décompression.

  • AuthFilter. Il s’agit d’un filtre ISAPI (Internet Server API) qui est utilisé et configuré au niveau de l’application Commerce Server. AuthFilter peut s’appliquer à tous les utilisateurs visitant votre site. Vous configurez AuthFilter après avoir effectué la décompression d’un site. AuthFilter ne prend pas en charge l’achat sans utilisation des cookies.

Résumé des différences entre AuthFilter et AuthManager

Le tableau suivant récapitule les différences entre les fonctionnalités prises en charge par AuthFilter et l’objet AuthManager.

Fonctionnalités | AuthFilter : authentification Windows | AuthFilter : authentification personnalisée | AuthFilter : création de cookie automatique | AuthManager
Vérification de la prise en charge des cookies de session (non persistants) | Oui | Oui | Oui | Non
Prise en charge de l’achat sans utilisation des cookies | Non | Non | Non | Oui
Fourniture d’un contrôle d’accès granulaire à l’aide de listes de contrôle d’accès (ACL) | Oui | Non | Non | Non
Prise en charge des pages de connexion personnalisées | Oui | Oui | Non | Non Si le ticket n’est pas validé à l’aide d’AuthManager, vous pouvez réacheminer la demande de l’utilisateur vers une page de connexion personnalisée.
Prise en charge de la correction de la casse dans les adresses URL | Oui | Oui | Oui | Non
Prise en charge des environnements de batteries de serveurs Web (Web farms) | Oui, avec certaines limitations sur les demandes Post | Oui | Oui | Oui
Utilisation d’objets intrinsèques ASP | Non | Non | Non | Oui
Prise en charge de l’utilisation de Active Directory pour le stockage des profils utilisateur | Oui | Non | Oui (*mode mixte) | Non
Prise en charge de l’utilisation de SQL Server pour le stockage des profils utilisateur | Oui (Active Directory + SQL Server) | Oui | Oui (*mode mixte) | Oui
Représentation de l’identité de l’utilisateur | Oui | Non (anonyme) | Non (anonyme) | Non (anonyme)
Listes de contrôle d’accès (ACL) | Niveau du répertoire virtuel et niveau de la page dynamique | Niveau du répertoire virtuel | Anonyme uniquement | Niveau de la page dynamique
Prise en charge des informations d’identification sécurisées fournies par l’utilisateur | Oui | Personnalisé (anonyme) | Anonyme | Non
Nécessite un cookie de la part du client | Oui | Oui | Oui | Non

* Le mode mixte combine l’utilisation du mode Génération de cookie automatique et du mode Authentification personnalisée ou du mode d’authentification Windows.

L’authentification Commerce Server ne prend pas en charge les scénarios hétérogènes, par exemple un environnement mixte composé de serveurs Windows 2000 et Unix.

Voir aussi

Tickets d’authentification

AuthFilter

AuthManager


AuthFilter

AuthFilter est un filtre ISAPI livré avec Commerce Server 2002. AuthFilter modifie le comportement par défaut des services IIS et affecte le mode de gestion des demandes et réponses HTTP.

Par défaut, au moment où AuthFilter est utilisé, il est installé au niveau du site IIS avec une priorité basse. Cela signifie que si d’autres filtres ISAPI s’exécutent dans les services IIS, ils traiteront les demandes avant AuthFilter. Si les filtres ISAPI d’autres applications, ou des filtres ISAPI personnalisés, sont installés sur votre serveur Web, vous pouvez les configurer à un niveau de priorité plus élevé pour qu’ils traitent les demandes avant AuthFilter.

AuthFilter peut être utilisé dans différents modes d’authentification. Pour plus d’informations sur les modes AuthFilter, consultez Vue d’ensemble des modes d’authentification AuthFilter.

Quel que soit le mode d’authentification, à l’instant où AuthFilter reçoit la notification d’une demande entrante, il effectue automatiquement les actions suivantes :

  • Il détecte si l’adresse URL demandée est correcte. AuthFilter corrige automatiquement le respect de la casse des racines de répertoire virtuel des services IIS (Internet Information Services).

    Attention

    • AuthFilter effectue une redirection pour corriger la casse de l’adresse URL demandée. Les données Post contenues dans l’adresse URL demandée sont perdues.
  • Il vérifie que le navigateur prend en charge les cookies. Si le navigateur client ne prend pas en charge les cookies, AuthFilter redirige l’utilisateur vers une page sans cookies. AuthFilter nécessite que les navigateurs prennent en charge les cookies.

    Attention

    • AuthFilter effectue une redirection lorsqu’il vérifie si le navigateur prend en charge les cookies. Cette vérification n’est exécutée que pour la toute première demande survenue au cours de la session. Les données Post contenues dans l’adresse URL demandée sont perdues.
  • Il vérifie que l’utilisateur dispose d’un ticket valide. Pour le mode d’authentification Windows et le mode Authentification personnalisée, si la demande ne contient pas de ticket MSCSAuth valide, elle est redirigée vers la page Login.asp. Pour le mode Création de cookie automatique, si la demande ne contient pas de ticket MSCSProfile valide, elle est redirigée vers la page autocookie.asp.

Une fois ces tâches effectuées, AuthFilter exécute des tâches supplémentaires, en fonction du mode d’authentification.

Cette section contient les rubriques suivantes :

  • Vue d’ensemble des modes d’authentification AuthFilter
  • Initialisation d’AuthFilter
  • Vérification des cookies par AuthFilter
  • AuthFilter et les notifications d’événements des services IIS
  • Prise en charge de la connexion unique par AuthFilter
  • Activation d’AuthFilter pour le site solution Retail
  • Informations importantes sur AuthFilter concernant le site solution Retail
  • Activation d’AuthFilter pour le site solution Supplier
  • Informations importantes sur AuthFilter concernant le site solution Supplier
  • Code de la page Login.asp pour le site solution Retail
  • Code de la page Login.asp pour le site solution Supplier
  • Utilisation d’AuthFilter sur un site .NET
  • Désactivation d’AuthFilter


Vue d'ensemble des modes d'authentification AuthFilter

Envoyer des commentaires sur cette page Commerce Server 2002

Vue d’ensemble des modes d’authentification AuthFilter

Lorsque vous implémentez AuthFilter, vous pouvez choisir l’un des modes d’authentification décrits dans cette rubrique.

Authentification Windows

Dans ce mode, AuthFilter utilise l’authentification Windows pour contrôler l’accès au site. Les informations d’identification des utilisateurs, par exemple les identificateurs d’utilisateurs et les mots de passe, sont authentifiées par rapport à Active Directory. Lorsque vous utilisez l’authentification Windows, vous pouvez exiger un droit de connexion uniquement pour certaines pages et répertoires que vous spécifiez. Pour utiliser l’authentification Windows, consultez Activation de l’authentification Windows.

AuthFilter utilise l’authentification Windows, via les listes de contrôle d’accès (ACL), pour contrôler l’accès au site. Les utilisateurs anonymes et inscrits peuvent accéder au site en fonction des listes de contrôle d’accès. Pour plus d’informations sur ce mode, consultez Mode d’authentification Windows.

Si le ticket MSCSAuth soumis par l’utilisateur n’est pas valide lors de la demande d’accès à une page ou un répertoire, AuthFilter exige de l’utilisateur qu’il entre ses informations d’authentification de connexion. La page de connexion envoie les informations d’identification fournies par l’utilisateur vers AuthFilter. AuthFilter vérifie ensuite l’existence du mot de passe dans le cache de mots de passe AuthFilter. Si le mot de passe n’existe pas dans le cache de mots de passe AuthFilter, AuthFilter place le mot de passe (entré par l’utilisateur sur la page de connexion) dans le cache.

Ne confondez pas le mode d’authentification Windows et l’authentification Windows (Kerberos) pour vos bases de données.

Authentification personnalisée

Dans ce mode, les informations d’identification des utilisateurs, par exemple les identificateurs d’utilisateurs et les mots de passe, sont authentifiées par rapport à une base de données SQL Server ou tout autre type de base de données.

Lorsque vous utilisez l’authentification personnalisée, un droit de connexion est nécessaire pour chaque page et répertoire du site Commerce Server. AuthFilter effectue une vérification par rapport au répertoire virtuel du site Commerce Server, puis il vérifie la base de données d’administration Commerce Server pour déterminer si l’authentification personnalisée est activée pour ce site.

Si le ticket MSCSAuth soumis par l’utilisateur n’est pas valide lors de la demande d’accès à une page ou un répertoire, AuthFilter exige de l’utilisateur qu’il entre ses informations de connexion. Lorsqu’un utilisateur soumet des informations d’identification à la page de connexion, celle-ci obtient la vérification des informations d’identification à partir d’une base de données SQL Server ou de toute autre source de données.

Dans ce mode, AuthFilter permet au concepteur du site de fournir un processus d’authentification personnalisée pour contrôler l’accès au site tout en utilisant les services de base d’AuthFilter. Pour plus d’informations sur ce mode, consultez Mode Authentification personnalisée. Pour utiliser l’authentification personnalisée, consultez Activation de l’authentification personnalisée.

Mode Création de cookie automatique

Dans ce mode, AuthFilter vérifie que la demande contient un ticket MSCSProfile valide. Si aucun ticket MSCProfile valide n’est trouvé, la demande est redirigée vers la page autocookie.asp où un ticket MSCSProfile est délivré à l’utilisateur. Tout utilisateur qui accède à votre site à l’aide d’un ticket MSCSProfile est identifié comme un utilisateur anonyme.

La délivrance de tickets MSCSProfile aux utilisateurs vous permet de collecter des données de profil sur la façon dont les utilisateurs anonymes naviguent sur votre site et utilisent ce dernier, sans les obliger à s’inscrire au préalable sur votre site.

Lorsque des utilisateurs anonymes s’inscrivent, l’identificateur d’utilisateur du ticket MSCSProfile peut être mis à jour par programmation, ainsi vous ne perdez pas les données de profil collectées lorsque les utilisateurs étaient anonymes. L’objet AuthManager vous permet d’ajouter par programmation la fonctionnalité de mise à jour ; celle-ci permet de modifier la valeur de UserID dans le ticket MSCSProfile. (La page d’inscription doit effectuer cette mise à jour en obtenant le GUID ou l’identificateur d’utilisateur approprié à partir du profil inscrit, et en utilisant la méthode SetProfileTicket() pour le définir. Cette logique est nécessaire car le processus de conversion des utilisateurs anonymes en utilisateurs inscrits dépend de votre application ; par exemple, selon que le même profil est utilisé ou qu’il s’agit d’un profil différent.)

Si vous sélectionnez à la fois le mode Création de cookie automatique et le mode Aucun filtre, il n’y a aucun utilisateur inscrit pour votre site.

Pour plus d’informations sur ce mode, consultez Mode Création de cookie automatique.

Mode Aucun filtre

Dans ce mode, AuthFilter n’est pas activé. Les sites solutions de Commerce Server 2002 utilisent par défaut le mode Aucun filtre et implémentent un modèle d’authentification basé sur AuthManager.

Si vous souhaitez modifier les sites pour bénéficier des avantages d’AuthFilter, vous devez apporter des modifications aux pages Login.asp et autres pages d’application d’assistance des sites. Pour plus d’informations, consultez Activation d’AuthFilter pour le site solution Retail et Activation d’AuthFilter pour le site solution Supplier.

Combinaison des modes

Lorsque vous utilisez AuthFilter, vous pouvez choisir les combinaisons ci-dessous en matière de modes d’authentification.

  • Authentification Windows et mode Création de cookie automatique. Cette combinaison de modes permet à la fois à l’utilisateur inscrit et à l’utilisateur anonyme d’accéder au site ; en outre, elle utilise des cookies persistants pour le suivi des utilisateurs anonymes. Pour plus d’informations sur ce mode, consultez Authentification Windows et mode Création de cookie automatique.
  • Authentification personnalisée et mode Création de cookie automatique. Cette combinaison de modes permet à la fois à l’utilisateur inscrit et à l’utilisateur anonyme d’accéder au site ; en outre, elle utilise des cookies persistants pour le suivi des utilisateurs anonymes. Au lieu de contrôler l’accès aux fichiers et dossiers individuels via des listes de contrôle d’accès Windows, le développeur de site peut fournir un processus d’authentification personnalisée. Pour plus d’informations sur ce mode, consultez Authentification personnalisée et mode Création de cookie automatique.

Voir aussi

Mode d’authentification Windows

Mode Authentification personnalisée

Mode Création de cookie automatique

Authentification Windows et mode Création de cookie automatique

Authentification personnalisée et mode Création de cookie automatique

Activation de l’authentification Windows

Activation de l’authentification personnalisée

Activation de la génération de cookie automatique


Initialisation d'AuthFilter

Envoyer des commentaires sur cette page Commerce Server 2002

Initialisation d’AuthFilter

Les informations de cette rubrique s’adressent en particulier aux développeurs de site. Il est important de connaître le processus suivi par AuthFilter durant l’initialisation pour effectuer les actions suivantes :

  • vérifier l’initialisation d’AuthFilter. Pour ce faire, utilisez le Gestionnaire des services Internet ;
  • vérifier que le fichier csapp.ini se trouve dans le dossier approprié, et qu’il contient les bonnes informations (par exemple, le nom correct du site) ;
  • vérifier que la chaîne de connexion à la base de données d’administration est correcte. Ceci est nécessaire car AuthFilter effectue une connexion à la base de données d’administration via l’objet SiteConfig ;
  • vérifier que l’application COM+ (SiteConfig) est correctement configurée. Ceci est nécessaire car AuthFilter doit être capable d’utiliser l’application COM+ SiteConfig pour demander des informations à la base de données d’administration.

Lorsque le site Web reçoit une première demande d’un utilisateur, AuthFilter effectue les opérations suivantes :

  1. récupération du nom du site et du nom d’application (à l’aide des valeurs de propriétés SiteName et AddressKeyName stockées dans le fichier Csapp.ini) ;
  2. création d’un cache global pour le stockage des propriétés d’authentification spécifiques à la configuration du site. Il existe une entrée pour chaque site, et chaque entrée est une collection des propriétés d’authentification du site correspondant.
  3. Le cache du site est rempli à partir des propriétés de la ressource CS Authentication lues dans la base de données d’administration via l’objet SiteConfig.

Voir aussi

Fichier Csapp.ini.

Csapp.ini


Vérification des cookies par AuthFilter

AuthFilter effectue les étapes suivantes pour vérifier que le navigateur client prend en charge les cookies :

  1. Il effectue une redirection vers le navigateur tout en définissant un cookie et un indicateur de chaîne de requête. Si le cookie revient avec la requête redirigée et l’indicateur de chaîne de requête, AuthFilter sait que le navigateur prend en charge les cookies.
  2. Si le navigateur ne prend pas en charge les cookies, la requête redirigée revient sans le cookie. AuthFilter détecte l’indicateur de chaîne de requête (qui est renvoyé dans tous les cas) et redirige le navigateur vers la page Nocookie.asp.
  3. Cette vérification n’a lieu qu’au début d’une session, lorsque aucun cookie n’est défini et que l’utilisateur ne s’est pas connecté.


AuthFilter et les notifications d'événements des services IIS

Envoyer des commentaires sur cette page Commerce Server 2002

AuthFilter et les notifications d’événements des services IIS

Les informations de cette rubrique s’adressent aux administrateurs système et aux développeurs de site. Il est important de bien connaître les événements qui impliquent AuthFilter, pour les raisons suivantes :

  • vous avez configuré les services IIS pour exécuter d’autres filtres ISAPI, et vous voulez avoir la certitude que ces autres filtres sont compatibles avec AuthFilter ;
  • vous voulez écrire votre propre filtre d’authentification pour qu’il fonctionne conjointement avec AuthFilter.

AuthFilter analyse à la fois les flux de données entrants et sortants. Il s’inscrit auprès des services IIS (Internet Information Services) pour être notifié des événements suivants :

  • SF_NOTIFY_ORDER_LOW. AuthFilter doit être chargé avec une priorité basse, de telle sorte que l’authentification se produise à la fin de la liste des filtres. Cela signifie que si d’autres filtres ISAPI s’exécutent dans les services IIS, ils traiteront les demandes avant AuthFilter. Si les clients possèdent des filtres ISAPI d’autres applications, ou leurs propres filtres ISAPI personnalisés, ils peuvent les configurer à un niveau de priorité plus élevé pour qu’ils traitent les demandes avant AuthFilter.
  • SF_NOTIFY_SECURE_PORT / SF_NOTIFY_NONSECURE_PORT. AuthFilter prend en charge les demandes sécurisées/non sécurisées en fonction de l’événement.
  • SF_NOTIFY_PREPROC_HEADERS. Un seul SF_PREPROC_HEADERS. Événement qui se produit à chaque demande de page, pour signaler que le serveur a terminé le prétraitement de l’en-tête et qu’il s’apprête à traiter les informations contenues dans cet en-tête. C’est à cet instant qu’AuthFilter vérifie les cookies.
  • SF_NOTIFY_URL_MAP. Pour le mappage de l’adresse URL vers un chemin d’accès physique, la correction de l’adresse URL, le cas échéant, et pour les racines de répertoire virtuel qui respectent la casse. Permet de récupérer les propriétés de la ressource CS Authentication.
  • SF_NOTIFY_AUTHENTICATION. Notification envoyée juste avant que les services IIS n’essaient d’authentifier l’utilisateur. C’est à cet instant qu’AuthFilter récupère et définit l’identificateur d’utilisateur ainsi que le mot de passe.
  • SF_NOTIFY_ACCESS_DENIED. Accès refusé. AuthFilter effectue une redirection vers la page de connexion ou la page d’erreur, le cas échéant.
  • SF_NOTIFY_SEND_RESPONSE. Permet de lire les informations du compte proxy à partir de la chaîne de requête de redirection (302), puis de les stocker dans le cache. Permet également de mettre en forme un en-tête et un corps de redirection personnalisée contenant la première adresse URL demandée.
  • SF_NOTIFY_SEND_RAW_DATA. Permet de filtrer la demande de redirection d’origine pendant l’exécution d’une redirection personnalisée.
  • SF_NOTIFY_END_OF_REQUEST. Fin d’une demande particulière. AuthFilter renvoie le message de redirection personnalisée vers le client.
  • SF_NOTIFY_AUTH_COMPLETE. Permet l’intégration de Microsoft Outlook Web Access (OWA).


Prise en charge de la connexion unique par AuthFilter

Avec la prise en charge de la connexion unique, un utilisateur qui se connecte correctement à un site ou un serveur, peut accéder à d’autres sites et serveurs sans devoir renouveler sa connexion. AuthFilter prend en charge la fonctionnalité de connexion unique entre les domaines et les applications, ainsi que dans une batterie de serveurs Web (Web farm).

La prise en charge de la connexion unique entre les domaines et les applications est assurée grâce au partage de cookie.

Cette section contient les rubriques suivantes :

  • Vue d’ensemble de l’espace de noms de domaine DNS
  • Partage de cookie
  • Connexion unique entre les domaines
  • Authentification des utilisateurs dans une batterie de serveurs Web (Web farm)
  • Traitement d’AuthFilter dans une batterie de serveurs Web (Web farm)


Vue d'ensemble de l'espace de noms de domaine DNS

Envoyer des commentaires sur cette page Commerce Server 2002

Vue d’ensemble de l’espace de noms de domaine DNS

L’espace de noms de domaine DNS est constitué de niveaux. Il est important de bien connaître les noms de ces niveaux, ainsi que la partie du nom de domaine complet qu’ils représentent, lors de la configuration des paramètres de prise en charge de la connexion unique/de partage de cookie.

Le tableau suivant décrit les niveaux de domaine DNS à connaître lors de la configuration de Commerce Server.

Type de nom | Description | Exemple
Domaine de premier niveau | Nom constitué de deux ou trois lettres, qui sert à indiquer un pays/une région ou le type d’organisation qui utilise ce nom. | « .com » indique un nom enregistré par une entreprise pour un usage commercial sur Internet.
Domaine de deuxième niveau | Noms de longueur variable enregistrés par un individu ou une organisation, afin d’être utilisés sur Internet. Ces noms sont toujours basés sur un domaine de premier niveau approprié, selon le type d’organisation ou d’emplacement géographique où le nom est utilisé. | « microsoft.com. » est le nom de domaine de deuxième niveau enregistré par Microsoft dans le registre des noms de domaine DNS Internet.
Sous-domaine | Noms supplémentaires qu’une organisation peut créer, et qui sont dérivés du nom de domaine de deuxième niveau enregistré. Ils incluent des noms ajoutés pour accroître l’arborescence DNS des noms d’une organisation, et la divisent en services ou en emplacements géographiques. | « exemple.microsoft.com. » est un sous-domaine fictif attribué par Microsoft, qui sert d’exemple de nom dans la documentation.

Pour plus d’informations sur l’architecture des noms de domaines DNS, consultez la rubrique Noms de domaines DNS dans l’aide en ligne de Windows 2000.


Partage de cookie

Une fois AuthFilter activé, vous pouvez partager les cookies entre plusieurs domaines et applications pour effectuer le suivi des utilisateurs qui sont redirigés vers plusieurs domaines et applications. Le partage de cookie s’effectue en définissant deux propriétés pour le cookie, domain et path. Il en résulte la ligne suivante :

      ";domain=DomainName;path=Path"

La propriété domain sert à spécifier les domaines de validité du cookie. La propriété path sert à spécifier le sous-ensemble des adresses URL du domaine de validité du cookie.

Avant d’envoyer une demande, le navigateur client vérifie qu’il existe un cookie contenant une propriété domain, qui correspond à la valeur située à la fin du nom de domaine complet de l’hôte spécifié dans l’adresse URL demandée. Si ce cookie existe, la propriété path du cookie est comparée au composant du chemin d’accès de l’adresse URL demandée. Si une correspondance est établie, le cookie est envoyé avec la demande.

Du côté serveur, si la valeur de la propriété domain n’est pas spécifiée lorsque la propriété est définie, elle prend par défaut le nom d’hôte du serveur ayant généré le cookie. Seuls les hôtes appartenant au domaine spécifié peuvent définir la propriété domain du cookie. La propriété path la plus générale est « / ». Si la propriété path n’est pas spécifiée, elle prend par défaut la valeur du chemin d’accès au répertoire virtuel de l’application IIS ayant généré le cookie.

Dans Commerce Server 2002, chaque site crée ses propres cookies par défaut ; cependant, AuthFilter permet le partage de ces cookies.

Cette section contient les rubriques suivantes :

  • Activation du partage de cookie entre les domaines
  • Activation du partage de cookie entre les applications


Activation du partage de cookie entre les domaines

Vous pouvez partager les cookies entre les domaines. Pour ce faire, vos domaines doivent posséder un nom de domaine de deuxième niveau commun. Par exemple, msdn.microsoft.com et premier.microsoft.com peuvent partager des cookies lorsque la propriété domain prend la valeur .microsoft.com, car .microsoft.com est le nom du domaine de deuxième niveau pour msdn.microsoft.com et premier.microsoft.com. Vous ne pouvez pas affecter uniquement le domaine de premier niveau à la propriété domain, par exemple .com.

Pour plus d’informations sur les niveaux de domaine, consultez Vue d’ensemble de l’espace de noms de domaine DNS.

Pour activer le partage de cookie entre les domaines

  1. Développez Gestionnaire Commerce Server, Sites de commerce, puis cliquez sur le site que vous voulez administrer.
  2. Développez Applications, cliquez avec le bouton droit sur l’application à configurer, puis cliquez sur Propriétés.
  3. Dans la zone Nombre de niveaux de domaine partagé, spécifiez le nombre de niveaux de domaine devant être en commun pour pouvoir partager un cookie.

    Par exemple, pour activer le partage de cookie entre les sous-domaines premier.microsoft.com et msdn.microsoft.com, affectez 2 à cette valeur.

    Remarque

    Dans le cas présent, le nombre 2 est calculé en ajoutant le domaine de premier niveau (.com) au domaine de deuxième niveau (microsoft.com) ; il y a 2 niveaux de domaine. Par conséquent, tous les sous-domaines du domaine microsoft.com, par exemple msdn.microsoft.com et premier.microsoft.com peuvent partager les cookies.

  4. Cliquez sur OK.
  5. Redémarrez les services IIS. Pour connaître les instructions à suivre, consultez Redémarrage des services IIS et Commerce Server.

Remarque

  • Si vous cryptez des tickets, vérifiez que la clé de cryptage est identique dans les deux domaines. Pour plus d’informations sur la génération d’une nouvelle clé de cryptage, consultez Génération d’une nouvelle clé de cryptage de cookie.

Voir aussi

Partage de cookie

Vue d’ensemble de l’espace de noms de domaine DNS

Gestion des propriétés de profil cryptées

Cryptage par clé tournante pour les tickets d’authentification


Activation du partage de cookie entre les applications

Pour partager des cookies entre des applications, vous devez affecter à la propriété path du cookie la valeur du chemin d’accès à l’application. Par exemple, affectez /retail comme valeur du chemin d’accès pour partager le cookie entre toutes les applications du site Retail. Pour partager des cookies entre des applications ne possédant pas le même nom de répertoire virtuel, vous devez affecter le niveau racine (/) au chemin d’accès.

Pour activer le partage de cookie entre les applications du même site

  1. Développez Gestionnaire Commerce Server, Sites de commerce, puis cliquez sur le site que vous voulez administrer.
  2. Développez Applications, cliquez avec le bouton droit sur l’application à configurer, puis cliquez sur Propriétés.
  3. Désactivez la case à cocher Définir le chemin des cookies pour l’application, puis cliquez sur OK.

    Remarque

    • Cette option entraîne l’affectation de la valeur « / » à la propriété path.
  4. Redémarrez les services IIS à l’aide des commandes net stop et net start. Pour connaître les instructions à suivre, consultez Redémarrage des services IIS et Commerce Server.

Remarques

  • Si vous utilisez le cryptage, vérifiez que la clé de cryptage est identique dans les deux applications. Pour plus d’informations sur la génération d’une nouvelle clé de cryptage, consultez Génération d’une nouvelle clé de cryptage de cookie.
  • Si la propriété CookiePath_ApplicationScope est sélectionnée, la valeur actuelle du chemin d’accès à l’application est affectée à la propriété path.

Voir aussi

Partage de cookie

Vue d’ensemble de l’espace de noms de domaine DNS

Authentification de base de Microsoft Exchange 2000 Outlook Web Access (OWA)

Concepts d’authentification

Configuration d’une application

BizDeskSecurity Object (en anglais)

AuthManager Object (en anglais)

Gestion des propriétés de profil cryptées


Connexion unique entre les domaines

Vous pouvez utiliser la connexion unique entre des domaines, lorsque vous possédez divers sites situés dans deux sous-domaines différents, mais qui appartiennent au même domaine de deuxième niveau. La lecture de cette rubrique nécessite une bonne compréhension de la terminologie relative à l’espace de noms de domaine DNS. Pour plus d’informations sur l’espace de noms de domaine DNS, consultez Vue d’ensemble de l’espace de noms de domaine DNS.

Pour appliquer la prise en charge de la connexion unique à plusieurs domaines, vous devez partager les cookies entre les domaines en utilisant leur propriété domain. Ce procédé ne fonctionne que si les domaines possèdent des noms de domaine de premier niveau et de deuxième niveau communs. Par exemple, le nom de domaine de premier niveau pour microsoft.com est .com et le nom de domaine de deuxième niveau pour microsoft.com est microsoft.com. Par conséquent, premier.microsoft.com et msdn.microsoft.com partagent les mêmes noms de domaine de premier niveau et de deuxième niveau ; ils peuvent donc partager des cookies.

Remarque

  • Lors du partage des cookies entre les domaines, vous devez partager au moins deux niveaux de domaine. Cependant, vous avez la possibilité de partager plus de deux niveaux de domaine.

Deux domaines tels que microsoft.com et microsoft.uk ne peuvent pas partager des cookies car leurs noms de domaine de premier niveau (dans le cas présent .com et .uk) sont différents. Dans ce cas de figure, l’utilisateur doit se connecter à nouveau lorsqu’il passe d’un domaine à l’autre.

Pour permettre la prise en charge d’une connexion unique entre des domaines qui ne possèdent pas le même nom de domaine de premier niveau, vous pouvez utiliser l’intégration Passport. Pour plus d’informations sur l’intégration Passport, consultez Integrating with Passport (en anglais).

Pour permettre la prise en charge de la connexion unique entre des domaines, consultez l’une des rubriques suivantes :

  • Activation du partage de cookie entre les applications
  • Activation du partage de cookie entre les domaines


Authentification des utilisateurs dans une batterie de serveurs Web (Web farm)

La connexion unique dans une batterie de serveurs Web (Web farm) est prise en charge par AuthFilter aussi bien en mode Authentification personnalisée qu’en mode d’authentification Windows.

  • Mode Authentification personnalisée. Lorsqu’un utilisateur se connecte à votre site, Commerce Server l’authentifie en vérifiant la connexion d’accès et le mot de passe entrés par cet utilisateur sur la page de connexion, par rapport à la connexion d’accès et au mot de passe stockés dans la banque de données des profils. Après avoir vérifié les informations de l’utilisateur, Commerce Server délivre un ticket MSCSAuth, puis transmet les informations d’identification à AuthFilter pour qu’il les stocke dans le cache de l’application. Le cookie indique que l’utilisateur est authentifié et qu’il est autorisé à accéder aux pages sécurisées de votre site.
  • Mode d’authentification Windows. Aucune vérification n’est nécessaire sur la page Login.asp. En fait, la page de connexion délivre un ticket MSCSAuth et envoie les informations d’identification des utilisateurs à AuthFilter. AuthFilter utilise ensuite ces informations d’identification pour remplir l’en-tête d’authentification, et permettre ainsi aux services IIS d’authentifier la demande par rapport à Active Directory.

Dans le cas de figure d’une batterie de serveurs Web (Web farm), si un utilisateur est authentifié sur un serveur Web, et qu’il est ensuite redirigé ou qu’il fait l’objet d’une répartition de charge vers un autre serveur Web, le second serveur Web ne demande pas à l’utilisateur de s’authentifier à nouveau. Pour prendre en charge cette fonctionnalité, vous pouvez activer AuthFilter, que Commerce Server installe au niveau du site Web IIS. Lorsque l’utilisateur est redirigé vers le second serveur Web, le filtre ISAPI lit le cookie de l’utilisateur et reconnaît que ce cookie contient un identificateur d’utilisateur valide. Si vous utilisez le mode Authentification personnalisée, aucune autre étape n’est effectuée.

Si vous utilisez le mode d’authentification Windows, Commerce Server effectue les étapes suivantes :

  1. AuthFilter ne possède pas les informations d’identification de l’utilisateur dans son cache (c’est la première fois que l’utilisateur demande à accéder à une page de ce serveur) ; par conséquent, AuthFilter redirige la demande vers la page Login.asp.
  2. Sur la page Login.asp, la demande dispose d’un ticket MSCSAuth valide ; par conséquent, à l’aide de l’identificateur d’utilisateur du ticket, une requête est envoyée à la banque de données des profils concernant le profil de l’utilisateur. En retour, l’identificateur de la connexion d’accès et le mot de passe de l’utilisateur sont renvoyés en texte clair.

    Important

    • Le développeur de site doit fournir cette fonctionnalité. Pour plus d’informations, consultez Mots de passe en texte clair.
  3. Commerce Server ajoute le nom d’accès et le mot de passe à l’adresse URL, puis redirige la demande de page sécurisée.
  4. AuthFilter intercepte la demande de page sécurisée, supprime l’identificateur d’utilisateur et le mot de passe de l’adresse URL, puis stocke le nom d’accès et le mot de passe dans son cache.
  5. AuthFilter affiche ensuite la page sécurisée à l’utilisateur. L’identificateur d’utilisateur et le mot de passe ne sont pas transmis à l’utilisateur.


Traitement d'AuthFilter dans une batterie de serveurs Web (Web farm)

Envoyer des commentaires sur cette page Commerce Server 2002

Traitement d’AuthFilter dans une batterie de serveurs Web (Web farm)

Dans une batterie de serveurs Web (Web farm), AuthFilter permet à l’utilisateur authentifié sur un serveur d’accéder à un site situé sur un autre serveur, sans devoir entrer à nouveau ses informations de connexion. Cependant, si la demande est envoyée avec la méthode Post via des sessions non persistantes, les informations contenues dans le corps de l’en-tête sont perdues lors de la redirection demandée. N’utilisez la méthode Post qu’avec des sessions persistantes. Si vous utilisez des sessions non persistantes, employez toujours la méthode Get et HTTPS.

Lorsque l’utilisateur authentifié arrive sur un nouveau serveur pour la première fois, les étapes suivantes sont effectuées :

  1. AuthFilter vérifie l’exactitude de l’adresse URL (et corrige automatiquement la casse, le cas échéant).
  2. AuthFilter vérifie que les cookies de session sont pris en charge.
  3. AuthFilter vérifie la présence du ticket MSCSAuth.
  4. AuthFilter vérifie que le ticket MSCSAuth est valide (en comparant l’heure actuelle à l’heure de la dernière connexion et à la durée de validité indiquée sur le ticket).
  5. Le cache de mots de passe n’est pas partagé entre les hôtes ; par conséquent, si l’utilisateur visite le site pour la première fois, aucune entrée du cache ne correspond à l’identificateur d’utilisateur indiqué sur le ticket. Dans ce type de situation, AuthFilter réinitialise la propriété de cookie MSCSFirstRequestedURL en lui affectant la valeur actuelle de l’adresse URL demandée.
  6. Le traitement est transmis à la page de connexion.
  7. Sur la page de connexion, une vérification a lieu pour confirmer qu’il ne s’agit pas d’une action Submit et que l’utilisateur dispose d’un ticket MSCSAuth valide. L’identificateur d’utilisateur est récupéré à partir du ticket avant de servir à récupérer le profil de l’utilisateur.
  8. Le mot de passe de l’utilisateur est récupéré à partir du profil avant d’être ajouté à la chaîne de requête d’adresse URL demandée, aux côtés de l’identificateur d’utilisateur. Ce mot de passe doit être accessible en texte clair. Pour plus d’informations sur l’utilisation d’un mot de passe en texte clair, consultez Mots de passe en texte clair.
  9. L’utilisateur est redirigé vers l’adresse URL demandée ; par ailleurs, lorsque les services IIS notifient l’événement à AuthFilter, ce dernier supprime l’identificateur d’utilisateur et le mot de passe de la chaîne de requête pour les placer dans le cache.
  10. Lorsque le navigateur soumet à nouveau la demande, AuthFilter recherche l’entrée correspondante dans le cache et vérifie que l’heure actuelle ne dépasse pas la durée de validité.
  11. Si l’heure actuelle ne dépasse pas la durée de validité, AuthFilter définit l’identificateur d’utilisateur et le mot de passe de la demande, et lui permet de se poursuivre.
  12. Si l’utilisateur dispose de droits d’accès à l’adresse URL demandée, celle-ci est traitée et renvoyée par les services IIS.

Remarque

  • En mode Authentification personnalisée, le cache de mots de passe n’est pas utilisé ; par conséquent, lorsqu’une demande est redirigée vers un nouveau serveur, l’instance d’AuthFilter située sur ce serveur vérifie simplement que le ticket MSCSAuth contenu dans la demande est valide. Si tel est le cas, AuthFilter autorise la demande à poursuivre son exécution ; sinon, il la redirige vers la page Login.asp.


AuthFilter et le site solution Retail

Cette section fournit des instructions pas à pas sur l’activation d’AuthFilter pour le site solution Retail. Elle inclut un exemple de code de page Login.asp nécessaire à l’activation d’AuthFilter pour le site solution Retail, ainsi que des informations importantes relatives à certains scénarios spécifiques.

Cette section contient les rubriques suivantes :

  • Activation d’AuthFilter pour le site solution Retail
  • Informations importantes sur AuthFilter concernant le site solution Retail
  • Code de la page Login.asp pour le site solution Retail


Activation d'AuthFilter pour le site solution Retail

Envoyer des commentaires sur cette page Commerce Server 2002

Activation d’AuthFilter pour le site solution Retail

Remarques

  • Avant d’effectuer ces étapes, il est recommandé de lire Informations importantes sur AuthFilter concernant le site solution Retail.
  • Concernant la page Login.asp d’AuthFilter pour le site solution Retail, consultez Code de la page Login.asp pour le site solution Retail.

Pour activer AuthFilter sur le site solution Retail

  1. Utilisez le Gestionnaire de package de site Commerce Server pour décompresser le site solution Retail.
  2. Développez Gestionnaire Commerce Server, Sites de commerce, puis cliquez sur le site que vous voulez administrer.
  3. Développez Applications, cliquez avec le bouton droit sur le nom de l’application que vous voulez utiliser, puis cliquez sur Propriétés.
  4. Dans la boîte de dialogue Propriétés, sous l’onglet Général, dans la zone Filtre d’authentification, sélectionnez Authentification Windows ou Authentification personnalisée, puis cliquez sur OK.
  5. Utilisez un éditeur de texte pour ouvrir Authfiles\Login.asp pour le site Retail.
  6. Dans Login.asp, vérifiez que vous disposez des fichiers inclus contenus dans Retail\Login\Login.asp et que le code correspond à l’exemple. Pour vérifier le code de l’exemple, consultez Code de la page Login.asp pour le site solution Retail.
  7. Enregistrez et fermez la page Login.asp mise à jour.
  8. Utilisez le module Utilisateurs dans Commerce Server Business Desk pour créer un nouvel utilisateur pour le site Retail. Pour plus d’informations, consultez Ajout d’un profil utilisateur.
  9. Utilisez Internet Explorer pour naviguer jusqu’à http://<nom_ordinateur>/Retail.

Sur la page de connexion, tapez votre nom d’utilisateur et votre mot de passe si vous êtes un utilisateur inscrit, ou inscrivez-vous en cliquant sur le lien situé au bas de la page.

La page Login.asp définit le ticket MSCSAuth pour l’utilisateur inscrit, récupère son profil et remplit la page Web à l’aide des informations de profil récupérées.

Si le profil est introuvable, la page Login.asp s’affiche à nouveau avec un message d’erreur, et présente une nouvelle fois les deux mêmes options permettant de se connecter. Si le nom d’utilisateur ou le mot de passe n’est pas valide, la page Login.asp s’affiche à nouveau, mais sans message d’erreur. Pour ajouter une page d’inscription ou de nouvel utilisateur à votre site Web à l’aide d’AuthFilter, suivez les instructions indiquées pour la page Login.asp.

Voir aussi

Informations importantes sur AuthFilter concernant le site solution Retail

Code de la page Login.asp pour le site solution Retail


Informations importantes sur AuthFilter concernant le site solution Retail

  • Si vous décompressez un site vers le répertoire racine des services IIS alors qu’AuthFilter est activé, vous devez désactiver la case à cocher de la propriété de niveau application Définir le chemin des cookies pour l’application. Cette propriété représente la propriété path définie pour les cookies. Par défaut, l’indicateur est activé de manière à définir le répertoire virtuel du site (par exemple, /retail) comme valeur de cette propriété. En désactivant cette case à cocher, la racine (/) est définie en tant que propriété path pour vos cookies. Après la mise à jour de cette propriété, vous devez redémarrer les services IIS. Pour connaître les instructions à suivre, consultez Redémarrage des services IIS et Commerce Server.
  • Vérifiez que vous utilisez un accès anonyme pour tous les fichiers inclus, .gif ou d’application d’assistance utilisés par la page Login.asp.
  • Pour l’authentification Windows, la page de connexion par défaut utilise l’action GET dans la page Login.asp après que l’utilisateur a cliqué sur Submit. L’action POST est également prise en charge avec la page Login.asp. Pour plus d’informations sur la prise en charge de l’action POST, consultez les commentaires inclus dans la page Login.asp et suivez ces instructions.
  • Il existe un problème de sécurité connu concernant l’utilisation de l’action GET avec la page Login.asp. Il est recommandé de demander aux utilisateurs visitant votre site de configurer leur navigateur de manière à effacer automatiquement l’historique du navigateur après leur déconnexion ou d’effacer l’historique manuellement.
  • Dans l’authentification Windows, les variables de serveur suivantes ne sont pas définies : AUTH_USER et AUTH_TYPE. La valeur de la variable de serveur LOGON_USER est affectée à l’identificateur d’utilisateur utilisé pour la connexion.
  • Pour utiliser SSL (Secure Sockets Layer), vous devez définir le chemin d’accès complet comme valeur de la propriété Formulaire de connexion dans la ressource CS Authentication. Pour connaître les instructions à suivre, consultez Configuration de la ressource CS Authentication.
  • Si vous décidez d’activer AuthFilter après l’avoir désactivé, vous devez appliquer de nouveau manuellement les paramètres de sécurité des services IIS (Internet Information Services) 5.0. Pour connaître les instructions à suivre, consultez la documentation des services IIS 5.0.
  • Une fois que vous avez modifié une valeur de propriété de la ressource CS Authentication dans le Gestionnaire Commerce Server, vous devez décharger l’application Commerce Server de la mémoire sur chaque serveur Web pour que les modifications soient prises en compte. Pour connaître les instructions à suivre, consultez Déchargement d’une application de la mémoire.

Voir aussi

Ajout d’un profil utilisateur

Code de la page Login.asp pour le site solution Retail

Code de la page Login.asp pour le site solution Supplier

Déchargement d’une application de la mémoire

Configuration de la ressource CS Authentication


Code de la page Login.asp pour le site solution Retail

Vous trouverez ci-dessous le code de la page Login.asp pour le site solution Retail. Si vous choisissez d’utiliser AuthFilter pour le site Retail, vous devez utiliser ce code pour la page Login.asp de votre site. Pour plus d’informations, consultez Activation d’AuthFilter pour le site solution Retail.

<!-- #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%>

Voir aussi

Activation d’AuthFilter pour le site solution Retail


AuthFilter et le site solution SupplierAD

Cette section fournit des instructions pas à pas sur l’activation d’AuthFilter pour le site solution SupplierAD. Elle inclut un exemple de code de page Login.asp nécessaire à l’activation d’AuthFilter pour le site solution SupplierAD, ainsi que des informations importantes relatives à certains scénarios spécifiques.

Cette section contient les rubriques suivantes :

  • Activation d’AuthFilter pour le site solution Supplier
  • Informations importantes sur AuthFilter concernant le site solution Supplier
  • Code de la page Login.asp pour le site solution Supplier


Activation d'AuthFilter pour le site solution Supplier

Envoyer des commentaires sur cette page Commerce Server 2002

Activation d’AuthFilter pour le site solution Supplier

Remarques

  • Avant d’effectuer ces étapes, il est recommandé de lire Informations importantes sur AuthFilter concernant le site solution Retail.
  • Concernant la page Login.asp d’AuthFilter pour le site solution Supplier, consultez Code de la page Login.asp pour le site solution Supplier.

Pour utiliser le site solution Supplier avec AuthFilter en mode d’authentification Windows, vous devez définir le mode de sécurité sur votre contrôleur de domaine de manière à permettre une ouverture de session locale. Pour connaître les instructions à suivre, consultez Définition du mode de sécurité sur le contrôleur de domaine.

Seule l’authentification de base doit être activée sur le site solution Supplier. Ne modifiez aucun autre paramètre de sécurité. Consultez l’aide en ligne des services IIS pour plus d’informations.

L’accès anonyme doit être activé pour le sous-dossier AuthFiles et toutes les pages qu’il contient.

Si votre contrôleur de domaine et votre serveur Web sont installés sur différents ordinateurs du même domaine, AuthFilter doit posséder un compte anonyme sur le serveur Web pour pouvoir exécuter avec succès la méthode ProfileService.GetUserProfileByKey() sur la page Login.asp pour n’importe quel profil/utilisateur.

Par défaut, IUSR_<nomserveur> est un compte d’utilisateur anonyme. Dans le Gestionnaire des services Internet, IUSR_<nomserveur> ne dispose pas d’autorisations suffisantes pour exécuter cette méthode avec succès dans ce scénario. De plus, si votre serveur Web est différent de votre serveur représentant le contrôleur de domaine, vous devez ajouter un compte d’utilisateur provenant de ce domaine en tant que compte anonyme. Pour ce faire, vous devez en premier lieu créer un compte d’utilisateur sur le domaine disposant d’un accès lui permettant de lire les propriétés d’utilisateur de Active Directory. Puis, sur le serveur Web, utilisez le Gestionnaire des services Internet (IIS) pour configurer le même compte d’utilisateur en tant que compte anonyme pour le sous-dossier AuthFiles et tous les fichiers qu’il contient.

Pour activer AuthFilter sur le site solution Supplier

  1. Utilisez le Gestionnaire de package de site Commerce Server pour décompresser le site solution Supplier.
  2. Développez Gestionnaire Commerce Server, Sites de commerce, puis cliquez sur le site que vous voulez administrer.
  3. Développez Applications, cliquez avec le bouton droit sur le nom de l’application que vous voulez utiliser, puis cliquez sur Propriétés.
  4. Dans la boîte de dialogue Propriétés, sous l’onglet Général, dans la zone Filtre d’authentification, sélectionnez Authentification Windows ou Authentification personnalisée, puis cliquez sur OK.
  5. Développez Services IIS, cliquez avec le bouton droit sur le site Supplier, puis cliquez sur Propriétés.
  6. Dans la boîte de dialogue Propriétés, sous l’onglet Sécurité de répertoire, dans la section Accès anonyme et contrôle d’authentification, cliquez sur Modifier.
  7. Dans la boîte de dialogue Méthodes d’authentification, désactivez la case à cocher Authentification intégrée de Windows.

    Remarque

    • Seule l’authentification de base doit être activée sur le site solution Supplier. Ne modifiez aucun autre paramètre de sécurité.
  8. Utilisez un éditeur de texte pour ouvrir Authfiles\Login.asp pour le site Supplier.
  9. Si vous utilisez une batterie de serveurs Web (Web farm) ou qu’une prise en charge d’un compte proxy est nécessaire, vous devez mettre à jour le code dans la page Login.asp de sorte qu’il corresponde à celui indiqué dans la rubrique Code de la page Login.asp pour le site solution Supplier.
    Important
    • Il n’est pas nécessaire de mettre à jour la page Login.asp s’il s’agit d’un serveur unique ne nécessitant pas de prise en charge de comptes proxy.
  10. Pour l’authentification Windows, changez la méthode GetUserInfo() dans \SupplierAD\include\Std_access_lib.asp comme suit :
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. Pour l’authentification Windows, dans la méthode PrepareLoginSection contenue dans \SupplierAD\template\menu.asp, modifiez le code d’une chaîne Request.ServerVariables faisant référence à la variable de serveur « AUTH_USER » pour qu’elle fasse référence à la variable de serveur « LOGON_USER ». Par exemple :

    Avant : sAuthUser = Request.ServerVariables("AUTH_USER")

    Après : sAuthUser = Request.ServerVariables("LOGON_USER")

  2. Enregistrez et fermez les pages Login.asp et Menu.asp mises à jour.
  3. Utilisez Business Desk pour créer un nouvel utilisateur pour le site Supplier.
    Important
    • Vous devez créer une organisation avant de pouvoir ajouter ou créer des utilisateurs pour celle-ci.
  4. Utilisez Internet Explorer pour naviguer jusqu’à http://<nom_ordinateur>/SupplierAD.
  5. Dans la page de connexion, tapez le nom d’utilisateur au format NomDomaine\IdentificateurUtilisateur ou au format UPN (nom utilisateur principal). (Vous pouvez adapter la page Login.asp pour ajouter ces formats à IdentificateurUtilisateur/nom).

    Remarque

    • Si vous disposez d’un profil utilisateur Active Directory/SQL Server partitionné, entrez uniquement <nom d’utilisateur>@ sur la page de connexion, où <nom d’utilisateur> représente votre identificateur d’utilisateur. Dans ce cas de figure, AuthFilter résout le nom de domaine à partir du nom d’utilisateur.
  6. Sur la page de connexion, tapez votre mot de passe si vous êtes un utilisateur inscrit, ou inscrivez-vous en cliquant sur le lien situé au bas de la page. (Vous devez ajouter votre propre page d’inscription sur laquelle vous pouvez créer des comptes sur Active Directory).

La page Login.asp définit le ticket MSCSAuth pour l’utilisateur inscrit, récupère son profil et vérifie les informations d’identification, le cas échéant. La demande remplit la page Web par défaut à l’aide des informations de profil récupérées.

Si le nom d’utilisateur ou le mot de passe ne sont pas valides, ou si le profil est introuvable, la page Login.asp s’affiche à nouveau avec un message d’erreur, et présente une nouvelle fois les deux mêmes options permettant de se connecter.


Informations importantes sur AuthFilter concernant le site solution Supplier

  • Si vous décompressez un site vers le répertoire racine des services IIS alors qu’AuthFilter est activé, vous devez désactiver la case à cocher de la propriété de niveau application Définir le chemin des cookies pour l’application. Cette propriété représente la propriété path définie pour les cookies. Par défaut, l’indicateur est activé de manière à définir le répertoire virtuel du site (par exemple, /retail) comme valeur de cette propriété. En désactivant cette case à cocher, vous définissez la racine (/) en tant que propriété path pour vos cookies. Après la mise à jour de cette propriété, vous devez redémarrer les services IIS via la commande net start w3svc. Pour connaître les instructions à suivre, consultez Redémarrage des services IIS et Commerce Server.
  • Vérifiez que vous utilisez un accès anonyme pour tous les fichiers inclus, .gif ou d’application d’assistance utilisés par la page Login.asp.
  • Pour l’authentification Windows, la page de connexion par défaut utilise l’action GET dans la page Login.asp après que l’utilisateur a cliqué sur Submit. L’action POST est également prise en charge avec la page Login.asp. Pour plus d’informations sur la prise en charge de l’action POST, consultez les commentaires inclus dans la page Login.asp et suivez ces instructions.
  • Il existe un problème de sécurité connu concernant l’utilisation de l’action GET avec la page Login.asp. Il est recommandé de demander aux utilisateurs visitant votre site de configurer leur navigateur de manière à effacer automatiquement l’historique du navigateur après leur déconnexion ou d’effacer l’historique manuellement.
  • Dans l’authentification Windows, les variables de serveur suivantes ne sont pas définies : AUTH_USER et AUTH_TYPE. La variable de serveur LOGON_USER a pour valeur l’identificateur d’utilisateur utilisé pour la connexion.
  • Pour utiliser SSL (Secure Sockets Layer), vous devez définir le chemin d’accès complet comme valeur de la propriété Formulaire de connexion dans la ressource CS Authentication. Pour connaître les instructions à suivre, consultez Configuration de la ressource CS Authentication.

Voir aussi

Code de la page Login.asp pour le site solution Supplier

Redémarrage des services IIS et Commerce Server


Code de la page Login.asp pour le site solution Supplier

Vous trouverez ci-dessous le code de la page Login.asp pour le site solution Supplier. Cette page Login.asp modifiée n’est nécessaire que si le contrôleur de domaine est distinct de l’installation de Commerce Server. Vous n’avez pas besoin d’utiliser ce code dans d’autres situations. Si vous placez cette page Login.asp dans une configuration à ordinateur unique, l’invite de connexion s’affiche à deux reprises, ce qui oblige l’utilisateur à se connecter deux fois.

Pour plus d’informations, consultez Activation d’AuthFilter pour le site solution Supplier.

<!-- #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%>

Voir aussi

Activation d’AuthFilter pour le site solution Supplier


Utilisation d'AuthFilter sur un site .NET

Envoyer des commentaires sur cette page Commerce Server 2002

Utilisation d’AuthFilter sur un site .NET

Si vous développez un site à l’aide de Visual Studio .NET et que vous avez activé AuthFilter, lorsque Visual Studio .NET essaie de se connecter au site, AuthFilter effectue une redirection qui empêche Visual Studio .NET d’ouvrir le projet.

Vous devez désactiver AuthFilter puis redémarrer les services IIS. La désactivation d’AuthFilter n’entraîne pas son déchargement de l’espace de processus des services IIS tant que ces derniers n’ont pas redémarré ; elle supprime simplement l’entrée relative à AuthFilter dans la métabase.

Voir aussi

Désactivation d’AuthFilter

Redémarrage des services IIS et Commerce Server


Désactivation d'AuthFilter

Envoyer des commentaires sur cette page Commerce Server 2002

Désactivation d’AuthFilter

Si vous ne voulez pas appliquer AuthFilter à votre site, au niveau du site, vous devez effectuer les opérations suivantes :

  • Sous l’onglet Propriétés générales d’une application, dans la section Filtre d’authentification Commerce Server, sélectionnez le mode Aucun filtre.
  • Supprimez le mode Génération de cookie automatique pour le site.

Lorsque vous sélectionnez le mode Aucun filtre, AuthFilter n’est pas appliqué au site Web ; cependant, le filtre existe toujours dans les services IIS car un autre site l’utilise peut-être. Si vous souhaitez tout de même supprimer ce filtre, utilisez le Gestionnaire des services Internet.

Si vous sélectionnez Aucun filtre et que le mode Génération de cookie automatique est activé, AuthFilter continue d’être appliqué au site.

Dans le mode Aucun filtre, le développeur de site peut appliquer l’authentification à des pages ASP (Active Server Pages) individuelles, en appelant des méthodes exposées par l’objet AuthManager. AuthManager est un objet COM (Component Object Model) qui expose les méthodes permettant d’identifier les utilisateurs et de contrôler l’accès au contenu généré dynamiquement. Par exemple, un développeur de site peut appeler la méthode GetUserID d’AuthManager pour identifier un utilisateur à partir d’un cookie ou d’une chaîne de requête.

Par défaut, les sites solutions de Commerce Server 2002 utilisent le mode Aucun filtre et implémentent un modèle d’authentification basé sur AuthManager. Si vous souhaitez modifier les sites pour bénéficier des avantages d’AuthFilter, vous devez apporter des modifications aux pages Login.asp et aux autres pages d’application d’assistance des sites. Pour plus d’informations, consultez Activation d’AuthFilter pour le site solution Retail et Activation d’AuthFilter pour le site solution Supplier.

Pour désactiver AuthFilter

  1. Développez Gestionnaire Commerce Server, Sites de commerce, puis cliquez sur le site que vous voulez administrer.
  2. Développez Applications, cliquez avec le bouton droit sur l’application à configurer, puis cliquez sur Propriétés.
  3. Dans la boîte de dialogue Propriétés, sous l’onglet Général, dans la zone Filtre d’authentification, sélectionnez Aucun filtre.
  4. Désactivez la case à cocher Création de cookie automatique si elle est activée, puis cliquez sur OK.

Remarques

  • Une fois que vous avez modifié une valeur de propriété dans le Gestionnaire Commerce Server, vous devez redémarrer les services IIS (Internet Information Services) 5.0 pour que les modifications soient prises en compte. Ceci est également valable lorsque vous déchargez le filtre ISAPI de la mémoire, car cette opération supprime uniquement les paramètres de la métabase IIS pour le filtre. Pour obtenir des instructions sur le redémarrage des services IIS, consultez Redémarrage des services IIS et Commerce Server.
  • Si vous désactivez AuthFilter pour un site en sélectionnant le mode Aucun filtre, vous devez configurer manuellement les paramètres de sécurité nécessaires au site. Pour configurer manuellement les paramètres de sécurité, utilisez les services IIS, sélectionnez les paramètres de sécurité de votre choix pour ce site, puis redémarrez les services IIS.

Voir aussi

Redémarrage des services IIS et Commerce Server

Activation d’AuthFilter pour le site solution Retail

Activation d’AuthFilter pour le site solution Supplier


AuthManager

AuthManager est un objet COM (Component Object Model) qui expose les méthodes permettant d’identifier les utilisateurs et de contrôler l’accès au contenu généré dynamiquement. Les méthodes et propriétés de cet objet contrôlent le contenu des cookies et des chaînes d’adresse URL codées ; par ailleurs, elles accèdent également à ce contenu.

La figure suivante illustre le fonctionnement d’AuthManager.

L’objet AuthManager fournit une interface transparente aux tickets, qu’ils soient stockés dans des cookies ou dans des chaînes de requête d’adresse URL, et gère le cryptage et le décryptage de ces tickets pour garantir la sécurité.

Utilisez l’objet AuthManager uniquement via des pages ASP (Active Server Pages), car il dépend d’objets ASP intrinsèques.

Remarque

  • En dehors d’un script ASP, vous pouvez utiliser les méthodes
    GetUserIDFromCookie et GetUserIDFromCookieAndKey d’AuthManager.

L’objet AuthManager fournit des méthodes qui permettent de placer le ticket dans un cookie, si ces derniers sont activés sur le client ; dans le cas où les cookies ne sont pas activés, le ticket peut être placé dans une chaîne d’adresse URL codée. Lorsque l’objet AuthManager est utilisé avec le filtre ISAPI AuthFilter, les cookies doivent être activés.

Voir aussi

Authentication Features (en anglais)


Mode d'authentification Windows

Envoyer des commentaires sur cette page Commerce Server 2002

Mode d’authentification Windows

En mode d’authentification Windows, un utilisateur est validé via la définition d’un cookie de session qui contient un ticket MSCSAuth. Aucune date d’expiration n’est spécifiée pour le cookie ; en outre, celui-ci est supprimé une fois que la session a expiré. Un ticket MSCSAuth contient un identificateur d’utilisateur, l’heure de la dernière connexion et la durée de validité du ticket au-delà de cette heure de dernière connexion. Un utilisateur validé n’a pas automatiquement accès à une adresse URL demandée. Les informations d’identification de l’utilisateur, une fois validées, sont vérifiées par rapport aux droits d’accès de l’adresse URL, lesquels sont gérés via les listes de contrôle d’accès (ACL).

Le diagramme suivant illustre le fonctionnement du mode d’authentification Windows.

Pour une illustration du fonctionnement du mode d’authentification Windows avec des comptes proxy, consultez Comptes proxy.

Remarques

  • Lorsque le mode d’authentification Windows est activé, la sécurité du site est automatiquement définie à partir de l’authentification de base des services IIS (Internet Information Services). Ne modifiez pas ce paramètre, car il permet à AuthFilter de recevoir les notifications d’événements en provenance des services IIS.
  • Après la décompression d’un site solution utilisable avec Commerce Server 2002, l’accès anonyme aux fichiers du dossier <nomsite>\AuthFiles est activé. Si ces fichiers ne sont pas utilisés, ils doivent être supprimés. Pour plus d’informations sur les sites solutions, consultez Commerce Server Solution Sites.

Cette section contient les rubriques suivantes :

  • Traitement des demandes des utilisateurs en mode d’authentification Windows
  • Page de connexion : méthode Get et méthode Post
  • Mots de passe en texte clair
  • Activation de l’authentification Windows
  • AuthFilter et les attaques DDoS
  • Comptes proxy


Traitement des demandes des utilisateurs en mode d'authentification Windows

Envoyer des commentaires sur cette page Commerce Server 2002

Traitement des demandes des utilisateurs en mode d’authentification Windows

En mode d’authentification Windows, lorsqu’un utilisateur demande une adresse URL, plusieurs résultats sont possibles. Les services IIS (Internet Information Services) détectent la demande envoyée par le navigateur et notifient l’événement SF_NOTIFY_PREPROC_HEADERS à AuthFilter. Dès lors, AuthFilter prend le contrôle du traitement de la demande et effectue les actions suivantes :

  1. Il vérifie les propriétés de configuration du site dans le cache local de configuration du site ; si celles-ci sont introuvables, il lit les propriétés de configuration du site dans la base de données d’administration via un objet SiteConfig avant de les stocker dans le cache local de configuration du site.
  2. Il vérifie que l’adresse URL est exacte, en corrigeant automatiquement la casse des racines de répertoire virtuel IIS, le cas échéant.
  3. Il vérifie que le navigateur prend en charge les cookies de session.

À ce stade, trois actions sont possibles, selon que le navigateur accepte les cookies ou non. L’utilisateur est redirigé soit vers une page de support technique soit vers une page de connexion, ou bien il reçoit l’adresse URL demandée.

Cas n°1 : Rediriger vers une page de support technique

Cas n°2 : Envoyer l’adresse URL demandée

Cas n°3 : Rediriger vers une page de connexion

Cas n°1 : Rediriger vers une page de support technique

Dans ce cas de figure, les cookies sont désactivés. Dès qu’AuthFilter détecte que les cookies de session sont désactivés, il redirige l’utilisateur vers une page de support technique qui informe celui-ci que les cookies sont nécessaires et qu’il faudra soumettre à nouveau la demande lorsque les cookies auront été activés.

Pour ce faire, AuthFilter effectue en arrière-plan les étapes ci-dessous après avoir été notifié par les services IIS qu’un événement SF_NOTIFY_PREPROC_HEADERS s’est produit.

  1. Il vérifie les propriétés de configuration du site dans le cache local du site ; si celles-ci sont introuvables, il lit les propriétés de configuration du site dans la base de données d’administration via un objet SiteConfig.
  2. Il vérifie que le navigateur prend en charge les cookies de session. Si les cookies de session ne sont pas pris en charge, l’utilisateur est redirigé vers la page ASP (Active Server Pages) spécifiée dans la propriété Formulaire sans cookie de la propriété d’interface utilisateur du Gestionnaire Commerce Server de la ressource CS Authentication. En règle générale, cette page indique à l’utilisateur que les cookies sont nécessaires et qu’il faut soumettre à nouveau la demande après avoir activé les cookies. Par défaut, une page ASP nommée Nocookie.asp est fournie à cet effet. Ce fichier se trouve dans le dossier AuthFiles du répertoire d’installation de Commerce Server.

Cas n°2 : Envoyer l’adresse URL demandée

Dans ce cas de figure, les cookies sont activés. L’adresse URL demandée est renvoyée à l’utilisateur quel que soit le scénario ci-dessous :

  • La demande contient un ticket MSCSAuth valide et l’utilisateur dispose de droits d’accès à l’adresse URL demandée.
  • La demande ne contient pas de ticket MSCSAuth, mais l’adresse URL demandée autorise les accès anonymes.

Pour ce faire, AuthFilter effectue en arrière-plan les étapes ci-dessous après avoir été notifié par les services IIS qu’un événement SF_NOTIFY_PREPROC_HEADERS s’est produit.

  1. Il vérifie les propriétés de configuration du site dans le cache local du site ; si celles-ci sont introuvables, il lit les propriétés de configuration du site dans la base de données d’administration via un objet SiteConfig.
  2. Il définit un cookie avec une propriété MSCSFirstRequestedURL qui prend la valeur de l’adresse URL demandée à l’origine.
  3. Si la demande ne contient pas de ticket MSCSAuth, elle est redirigée vers la page Login.asp.
  4. Si l’adresse URL demandée autorise les accès anonymes, elle est renvoyée.
  5. Si le cookie contient un ticket MSCSAuth, AuthFilter recherche dans le cache de mots de passe local une entrée correspondant à l’identificateur d’utilisateur présent dans le cookie.
  6. Lorsque l’entrée est trouvée, AuthFilter compare l’heure actuelle à l’heure de la dernière connexion définie dans le ticket pour vérifier que celle-ci ne dépasse pas la durée de validité spécifiée dans le ticket. Si l’heure actuelle est antérieure de cinq minutes à l’heure de la dernière connexion ajoutée à la durée de validité, l’heure de la dernière connexion définie dans le ticket est remplacée par l’heure actuelle afin que l’utilisateur actif puisse poursuivre sa navigation.
  7. L’heure actuelle ne dépassant pas la durée de validité, le ticket est considéré comme valide. L’identificateur d’utilisateur et le mot de passe sont soumis aux services IIS pour permettre l’accès à l’adresse URL demandée.
  8. L’utilisateur dispose de droits d’accès à l’adresse URL demandée, par conséquent, les services IIS renvoient la page.

Cas n°3 : Rediriger vers une page de connexion

Dans ce cas de figure, les cookies sont activés. AuthFilter redirige l’utilisateur vers un formulaire de connexion quel que soit le scénario ci-dessous :

  • La demande ne contient pas de ticket MSCSAuth et l’adresse URL demandée n’autorise pas les accès anonymes.
  • La demande contient un ticket MSCSAuth non valide.
  • La demande contient un ticket MSCSAuth valide mais l’utilisateur ne dispose pas de droits d’accès à l’adresse URL demandée. La page ASP (Active Server Pages) vers laquelle l’utilisateur doit être redirigé est spécifiée dans la propriété Formulaire de connexion de la ressource CS Authentication.
  • La demande contient un ticket MSCSAuth valide mais les informations d’identification de l’utilisateur ne sont pas dans le cache de mots de passe AuthFilter (lorsque la demande est envoyée à un nouveau serveur Web dans le cas d’une batterie de serveurs Web (Web farm).

Pour ce faire, AuthFilter effectue en arrière-plan les étapes ci-dessous après avoir été notifié par les services IIS qu’un événement SF_NOTIFY_PREPROC_HEADERS s’est produit.

  1. Il vérifie les propriétés de configuration du site dans le cache local du site ; si celles-ci sont introuvables, il lit les propriétés de configuration du site dans la base de données d’administration via un objet SiteConfig.
  2. Il envoie un cookie avec une propriété MSCSFirstRequestedURL qui prend la valeur de l’adresse URL demandée à l’origine.
  3. Si la demande ne contient pas de ticket MSCSAuth, elle est redirigée vers la page Login.asp.
  4. Si l’adresse URL demandée n’autorise pas les accès anonymes, les services IIS notifient l’événement SF_NOTIFY_ACCESS_DENIED à AuthFilter ; en outre, l’utilisateur est redirigé vers une page de connexion ou une page d’erreur, selon le cas.
  5. Si le cookie contient effectivement un ticket MSCSAuth, AuthFilter recherche dans le cache de mots de passe une entrée correspondant à l’identificateur d’utilisateur présent dans le cookie.
  6. Si aucune entrée correspondante n’est trouvée, l’utilisateur est redirigé vers la page de connexion.
  7. Si une entrée est trouvée, AuthFilter compare l’heure actuelle à l’heure de la connexion pour vérifier que celle-ci n’excède pas la durée de validité spécifiée dans le ticket.
  8. Si l’heure actuelle dépasse la durée de validité spécifiée dans le ticket, l’utilisateur est redirigé vers la page de connexion.
  9. Si l’heure actuelle ne dépasse pas la durée de validité, le ticket est considéré comme valide. L’identificateur d’utilisateur et le mot de passe sont soumis aux services IIS pour permettre l’accès à l’adresse URL demandée.
  10. Si l’utilisateur ne dispose pas de droits d’accès à l’adresse URL demandée, les services IIS envoient la notification SF_NOTIFY_ACCESS_DENIED, et AuthFilter redirige l’utilisateur vers une page de connexion.

Pour plus d’informations sur les événements de la page de connexion, consultez Page de connexion : méthode Get et méthode Post.

Voir aussi

Activation de l’authentification Windows

Traitement des demandes des utilisateurs en mode Authentification personnalisée

Traitement des demandes des utilisateurs en mode Création de cookie automatique


Page de connexion: méthode Get et méthode Post

Envoyer des commentaires sur cette page Commerce Server 2002

Page de connexion : méthode Get et méthode Post

Le développeur de site doit créer une page Login.asp pour permettre aux utilisateurs d’entrer leurs informations d’identification. Vous spécifiez cette page de connexion dans la propriété Formulaire de connexion de la ressource CS Authentication. Pour un exemple de page Login.asp, consultez le dossier \Microsoft Commerce Server 2002\AuthFiles.

Lorsque l’utilisateur demande la page de connexion et que cette demande n’est pas une soumission de formulaire, la page est envoyée à l’utilisateur. La page de connexion doit autoriser les accès anonymes car, à ce stade, l’utilisateur n’est pas authentifié. La page de connexion comporte un lien vers une page d’inscription pour les nouveaux utilisateurs. L’utilisateur soumet le formulaire de connexion contenant son identificateur d’utilisateur et son mot de passe. Si l’une des informations d’identification est omise, l’utilisateur est redirigé vers la page de connexion. AuthFilter exécute différentes actions selon que la soumission est effectuée via la méthode Get ou la méthode Post.

Pour des raisons de performance, ne définissez pas de cookies persistants sur la page de connexion.

Méthode Get

Méthode Post

Méthode Get

Lorsque la méthode Get est utilisée, l’identificateur d’utilisateur et le mot de passe soumis sont placés dans l’en-tête HTTP, et sont disponibles pour AuthFilter lorsque ce dernier reçoit la notification de l’événement SF_NOTIFY_PREPROC_HEADERS. Ceci se produit avant que la page de connexion ne traite la demande.

Les étapes suivantes sont effectuées :

  1. AuthFilter récupère l’identificateur d’utilisateur et le mot de passe soumis à partir des propriétés de la collection QueryString, txtUserName et txtPassword.
  2. AuthFilter recherche dans le cache de mots de passe une entrée correspondant à l’identificateur d’utilisateur.
  3. Si une entrée est trouvée, le mot de passe est mis à jour à partir du mot de passe soumis.
  4. Si aucune entrée n’est trouvée, une nouvelle entrée est créée à l’aide de l’identificateur d’utilisateur et du mot de passe soumis.
  5. AuthFilter renvoie le traitement à la page de connexion.
  6. Dans la page de connexion, l’identificateur d’utilisateur et le mot de passe soumis sont récupérés à partir des propriétés txtUserName et txtPassword de la collection QueryString de l’objet Request.
  7. Grâce à l’identificateur d’utilisateur soumis, le profil de l’utilisateur est récupéré à partir de la ressource Profils de Commerce Server ou de tout autre système de profils.
  8. Si l’utilisateur ne possède pas de profil, il est redirigé vers la page d’inscription.
  9. Si l’utilisateur possède un profil, mais que le mot de passe associé au profil ne correspond pas au mot de passe soumis, la page de connexion est renvoyée à l’utilisateur.
  10. Si les mots de passe correspondent, l’objet AuthManager sert à définir le ticket MSCSAuth dans un cookie de session pour l’utilisateur.
  11. L’utilisateur est redirigé vers l’adresse URL d’origine, laquelle a été préalablement stockée par AuthFilter dans la propriété MSCSFirstRequestedURL d’un cookie de session distinct.
  12. Lorsque le navigateur soumet à nouveau la demande, AuthFilter détermine la validité du ticket et renvoie le traitement aux services IIS.
  13. Si l’utilisateur dispose de droits d’accès à l’adresse URL, celle-ci est renvoyée.

Méthode Post

Lorsque la méthode Post est utilisée, l’identificateur d’utilisateur et le mot de passe soumis sont placés dans le corps HTTP et ne sont pas accessibles par AuthFilter tant que la page de connexion n’a pas traité la demande. Ceci nécessite une étape supplémentaire par rapport au traitement d’une demande à l’aide de la méthode Get. Cette étape implique l’ajout de l’identificateur d’utilisateur et du mot de passe à la chaîne de requête d’adresse URL. Pour obtenir un exemple de code illustrant ces étapes, consultez Code to Retrieve Login Credentials Using the Post Method and Set an MSCSAuth Ticket (en anglais).

Les étapes suivantes sont effectuées :

  1. Initialement, l’identificateur d’utilisateur et le mot de passe soumis ne sont pas accessibles par AuthFilter ; en outre, le traitement est immédiatement renvoyé à la page de connexion.
  2. Dans la page de connexion, l’identificateur d’utilisateur et le mot de passe soumis sont récupérés à partir des propriétés txtUserName et txtPassword de la collection Form de l’objet Request.
  3. Grâce à l’identificateur d’utilisateur soumis, le profil de l’utilisateur est récupéré à partir de la ressource Profils de Commerce Server ou de tout autre système de profils.
  4. Si l’utilisateur ne possède pas de profil, il est redirigé vers la page d’inscription.
  5. Si l’utilisateur possède effectivement un profil, mais que le mot de passe associé au profil ne correspond pas au mot de passe soumis, la page de connexion est renvoyée à l’utilisateur.
  6. Si les mots de passe correspondent, l’objet AuthManager sert à définir le ticket MSCSAuth dans un cookie de session pour l’utilisateur.
  7. L’identificateur d’utilisateur et le mot de passe sont ajoutés à la chaîne de requête d’adresse URL d’origine, laquelle a été préalablement stockée par AuthFilter dans la propriété MSCSFirstRequestedURL d’un cookie de session distinct, à l’aide de deux propriétés, proxyuser et proxypwd. Il en résulte la chaîne de requête suivante :
       "<MSCSFirstRequestedURL>&proxyuser=UserID&proxypwd=Password"
  8. L’utilisateur est redirigé vers l’adresse URL d’origine.
  9. Les services IIS notifient à AuthFilter l’envoi d’une réponse par redirection via l’événement SF_NOTIFY_SEND_RESPONSE.
  10. AuthFilter supprime l’identificateur d’utilisateur et le mot de passe de la chaîne de requête d’adresse URL. Les informations d’identification ne sont pas envoyées au navigateur.
  11. AuthFilter recherche l’identificateur d’utilisateur dans le cache de mots de passe puis, s’il le trouve, met à jour le mot de passe.
  12. Si l’identificateur d’utilisateur est introuvable, une nouvelle entrée est créée à l’aide de l’identificateur d’utilisateur et du mot de passe.
  13. Lorsque le navigateur soumet à nouveau la demande, AuthFilter détermine la validité du ticket et renvoie le traitement aux services IIS.
  14. Si l’utilisateur dispose de droits d’accès à l’adresse URL demandée, celle-ci est renvoyée.

Voir aussi

BizDeskSecurity Object (en anglais)

Traitement des demandes des utilisateurs en mode d’authentification Windows

Code to Retrieve Login Credentials Using the Post Method and Set an MSCSAuth Ticket (en anglais)


Mots de passe en texte clair

Le mot de passe d’un utilisateur dans Active Directory est stocké dans un format crypté. Pour pouvoir accéder à ce mot de passe en texte clair, deux actions sont permises lorsque le mot de passe est récupéré initialement sur la page de connexion :

  1. Étendez le schéma de profil en ajoutant une nouvelle propriété pour stocker le mot de passe en texte clair. L’extension du schéma doit s’effectuer via le Concepteur de définitions de profils dans Commerce Server Business Desk. Pour plus d’informations sur cette procédure, consultez Ajout de propriétés à une définition de profil.
  2. Créez un cache personnalisé pour stocker le mot de passe en texte clair.

Remarque

  • Le service Profils permet le cryptage des propriétés de profil. Pour plus d’informations, consultez Gestion des propriétés de profil cryptées.


Activation de l'authentification Windows

Envoyer des commentaires sur cette page Commerce Server 2002

Activation de l’authentification Windows

Lorsque vous sélectionnez le mode d’authentification Windows, AuthFilter recherche les droits d’accès de l’utilisateur dans Active Directory. Lorsqu’un utilisateur se connecte à un site s’exécutant dans ce mode, AuthFilter récupère le nom d’utilisateur et le mot de passe à partir de la demande HTTP (Hypertext Transfer Protocol), puis stocke ces informations dans un cache. En mode d’authentification Windows, une liste de contrôle d’accès (ACL) détermine l’accès aux ressources du site Web.

L’authentification Windows prend en charge une batterie de serveurs Web (Web farm) avec connexion unique, ainsi que l’utilisation des comptes proxy.

Remarque

  • Les instructions suivantes sont basées sur l’hypothèse selon laquelle vous avez défini le mode de sécurité sur votre contrôleur de domaine de manière à permettre une ouverture de session locale. Si vous ne l’avez pas encore fait, consultez Définition du mode de sécurité sur le contrôleur de domaine.

Pour activer le mode d’authentification Windows

  1. Développez Gestionnaire Commerce Server, Sites de commerce, puis cliquez sur le site que vous voulez administrer.
  2. Développez Applications, cliquez avec le bouton droit sur le nom de l’application que vous voulez utiliser, puis cliquez sur Propriétés.
  3. Dans la boîte de dialogue Propriétés, sous l’onglet Général, dans la zone Filtre d’authentification, sélectionnez Authentification Windows, puis cliquez sur OK.

AuthFilter transmet les informations d’identification aux services IIS (Internet Information Services) 5.0, puis IIS valide le nom d’utilisateur et le mot de passe par rapport à une banque de données Active Directory.

Remarque

  • Une fois que vous avez modifié une valeur de propriété dans le Gestionnaire Commerce Server, vous devez décharger l’application de la mémoire sur chaque serveur Web pour que les modifications soient prises en compte. Pour connaître les instructions à suivre, consultez Déchargement d’une application de la mémoire.

Voir aussi

Activation de l’authentification personnalisée

Activation de la génération de cookie automatique

Activation du partage de cookie entre les domaines

Activation du partage de cookie entre les applications

BizDeskSecurity Object (en anglais)

AuthManager Object (en anglais)


AuthFilter et les attaques DDoS

Une attaque de type refus de service distribué (DDoS, Distributed Denial-Of-Service) est une tentative d’interruption de l’accès à un serveur. AuthFilter possède un point faible notoire, qui peut obliger un utilisateur inscrit à renouveler son authentification sur chaque page Web. Cette situation peut être provoquée par un utilisateur malveillant qui tente inlassablement de se connecter à l’aide d’un identificateur d’utilisateur valide et d’un mot de passe incorrect.

Lorsqu’un utilisateur se connecte au site, le mot de passe qu’il entre dans la page de connexion est placé dans le cache de mots de passe AuthFilter. Par défaut, AuthFilter associe le mot de passe situé dans le cache de mots de passe AuthFilter, à l’identificateur de l’utilisateur ayant entré les informations d’authentification de connexion.

Cependant, AuthFilter n’associe pas chaque mot de passe du cache de mots de passe AuthFilter à une et une seule session cliente. Lorsqu’un utilisateur se connecte à l’aide d’un identificateur d’utilisateur valide, le cache de mots de passe est mis à jour à partir du mot de passe soumis, même si le mot de passe n’est pas valide. Cette technique DDoS interrompt le service, car l’utilisateur authentifié doit renouveler son authentification lorsqu’il est redirigé vers une nouvelle page Web.

Certes, l’utilisateur malveillant ne peut pas accéder au site, mais il force l’utilisateur inscrit qui utilise une session active à se reconnecter. Ceci est dû au fait que le mot de passe situé dans le cache de mots de passe AuthFilter n’est plus valide pour l’utilisateur inscrit.

Pour éviter ce type d’attaque, vous pouvez stocker une propriété personnalisée dans le cache de mots de passe AuthFilter, en plus de l’identificateur d’utilisateur et du mot de passe. Cette propriété personnalisée est généralement un identificateur global unique (GUID, Globally Unique Identifier) servant à distinguer les différentes sessions clientes qui utilisent le même identificateur d’utilisateur et éventuellement des mots de passe distincts.

Cache de mots de passe rempli

Dans les situations où le cache de mots de passe AuthFilter est rempli de mots de passe associés à des identificateurs d’utilisateurs légitimes, toute nouvelle authentification entrante est redirigée vers la page de connexion.

Si le cache de mots de passe atteint sa taille maximale, un message est écrit dans le journal des événements pour indiquer que la taille du cache doit être augmentée.

Si vous n’augmentez pas immédiatement la taille du cache, les utilisateurs ne pourront plus se connecter.

Remarque

  • Pour plus d’informations sur l’implémentation d’un GUID dans votre page Login.asp, consultez Configuration de la page Login.asp pour l’utilisation d’un GUID.

Pour examiner un exemple de page Login.asp mise à jour afin d’éviter les attaques DDoS, consultez Code de la page Login.asp pour le site solution Supplier.

Voir aussi

Code de la page Login.asp pour le site solution Supplier

BizDeskSecurity Object (en anglais)

AuthManager Object (en anglais)

Code to Set a Custom Property on a Ticket (en anglais)

Utilisation de comptes proxy dans une batterie de serveurs Web (Web farm)

Ajout d’une nouvelle propriété à une définition de profil


Comptes proxy

Les comptes proxy sont des comptes Windows basés sur des rôles, et sont utilisés à la place des comptes d’utilisateur authentifiés individuels. L’utilisation de comptes proxy vous permet d’implémenter une sécurité basée sur les rôles pour votre site.

Par exemple, vous souhaitez créer les rôles suivants pour votre site : acheteurs, vendeurs, chefs d’entreprise et administrateurs. Vous créez un compte Windows Active Directory pour chacun de ces rôles. Vous stockez des comptes d’utilisateur individuels dans une base de données, telle que SQL Server, à partir de laquelle vous authentifiez les utilisateurs. Ces utilisateurs se connectent à votre site à l’aide de leurs informations d’identification uniques. Une fois qu’ils sont authentifiés par rapport à la base de données, et que leur « rôle » est déterminé, les utilisateurs accèdent à votre site à l’aide des informations d’identification du compte proxy (stocké dans Active Directory) pour leur rôle.

Les comptes Windows, qui sont stockés dans Active Directory dans ce cas de figure, sont appelés comptes proxy car ils servent à accorder l’accès au site, à la place des comptes d’utilisateur (stockés sur SQL Server) qui servent à authentifier l’utilisateur.

Vous devez ajouter du code à la page Login.asp pour mapper les comptes d’utilisateur (stockés dans une base de données telle que SQL Server) vers des comptes proxy (stockés dans Active Directory).

Cette section contient les rubriques suivantes :

  • Avantages et inconvénients liés à l’utilisation de comptes proxy
  • Délivrance de l’accès aux utilisateurs à l’aide de comptes proxy
  • Activation des comptes proxy
  • Autorisation pour les utilisateurs de permuter les comptes proxy
  • Utilisation de comptes proxy dans une batterie de serveurs Web (Web farm)
  • Code d’implémentation de comptes proxy
  • Code d’implémentation de comptes proxy dans une batterie de serveurs Web (Web farm)


Avantages et inconvénients liés à l'utilisation de comptes proxy

Envoyer des commentaires sur cette page Commerce Server 2002

Avantages et inconvénients liés à l’utilisation de comptes proxy

La prise en charge des comptes proxy permet l’existence d’un grand nombre de comptes d’utilisateur dans une base de données SQL Server (ce qui convient davantage que Active Directory) ; cette prise en charge permet également le mappage des comptes d’utilisateur vers un nombre plus réduit de comptes Windows stockés dans Active Directory, tout en exploitant la sécurité des listes de contrôle d’accès Windows.

Les comptes proxy réduisent la surcharge administrative liée à la configuration des listes de contrôle d’accès, car les comptes Windows sont utilisés en plus petit nombre pour accorder l’accès à votre site. L’utilisation de comptes proxy permet également d’améliorer les performances de votre site, car SQL Server est beaucoup plus rapide que Active Directory. Toutefois, le recours aux comptes proxy est moins sûr intrinsèquement que le stockage de tous les comptes d’utilisateur dans Active Directory.

L’utilisation de comptes proxy peut s’avérer utile lorsqu’un site comporte une base de données d’utilisateurs de grande taille, qui ne doit pas être conservée dans Active Directory ; par ailleurs, vous souhaitez exploiter l’authentification Windows pour sécuriser les ressources de votre site à l’aide des listes de contrôle d’accès (ACL).

Les comptes d’utilisateur sont conservés dans une base de données, telle que SQL Server, qui est mieux appropriée que Active Directory ; en outre, les comptes Windows sont en nombre bien plus réduit dans Active Directory, et sont utilisés en tant que comptes proxy. Par conséquent, un grand nombre d’utilisateurs, généralement des millions dans ce cas de figure, peuvent être mappés vers un nombre plus restreint de comptes proxy. Ceci facilite également la gestion des autorisations en raison d’un plus petit nombre de comptes Windows pour lesquels configurer les listes de contrôle d’accès. Chaque utilisateur peut être affecté à un rôle spécifique, lequel sert à mapper l’utilisateur vers un compte proxy particulier.

Remarque

  • Le mappage des comptes d’utilisateur vers les comptes proxy relève de la conception individuelle du site. Un code logique doit être ajouté à la page de connexion pour demander la propriété nécessaire à SQL Server, afin de déterminer le rôle des utilisateurs. La page de connexion reçoit alors les informations d’identification du compte proxy de la part de Active Directory pour le rôle concerné, puis envoie à l’utilisateur un cookie de session contenant les informations d’identification du compte proxy. Pour plus d’informations, consultez Code d’implémentation de comptes proxy.

Vous trouverez ci-dessous un résumé des avantages et des inconvénients liés à l’utilisation des comptes proxy.

Avantages liés à l’utilisation des comptes proxy

  • Meilleures performances : SQL Server authentifie les utilisateurs beaucoup plus rapidement que Active Directory.
  • Évolutivité : si vous dépassez le nombre maximal recommandé d’utilisateurs par domaine Active Directory (environ 10 millions d’utilisateurs), vous devez ajouter des partitions ou des domaines Active Directory supplémentaires. Ceci complique la gestion de Active Directory. Vous pouvez stocker beaucoup plus d’utilisateurs sur un seul serveur SQL Server, en rajoutant simplement de l’espace disque ou des processeurs à un seul ordinateur.
  • Coût global de possession réduit : bien que Active Directory puisse stocker un plus grand nombre d’objets, il est recommandé pour des raisons de performance liées aux scénarios e-business, de ne pas stocker plus de trois millions d’objets/utilisateurs par domaine Active Directory.

    Commerce Server offre une prise en charge du partitionnement entre plusieurs forêts pour déployer Active Directory à l’échelle appropriée. L’utilisation de 10 millions d’objets/utilisateurs au maximum a été testée ; toutefois, il n’existe pas de limite codée de manière irréversible.

    SQL Server possède une capacité de stockage de comptes d’utilisateur, par ordinateur, bien supérieure à Active Directory. Ceci réduit le coût global de possession si vous stockez plus de 10 millions de comptes d’utilisateur Windows.

  • Plus facile à gérer : dans la mesure où les utilisateurs accèdent à votre site à l’aide des informations d’identification du compte proxy pour leur rôle, et que vous pouvez mapper des millions d’utilisateurs vers un nombre plus réduit de rôles, la définition des listes de contrôle d’accès pour les ressources de votre site est considérablement réduite.

Inconvénients liés à l’utilisation des comptes proxy

  • Moins sûr intrinsèquement : SQL Server stocke les mots de passe en texte clair (vous pouvez néanmoins crypter le mot de passe à l’aide des fonctionnalités de cryptage du système de profil), alors que Active Directory (par défaut) stocke les mots de passe dans un format crypté. Par conséquent, l’utilisation des comptes proxy offre moins de sécurité que le stockage de tous les mots de passe utilisateur dans Active Directory.

Important

  • En raison des inconvénients répertoriés ci-dessus, n’implémentez pas de comptes proxy dans un environnement entreprise-client, à l’instar du site solution Retail.

Voir aussi

Gestion des propriétés de profil cryptées


Délivrance de l'accès aux utilisateurs à l'aide de comptes proxy

Envoyer des commentaires sur cette page Commerce Server 2002

Délivrance de l’accès aux utilisateurs à l’aide de comptes proxy

Les informations de cette rubrique s’adressent aux administrateurs système et aux développeurs de site. Cette rubrique fournit des informations sur les exigences liées à l’utilisation des comptes proxy. Elle donne également des précisions sur la manière dont les utilisateurs sont autorisés à accéder à votre site via des comptes proxy ; ces informations sont nécessaires à un développeur de site pour qu’il puisse personnaliser la page de connexion et implémenter ce type de scénario.

Vous trouverez ci-dessous les exigences liées à l’utilisation de comptes proxy :

  • Configurez votre site pour permettre l’utilisation du mode d’authentification Windows.
  • Activez AuthFilter pour votre site.
  • Créez un compte d’utilisateur Windows (compte proxy) dans Active Directory pour chaque rôle.
  • Stockez les comptes d’utilisateur individuels dans une base de données, telle que SQL Server, pour authentifier l’utilisateur.
  • Les navigateurs clients doivent prendre en charge les cookies.

Important

  • Dans la mesure où les mots de passe SQL Server circulent sur le réseau en texte clair, il est fortement conseillé d’utiliser des pare-feu pour implémenter une zone démilitarisée (DMZ, Demilitarized Zone). Pour plus d’informations sur l’utilisation d’une zone DMZ, consultez Sécurisation de votre réseau.

Autorisation d’accès à un site via l’authentification Windows, AuthFilter et les comptes proxy

Les utilisateurs sont authentifiés quasiment de la même manière que sur les sites implémentant l’authentification Windows combinée à AuthFilter, comme cela est indiqué dans la rubrique Mode d’authentification Windows. Cependant, il existe une différence illustrée ci-dessous, l’utilisateur accède au site dans le contexte du compte proxy.

Le diagramme suivant illustre la manière dont l’utilisateur est autorisé à accéder à un site via l’authentification Windows combinée à AuthFilter et aux comptes proxy.

Authentification Windows et comptes proxy


Activation des comptes proxy

Pour implémenter l’utilisation des comptes proxy sur votre site, vous devez procéder comme suit :

  • décompressez un site solution ;
  • activez AuthFilter en mode d’authentification Windows pour votre site ;
  • créez des comptes d’utilisateur (comptes proxy) dans Active Directory ;
  • ajoutez de nouvelles propriétés à la définition de profil de votre site ;
  • créez des comptes d’utilisateur dans SQL Server.

Créer des comptes d’utilisateur Windows dans Active Directory

Créez des comptes d’utilisateur Windows dans Active Directory, un compte d’utilisateur Windows pour chaque rôle.

Ajouter de nouvelles propriétés à la définition de profil de votre site

Ajoutez deux nouvelles propriétés à la définition de profil de votre site. L’une des propriétés sert à stocker le nom du compte proxy (situé dans Active Directory), tandis que l’autre sert à stocker le mot de passe du compte proxy dans la base de données SQL Server, pour permettre sa récupération en texte clair. La propriété relative au mot de passe doit être cryptée. Pour plus d’informations sur cette procédure, consultez Ajout de propriétés à une définition de profil.

Remarques

  • La propriété qui stocke le nom du compte proxy doit être une valeur de chaîne, elle doit être mappée vers les données et doit être requise.
  • La propriété qui stocke le mot de passe du compte proxy doit être une valeur de chaîne, elle doit être mappée vers les données, être requise et être configurée pour le cryptage asymétrique, afin de permettre le renvoi du mot de passe à la page de connexion en texte clair.
  • Le mot de passe de compte proxy dans Active Directory et le mot de passe de compte proxy ne sont pas synchronisés. Si vous modifiez le mot de passe d’un compte proxy dans Active Directory, vous devez également modifier le mot de passe du compte proxy dans SQL Server pour chaque utilisateur.

Mettez à jour la page Login.asp de votre site. Outre l’authentification de l’utilisateur, la page Login.asp doit être mise à jour pour la réalisation des opérations suivantes :

  • récupération du profil et obtention du compte proxy ainsi que du mot de passe de compte proxy de l’utilisateur ;
  • définition du ticket MSCSAuth à partir de l’identificateur de l’utilisateur. Cependant, les informations d’identification transmises au filtre via la chaîne de requête sont celles du compte proxy. Remarquez que vous devez définir la propriété GUID dans le ticket et la chaîne de requête, de telle sorte qu’AuthFilter effectue sa recherche dans son cache de mots de passe à partir du GUID plutôt qu’avec l’identificateur d’utilisateur du ticket.

Pour plus d’informations, consultez Configuration de la page Login.asp pour l’utilisation d’un GUID.

Pour obtenir un exemple de code de la page Login.asp configurée pour l’utilisation de comptes proxy, consultez Code d’implémentation de comptes proxy.

Remarque

  • Le mot de passe doit être renvoyé à la page de connexion en texte clair. C’est la raison pour laquelle le mot de passe du compte proxy est stocké dans le profil.

Pour plus d’informations, consultez Mots de passe en texte clair.

Créer des comptes d’utilisateur dans SQL Server

Mappez les comptes d’utilisateur (dans SQL Server) vers des comptes proxy (dans Active Directory).

Remarques

  • Lors de la création d’un utilisateur, vous devez entrer son rôle. En ce qui concerne les utilisateurs existants, vous devez entrer les informations relatives au rôle pour chaque compte d’utilisateur.
  • L’administrateur qui ajoute des utilisateurs doit également entrer le mot de passe de compte proxy pour le rôle utilisateur. Il s’agit de la propriété qui a été ajoutée au profil.
  • Lors de l’implémentation de comptes proxy pour votre site, chaque compte d’utilisateur (stocké dans SQL Server) doit être mappé vers un compte proxy (stocké dans Active Directory).

L’ouverture de session du contrôleur de domaine Active Directory doit être configurée localement pour les utilisateurs de domaine.

Voir aussi

Méthode Post

Ajout de propriétés à une définition de profil

AuthFilter et les attaques DDoS

BizDeskSecurity Object (en anglais)

AuthManager Object (en anglais)

Mots de passe en texte clair


Autorisation pour les utilisateurs de permuter les comptes proxy

Vous pouvez autoriser les visiteurs de votre site à renouveler leur authentification dans Active Directory à l’aide d’un autre compte proxy.

Par exemple, il est possible de modifier de façon transparente le compte sous lequel est connecté un utilisateur. Lorsqu’un utilisateur s’authentifie pour la première fois, la page de connexion sélectionne les informations de compte proxy (Proxy1) appropriées à transmettre à AuthFilter, puis aux services IIS pour permettre l’authentification de l’utilisateur. Dès lors, pour pouvoir afficher un répertoire nécessitant les informations d’identification d’un autre compte proxy (Proxy2), l’utilisateur est redirigé vers la page Login.asp, car ses informations d’identification actuelles ne lui permettent pas d’accéder à la page souhaitée. Dans la page de connexion, les nouvelles informations d’identification (Proxy2) sont transmises à AuthFilter, puis aux services IIS pour permettre à l’utilisateur d’ouvrir une session de façon transparente à partir des nouvelles informations d’identification.

Pour prendre en charge ce scénario, un code spécifique à l’application doit être implémenté dans la page Login.asp, afin de déterminer si l’utilisateur s’est déjà authentifié et de récupérer les informations d’identification du compte Proxy2 pour les transmettre au filtre. Remarquez que l’utilisateur possède déjà une propriété GUID (qui a été ajoutée pour permettre à AuthFilter d’effectuer ses recherches dans le cache de mots de passe en fonction du GUID et non de l’identificateur d’utilisateur) dans le ticket MSCSAuth ; par conséquent, ce GUID doit être transmis au filtre au lieu d’être à nouveau généré. L’application doit se charger de mapper l’utilisateur vers le compte proxy approprié ; AuthFilter doit simplement vérifier que lorsque la demande d’un utilisateur est refusée, celle-ci est redirigée vers la page Login.asp.

Voir aussi

  • Comptes proxy


Utilisation de comptes proxy dans une batterie de serveurs Web (Web farm)

Lorsque l’utilisateur est renvoyé vers un autre serveur Web, même si celui-ci dispose d’un ticket MSCSAuth valide, les informations d’identification de l’utilisateur ne se trouvent pas dans le cache de mots de passe AuthFilter. Par conséquent, la demande est redirigée vers la page de connexion.

De même que pour l’exécution du mode d’authentification Windows dans une batterie de serveurs Web (Web farm) sans comptes proxy, un code logique doit être ajouté ici pour permettre une ouverture de session transparente. Toutefois, il existe une petite différence : dans le cas d’un compte proxy, une propriété GUID est définie dans le ticket pour permettre à AuthFilter d’effectuer sa recherche de mot de passe en fonction du GUID au lieu de l’identificateur d’utilisateur ; par conséquent, lorsque les informations d’identification sont transmises au filtre via la chaîne de requête, le GUID contenu dans le ticket (ne créez pas d’autre GUID) doit également être transmis dans la chaîne de requête.

Pour obtenir un exemple de code de la page Login.asp configurée pour l’utilisation de comptes proxy, consultez Code d’implémentation de comptes proxy dans une batterie de serveurs Web (Web farm).

Voir aussi

Comptes proxy

AuthFilter et les attaques DDoS

Configuration de la page Login.asp pour l’utilisation d’un GUID


Code d'implémentation de comptes proxy

Envoyer des commentaires sur cette page Commerce Server 2002

Code d’implémentation de comptes proxy

L’exemple suivant est un extrait de code du fichier Login.asp, qui a été personnalisé pour prendre en charge l’utilisation des comptes proxy.

' 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")

' set the user's userid in the authticket
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 ' after setting Ticket
strRetAsp = strRetAsp + "&guid="
strRetAsp = strRetAsp + strGUID

Response.Redirect strRetAsp
end if

Voir aussi

Activation des comptes proxy


Code d'implémentation de comptes proxy dans une batterie de serveurs Web (Web farm)

Envoyer des commentaires sur cette page Commerce Server 2002

Code d’implémentation de comptes proxy dans une batterie de serveurs Web (Web farm)

L’exemple suivant est un extrait de code du fichier Login.asp, qui a été personnalisé pour prendre en charge l’utilisation des comptes proxy dans une batterie de serveurs Web (Web farm).

' 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")

' 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

' 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

Voir aussi

Activation des comptes proxy

Utilisation de comptes proxy dans une batterie de serveurs Web (Web farm)


Mode Authentification personnalisée

Lorsque vous utilisez l’authentification personnalisée, un droit de connexion est nécessaire pour chaque page ASP et répertoire du site Commerce Server. AuthFilter effectue une vérification par rapport au répertoire virtuel du site Commerce Server, puis il vérifie la base de données d’administration Commerce Server pour déterminer si l’authentification personnalisée est activée pour ce site.

Si le ticket MSCSAuth soumis par l’utilisateur n’est pas valide lors de la demande d’accès à une page ASP ou un répertoire, AuthFilter exige de l’utilisateur qu’il entre ses informations de connexion. Lorsqu’un utilisateur soumet des informations d’identification à la page de connexion, celle-ci obtient la vérification des informations d’identification depuis une base de données SQL Server ou tout autre type de base de données.

Une fois l’utilisateur authentifié, la page Login.asp délivre un ticket MSCSAuth. Ce ticket MSCSAuth est vérifié au moment où AuthFilter authentifie la demande pour déterminer si elle peut être traitée ou non.

Dans ce mode, AuthFilter permet au concepteur du site de fournir un processus d’authentification personnalisée pour contrôler l’accès au site tout en utilisant les services de base d’AuthFilter.

Cette section contient les rubriques suivantes :

  • Traitement des demandes des utilisateurs en mode Authentification personnalisée
  • Activation de l’authentification personnalisée


Traitement des demandes des utilisateurs en mode Authentification personnalisée

Lorsque vous activez l’authentification personnalisée, AuthFilter effectue les étapes ci-dessous après avoir été notifié qu’un événement SF_NOTIFY_PREPROC_HEADERS s’est produit :

  1. Il vérifie les propriétés de configuration du site dans le cache local du site ; si celles-ci sont introuvables, il lit les propriétés de configuration du site dans la base de données d’administration via un objet SiteConfig avant de les stocker dans le cache du site.
  2. Il détermine si l’adresse URL demandée est exacte et corrige automatiquement la casse, le cas échéant.
  3. Il vérifie que les cookies de session sont pris en charge ; si cela n’est pas le cas, il redirige l’utilisateur vers la page ASP (Active Server Pages) spécifiée dans la propriété Formulaire sans cookie de la ressource CS Authentication. En règle générale, cette page indique à l’utilisateur que les cookies sont nécessaires et qu’il faut soumettre à nouveau la demande après avoir activé les cookies.
  4. Il vérifie que le cookie contient un ticket MSCSAuth ; si cela n’est pas le cas, il redirige l’utilisateur vers une page de connexion.
  5. Si le cookie contient un ticket MSCSAuth, il compare l’heure actuelle à l’heure de la dernière connexion définie dans le ticket pour vérifier que celle-ci ne dépasse pas la durée de validité spécifiée dans le ticket.
  6. Si l’heure actuelle dépasse la durée de validité spécifiée dans le ticket, l’utilisateur est redirigé vers la page de connexion en tant qu’utilisateur non validé.
  7. Si l’heure actuelle ne dépasse pas la durée de validité, le ticket est considéré comme valide et l’utilisateur est renvoyé vers la page demandée en tant qu’utilisateur validé. Si l’heure actuelle est antérieure de cinq minutes à l’heure de la dernière connexion ajoutée à la durée de validité, l’heure de la dernière connexion définie dans le ticket est remplacée par l’heure actuelle afin que l’utilisateur actif puisse poursuivre sa navigation.

Voir aussi

Traitement des demandes des utilisateurs en mode d’authentification Windows

Activation de l’authentification personnalisée

Authentication Features (en anglais)


Activation de l'authentification personnalisée

Envoyer des commentaires sur cette page Commerce Server 2002

Activation de l’authentification personnalisée

Si vous devez implémenter l’authentification personnalisée, vous pouvez toujours utiliser AuthFilter pour l’intégrer à votre site. Si vous sélectionnez l’authentification personnalisée, AuthFilter vérifie la présence d’un ticket MSCSAuth valide. Si le ticket MSCSAuth valide n’est pas trouvé, l’utilisateur est redirigé vers une page de connexion, dans laquelle vous pouvez procéder à votre propre authentification personnalisée en validant les informations d’identification et en paramétrant le ticket MSCSAuth en cas de succès.

Par exemple, vous pouvez utiliser le système de profil pour récupérer les droits d’accès du profil utilisateur lorsque l’utilisateur se connecte. Le système de profil récupère les informations utilisateur à partir d’une source de données. Cette source de données peut être une base de données Microsoft SQL Server, Active Directory de Windows 2000, une autre source de données compatible OLE DB ou une banque de données LDAP (Lightweight Directory Access Protocol) version 3 valide.

Pour activer le mode Authentification personnalisée

  1. Développez Gestionnaire Commerce Server, Sites de commerce, puis cliquez sur le site que vous voulez administrer.
  2. Développez Applications, cliquez avec le bouton droit sur le nom de l’application que vous voulez utiliser, puis cliquez sur Propriétés.
  3. Dans la boîte de dialogue Propriétés, sous l’onglet Général, dans la zone Filtre d’authentification, sélectionnez Authentification personnalisée, puis cliquez sur OK.

AuthFilter redirige la demande de l’utilisateur vers la page Login.asp, qui valide la connexion d’accès utilisateur et le mot de passe par rapport à une base de données SQL Server ou un autre type de banque de données.

Remarque

  • Une fois que vous avez modifié une valeur de propriété dans le Gestionnaire Commerce Server, vous devez décharger l’application de la mémoire sur chaque serveur Web pour que les modifications soient prises en compte. Pour connaître les instructions à suivre, consultez Déchargement d’une application de la mémoire.

Voir aussi

Activation du partage de cookie entre les domaines

Activation du partage de cookie entre les applications

Activation de l’authentification Windows

Activation de la génération de cookie automatique

BizDeskSecurity Object (en anglais)

AuthManager Object (en anglais)


Mode Création de cookie automatique

Le mode Création de cookie automatique vous permet d’effectuer le suivi des utilisateurs anonymes au fil des pages et des sessions. En mode Création de cookie automatique, un identificateur unique est généré pour identifier l’utilisateur et, le cas échéant, un profil est créé pour stocker les informations relatives à cet utilisateur. Pour obtenir un exemple de code illustrant ces étapes, consultez Code to Set a New MSCSProfile Ticket (en anglais).

Cette section contient les rubriques suivantes :

  • Traitement des demandes des utilisateurs en mode Création de cookie automatique
  • Activation de la génération de cookie automatique


Traitement des demandes des utilisateurs en mode Création de cookie automatique

Lorsqu’un utilisateur envoie une demande d’accès à un site, le filtre ISAPI AuthFilter effectue les étapes ci-dessous après avoir été notifié par les services IIS (Internet Information Services) qu’un événement SF_NOTIFY_PREPROC_HEADERS s’est produit :

  1. Il vérifie les propriétés de configuration du site dans le cache local du site ; si celles-ci sont introuvables, il lit les propriétés de configuration du site dans la base de données d’administration via un objet SiteConfig avant de les stocker dans le cache du site.
  2. Il vérifie que l’adresse URL est exacte et corrige automatiquement la casse, le cas échéant.
  3. Il vérifie que le navigateur prend en charge les cookies.
  4. Si les cookies ne sont pas pris en charge, l’utilisateur est redirigé vers la page ASP (Active Server Pages) spécifiée dans la propriété Formulaire sans cookie de la ressource CS Authentication. En règle générale, cette page indique à l’utilisateur que les cookies sont nécessaires et qu’il faut soumettre à nouveau la demande après avoir activé les cookies. Par défaut, une page ASP nommée nocookie.asp est fournie à cet effet avec les sites solutions. Ce fichier se trouve dans le dossier AuthFiles du répertoire d’installation de Commerce Server.
  5. AuthFilter vérifie que la demande contient un ticket MSCSProfile.

    Remarque

    • En mode Création de cookie automatique, l’accès anonyme est autorisé, sauf si vous combinez le mode Création de cookie automatique à l’authentification Windows. Si vous spécifiez l’authentification Windows, AuthFilter vérifie que le cookie possède un ticket MSCSAuth valide.
  6. Si un ticket MSCSProfile existe dans le cookie, AuthFilter utilise le compte d’utilisateur anonyme pour représenter l’identité de l’utilisateur dans les services IIS. Par défaut, le compte d’utilisateur anonyme est IUSR_<nomordinateur>, où <nomordinateur> représente le nom de l’ordinateur où sont installés les services IIS.
  7. Si l’adresse URL demandée autorise les accès anonymes, elle est renvoyée.
  8. S’il n’existe pas de ticket MSCSProfile dans la demande, l’utilisateur est redirigé vers la page ASP spécifiée dans la propriété Formulaire de création de cookie automatique de la ressource CS Authentication.

Page de création de cookie automatique

Les huit étapes répertoriées dans la précédente rubrique Mode Création de cookie automatique sont transparentes pour le développeur de site. Les actions suivantes ont lieu sur la page de création de cookie automatique, qui doit être fournie par le développeur de site :

  1. La prise en charge des cookies persistants est vérifiée ; en l’absence de prise en charge, l’utilisateur est redirigé vers la page sans cookie.
  2. Si les cookies persistants sont pris en charge, un identificateur global unique (GUID, Globally Unique Identifier) ou tout autre type d’identificateur unique est créé pour identifier l’utilisateur.
  3. L’identificateur unique est défini dans un ticket MSCSProfile pour l’utilisateur.
  4. Dès lors, un profil peut être créé pour stocker des informations sur l’utilisateur anonyme.
  5. L’utilisateur est redirigé vers l’adresse URL demandée.

La page par défaut Autocookie.asp, qui illustre une bonne part de cette fonctionnalité, est fournie lors de l’installation du produit et se trouve dans le dossier \Microsoft Commerce Server\AuthFiles.

Voir aussi

Activation de la génération de cookie automatique

Activation du partage de cookie entre les domaines

Activation du partage de cookie entre les applications


Activation du mode Création de cookie automatique

Lorsque vous activez le mode Création de cookie automatique, AuthFilter vérifie toujours si le navigateur possède ce cookie anonyme. Si le cookie anonyme n’est pas présent dans le navigateur, le filtre redirige l’utilisateur vers le formulaire de création de cookie automatique.

Le mode Création de cookie automatique permet à Commerce Server 2002 de suivre les utilisateurs anonymes. Si des utilisateurs munis de cookies anonymes s’inscrivent, Commerce Server peut mettre à jour leurs cookies persistants ; ainsi, toutes les données de profil rassemblées lorsque les utilisateurs étaient anonymes sont conservées. Cependant, le fait que Commerce Server mette à jour ou non les cookies persistants dépend de la manière dont vous avez développé votre application.

Pour activer le mode Création de cookie automatique

  1. Développez Gestionnaire Commerce Server, Sites de commerce, puis cliquez sur le site que vous voulez administrer.
  2. Développez Applications, cliquez avec le bouton droit sur le nom de l’application que vous voulez utiliser, puis cliquez sur Propriétés.
  3. Dans la boîte de dialogue Propriétés, sous l’onglet Général, activez la case à cocher Création de cookie automatique, puis cliquez sur OK.

Remarque

  • Une fois que vous avez modifié une valeur de propriété dans le Gestionnaire Commerce Server, vous devez décharger l’application de la mémoire sur chaque serveur Web pour que les modifications soient prises en compte. Pour connaître les instructions à suivre, consultez Déchargement d’une application de la mémoire.

Voir aussi

Activation de l’authentification Windows

Activation de l’authentification personnalisée

Activation du partage de cookie entre les domaines

Activation du partage de cookie entre les applications

BizDeskSecurity Object (en anglais)

AuthManager Object (en anglais)


Authentification Windows et mode Création de cookie automatique

Cette rubrique décrit le mode d’authentification mixte, qui combine l’authentification Windows et le mode Création de cookie automatique. Ce mode accepte à la fois les utilisateurs anonymes et les utilisateurs inscrits ; en outre, il permet d’effectuer le suivi de ces deux types d’utilisateurs. Ce mode est utile pour les sites où une partie du contenu est accessible à tout le monde alors que le reste n’est accessible qu’aux utilisateurs inscrits.

Les principales différences entre le mode mixte et le mode d’authentification Windows sont les suivantes :

  • Le mode mixte permet d’effectuer le suivi des utilisateurs anonymes.
  • En mode mixte, un utilisateur anonyme doit posséder un ticket MSCSProfile valide pour pouvoir accéder aux adresses URL, quels que soient les paramètres de la liste de contrôle d’accès (ACL). En mode d’authentification Windows, un utilisateur anonyme n’a pas besoin de ticket et peut accéder à toutes les adresses URL en utilisant des droits d’accès anonymes.

Pour activer l’authentification Windows et le mode Création de cookie automatique

  1. Développez Gestionnaire Commerce Server, Sites de commerce, puis cliquez sur le site que vous voulez administrer.
  2. Développez Applications, cliquez avec le bouton droit sur le nom de l’application que vous voulez utiliser, puis cliquez sur Propriétés.
  3. Dans la boîte de dialogue Propriétés, sous l’onglet Général, sélectionnez Création de cookie automatique.
  4. Dans la boîte de dialogue Propriétés, sous l’onglet Général, dans la zone Filtre d’authentification, sélectionnez Authentification Windows, puis cliquez sur OK.

Voir aussi

Authentification personnalisée et mode Création de cookie automatique

Tickets pour l’inscription des utilisateurs anonymes


Authentification personnalisée et mode Création de cookie automatique

Lorsque vous utilisez simultanément l’authentification personnalisée et le mode Création de cookie automatique, les utilisateurs anonymes et les utilisateurs inscrits peuvent accéder au site ; par ailleurs, vous pouvez effectuer le suivi des utilisateurs anonymes via des cookies persistants. Au lieu de contrôler l’accès grâce aux listes de contrôle d’accès (ACL) Windows, vous pouvez fournir un processus d’authentification personnalisée.

Pour activer l’authentification personnalisée et le mode Création de cookie automatique

  1. Développez Gestionnaire Commerce Server, Sites de commerce, puis cliquez sur le site que vous voulez administrer.
  2. Développez Applications, cliquez avec le bouton droit sur le nom de l’application que vous voulez utiliser, puis cliquez sur Propriétés.
  3. Dans la boîte de dialogue Propriétés, sous l’onglet Général, sélectionnez Création de cookie automatique.
  4. Dans la boîte de dialogue Propriétés, sous l’onglet Général, dans la zone Filtre d’authentification, sélectionnez Authentification personnalisée, puis cliquez sur OK.

Remarque

  • Sur la page de connexion, fournissez un lien vers une racine de répertoire virtuel distinct, qui ne se trouve pas sous la racine du répertoire virtuel actuel. Conservez l’ensemble du contenu réservé à l’accès anonyme sous cette racine de répertoire virtuel distinct.

Voir aussi

Authentification Windows et mode Création de cookie automatique

Tickets pour l’inscription des utilisateurs anonymes


Configuration de la ressource CS Authentication

Vous pouvez afficher et modifier les propriétés de ressource CS Authentication pour la ressource globale CS Authentication.

Remarques

  • De nombreuses propriétés d’authentification sont définies au niveau du site. Pour plus d’informations sur la configuration des propriétés d’authentification au niveau du site, consultez Configuration d’une application.
  • Les propriétés d’authentification suivantes sont définies dans la ressource Configuration par défaut de l’application : options du ticket de site, options de confidentialité du site, options de connexion par formulaire et délai d’expiration du ticket d’authentification AuthManager. Ces propriétés ne sont applicables que si vous développez un site à l’aide des sites solutions Commerce Server. Pour plus d’informations sur la configuration de ces propriétés de configuration par défaut de l’application, consultez Configuration de la ressource Configuration par défaut de l’application.

Pour configurer les propriétés de la ressource CS Authentication

  1. Développez Gestionnaire Commerce Server, puis cliquez sur Ressources globales.
  2. Dans le volet de droite, cliquez avec le bouton droit sur la ressource CS Authentication(nomsite), où (nomsite) représente le nom du site que vous configurez, puis cliquez sur Propriétés.

    La boîte de dialogue Propriétés de CS Authentication(nomsite) s’affiche.

  3. Dans la zone Propriétés, sélectionnez la propriété pour laquelle vous souhaitez définir une valeur.
  4. Dans la zone Valeur de propriété sélectionnée, tapez la nouvelle valeur, puis cliquez sur OK.

Le tableau suivant répertorie les propriétés de ressource CS Authentication qui peuvent être définies au niveau de la ressource globale pour un site Commerce Server.

Propriété | Description
Formulaire de connexion Nom du formulaire utilisé pour la connexion des utilisateurs. Vous pouvez spécifier un des éléments suivants :
  • chemin d’accès relatif à la page Login.asp. Utilise http://<nomserveur> et Dossier d’application d’assistance AuthFilter ;
  • chemin d’accès complet à la page Login.asp.

Si vous utilisez SSL (Secure Sockets Layer), vous devez spécifier le chemin d’accès complet à la page Login.asp, par exemple :

https://www.microsoft.com/authfilter/login.asp.
Tentatives de connexion Nombre de fois où les utilisateurs sont invités à saisir leur nom d’utilisateur et mot de passe avant qu’un message ne s’affiche pour leur conseiller d’appeler le service client.

Cette propriété s’applique uniquement lorsque vous utilisez l’authentification Windows.
Taille du cache de mots de passe | Nombre maximal d’utilisateurs dont les informations d’identification peuvent être stockées dans le cache de mots de passe utilisateur AuthFilter. Cette propriété est utilisée uniquement avec le mode d’authentification Windows.
Durée de vie (TTL) du cache de mots de passe | Durée de stockage en minutes des informations d’authentification dans le cache de mots de passe. Cette propriété est utilisée uniquement avec le mode d’authentification Windows.
Nom AuthProfile | Nom de l’objet de profil à utiliser lorsque la source de données du système de profil est partitionnée. Si vous utilisez le schéma par défaut, cette valeur doit être Profile Definitions.UserObject.
Dossier d’application d’assistance AuthFilter | Nom du dossier utilisé par AuthFilter pour stocker les fichiers d’application d’assistance. Vous devez conserver tous les fichiers liés à AuthFilter dans ce dossier. Le sous-dossier par défaut est \AuthFiles. Tous les fichiers AuthFilter doivent autoriser l’accès anonyme.
Formulaire d’erreur Nom du formulaire à utiliser en cas d’erreur liée à un refus d’accès. Vous pouvez spécifier un des éléments suivants :
  • chemin d’accès relatif au formulaire. Utilise http://<nomserveur> et Dossier d’application d’assistance AuthFilter ;
  • chemin d’accès complet au formulaire.
Formulaire d’aide Nom du formulaire qui contient les informations d’aide pour la connexion. Vous pouvez spécifier un des éléments suivants :
  • chemin d’accès relatif au formulaire. Utilise http://<nomserveur> et Dossier d’application d’assistance AuthFilter ;
  • chemin d’accès complet au formulaire.
Formulaire d’erreur interne Nom du formulaire d’erreur à afficher lorsqu’une erreur interne se produit. Vous pouvez spécifier un des éléments suivants :
  • chemin d’accès relatif au formulaire. Utilise http://<nomserveur> et Dossier d’application d’assistance AuthFilter ;
  • chemin d’accès complet au formulaire.
Formulaire sans cookie Nom du formulaire à afficher lorsque le navigateur n’autorise pas l’utilisation de cookies ou qu’il ne les prend pas en charge. Vous pouvez spécifier un des éléments suivants :
  • chemin d’accès relatif au formulaire. Utilise http://<nomserveur> et Dossier d’application d’assistance AuthFilter ;
  • chemin d’accès complet au formulaire.
Formulaire de création de cookie automatique Nom du formulaire vers lequel effectuer la redirection lorsque la génération de cookies automatiques est activée. Vous pouvez spécifier un des éléments suivants :
  • chemin d’accès relatif au formulaire. Utilise http://<nomserveur> et Dossier d’application d’assistance AuthFilter ;
  • chemin d’accès complet au formulaire.
Date d’expiration du cookie de profil | Date d’expiration de la validité du cookie.
Activer le cryptage | Définissez cette propriété au niveau du site de commerce pour activer le cryptage des données de cookie. Pour connaître les instructions à suivre, consultez Configuration d’une application.
Clé de cryptage des données de cookies | Clé de cryptage utilisée pour crypter et décrypter les données de cookies. Pour générer une nouvelle clé de cryptage, consultez Génération d’une nouvelle clé de cryptage de cookie.

Remarques

  • Vous devez conserver tous les fichiers liés à AuthFilter dans un dossier, spécifié dans la propriété Dossier d’application d’assistance AuthFilter. Le sous-dossier par défaut est \AuthFiles. Tous les fichiers AuthFilter doivent autoriser l’accès anonyme.
  • Une fois que vous avez modifié une propriété de ressource CS Authentication globale, et si vous utilisez AuthFilter, vous devez redémarrer les services IIS (Internet Information Services) 5.0 à l’aide des commandes net stop et net start. Pour connaître les instructions à suivre, consultez Redémarrage des services IIS et Commerce Server.

Voir aussi

Configuration de la ressource Configuration par défaut de l’application.

BizDeskSecurity Object (en anglais)

AuthManager Object (en anglais)


Authentification de base Outlook Web Access de Microsoft Exchange2000

Envoyer des commentaires sur cette page Commerce Server 2002

Authentification de base Outlook Web Access de Microsoft Exchange 2000

Outlook Web Access (OWA) est un serveur virtuel HTTP (Hypertext Transfer Protocol), qui est installé et configuré durant le processus d’installation de Microsoft Exchange Server 2000. OWA pour Exchange Server 2000 sécurise l’accès à un site via la méthode d’authentification de base des services IIS. Dans le cadre de cette méthode d’authentification, une variable de serveur IIS, AUTH_USER, est renseignée à partir du nom d’utilisateur. OWA utilise AUTH_USER pour déterminer la boîte aux lettres Exchange 2000 à ouvrir pour la session.

Pour plus d’informations sur OWA, consultez la documentation de Microsoft Exchange Server 2000 et des services IIS (Internet Information Services).

Lors de la décompression d’un site, définissez le site Commerce Server au niveau du site Web par défaut (un niveau au-dessus de la racine virtuelle où réside l’application Outlook Web Access (OWA) de Microsoft Exchange 2000). Par défaut, l’application Outlook Web Access (OWA) de Microsoft Exchange 2000 est installée dans un répertoire virtuel du site Web par défaut, qui se nomme « Exchange ».

La protection d’AuthFilter s’exerce au niveau de la racine virtuelle ; par conséquent, l’application Outlook Web Access (OWA) de Microsoft Exchange 2000 doit être installée un niveau en dessous du niveau de site protégé par AuthFilter pour permettre l’interception des demandes adressées au site Exchange.

Remarque

  • Le site de commerce doit se trouver à un niveau supérieur au site Exchange Server.

Pour définir l’authentification Windows pour AuthFilter

  1. Développez le Gestionnaire Commerce Server.
  2. Cliquez avec le bouton droit sur l’application appropriée, puis cliquez sur Propriétés.
  3. Désactivez la case à cocher Définir le chemin des cookies pour l’application.
  4. Sous l’onglet Général, vérifiez les valeurs suivantes :
    • Chemin de l’application IIS comporte uniquement une barre oblique avant (/)
    • La valeur Authentification Windows est affectée à Filtre d’authentification
  5. Cliquez sur OK.

Pour vérifier le paramètre de la racine virtuelle du site dans les services IIS

  1. Fermez le Gestionnaire des services Internet.
  2. Cliquez avec le bouton droit sur Site Web par défaut, puis cliquez sur Propriétés.
  3. Sous l’onglet Répertoire de base, vérifiez la valeur suivante :
    • Nom de l’application comporte uniquement une barre oblique avant (/).
  4. Sous l’onglet Filtres ISAPI, vérifiez que CSAuthFilter est situé au-dessus du filtre ISAPI Exchange dans l’ordre de la liste.
  5. Cliquez sur OK.

Voir aussi

Activation de l’authentification Windows


Définition du mode de sécurité sur le contrôleur de domaine

Vous devez permettre aux utilisateurs du domaine d’utiliser le mode d’authentification Windows sur n’importe quel site Commerce Server.

Pour définir le mode de sécurité sur le contrôleur de domaine

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Outils d’administration, puis cliquez sur Stratégie de sécurité du contrôleur de domaine.
  2. Dans la colonne de gauche, développez Paramètres de sécurité, puis Stratégies locales, puis cliquez sur Attribution des droits utilisateur.

    Les stratégies d’attribution des droits de l’utilisateur s’affichent dans le volet Stratégie de l’écran Stratégie de sécurité du contrôleur de domaine.

  3. Dans le volet Stratégie, double-cliquez sur Ouvrir une session localement.

    La boîte de dialogue Paramètre de stratégie de sécurité s’affiche.

  4. Dans la boîte de dialogue Paramètre de stratégie de sécurité, cliquez sur Ajouter.

    La boîte de dialogue Ajouter un utilisateur ou un groupe s’affiche.

  5. Dans la boîte de dialogue Ajouter un utilisateur ou un groupe, dans la zone de texte Noms d’utilisateurs et de groupes, tapez <domaine>\Utilisateurs du domaine, où <domaine>représente le nom de votre domaine Active Directory ; sinon, cliquez sur Parcourir pour ajouter le groupe Utilisateurs du domaine.
  6. Cliquez sur OK pour fermer la boîte de dialogue Ajouter un utilisateur ou un groupe.
  7. Le groupe <domaine>\Utilisateurs du domaine s’affiche dans la zone de texte de la boîte de dialogue Paramètre de stratégie de sécurité.
  8. Cliquez sur OK pour fermer la boîte de dialogue Paramètre de stratégie de sécurité.

Voir aussi

Activation d’AuthFilter pour le site solution Supplier


Génération d'une nouvelle clé de cryptage de cookie

Envoyer des commentaires sur cette page Commerce Server 2002

Génération d’une nouvelle clé de cryptage de cookie

La ressource CS Authentication utilise une clé de cryptage pour crypter et décrypter les données de cookies. Par défaut, lorsque vous décompressez un site, la clé de cryptage contenue dans le package est utilisée. La clé de cryptage est stockée dans le fichier AuthSetup.ini, dans le package. S’il n’existe pas de clé, une nouvelle clé est générée par le Gestionnaire de package de site Commerce Server, via AuthManager.GenerateEncryptionKey().

Une clé de cryptage est créée à chaque décompression de site. Si vous compressez votre propre clé de cryptage avec la ressource CS Authentication, vous disposerez de la même clé chaque fois que vous décompresserez ce package personnalisé. Si vous souhaitez avoir une nouvelle clé ou une clé distincte chaque fois que vous décompressez ce site, vous devez cliquer, une fois le site décompressé, sur le bouton Générer une nouvelle clé de cryptage dans le Gestionnaire Commerce Server.

Vous ne devez pas changer la clé de cryptage lorsqu’un site est actif. Si vous mettez à jour une clé de cryptage alors qu’un site est actif, les tickets MSCSAuth existants ne sont plus valides et les utilisateurs doivent ouvrir une nouvelle session. Un ticket crypté avec une clé donnée ne peut être décrypté qu’avec cette même clé.

Commerce Server 2000 ne prenait pas en charge le décryptage des cookies persistants lorsque des clés de cryptage, qui cryptent et décryptent les tickets, étaient modifiées. Utilisez la méthode GetUserIDFromCookieAndKey pour décrypter les tickets cryptés dans Commerce Server 2000. Vous pouvez personnaliser votre site afin de délivrer un nouveau ticket tout en conservant les informations de l’ancien ticket.

Remarque

  • Vous devez créer une sauvegarde du fichier de clé de cryptage avant de mettre à jour une clé de cryptage existante. Commerce Server ne crée pas de sauvegarde à votre place. Une fois que la nouvelle clé est créée, il est impossible de récupérer l’ancienne.

Pour générer une nouvelle clé de cryptage

Important

  • Si votre site est implémenté dans le cadre d’une batterie de serveurs Web (Web farm), consultez Cryptage par clé tournante pour les tickets d’authentification avant de générer une nouvelle clé de cryptage de cookie.
  1. Développez Gestionnaire Commerce Server, Sites de commerce, puis cliquez sur le site que vous voulez administrer.
  2. Développez Applications, cliquez avec le bouton droit sur l’application à configurer, puis cliquez sur Propriétés.
  3. Au bas de la boîte de dialogue, cliquez sur Générer une nouvelle clé de cryptage.
  4. Dans la boîte de dialogue de confirmation, cliquez sur OK.
  5. Redémarrez IIS.

    Pour plus d’informations sur le redémarrage des services IIS, consultez Redémarrage des services IIS et Commerce Server.

Voir aussi

AuthManager::GenerateEncryptionKey

AuthManager.GetUserIDFromCookie

Cryptage par clé tournante pour les tickets d’authentification

Redémarrage des services IIS et Commerce Server.


Cryptage par clé tournante pour les tickets d'authentification

Envoyer des commentaires sur cette page Commerce Server 2002

Cryptage par clé tournante pour les tickets d’authentification

Utilisez la fonctionnalité de cryptage par clé tournante pour modifier la clé de cryptage, qui sert à crypter et décrypter les tickets d’authentification d’un site. Vous pouvez être amené à modifier la clé de cryptage de votre site après le départ d’une personne en charge de l’administration, après la détection d’une faille dans la sécurité externe ou à intervalles réguliers, dans le cadre d’une stratégie de sécurité.

Lorsqu’une clé de cryptage d’un site est modifiée, il est nécessaire de redémarrer les services IIS pour permettre à AuthFilter de se réinitialiser à partir de la nouvelle clé de cryptage. Pour plus d’informations sur la modification de votre clé de cryptage, consultez Génération d’une nouvelle clé de cryptage de cookie.

Si vous n’utilisez pas de batterie de serveurs Web (Web farm), aucune étape supplémentaire n’est requise. Cependant, si vous modifiez la clé de cryptage dans une batterie de serveurs Web (Web farm), suivez les étapes supplémentaires ci-dessous.

Cryptage par clé tournante dans une batterie de serveurs Web (Web farm)

Lorsque vous modifiez la clé de cryptage dans une batterie de serveurs Web (Web farm), vous devez redémarrer les services IIS sur chaque serveur Web. Cela permet à AuthFilter de se réinitialiser sur chaque serveur Web à partir de la nouvelle clé de cryptage. Cependant, pendant la réinitialisation des serveurs, il est possible qu’une demande contenant un ticket crypté à l’aide de l’ancienne clé de cryptage soit redirigée vers un serveur déjà réinitialisé, qui utilise la nouvelle clé de cryptage. De ce fait, lorsqu’une demande redirigée arrive sur ce serveur, AuthFilter a été initialisé à l’aide de la nouvelle clé de cryptage ; par conséquent, il ne peut pas décrypter le ticket contenu dans la demande. Ceci est dû au fait que le ticket de la demande redirigée a été crypté à l’aide de l’ancienne clé de cryptage. Dans la mesure où AuthFilter ne peut pas décrypter le ticket contenu dans la demande, AuthFilter redirige celle-ci vers la page de connexion.

Pour éviter la redirection d’utilisateurs validés vers la page de connexion après la modification de la clé de cryptage, il est nécessaire d’ajouter du code à la page Login.asp pour permettre la récupération de l’identificateur d’utilisateur dans le ticket entrant, crypté à l’aide de l’ancienne clé de cryptage. Ce code doit permettre de délivrer à l’utilisateur un nouveau ticket crypté à l’aide de la nouvelle clé.

Vous pouvez utiliser la méthode GetUserIDFromCookieAndKey de l’API AuthManager pour ajouter le code nécessaire à votre page de connexion et permettre la prise en charge du cryptage par clé tournante dans une batterie de serveurs Web (Web farm). Les lignes ci-dessous sont un extrait de code de la page Login.asp, qui a été personnalisée pour prendre en charge le scénario décrit précédemment :

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

Enfin, avant de modifier la clé de cryptage, vous devez utiliser la tâche DTS Importation de journal de serveur Web pour importer vos journaux IIS dans le Data Warehouse. Si vous n’importez pas les données avant de modifier la clé de cryptage, la tâche DTS Importation de journal de serveur Web ne pourra pas décrypter les tickets contenus dans les journaux. En effet, la tâche DTS Importation de journal de serveur Web essaie de décoder les tickets du fichier journal à l’aide de la clé de cryptage actuelle stockée dans la base de données d’administration.

Remarque

  • Conjointement avec l’exemple de code fourni, les anciennes clés de cryptage doivent être stockées à un emplacement où elles peuvent être récupérées par votre application. Ces anciennes clés de cryptage peuvent être utilisées ultérieurement pour décrypter les tickets cryptés avec ces dernières. Le mode de réalisation de cette opération dépend de l’application. Cependant, seul l’identificateur d’utilisateur peut être obtenu à partir d’un ancien ticket, toutes les propriétés personnalisées sont perdues.

Voir aussi

Redémarrage des services IIS et Commerce Server


Configuration de la page Login.asp pour l'utilisation d'un GUID

Envoyer des commentaires sur cette page Commerce Server 2002

Configuration de la page Login.asp pour l’utilisation d’un GUID

Vous pouvez mettre à jour votre page Login.asp pour ajouter une propriété personnalisée nommée guid, qui conserve une chaîne d’identificateur global unique (GUID, Globally Unique Identifier) dans le ticket d’un utilisateur, afin de protéger votre site contre les attaques de type DDoS (Distributed Denial of Service).

Pour placer un GUID dans le ticket d’un utilisateur, vous devez mettre à jour votre page de connexion, la page Login.asp des sites solutions. Une fois le GUID placé dans le ticket, AuthFilter l’utilise pour rechercher le mot de passe de l’utilisateur dans le cache de mots de passe AuthFilter. Ce GUID est placé dans le ticket de l’utilisateur en tant que propriété personnalisée à l’aide de la méthode SetProperty de l’objet AuthManager. En outre, la propriété est ajoutée à la chaîne de requête de l’adresse URL redirigée.

Une fois la propriété GUID définie, AuthFilter l’utilise pour accéder au cache de mots de passe plutôt qu’à l’identificateur d’utilisateur. Lorsqu’un utilisateur ouvre une session avec le même identificateur d’utilisateur mais en se servant d’un mot de passe différent, AuthFilter considère qu’il s’agit d’un nouvel utilisateur et crée une entrée dans le cache de mots de passe au lieu de remplacer le mot de passe d’origine. AuthFilter exécute ensuite les mêmes étapes que pour un nouvel utilisateur. Pour obtenir un exemple de code illustrant ce processus, consultez Code to Set a Custom Property on a Ticket (en anglais).

Pour examiner un exemple de page Login.asp mise à jour afin d’éviter les attaques DDoS, consultez Code de la page Login.asp pour le site solution Supplier.

Dans l’exemple ci-dessous, les lignes de code comportant une flèche située en regard indiquent les modifications à apporter au fichier Login.asp.

' 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

La variable strGUID est un GUID/identificateur unique généré, par exemple, par l’objet GUIDGen. Remarquez que le GUID doit être un identificateur unique.

Voir aussi

Code de la page Login.asp pour le site solution Supplier

BizDeskSecurity Object (en anglais)

AuthManager Object (en anglais)

Code to Set a Custom Property on a Ticket (en anglais)

Code to Generate a GUID (en anglais)

Utilisation de comptes proxy dans une batterie de serveurs Web (Web farm)

Ajout d’une nouvelle propriété à une définition de profil


Intégration à Passport

Microsoft Passport fournit les deux services suivants. Ils peuvent être intégrés à un site Web Microsoft Commerce Server. Ces services peuvent être intégrés séparément ou intégrés tous les deux au même site :

  • Service Passport connexion unique. Passport propose un service d’authentification qui permet aux utilisateurs Passport d’utiliser un seul nom d’utilisateur et un seul mot de passe pour accéder à tous les sites Web utilisant l’authentification Passport.
  • Service Passport Achats Express. Passport propose un service de portefeuille qui permet aux utilisateurs Passport de stocker les informations sur leur carte de crédit et leur adresse avec Passport et qui rend ensuite ces informations disponibles sur tous les sites Web utilisant le portefeuille Passport.

Les clients bénéficient de l’intégration Passport car ils n’ont qu’un seul nom d’utilisateur et un seul mot de passe à mémoriser, ils n’ont pas à saisir les informations concernant leur carte de crédit et leur adresse lors de chaque achat électronique, et les informations sensibles sont stockées dans un nombre d’emplacements réduit. Par ailleurs, les sites Web désirant utiliser Passport doivent adhérer à une politique de confidentialité uniformisée.

Les vendeurs bénéficient de l’intégration Passport car l’expérience améliorée pour les utilisateurs encourage davantage de clients à devenir utilisateurs inscrits d’un site Web, ce qui diminue le nombre de paniers abandonnés. La politique de confidentialité uniformisée devrait également inciter vos utilisateurs à partager plus facilement leurs informations personnelles.

Cette section décrit séparément ces deux possibilités d’intégration.

Cette section contient les rubriques suivantes :

  • Intégration du service Passport connexion unique. Décrit le service d’authentification Passport et les méthodes que vous pouvez utiliser pour l’intégrer à un site Web Commerce Server.
  • Utilisation de Secure Sockets Layer avec Microsoft Passport. Explique que vous devez utiliser SSL dans la mesure où Passport a besoin de SSL pour transférer les informations du portefeuille vers le site pendant la validation. Fournit des liens vers des informations complémentaires sur www.microsoft.com.
  • Intégration du service Passport Achats Express. Décrit le service de portefeuille Passport et les méthodes que vous pouvez utiliser pour l’intégrer à un site Web Commerce Server.
  • Étapes suivantes de l’intégration à Passport. Fournit des informations sur où rechercher des informations pour en apprendre davantage sur Passport et comment l’intégrer à un site Web Commerce Server.


Intégration du service Passport connexion unique

Microsoft Commerce Server 2002 permet de séparer l’authentification et les profils. Les profils Commerce Server peuvent être utilisés après le processus d’authentification, même si Commerce Server n’est pas utilisé pour l’authentification. Cette séparation vous permet d’intégrer le service d’authentification Microsoft Passport Connexion unique, en remplaçant les méthodes d’authentification intégrées fournies avec Commerce Server, tout en préservant les fonctionnalités intégrées du service Profils de Commerce Server.

Étapes de traitement de l’authentification Passport

L’authentification Passport comprend les étapes suivantes :

  1. Un utilisateur non authentifié tente d’accéder à une page protégée sur un site Web commerçant.
  2. Le code de la page appelle l’objet Manager de Passport, qui renvoie le navigateur de l’utilisateur sur la page de connexion du site Web Passport. L’URL de redirection comprend une chaîne de requête qui contient, entre autres, une URL de renvoi.
  3. L’utilisateur fournit ses informations d’identification Passport standard sur la page de connexion du site Web Passport.
  4. Si ces informations d’identification sont acceptées, le site Web Passport renvoie le navigateur de l’utilisateur vers le site Web commerçant, en incluant les données de profil Passport cryptées dans la chaîne de requête.
  5. L’objet Manager de Passport analyse et nettoie les données de la chaîne de requête, et envoie un cookie de la session au navigateur de l’utilisateur.
  6. Des cookies de session ou des cookies persistants sont définis, selon les préférences de connexion de l’utilisateur.
  7. Les authentifications suivantes sur les pages protégées du site commerçant dépendent des cookies Passport.

Stratégie d’intégration recommandée

L’approche recommandée pour l’intégration de l’authentification Passport comprend l’utilisation intégrée du service Profils de Commerce Server avec le service d’authentification Passport Connexion unique. Cette approche préserve les avantages de l’intégration prédéfinie du service Profils de Commerce Server et les autres fonctionnalités de Commerce Server.

Lorsqu’un utilisateur s’est authentifié une fois avec succès via Passport, le profil utilisateur correspondant est récupéré à partir du service Profils de Commerce Server et est utilisé pour le reste de la session. Pour effectuer ce type d’intégration, nous vous recommandons la méthode suivante :

  • Le profil utilisateur doit être modifié pour inclure une nouvelle propriété : PassportID. Cette propriété est définie sur l’identificateur d’utilisateur unique 64 bits utilisé par le service Passport, également appelé PUID (Pairwise Unique ID). Pour plus d’informations sur les PUID, consultez la documentation relative au Kit de développement de logiciel de Passport.
  • Lorsque Passport a correctement authentifié un utilisateur, récupérez les propriétés MemberIDHigh et MemberIDLow dans le profil Passport principal et calculez le PUID correspondant en utilisant la formule suivante :
    dim sPassportKey, sHex
sHex = Hex(nMemberIDHigh)
sPassportKey = String(8 - len(sHex), "0") & sHex
sHex = Hex(nMemberIDLow)
sPassportKey = sPassportKey & String(8 - len(sHex), "0") & sHex

    Pour obtenir des exemples plus approfondis de calculs de PUID, visitez le site Web Passport à l’adresse suivante : http://go.microsoft.com/fwlink/?LinkId=6740.

  • Utilisez le PUID calculé pour récupérer le profil utilisateur Commerce Server, en utilisant un code ressemblant à celui-ci :
    Dim csUserProfile
Set csUserProfile = ProfileService.GetProfileByKey( _
                                      "PassportID", _
                                      sPassportKey, _
                                        "UserObject")
  • Définissez le type de ticket et l’identificateur de cet utilisateur en utilisant l’objet AuthManager. Les deux lignes suivantes de code, à partir de la fonction LogOnUser du fichier Include\Profilelib.asp du mini-site Passport dans le Kit de développement de logiciel Commerce Server, montrent comment définir ces valeurs :
    objAuthMgr.SetAuthTicket strUserName, fCookieSupport, strTimeout
objAuthMgr.SetUserID enumMSCS_ProfileTicketType, _
                     objProfile.Fields(USER_ID).Value

    Pour plus d’informations, consultez respectivement AuthManager.SetAuthTicket et AuthManager.SetUserID.

  • Si le profil utilisateur Commerce Server correspondant n’est pas trouvé, un nouveau profil doit être créé pour le nouvel utilisateur, en enregistrant son PUID dans la propriété PassportID, en utilisant un test ressemblant à celui-ci :
    If ( csUserProfile Is Nothing ) Then
    ' Utilisez votre méthode standard pour créer de
    ' nouveaux profils utilisateur ici, en faisant appel à
    ' GenID.GenGUIDString et ProfileService.CreateProfile.
    ' N’oubliez pas d’enregistrer le PUID pour que le profil
    ' correspondant puisse être stocké la prochaine fois. Par exemple :
    CreateNewUserProfile(sPassportKey)
End If
  • Si le profil utilisateur Commerce Server correspondant est trouvé, vous pouvez envisager de synchroniser les données de profil Passport les plus récentes avec les données correspondantes dans le profil Commerce Server. De cette façon, l’utilisateur obtiendra les résultats escomptés : les modifications de leurs données personnelles sur les Web Passport sont utilisées par les sites commerçants Passport participant.

    Le profil Passport contient une propriété ProfileVersion qui vous permet de déterminer si les données du profil de l’utilisateur ont changé depuis sa dernière visite.

Vous pouvez également développer une solution d’authentification proposant le service Passport Connexion unique aux utilisateurs Passport et utilisant les mécanismes d’authentification Commerce Server aux autres utilisateurs.


Utilisation de Secure Sockets Layer avec Microsoft Passport

Microsoft Passport propose la fonctionnalité Passport Achats Express qui permet aux utilisateurs de Passport de stocker les informations relatives à leur carte de crédit et à leur adresse dans Passport, puis de mettre ces informations à la disposition de tout site Web utilisant Passport Achats Express.

Si vous utilisez Microsoft Passport, vous devez également utiliser SSL (Secure Sockets Layer). Passport a besoin de SSL pour transférer les informations du portefeuille vers le site pendant la validation.

Si vous installez un ordinateur de développement avec le site et que vous voulez utiliser la fonctionnalité Achats express, il vous faut un certificat SSL. Pour plus d’informations sur l’installation de SSL, consultez les deux sites Web suivants :

  • Step-by-Step Guide to Setting up a Certification Authority (en anglais) http://go.microsoft.com/fwlink/?LinkId=6741
  • Step-by-Step Guide to Automatic Certificate Request for Computers (en anglais) http://go.microsoft.com/fwlink/?LinkId=6742


Intégration du service Passport Achats Express

Microsoft Passport comprend une fonctionnalité de portefeuille qui permet à un utilisateur de ne fournir les données nécessaires à des achats électroniques (numéros de cartes de crédit, adresse de livraison, etc) à un seul emplacement central : le site Web Passport. Les vendeurs participant au programme Passport peuvent récupérer ces informations à partir du site Web du portefeuille Passport, évitant ainsi à l’utilisateur de devoir saisir les mêmes données lors de chaque achat. Contrairement au service d’authentification Passport Connexion unique, le service Achat Express ne nécessite pas l’installation d’objets COM (Component Object Model) spécifiques à Passport sur le serveur Web commerçant. Les vendeurs peuvent utiliser le service Passport Achat Express en utilisant ou pas le service Passport Connexion unique pour l’authentification.

Étapes de traitement du service Passport Achat Express

L’utilisation de Passport Achat Express implique les étapes suivantes :

  1. Un utilisateur choisit la validation Passport Achat Express sur une page d’un site Web commerçant.
  2. Le navigateur de l’utilisateur est redirigé vers la page Portefeuille du site Web Passport. L’URL de re-direction comporte une chaîne de requête qui contient une URL de renvoi, des données d’association de marques et de préférences de carte de crédit.
  3. Si l’utilisateur n’est pas encore connecté à Passport, il est invité à fournir ses informations d’identification Passport standard.
  4. Sur la page Portefeuille, l’utilisateur effectue des choix concernant la carte de crédit à utiliser, les adresses de facturation et de livraison, etc. L’utilisateur peut saisir de nouvelles informations concernant sa carte de crédit ou une adresse de livraison différente, ou bien modifier les entrées figurant déjà dans le portefeuille.
  5. Le site Web Passport redirige le navigateur de l’utilisateur vers le site Web commerçant et publie un formulaire comprenant les informations du portefeuille sélectionnées, formatées avec le langage ECML (Electronic Commerce Markup Language).
  6. Le site Web commerçant utilise les données de portefeuille renvoyées pour finaliser l’achat.

Stratégie d’intégration recommandée

L’approche recommandée pour l’intégration de Passport Achat Express implique de rationaliser le processus d’achat autant que possible. Dans la mesure où l’utilisateur a déjà vérifié les données concernant sa carte de crédit et son adresse sur la page de portefeuille, évitez de lui demander explicitement de vérifier à nouveau ses données personnelles sur votre site Web. Validez les données renvoyées par le site du portefeuille Passport selon la méthode définie, collectez les informations supplémentaires dont vous avez besoin puis affichez une page de résumé de la commande sur laquelle l’utilisateur donne son approbation finale de la commande. Les informations fournies par le portefeuille Passport peuvent être affichées à nouveau sur la page de résumé (le numéro de carte de crédit complet est l’une des exceptions possibles) pour une consultation implicite.

Important

  • Évitez de n’utiliser les donnés renvoyées par le site du portefeuille Passport que pour fournir des informations par défaut sur une page de formulaire que l’utilisateur ne peut pas éviter. Cette attitude est contradictoire avec le principe d’« achat express » de l’utilisation de Passport.

Envisagez l’association de marques pour les pages Passport afin qu’elles s’intègrent sans problème à votre site Web. Lorsque vous vous inscrivez à Passport, vous pouvez fournir l’URL d’un fichier de feuille de style personnalisable (.CSS) dans lequel vous pouvez définir les couleurs et les propriétés de presque tous les éléments des pages de connexion, de portefeuille et d’inscription Passport. Vous pouvez également injecter votre propre contenu dans la plupart des pages de portefeuille, y compris des questions spécifiques à votre site. Grâce à ce mécanisme, vous pouvez collecter toutes les informations supplémentaires dont vous avez besoin pour finaliser les achats sur la page Portefeuille Passport pour permettre à vos utilisateurs d’accéder directement à une page de résumé de la commande lorsqu’ils reviennent sur votre site Web.


Étapes suivantes de l'intégration à Passport

Envoyer des commentaires sur cette page Commerce Server 2002

Étapes suivantes de l’intégration à Passport

Pour intégrer correctement le service d’authentification Passport Connexion unique ou le service Passport Achat Express à un site Web Commerce Server, vous devez effectuer les opérations suivantes :

  • Utilisez le site Web Passport pour en savoir plus sur Passport et ses services. Ce site comporte des livres blancs, des démonstrations, des guides d’implémentation, des exemples de code, ainsi que des informations sur le groupe de discussion Passport et des indications pour poser des questions à l’équipe Passport.
  • Inscrivez-vous en tant que site Passport à l’adresse suivante : http://go.microsoft.com/fwlink/?LinkId=6740. Une fois cette opération effectuée, vous pouvez télécharger le Kit de développement de logiciel (SDK, Software Development Kit) et étudier plus en détails ses fonctionnalités.
  • Vérifiez que votre site Web est conforme aux standards requis pour faire partie des sites Web Passport. Ces standards concernent la confidentialité, la sécurité, etc.
  • Si vous avez l’intention d’utiliser le service Passport Achat Express, obtenez un certificat auprès d’une autorité de certification autorisée. Dans la mesure où le service Passport Achat Express utilise la technologie SSL (Secure Socket Layer) pour la sécurité, un certificat est requis.
  • Consultez le code source du mini-site Passport fourni dans le Kit de développement de logiciel Commerce Server. Pour plus d’informations, consultez Software Development Kit.


Déploiement de votre site

Vous déployez un site Web Microsoft Commerce Server 2002 en vous procurant et en configurant le matériel et les logiciels requis, en installant Commerce Server 2002, en décompressant votre site Web et en mettant en place les procédures d’analyse et de gestion du site. Cette section propose des exemples de configuration de déploiement, fournit des instructions pour le déploiement et traite des aspects à prendre en compte avant de déployer Commerce Server 2002.

Pour obtenir des instructions sur la configuration de votre site afin d’utiliser l’authentification Windows pour la sécurité de la base de données, consultez Déploiement de Commerce Server en utilisant l’authentification Windows.

Cette section contient les rubriques suivantes :

  • Déploiement : listes de contrôle. Décrit les étapes qui doivent être effectuées avant de commencer le processus de déploiement.
  • Mise à niveau à partir de versions antérieures. Décrit la mise à niveau des installations existantes de Commerce Server.
  • Planification du déploiement. Fournit des instructions concernant le déploiement dans trois principaux environnements et présente les concepts de mise en clusters, ainsi que les aspects de l’utilisation des pare-feu.
  • Configuration d’un déploiement type. Explique les différentes phases de la configuration d’un déploiement type, de la configuration matérielle et réseau à l’installation du logiciel.
  • Installation de la fonctionnalité d’analyse commerciale autonome. Décrit comment installer Commerce Server sur un seul ordinateur à l’aide de l’option d’installation Analyse commerciale.
  • Installation d’exemples de configuration. Fournit des instructions sur l’installation de Commerce Server 2002 dans des exemples de configuration.
  • Déploiement dans les environnements distribués. Répertorie les dépendances du déploiement de chaque composant Commerce Server 2002 sur son propre cluster de base de données distinct.
  • Sauvegarde de votre site. Explique comment sauvegarder et restaurer votre site.
  • Réplication du contenu de catalogues. Explique comment effectuer la réplication du contenu du catalogue d’un environnement de test vers un environnement de production.
  • Mise à jour de votre site. Explique comment mettre à jour le contenu de votre site et vos bases de données après le déploiement initial.
  • Utilisation du Gestionnaire de package de site. Décrit les opérations que vous pouvez effectuer avec le Gestionnaire de package de site Commerce Server et explique en termes généraux comment compresser et décompresser un site. Répertorie également des informations de référence pour le Gestionnaire de package de site.
  • Maintien d’une haute disponibilité. Fournit des instructions pour que votre déploiement bénéficie d’une haute disponibilité.


Déploiement: listes de contrôle

Envoyer des commentaires sur cette page Commerce Server 2002

Déploiement : listes de contrôle

Avant de déployer votre site, examinez les listes de contrôle suivantes pour vérifier que votre planification est terminée.

Pour obtenir une liste de contrôle des étapes à accomplir pour sécuriser votre site, consultez Liste de contrôle de la sécurité.

Cette section contient les rubriques suivantes :

  • Liste de contrôle de développement et de test de site. Fournit une liste de contrôle pour le développement et le test de votre site.
  • Liste de contrôle des processus commerciaux. Fournit une liste de contrôle pour la planification et l’implémentation de vos processus commerciaux.

Voir aussi

Planification du déploiement

Planification de votre installation Commerce Server


Liste de contrôle de développement et de test de site

Avant de déployer votre site, vous devez avoir terminé les phases de développement et de test. Vérifiez les points suivants :

  • Le développement du site est terminé.
  • Le site est compressé.
  • Une liste des ressources de site a été documentée.
  • Des noms ont été définis pour les serveurs du site.
  • Des noms de bases de données, des noms d’utilisateurs et des mots de passe ont été définis.
  • Les tests sont terminés. Vous avez testé les points suivants : contenu, compatibilité du navigateur, performances, charge du serveur, bases de données, options de recherche, temps de réponse aux requêtes, validité et intégrité des données, restauration du système, cohérence visuelle, liens et routeurs. Vous avez testé les performances de votre site à l’aide de l’outil Web Application Stress.
  • Une société externe indépendante a réalisé un audit de sécurité de votre site. Un tel examen constitue un moyen efficace de découvrir les risques au niveau de la sécurité.

Pour plus d’informations sur le test de votre site, consultez le Kit de Ressources Techniques Commerce Server 2000.


Liste de contrôle des processus commerciaux

Avant de déployer votre site, vous devez avoir planifié et implémenté vos processus commerciaux. Vérifiez les points suivants :

  • Le déroulement des opérations a été défini et testé.
  • Les administrateurs système ont reçu une formation initiale et les chefs d’entreprise, principaux utilisateurs de Commerce Server Business Desk, ont exécuté jusqu’au bout le didacticiel Business Desk.
  • L’équipe d’environnement de serveur a été identifiée et des procédures de fonctionnement ont été déterminées (par exemple, demande de modification, journal de contrôle des modifications, mise à jour de serveur, calendriers de maintenance et procédures d’escalade des problèmes).

Voir aussi

Planification des pipelines de processus commercial.


Mise à niveau à partir de versions antérieures

Commerce Server 2002 propose des outils vous permettant de faire migrer vos sites Site Server 3.0, Site Server 3.0, Édition Commerce électronique et Commerce Server 2000. Ces outils sont conçus pour les développeurs de site, qui peuvent les personnaliser pour répondre aux besoins de votre site en matière de migration.

Cette section contient les rubriques suivantes :

  • Mise à niveau à partir de Commerce Server 2000
  • Mise à niveau à partir de Site Server 3.0
  • Migration de l’annuaire d’abonnement


Mise à niveau à partir de Commerce Server2000

Envoyer des commentaires sur cette page Commerce Server 2002

Mise à niveau à partir de Commerce Server 2000

Pour plus d’informations sur la mise à niveau de Commerce Server 2000 vers Commerce Server 2002, consultez Mise à niveau à partir de Commerce Server 2000.


Mise à niveau à partir de Site Server3.0

Envoyer des commentaires sur cette page Commerce Server 2002

Mise à niveau à partir de Site Server 3.0

Commerce Server 2002 propose des outils qui permettent de faire migrer votre site Microsoft Site Server 3.0 ou Microsoft Site Server 3.0 Édition Commerce électronique vers Commerce Server 2002. Ces outils sont conçus pour des développeurs de site qui peuvent les personnaliser pour répondre aux besoins de votre site en matière de migration.

Cette section contient les rubriques suivantes :

  • Fonctionnalités de Site Server 3.0 liées à la migration. Décrit les fonctionnalités qui sont incorporées à Commerce Server 2002 et celles qui sont incorporées à d’autres produits Microsoft.
  • Planification de la migration à partir de Site Server vers Commerce Server 2002. Explique les stratégies de planification d’une migration vers Commerce Server 2002.
  • Vue d’ensemble des outils de migration. Décrit les outils de migration de Site Server 3.0 et leur utilisation.
  • Vue d’ensemble de la documentation sur la migration. Indique l’emplacement des documents sur la migration et explique la différence entre les pipelines et catalogues de Site Server et ceux de Commerce Server 2002.


Fonctionnalités de Site Server3.0 liées à la migration

Envoyer des commentaires sur cette page Commerce Server 2002

Fonctionnalités de Site Server 3.0 liées à la migration

Commerce Server 2002 offre un chemin de migration pour les fonctionnalités de Microsoft Site Server 3.0 et Microsoft Site Server 3.0 Édition Commerce électronique (SSCE) qui ont été incorporées dans Commerce Server 2002.

La majorité des fonctionnalités de Site Server 3.0 ont été incorporées dans Commerce Server 2002. Certaines ont toutefois été incorporées dans d’autres produits Microsoft. Les tableaux suivants répertorient les fonctionnalités de Site Server 3.0 et SSCE qui ont migré et identifient les produits et fonctionnalités vers lesquels elles ont migré.

Fonctionnalités de Site Server 3.0 et Site Server 3.0 Édition Commerce électronique (SSCE) incorporées dans Commerce Server 2002

Fonctionnalités de Site Server 3.0 | Fonctionnalités de Commerce Server 2002
Ad Server / Ad Manager | Infrastructure de sélection de contenu (CSF, Content Selection Framework) / Module Gestionnaire de campagnes
Analyse : Report Writer, Custom Import, Usage Import | Analyse : Rapports, Custom Import, Data Warehouse, Analyse commerciale
Publipostage | Publipostage
Pipelines | Pipelines
Boutique en ligne | Système de catalogue de produits
Personalization & Membership | Profils utilisateur
Lexique du site | Entrées du glossaire du site
Créateur de règle | Générateur d’expressions
Starter Sites | Sites solutions
Transactions | Transactions
Content Deployment et Content Replication System | Gestionnaire de package de site Commerce Server 2002 (prend en charge quelques aspects du déploiement du contenu et de la réplication).

Fonctionnalités de Site Server 3.0 et Site Server 3.0 Édition Commerce électronique (SSCE) incorporées dans d’autres produits Microsoft

Fonctionnalités de Site Server 3.0 | Produits Microsoft
Content Deployment et Content Replication System | Microsoft Application Center 2000 (prend en charge quelques aspects du déploiement du contenu et de la réplication).
Pipeline Commerce Interchange | Microsoft BizTalk Server 2000
Internet Locator Service (ILS) / Annuaire dynamique | Microsoft Windows 2000 – Services ILS Site Server
Recherche : Index, Analyse, Scripts | Incorporée dans Microsoft SharePoint Portal Server
Knowledge Manager | Incorporée dans SharePoint Portal Server
Posting Acceptor | Microsoft WebDAV

Les fonctionnalités suivantes de Site Server 3.0 n’ont pas été incorporées dans Commerce Server 2002 ou d’autres produits Microsoft et ne sont plus prises en charge : Assistant Publication, Push (Active Channel Multicaster, Serveur Active Channel), Content Analyzer et Tag Tool.

Remarque

  • Les services IIS (Internet Information Services) ont modifié le paramétrage par défaut de la mise en mémoire tampon automatique dans la version 5.0. Dans la version 4.0, la mise en mémoire tampon automatique était désactivée par défaut ; dans la version 5.0, elle est activée. Les pages ASP (Active Server Pages) qui sont migrées à partir d’un site Site Server 3.0 Édition Commerce électronique vers un site Commerce Server 2002 doivent prendre cela en compte.


Planification de la migration à partir de Site Server vers Commerce Server2002

Envoyer des commentaires sur cette page Commerce Server 2002

Planification de la migration à partir de Site Server vers Commerce Server 2002

Les questions suivantes sont à considérer lorsque vous planifiez la migration de votre site à partir de Site Server 3.0 Édition Commerce électronique vers Commerce Server 2002 :

  • Il est impossible d’effectuer une migration vers un composant Commerce Server 2002 à la fois.
  • Vous devez créer un nouveau site, lequel devient opérationnel une fois que la migration du comportement, du contenu et des données du nouveau site s’est effectuée avec succès.
  • La migration du code du site est nécessaire réussir à déplacer votre site SSCE vers Commerce Server 2002.

Bien qu’il existe plusieurs stratégies disponibles pour planifier une migration réussie, vous devez considérer deux stratégies principales : batterie de serveurs Web (Web farm) parallèles et double système d’initialisation.

Batterie de serveurs Web (Web farm) parallèles

La stratégie de batterie de serveurs Web (Web farm) parallèles suppose l’exécution simultanée de Commerce Server 2002 et Site Server côte à côte, à partir de deux emplacements différents, pendant tout le processus de migration. La construction d’une batterie de serveurs Web (Web farm) parallèles permet de répliquer la fonctionnalité du site SSCE existant à l’aide des technologies Commerce Server 2002. Bien qu’elle consomme beaucoup de ressources, la batterie de serveurs Web (Web farm) parallèles est la méthode de migration qui fournit la meilleure gestion des risques pour les sites qui gèrent de façon active les risques d’instabilité des sites.

Avantages de l’utilisation d’une batterie de serveurs Web (Web farm) parallèles :

  • Le site SSCE en service n’est pas affecté tant que le site Commerce Server 2002 n’est pas complètement opérationnel et capable de prendre en charge les clients.
  • Le nouveau site Commerce Server 2002 peut faire l’objet de tests complets de fonctionnalité et de performance dans des conditions de stress dues à une charge utilisateurs simulée et générée par des outils tels que Microsoft WAS (Web Application Stress).
  • La migration du code et des données du site peut être complètement testée avant que le site ne soit ouvert aux utilisateurs.
  • Toutes les procédures de fonctionnement peuvent être établies et documentées avant leur mise en service sur le nouveau site Commerce Server 2002.

Inconvénients de l’utilisation d’une batterie de serveurs Web (Web farm) parallèles :

  • Consomme beaucoup de ressources en termes de matériel, d’espace et d’infrastructure réseau.

Double système d’initialisation

La stratégie d’un double système d’initialisation signifie que vous installez une nouvelle instance de Microsoft Windows 2000 sur votre serveur SSCE, sur un système de disque distinct. Une fois le nouveau système d’exploitation installé, vous pouvez installer Commerce Server 2002 sur la nouvelle partition. Vous devez installer les bases de données Commerce Server 2002 sur un serveur distinct, car la configuration SQL de Commerce Server 2002 diffère de celle de SSCE.

Exemple de stratégie à double système d’initialisation

Un serveur exécutant SSCE peut avoir la configuration de disque suivante :

  • Lecteur C : Lecteur du système d’exploitation
  • Lecteur D : IIS, SSCE et code du site
  • Lecteur E : IIS et journalisation système

Après avoir implémenté la stratégie de double système d’initialisation par l’ajout de lecteur(s) de disque, vous obtenez une configuration de serveur qui peut ressembler à ceci :

  • Lecteur C : Lecteur du système d’exploitation
  • Lecteur D : IIS, SSCE et code du site
  • Lecteur E : IIS et journalisation système
  • Lecteur F : Lecteur du système d’exploitation (Windows 2000 installé pour Commerce Server 2002)
  • Lecteur G : IIS, Commerce Server 2002 et code du site (Windows 2000 installé pour Commerce Server 2002)
  • Lecteur H : IIS et journalisation système (Windows 2000 installé pour Commerce Server 2002)

Dans cet exemple, lorsque votre serveur démarre, il est configuré pour s’initialiser soit sur le lecteur C, soit sur le lecteur F, selon le site qui doit être opérationnel.

Avantages d’une stratégie de double système d’initialisation :

  • Configuration matérielle requise réduite.
  • Utilisation de l’infrastructure réseau existante.
  • Utilisation d’un matériel éprouvé qui répond à vos besoins commerciaux.

Inconvénients d’une stratégie à double système d’initialisation :

  • Un seul site peut être opérationnel à la fois. Ce peut être un site SSCE ou un site Commerce Server 2002, mais pas les deux.
  • Le nouveau site Commerce Server 2002 ne peut être entièrement testé pour ses fonctionnalités et performances en tant que plate-forme à part entière qu’après la mise hors ligne du site SSCE tout entier et le basculement du serveur vers l’instance de Commerce Server 2002.
  • Les bases de données doivent être migrées vers un serveur distinct avant la migration.


Vue d'ensemble des outils de migration

Envoyer des commentaires sur cette page Commerce Server 2002

Vue d’ensemble des outils de migration

Vous pouvez personnaliser les outils de migration de Commerce Server 2002 selon vos besoins. Le code source et un Kit de développement de logiciel (SDK, Software Development Kit) expliquant comment personnaliser et étendre les outils sont fournis avec Commerce Server 2002. Cette section présente les outils de migration et leur emploi.

Boîte à outils de migration d’annuaire

Outil de migration Ad Server

Boîte à outils de migration d’annuaire

La boîte à outils de migration d’annuaire est un ensemble d’outils et d’objets COM (Component Object Model) écrits en C++. Elle comprend les objets suivants : MigrationMainObj, MigrationReadObj, MigrationWriteObj, MigrationModifyObj et MigrationLogObj. Utilisez ces objets pour faire migrer les données utilisateur de votre annuaire d’abonnement Site Server vers votre base de données de profils Commerce Server 2002. La boîte à outils de migration d’annuaire est livrée avec son code source, qui peut ainsi être modifié pour répondre aux exigences d’une implémentation spécifique de l’annuaire d’abonnement.

La figure suivante offre une vue d’ensemble du fonctionnement des objets de migration.

Figure illustrant une vue d'ensemble du fonctionnement de l'outil de migration d'annuaire.

L’un des composants essentiels de la boîte à outils de migration d’annuaire est l’outil de migration d’annuaire, qui effectue la véritable migration. L’outil de migration d’annuaire est conçu pour gérer un état entre les implémentations de plusieurs instances du mode Temps réel et d’une instance unique du mode Batch. Cet équilibre permet d’éviter les situations de concurrence entre des instances de l’outil de migration d’annuaire qui tentent de faire migrer le même compte. Vous pouvez utiliser l’outil de migration d’annuaire selon deux modes :

  • Mode Temps réel. Ce mode est conçu pour faire migrer les utilisateurs lorsqu’ils essaient de s’authentifier via le fichier Login.asp. Le code normal de Login.asp est étendu de telle sorte que si une authentification échoue parce que le profil utilisateur est absent de la base de données, l’outil de migration peut être appelé pour effectuer une migration en « temps réel » du profil utilisateur vers le nouveau système de profil de Commerce Server 2002. Une fois la migration achevée, le fichier Login.asp effectue l’authentification de l’utilisateur et le traitement reprend normalement.
  • Mode Batch. Ce mode est conçu pour faire migrer les utilisateurs de l’annuaire d’abonnement vers la banque de profils utilisée par le service Profils de Commerce Server 2002. Il permet de traiter une liste entière d’utilisateurs sur un serveur autonome. Une fois la liste traitée, l’ensemble du processus de migration se termine. Il ne reste qu’à résoudre les échecs de migration consignés dans le journal. Après avoir résolu la cause d’un échec, vous devez soumettre à nouveau les processus de migration pour les comptes concernés jusqu’au succès complet de l’opération.

Outil de migration Ad Server

L’outil de migration Ad Server permet de faire migrer les données publicitaires depuis SSCE vers Commerce Server 2002. Le nom de fichier de cet outil est Adservermigration.exe et il se trouve dans le dossier suivant : Microsoft Commerce Server 2002\SDK\Tools\SSCE Migration\Ad Server.

L’outil de migration Ad Server crée des expressions pour l’évaluation de cibles et déplace les publicités entre les sites Web. Cet outil utilise également des expressions courantes pour diriger le processus de sélection des publicités.

Voir aussi

Migration de l’annuaire d’abonnement


Vue d'ensemble de la documentation sur la migration

Envoyer des commentaires sur cette page Commerce Server 2002

Vue d’ensemble de la documentation sur la migration

Cette section indique l’emplacement des documents sur la migration et explique la différence entre les pipelines et catalogues de Site Server et ceux de Commerce Server 2002. Pour plus d’informations sur la migration de l’annuaire d’abonnement, consultez Migration de l’annuaire d’abonnement.

Pipelines

Les pipelines de Commerce Server 2002 sont compatibles avec les pipelines de Site Server 3.0 Édition Commerce électronique (SSCE) en ce qui concerne leur API (Application Programming Interface). Les composants de pipeline tiers utilisés avec SSCE fonctionnent sous Commerce Server 2002, à l’exception des éléments suivants :

  • La devise est devenue une valeur de 64 bits (dans SSCE, la devise était un entier de 32 bits).
  • Les informations d’adresse/de livraison ont été modifiées pour pouvoir gérer les adresses de livraison multiples.

Si vos composants tiers interagissent avec les données de pipeline au niveau de l’objet Dictionary, ces modifications n’affectent pas forcément votre site. Cependant, si vos composants tiers interagissent avec des données de pipeline au niveau de la base de données, là où les données sont effectivement stockées, vos composants seront affectés car la couche de base de données a changé dans Commerce Server 2002.

Catalogues

Il existe une différence importante entre les catalogues de Commerce Server 2002 et ceux de SSCE. L’Assistant SSCE générait uniquement un catalogue de base appelé boutique en ligne. Au contraire, les catalogues créés dans Commerce Server 2002 sont plus complexes et offrent une plus grande souplesse. La plupart des déploiements de SSCE utilisent des solutions de catalogues personnalisés qui empêchent le développement d’un outil générique pour la migration vers le système de catalogue de produits de Commerce Server 2002.

Avant de faire migrer votre boutique en ligne ou une solution de catalogue personnalisé vers un catalogue Commerce Server 2002, vous devez créer un catalogue pour Commerce Server 2002. Pour ce faire, vous commencez par créer un schéma de catalogue. Cela fait, vous pouvez créer un catalogue et le remplir de produits.

Vous pouvez utiliser les stratégies suivantes pour faire migrer votre boutique en ligne ou votre catalogue personnalisé vers un catalogue Commerce Server 2002 :

  • Créez un fichier XML contenant vos données de catalogue et importez-le dans le système de catalogue de produits de Commerce Server 2002. Le fichier XML doit avoir un format que le système de catalogue de produits est capable d’importer. Un fichier de catalogue XML doit contenir la définition du schéma ainsi que les données de catalogue.

    Une autre technique pour déterminer le format XML précis des données de catalogue à importer consiste à construire le schéma de catalogue souhaité et à le remplir avec plusieurs exemples de produits. Exportez ensuite ce catalogue au format XML et étudiez le fichier XML qui en résulte. Les données de votre boutique en ligne ou solution de catalogue personnalisé doivent respecter ce format.

    Pour plus d’informations sur le format XML attendu par le système de catalogue de produits, consultez Catalog XML Structures (en anglais).

    Pour plus d’informations sur l’importation du fichier XML une fois qu’il a été construit, consultez Importation d’un fichier de catalogue XML.

  • Créez un fichier CSV (valeurs séparées par une virgule) contenant vos données de catalogue et importez-le dans le système de catalogue de produits de Commerce Server 2002. Le fichier CSV doit avoir un format que le système de catalogue de produits est capable d’importer et qui est compatible avec le schéma défini pour votre catalogue Commerce Server 2002.

    Pour plus d’informations sur le format CSV attendu par le système de catalogue de produits, consultez Catalog XML Structures (en anglais).

    Pour plus d’informations sur le format CSV attendu par le système de catalogue de produits et sur l’importation du fichier CSV une fois que vous l’avez construit, consultez Importation d'un fichier de catalogue CSV.

  • Créez un script utilitaire qui lit la structure et les données de catalogue de votre boutique en ligne ou de votre solution de catalogue personnalisé, puis utilisez les objets de catalogue Commerce Server 2002 pour créer un catalogue Commerce Server 2002 avec le schéma souhaité et remplissez ce catalogue avec des données sur les produits.

    Pour plus d’informations sur les objets de catalogue Commerce Server 2002, consultez Product Catalog Objects (en anglais).

Voir aussi

Création d’une définition de catalogue

Création d’un catalogue de base

Ajout d’un produit à un catalogue


Migration de l'annuaire d'abonnement

Envoyer des commentaires sur cette page Commerce Server 2002

Migration de l’annuaire d’abonnement

La boîte à outils de migration d’annuaire est un ensemble de composants que vous utilisez pour faire migrer un annuaire d’abonnement Microsoft Site Server 3.0 vers une banque de profils utilisateur Commerce Server 2002.

Cette section décrit l’architecture des composants et explique comment faire migrer l’annuaire d’abonnement. Elle s’adresse aux administrateurs système et aux développeurs de sites responsables de la migration d’un site basé sur Site Server 3.0 vers Commerce Server 2002. Avant d’utiliser la boîte à outils de migration d’annuaire, vous devez bien connaître la documentation des deux produits.

Cette section contient les rubriques suivantes :

  • À propos de la boîte à outils de migration d’annuaire. Décrit les composants de la boîte à outils de migration d’annuaire.
  • Planification de la migration. Décrit les points que vous devez prendre en compte avant de commencer la migration.
  • Préparation en vue de la migration. Explique comment pré-remplir les groupes Active Directory de la banque de données de profils et comment mapper les attributs de l’annuaire d’abonnement vers les attributs appropriés de la banque de données de profils.
  • Démarrage du processus de migration. Explique comment démarrer le processus de migration.
  • Dépannage à l’aide du fichier journal de migration. Explique comment détecter les problèmes à l’aide du fichier journal de migration.
  • Vérification du bon déroulement de la migration. Explique comment vérifier que le processus de migration s’effectue correctement.
  • Bibliothèque d’utilitaires de migration. Décrit le contenu du fichier bibliothèque MigUtil.
  • Fichier d’exemple XML. Propose un fichier d’exemple au format XML de profil de migration.


À propos de la boîte à outils de migration d'annuaire

Envoyer des commentaires sur cette page Commerce Server 2002

À propos de la boîte à outils de migration d’annuaire

La boîte à outils de migration d’annuaire contient les composants qui permettent de faire migrer des utilisateurs de l’annuaire d’abonnement Site Server 3.0 vers la banque de données de profils Commerce Server. Vous pouvez utiliser les composants de la boîte à outils de migration d’annuaire pour modifier le code source des composants de migration et pour pré-remplir les groupes du service d’annuaire Active Directory dans la banque de données de profils. Vous pouvez également mapper les attributs de l’annuaire d’abonnement vers les attributs appropriés de la banque de données de profils, faire migrer les profils de l’annuaire d’abonnement en mode batch ou à la demande et modifier le code qui détermine l’emplacement de stockage d’un utilisateur dans Active Directory. L’objet SubgroupManager vous aide à déterminer l’appartenance aux groupes.

Cette section contient les rubriques suivantes :

  • Code source des composants de migration
  • Outil Préremplissage des groupes
  • Outil de migration ProfileBuilder
  • Outil de migration d’annuaire
  • SubgroupManager, objet


Code source des composants de migration

La boîte à outils de migration d’annuaire comprend des versions compilées des composants, que vous pouvez utiliser immédiatement pour faire migrer votre annuaire d’abonnement Microsoft Site Server 3.0 vers la banque de données de profils Commerce Server. En outre, la boîte à outils inclut le code source de tous les composants. Vous pouvez ainsi le modifier pour l’adapter à vos besoins.

Le code source de ces composants se trouve dans le dossier <lecteur>:\Program Files\Microsoft Commerce Server\SDK\Tools\SSCE Migration\Membership.

Le tableau suivant répertorie les sous-dossiers du dossier Membership et décrit les composants contenus dans chacun de ces sous-dossiers.

Sous-dossier | Description
\bin\release | Fichiers binaires précompilés des objets de migration d’annuaire et client de test de migration.
\Client | Code source C++ d’un client simple pour faire migrer un seul profil utilisateur.
\GroupMigration | Code source Microsoft Visual Basic de l’outil servant à pré-remplir les groupes Active Directory avant de faire migrer les profils utilisateur.
\include | Fichiers d’en-tête utilisés pour construire les objets.
\MigrationLogObj | Code source C++ de l’objet MigrationLogObj de l’outil de migration d’annuaire.
\MigrationMainObj | Code source C++ de l’objet MigrationMainObj.
\MigrationModifyObj | Code source C++ de l’objet MigrationModifyObj.
\MigrationReadObj | Code source C++ de l’objet MigrationReadObj.
\MigrationUtil | Code source C++ de la bibliothèque d’utilitaires de migration de l’outil de migration d’annuaire.
\MigrationWriteObj | Code source C++ de l’objet MigrationWriteObj.
\ProfileBuilder | Code source Visual Basic de l’outil de migration ProfileBuilder, qui sert à créer le fichier de configuration XML (Extensible Markup Language) utilisé par les objets de l’outil de migration d’annuaire.
\SubGroupManager | Code source Visual Basic d’un objet Application d’assistance, qui sert à déterminer le groupe auquel appartient un utilisateur.

Le fichier Readme.htm du dossier Membership contient des informations importantes sur la boîte à outils de migration d’annuaire de cette version de Commerce Server.

Voir aussi

Objets de migration


Outil Préremplissage des groupes

Utilisez l’outil Préremplissage des groupes pour pré-remplir les groupes du service d’annuaire Active Directory, si vous utilisez des groupes dans votre installation. Vous pouvez créer des groupes dans le domaine ou la forêt Active Directory, selon le cas. Dans la mesure où vous devez créer des groupes avant d’y ajouter des utilisateurs, exécutez l’outil Préremplissage des groupes avant de faire migrer les utilisateurs.

En pré-remplissant les groupes Active Directory, vous pouvez définir les listes de contrôle d’accès (ACL) sur le système de fichiers avant d’activer votre site Commerce Server.

Voir aussi

Exécuter l’outil Préremplissage des groupes


Outil de migration ProfileBuilder

Utilisez l’outil de migration ProfileBuilder pour mapper les attributs de l’annuaire d’abonnement Microsoft Site Server 3.0 vers la banque de données de profils Commerce Server.

Lorsque vous exécutez l’outil de migration d’annuaire, celui-ci lit le fichier XML (Extensible Markup Language) qui mappe les attributs utilisateur de l’annuaire d’abonnement vers la ou les banques de données de profils.

L’outil de migration ProfileBuilder effectue les tâches suivantes :

  • Il lit les attributs utilisateur du schéma de l’annuaire d’abonnement.
  • Il lit les attributs utilisateur du schéma de l’objet de profil utilisateur.
  • Il crée le fichier de configuration XML lu par l’outil de migration d’annuaire.

Remarque

  • Pour utiliser cet outil, vous devez disposer de privilèges d’administration qui vous permettent d’afficher tous les domaines de la forêt Active Directory.

Voir aussi

Exécuter l’outil de migration ProfileBuilder


Outil de migration d'annuaire

Envoyer des commentaires sur cette page Commerce Server 2002

Outil de migration d’annuaire

Vous pouvez exécuter l’outil de migration d’annuaire dans l’un ou l’autre des modes suivants :

  • Mode Batch. Fait migrer une plage séquentielle d’utilisateurs.
  • Mode à la demande. Fait migrer un utilisateur à la fois, selon les besoins.

Vous pouvez exécuter simultanément plusieurs instances de l’outil de migration d’annuaire. Lorsque les deux modes sont utilisés pour faire migrer un annuaire, le mode Batch fait migrer tous les utilisateurs ensemble. Pour les utilisateurs qui accèdent au site avant que la migration de leur compte ait eu lieu, la migration à la demande peut être déclenchée pour permettre à l’utilisateur en question de poursuivre sa progression sur le nouveau site, moyennant une interruption minimale. Les objets de migration sont installés sur un ou plusieurs serveurs et feront migrer un utilisateur lorsque la demande se présentera. En mode Batch, la migration s’effectue pour une plage séquentielle d’utilisateurs. En mode à la demande, la migration s’effectue pour un utilisateur à la fois, lorsque celui-ci se connecte au site Commerce Server 2002. Le fichier Login.asp du répertoire <lecteur>:\Program Files\Microsoft Commerce Server\SDK\Tools\SSCE Migration\Membership\Client peut être utilisé pour faire migrer des utilisateurs à la demande.

Pour permettre le suivi de l’état de chaque migration d’utilisateurs, l’attribut Migration est ajouté au schéma des utilisateurs de l’annuaire d’abonnement. L’attribut Migration est de type binaire.

Pour chaque attribut migré, l’outil de migration d’annuaire affecte la valeur True à l’attribut Migration si la migration s’est correctement déroulée, et False dans le cas contraire. Si la migration a échoué, recherchez la raison de cet échec dans le fichier journal.

Remarque

  • L’outil de migration d’annuaire interprète l’absence d’un attribut migré comme « aucune tentative de migration ».

MigrationMainObj, objet

L’objet MigrationMainObj est le principal objet qui gère la migration d’utilisateurs individuels ou de plages d’utilisateurs à la demande. Il appelle les objets dans l’ordre suivant pour chaque utilisateur à faire migrer :

  1. MigrationReadObj, objet
  2. MigrationModifyObj, objet
  3. MigrationWriteObj, objet
  4. MigrationLogObj, objet

Si l’objet MigrationMainObj est configuré pour une exécution en mode Batch, il utilise un filtre pour générer des requêtes LDAP (Lightweight Directory Access Protocol) pour les profils utilisateur correspondant aux critères de filtre (par exemple, les utilisateurs dont le nom commence par « Aaa » et jusque « Adz »). Ce filtre sert à éviter les délais d’expiration LDAP. Pour plus d’informations sur ce filtre, consultez Outil de migration ProfileBuilder.

La figure suivante illustre le traitement d’un profil utilisateur par l’outil de migration d’annuaire.

Figure illustrant le traitement d'un profil utilisateur par l'outil de migration d'annuaire.

L’outil de migration d’annuaire effectue la procédure suivante pour traiter un profil utilisateur :

  1. Il récupère les informations d’un fichier de configuration XML (Extensible Markup Language) qui contient des détails sur les objets à utiliser et des instructions pour le mappage des données à lire vers les données à écrire.
  2. L’objet MigrationMainObj reçoit une demande de migration d’un profil utilisateur.
  3. L’objet MigrationMainObj envoie la demande à l’objet MigrationReadObj.
  4. Si l’attribut Migration n’est pas défini à True ou à False, l’objet MigrationReadObj affecte à l’attribut Migration la valeur True, pour éviter que d’autres instances de l’outil de migration d’annuaire ne procèdent aussi à la migration de ce profil. Si la mise à jour réussit, le processus de migration passe à l’étape suivante. Dans le cas contraire, il échoue.
  5. L’objet MigrationReadObj récupère le profil utilisateur de l’annuaire d’abonnement.
  6. Si le fichier de configuration XML le spécifie, l’objet MigrationReadObj appelle l’objet MigrationModifyObj.
  7. L’objet MigrationModifyObj modifie le profil utilisateur conformément aux spécifications, puis renvoie un tampon modifié à l’objet MigrationReadObj.
  8. L’objet MigrationReadObj envoie un pointeur vers le tampon modifié à l’objet MigrationMainObj. Si l’objet MigrationReadObj renvoie une erreur, l’objet MigrationMainObj consigne l’erreur dans le journal, appelle l’objet MigrationReadObj pour affecter à l’attribut Migration la valeur « Failed », puis se prépare à traiter la demande de migration suivante.
  9. L’objet MigrationMainObj envoie le tampon à l’objet MigrationWriteObj, qui écrit le profil utilisateur dans la banque de données de profils.
  10. L’objet MigrationWriteObj envoie la demande d’écriture à l’objet ProfileService. Si l’écriture aboutit, l’objet MigrationWriteObj ajoute ensuite le profil utilisateur aux groupes appropriés et met à jour l’attribut MemberOf en conséquence. Si l’écriture échoue, elle est annulée. Si l’annulation échoue, l’objet MigrationWriteObj consigne l’échec dans le journal.
  11. L’objet ProfileService renvoie un code indiquant la réussite ou l’échec de la tentative d’écriture.
  12. Si la migration s’effectue vers Active Directory, l’objet MigrationWriteObj ajoute l’utilisateur aux groupes appropriés via des appels ADSI (Active Directory Service Interfaces) directs.
  13. L’objet MigrationWriteObj consigne dans le journal la réussite (ou l’échec) de la tentative d’écriture et ajoute les utilisateurs aux groupes appropriés lorsqu’il a terminé. L’objet MigrationWriteObj renvoie, selon le cas, le code de réussite ou d’échec.
  14. L’objet MigrationMainObj consigne dans le journal une tentative de migration en indiquant si elle a réussi ou échoué, puis renvoie le code correspondant au composant appelant.

MigrationReadObj, objet

L’objet MigrationReadObj lit les attributs des profils utilisateur à partir de l’annuaire d’abonnement Site Server 3.0. L’objet MigrationMainObj appelle l’objet MigrationReadObj à la migration de chaque profil utilisateur.

Le code source de l’objet MigrationReadObj est disponible dans le dossier SDK\Tools\SSCE Migration\Membership.

MigrationModifyObj, objet

L’objet MigrationModifyObj permet de modifier les données des profils utilisateur au moment de la migration. L’objet MigrationModifyObj est chargé de la gestion des tampons. Reportez-vous au code source pour obtenir des exemples de gestion des tampons.

Le code source d’un objet MigrationModifyObj est disponible dans le dossier SDK\Tools\SSCE Migration\Membership.

MigrationWriteObj, objet

L’objet MigrationWriteObj écrit les données des profils utilisateur migrés dans l’objet ProfileService. En outre, si l’utilisateur est membre d’un groupe, l’objet MigrationWriteObj l’ajoute au groupe équivalent dans Active Directory.

MigrationLogObj, objet

L’objet MigrationLogObj sert à créer le journal des transactions, que vous utiliserez pour diagnostiquer les problèmes rencontrés lors du processus de migration.


SubgroupManager, objet

L’objet SubGroupManager est un objet Application d’assistance utilisé dans le code et qui détermine l’emplacement de stockage d’un utilisateur dans le service d’annuaire Active Directory. Il constitue ainsi un outil d’aide à la détermination des appartenances aux groupes.

L’objet SubGroupManager est un fichier de bibliothèque de liens dynamiques (DLL) Microsoft Visual Basic ActiveX et d’un fichier .exe de test qui accepte en entrée les noms uniques d’un utilisateur et du groupe parent.

Dans la mesure où il existe une limite effective de 5 000 objets par groupe, la plupart des groupes nécessiteront une série de sous-groupes pour contenir l’ensemble des utilisateurs d’un groupe important. Par exemple, un annuaire d’abonnement peut comprendre un groupe nommé « amis » où figurent 10 000 utilisateurs. Dans Active Directory, il vous faudrait créer le groupe principal « amis », puis créer des sous-groupes sous ce groupe principal, qui contiendra effectivement tous les utilisateurs. Ces sous-groupes sont facilement identifiables, car leur nom reprend celui du groupe principal, auquel est ajouté un suffixe numérique. Par exemple, « amis_0001 ».

Le tableau suivant présente les méthodes prises en charge par l’objet SubGroupManager et fournit la description de chacune.

Méthode Description
SubGroupMembership
  • Retourne sous forme de chaîne le nom unique (DN) du sous-groupe dans lequel le profil utilisateur sera placé.
  • Aucune opération n’est réalisée sur l’annuaire Active Directory.
AddUserToMasterGroup
  • Détermine dans quel sous-groupe du groupe principal ce profil utilisateur doit se trouver.
  • Vérifie si le sous-groupe existe. Crée automatiquement le sous-groupe s’il n’existe pas.
  • Écrit le profil utilisateur dans le sous-groupe.
RemoveUserFromMasterGroup
  • Détermine dans quel sous-groupe du groupe principal ce profil utilisateur doit se trouver.
  • Supprime le profil utilisateur du sous-groupe.
IsUserOfMasterGroup
  • Détermine dans quel sous-groupe du groupe principal ce profil utilisateur doit se trouver.
  • Teste le sous-groupe afin de déterminer si le profil utilisateur en est membre ou non. S’il l’est, renvoie True, sinon, renvoie False.

L’objet SubGroupManager est fonctionnellement complet, mais il contient un nom d’utilisateur et un mot de passe codés de manière irréversible pour la connexion au service d’annuaire. Vous devrez modifier ces constantes, recompiler, puis inscrire au registre la DLL obtenue à l’aide de la commande suivante :

regsvr32 subgroupmanager.dll

L’identificateur de programme (ProgID) permettant de créer l’objet SubGroupManager est : SubgroupManagerProject.SubGroupManager.

Remarque

  • Si vous modifiez l’algorithme de hachage, vous devez apporter les mêmes modifications au code source correspondant au fichier Migrationutil.dll.


Planification de la migration

Avant de commencer le processus de migration, il est important de planifier et de comprendre chacune des étapes de ce processus.

Cette section contient les rubriques suivantes :

  • Migration des types d’authentification
  • Migration des groupes
  • Migration vers Active Directory ou SQL Server


Migration des types d'authentification

Envoyer des commentaires sur cette page Commerce Server 2002

Migration des types d’authentification

Les outils de la boîte à outils de migration d’annuaire font migrer les données de sorte que tous les types d’authentification de l’annuaire d’abonnement soient pris en charge.


Migration des groupes

Bien que le système de profil Commerce Server prenne en charge les groupes, l’implémentation dépend de la capacité de la banque de données de profils. Vous devez utiliser le service d’annuaire Active Directory pour implémenter les groupes de la même façon que dans l’annuaire d’abonnement Microsoft Site Server 3.0.

Vous pouvez utiliser Active Directory pour créer des groupes et attribuer des listes de contrôle d’accès (ACL) et des entrées de contrôle d’accès (ACE) aux fichiers et répertoires. Toutefois, l’implémentation n’est pas aussi compatible avec un site qu’elle le serait si elle utilisait l’annuaire d’abonnement Site Server 3.0. Active Directory limite à 5 000 le nombre d’objets par groupe. Cette limite est imposée par la manière dont le contenu du groupe est répliqué entre les différentes instances des contrôleurs de domaine. Ce problème de limite sera corrigé dans les futures versions de Active Directory, mais il reste nécessaire d’utiliser une solution de contournement pour faire migrer votre annuaire d’abonnement.

Vous pouvez utiliser les outils de migration d’annuaire pour créer des sous-groupes, puis ajouter des profils utilisateur à ces sous-groupes. Pour laisser une marge utilisable en cas de croissance ou pour des sous-groupes supplémentaires, les outils placent 4 500 profils utilisateur par sous-groupe.

Le tableau suivant montre comment un groupe contenant 100 000 profils utilisateur dans l’annuaire d’abonnement serait migré vers Active Directory.

Structure de l’annuaire d’abonnement | Structure Active Directory équivalente
GroupeA | GroupeA
Utilisateur1 .. Utilisateur100000 | GroupeA_0000
 | Utilisateur1 .. Utilisateur4500
 | GroupeA_0001
 | Utilisateur4501 .. Utilisateur9000
 | …
 | GroupeA_0023
 | Utilisateur99001 .. Utilisateur100000

Attention

  • Vous devez installer Active Directory en mode natif. N’installez pas Active Directory en mode mixte ; vous n’obtiendriez pas la hiérarchie de groupes requise.

Si vous utilisez une forêt de domaines pour contenir les profils utilisateur, la migration devient plus complexe. La figure suivante montre comment mapper des profils utilisateur et des listes de contrôle d’accès (ACL) au contenu vers Active Directory tout en préservant la sécurité du site.

Figure représentant la migration vers une forêt de domaines.


Migration vers Active Directory ou SQL Server

Vous devez décider si vous allez faire migrer les utilisateurs vers les services d’annuaire Active Directory ou vers Microsoft SQL Server.

Cette section contient les rubriques suivantes :

  • Performances et adaptabilité de la migration
  • Compatibilité des attributs et migration

Performances et adaptabilité de la migration

Active Directory

Le service d’annuaire Active Directory de Microsoft Windows 2000 Server est une banque d’annuaires robuste et très sûre. Lorsque vous étudiez les performances et l’adaptabilité, notez les points suivants :

  • Active Directory est nécessaire pour la prise en charge d’un déploiement requérant un contrôle d’accès des fichiers qui mappent vers des groupes d’utilisateurs.
  • Active Directory fonctionne de la même façon qu’un contrôleur de domaine, où les transactions d’écriture ne représentent qu’une fraction du total des entrées/sorties d’annuaire.
  • Les tests actuels indiquent qu’avec environ un million (1 000 000) d’utilisateurs dans un domaine, les entrées/sorties de réplication entre les différentes instances Active Directory du domaine commencent à avoir un impact sur l’activité de lecture/écriture pour le profil. En outre, il existe une limite pratique d’environ cinq domaines, comptant chacun un million d’utilisateurs, avant que le temps système de réplication des catalogues globaux ne commence à avoir un impact sur les entrées/sorties de demandes de profils. Ces chiffres dépendent des performances matérielles et de l’optimisation des réglages.

Les recommandations suivantes sont issues de tests effectués à l’aide d’un profil classique d’utilisateur d’e-commerce :

  • Un million d’utilisateurs par domaine Active Directory.
  • Cinq domaines Active Directory par forêt de domaines (équivalant à une limite pratique de cinq millions de comptes dans les déploiements Active Directory).

Pour plus d’informations, consultez les documents les plus récents relatifs aux performances et à l’adaptabilité, à l’adresse http://go.microsoft.com/fwlink/?LinkId=945.

SQL Server

Commerce Server prend en charge Microsoft SQL Server 2000 uniquement, pas Microsoft SQL Server 7.0. Lorsque vous étudiez les performances et l'adaptabilité, notez les points suivants :

  • Les caractéristiques de SQL Server en matière d’adaptabilité et de stabilité sont excellentes. SQL Server convient pour les données hautement dynamiques, assurant un équilibre des entrées/sorties approchant des 50/50 sans dégradation significative des performances. Cela s’adapte convenablement aux sites d’e-commerce, avec des attributs hautement dynamiques préservés pour les utilisateurs (par exemple, Favoris et Date/heure de la dernière visite).
  • Aucune limite n’a été détectée lors de tests impliquant jusqu’à 10 millions d’utilisateurs dans la banque et un taux d’accès concurrentiel de 1 %.
  • Les groupes créés dans SQL Server ne disposent pas d’un système d’intégration ACL/ACE qui vous permette de protéger du contenu statique (comme des images ou des fichiers audio).
  • Les groupes implémentés sous SQL sont créés sous forme de chaînes à valeurs multiples avec une limite pratique inférieure à 200 utilisateurs par groupe.

Utilisation de Active Directory et de SQL Server

Pour les sites qui requièrent à la fois le contrôle d’accès fourni par Active Directory et les performances de SQL Server, il est recommandé d’utiliser à la fois Active Directory et SQL Server pour stocker les informations des profils utilisateur. Dans ce cas de figure, vous stockez les données associées aux informations d’identification d’utilisateur et les données très stables dans une banque de données Active Directory, et les attributs restants dans SQL Server.

Par exemple, vous pouvez diviser les attributs de la manière suivante :

  • Attributs de profil utilisateur stockés dans Active Directory :
    • UserName
    • Mot de passe
  • Attributs de profil utilisateur stockés dans SQL Server :
    • Carte de crédit
    • Adresse du domicile : rue, ville, département, code postal
    • Téléphone personnel
    • Date/heure de la dernière visite
    • Couleur préférée
    • Dernière page visitée
    • Total des dépenses sur le site depuis le début de l’année

Compatibilité des attributs et migration

Tous les attributs d’annuaire d’abonnement Site Server 3.0 n’ont pas d’équivalent dans une banque de données de profils Commerce Server.

Le tableau suivant répertorie les types des attributs d’un annuaire d’abonnement, les attributs équivalents dans une banque de données de profils et les types de données dans Active Directory et SQL Server. Les attributs ci-dessous sont pris en charge par Commerce Server sans aucune modification.

Type d’attribut de l’annuaire d’abonnement | Types équivalents du système de profil Commerce Server | Type de données sous-jacent Active Directory. | Type de données sous-jacent SQL Server
String. | Text, Password, SiteTerm, Profile | String. | String.
Integer | Numbers Only, Decimal Currency | Number ; | Number ;
DateTime ; | Date/Time, Date, Time | DateTime ; | DateTime ;
Distinguished Name (DN) | Text, Password, SiteTerm, Profile | String. | String.
Binary ; | Binary ; | Binary ; | Binary ;
Multi-value String | Multi-value (Text, Password, SiteTerm, Profile) | Multi-value String | Multi-value String
Multi-value Integer | Multi-value NUMBER | Multi-value Integer | Non pris en charge
Multi-value DateTime | Multi-value Date/Time, Date, Time | Multi-value DateTime | Non pris en charge
Multi-value DN | Multi-value (Text, Password, SiteTerm, Profile) | Multi-value String | Multi-value String
Multi-value Binary | Multi-value Binary | Multi-value Binary | Non pris en charge

Attention

  • Usez de prudence lorsque vous activez des attributs à valeurs multiples dans un profil. Le type de données sous-jacent ne fait pas l’objet d’une vérification visant à déterminer s’il est marqué en tant que type de données à valeurs multiples.
  • Il existe actuellement plusieurs types de données qui sont pris en charge dans le profil, mais ne sont pas activés au niveau de la couche de données, que ce soit dans les banques SQL Server ou dans les banques Active Directory. Il s’agit des types : Integer, Long Text et Reference.


Préparation en vue de la migration

Avant de faire migrer l’annuaire d’abonnement vers Commerce Server, vous devez effectuer les étapes suivantes :

  1. Configurer les profils Commerce Server. Réalisez cette étape pour créer les éléments de données et les types de données dans la banque de données de profils Commerce Server.
  2. Modifier vos objets de migration. Réalisez cette étape pour que vos objets de migration puissent lire toutes les informations utilisateur, les modifier si nécessaire, puis les écrire dans la banque de profils Commerce Server.
  3. Exécuter l’outil de migration ProfileBuilder. Réalisez cette étape pour créer le fichier XML (Extensible Markup Language) utilisé par l’outil de migration d’annuaire.
  4. Exécuter l’outil Préremplissage des groupes Réalisez cette étape si vous utilisez Active Directory de Windows 2000 Server.
  5. Compiler les objets de migration. Réalisez cette étape uniquement si vous avez modifié vos objets de migration.
  6. Inscrire les objets de migration. Réalisez cette étape pour inscrire les objets de l’outil de migration d’annuaire. Vous devez effectuer cette étape même si vous n’avez pas modifié vos objets de migration.


Configurer les profils Commerce Server

Les étapes suivantes supposent que vous avez installé Commerce Server 2002 et vérifié qu’un site solution s’exécute correctement dans votre environnement. Vous devez vérifier que le système de profil Commerce Server peut accéder aux banques de données requises (par exemple, SQL Server, Active Directory, autres banques OLE DB ou banque compatible LDAP (Lightweight Directory Access Protocol) version 3).

Pour configurer vos profils Commerce Server

  1. Identifiez, dans la classe membre de l’annuaire d’abonnement, les attributs que vous souhaitez faire migrer.
  2. Utilisez le service Profils du Gestionnaire Commerce Server pour créer les éléments de données sous-jacents.
  3. Utilisez le service Profils pour mapper les éléments de données vers les types de données appropriés disponibles.

Voir aussi

Exécution de la ressource Profils


Modifier vos objets de migration

En fonction des spécificités de votre site, il peut être nécessaire de modifier les objets MigrationRead, MigrationWriteObj ou MigrationModifyObj. Ces objets sont écrits en C++.

Si vous devez modifier vos objets, faites-le avant d’exécuter l’outil de migration ProfileBuilder.


Exécuter l'outil de migration ProfileBuilder

Envoyer des commentaires sur cette page Commerce Server 2002

Exécuter l’outil de migration ProfileBuilder

Après avoir configuré vos profils Commerce Server et, le cas échéant, modifié vos objets de migration, vous pouvez exécuter l’outil de migration ProfileBuilder pour générer le fichier XML (Extensible Markup Language) de migration.

Cette section contient les rubriques suivantes :

  • Compilation de l’outil de migration ProfileBuilder
  • Correspondances entre les attributs de l’annuaire d’abonnement et la banque de données de profil


Compilation de l'outil de migration ProfileBuilder

Envoyer des commentaires sur cette page Commerce Server 2002

Compilation de l’outil de migration ProfileBuilder

Si vous devez modifier l’outil de migration ProfileBuilder, vous pouvez accéder au code source correspondant dans le dossier <lecteur>:\Program Files\Microsoft Commerce Server\SDK\Tools\Membership Migration\ProfileBuilder.

Les images de l’application ont été créées à l’aide de Microsoft Visual Basic 6.0 Édition Professionnelle.

Après avoir modifié l’outil de migration ProfileBuilder, vous devez créer un nom de source de données (DSN) pour la banque de données de profils Commerce Server à l’aide du gestionnaire Sources de données (ODBC) accessible via les options Programmes/Outils d’administration/Sources de données (ODBC) du menu Démarrer. Créez un DSN système à l’aide du pilote SQL Server. Veillez à modifier la chaîne de connexion de sorte qu’elle pointe vers la banque de données de profils appropriée (par exemple, Retail_commerce).

Correspondances entre les attributs de l’annuaire d’abonnement et la banque de données de profil

Pour exécuter l’outil de migration ProfileBuilder, le serveur qui exécute l’outil doit être en mesure d’accéder et au serveur LDAP (Lightweight Directory Access Protocol) de l’annuaire d’abonnement et à l’ordinateur Commerce Server qui exécute l’objet ProfileService.

Pour exécuter l’outil de migration ProfileBuilder

  1. Utilisez l’Explorateur Windows pour accéder au dossier qui contient l’outil de migration ProfileBuilder, puis double-cliquez sur ProfileBuilder.exe.
  2. Dans la boîte de dialogue de l’étape 1, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Location to store all of the profiles | Entrer le nom du dossier qui contient les fichiers XML utilisés par l’objet MigrationMainObj. En règle générale, vous utiliserez un seul fichier XML.
    XML file name | Taper le nom du fichier à générer. L’outil de migration ProfileBuilder ajoute un ID de profil à la fin du nom. Dans cet exemple, les fichiers seront nommés « migration »< n >.xml, où « n » est incrémenté chaque fois qu’un profil est généré.
    ProgID for IMigrationRead | Taper l’identificateur de programme (ProgID) de l’objet MigrationReadObj. Cette valeur par défaut est générée par le code source fourni.
    ProgID for IMigrationWrite | Taper le ProgID de l’objet MigrationWriteObj. Cette valeur par défaut est générée par le code source fourni.
    ProgID for IMigrationModify | Taper le ProgID de l’objet MigrationModifyObj. Cette valeur par défaut est générée par le code source fourni.
    ProgID for IMigrationLog | Taper le ProgID de l’objet MigrationLogObj. Cette valeur par défaut est générée par le code source fourni.
  3. Dans la boîte de dialogue de l’étape 2, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Membership Directory Server | Taper le nom Netbios de l’annuaire d’abonnement.
    Port Number | Taper le numéro de port de l’instance de l’annuaire d’abonnement.
    MD User Name | Taper le nom unique (DN) de l’utilisateur pour la connexion à l’annuaire d’abonnement.
    Password | Taper le mot de passe correspondant au nom de l’utilisateur de l’annuaire d’abonnement fourni dans la zone MD User Name.
    Server Name | Taper le nom du serveur SQL Server qui exécute la base de données d’administration Commerce Server.
    Database Name | Taper le nom de la base de données qui contient la banque de profils.
    DBA Name | Taper le nom de l’utilisateur qui dispose des privilèges d’administrateur système (sa).
    DBA’s Password | Taper le mot de passe correspondant au nom d’utilisateur fourni dans la zone DBA Name.
  4. Dans la boîte de dialogue de l’étape 3, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Migrate MemberOf | Déterminer si l’objet de migration qui lit ce fichier XML fera migrer des utilisateurs vers des groupes Active Directory.
    Object Schema | Taper le schéma qui représente l’utilisateur à lire, par exemple, membre. Vous pouvez entrer d’autres classes personnalisées si elles doivent être migrées.
    Filter Depth | Taper un nombre pour spécifier le niveau de recherche requis. Cette fonctionnalité est fournie pour éviter les délais d’expiration LDAP. Une valeur 2 pour ce champ effectuera une recherche sur cn=xx*. Une valeur 3 pour ce champ effectuera une recherche sur cn=xxx* ("x" = [a-z, 0-9]).
    Search Scope | Sélectionner dans la liste déroulante le nombre de niveaux sur lequel l’outil devra rechercher les sous-conteneurs à partir de la racine.
    Search Filter Base | Taper un préfixe pour les noms de compte à faire migrer en mode Batch (par exemple, cn=a).
  5. Dans la boîte de dialogue de l’étape 4, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Group’s parent RDN | Taper le nom RDN (Relative Distinguished Name) Active Directory.
    AD Administrator’s User Name | Taper le nom du compte de connexion d’accès à utiliser pour écrire vers Active Directory. Utilisez le format « domaine\compte ».
    AD Administrator’s Password | Taper le mot de passe correspondant au compte fourni dans la zone AD Administrator’s User Name.
    Catalog | Sélectionner le catalogue de profils à utiliser. Il s’agit généralement de Définitions de profils.
  6. Mappez les attributs à lire vers les attributs à écrire. Vous pouvez contrôler les objets répertoriés dans le volet droit en sélectionnant les définitions de profils dans la liste de zones. Pour créer une association, cliquez sur l’attribut de la zone Site Server, puis cliquez sur l’attribut correspondant dans la zone Commerce Server.

    Les numéros qui figurent à gauche des attributs indiquent le mappage (par exemple, 49 Numéro de téléphone = 49 numéro_tél).

    La figure suivante représente les attributs de l’annuaire d’abonnement mappés vers la banque de données de profils Commerce Server.

    Capture d'écran représentant les attributs mappés.

  7. Lorsque vous avez terminé le mappage des attributs, cliquez sur Aperçu.

    La boîte de dialogue de l’étape 5 affiche l’intégralité du fichier XML.

  8. Si le fichier XML est complet, cliquez sur Oui.

    L’outil de migration ProfileBuilder enregistre le fichier XML.


Exécuter l'outil Préremplissage des groupes

Envoyer des commentaires sur cette page Commerce Server 2002

Exécuter l’outil Préremplissage des groupes

Après avoir exécuté l’outil de migration ProfileBuilder pour créer le fichier XML, vous pouvez créer les groupes vers lesquels les profils utilisateur seront migrés.

Pour exécuter l’outil Préremplissage des groupes, le serveur qui exécute l’outil doit être en mesure d’accéder et au serveur LDAP (Lightweight Directory Access Protocol) de l’annuaire d’abonnement et à l’ordinateur exécutant Commerce Server.

Pour exécuter l’outil Préremplissage des groupes

  1. Utilisez l’Explorateur Windows pour accéder au dossier qui contient l’outil Préremplissage des groupes, puis double-cliquez sur GroupMigration.exe.
  2. Dans la boîte de dialogue Create group structure in AD, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Server Name | Taper le nom du serveur de l’annuaire d’abonnement.
    Port Number | Taper le numéro de port du serveur LDAP de l’annuaire d’abonnement.
    User Name | Taper le nom d’utilisateur à utiliser pour vous connecter au serveur LDAP. Utilisez ce format : domaine\utilisateur.
    Password | Taper le mot de passe correspondant au nom d’utilisateur.
    Groups DN | Taper le nom unique (DN) de l’objet des groupes.
    Group’s Schema | Taper les objets qui décrivent les schémas des groupes.
    Organizational Unit | Taper l’unité d’organisation sous laquelle vous souhaiter créer les groupes dans Active Directory.
    Server | Taper le nom du serveur sur lequel Commerce Server est installé.
    Port | Taper le numéro de port du serveur sur lequel Commerce Server est installé.
    Partition | Taper la liste des partitions à inclure dans la forêt Active Directory. Utilisez ce format : dc = <NomDomaine>.
    Domain User Name | Taper le nom d’un utilisateur Active Directory autorisé. Utilisez ce format : <UtilisateurDomaine>.
    Password | Taper le mot de passe correspondant au nom d’utilisateur fourni dans la zone Domain User Name.

    Remarque

    • Lorsque vous entrez les partitions, vous devez cliquer sur Ajouter pour enregistrer l’entrée.
  3. Cliquez sur Suivant.
  4. Dans la boîte de dialogue Group Attributes Map, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Top box on left | Sélectionner la catégorie de l’attribut du groupe de l’annuaire d’abonnement.
    Top box on right | Taper le nom de votre banque de données de profils Active Directory.
  5. Pour mapper un attribut de profil utilisateur vers l’attribut équivalent de votre banque de données de profils Active Directory, dans la zone située sous Description, sélectionnez un attribut de profil utilisateur, puis cliquez sur Mapper.

    Il existe deux entrées par défaut : Description et MBSTokenID.

  6. Dans la colonne de droite, tapez le nom de l’attribut à mapper. Assurez-vous que le nom d’attribut que vous avez tapé existe dans Active Directory avec le type de données correspondant.
  7. Pour supprimer les attributs que vous ne souhaitez pas mapper, cliquez sur Supprimer.
  8. Pour terminer le processus de mappage des attributs, cliquez sur Terminer.

L’outil Préremplissage des groupes lit les groupes de l’annuaire d’abonnement et les recrée dans l’annuaire Active Directory. Ce processus de création peut demander un temps considérable, en fonction du nombre de groupes dont vous disposez.


Compiler les objets de migration

Si vous modifiez vos objets de migration, vous devez les compiler en respectant l’ordre suivant :

  1. MigUtil
  2. MigrationModifyObj
  3. MigrationLogObj
  4. MigrationReadObj
  5. MigrationWriteObj
  6. MigrationMainObj

Notez les dépendances suivantes et leurs conséquences sur l’ordre de compilation :

  • MigrationMainObj dépend des quatre autres objets.
  • MigrationReadObj dépend de MigUtil et de MigrationModifyObj.
  • MigrationWriteObj dépend de MigUtil et de MigrationLogObj.
  • MigrationLogObj dépend de MigUtil.
  • MigrationModifyObj dépend de MigUtil.

L’objet MigrationLogObj est utilisé par les objets MigrationWriteObj et MigrationMainObj pour consigner des erreurs dans le journal.

L’objet MigrationReadObj ne consigne pas d’erreurs directement, car toute erreur qu’il renvoie est consignée à partir de l’objet MigrationMainObj.

Si l’objet MigrationWriteObj rencontre des erreurs au moment de l’écriture, il annule l’intégralité de l’enregistrement utilisateur, puis renvoie une erreur à l’objet MigrationMainObj. L’objet MigrationMainObj consigne alors l’erreur. L’objet MigrationWriteObj utilise directement l’objet MigrationLogObj uniquement lorsque des erreurs se produisent dans le processus d’annulation lui-même.

Si vous apportez des modifications au code, recompilez à l’aide du Service Pack 3 de Microsoft Visual Basic 6.0 ou du Service Pack 3 de Microsoft Visual C++ 6.0.

Le tableau suivant présente les paramètres de compilateur requis pour chaque composant.

Composant | Compiler avec | Options du compilateur
GroupMigration | Visual Basic 6 | Paramètres par défaut
ProfileBuilder | Visual Basic 6 | Paramètres par défaut
SubGroupManager | Visual Basic 6 | Paramètres par défaut
MigrationLogObj | Visual C++ 6 | Définir le projet actif = Release, Unicode, MinSize
MigrationMainObj | Visual C++ 6 | Définir le projet actif = Release, Unicode, MinSize
MigrationModifyObj | Visual C++ 6 | Définir le projet actif = Release, Unicode, MinSize
MigrationReadObj | Visual C++ 6 | Définir le projet actif = Release, Unicode, MinSize
MigrationWriteObj | Visual C++ 6 | Définir le projet actif = Release, Unicode, MinSize
MigUtil | Visual C++ 6 | Définir la configuration du projet actif = Release


Inscrire les objets de migration

Vous devez inscrire les objets de migration d’annuaire sur chaque ordinateur où ils sont installés. Par exemple :

Regsvr32 /s MigrationLogObj.dll

Inscrivez les cinq objets ensemble en copiant l’exemple de code suivant dans un fichier .bat que vous exécuterez ensuite :

Regsvr32 /s MigrationLogObj.dll
Regsvr32 /s MigrationMainObj.dll
Regsvr32 /s MigrationModifyObj.dll
Regsvr32 /s MigrationReadObj.dll
Regsvr32 /s MigrationWriteObj.dll


Démarrage du processus de migration

Pour commencer le processus de migration, déployez les objets de migration sur les serveurs qui exécuteront le processus de migration. Procédez comme suit :

  1. Étendez les attributs des membres en créant un attribut Migration dans l’annuaire d’abonnement.
  2. Créez au moins un profil de migration à l’aide de l’outil de migration ProfileBuilder. Vous devez en créer un pour chaque type de migration planifié (modes Batch et à la demande confondus).
  3. Pour déployer les objets, vous devez copier les objets de migration terminés sur chaque serveur et inscrire les objets. Pour plus d’informations, consultez Inscrire les objets de migration.
  4. Vous devez également vous assurer que les clés de registre sont correctement définies. Pour plus d’informations, consultez la section Requirements de MigrationLogObj, objet.

Si vous envisagez de faire migrer les utilisateurs selon une migration à la demande à mesure qu’ils se connectent à votre nouveau site, il vous faudra installer les objets de migration sur les serveurs Web et utiliser le fichier Login.asp disponible dans le répertoire <lecteur>:\Program Files\Microsoft Commerce Server\SDK\Tools\SSCE Migration\Membership\Client. Utilisez ce fichier comme un exemple expliquant comment déclencher une migration lorsqu’un utilisateur visite votre nouveau site Commerce Server pour la première fois.

Si vous souhaitez faire migrer tous vos utilisateurs en même temps, installez les objets de migration sur le serveur à partir duquel vous allez faire migrer tous les utilisateurs. Pour obtenir de meilleures performances, choisissez un ordinateur dédié au processus de migration. Lorsque vous créez le profil permettant de faire migrer une plage d’utilisateurs à l’aide de l’outil de migration ProfileBuilder, définissez une profondeur de filtre, une étendue de recherche et un filtre de recherche dans la boîte de dialogue de l’étape 3. En effectuant des essais avec différentes valeurs avant de commencer le véritable processus de migration, vous serez en mesure d'optimiser les performances de migration. Notez que les modèles de distribution des noms de comptes d’utilisateur dans l’annuaire d’abonnement jouent un rôle important dans le processus de réglage.

Testez toujours le processus de migration à la demande avant de l’utiliser en production.


Dépannage à l'aide du fichier journal de migration

Envoyer des commentaires sur cette page Commerce Server 2002

Dépannage à l’aide du fichier journal de migration

Les objets de migration consignent les problèmes rencontrés dans un fichier journal au format texte situé dans le répertoire spécifié par la clé de registre LogFilePath. Ce fichier journal contiendra les rapports des erreurs et événements de migration à l’origine de l’échec de la migration. D’autres informations sur l’échec de la migration seront consignées à l’aide des données renvoyées par l’objet en échec.

Un nouveau fichier journal est automatiquement créé et utilisé chaque fois que le nombre de lignes du fichier journal en cours atteint la limite définie par la clé de registre MaxNumLinesEachFile.


Vérification du bon déroulement de la migration

Pour vérifier si tous les utilisateurs ont été correctement migrés, interrogez l’annuaire d’abonnement pour rechercher tous les comptes pour lesquels l’attribut Migration est manquant ou a la valeur False. Jusqu’à ce que la requête ne renvoie pas de comptes, faites migrer les comptes renvoyés individuellement.

Lorsque la requête ne renvoie pas d’enregistrements, vous savez que tous les utilisateurs ont été migrés.

Après avoir établi que tous les utilisateurs ont été migrés, n’oubliez pas d’effectuer les tâches suivantes :

  • Le cas échéant, remplacez la version du fichier Login.asp qui déclenche la migration à la demande par votre fichier Login.asp d’origine.
  • Annulez l’inscription des objets de migration et supprimez-les des serveurs sur lesquels ils ont été installés.
  • Sauvegardez, puis supprimez les fichiers journaux de migration.


Bibliothèque d'utilitaires de migration

Envoyer des commentaires sur cette page Commerce Server 2002

Bibliothèque d’utilitaires de migration

La bibliothèque d’utilitaires de migration, MigUtil, contient des paramètres et méthodes globaux. Ceux-ci incluent les variables globales suivantes :

  • Variable globale g_pwszUserObject. Correspond au paramètre par défaut de Commerce Server. Si vous passez à un profil différent (autre que Objet utilisateur), le nom du nouveau profil doit être attribué à cette variable globale.
  • Variable globale g_searchOrder. Contient tous les symboles susceptibles d’apparaître dans les filtres de recherche du nom commun (CN), à l’exception des chiffres 0 à 9 qui sont convertis en caractères à l’étape d’initialisation. Vous devez allouer dix espaces supplémentaires dans ce tableau, pour héberger ces dix chiffres. Par exemple :
    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'};

    Dans cet exemple, les 128 caractères réservés sont plus que suffisants (y compris les dix caractères supplémentaires).

  • Variable globale g_numSymbols. Contient le nombre de symboles que vous souhaitez stocker dans le tableau g_searchOrder (sans les dix chiffres). Par exemple :
    int g_numSymbols = 26;


Fichier d'exemple XML

Envoyer des commentaires sur cette page Commerce Server 2002

Fichier d’exemple XML

Vous trouverez ci-dessous un fichier exemple au format XML de profil de migration. L’outil de migration ProfileBuilder du Kit de développement (SDK) de Microsoft Commerce Server 2002 crée des fichiers XML semblables à celui-ci :

<?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>


Planification du déploiement

Le déploiement de Commerce Server 2002 et des applications de votre site Web demande une planification rigoureuse. Prenez le temps nécessaire pour mettre au point un plan de développement complet qui répondra à vos besoins commerciaux de manière rapide et organisée. Avant de transférer de manière effective vos applications de développement sur un site Web, consultez les informations présentées ici et dans le Kit de Ressources Techniques Commerce Server 2000.

Surtout, assurez-vous que votre organisation a développé son propre plan, et qu’il comprend des informations provenant des chefs d’entreprise, administrateurs système et développeurs de site.

Le déploiement implique le passage de votre site Web par trois environnements matériels différents : développement, test et production. La figure suivante illustre ces environnements de manière simplifiée. L’aspect réel de ces environnements dépend de la taille de votre site et de vos objectifs commerciaux.

Environnements de développement, test et production

Avant de déployer Commerce Server 2002, vérifiez que vous avez planifié les aspects suivants :

  • Le scénario de déploiement que vous allez utiliser comme modèle pour implémenter votre propre déploiement
  • La manière dont vous allez échelonner le déploiement
  • La manière dont vous allez maintenir la disponibilité
  • La manière dont vous allez analyser et mettre à jour les différents éléments constituant le déploiement

Cette section contient les rubriques suivantes :

  • Isolement des trois niveaux. Décrit la stratégie d’isolement de chaque niveau pour simplifier l’administration.
  • Concepts de la mise en clusters. Décrit les concepts de la mise en clusters de chacun des niveaux.
  • Configurations de pare-feu. Décrit les avantages et désavantages liés aux différentes options de configuration de pare-feu.
  • Scénarios de déploiement. Fournit des exemples de scénarios de déploiement que vous pouvez utiliser comme modèles.

Voir aussi

Déploiement de votre site

Mise à niveau à partir de Site Server 3.0

Migration de l’annuaire d’abonnement


Isolement des trois niveaux

La plupart des services Internet nécessitent des configurations qui séparent le niveau d’interface utilisateur du niveau de logique commerciale et du niveau des bases de données, pour des raisons de sécurité.

La figure suivante illustre la manière dont de nombreux sites d’e-commerce isolent encore davantage la logique commerciale des données sous-jacentes.

Figure illustrant une architecture de site d'e-commerce à plusieurs niveaux.

Dans une configuration à plusieurs niveaux, comme celle illustrée ici, les navigateurs de vos clients accèdent aux pages Web et celles-ci activent la logique commerciale associée, hébergée sur un serveur Web. Les données permanentes requises par les objets commerciaux sont maintenues dans un niveau des bases de données distinct.

Les données et informations d’état contrôlent la logique de traitement et l’expérience du client. Le tableau suivant décrit les stratégies de conception standard que vous pouvez utiliser pour isoler chaque niveau.

Niveau Stratégie
Niveau de l’interface utilisateur
  • État bas (contient peu d’informations d’état du code de l’application), les données uniques sont stockées dans des cookies ou dans le Registre.
  • Grande variété de serveurs de bas niveau.
  • Temps d’immobilisation réduit en utilisant des serveurs supplémentaires.
Niveau logique commerciale
  • Les applications Web, comme le système de catalogue de produits, le système de profil et les pipelines de processus commercial s’exécutent sur ce niveau.
  • État bas, pas de données uniques, serveurs bon marché.
  • Temps d’immobilisation réduit en utilisant une répartition des charges, logicielle ou matérielle, avec une seule adresse IP.
Niveau des bases de données
  • Les données utilisées par Commerce Server sont gérées et stockées dans le Data Warehouse sur ce niveau.
  • Les données et l’état du système sont stockés sur ce niveau.
  • Temps d’immobilisation réduit en utilisant une configuration ordonnée en clusters ou répliquée.


Concepts de la mise en clusters

La mise en clusters est la clé de l’amélioration d’un déploiement. En regroupant plusieurs serveurs dans un seul cluster, vous pouvez augmenter les ressources de chaque serveur et partager la charge de travail entre ces serveurs. Lorsque l’utilisation du site augmente, vous pouvez ajouter des serveurs au cluster pour gérer l’augmentation de la charge de travail.

Selon l’architecture du site et la conception du déploiement, la mise en clusters peut également augmenter les performances et la disponibilité en supprimant des points d’échec particuliers et en renforçant des fonctionnalités spécifiques. Isoler le déploiement en clusters distincts vous permet de gérer indépendamment les clusters de chaque niveau. De cette façon, vous pouvez éliminer des goulets d’étranglement en isolant les serveurs créant des problèmes dans leur propre cluster. Par exemple, si le goulet d’étranglement est le traitement des transactions, vous pouvez isoler cette fonctionnalité dans sa propre base de données. Vous pouvez ensuite augmenter la disponibilité et les performances de cette base de données par une mise en clusters, indépendamment des autres serveurs de votre déploiement.

Généralement, les composants Commerce Server 2002 utilisent deux méthodes principales de mise en clusters pour les opérations suivantes :

  • Équilibrage de charge réseau (NLB, Network Load Balancing) sur le niveau Web pour permettre l’équilibrage des charges et l’évolutivité
  • Service de cluster sur le niveau de bases de données pour permettre la tolérance de pannes

Les deux méthodes de mise en clusters augmentent la disponibilité et la fiabilité. L’équilibrage de la charge à travers le niveau Web assure l’évolutivité et convient davantage aux données sans état (comme celles utilisées pour les serveurs Web, les outils de diffusion multimédia par flux, les réseaux privés virtuels (VPN) et les serveurs proxy). La mise en clusters de la base de données convient davantage aux données extrêmement dynamiques (comme celles utilisées pour SQL Server, Exchange Server, les serveurs de fichiers et d’impression).

Un cluster Web utilisant l’équilibrage de charge réseau comprend généralement plusieurs membres de cluster. Chaque membre s’exécute en tant que serveur Web indépendant et ne partage pas de données avec les autres membres du cluster (données autres que les données utilisées pour les opérations de cluster). Si un membre du cluster échoue ou rencontre des erreurs, ce membre peut être déconnecté ou sorti du cluster pour que la charge des requêtes entrantes des clients puissent être équilibrées entre les membres en fonctionnement uniquement. Pour plus d’informations sur l’équilibrage de charge réseau, consultez la documentation de Windows 2000 Advanced Server ou de Windows 2000 Datacenter Server.

Un serveur de bases de données SQL Server utilisant le service de cluster comprend généralement deux membres. Les deux membres partagent un périphérique de stockage externe et sont exactement identiques. Si un membre échoue ou rencontre des erreurs, l’autre membre lui est substitué pour que la fonctionnalité de base de données soit opérationnelle. Pour plus d’informations sur l’équilibrage de charge réseau, consultez la documentation de Windows 2000 Advanced Server ou de Windows 2000 Datacenter Server.

Voir aussi

Mise en clusters de serveurs Web

Mise en clusters des serveurs SQL


Configurations de pare-feu

Quelle que soit la taille de votre configuration Commerce Server 2002, vous devez décider comment déployer les pare-feu. L’ajout de pare-feu supplémentaires augmente vos coûts, mais vous permet d’isoler les clients, les employés de votre entreprise et les données sensibles. Cependant, le coût n’est pas le seul point à prendre en compte. Chaque solution de pare-feu a ses avantages et ses désavantages.

Cette section contient les rubriques suivantes :

  • Utilisation d’une configuration avec pare-feu unique
  • Utilisation d’une configuration avec double pare-feu
  • Utilisation d’une configuration avec triple pare-feu


Utilisation d'une configuration avec pare-feu unique

Envoyer des commentaires sur cette page Commerce Server 2002

Utilisation d’une configuration avec pare-feu unique

La solution la moins onéreuse pour la configuration d’un site de petite taille consiste à séparer les navigateurs Internet, votre site et votre réseau interne à l’aide d’un pare-feu. C’est possible si le pare-feu contient trois cartes réseau, chacune d’entre elles étant connectée à un des trois environnements.

Votre environnement de développement est le type d’environnement où vous pouvez souhaiter n’utiliser qu’un seul pare-feu. Pour voir une figure illustrant une configuration avec pare-feu unique, consultez Environnement de développement d’un site de petite taille.

La solution avec pare-feu unique présente les avantages suivants :

  • Le réseau contenant les serveurs Web et les serveurs de base de données est séparé physiquement des autres réseaux, ce qui limite les risques d’intrusions sur le site. Si une personne parvient à exploiter un serveur accessible publiquement, elle ne peut pas avoir directement accès au réseau interne.
  • Il n’y a qu’un seul pare-feu à acheter et à gérer.
  • Le réseau interne (contenant des ordinateurs tels que le serveur de test, le serveur Business Desk ou des ordinateurs de développement) ne dépend pas de l’environnement du site Web pour fonctionner. Si le site connaît des problèmes de réseau, la connectivité du réseau interne n’est pas perdue pour autant.
  • Cette structure s’implémente facilement dans une architecture existante où un pare-feu permet déjà de séparer le réseau interne d’Internet. Il vous suffit peut-être d’ajouter une troisième carte réseau au pare-feu existant.

La solution avec pare-feu unique présente les inconvénients suivants :

  • Les serveurs de base de données ne sont pas séparés des serveurs Web. Les protocoles HTTP (Hypertext Transfer Protocol) et HTTPS (Hypertext Transfer Protocol Secure) sont les seuls protocoles admis pour les transferts depuis Internet vers le site Web.
  • Un intrus réussissant à obtenir l’accès à un serveur du réseau ISP peut obtenir l’accès aux autres serveurs du site. Une solution de sécurité supplémentaire est nécessaire pour protéger ces serveurs.
  • La communication entre les serveurs Web et les serveurs de base de données s’opère sans protection sur le réseau ISP.
  • Étant donné que les ordinateurs Commerce Server Business Desk partagent le trafic réseau avec les serveurs Web, vous devez exécuter HTTPS sur les ordinateurs Business Desk pour garantir la sécurité des données.
  • Certains fournisseurs de logiciels pare-feu ne prennent pas en charge trois interfaces.

Voir aussi

Déploiement de votre site

Mise à niveau à partir de Site Server 3.0

Migration de l’annuaire d’abonnement


Utilisation d'une configuration avec double pare-feu

Envoyer des commentaires sur cette page Commerce Server 2002

Utilisation d’une configuration avec double pare-feu

Dans cette configuration, un pare-feu sépare Internet des serveurs Web, et le second pare-feu sépare les serveurs Web du réseau interne, qui contient les serveurs de base de données et les ordinateurs Commerce Server Business Desk. Pour voir une figure montrant une configuration avec double pare-feu, consultez Configuration d’un site de petite taille.

Les avantages de la solution avec double pare-feu sont les suivants :

  • L’administrateur système peut séparer le réseau interne des serveurs Web et des navigateurs Internet. La gestion du site est effectuée en dehors du réseau ISP, sur le réseau interne. Le réseau interne devient beaucoup plus difficile d’accès pour un intrus.
  • Une couche de protection est implémentée pour protéger les serveurs de base de données des défauts de sécurité qui ne résultent pas de la relation entre les serveurs Web et les serveurs de base de données. De tels défauts peuvent entraîner des agressions contre la protection du service.
  • Le nombre d’ordinateurs accessibles depuis les navigateurs Internet est réduit. En utilisant deux pare-feu, il est plus difficile d’interrompre ou d’utiliser abusivement les serveurs de base de données et le serveur Business Desk.
  • Il n’est pas nécessaire d’exécuter Business Desk en mode HTTPS (Hypertext Transfer Protocol Secure), car le client Business Desk et le serveur se trouvent sur le même réseau.
  • Il n’est pas nécessaire de crypter la communication entre Business Desk et les serveurs de base de données car la communication ne s’opère jamais sur un réseau public.
  • Il est plus facile d’empêcher un navigateur Internet de représenter l’identité d’un utilisateur autorisé. Par exemple, un serveur Web peut recevoir l’instruction d’écouter uniquement les demandes de serveurs de base de données provenant d’une adresse IP spécifique. Étant donné que les deux connexions sont contrôlées par un pare-feu, ces adresses ne peuvent pas être détournées.
  • Les serveurs Web sont séparés physiquement des autres réseaux, ce qui limite les risques d’intrusions sur le site. Si une personne parvient à exploiter un serveur accessible publiquement, elle ne peut pas avoir directement accès au réseau interne.

Les désavantages de la solution avec double pare-feu sont les suivants :

  • Il est plus difficile et plus coûteux de gérer deux pare-feu avec des configurations différentes.
  • La communication entre les serveurs Web et les serveurs de base de données s’opère sans protection sur le réseau ISP. Une solution de sécurité supplémentaire est nécessaire pour protéger cette communication.
  • Le réseau interne de l’entreprise dépend du site Web pour fonctionner. Si le site Web connaît des problèmes de réseau, la connectivité du réseau interne risque d’être perdue. Vous devez fournir une ligne réseau distincte pour connecter les ordinateurs du réseau interne à Internet, en contournant le réseau ISP. Cette connexion distincte permettrait de contourner le pare-feu qui sépare le réseau ISP du réseau interne.
  • Tout trafic autorisé entre le réseau interne et Internet l’est également entre le réseau ISP et Internet, de même qu’entre le réseau de serveurs de base de données et Internet. Les ramifications au niveau de la sécurité sont déterminées par les protocoles autorisés par la stratégie de sécurité par défaut de l’utilisateur.

Voir aussi

Déploiement de votre site

Mise à niveau à partir de Site Server 3.0

Migration de l’annuaire d’abonnement


Utilisation d'une configuration avec triple pare-feu

Envoyer des commentaires sur cette page Commerce Server 2002

Utilisation d’une configuration avec triple pare-feu

Cette configuration est similaire à la configuration avec double pare-feu, avec l’ajout d’un troisième pare-feu qui sépare le réseau interne des serveurs de base de données et les ordinateurs Commerce Server Business Desk. Pour voir une figure montrant une configuration avec triple pare-feu, consultez Configuration d’un site de grande taille.

Les avantages de la solution avec triple pare-feu sont les suivants :

  • Le site Web (serveurs Web, serveurs de base de données et serveur Business Desk) est séparé physiquement des autres réseaux, ce qui garantit une protection maximale contre les intrus.
  • Il est plus facile d’empêcher un navigateur Internet de représenter l’identité d’un utilisateur autorisé. Par exemple, un serveur Web peut être configuré pour répondre uniquement aux demandes de serveurs de base de données provenant d’une adresse IP spécifique. Étant donné que les deux connexions sont contrôlées par un pare-feu, ces adresses ne peuvent pas être détournées.
  • Une couche de protection est implémentée pour protéger les serveurs de base de données des défauts de sécurité qui ne résultent pas de la relation entre les serveurs Web et les serveurs de base de données. De tels défauts peuvent entraîner des agressions contre la protection du service.
  • L’ajout de trois pare-feu réduit le nombre d’ordinateurs accessibles directement via Internet. Il est plus difficile d’interrompre ou d’utiliser abusivement les serveurs de base de données et le serveur Business Desk.
  • Les serveurs de base de données et les serveurs Business Desk sont protégés contre les intrus qui résident sur le réseau interne.

Les désavantages de la solution avec triple pare-feu sont les suivants :

  • Il est plus difficile et plus coûteux de gérer trois pare-feu avec des configurations différentes.
  • La communication entre les serveurs Web et les serveurs de base de données s’opère sans protection sur le réseau ISP. Une solution de sécurité supplémentaire est nécessaire pour protéger cette communication.
  • Tout trafic autorisé entre le réseau interne et Internet l’est également entre le réseau ISP et Internet, de même qu’entre le réseau de serveurs de base de données et Internet. Les ramifications au niveau de la sécurité sont déterminées par les protocoles autorisés par la stratégie de sécurité par défaut de l’utilisateur.
  • Ce type de configuration est plus difficile à installer et à gérer.

Voir aussi

Déploiement de votre site

Mise à niveau à partir de Site Server 3.0

Migration de l’annuaire d’abonnement


Scénarios de déploiement

Lorsque vous planifiez votre déploiement, utilisez l’un des scénarios suivants comme modèle. Votre implémentation du scénario de déploiement peut varier en fonction de vos ressources et de vos besoins.

Cette section contient les rubriques suivantes :

  • Configuration d’un site de petite taille. Décrit des scénarios de déploiement pour les sites de petite taille utilisant deux à cinq serveurs.
  • Configuration d’un site de grande taille. Décrit des scénarios de déploiement pour les sites de grande taille où les composants Commerce Server sont déployés sur des bases de données distinctes.
  • Configuration d’un site international. Décrit des scénarios de déploiement pour les sites internationaux où les serveurs sont dispersés géographiquement.


Configuration d'un site de petite taille

Envoyer des commentaires sur cette page Commerce Server 2002

Configuration d’un site de petite taille

Bien qu’il soit possible d’installer tous les composants de Commerce Server 2002 sur un seul serveur, une configuration composée de deux ordinateurs est nécessaire pour séparer les niveaux de logique commerciale et de base de données.

Dans une telle configuration, chaque niveau dispose d’un serveur : un serveur Web et un serveur de bases de données. Pour assurer la tolérance aux pannes et une disponibilité élevée, quatre ordinateurs sont nécessaires (deux ordinateurs en cluster à chaque niveau). La figure suivante montre un environnement de production à quatre ordinateurs.

Déploiement de Commerce Server2002 de petite envergure

Dans cette configuration, les charges des serveurs Web sont équilibrées à l’aide de l’équilibrage de charge réseau. Une seule adresse IP est utilisée par chacun des serveurs Web pour augmenter disponibilité. Tous les éléments de la logique commerciale s’exécutent sur les deux serveurs Web sans mémoire d’état, sur lesquels se trouvent les outils d’administration de Commerce Server, les services, Commerce Server Business Desk et les applications. Si la logique commerciale Commerce Server n’est exécutée que sur un seul serveur, l’utilisation du cache par session d’utilisateur est plus importante. Si un client est dirigé vers un autre serveur Web du cluster, le nouveau serveur extrait simplement les données et le client continue ses achats. Les composants Commerce Server sont persistants pour les bases de données principales, les cookies ou les chaîne de requête d’adresse. De ce fait, la redirection vers un autre serveur physique n’a qu’un impact minimal sur l’expérience d’achat du client.

Les serveurs de base de données sont configurés sous forme de cluster de serveurs Windows possédant une base de données Microsoft SQL Server partagée. Ils contiennent la base de données d’administration, Data Warehouse et les autres bases de données Commerce Server.

Deux pare-feu sont utilisés dans cette configuration : le premier permet de sécuriser les entrées en provenance d’Internet, le second permet de sécuriser les entrées et les sorties du réseau d’entreprise.

Cette configuration utilise SQL Server pour authentifier les utilisateurs. Vous pouvez également utiliser Microsoft Active Directory pour authentifier les utilisateurs. Cela permet d’accroître la sécurité, mais nécessite l’ajout de contrôleurs de domaine à votre environnement de production.

Pour obtenir des instructions sur l’installation de Commerce Server 2002 sur un seul ordinateur, consultez le Guide d’installation de Commerce Server 2002. Pour obtenir des instructions sur l’installation de Commerce Server 2002 sur deux ordinateurs, consultez Installation dans une configuration ordonnée en clusters et comprenant quatre ordinateurs (mais ne configurez pas chaque niveau en cluster). Cette configuration en cluster à quatre ordinateurs assure une disponibilité élevée grâce à la mise en cluster de deux ordinateurs à chaque niveau. Pour installer Commerce Server 2002 sur deux ordinateurs seulement, ignorez les sections relatives à la mise en cluster et utilisez deux ordinateurs pour le déploiement.

Pour obtenir des instructions sur l’installation de Commerce Server 2002 sur trois ordinateurs, consultez Installation dans une configuration non ordonnée en clusters et comprenant trois ordinateurs. Pour obtenir des informations sur l’installation de Commerce Server 2002 sur plus de trois ordinateurs, consultez Configuration d’un site de grande taille.

Configuration d’un site de petite taille avec Active Directory

Environnement de développement d’un site de petite taille

Configuration d’un site de petite taille avec Active Directory

Vous pouvez décider d’utiliser Active Directory pour offrir un contexte de sécurité à votre site Commerce Server. Active Directory est utile si vous devez exécuter les tâches suivantes :

  • Contrôler l’accès aux ressources du site en fonction des informations d’autorisation sécurisées d’un utilisateur.
  • Offrir une sécurité aux autres applications.

Si vous décidez d’implémenter Active Directory sur votre site, vous devez ajouter deux serveurs supplémentaires à votre configuration. La figure suivante illustre une configuration de petite taille pour Commerce Server, qui comprend des serveurs Active Directory.

Déploiement de petite envergure de Commerce Server2002 avec Active Directory.

Pour offrir une haute disponibilité, il est conseillé d’utiliser deux contrôleurs de domaine Active Directory répliqués. Active Directory utilise sa propre réplication pour vérifier que ses données restent cohérentes entre les contrôleurs de domaine. Les serveurs Web et les serveurs de base de données de cette configuration sont identiques à ceux de la configuration à quatre ordinateurs. Étant donné que la charge de traitement de Active Directory est relativement légère, vous pouvez placer le serveur Active Directory sur le même cluster que les serveurs SQL Server.

Pour obtenir des instructions sur l’installation du site Supplier avec Active Directory, consultez Installation de l’exemple de site Supplier. Cet exemple de configuration comprend deux serveurs : un contrôleur de domaine utilisant Active Directory et un serveur exécutant Commerce Server et SQL Server.

Environnement de développement d’un site de petite taille

La figure suivante montre un exemple d’environnement de développement pour un site de petite taille.

Environnement de développement de petite taille pour Commerce Server2002.

Cet environnement de développement est physiquement séparé des environnements de production intermédiaires ou de test. Il se trouve à l’intérieur du réseau d’entreprise.


Configuration d'un site de grande taille

Envoyer des commentaires sur cette page Commerce Server 2002

Configuration d’un site de grande taille

La façon la plus simple d’augmenter la capacité des sites Commerce Server est d’ajouter des serveurs Web et de distribuer les composants Commerce Server sur plusieurs serveurs de base de données. Pour prendre des décisions concernant la disponibilité, fondez-vous sur l’utilisation prévue de chaque base de données. Pour augmenter la disponibilité et masquer les complexités du site à vos clients, utilisez une seule adresse IP pour les services Web. Vous pouvez utiliser une combinaison de mise en cluster et de réplication SQL Server pour augmenter la disponibilité du niveau de base de données. Dans un cluster Web de grande taille, toute la logique commerciale peut s’exécuter sur les serveurs Web sans mémoire d’état. Cependant, dans certains environnements, vous pouvez isoler certaines fonctions des fonctions d’achat du site. Par exemple, vous pouvez exécuter les composants de pipeline sur un cluster Web distinct si ces composants nécessitent une grande quantité de ressources de l’unité centrale (pour le cryptage de fichiers volumineux par exemple) ou l’accès à des données sécurisées (pour le calcul des taux d’assurance lors du traitement des numéros de sécurité sociale, historiques bancaires ou rapports médicaux par exemple). La génération de modèles d’analyse est un exemple de fonction nécessitant une grande quantité de ressources de l’unité centrale que vous pouvez vouloir exécuter sur un serveur distinct.

La figure suivante montre un exemple d’environnement de production pour un site de grande taille comprenant de 10 à 100 serveurs.

Configuration d'un site de grande taille

Important

Le Data Warehouse de Commerce Server 2002 ne prend pas en charge les clusters OLAP.

Cette configuration sépare chacune des bases de données de composants sur ses propres clusters Microsoft SQL Server. En outre, la base de données des catalogues est installée sur plusieurs clusters faisant l’objet d’une répartition de charge. Des serveurs Web supplémentaires sont ajoutés pour répartir la charge sur les services et applications Commerce Server.

Si votre niveau des bases de données nécessite une capacité plus importante que le maximum de quatre nœuds du service de clustering de Windows, envisagez les stratégies suivantes pour votre niveau des bases de données :

  • Serveurs OLAP. Ajoutez des serveurs à votre solution à adresse IP unique. Synchronisez les données en utilisant les fonctions d’archivage et de restauration. Le service de clustering de Windows pour OLAP n’est pas pris en charge.
  • Catalogue. Ajoutez des serveurs à votre solution à adresse IP unique. Synchronisez les données en utilisant la réplication SQL Server.
  • Bon de commande. Créez plusieurs partitions de données et distribuez les transactions sur ces diverses partitions. Par exemple, vous pouvez implémenter des bases de données SQL Server distribuées (vues fédérées). Pour plus d’informations, consultez « Création de serveurs de base de données fédérés » dans l’aide de SQL Server 2000.
  • Ressource Profils. Créez plusieurs partitions de données et distribuez les données utilisateur sur ces diverses partitions. Les partitions de sources de données utilisent des propriétés de profil désignées comme clés de hachage pour maintenir les données ensemble. Remarquez qu’avec cette architecture, vous devez créer les partitions lorsque vous configurez le site. Si vous ajoutez des partitions à un site qui contient déjà des profils utilisateur, vous devez recharger les données utilisateur. Le partitionnement est utile à la fois pour les banques de données de profils SQL Server et les banques de données de profils Active Directory. L’évolutivité d’Active Directory nécessite une conception comportant plusieurs forêts et des relations d’approbation établies entre les domaines des forêts d’utilisateurs et le domaine de la forêt de ressources.

Pour plus d’informations sur la planification et le déploiement de la configuration d’un site de grande taille, consultez le Kit de Ressources Techniques Commerce Server 2000.


Configuration d'un site international

Envoyer des commentaires sur cette page Commerce Server 2002

Configuration d’un site international

Un site international comprend généralement plusieurs grands sites répartis dans le monde entier, qui sont connectés par un réseau WAN dédié ou par un ou plusieurs fournisseurs de services/d’applications utilisant un réseau WAN.

La figure suivante montre un exemple de configuration d’un site international.

Configuration d'un site international

Pour plus d’informations sur la planification et le déploiement de la configuration d’un site international, consultez le Kit de Ressources Techniques Commerce Server 2000.


Configuration d'un déploiement type

Envoyer des commentaires sur cette page Commerce Server 2002

Configuration d’un déploiement type

Un déploiement type comprend un niveau Web et un niveau base de données. Le niveau Web est constitué d’un serveur Web unique ou de multiples serveurs Web fonctionnant en tant que cluster. Le niveau base de données comprend des serveurs exécutant SQL Server et Business Desk. De plus, chaque niveau peut avoir des contrôleurs de domaine pour l’authentification et les services DNS.

La figure suivante illustre la topologie d’un déploiement type de Commerce Server 2002.

Topologie pour des déploiements types de Commerce Server2002

Le nombre de serveurs que vous utilisez dans le déploiement dépend de vos besoins en matière de performances et du niveau de disponibilité voulu. Pour augmenter disponibilité et performances, vous pouvez ajouter des serveurs aux clusters Web, SQL Server et Business Desk.

Cette section vous guide à travers les différentes phases de configuration d’un déploiement type.

Cette section contient les rubriques suivantes :

  • Configurations matérielles recommandées
  • Configurations logicielles requises pour chaque serveur
  • Installation de la plate-forme de base
  • Configuration du réseau
  • Définition des domaines
  • Configuration du niveau Web
  • Configuration du niveau base de données
  • Installation de Commerce Server 2002
  • Décompression d’un site
  • Installation du client Business Desk


Configurations matérielles recommandées

Outre la configuration matérielle requise indiquée dans le Guide d’installation de Commerce Server 2002, le tableau suivant contient les configurations matérielles requises pour des déploiements types de Commerce Server 2002.

Serveur | Processeur | Mémoire vive | Espace disque | Cartes réseau
Serveur Web | Double 700 MHz | 1 Go | 12 Go | 2
SQL Server | Quadruple 500 MHz | 1 Go | 25 Go | 2
Serveur ISA | Simple 500 MHz | 512 Mo | 8 Go | 3
Business Desk | Double 700 MHz | 1 Go | 12 Go | 2
Active Directory | Simple 500 MHz | 512 Mo | 8 Go | 1

Les clusters SQL Server utilisant le service de cluster doivent configurer des unités de stockage externes courantes avec quatre disques durs SCSI de 9 Go en tant qu’unité logique unique RAID 5 de 25 Go.

Un déploiement type utilise également le matériel suivant :

  • Trois concentrateurs : le premier pour connecter les cartes réseau frontales sur les serveurs Web, le deuxième pour connecter les cartes réseau principales sur les serveurs Web et le troisième pour connecter les serveurs exécutant SQL Server et Business Desk au niveau base de données.
  • Deux pare-feu : le premier pare-feu externe sépare le déploiement de l’Internet, alors que le second pare-feu (interne) sépare le niveau Web du niveau base de données. Facultativement, vous pouvez prévoir un pare-feu supplémentaire pour séparer le déploiement du réseau interne.


Configurations matérielles requises pour chaque serveur

Le processus de déploiement dépend en grande partie de l’emplacement où vous souhaitez installer les composants Commerce Server. Dans la configuration la plus simple, tous les composants Commerce Server sont installés sur un seul ordinateur. Dans de nombreux déploiements à grande échelle, les composants Commerce Server sont installés sur des ordinateurs différents. Par exemple, le composant Analyse et Data Warehouse de Commerce Server est généralement installé sur des ordinateurs séparés exécutant SQL Server.

Configuration requise pour le serveur Web

Lors du déploiement de Commerce Server 2002, chaque serveur Web requiert les produits logiciels suivants :

  • Microsoft Windows 2000 Advanced Server avec Service Pack 2
  • Services IIS (Internet Information Services) 5.0
  • MSXML version 3.0 avec Service Pack 2, disponible sur le CD-ROM du produit Commerce Server (\Support\MSXML 3.0 Sp2\msxml3sp2setup.exe)
  • MDAC 2.7, disponible sur le CD-ROM du produit Commerce Server (\Support\MDAC 2.7\mdac_typ.exe)
  • Commerce Server 2000 avec Service Pack 2 (sans Business Desk)

Configuration requise pour le serveur de base de données

Lors du déploiement de Commerce Server 2002, chaque serveur de base de données requiert les produits logiciels suivants :

  • Windows 2000 Advanced Server avec Service Pack 2
  • Microsoft SQL Server 2000 avec Service Pack 2
  • MDAC 2.7, disponible sur le CD-ROM du produit Commerce Server (\Support\MDAC 2.7\mdac_typ.exe)

Configuration requise pour Business Desk

Lors du déploiement de Commerce Server 2002, chaque serveur exécutant Business Desk requiert les produits logiciels suivants :

  • Windows 2000 Advanced Server avec Service Pack 2
  • Services IIS (Internet Information Services) 5.0
  • MSXML version 3.0 avec Service Pack 2
  • Commerce Server 2000 avec Service Pack 2 (avec Business Desk)

Configuration requise pour le contrôleur de domaine

  • Windows 2000 Advanced Server avec Service Pack 2

Configuration requise pour les pare-feu

  • Windows 2000 Advanced Server avec Service Pack 2
  • Microsoft Internet Security et Acceleration Server 2000 (ISA)


Installation de la plate-forme de base

Une fois que vous disposez des configurations matérielles et logicielles requises, installez la plate-forme de base avant de configurer le réseau et d’installer le logiciel. La procédure suivante explique comment installer la plate-forme de base :

  1. Installez Microsoft Windows 2000 Advanced Server avec Service Pack 2 (SP2) sur tous les serveurs.
  2. Installez Internet Information Services (IIS) 5.0 sur le Web et sur les serveurs exécutant Business Desk. Consultez le site IIS pour obtenir les derniers correctifs.
  3. Installez MSXML version 3.0 avec SP2 sur le Web et sur les serveurs exécutant Business Desk.

    Si Microsoft Internet Explorer version 6.0 (qui comprend MSXML 3.0 SP2) n’est pas installé, vous pouvez installer MSXML 3.0 SP2 à partir du CD-ROM du produit Microsoft Commerce Server 2002 en utilisant le fichier \Support\MSXML 3.0 Sp2\msxml3sp2setup.exe. Pendant l’installation, sélectionnez l’option d’installation en mode côte à côte. Cette option empêche MSXML 3.0 SP2 d’écraser MSXML version 2.6, qui est requis pour Business Desk.

Une fois que vous avez installé la plate-forme de base, vous pouvez commencer la configuration du réseau en connectant les cartes réseau et en affectant des adresses IP.


Configuration du réseau

Une fois la plate-forme de base installée, connectez les cartes réseau aux concentrateurs ou commutateurs appropriés, et affectez les adresses IP correspondantes. Cette phase de déploiement implique l’établissement d’une communication entre tous les serveurs participant au déploiement.

Cette section contient les rubriques suivantes :

  • Connexion des serveurs Web
  • Connexion des serveurs SQL
  • Connexion des serveurs Business Desk
  • Ouverture des ports des pare-feu


Connexion des serveurs Web

La procédure suivante décrit comment connecter et configurer les cartes réseau sur chaque serveur Web pendant le déploiement. Chaque serveur Web utilise deux cartes réseau : l’une pour communiquer avec les clients sur Internet, l’autre pour communiquer avec les serveurs au niveau base de données.

La figure suivante représente un exemple de configuration réseau pour un cluster Web constitué de trois serveurs Web.

Exemple de configuration réseau d'un cluster Web

Pour connecter des serveurs Web

  1. Connectez la carte réseau frontale (pour communiquer avec les clients sur Internet) à un concentrateur qui est lui-même connecté au pare-feu externe.
  2. Dans Propriétés du protocole Internet (TCP/IP) de cette carte, entrez l’adresse IP, le masque de sous-réseau et la passerelle par défaut. L’adresse IP entrée au cours de cette étape spécifie l’adresse IP dédiée à ce serveur.
  3. Connectez la carte réseau principale (pour communiquer avec des bases de données principales) à un concentrateur qui est connecté au pare-feu externe (pour séparer le niveau Web du niveau base de données).
  4. Dans Propriétés du protocole Internet (TCP/IP) de cette carte, entrez l’adresse IP, le masque de sous-réseau et laissez la passerelle par défaut vide.
  5. Répétez les étapes 1 à 4 pour chaque serveur Web en utilisant des adresses IP différentes.

La configuration réseau est terminée pour les serveurs Web. Pour installer l’équilibrage de charge réseau (NLB, Network Load Balancing), consultez Mise en clusters de serveurs Web.


Connexion des serveurs SQL

La procédure suivante explique comment connecter et configurer les cartes réseau sur chaque serveur Web exécutant SQL Server pendant le déploiement. Chaque serveur utilise deux cartes réseau : l’une connectée au cluster Web par le biais d’un concentrateur, l’autre connectée à l’autre serveur exécutant SQL Server au moyen d’un câble inverseur. Chaque serveur est également connecté à une unité de stockage partagée par un câble SCSI.

Le cluster SQL Server requiert deux noms de cluster différents et deux adresses IP de cluster différentes : d’abord pour SQL Server, puis pour le service de cluster.

La figure suivante représente un exemple de configuration réseau pour un cluster SQL Server.

Exemple de configuration réseau pour un cluster SQL Server

Pour connecter les serveurs exécutant SQL Server

  1. Assurez-vous que l’unité de stockage partagée n’est pas sous tension. Elle peut être endommagée si elle est connectée aux deux serveurs à la fois en étant sous tension.
  2. Connectez la carte réseau frontale à un concentrateur qui est lui-même connecté au pare-feu externe séparant le niveau Web du niveau base de données.
  3. Dans Propriétés du protocole Internet (TCP/IP) de cette carte, entrez l’adresse IP, le masque de sous-réseau et la passerelle par défaut.
  4. Connectez au moyen d’un câble inverseur la carte réseau principale à la carte réseau principale de l’autre serveur exécutant SQL Server.
  5. Dans Propriétés du protocole Internet (TCP/IP) de cette carte, entrez l’adresse IP, le masque de sous-réseau et laissez le champ de la passerelle par défaut vide.
  6. Dans Propriétés du protocole Internet (TCP/IP), cliquez sur Options avancées.
  7. Dans Paramètres TCP/IP avancés, sous l’onglet WINS, sélectionnez Désactiver NetBIOS avec TCP/IP.
  8. Connectez un câble SCSI à l’unité de stockage partagée.
  9. Répétez les étapes 1 à 8 pour l’autre serveur exécutant SQL Server en utilisant des adresses IP différentes.

La configuration réseau est terminée pour le cluster SQL Server. Pour installer le service de cluster, consultez Configuration du niveau base de données.


Connexion des serveurs Business Desk

La procédure suivante explique comment connecter et configurer les cartes réseau sur chaque serveur exécutant Business Desk pendant le déploiement. Chaque serveur exécutant Business Desk utilise deux cartes réseau : l’une pour communiquer avec le cluster Web, l’autre pour communiquer entre deux serveurs exécutant Business Desk.

La figure suivante illustre un exemple de configuration réseau pour un cluster Business Desk.

Exemple de configuration réseau pour un cluster Business Desk

Pour connecter des serveurs exécutant Business Desk

  1. Connectez la carte réseau frontale à un concentrateur qui est lui-même connecté au pare-feu séparant le niveau Web du niveau base de données.
  2. Dans Propriétés du protocole Internet (TCP/IP) de cette carte, entrez l’adresse IP, le masque de sous-réseau et la passerelle par défaut.
  3. Connectez au moyen d’un câble inverseur la carte réseau principale à la carte réseau principale de l’autre serveur exécutant Business Desk.
  4. Dans Propriétés du protocole Internet (TCP/IP) de cette carte, entrez l’adresse IP, le masque de sous-réseau et laissez le champ de la passerelle par défaut vide.
  5. Répétez les étapes 1 à 4 pour l’autre serveur exécutant Business Desk en utilisant des adresses IP différentes.

La configuration réseau est terminée pour les serveurs exécutant Business Desk.


Ouverture des ports des pare-feu

Sur le pare-feu externe (séparant le déploiement de l’Internet), ouvrez les ports entrants 80 et 443 pour HTTP et HTTPS, respectivement. Si vous utilisez un pare-feu pour séparer le niveau Web du niveau base de données, ouvrez le port entrant 1433 pour SQL Server. Outre ce pare-feu, autorisez l’accès dans les deux sens (entrant et sortant) sur les ports 135 et 5000-5030 pour MSDTC (Microsoft Distributed Transaction Coordinator).

Sur le pare-feu entrant (séparant le déploiement du réseau interne), ouvrez le port sortant 80 pour HTTP afin de permettre au serveur interne exécutant Business Desk de réinitialiser les catalogues publiés et les schémas de profils.


Définition des domaines

Une fois que vous avez établi la connectivité réseau, regroupez les serveurs en deux domaines avant d’installer Commerce Server 2002. Créez deux domaines non approuvés séparés : une zone démilitarisée (DMZ) pour le niveau Web et une zone intranet pour le niveau base de données. Vous devez configurer un contrôleur de domaine pour chaque zone fournissant des services DNS.

Sur chaque contrôleur de domaine, ajoutez de nouveaux hôtes pour identifier les serveurs (ou clusters) appropriés dans un domaine différent. Par exemple, sur le contrôleur de domaine DMZ, vous pouvez ajouter deux nouveaux hôtes en utilisant l’adresse IP virtuelle du cluster Web et l’adresse IP du cluster SQL Server. Sur le domaine de l’intranet, vous pouvez ajouter un nouvel hôte pour chaque serveur du cluster Web.

Après avoir créé les deux domaines et ajouté les hôtes appropriés, joignez chaque serveur à son domaine respectif. Par exemple, chaque serveur Web doit être un membre du domaine DMZ, alors que chaque serveur SQL Server et serveur Business Desk doit être un membre du domaine de l’intranet. Pour des instructions sur la jonction d’un serveur à un domaine, utilisez la procédure décrite dans Jonction de serveurs Web à un domaine Active Directory. La configuration de domaine est terminée lorsque tous les serveurs sont redémarrés après la jonction des domaines appropriés.

Si vous décidez d’implémenter le service d’annuaire Active Directory pour stocker un profil utilisateur ou d’autres données, vous devez exécuter différentes étapes qui sont décrites dans les rubriques suivantes.

Remarque

  • Avant d’effectuer l’une de ces étapes, il est important que vous compreniez le concept Active Directory et le rôle qu’il joue dans votre plan de site. Pour plus d’informations sur Active Directory, consultez la documentation relative à Windows 2000.

Cette section contient les rubriques suivantes :

  • Création d’un domaine Active Directory
  • Synchronisation des contrôles de domaine Active Directory
  • Ajout d’un contrôleur de domaine à un domaine existant
  • Activation de serveurs Web pour authentifier les utilisateurs sur d’autres serveurs

Voir aussi

Planification du système de profil

Planification de l’intégration à Active Directory


Création d'un domaine Active Directory

Envoyer des commentaires sur cette page Commerce Server 2002

Création d’un domaine Active Directory

Avant de pouvoir activer l’authentification du service d’annuaire Active Directory pour vos informations de profil utilisateur de site Web Commerce Server, vous devez définir un domaine Active Directory sur votre site. Il est recommandé de dédier une paire de serveurs répliqués à cette fin.

N’utilisez ces procédures que si vous maîtrisez les concepts Active Directory et si vous avez planifié votre structure Active Directory. Pour plus d’informations sur Active Directory, consultez le Guide de planification et de déploiement de Microsoft Windows 2000 Server.

Pour configurer un domaine Active Directory en créant une nouvelle arborescence de domaine

Pour configurer un domaine Active Directory en créant un nouveau domaine enfant dans une arborescence de domaine existante

Pour configurer un domaine Active Directory en créant une nouvelle arborescence de domaine

  1. Cliquez sur Démarrer, puis sur Exécuter.
  2. Dans la boîte de dialogue Exécuter, dans la zone Ouvrir, tapez dcpromo, puis cliquez sur OK.
  3. Dans l’Assistant Installation de Active Directory, cliquez sur Suivant.
  4. Dans la boîte de dialogue Type de contrôleur de domaine, sélectionnez Contrôleur de domaine pour un nouveau domaine, puis cliquez sur Suivant.
  5. Dans la boîte de dialogue Créer une arborescence ou un domaine enfant, sélectionnez Créer une nouvelle arborescence de domaine, puis cliquez sur Suivant.
  6. Dans la boîte de dialogue Créer ou rejoindre une forêt, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Créer une nouvelle forêt d’arborescence de domaines | Sélectionner cette option s’il s’agit du premier domaine dans votre application, ou si vous souhaitez que la nouvelle arborescence de domaine que vous créez soit complètement indépendante de votre forêt actuelle.
    Placer cette nouvelle arborescence de domaine dans une forêt existante | Sélectionner cette option si vous souhaitez que les utilisateurs dans la nouvelle arborescence de domaine aient accès aux ressources des arborescences de domaine existantes, et vice versa.
  7. Si vous avez sélectionné l’option Créer une nouvelle forêt d’arborescence de domaines, dans la boîte de dialogue Nouveau nom de domaine, dans la zone Nom DNS complet pour le nouveau domaine, tapez le nom NDS (Domain Name System) complet du nouveau domaine.
  8. Dans la boîte de dialogue NetBIOS Domain Name, dans la zone Nom de domaine NetBIOS, tapez le nom que les utilisateurs des précédentes versions de Microsoft Windows utiliseront pour identifier le domaine. Il est recommandé d’accepter la valeur par défaut, qui est une version raccourcie du nom DNS complet. Cliquez sur Suivant.
  9. Dans la boîte de dialogue Emplacement de la base de données et du journal, acceptez les paramètres par défaut à moins que vous n’ayez une raison précise de les modifier.
  10. Dans la boîte de dialogue Volume système partagé, acceptez les paramètres par défaut à moins que vous n’ayez une raison précise de les modifier.
  11. Si DNS n’est pas installé sur votre ordinateur, vous serez invité à l’installer. Sélectionnez Oui, je veux installer et configurer le service DNS sur cet ordinateur, puis cliquez sur Suivant.
  12. Dans la boîte de dialogue Autorisations, sélectionnez l’option Autorisations compatibles uniquement avec les serveurs Windows 2000, puis cliquez sur Suivant.
  13. Dans la boîte de dialogue Mot de passe administrateur de Restauration des services d’annuaire, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Mot de passe | Taper le mot de passe que vous voulez attribuer au compte d’administrateur pour le serveur.
    Confirmer le mot de passe | Taper à nouveau le mot de passe pour le confirmer.
  14. Dans la boîte de dialogue Résumé, passez en revue les options que vous avez sélectionnées afin de vous assurer que votre configuration Active Directory est correcte. Si c’est le cas, cliquez sur Suivant, ou, pour reconfigurer vos options, cliquez sur Précédent.

    La boîte de dialogue Configuration de Active Directory apparaît, signalant que votre configuration Active Directory est en cours d’installation sur votre ordinateur.

  15. Dans la boîte de dialogue Fin de l’Assistant Installation de Active Directory, cliquez sur Suivant.

Pour configurer un domaine Active Directory en créant un nouveau domaine enfant dans une arborescence de domaine existante

  1. Cliquez sur Démarrer, puis sur Exécuter.
  2. Dans la boîte de dialogue Exécuter, dans la zone Ouvrir, tapez dcpromo, puis cliquez sur OK.
  3. Dans l’Assistant Installation de Active Directory, cliquez sur Suivant.
  4. Dans la boîte de dialogue Type de contrôleur de domaine, sélectionnez Contrôleur de domaine pour un nouveau domaine, puis cliquez sur Suivant.
  5. Dans la boîte de dialogue Créer une arborescence ou un domaine enfant, sélectionnez l’option Créer un nouveau domaine enfant dans une arborescence de domaine existante, puis cliquez sur Suivant.
  6. Dans la boîte de dialogue Installation d’un domaine enfant, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Domaine parent | Taper le nom du domaine parent.
    Domaine enfant | Taper le nom du domaine enfant.
  7. Dans la boîte de dialogue NetBIOS Domain Name, dans la zone Nom de domaine NetBIOS, tapez le nom que les utilisateurs des précédentes versions de Microsoft Windows utiliseront pour identifier le domaine. Il est recommandé d’accepter la valeur par défaut, qui est une version raccourcie du nom DNS complet. Cliquez sur Suivant.
  8. Dans la boîte de dialogue Emplacement de la base de données et du journal, acceptez les paramètres par défaut à moins que vous n’ayez une raison précise de les modifier.
  9. Dans la boîte de dialogue Volume système partagé, acceptez les paramètres par défaut à moins que vous n’ayez une raison précise de les modifier.
  10. Si DNS n’est pas installé sur votre ordinateur, vous serez invité à l’installer. Sélectionnez Oui, je veux installer et configurer le service DNS sur cet ordinateur, puis cliquez sur Suivant.
  11. Dans la boîte de dialogue Autorisations, sélectionnez l’option Autorisations compatibles uniquement avec les serveurs Windows 2000, puis cliquez sur Suivant.
    ATTENTION
    • Autoriser la compatibilité ascendante peut conduire à des problèmes de sécurité avec Microsoft Commerce Server 2002.
  12. Dans la boîte de dialogue Mot de passe administrateur de Restauration des services d’annuaire, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Mot de passe | Taper le mot de passe que vous voulez attribuer au compte d’administrateur pour le serveur.
    Confirmer le mot de passe | Taper à nouveau le mot de passe pour le confirmer.

    La boîte de dialogue Configuration de Active Directory apparaît, signalant que votre configuration Active Directory est en cours d’installation sur votre ordinateur.

  13. Dans la boîte de dialogue Fin de l’Assistant Installation de Active Directory, cliquez sur Suivant.

Voir aussi

Configuration d’un site de petite taille

Jonction de serveurs Web à un domaine Active Directory


Synchronisation des contrôleurs de domaine Active Directory

Même si vous n’avez besoin que d’un seul contrôleur de domaine pour chaque domaine, un contrôleur de domaine unique peut se transformer en point de défaillance unique. Il est préférable d’ajouter d’autres contrôleurs de domaine à un domaine afin d’augmenter sa disponibilité. Le service d’annuaire Active Directory utilise une stratégie de réplication bidirectionnelle afin d’assurer la cohérence entre les contrôleurs de domaine d’un domaine unique. Les contrôleurs de domaine Active Directory prennent en charge la réplication multi-maître afin de synchroniser les données de chaque contrôleur de domaine et d’assurer la cohérence des informations.

Les informations stockées dans Active Directory sur chaque contrôleur de domaine (qu’il s’agisse ou non d’un serveur de catalogue global) sont partitionnées en trois catégories : données de domaine, données de schéma et données de configuration. Chacune de ces catégories se trouve dans une partition d’annuaire séparée (appelée également Contexte de nommage). Les partitions d’annuaire correspondent aux unités de réplication. La partition des données de domaine contient tous les objets qui se trouvent dans l’annuaire du domaine. Les données de chaque domaine sont répliquées vers chaque contrôleur du domaine, mais pas au-delà.

Si le contrôleur de domaine est un serveur de catalogue global, il contient aussi une quatrième catégorie d’informations : un réplica partiel de la partition d’annuaire des données de domaine pour tous les domaines. Ce réplica partiel contient un sous-ensemble des propriétés de tous les objets dans tous les domaines. (Un réplica partiel est en lecture seule ; un réplica complet est lecture/écriture.)

Par défaut, le jeu partiel d’attributs stockés dans le catalogue global comprend les attributs les plus fréquemment utilisés dans les opérations de recherche, car l’une des fonctions principales du catalogue global est de prendre en charge les clients interrogeant l’annuaire. L’utilisation de catalogues globaux pour effectuer une réplication de domaine partielle, à la place d’une réplication de domaine complète, permet de réduire le trafic WAN.

La figure suivante illustre la réplication dans un site. Trois contrôleurs de domaine (dont l’un est un catalogue global) répliquent les données de schéma et les données de configuration, ainsi que tous les objets de l’annuaire (dans un jeu complet d’attributs pour chaque objet).

Réplication des données entre contrôleurs de domaine

Active Directory essaie d’établir une topologie qui permet au moins deux connexions à chaque contrôleur de domaine de façon que si un contrôleur de domaine n’est plus disponible, les informations d’annuaire puissent quand même atteindre tous les contrôleurs de domaine en ligne via l’autre connexion. Active Directory évalue aussi automatiquement les modifications survenant dans l’état du réseau et s’y adapte. Par exemple, lorsqu’un contrôleur de domaine est ajouté à un site, la topologie de réplication est ajustée de façon à incorporer le nouvel ajout de manière efficace.

Réplication entre sites

Vous pouvez également utiliser Active Directory pour optimiser à la fois le trafic entre serveurs et entre le client et le serveur sur les liaisons WAN. Le fait d’avoir plusieurs sites peut permettre une redondance en cas de sinistre géographique. Les méthodes conseillées pour la configuration de plusieurs sites incluent les suivantes :

  • Configurez un site dans chaque zone géographique requérant un accès rapide aux informations Active Directory les plus récentes.
  • Placez au moins un contrôleur de domaine sur chaque site et transformez au moins un contrôleur de domaine sur chaque site en catalogue global. Les sites qui ne possèdent pas leurs propres contrôleurs de domaine et au moins un catalogue global dépendent d’autres sites pour les informations d’annuaire et sont moins performants.


Ajout d'un contrôleur de domaine à un domaine existant

Envoyer des commentaires sur cette page Commerce Server 2002

Ajout d’un contrôleur de domaine à un domaine existant

Après que vous avez créé plusieurs contrôleurs de domaine, le service d’annuaire Active Directory réplique fréquemment et automatiquement les informations d’annuaire entre eux. Si un contrôleur de domaine n’est plus disponible, les informations d’annuaire sont toujours disponibles via les autres contrôleurs de domaine.

Pour ajouter un contrôleur de domaine supplémentaire à un domaine existant

  1. Cliquez sur Démarrer, puis sur Exécuter.
  2. Dans la boîte de dialogue Exécuter, dans la zone Ouvrir, tapez dcpromo, puis cliquez sur OK.
  3. Dans la boîte de dialogue Type de contrôleur de domaine, sélectionnez Contrôleur de domaine supplémentaire. Le contrôleur de domaine est alors créé en tant que partenaire de réplication.
  4. Dans la boîte de dialogue Informations d’identification réseau, tapez le nom d’utilisateur d’un administrateur de domaine, le mot de passe et le nom du domaine, puis cliquez sur Suivant.
  5. Dans la boîte de dialogue Contrôleur de domaine supplémentaire, cliquez sur Suivant.
  6. Dans la boîte de dialogue Emplacement de la base de données et du journal, acceptez les paramètres par défaut, puis cliquez sur Suivant.
  7. Dans la boîte de dialogue Volume système partagé, cliquez sur Suivant.
  8. Dans la boîte de dialogue Mot de passe administrateur de Restauration des services d’annuaire, laissez les zones vides, et cliquez sur Suivant.
  9. Dans la boîte de dialogue Résumé, cliquez sur Suivant.
  10. Quand la boîte de dialogue Fin de l’installation de Active Directory apparaît, cliquez sur Terminer, puis redémarrez Windows.


Activation de serveurs Web pour authentifier les utilisateurs sur d'autres serveurs

Envoyer des commentaires sur cette page Commerce Server 2002

Activation de serveurs Web pour authentifier les utilisateurs sur d’autres serveurs

Commerce Server 2002 requiert qu’un serveur Web soit capable d’authentifier les utilisateurs qui veulent accéder à des services situés sur d’autres serveurs. Vous devez veiller à ce que Microsoft Windows soit configuré pour permettre un tel accès.

Remarque

  • Pour activer la délégation, vous devez disposer de privilèges d’administration suffisants dans votre domaine Windows 2000.

Pour permettre à un serveur Web d’authentifier des clients pour d’autres serveurs

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Microsoft Commerce Server 2002, puis cliquez sur Gestionnaire Commerce Server.
  2. Dans la console Gestionnaire Commerce Server, développez Utilisateurs et ordinateurs Active Directory, cliquez avec le bouton droit sur le nœud de domaine, puis cliquez sur Rechercher. Autrement, si vous savez à quelle unité organisationnelle l’ordinateur appartient, dans l’arborescence de la console, cliquez avec le bouton droit sur l’unité organisationnelle, puis cliquez sur Rechercher.

    Vous pouvez également accéder au compte d’ordinateur que vous voulez modifier sans recourir à la commande Rechercher, puis passer directement à l’étape 9.

  3. Dans la boîte de dialogue Rechercher Utilisateurs, contacts et groupes, dans la zone Rechercher, sélectionnez Ordinateurs dans la liste déroulante.
  4. Sur l’onglet Ordinateurs, dans la zone Nom, tapez le nom de l’ordinateur que vous recherchez.
  5. Dans la zone Dans, sélectionnez dans la liste déroulante le domaine ou l’unité organisationnelle à rechercher.

    Ou, cliquez sur Parcourir pour sélectionner le dossier ou le domaine dans lequel vous voulez commencer votre recherche.

  6. (Facultatif) Dans la zone Propriétaire, tapez le nom de la personne dont l’ordinateur se trouve dans le domaine.
  7. (Facultatif) Dans la zone N’importe lequel, sélectionnez le rôle de l’ordinateur dans la liste. Vous pouvez rechercher tous les ordinateurs sur le réseau, des ordinateurs qui sont des stations de travail et des serveurs ou des ordinateurs qui sont des contrôleurs de domaine.
  8. Cliquez sur Rechercher.

    Le nom de l’ordinateur souhaité apparaît dans la liste en bas de la boîte de dialogue Rechercher les ordinateurs.

  9. Cliquez avec le bouton droit sur l’ordinateur, puis cliquez sur Propriétés.
  10. Dans la boîte de dialogue Propriétés de <nom ordinateur>, sélectionnez l’option Approuver l’ordinateur pour la délégation, puis cliquez sur OK.


Configuration du niveau Web

Cette section décrit comment configurer le niveau Web pour un déploiement type. Cette rubrique suppose que vous avez déjà installé la plate-forme de base, configuré le réseau et défini les deux domaines. Vérifiez que vos serveurs Web sont les ordinateurs que vous utiliserez pour héberger vos sites Web et les composants d’exécution Commerce Server. Pour séparer le niveau logique d’entreprise du niveau base de données, les serveurs Web ne doivent contenir aucune de vos bases de données.

Cette section contient les rubriques suivantes :

  • Mise en clusters des serveurs Web
  • Jonction de serveurs Web à un domaine Active Directory
  • Configuration de IIS


Mise en clusters des serveurs Web

Pour augmenter la disponibilité et l’évolutivité de vos applications Commerce Server, vous pouvez mettre en clusters les serveurs Web en utilisant diverses solutions d’équilibrage de charge y compris des dispositifs d’équilibrage de charge matérielle ou l’équilibrage de charge réseau de Microsoft Windows 2000 (NLB, Network Load Balancing). Cette section traite de l’utilisation de l’équilibrage de charge réseau pour la mise en clusters des serveurs Web. Pour plus d’informations sur la mise en clusters, consultez Concepts de la mise en clusters.

Dans un cluster Web utilisant l’équilibrage de charge réseau, chaque membre possède généralement deux cartes réseau : une carte frontale pour gérer les demandes du client et une carte principale pour les communications internes (par exemple des opérations de cluster et l’accès aux bases de données). Tous les membres partagent une adresse IP de cluster, ou adresse IP virtuelle (VIP). Facultativement, chaque membre dispose d’une adresse IP dédiée (DIP).

La figure suivante illustre les adresses IP pour un exemple de configuration NLB.

Adresses IP pour un exemple de configuration NLB

Tous les membres d’un sous-réseau unique détectent simultanément toutes les demandes entrantes pour le VIP de cluster. L’équilibrage de charge réseau utilise un algorithme entièrement distribué pour déterminer le membre qui doit traiter la demande. Tous les autres membres ignoreront la demande.

L’équilibrage de charge réseau (NLB) détecte automatiquement les modifications survenant dans l’état d’un cluster (les membres mis hors ligne, en ligne ou supprimés) en transmettant un message d’échange NLB via les cartes frontales. Les modifications qui se produisent dans l’état d’un cluster provoquent des incohérences avec ces échanges de messages. Si ces incohérences durent au-delà d’un laps de temps configurable (une seconde par défaut), l’équilibrage de charge réseau lance un processus pour déterminer l’état en cours du cluster de façon qu’il puisse équilibrer la charge du cluster correctement. L’équilibrage de charge réseau redistribue automatiquement les demandes entre les membres actifs restants. Ce processus permet de s’assurer que seuls les membres actifs reçoivent des demandes.

Vous pouvez installer l’équilibrage de charge réseau en utilisant l’un des programmes suivants :

  • Microsoft® Application Center 2000
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Datacenter Server

Pour installer l’équilibrage de charge réseau

  1. Cliquez sur Démarrer, pointez sur Paramètres, puis cliquez sur Connexions réseau et accès à distance.
  2. Cliquez avec le bouton droit sur la Connexion au réseau local sur laquelle l’équilibrage de charge réseau doit être installé, puis cliquez sur Propriétés.
  3. Dans la boîte de dialogue Propriétés de la connexion réseau local, sous Les composants sélectionnés sont utilisés par cette connexion, activez la case à cocher Équilibrage de charge réseau, puis cliquez sur le bouton Propriétés.
  4. Dans la boîte de dialogue Propriétés Équilibrage de charge réseau, pour Adresse IP principale, entrez l’adresse IP de cluster ou l’adresse IP virtuelle (VIP). C’est l’adresse IP qui est partagée par tous les membres du cluster.
  5. Entrez le Masque de sous-réseau correspondant, puis cliquez sur OK.
  6. Pour terminer l’installation de l’équilibrage de charge réseau, cliquez sur OK.
  7. Répétez cette procédure sur chaque membre du cluster d’équilibrage de charge réseau.

Configuration de l’équilibrage de charge réseau

La procédure suivante décrit comment configurer l’équilibrage de charge réseau sur le niveau Web pour un déploiement type.

Pour configurer l’équilibrage de charge réseau sur le niveau Web

  1. Ouvrez les propriétés de la carte frontale (permettant de communiquer avec des clients sur Internet).
  2. Dans Propriétés Équilibrage de charge réseau, sous l’onglet Paramètres de cluster, tapez Adresse IP principale (l’adresse IP virtuelle partagée par tous les membres du cluster), Masque de sous-réseau et Nom Internet complet.
  3. Dans la boîte de dialogue Propriétés Équilibrage de charge réseau, sous l’onglet Paramètres de l’hôte, tapez Priorité (ID hôte unique), Adresse IP dédiée et Masque de sous réseau.
  4. Dans la boîte de dialogue Propriétés Équilibrage de charge réseau, sous l’onglet Règles du port, supprimez la règle du port par défaut 0 à 65535 en sélectionnant la règle de port, puis en cliquant sur Supprimer.
  5. Créez une règle de port pour HTTP en utilisant les informations du tableau suivant, puis cliquez sur Ajouter.
    Champ | Entrée
    Plage de port | 80 à 80
    Protocoles | Les deux
    Affinité | Aucune
  6. Créez une règle de port pour HTTPS en utilisant les informations du tableau suivant, puis cliquez sur Ajouter.
    Champ | Entrée
    Plage de port | 443 à 443
    Protocoles | Les deux
    Affinité | Simple
  7. Dans la boîte de dialogue Propriétés du protocole Internet (TCP/IP), cliquez sur Options avancées.
  8. Dans la boîte de dialogue Paramètres TCP/IP avancés, sous l’onglet Paramètres IP, dans la section Adresses IP, cliquez sur Ajouter, puis tapez l’adresse IP (l’adresse IP virtuelle partagée par tous les membres) et le masque de sous-réseau du cluster.
  9. Redémarrez le serveur.
  10. Répétez les étapes 1 à 9 pour chaque serveur Web en utilisant des adresses IP dédiées différentes. Pour chaque serveur Web suivant que vous ajoutez au cluster, incrémentez d’une unité la valeur Priorité (ID hôte unique).

Voir aussi

Connexion des serveurs Web


Jonction de serveurs Web à un domaine Active Directory

Si vous créez un domaine de service d’annuaire Microsoft Active Directory, veillez à ce que vos serveurs Web appartiennent au domaine avant d’installer Microsoft Commerce Server 2002. Pour plus d’informations sur Active Directory, consultez Définition des domaines.

Remarque

  • Vous devez être connecté en tant qu’administrateur à l’ordinateur local et posséder un nom d’utilisateur et un mot de passe valides pour joindre l’ordinateur à un domaine. Si vous ne savez pas quels nom d’utilisateur et mot de passe utiliser, contactez votre administrateur système.

Pour joindre un domaine

  1. Cliquez sur Démarrer, pointez sur Paramètres, cliquez sur Panneau de configuration, puis sur Système.
  2. Dans la boîte de dialogue Propriétés Système, sur l’onglet Identification réseau, cliquez sur Propriétés.
  3. Dans la boîte de dialogue Modifications de l’identification, dans la zone Membre de, sélectionnez Domaine, tapez le nom du domaine que vous voulez joindre, puis cliquez sur OK.

    Vous êtes invité à fournir un nom d’utilisateur et un mot de passe pour joindre l’ordinateur au domaine.

    Remarque

    • Si vous voulez que les noms longs soient reconnus par le domaine Active Directory, l’administrateur de domaine doit activer l’enregistrement des noms DNS (Domain Name System) de 16 octets ou plus.
  4. Pour fermer la boîte de dialogue Propriétés Système après avoir entré le nom d’utilisateur et le mot de passe, cliquez sur OK.

Vous êtes invité à redémarrer votre ordinateur pour appliquer les modifications effectuées.

Voir aussi

Définition des domaines


Configuration de IIS

Les services IIS (Internet Information Services) 5.0 sont installés par défaut sur Microsoft Windows 2000 Server et Microsoft Windows 2000 Advanced Server par défaut.

Pour assurer une sécurité supplémentaire à vos sites Web, vous devez créer un nouveau site Web IIS pour chaque site que vous prévoyez d’installer avec Commerce Server. Par défaut, Commerce Server installe votre site dans le site Web IIS par défaut. Quand vous utilisez le Gestionnaire de package de site Commerce Server pour décompresser votre site, vous pouvez spécifier qu’il réside dans le site Web IIS que vous avez créé plutôt que dans le site Web par défaut.

Pour créer un nouveau site Web IIS

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Outils d’administration, puis cliquez sur Gestionnaire des services Internet.
  2. Dans la boîte de dialogue Internet Information Services, cliquez avec le bouton droit sur le nom de l’ordinateur sur lequel vous voulez créer le nouveau site IIS, pointez sur Nouveau, puis cliquez sur Site Web.
  3. Dans la boîte de dialogue Assistant Création de site Web, cliquez sur Suivant.
  4. Dans la boîte de dialogue Description de site Web, dans la boîte Description, tapez un nom pour le nouveau site Web. Ce nom apparaît en tant que nom de site dans le Gestionnaire des services Internet. Cliquez sur Suivant.
  5. Dans la boîte de dialogue Adresse IP et port, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Entrez l’adresse IP à utiliser pour ce site Web | Taper ou sélectionner dans la liste déroulante l’adresse IP (Internet Protocol) de ce site Web. La valeur Toutes non attribuées de la liste déroulante renvoie aux adresses IP qui sont assignées à un ordinateur mais pas à un site spécifique. Le site Web par défaut utilise toutes les adresses IP qui ne sont pas attribuées à d’autres sites. Un seul site peut être configuré pour utiliser des adresses IP non attribuées.
    Port TCP à utiliser par ce site Web (par défaut : 80) | Taper l’adresse de port pour ce site Web.
    En-tête de l’hôte pour ce site (Par défaut : Aucun) | Attribuer le nom de l’en-tête de l’hôte pour ce site Web. Si vous ajoutez des sites supplémentaires à une adresse IP unique en utilisant des en-têtes d’hôte, vous devez attribuer un nom d’en-tête d’hôte.
  6. Cliquez sur Suivant.
  7. Dans la boîte de dialogue Répertoire de base du site Web, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Chemin | Taper l’emplacement dans votre système de fichiers Windows correspondant au répertoire racine de votre site.
    Autoriser les accès anonymes à ce site Web | Autoriser les utilisateurs distants à se connecter à ce site sans nom d’utilisateur ni mot de passe.
  8. Cliquez sur Suivant.
  9. Dans la boîte de dialogue Autorisations d’accès au site Web, spécifiez les autorisations que vous voulez attribuer aux utilisateurs qui accèdent au répertoire de base du site Web, spécifié dans les étapes précédentes, puis cliquez sur Suivant.
  10. Pour fermer l’Assistant, cliquez sur Terminer.

Remarques

  • Il est conseillé d’installer le service DNS (Domain Name System) sur un ordinateur de votre intranet. Si votre intranet est de petite taille, vous pouvez utiliser des fichiers Hosts ou Lmhosts sur tous les ordinateurs de votre réseau. DNS permet aux utilisateurs d’accéder à votre site avec des noms plutôt qu’avec des adresses IP.
  • Pour des motifs de sécurité, il est recommandé de formater tous les lecteurs utilisés avec IIS à l’aide de NTFS.

Voir aussi

Commerce Server et IIS


Configuration du niveau base de données

Vos serveurs de bases de données sont les ordinateurs que vous utilisez pour héberger vos bases de données Commerce Server et vos bases de données d’application, ainsi que la ressource Service de publipostage Commerce Server, si vous décidez de l’installer.

Pour séparer le niveau logique d’entreprise du niveau base de données, vos serveurs de bases de données ne doivent contenir aucune de vos applications ou aucun de vos outils d’administration. Le Service publipostage est un cas particulier ; vous pouvez l’installer sur votre serveur de base de données dans une configuration de site de petite taille.

Cette section décrit comment configurer le niveau base de données pour un déploiement type. Cette rubrique suppose que vous avez déjà installé la plate-forme de base, configuré le réseau et défini les deux domaines.

Cette section contient les rubriques suivantes :

  • Mise en clusters des serveurs SQL
  • Installation de SQL Server 2000
  • Installation des ressources Commerce Server 2002 en tant que ressources en clusters
  • Utilisation de la réplication SQL Server
  • Utilisation de l’envoi de journaux SQL Server

Voir aussi

Configuration d’une publication SQL pour répliquer un catalogue


Mise en clusters des serveurs SQL

Afin de garantir une haute disponibilité pour vos bases de données SQL Server, nous vous recommandons de les stocker sur des clusters de serveurs en utilisant le service de cluster. Les serveurs configurés en clusters à l’aide du service de cluster partagent des données communes et fonctionnent comme un seul et même système. Chaque serveur peut fonctionner de façon indépendante des autres serveurs du cluster. Si un serveur est défaillant, un autre serveur prend le relais et assure ses fonctions.

Chaque nœud possède ses propres mémoire, disque système, système d’exploitation et sous-ensemble des ressources du cluster. En cas de défaillance d’un nœud, un autre reprend la propriété des ressources du nœud ayant échoué. Le service de cluster enregistre alors l’adresse réseau de la ressource sur le nouveau nœud de façon que le trafic du client soit réacheminé vers le nouveau serveur. Lorsque le serveur défaillant est remis en ligne, le service de cluster peut être configuré pour redistribuer les ressources et les demandes du client.

Il existe diverses techniques de mise en clusters des serveurs, comme les disques partagés et en miroir, dont vous pouvez envisager l’utilisation, selon vos besoins et votre budget. Vous pouvez également configurer vos serveurs en actif/inactif, où chaque serveur exécute des applications tout en servant de serveur de secours pour l’autre serveur, ou en actif/passif, où un serveur exécute des applications pendant que l’autre sert de serveur de secours. Pour prendre la bonne décision, vous devez étudier le rôle des clusters de serveurs dans votre site. Le tableau suivant contient trois techniques que vous pouvez utiliser pour mettre les données du disque à disposition de plusieurs serveurs.

Technique | Description
Disque partagé | Bien qu’elle ne requiert plus un câblage et des commutateurs coûteux, la technique du disque partagé (dans laquelle plusieurs serveurs partagent le même disque) exige toujours des applications spécialement modifiées utilisant un logiciel appelé DLM (Distributed Lock Manager).
Disque miroir | Plus souple que la technique du disque partagé, la technique du disque miroir veut que chaque serveur possède ses propres disques et utilise un logiciel qui crée une « image-miroir » de chaque opération d’écriture d’un serveur pour la copie des données sur un autre serveur. Cette technique est très utile pour conserver les données sur un site de reprise après sinistre synchronisées avec un serveur principal.
Sans partage | Dans une configuration d’architecture sans partage, chaque serveur possède ses propres ressources disque. Si un serveur est défaillant, un cluster de type sans partage possède un logiciel lui permettant de transférer la propriété d’un disque d’un serveur à un autre. Cette technique offre le même niveau de disponibilité que des clusters à disque partagé, avec une évolutivité potentielle supérieure, car elle ne souffre pas du goulet d’étranglement inhérent à un système DLM.

Avant de créer des clusters de serveurs, vous devez les planifier avec soin. Les serveurs du cluster doivent être configurés avec des disques, des cartes réseau et des contrôleurs de disque compatibles. Pour plus d’informations sur ces configurations matérielles requises, consultez votre fournisseur de matériel. Pour plus d’informations sur la planification des clusters de serveurs, consultez le Guide de planification et de déploiement de Microsoft Windows 2000 Server. Après avoir développé un projet de cluster de serveurs, utilisez l’Assistant Configuration du service de cluster afin de créer et de configurer votre cluster de serveurs. Pour obtenir des informations normatives sur l’installation d’un service de cluster, consultez Guide d’installation détaillée du service de cluster sur Microsoft Windows 2000 Advanced Server et Datacenter Server.

Mettez la base de données SQL en clusters en utilisant la mise en clusters Windows. Pour un exemple détaillé, consultez « Commerce Server 2000 High Availability Reference Architecture: Compaq-Microsoft High Availability Reference Architecture Validation » disponible sur le site http://go.microsoft.com/fwlink/?LinkId=6687 (en anglais).

Pour plus d’informations sur l’installation du Service de publipostage et de Predictor sur un cluster, consultez Installation des ressources Commerce Server 2002 en tant que ressources en clusters.


Installation de SQL Server2000

Envoyer des commentaires sur cette page Commerce Server 2002

Installation de SQL Server 2000

Microsoft SQL Server 2000 fournit une interopérabilité améliorée avec le service de cluster Windows. Avant SQL Server 2000, la mise en clusters SQL utilisait trois DLL virtuelles de reliaison placées entre chaque composant serveur ou client SQL Server et les DLL du noyau correspondantes. Par rapport aux version précédentes, SQL Server 2000 apporte les améliorations suivantes :

  • La mise en clusters est plus facile à gérer. Elle est implémentée via l’utilisation de SQL Instancing, qui rend superflu le niveau de mappage virtuel ce qui permet de gérer directement les composants individuels dans l’environnement de cluster.
  • Tous les outils SQL Server sont compatibles avec le cluster, d’où un environnement sensiblement plus robuste. Les outils étant désormais intégrés, il n’est plus nécessaire de coordonner l’utilisation de plusieurs outils. Lorsque vous deviez utiliser précédemment plusieurs outils pour gérer un cluster, toute erreur d’utilisation ou tout manque de coordination dans l’utilisation des outils pouvait entraîner l’échec du cluster.
  • Les clusters peuvent contenir jusqu’à quatre nœuds (au lieu de deux comme dans les version précédentes).
  • Vous pouvez désormais effectuer des mises à niveau permanentes sur les nœuds d’un cluster du service de cluster Windows. Avant SQL Server 2000, il fallait mettre entièrement le cluster hors ligne pour la mise à niveau. Avec SQL Server 2000, il suffit de mettre un seul nœud hors ligne pour effectuer la mise à niveau, et laisser les autres nœuds en ligne.
  • La recherche en texte intégral prend en charge les clusters à présent.

Important

  • Le Data Warehouse de Commerce Server 2002 prend en charge la mise en clusters OLAP.

Remarque

  • Commerce Server ne prend pas en charge une configuration mixte Microsoft SQL Server 7.0 et SQL Server 2000 pour le Data Warehouse et les bases de données de serveur OLAP.

Pour installer SQL Server 2000 sur le niveau base de données, utilisez la procédure suivante sur chaque serveur dans le cluster SQL Server.

Pour installer SQL Server 2000 sur le niveau base de données

  1. Si les serveurs exécutant SQL Server partagent une unité de stockage externe (ou une unité de stockage partagée), connectez et configurez l’unité aux serveurs à l’aide de câbles SCSI (ou de l’équipement de connexion nécessaire). Pour plus d’informations concernant cette étape, consultez la documentation fournie avec votre matériel de stockage.
  2. Installez le service de cluster selon les instructions fournies dans Guide d’installation détaillée du service de cluster sur Microsoft Windows 2000 Advanced Server et Datacenter Server.
  3. Créez une nouvelle ressource de disque cluster pour MSDTC (Microsoft Distributed Transaction Coordinator).
  4. Configurez MSDTC pour qu’il s’exécute sur un cluster en appliquant la commande comclust.exe.
  5. Installez SQL Server 2000, en spécifiant les options appropriées pour votre déploiement.
  6. Désactivez Canaux nommés en utilisant Utilitaire réseau du client SQL Server.
  7. Installez SQL Server 2000 Service Pack 2.

Voir aussi

Mise en clusters des serveurs SQL


Installation des ressources Commerce Server2002 en tant que ressources en clusters

Envoyer des commentaires sur cette page Commerce Server 2002

Installation des ressources Commerce Server 2002 en tant que ressources en clusters

Vous pouvez installer la ressource pour le Service de publipostage de Commerce Server 2002 en tant que ressource en clusters à haute disponibilité afin de tirer parti de Microsoft Cluster Server (MSCS). L’installation des ressources Commerce Server sur un serveur de clusters MSCS assure la prise en charge de la haute disponibilité. Par exemple, lors du basculement du système d’exploitation, vous pouvez configurer la ressourcepour qu’elles basculent sur un autre nœud de la configuration de cluster.

Cette section contient la configuration requise et les procédures d’installation pour installer les ressources Microsoft Commerce Server 2002 en tant que ressources en clusters.

Remarque

  • Commerce Server 2002 n’autorise pas la distribution électronique automatisée des logiciels ni une installation silencieuse pour les ressources en clusters.

Configuration requise

Avant d’installer la ressource pour le Service de publipostage en tant que ressource en clusters, notez ce qui suit :

  • Microsoft Windows 2000 Advanced Server ou Microsoft Windows 2000 Datacenter Server est requis.

    Remarque

    • Les clusters Advanced Server peuvent contenir jusqu’à deux nœuds de cluster et les clusters Datacenter Server peuvent contenir jusqu’à quatre nœuds de cluster.
  • Installez et configurez le service de cluster Microsoft pour les nœuds sur lesquels les ressources Commerce Server 2002 seront installées. Pour plus d’informations sur l’installation de nœuds de cluster, consultez « Installation et mise à niveau de nœuds de cluster » dans l’aide de Windows 2000.
  • Affectez une ressource de disque cluster, ainsi qu’une adresse IP unique et un nom de réseau à chaque ressource qui sera installée. Vous devez choisir une adresse IP et un nom réseau qui ne se trouvent pas déjà sur le segment réseau.
  • Pointez les nœuds de cluster vers le serveur exécutant SQL Server.

Pour installer la ressource pour le Service de publipostage en tant que ressourceen clusters

Remarques

  • Chaque groupe de serveurs virtuels représente un service.
  • Si un zéro (0) non significatif est entré lors de l’installation sur un cluster Service de publipostage, le service concerné ne démarrera pas. Pour plus d’informations, consultez dans la Base de connaissances l’article « Ping and FTP Resolve IP Address with Leading Zero as Octal » à l’adresse http://go.microsoft.com/fwlink/?linkid=5593. (en anglais)
  1. Après que vous avez installé Commerce Server, si un serveur de clusters MSCS existe, la boîte de dialogue Groupe de ressources de serveur virtuel apparaît. Dans la boîte de dialogue Groupe de ressources de serveur virtuel du Service de publipostage, cliquez sur Oui pour créer un groupe de ressources de serveur virtuel, puis effectuez les opérations suivantes :
    Remarque
    • Si la ressource Service de publipostage est déjà installée sur un nœud du cluster, les champs de la boîte de dialogue apparaîtront estompés et le programme d’installation ajoutera le nœud en tant que « propriétaire possible » à chaque ressource du groupe Service de publipostage.
    Utilisez ceci | Pour faire cela
    Adresse IP | Taper l’adresse IP (Internet Protocol) du Service de publipostage.
    Masque réseau Taper l’adresse du masque réseau correspondant au Service de publipostage.

    L’adresse du masque réseau doit correspondre au masque réseau utilisé par la ressource IP du groupe de clusters. Pour plus d’informations sur le masque réseau, consultez la rubrique « TCP/IP » dans l’aide de Windows 2000.
    Nom du réseau | Taper le nom du réseau de ce groupe de ressources.
  2. Cliquez sur Suivant.

    Le groupe de clusters Commerce DirectMailer est créé sur le cluster. Les adresses IP virtuelles et les noms réseau sont inscrits dans l’ordinateur DNS (Domain Name System) configuré par la carte d’interface réseau (NIC, Network Interface Card). les adresses IP virtuelles sont affectées à la carte d’interface réseau spécifiée.

    Remarque
    • Une fois que vous avez mis les ressources en clusters, vous pouvez les déplacer vers un autre groupe de ressources au terme de l’installation.
  3. Pour lancer le processus d’installation, cliquez sur Installer.
  4. Pour quitter le programme d’installation, cliquez sur Terminer.

    La fenêtre PuP Packages s’ouvre en affichant le site solution vide.

Il est recommandé de redémarrer l’ordinateur après avoir installé Commerce Server 2002.


Utilisation de la réplication SQL Server

Vous pouvez utiliser la réplication SQL Server pour synchroniser les serveurs de bases de données de votre installation. Les options de réplication SQL Server incluent la réplication de capture instantanée et la réplication transactionnelle. Vous devez songer à utiliser la réplication SQL Server pour effectuer des mises à jour en mode batch si votre logique d’application est compatible avec la nature de l’accès à la base de données.

Par exemple, vous pouvez mettre à jour le système de catalogue de produits de Commerce Server principalement en mode batch, et définir tout l’accès client en lecture seule. Un autre exemple est la création et la modification de l’objet OrderForm certaines fois à partir de composants canaux connus. Les objets OrderForm sont fréquemment lus à partir d’autres composants canaux dans le site pendant la vérification, pour des opérations comme les calculs de taxe et d’expédition. Dans les deux exemples, vous pouvez envisager avoir un petit nombre de banques mises à jour avec des lectures dirigées vers une banque de serveurs en lecture seule.

Vous devez également penser à utiliser une réplication SQL Server pour que les serveurs distribués géographiquement restent synchronisés.

La figure suivante illustre comment vous pouvez mettre en clusters des serveurs SQL Server au niveau base de données.

Cluster SQL Server

Si vous placez l’équilibrage des charges du réseau devant un groupe de serveurs en lecture seule exécutant SQL Server, vous pouvez utiliser le même nom de serveur pour l’ensemble du cluster. L’avantage de cette approche est que vous pouvez ensuite retirer du service n’importe quel serveur du cluster avec un impact minimal sur les utilisateurs. Vous pouvez également activer la réplication à partir de l’environnement OLTP (Online Transaction Processing) pour le cluster. Utilisez la réplication transactionnelle si vous avez besoin d’une cohérence transactionnelle plus grande afin de réduire le temps d’attente entre le serveur OLTP et les serveurs en lecture seule à charge équilibrée.

Songez à ce qui suit pour les installations de clusters d’interrogation à équilibrage de charge réseau :

  • Avec toute installation d’équilibrage de charge réseau, il existe au moins deux adresses IP dédiées (une par serveur) et une adresse IP virtuelle. Pour que la réplication entre l’environnement OLTP et le cluster fonctionne correctement, la réplication doit toujours être effectuée directement vers les adresses IP dédiées (ou des noms de serveurs individuels) et jamais directement vers l’adresse IP virtuelle ni le nom du cluster.

    Dans la mesure où vous pouvez utiliser l’équilibrage de charge réseau pour équilibrer la charge du cluster, la réplication directe vers l’adresse IP virtuelle (ou nom de cluster) provoquerait une incohérence transactionnelle entre les serveurs du cluster.

  • Vous pouvez utiliser la métaphore « push » ou « pull » pour cette configuration, mais la méthode conseillée consiste à pousser toute la réplication vers les serveurs du cluster. L’utilisation de la métaphore « push » permet de gérer les travaux de distribution de façon centralisée et d’offrir le moyen de vous alerter si l’un des serveurs du cluster ne répond plus. (La tâche de réplication échoue pour le serveur qui ne répond plus.)
  • Dans la mesure où la réplication se produit entre l’environnement OLTP et le cluster, vous ne pouvez pas configurer de bases de données sur des serveurs dans le cluster pour des opérations de lecture/écriture. De ce fait, vous devez utiliser des autorisations de connexion pour maintenir la sécurité en lecture seule. Toutes les connexions du client aux serveurs doivent s’effectuer via l’adresse IP virtuelle et avoir des autorisations en lecture seule. Il est également nécessaire de s’assurer que tous les serveurs du cluster en lecture seule incluent le même sous-ensemble de connexions.

Si vous souhaitez appliquer un cliché de capture aux abonnés du cluster, la méthode conseillée est de déconnecter les serveurs individuellement du cluster, d’appliquer le cliché de capture puis de reconnecter chaque serveur au cluster. Cette approche permet une disponibilité maximale et assure la cohérence transactionnelle entre les serveurs du cluster.

Voir aussi

Réplication du contenu de catalogues


Utilisation de l'envoi de journaux SQL Server

Envoyer des commentaires sur cette page Commerce Server 2002

Utilisation de l’envoi de journaux SQL Server

Si un seul serveur de production fournit à la fois l’accès en lecture et en écriture aux données, vous devez consigner toutes les transactions. Vous pouvez utiliser la fonction d’envoi de journaux de SQL Server pour transférer les fichiers vers un serveur de non production qui est constamment mis à jour avec les fichiers journaux des transactions. Cette option, peu coûteuse et facile à gérer, offre une stratégie de disponibilité dans des environnements où il existe une certaine tolérance des pannes.

Vous pouvez utiliser cette méthode en combinaison avec d’autres stratégies décrites dans cette section pour une reprise après un sinistre lorsque la disponibilité est particulièrement critique. Vous pouvez également utiliser des sauvegardes automatiques pour maintenir une synchronisation raisonnable entre des centres de données dispersés géographiquement. En fait, il s’agit là d’une méthode bon marché pour maintenir la base de données synchronisée dans un centre de données séparé en cas de reprise après un sinistre du site.

La combinaison de l’équilibrage de charge réseau avec la fonction d’envoi de journaux SQL Server est une excellente solution pour le basculement automatique. Dans ce scénario, vous pouvez utiliser l’équilibrage de charge réseau pour fournir la même adresse IP à au moins deux serveurs. Il est ainsi plus facile de basculer vers le deuxième ordinateur exécutant SQL Server en cas de défaillance de l’ordinateur principal exécutant SQL Server. Vous dirigez les applications clientes via le cluster d’équilibrage de charge réseau vers l’un des ordinateurs exécutant SQL Server. En cas de défaillance ou d’arrêt programmé, vous pouvez utiliser l’équilibrage de charge réseau pour transférer l’accès vers un autre ordinateur exécutant SQL Server dans le cluster. La fonction d’envoi de journaux synchronise les serveurs, selon la fréquence d’envoi du journal.

Cette section contient les rubriques suivantes :

Logique de code de recherche

Considérations relatives à l’équilibrage de charge réseau et à l’envoi de journaux

Logique de code de recherche

Cette section contient des exemples de logique de recherche pour une protection contre la perte de la connectivité de base de données :

  • Un niveau de recherche
    If (getAuth == error)
   Sleep 1 second
   GetAuth again
Response.write ("Sorry, logins are disabled. Please e-mail questions to mailto:helpdesk.")
  • Deux niveaux de recherche
    If (getcatalog == error)
   Sleep 1 second
   Getcatalog again
   If (failed again)
      Response.write ("I am retrying your query; please wait.")
      Sleep 10
      Getcatalog again
Response.write ("Sorry, our catalog is temporarily unavailable. Please e-mail questions to mailto:helpdesk.")

Considérations relatives à l’équilibrage de charge réseau et à l’envoi de journaux

Dans Microsoft SQL Server 2000 Enterprise Edition, vous pouvez utiliser la fonction d’envoi des journaux pour transférer régulièrement les journaux des transactions d’une base de données vers une autre. La sauvegarde continue des journaux des transactions à partir d’une base de données source puis la copie et la restauration des journaux sur une base de données de destination permettent de conserver la base de données de destination synchronisée avec la base de données source.

Lorsque vous configurez l’équilibrage de charge réseau et l’envoi des journaux, tenez compte des éléments suivants :

  • Pour configurer un envoi de journaux dans un cluster d’équilibrage de charge réseau, les serveurs exécutant SQL Server doivent communiquer via un réseau privé qui est isolé du réseau d’équilibrage de charge réseau. Pour créer le réseau privé, vous devez installer une deuxième carte d’interface réseau dans les deux serveurs exécutant SQL Server.
  • Vous devez configurer l’envoi de journaux à l’aide d’une adresse IP permanente au lieu d’utiliser des noms de serveur UNC (Universal Naming Convention), ou effectuer l’une des opérations suivantes :
    • Créez un fichier Lmhosts pour convertir les adresses IP en un nom de serveur UNC. Un fichier Lmhosts est un fichier texte local qui mappe des adresses IP vers des noms d’ordinateurs réseau basés sur Windows 2000 en dehors du sous-réseau local. Pour plus d’informations, consultez la documentation relative à Microsoft Windows 2000.
    • Inscrivez les adresses IP dans WINS (Windows Internet Name Service) pour résoudre le nom UNC, si un serveur WINS existe sur le réseau privé.
  • Lorsque vous configurez les serveurs exécutant SQL Server dans le cluster d’équilibrage de charge réseau, l’ordinateur principal exécutant SQL Server est connecté au cluster. Vous devez alors déconnecter du cluster l’ordinateur secondaire exécutant la fonction d’envoi de journaux SQL Server. Les serveurs restent synchronisés car le serveur principal « envoie des journaux » des données au serveur secondaire.
  • Si vous n’isolez pas les communications entre les serveurs exécutant SQL Server, l’équilibrage de charge réseau tente de communiquer directement avec l’adresse IP sur la seconde carte réseau, provoquant un trafic en boucle et d’autres problèmes.

En cas de défaillance de l’ordinateur principal exécutant SQL Server, l’équilibrage de charge réseau peut basculer automatiquement vers le serveur secondaire. Selon la fréquence d’envoi de journaux, cependant, la méthode conseillée est de prendre la décision de basculer manuellement sur le serveur secondaire. Par exemple, si vous avez configuré la fonction d’envoi de journaux pour qu’elle s’exécute toutes les cinq minutes, le serveur secondaire pourrait avoir jusqu’à cinq minutes de décalage (à supposer que tous les processus fonctionnent correctement). Le basculement manuel du système, qui permet de vérifier si le dernier journal des transactions peut être appliqué de façon qu’une plus grande quantité de données puisse être enregistrée, est préférable au basculement automatique qui peut faire perdre jusqu’à cinq minutes de données.

Vous installez les procédures stockées pour faciliter le basculement lors de l’installation de la fonction d’envoi de journaux SQL Server. Pour plus d’informations sur l’envoi de journaux, consultez la documentation en ligne de SQL Server.


Installation de Commerce Server2002

Envoyer des commentaires sur cette page Commerce Server 2002

Installation de Commerce Server 2002

Cette section explique comment installer Microsoft Commerce Server 2002 sur le cluster Web et le cluster Business Desk.

Cette section contient les rubriques suivantes :

  • Installation de Commerce Server 2002 sur le cluster Business Desk
  • Installation de Commerce Server 2002 sur le cluster Web


Installation de Commerce Server2002 sur le cluster Business Desk

Envoyer des commentaires sur cette page Commerce Server 2002

Installation de Commerce Server 2002 sur le cluster Business Desk

Pour installer Microsoft Commerce Server 2002 sur le cluster Business Desk, suivez la procédure ci-dessous.

Pour installer Commerce Server 2002 sur le cluster Business Desk

  1. Insérez le CD de Commerce Server 2002 dans le lecteur correspondant.
  2. Exécutez Microsoft Commerce Server 2002.msi.

    Le menu d’exécution automatique de Commerce Server 2002 apparaît.

  3. Cliquez sur Composants Commerce Server 2002.
  4. Cliquez sur OK dans la boîte de dialogue Programme d’installation de Commerce Server qui vous indique d’installer les correctifs Windows 2000 diffusés après Windows 2000 Service Pack 2.
  5. Cliquez sur Non dans la boîte de dialogue Programme d’installation de Commerce Server qui vous demande si vous voulez installer .NET Framework.

    L’Assistant Installation de Microsoft Commerce Server 2002 démarre.

  6. Dans l’écran Assistant Installation de Microsoft Commerce Server 2002, cliquez sur Suivant.
  7. Dans l’écran Licence UC, sélectionnez J’ai acheté des licences, puis cliquez sur Suivant.
  8. Dans l’écran Configuration requise, cliquez sur Suivant.
  9. Dans l’écran Contrat de licence, lisez le contrat de licence, sélectionnez J’accepte les termes du contrat de licence, puis cliquez sur Suivant.
  10. Dans l’écran Informations client, entrez les éléments suivants Nom d’utilisateur, Organisation et Clé du produit, puis cliquez sur Suivant.
  11. Dans l’écran Dossier de destination, cliquez sur Modifier pour choisir un autre dossier d’installation. Ou cliquez sur Suivant pour accepter le dossier d’installation par défaut.
  12. Dans l’écran Type d’installation, sélectionnez Personnalisée, puis cliquez sur Suivant.
  13. Dans l’écran Installation personnalisée, développez Partie principale de Commerce Server puis Objets d’exécution.
  14. Vérifiez que les cases à cocher Analyse et Data Warehouse, Service Predictor et Service publipostage sont désactivées, puis cliquez sur Suivant.
  15. Dans l’écran Configuration de la base de données d’administration, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Ordinateur SQL Server | Taper le nom de cluster du cluster de serveurs de bases de données. Utilisez le nom de cluster référencé par SQL Server et non celui référencé par le service de cluster.
    Utiliser la sécurité intégrée de Windows Faire en sorte que les comptes d’utilisateur Windows s’authentifient auprès de la base de données du serveur SQL Server. Pour cela, activez cette option.

    Lorsque vous utilisez la sécurité intégrée de Windows, les noms d’utilisateur et les mots de passe ne sont pas stockés dans la chaîne de connexion SQL Server et ne sont pas affectés par la réinitialisation des mots de passe SQL. Pour plus d’informations sur la sécurité de Commerce Server, consultez Sécurisation de votre site.
    Utiliser un nom d’utilisateur et un mot de passe spécifiques | Utiliser l’authentification SQL Server lors de la connexion à la base de données d’administration. Pour cela, activez cette option.
    Nom d’utilisateur SQL Server | Taper le nom d’utilisateur SQL Server qui sera utilisé pour accéder à la base de données d’administration. Pour éviter les erreurs OLAP, vous devez éviter d’utiliser des caractères spéciaux (tels que #, @, % et ’).
    Mot de passe de connexion SQL Server | Taper le mot de passe pour la connexion SQL Server. Pour éviter les erreurs OLAP, vous devez éviter d’utiliser des caractères spéciaux (tels que #, @, % et ’).
  16. Cliquez sur Suivant.
  17. Si une boîte de dialogue s’ouvre, vous informant qu’une nouvelle base de données d’administration sera créée, cliquez sur OK.
  18. Dans l’écran Comptes de services, sélectionnez l’option Utiliser le même compte pour chaque service et les configurer tous pour démarrer automatiquement. Dans la section Paramètres du service, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom d’utilisateur | Taper le nom d’utilisateur Windows du compte sous lequel les services Commerce Server s’exécuteront sur cet ordinateur.
    Mot de passe | Taper le mot de passe du compte Windows.
    Domaine | Taper le domaine du compte Windows.
  19. Cliquez sur Suivant.
  20. Dans l’écran Prêt pour l’installation, cliquez sur Installer.

    Le processus d’installation démarre.

  21. Dans l’écran Fin de l’Assistant Installation de Microsoft Commerce Server 2002, cliquez sur Terminer.
  22. Redémarrez le serveur.
  23. Répétez les étapes 1 à 22 sur le deuxième serveur exécutant Business Desk.

L’installation de Commerce Server 2002 est terminée sur le cluster Business Desk après le redémarrage des deux serveurs.


Installation de Commerce Server2002 sur le cluster Web

Envoyer des commentaires sur cette page Commerce Server 2002

Installation de Commerce Server 2002 sur le cluster Web

Pour installer Commerce Server 2002 sur le cluster Web, suivez la procédure ci-dessous.

Pour installer Commerce Server 2002 sur le cluster Web

  1. Insérez le CD de Commerce Server 2002 dans le lecteur correspondant.
  2. Exécutez Microsoft Commerce Server 2002.msi.

    Le menu d’exécution automatique de Commerce Server 2002 apparaît.

  3. Cliquez sur Composants Commerce Server 2002.
  4. Cliquez sur OK dans la boîte de dialogue Programme d’installation de Commerce Server qui vous indique d’installer les correctifs Windows 2000 diffusés après Microsoft Windows 2000 Service Pack 2.
  5. Cliquez sur Non dans la boîte de dialogue Programme d’installation de Commerce Server qui vous demande si vous voulez installer .NET Framework.

    L’Asssistant Installation de Microsoft Commerce Server 2002 démarre.

  6. Dans l’écran Asssistant Installation de Microsoft Commerce Server 2002, cliquez sur Suivant.
  7. Dans l’écran Licence UC, sélectionnez J’ai acheté des licences, puis cliquez sur Suivant.
  8. Dans l’écran Configuration requise, cliquez sur Suivant.
  9. Dans l’écran Contrat de licence, lisez le contrat de licence, sélectionnez J’accepte les termes du contrat de licence, puis cliquez sur Suivant.
  10. Dans l’écran Informations client, entrez les éléments suivants Nom d’utilisateur, Organisation et Clé du produit, puis cliquez sur Suivant.
  11. Dans l’écran Dossier de destination, cliquez sur Modifier pour choisir un autre dossier d’installation. Autrement, cliquez sur Suivant pour accepter le dossier d’installation par défaut.
  12. Dans l’écran Type d’installation, sélectionnez Serveur Web, puis cliquez sur Suivant.
  13. Dans l’écran Configuration de la base de données d’administration, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Ordinateur SQL Server | Taper le nom de cluster du cluster de serveurs de bases de données. Utilisez le nom de cluster référencé par SQL Server et non celui référencé par le service de cluster.
    Utiliser la sécurité intégrée de Windows Faire en sorte que les comptes d’utilisateur Windows s’authentifient auprès de la base de données du serveur SQL Server. Pour cela, activez cette option.

    Lorsque vous utilisez la sécurité intégrée de Windows, les noms d’utilisateur et les mots de passe ne sont pas stockés dans la chaîne de connexion SQL Server et ne sont pas affectés par la réinitialisation des mots de passe SQL. Pour plus d’informations sur la sécurité de Commerce Server, consultez Sécurisation de votre site.
    Utiliser un nom d’utilisateur et un mot de passe spécifiques | Utiliser l’authentification SQL Server lors de la connexion à la base de données d’administration. Pour cela, activez cette option.
    Nom d’utilisateur SQL Server | Taper le nom d’utilisateur SQL Server qui sera utilisé pour accéder à la base de données d’administration. Pour éviter les erreurs OLAP, vous devez éviter d’utiliser des caractères spéciaux (tels que #, @, % et ’).
    Mot de passe de connexion SQL Server | Taper le mot de passe pour la connexion SQL Server. Pour éviter les erreurs OLAP, vous devez éviter d’utiliser des caractères spéciaux (tels que #, @, % et ’).
  14. Cliquez sur Suivant.
  15. Si une boîte de dialogue s’ouvre, vous informant qu’une nouvelle base de données d’administration sera créée, cliquez sur OK.
  16. Dans l’écran Comptes de services, activez la case à cocher Utiliser le même compte pour chaque service et les configurer tous pour démarrer automatiquement. Dans la section Paramètres du service, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom d’utilisateur | Taper le nom d’utilisateur Windows du compte sous lequel les services Commerce Server s’exécuteront sur cet ordinateur.
    Mot de passe | Taper le mot de passe du compte Windows.
    Domaine | Taper le domaine du compte Windows.
  17. Cliquez sur Suivant.
  18. Dans l’écran Prêt pour l’installation, cliquez sur Installer.

    Le processus d’installation démarre.

  19. Dans l’écran Fin de l’Assistant Installation de Microsoft Commerce Server 2002, cliquez sur Terminer.
  20. Redémarrez le serveur.
  21. Répétez les étapes 1 à 20 sur chaque serveur du cluster Web.

L’installation de Commerce Server 2002 est terminée sur le cluster Web après le redémarrage de chaque serveur.


Décompression d'un site

Envoyer des commentaires sur cette page Commerce Server 2002

Décompression d’un site

Suivez la procédure ci-dessous sur chaque serveur pour décompresser votre site.

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Microsoft Commerce Server 2002, puis cliquez sur Gestionnaire Commerce Server.
  2. Développez Gestionnaire Commerce Server, puis cliquez sur Sites de commerce.
  3. Cliquez avec le bouton droit sur Sites de commerce, pointez sur Nouveau, puis cliquez sur Décompresser un site.
  4. Dans la boîte de dialogue Décompresser un site à partir de, naviguez vers le dossier contenant le fichier à décompresser, sélectionnez-le, puis cliquez sur Ouvrir.

    Le Gestionnaire de package de site Commerce Server est démarré.

  5. Dans la boîte de dialogue Décompresser, sélectionnez Décompression rapide, puis cliquez sur Suivant.
  6. Dans la boîte de dialogue Décompression rapide, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom du site Taper le nom du site, si vous voulez le modifier. Ne pas utiliser de caractères spéciaux (tels que #, @, % et ’) qui risquent de ne pas être reconnus par les bases de données SQL Server. Pour plus d’informations, consultez la documentation en ligne de SQL.

    N’affectez pas le nom « Commerce » à votre site. Il s’agit d’un nom de base de données OLAP réservé. Si vous affectez le nom « Commerce » à votre site, cela risque d’entraîner l’écrasement de votre base de données OLAP la prochaine fois que vous décompresserez un site.

    Le nom du site ne peut pas dépasser 127 caractères.
    Site Web IIS Sélectionner le nom du site Web IIS sur lequel les applications seront installées.

    Remarque

    • Si vous décompressez un site sur le site Web administratif IIS, ce site et Business Desk ne fonctionneront pas en raison des limites de sécurité de l’administration IIS.
    Ordinateur SQL Server | Taper le nom de l’ordinateur exécutant SQL Server qui contiendra les bases de données pour le site.
    Utiliser la sécurité intégrée de Windows Utiliser l’authentification intégrée de Windows.

    Lorsque vous utilisez la sécurité intégrée de Windows, les noms d’utilisateur et les mots de passe ne sont pas stockés dans la chaîne de connexion SQL Server et ne sont pas affectés par la réinitialisation des mots de passe SQL. Pour plus d’informations sur la sécurité de Commerce Server, consultez Sécurisation de votre site.
    Utiliser un nom d’utilisateur et un mot de passe spécifiques | Utiliser l’authentification de SQL Server lors de la connexion aux bases de données.
    Nom d’utilisateur SQL Server Taper le nom de connexion SQL Server pour les bases de données.

    Remarque

    • Pour des raisons de sécurité, ne pas utiliser la connexion d’accès sa pour accéder aux bases de données. Pour modifier les informations de connexion pour la base de données d’administration après sa création, utiliser SQL Server Enterprise Manager.
    Mot de passe de connexion SQL Server | Taper le mot de passe de connexion SQL Server pour les bases de données.
  7. Cliquez sur Suivant.
  8. Si la ressource Data Warehouse a été installée lors du processus d’installation, la boîte de dialogue Data Warehouse s’affiche. Pour spécifier les paramètres de la ressource Data Warehouse, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper un nom pour votre ressource globale Data Warehouse.
    Serveur | Taper le nom de l’ordinateur SQL Analysis (OLAP).
    Base de données | Taper le nom de la base de données Analysis à utiliser.
  9. Cliquez sur OK.
  10. Si la ressource Profils a été installée durant le processus d’installation, la première des deux boîtes de dialogue Système de profil s’affiche. Pour spécifier les paramètres de la ressource Profils, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Définition de schéma de profil | Spécifier la définition de schéma de profil à importer.
    Définition des entrées du glossaire du site | Spécifier la définition des entrées du glossaire du site à importer.
    Définition d’expression | Spécifier la définition d’expression à importer.
  11. Cliquez sur Suivant.
  12. Si la ressource Profils a été installée durant le processus d’installation, la deuxième des deux boîtes de dialogue Système de profil s’affiche. Pour spécifier les paramètres de la ressource Profils, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Chaîne de connexion du système de profil | Spécifier les fichiers à importer dans la banque de données OLEDB. Cliquer sur Modifier pour spécifier une autre base de données.
    Scripts de définition de schéma (*.sql, *.vbs) Spécifier les scripts de définition de schéma à importer.

    Le Gestionnaire de package de site utilise un script de définition de schéma par défaut. Si vous modifiez la table UserObject ou d’autres définitions de schéma de profil, vous devez utiliser SQL Server Enterprise Manager pour générer un script à utiliser ici. Pour plus d’informations, consultez Compression de schéma de profil étendu.
    Scripts de remplissage des données (*.sql) | Spécifier les scripts de remplissage des données à importer.
  13. Cliquez sur OK.
    Remarque
    • Si vous utilisez la sécurité intégrée de Windows, dans la boîte de dialogue Gestionnaire de package de site Commerce Server, passez en revue la liste des ressources qui sont décompressées et qui nécessitent des autorisations d’accès sur les comptes Windows appropriés.
  14. Dans la boîte de dialogue Décompression terminée, consultez la liste des bases de données SQL et applications IIS qui ont été créées. Pour consulter la liste des événements contenus dans le fichier journal du Gestionnaire de package de site, cliquez sur Afficher le fichier journal.
  15. Pour fermer le Gestionnaire de package de site, cliquez sur Terminer.

Le processus de décompression de votre site est terminé. Pour obtenir des instructions concernant l’accès à Commerce Server Business Desk pour ce site, consultez Installation du client Business Desk.


Installation du client Business Desk

Avant d’installer le client Commerce Server Business Desk, vous devez installer les logiciels suivants sur l’ordinateur client :

  • 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 Professionnel, Microsoft Windows 2000 Server ou Microsoft Windows 2000 Advanced Server avec le Service Pack 1 ou ultérieur.
  • Microsoft Internet Explorer 5.5 Service Pack 2 ou supérieur. Vous devez installer Internet Explorer 5.5 Service Pack 2 ou ultérieur pour accéder à l’application Business Desk, même si l’application et le client se trouvent sur le même ordinateur.
  • Microsoft Office XP Web Components. Pour que les utilisateurs de Business Desk puissent utiliser les Analysis Services via HTTPS, votre installation Commerce Server doit utiliser Microsoft SQL Server 2000 Enterprise Edition. Vous ne pouvez pas vous connecter à Microsoft SQL Server 2000 Standard Edition avec la connectivité HTTP.

    Microsoft Office XP Web Components incluent les services de tableau croisé qui sont requis pour exécuter les rapports dynamiques dans Analyse. L’installation de Microsoft Office XP, Microsoft Excel XP, Access XP ou Microsoft FrontPage XP installe automatiquement Microsoft Office XP Web Components.

  • Pour plus d’informations sur l’activation d’un utilisateur Business Desk pour exécuter des rapports dynamiques via HTTPS, consultez Accès au serveur d’analyse via HTTPS.

Installez le client Business Desk sur tout ordinateur à partir duquel vous voulez accéder à Business Desk. Utilisez la procédure suivante pour installer le client Business Desk.

Pour installer le client Business Desk

  1. Cliquez sur Démarrer, pointez sur Programmes, puis cliquez sur Internet Explorer.
  2. Dans la zone Adresse, tapez l’adresse URL correspondant à votre installation de Business Desk (par exemple, http://<nom_ordinateur>/<nom_du_site>Bizdesk) et appuyez sur Entrée.
  3. Dans la boîte de dialogue Rechercher un dossier, acceptez le dossier par défaut, ou sélectionnez un autre dossier pour stocker le fichier HTA (HTML Application), puis cliquez sur OK.

    Le programme d’installation du client Business Desk démarre. Ce programme requiert des contrôles Microsoft ActiveX. Si ces contrôles ne sont pas installés, suivez les instructions en ligne pour les installer.

  4. Une fois l’installation de Business Desk effectuée, fermez Internet Explorer. L’icône correspondant à Business Desk s’affiche à présent sous la forme d’un raccourci sur votre Bureau, ainsi que dans le menu Démarrer.
  5. Pour démarrer Business Desk, double-cliquez sur l’icône Business Desk sur votre Bureau, ou cliquez sur le menu Démarrer, puis sur le raccourci Business Desk.


Installation de la fonctionnalité d'analyse commerciale autonome

Envoyer des commentaires sur cette page Commerce Server 2002

Installation de la fonctionnalité d’analyse commerciale autonome

Vous pouvez installer la fonctionnalité d’analyse commerciale de Commerce Server 2002 comme une fonctionnalité autonome. Vous allez utiliser la Configuration du Data Warehouse (Data Warehouse Configurator, DWC) pour configurer l’installation distribuée du Data Warehouse ainsi que les applications et les serveurs Web non-Commerce Server. Le but de l’ajout d’une application et d’un serveur Web non-Commerce Server est de mettre les fichiers journaux de serveur Web à disposition pour permettre leur importation dans le Data Warehouse.

Les procédures ci-après expliquent comment installer Commerce Server sur un seul ordinateur à l’aide de l’option d’installation Analyse commerciale. Pour commencer, vous devez fermer toutes les autres applications ouvertes.

Remarques

  • Décompressez le site solution vide pour le Data Warehouse et modules Analyse de Commerce Server Business Desk.
  • Vous pouvez installer Commerce Server sur un seul site avec l’option Analyse commerciale. Cette option n’est pas disponible pour une installation sur un autre site.
  • Si vous installez Commerce Server 2002 sur un ordinateur sur lequel Commerce Server 2000 Service Pack 1 a été installé, le dossier <lettre du lecteur>:\<racine_commerce_server>\sp1 contient les fichiers du Service Pack 1 qui peuvent être supprimés en toute sécurité.

Cette section contient les rubriques suivantes :

  • Installation de Commerce Server avec l’option Analyse commerciale
  • Configuration de l’installation distribuée du Data Warehouse


Installation de Commerce Server avec l'option Analyse commerciale

Envoyer des commentaires sur cette page Commerce Server 2002

Installation de Commerce Server avec l’option Analyse commerciale

Une fois la configuration du Data Warehouse terminée, toute modification ultérieure doit être apportée manuellement à l’aide du Gestionnaire Commerce Server ou du Gestionnaire de package de site Commerce Server.

Pour installer Commerce Server à l’aide de l’option d’analyse commerciale

Remarques

  • N’utilisez pas le nom d’ordinateur « localhost » dans l’URL, ni quand vous êtes invité à fournir le nom du serveur SQL.
  • Si vous souhaitez installer la fonctionnalité d’analyse commerciale sur un ordinateur distant, les services IIS (Internet Information Services) 5.0 doivent être installés sur votre ordinateur local.
  1. Insérez le CD-ROM Commerce Server 2002 dans le lecteur approprié. Le programme d’installation de Commerce Server 2002 démarre.

    Si le fabricant OEM (Original Equipment Manufacturer) a préinstallé Commerce Server sur votre ordinateur, naviguez jusqu’au dossier Microsoft Commerce Server 2002 et double-cliquez sur Setup.exe pour démarrer le programme d’installation de Commerce Server 2002.

  2. Cliquez sur le lien Installation de Commerce Server, puis suivez les invites en ligne.
  3. Dans l’écran Informations client, tapez la Clé du produit de 25 caractères, puis cliquez sur Suivant.
  4. Dans l’écran Dossier de destination, acceptez le dossier d’installation par défaut ou cliquez sur Modifier pour en spécifier un autre, puis cliquez sur Suivant.
  5. Dans l’écran Type d’installation, sélectionnez Analyse commerciale, puis cliquez sur Suivant.
  6. Dans l’écran Configuration de la base de données d’administration, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Ordinateur SQL Server | Taper le nom de l’ordinateur exécutant SQL Server pour votre base de données d’administration. Si SQL Server a été installé localement, le nom de l’ordinateur local est affiché.
    Utiliser la sécurité intégrée de Windows Utiliser la sécurité intégrée de Windows lors de la connexion à la base de données d’administration.

    Lorsque vous utilisez la sécurité intégrée de Windows, les noms d’utilisateur et les mots de passe ne sont pas stockés dans la chaîne de connexion SQL Server et ne sont pas affectés par la réinitialisation des mots de passe SQL Server. Pour plus d’informations sur la sécurité de Commerce Server, consultez Sécurisation de votre site.
    Utiliser un nom d’utilisateur et un mot de passe spécifiques | Utiliser l’authentification SQL Server lors de la connexion à la base de données d’administration. Pour cela, activez cette option.
    Nom d’utilisateur SQL Server Taper le compte d’utilisateur pour la base de données d’administration.

    Remarque

    • Pour des raisons de sécurité, n’utilisez pas la connexion sa (administrateur système) pour accéder à la base de données d’administration. Pour modifier les informations de connexion pour la base de données d’administration après sa création, utiliser SQL Server Enterprise Manager.
    Mot de passe de connexion SQL Server | Taper le mot de passe de connexion correspondant à la base de données d’administration.

    Remarques

    • Si vous créez la base de données d’administration, tapez dans les zones Nom d’utilisateur SQL Server et Mot de passe de connexion SQL Server un nom d’utilisateur SQL Server qui possède sur la base de données master des autorisations qui lui permettent de créer une autre base de données. Pour afficher les autorisations correspondant au nom d’utilisateur SQL Server de la base de données master, utilisez Enterprise Manager.
    • Si la base de données d’administration existe déjà, tapez dans les zones Nom d’utilisateur SQL Server et Mot de passe de connexion SQL Server un nom d’utilisateur SQL Server qui possède des autorisations complètes sur la base de données d’administration existante.
  7. Cliquez sur Suivant.
  8. Dans l’écran Comptes de services, tapez le Nom d’utilisateur, le Mot de passe et le Domaine du compte Windows sous lequel les services Commerce Server s’exécuteront sur cet ordinateur, puis cliquez sur Suivant.

    Le programme d’installation de Commerce Server accorde automatiquement le droit Connexion comme un service aux comptes que vous spécifiez. Le service de publipostage Commerce Server 2002, le Gestionnaire de listes et l’Enregistrement des événements nécessitent un compte pour la sécurité et l’accès au réseau.

    Remarque

    • Utilisez un compte permanent pour exécuter les services Commerce Server. Si ce compte est désactivé à une date ultérieure ou si le mot de passe est modifié, Commerce Server cessera de fonctionner. Pour obtenir des instructions sur la modification d’un compte de service ou d’un mot de passe, consultez Modification d’un compte de service ou d’un mot de passe.
  9. Cliquez sur Installer pour lancer la procédure d’installation.

Lorsque l’installation est terminée, la boîte de dialogue Configuration du Data Warehouse s’affiche. Utilisez les procédures ci-après pour configurer l’installation distribuée du Data Warehouse.

Voir aussi

Configuration de l’installation distribuée du Data Warehouse


Configuration de l'installation distribuée du Data Warehouse

Envoyer des commentaires sur cette page Commerce Server 2002

Configuration de l’installation distribuée du Data Warehouse

Vous allez utiliser la Configuration du Data Warehouse (Data Warehouse Configurator, DWC) pour configurer l’installation distribuée du Data Warehouse ainsi que les applications et les serveurs Web non-Commerce Server.

Pour créer le site et la ressource globale du Data Warehouse

Pour ajouter une application non-Commerce Server à un site

Pour ajouter un serveur Web non-Commerce Server à une application

Pour créer le site et la ressource globale du Data Warehouse

  1. Dans la boîte de dialogue Configuration du Data Warehouse, dans la zone Site, tapez le nom du site que vous voulez créer.
  2. Dans la zone DW, tapez le nom de la ressource globale du Data Warehouse à créer.

Pour ajouter une application non-Commerce Server à un site

  1. Dans la section Applications non-Commerce Server, cliquez sur Configurer.

    La boîte de dialogue Applications et serveurs Web non-Commerce Server s’affiche ; elle vous permet de créer plusieurs applications et serveurs non-Commerce Server au sein de ces applications.

  2. Dans la boîte de dialogue Applications et serveurs Web non-Commerce Server, dans la section Applications non-Commerce Server, cliquez sur Nouveau.
  3. Dans la boîte de dialogue Nouvelle application non-Commerce Server, sous l’onglet Général, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Les serveurs Web de cette application exécutent IIS Activer cette case à cocher si les serveurs d’une application non-Commerce Server exécutent les services IIS (Internet Information Services) 5.0.

    Remarque

    • Une application non-Commerce Server ne peut pas contenir à la fois des serveurs IIS et non-IIS.
    Nom d’hôte non sécurisé Taper le nom de domaine DNS (Domain Name System) utilisé par les liens non sécurisés de l’application.

    Attention

    • Si vous utilisez un numéro de port autre que 80, vous devez ajouter ce numéro à la fin du nom de serveur (par exemple, www.microsoft.com:81). Pour afficher ou modifier le numéro de port, consultez la zone Port TCP sous l’onglet Identités de la boîte de dialogue Propriétés de serveur Web.
    Chemin de l’application IIS ou Chemin de l’application Taper le chemin d’accès à l’application. Par exemple, pour l’application www.microsoft.com/msn, le chemin d’accès est /msn.

    Attention

    • Si vous modifiez cette propriété, vous devez modifier l’emplacement des fichiers sur le(s) serveur(s) Web pour maintenir la correspondance. Vous devez également configurer IIS avec la nouvelle application.
    Activer HTTPS | Activer cette propriété si des liens sécurisés sont utilisés dans l’application.
    Nom d’hôte sécurisé Taper le nom de domaine DNS utilisé par les liens sécurisés de l’application.

    Attention

    • Si vous utilisez un numéro de port autre que 443, vous devez ajouter ce numéro à la fin du nom de serveur (par exemple, www.microsoft.com:441). Pour afficher ou modifier le numéro de port SSL (Secure Sockets Layer), consultez la zone Port SSL sous l’onglet Identités de la boîte de dialogue Propriétés de serveur Web.
  4. Sous l’onglet Serveurs Web, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Site Web IIS | Taper le nom du site Web IIS (par exemple, Site Web par défaut).
    Domaine local | Taper le nom du domaine local (par exemple, microsoft.com).
  5. Cliquez sur OK.

Pour ajouter un serveur Web non-Commerce Server à une application

  1. Sélectionnez le nom de l’application non-Commerce Server à laquelle vous voulez ajouter le serveur Web.
  2. Dans la boîte de dialogue Applications et serveurs Web non-Commerce Server, dans la section Serveurs Web non-Commerce Server pour l’application sélectionnée, cliquez sur Nouveau.

    Remarque

    • Si aucune application non-Commerce Server n’a été créée, le bouton Nouveau est désactivé.
  3. Sous l’onglet Identités de la boîte de dialogue Nouveau serveur Web non-Commerce Server, tapez le nom de l’ordinateur qui héberge le serveur Web non-Commerce Server.
  4. Dans la zone Identités, cliquez sur Ajouter.
  5. Dans la boîte de dialogue Configuration de site Web, tapez dans les zones correspondantes l’Adresse IP, le Port TCP et le Nom d’en-tête de l’hôte pour le serveur Web non-Commerce Server, puis cliquez sur OK.
  6. Si vous utilisez un hôte HTTP sécurisé (SSL) dans vos applications, dans la zone Identités SSL, cliquez sur Ajouter.
  7. Dans la boîte de dialogue Identité, tapez dans les zones correspondantes l’Adresse IP et le Port SSL pour le serveur Web non-Commerce Server, puis cliquez sur OK.
  8. Dans la boîte de dialogue Nouveau serveur Web non-Commerce Server, sous l’onglet Fichiers journaux, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nouvelle période de journalisation | Spécifier la fréquence à laquelle le site Web écrit des données dans un fichier journal avant que le serveur Web crée un nouveau fichier.
    Masque de fichier journal | Spécifier une rotation des fichiers journaux indiquant la fréquence à laquelle le site Web écrit dans un fichier journal avant que le serveur Web n’en crée un autre.
    Répertoire du fichier journal Taper le chemin d’accès au fichier journal dans lequel le site Web écrit les événements ; par exemple, C:\Winnt\System32\LogFiles\Log1.

    Vous pouvez spécifier un répertoire différent si vous copiez les fichiers journaux Web du serveur Web vers un emplacement central avant d’exécuter les tâches DTS (Data Transformation Services) d’importation.
    Page de codes du fichier journal | Définir la page de codes utilisée par la totalité du fichier.
    Page de codes de cryptage des URL | Définir la page de codes utilisée pour toutes les adresses URL.
  9. Cliquez sur OK.
  10. Après avoir créé les applications et les serveurs Web non-Commerce Server, cliquez sur Fermer.

    Dans la section Serveur d’importation, l’ordinateur local exécutant le programme d’installation est affiché, sous forme de zone non-modifiable.

  11. Dans la section Serveur d’analyse/de rapports, cliquez sur Configurer.
  12. Dans la boîte de dialogue Serveur d’analyse/de rapports, tapez le nom de l’ordinateur qui hébergera les modules de gestion d’analyse/de rapports. Si SQL Server a été installé localement, le nom de l’ordinateur local est affiché.
  13. Cliquez sur OK.

    Remarque

    • Vous ne pouvez modifier ni le nom, ni l’emplacement du site ; d’autre part, Commerce Server et Commerce Server Business Desk doivent être installés sur cet ordinateur.
  14. Dans la section Database SQL Server, cliquez sur Configurer pour configurer l’ordinateur qui hébergera la base de données relationnelle du Data Warehouse.
  15. Apportez les modifications nécessaires dans la boîte de dialogue Propriétés des liaisons de données, puis cliquez sur OK.

    Remarque

    • Pour plus d’informations sur la manière de renseigner la boîte de dialogue Propriétés des liaisons de données, cliquez sur Aide dans cette boîte de dialogue pour ouvrir le fichier d’aide Liaisons de données Microsoft.
  16. Dans la section Database SQL Server, cliquez sur Configurer pour configurer l’ordinateur qui hébergera la base de données OLAP du Data Warehouse.
  17. Apportez les modifications nécessaires dans la boîte de dialogue Propriétés des liaisons de données, puis cliquez sur OK.
  18. Cliquez sur Suivant puis sur Oui pour redémarrer l’ordinateur le cas échéant.

Le package du site solution vide est décompressé ; il contient le Data Warehouse et les modules Analyse de Business Desk.


Installation d'exemples de configuration

Envoyer des commentaires sur cette page Commerce Server 2002

Installation d’exemples de configuration

Pour vous familiariser avec le déploiement de Commerce Server 2002, vous pouvez tester différentes configurations de déploiement. Cette section comprend des exemples de configuration pour le déploiement de Commerce Server 2002.

Cette section contient les rubriques suivantes :

  • Installation dans une configuration ordonnée en clusters et comprenant quatre ordinateurs. Décrit comment installer Commerce Server 2002 sur un cluster Web à deux serveurs et un cluster de base de données à deux serveurs.
  • Installation dans une configuration non ordonnée en clusters et comprenant trois ordinateurs. Décrit comment installer Commerce Server 2002 sur un serveur Web, un serveur de base de données du Data Warehouse et un serveur de base de données d’administration.
  • Installation de l’exemple de site Supplier. Décrit comment configurer et installer deux serveurs pour le didacticiel entreprise-entreprise.


Installation dans une configuration ordonnée en clusters et comprenant quatre ordinateurs

Cette rubrique contient des procédures décrivant comment installer Commerce Server 2002 et décompresser les applications sur une configuration à quatre ordinateurs comprenant :

  • Deux serveurs Web dans un cluster NLB (Network Load Balancing). Ces serveurs contiennent également les outils d’administration Commerce Server. Pour obtenir des instructions sur l’installation et la configuration de l’équilibrage de charge réseau (NLB), consultez Mise en clusters de serveurs Web.
  • Deux ordinateurs SQL Server configurés avec le service de cluster. Ces serveurs sont référencés par leur nom de cluster partagé. Pour obtenir des instructions sur l’installation du service de cluster, consultez le Guide d’installation détaillée du service de cluster sur Microsoft Windows 2000 Advanced Server et Datacenter Server.

Pour voir une figure illustrant cette configuration, consultez Configuration d’un site de petite taille.

Étape 1 : Pour installer Commerce Server sur les serveurs Web

Étape 2 : Pour installer Commerce Server sur le cluster SQL Server

Étape 3 : Pour décompresser votre site Web et vos applications

Étape 1 : Pour installer Commerce Server sur les serveurs Web

  1. Insérez le CD-ROM de Commerce Server 2002 dans le lecteur correspondant, puis exécutez le programme Installation de Commerce Server 2002. Acceptez les termes du contrat de licence, tapez vos informations client, puis acceptez le dossier de destination par défaut.
  2. Dans la boîte de dialogue Type d’installation, sélectionnez Personnalisée, puis cliquez sur Suivant.
  3. Dans la boîte de dialogue Installation personnalisée, sélectionnez les options Outils d’administration, Packages de sites et Documentation en ligne. Si vous le souhaitez, vous pouvez également sélectionner Predictor Service, si vous prévoyez de l’utiliser.
  4. Vérifiez que les options Analyse et Data Warehouse et Service de publipostage ne sont pas sélectionnées (aucune case à cocher ne doit contenir de X, indiquant que vous ne la sélectionnez pas).
  5. Cliquez sur Suivant.
  6. Dans la boîte de dialogue Configuration de la base de données d’administration, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Ordinateur SQL Server | Taper le nom de l’ordinateur pour le serveur de base de données.
    Nom d’utilisateur SQL Server | Taper le mot de passe d’ouverture de session SQL Server pour cet ordinateur. Pour créer une base de données, vous devez utiliser une connexion d’accès membre d’un des rôles SQL Server suivants : sysadmin ou dbcreator. Pour éviter les erreurs OLAP (Online Analytical Processing), n’utilisez pas de caractères spéciaux (tels que #, @, % et ').
    Mot de passe de connexion SQL Server | Taper le mot de passe de connexion SQL Server pour ce nom d’utilisateur. Pour éviter les erreurs OLAP, n’utilisez pas de caractères spéciaux (tels que #, @, % et ').

    La base de données d’administration se trouve sur le cluster SQL Server, et, au cours de cette étape, vous faites pointer cet ordinateur vers cette base de données.

  7. Cliquez sur Suivant.
  8. Dans la boîte de dialogue Comptes de services, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom d’utilisateur | Taper le nom d’utilisateur Windows du compte sous lequel les services Commerce Server s’exécuteront sur cet ordinateur.
    Mot de passe | Taper le mot de passe du compte Windows.
    Domaine | Taper le domaine du compte Windows.

    La figure suivante présente la boîte de dialogue Comptes de services.

    Boîte de dialogue Comptes de services

  9. Cliquez sur Suivant.
  10. Dans la boîte de dialogue Prêt pour l’installation, cliquez sur Installer.

    Le programme d’installation de Commerce Server installe les outils d’administration et les packages de site.

  11. Pour quitter le programme d’installation, cliquez sur Terminer.

Étape 2 : Pour installer Commerce Server sur le cluster SQL Server

  1. Insérez le CD-ROM de Commerce Server 2002 dans le lecteur correspondant, puis exécutez le programme Installation de Commerce Server 2002. Acceptez les termes du contrat de licence, tapez vos informations client, puis acceptez le dossier de destination par défaut.
  2. Dans la boîte de dialogue Type d’installation, sélectionnez Personnalisée, puis cliquez sur Suivant.
  3. Dans la boîte de dialogue Installation personnalisée, sélectionnez l’option Analyse et Data Warehouse.
  4. Vérifiez que vous avez effacé toutes les autres options (chaque case à cocher doit contenir un X, indiquant que vous ne la sélectionnez pas).
  5. Cliquez sur Suivant.
  6. Dans la boîte de dialogue Configuration de la base de données d’administration, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Ordinateur SQL Server | Taper le nom de cluster de ce cluster de serveurs.
    Nom d’utilisateur SQL Server | Taper le nom d’utilisateur SQL Server qui sera utilisé pour accéder à la base de données d’administration. Pour éviter les erreurs OLAP, n’utilisez pas de caractères spéciaux (tels que #, @, % et ').
    Mot de passe de connexion SQL Server | Taper le mot de passe pour la connexion SQL Server. Pour éviter les erreurs OLAP, n’utilisez pas de caractères spéciaux (tels que #, @, % et ').
  7. Cliquez sur Suivant.
  8. Dans la boîte de dialogue Comptes de services, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom d’utilisateur | Taper le nom d’utilisateur Windows du compte sous lequel les services Commerce Server s’exécuteront sur cet ordinateur.
    Mot de passe | Taper le mot de passe pour le compte Windows.
    Domaine | Taper le domaine pour le compte Windows.
  9. Cliquez sur Suivant.
  10. Dans la boîte de dialogue Prêt pour l’installation, cliquez sur Installer.

    Le programme d’installation de Commerce Server installe les fonctionnalités Analyse et Data Warehouse sur le cluster SQL Server.

  11. Pour quitter le programme d’installation, cliquez sur Terminer.

Étape 3 : Pour décompresser votre site Web et vos applications

  1. Sur le serveur Web sur lequel vous voulez effectuer la décompression, cliquez sur Démarrer, pointez sur Programmes, sur Microsoft Commerce Server 2002, puis cliquez sur Gestionnaire Commerce Server.
  2. Développez Gestionnaire Commerce Server, puis cliquez sur Sites de commerce.
  3. Cliquez avec le bouton droit sur Sites de commerce, pointez sur Nouveau, puis cliquez sur Décompresser un site.
  4. Dans la boîte de dialogue Décompresser un site à partir de, naviguez vers le dossier contenant le fichier à décompresser, sélectionnez-le, puis cliquez sur Ouvrir.

    Le Gestionnaire de package de site Commerce Server est démarré.

  5. Dans la boîte de dialogue Décompresser, sélectionnez Décompression personnalisée, puis cliquez sur Suivant.

    La figure suivante présente la boîte de dialogue Décompresser.

  6. Dans la boîte de dialogue Méthode de décompression, sélectionnez Créer un nouveau site, puis cliquez sur Suivant.

    La figure suivante présente la boîte de dialogue Méthode de décompression.

  7. Dans la boîte de dialogue Nom du site, dans la zone Nom du site, tapez le nom du site ou acceptez le nom par défaut, puis cliquez sur Suivant.

    La figure suivante présente la boîte de dialogue Nom du site.

    Boîte de dialogue Nom du site

    Remarques

    • Pour éviter les erreurs de décompression, n’utilisez pas de caractères spéciaux (tels que /, \, ?, &, <, >, :, *, |, #, @, % et ') dans votre nom de site. Par défaut, les noms de bases de données d’un site portent comme préfixe le nom du site, et les caractères spéciaux peuvent ne pas être reconnus dans SQL Server.
    • Ne spécifiez pas un nom de site comportant plus de 127 caractères.
    • N’affectez pas le nom « Commerce » à votre site. Il s’agit d’un nom de base de données OLAP (Online Analytical Processing) réservé. Si vous affectez le nom « Commerce » à votre site, cela risque d’entraîner l’écrasement de votre base de données OLAP la prochaine fois que vous décompresserez un site.
    • N’utilisez pas l’un des mots suivants comme nom de site :

      « App Default Config » (configuration par défaut de l’application), « BDSecurity », « Biz Data Service » (service Biz Data), « Campaigns » (campagnes marketing), « Direct Mail » (service de publipostage), « Global Data Warehouse » (Data Warehouse global), « Predictor », « Product Catalog » (catalogue de produits), « Site CS Authentication » (Authentication CS de site), « Site Data Warehouse » (Data Warehouse du site), « Transaction Config » (configuration de la transaction) ou « Transactions ».

  8. Dans la boîte de dialogue Sélectionner des ressources, conservez toutes les ressources dans la liste de droite, à l’exception de Publipostage. Pour supprimer Service de publipostage Commerce Server, sélectionnez Service de publipostage, puis cliquez sur Supprimer. La figure suivante présente la boîte de dialogue Sélectionner des ressources.

    Boîte de dialogue Sélectionner les ressources, pas de service de publipostage

  9. Si vous n’installez pas la ressource Predictor, sélectionnez Predictor, puis cliquez sur Supprimer.

    Remarques

    • Vous devez installer les ressources CS Authentication et Profiles simultanément. Elles ne fonctionnent pas si elles ne sont pas installées toutes les deux.
    • Commerce Server 2002 Standard Edition ne prend pas en charge la ressource Predictor.
  10. Dans la boîte de dialogue Pointeurs de ressource globale, cliquez sur Suivant.

    Cette boîte de dialogue vous permet d’effectuer un mappage vers les ressources globales existantes ou d’en créer de nouvelles. Vous pouvez également l’utiliser si vous avez déjà décompressé les ressources globales sur votre ordinateur et que vous souhaitez à présent décompresser des pointeurs de ressource globale dans un site qui utilisera ces ressources globales.

    La figure suivante montre un exemple d’écran de la boîte de dialogue Pointeurs de ressource globale.

    Boîte de dialogue Pointeurs de ressource globale, pas de service de publipostage

    Dans la boîte de dialogue Chaînes de connexion de base de données, le Gestionnaire de package de site répertorie les bases de données qu’il utilisera et les serveurs sur lesquels elles se trouvent. La figure suivante montre comment s’affiche la boîte de dialogue Chaînes de connexion de base de données avec des paramètres par défaut.

    Chaînes de connexion de bases de données 1, exemple A

  11. Dans la boîte de dialogue Chaînes de connexion de base de données, cliquez sur Nouvelle base de données. Parce que vous placez les bases de données sur le cluster de serveurs de base de données, vous devez créer les bases de données.
  12. Dans la boîte de dialogue Nouvelle base de données, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Ordinateur SQL Server | Taper le nom du cluster SQL Server.
    Nom de la base de données | Taper le nom voulu pour la base de données du Data Warehouse.
    Nom d’utilisateur SQL | Pour créer une base de données, vous devez utiliser une connexion d’accès membre d’un des rôles SQL Server suivants : sysadmin ou dbcreator. Pour éviter les erreurs OLAP, n’utilisez pas de caractères spéciaux (tels que #, @, % et ').
    Mot de passe SQL | Taper le mot de passe de connexion SQL Server. Pour éviter les erreurs OLAP, n’utilisez pas de caractères spéciaux (tels que #, @, % et ').

    La figure suivante présente la boîte de dialogue Nouvelle base de données.

    Boîte de dialogue Nouvelle base de données

  13. Cliquez sur Créer la base de données pour créer la nouvelle base de données.

    Les autres banques de données (telles que catalogues et transactions) seront stockées dans une autre base de données sur le cluster de serveurs de base de données. Vous devrez également créer ces bases de données.

    Les bases de données sont créées sur le cluster de serveurs de base de données.

  14. Lorsque vous revenez à la boîte de dialogue Chaînes de connexion de base de données, sélectionnez Data Warehouse global, puis cliquez sur Modifier.
  15. Dans la boîte de dialogue Propriétés des liaisons de données, sur l’onglet Connexion, dans la zone Sélectionnez ou entrez un nom de serveur, tapez le nom du cluster de serveurs de base de données. Dans la zone Sélectionnez la base de données sur le serveur, sélectionnez le nom que vous avez attribué à la base de données de Data Warehouse que vous avez créée, puis cliquez sur OK.

    Remarque

    • Assurez-vous que la case à cocher Autoriser l’enregistrement du mot de passe est sélectionnée. Si ce n’est pas le cas, le Gestionnaire de package de site ne créera pas la base de données.

    La figure suivante présente la boîte de dialogue Propriétés des liaisons de données.

    Boîte de dialogue Propriétés des liaisons de données, DW

  16. Répétez les étapes 14 et 15 pour chacune des autres bases de données que vous avez créées.

    La figure suivante montre comment s’affiche la boîte de dialogue Chaînes de connexion de base de données après que vous l’avez modifiée.

    Chaînes de connexion de bases de données 2, exemple A

  17. Cliquez sur Suivant.
  18. Dans la boîte de dialogue Sélectionner des applications, vérifiez que les applications à décompresser sont sélectionnées, puis cliquez sur Suivant. La figure suivante présente la boîte de dialogue Sélectionner des applications.

    Boîte de dialogue Sélectionner des applications

  19. Dans la boîte de dialogue Sélectionner des ordinateurs IIS, des sites Web et des chemins, vérifiez que le chemin IIS et du site Web IIS est correct pour chaque application. Pour modifier le site Web IIS pour une application, sélectionnez l’application dans la liste et choisissez le site Web IIS dans la liste déroulante.

    Pour modifier le nom du répertoire virtuel pour une application, sélectionnez l’application dans la liste. Dans la zone Répertoire virtuel IIS, tapez que le nom souhaité.

    Remarques
    • Pour éviter les erreurs IIS, n’utilisez pas de caractères spéciaux (tels que #, @, % et ') dans vos noms de répertoires virtuels IIS.
    • Le Gestionnaire de package de site ne prend pas en charge la décompression d’un site sur un ordinateur distant.
    • Le Gestionnaire de package de site décompresse chaque application sous le répertoire de base de son site Web IIS correspondant. À l’intérieur du répertoire de base, le Gestionnaire de package de site crée un sous-dossier utilisant le nom de répertoire virtuel IIS de l’application.

    La figure suivante présente la boîte de dialogue Sélectionner des ordinateurs IIS, des sites Web et des chemins.

    Boîte de dialogue Sélectionner des ordinateurs IIS, des sites Web et des chemins

  20. Cliquez sur Suivant.
  21. Si la boîte de dialogue Data Warehouse apparaît, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper le nom que vous voulez attribuer à la ressource du Data Warehouse globale.
    Serveur | Taper le nom de l’ordinateur SQL Analysis (OLAP).
    Base de données | Taper le nom de la base de données Analysis (OLAP) à utiliser.
  22. Cliquez sur Suivant.
  23. Si la première boîte de dialogue Système de profil apparaît, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Définition de schéma de profil | Spécifier la définition de schéma de profil à importer.
    Définition des entrées du glossaire du site | Spécifier la définition des entrées du glossaire du site à importer.
    Définition d’expression | Spécifier la définition d’expression à importer.
  24. Cliquez sur Suivant.
  25. Si la deuxième boîte de dialogue Système de profil apparaît, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Chaîne de connexion du système de profil | Spécifier les fichiers à importer dans la banque de données OLEDB. Cliquer sur Modifier pour spécifier une autre base de données.
    Scripts de définition de schéma (*.sql, *.vbs) | Spécifier les scripts de définition de schéma à importer.
    Scripts de remplissage des données (*.sql) | Spécifier les scripts de remplissage des données à importer.
  26. Cliquez sur Suivant.
  27. Dans la boîte de dialogue Décompression terminée, consultez la liste des bases de données SQL et applications IIS qui ont été créées. Pour consulter la liste des événements contenus dans le fichier journal du Gestionnaire de package de site, cliquez sur Afficher le fichier journal.
  28. Pour fermer le Gestionnaire de package de site, cliquez sur Terminer.

Remarques

  • Immédiatement après avoir installé votre site, et chaque fois que vous apportez des modifications de configuration importantes à votre déploiement Commerce Server, vous pouvez sauvegarder votre base de données d’administration sous un nom différent. Vous pouvez, si nécessaire, utiliser cette sauvegarde pour annuler tout changement effectué ultérieurement.
  • N’exécutez pas plus d’une instance du Gestionnaire de package de site à la fois.

Voir aussi

Utilisation de scripts avec le Gestionnaire de package de site


Installation dans une configuration non ordonnée en clusters et comprenant trois ordinateurs

Le Gestionnaire de package de site Commerce Server vous permet de déployer des ressources de site à partir de n’importe quel ordinateur Commerce Server 2002 vers la base de données d’administration. Si vous possédez trois ordinateurs par exemple, vous pouvez installer Commerce Server sur votre serveur Web, et déployer vos bases de données Commerce Server sur un ordinateur différent. Vous pouvez les configurer comme suit :

  • Ordinateur A. Utilisé pour la base de données d’administration et les outils d’administration. Cet ordinateur sert à gérer Commerce Server.
  • Ordinateur B. Utilisé pour le Data Warehouse et d’autres bases de données.
  • Ordinateur C. Utilisé comme serveur Web, il contient les pages ASP de votre application.

Dans ces instructions, il est supposé que vous avez installé Microsoft Windows 2000 Server sur les trois ordinateurs, ainsi que Microsoft SQL Server 7.0 ou SQL Server 2000 sur les ordinateurs A et B. Si cela n’est pas le cas, consultez Installation de Commerce Server pour connaître les instructions à suivre.

Étape 1 : Installer Commerce Server sur l’ordinateur A

Étape 2 : Installer Commerce Server sur l’ordinateur B, en sélectionnant seulement Data Warehouse

Étape 3 : Installer un serveur Web Commerce Server sur l’ordinateur C

Étape 4 : Décompresser votre site à partir de l’ordinateur A

Étape 5 : Ajouter le serveur Web Commerce Server (ordinateur C) à votre application

Étape 1 : Installer Commerce Server sur l’ordinateur A

  1. Insérez le CD-ROM de Commerce Server 2002 dans le lecteur correspondant, puis exécutez le programme Installation de Commerce Server 2002. Acceptez les termes du contrat de licence, tapez vos informations client, puis acceptez le dossier de destination par défaut.
  2. Dans la boîte de dialogue Type d’installation, sélectionnez Personnalisée, puis cliquez sur Suivant.
  3. Dans la boîte de dialogue Installation personnalisée, sous le dossier Objets d’exécution, vérifiez que l’option Analyse et Data Warehouse n’est pas activée (la case à cocher doit contenir un X, ce qui indique que vous ne l’avez pas activée). Activez les autres fonctionnalités à installer, telles que Predictor.
  4. Dans la boîte de dialogue Configuration de la base de données d’administration, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Ordinateur SQL Server | Taper le nom de l’ordinateur pour le serveur de base de données (ordinateur B).
    Nom d’utilisateur SQL Server | Taper le mot de passe d’ouverture de session SQL Server pour cet ordinateur. Pour créer une base de données, vous devez utiliser une connexion d’accès membre d’un des rôles SQL Server suivants : sysadmin ou dbcreator. Pour éviter les erreurs OLAP (Online Analytical Processing), n’utilisez pas de caractères spéciaux (tels que #, @, % et ').
    Mot de passe de connexion SQL Server | Taper le mot de passe SQL Server pour cet ordinateur. Pour éviter les erreurs OLAP, n’utilisez pas de caractères spéciaux (tels que #, @, % et ').
  5. Cliquez sur Suivant.
  6. Dans la boîte de dialogue Comptes de services, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom d’utilisateur | Taper le nom d’utilisateur Windows du compte sous lequel les services Commerce Server s’exécuteront sur cet ordinateur.
    Mot de passe | Taper le mot de passe du compte Windows.
    Domaine | Taper le domaine du compte Windows.
  7. Cliquez sur Suivant.
  8. Dans la boîte de dialogue Prêt pour l’installation, cliquez sur Installer.

    Le programme d’installation de Commerce Server installe les fonctionnalités spécifiées sur l’ordinateur A, y compris les outils d’administration. Cet ordinateur vous permet de gérer votre installation de Commerce Server.

  9. Pour quitter le programme d’installation, cliquez sur Terminer.

Étape 2 : Installer Commerce Server sur l’ordinateur B, en sélectionnant uniquement Data Warehouse.

  1. Insérez le CD-ROM de Commerce Server 2002 dans le lecteur correspondant, puis exécutez le programme Installation de Commerce Server 2002. Acceptez les termes du contrat de licence, tapez vos informations client, puis acceptez le dossier de destination par défaut.
  2. Dans la boîte de dialogue Type d’installation, sélectionnez Personnalisée, puis cliquez sur Suivant.
  3. Dans la boîte de dialogue Installation personnalisée, sous le dossier Objets d’exécution, activez l’option Analyse et Data Warehouse et désactivez toutes les autres options à l’exception du Service de publipostage, si vous envisagez de l’utiliser. Cliquez sur Suivant.
  4. Dans la boîte de dialogue Configuration de la base de données d’administration, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Ordinateur SQL Server | Taper le nom de l’ordinateur pour le serveur de base de données (ordinateur B).
    Nom d’utilisateur SQL Server | Taper le mot de passe d’ouverture de session SQL Server pour cet ordinateur. Pour créer une base de données, vous devez utiliser une connexion d’accès membre d’un des rôles SQL Server suivants : sysadmin ou dbcreator. Pour éviter les erreurs OLAP (Online Analytical Processing), n’utilisez pas de caractères spéciaux (tels que #, @, % et ').
    Mot de passe de connexion SQL Server | Taper le mot de passe SQL Server pour cet ordinateur. Pour éviter les erreurs OLAP, n’utilisez pas de caractères spéciaux (tels que #, @, % et ').
  5. Si vous installez le service de publipostage, dans la boîte de dialogue Configuration de la base de données du service de publipostage, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Ordinateur SQL Server | Accepter l’ordinateur par défaut (ordinateur B).
    Nom d’utilisateur SQL Server | Taper le mot de passe d’ouverture de session SQL Server pour cet ordinateur. Pour créer une base de données, vous devez utiliser une connexion d’accès membre d’un des rôles SQL Server suivants : sysadmin ou dbcreator. Pour éviter les erreurs OLAP, n’utilisez pas de caractères spéciaux (tels que #, @, % et ').
    Mot de passe de connexion SQL Server | Taper le mot de passe SQL Server pour ce serveur. Pour éviter les erreurs OLAP, n’utilisez pas de caractères spéciaux (tels que #, @, % et ').
  6. Dans la boîte de dialogue Comptes de services, tapez le nom d’utilisateur Windows et le mot de passe du compte sous lequel les services Commerce Server s’exécuteront sur cet ordinateur, puis cliquez sur Suivant.
  7. Dans la boîte de dialogue Prêt pour l’installation, cliquez sur Installer.

    Le programme d’installation de Commerce Server installe les fonctionnalités Analyse et Data Warehouse sur l’ordinateur B.

  8. Pour quitter le programme d’installation, cliquez sur Terminer.

Étape 3 : Installer un serveur Web Commerce Server sur l’ordinateur C

  1. Insérez le CD-ROM de Commerce Server 2002 dans le lecteur correspondant, puis exécutez le programme Installation de Commerce Server 2002 en utilisant l’option d’installation Serveur Web. Acceptez les termes du contrat de licence, tapez vos informations client, puis acceptez le dossier de destination par défaut.
  2. Cliquez sur Suivant.
  3. Dans la boîte de dialogue Configuration de la base de données d’administration, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Ordinateur SQL Server | Taper le nom de l’ordinateur pour le serveur de base de données (ordinateur B).
    Nom d’utilisateur SQL Server | Taper le mot de passe d’ouverture de session SQL Server pour cet ordinateur. Pour créer une base de données, vous devez utiliser une connexion d’accès membre d’un des rôles SQL Server suivants : sysadmin ou dbcreator. Pour éviter les erreurs OLAP (Online Analytical Processing), n’utilisez pas de caractères spéciaux (tels que #, @, % et ').
    Mot de passe de connexion SQL Server | Taper le mot de passe SQL Server pour cet ordinateur. Pour éviter les erreurs OLAP, n’utilisez pas de caractères spéciaux (tels que #, @, % et ').
  4. Cliquez sur Suivant.
  5. Dans la boîte de dialogue Comptes de services, tapez le nom d’utilisateur Windows et le mot de passe de l’utilisateur autorisé à accéder aux services Commerce Server sur cet ordinateur. Cliquez sur Suivant.
  6. Dans la boîte de dialogue Prêt pour l’installation, cliquez sur Installer.

    Le programme d’installation de Commerce Server installe les objets d’exécution et les packages de sites Commerce Server sur l’ordinateur C.

  7. Pour quitter le programme d’installation, cliquez sur Terminer.

Étape 4 : Décompresser votre site à partir de l’ordinateur A

  1. Sur l’ordinateur A, cliquez sur Démarrer, pointez sur Programmes, sur Microsoft Commerce Server 2002, puis cliquez sur Gestionnaire Commerce Server.
  2. Développez Gestionnaire Commerce Server, puis cliquez sur Sites de commerce.
  3. Cliquez avec le bouton droit sur Sites de commerce, pointez sur Nouveau, puis cliquez sur Décompresser un site.
  4. Dans la boîte de dialogue Décompresser un site à partir de, naviguez vers le dossier contenant le fichier à décompresser, sélectionnez-le, puis cliquez sur Ouvrir.

    Le Gestionnaire de package de site Commerce Server est démarré.

  5. Dans la boîte de dialogue Décompresser, sélectionnez Décompression personnalisée, puis cliquez sur Suivant. La figure suivante présente la boîte de dialogue Décompresser.

  6. Dans la boîte de dialogue Méthode de décompression, sélectionnez Créer un nouveau site, puis cliquez sur Suivant. La figure suivante présente la boîte de dialogue Méthode de décompression.

  7. Dans la zone Nom du site, le nom de site par défaut s’affiche. Modifiez le nom comme vous le souhaitez, puis cliquez sur Suivant.

    Remarques

    • Pour éviter les erreurs de décompression, n’utilisez pas de caractères spéciaux (tels que /, \, ?, &, <, >, :, *, |, #, @, % et ') dans votre nom de site. Par défaut, les noms de bases de données d’un site portent comme préfixe le nom du site, et les caractères spéciaux peuvent ne pas être reconnus dans SQL Server.
    • Ne spécifiez pas un nom de site comportant plus de 127 caractères.
    • N’affectez pas le nom « Commerce » à votre site. Il s’agit d’un nom de base de données OLAP réservé. Si vous affectez le nom « Commerce » à votre site, cela risque d’entraîner la suppression de votre base de données OLAP la prochaine fois que vous décompresserez un site.
    • N’utilisez pas l’un des mots suivants comme nom de site :

      « App Default Config » (configuration par défaut de l’application), « BDSecurity », « Biz Data Service » (service Biz Data), « Campaigns » (campagnes marketing), « Direct Mail » (service de publipostage), « Global Data Warehouse » (Data Warehouse global), « Predictor », « Product Catalog » (catalogue de produits), « Site CS Authentication » (Authentication CS de site), « Site Data Warehouse » (Data Warehouse du site), « Transaction Config » (configuration de la transaction) ou « Transactions ».

  8. Dans la boîte de dialogue Sélectionner des ressources, sélectionnez toutes les ressources. Si vous n’installez pas le Service de publipostage Commerce Server, sélectionnez Service de publipostage, puis cliquez sur Supprimer. Si vous n’installez pas la ressource Predictor, sélectionnez Predictor, puis cliquez sur Supprimer. La figure suivante présente la boîte de dialogue Sélectionner des ressources.

    Boîte de dialogue Sélectionner les ressources

    Remarque

    • Vous devez installer les ressources CS Authentication et Profiles simultanément. Elles ne fonctionnent pas si elles ne sont pas installées toutes les deux.
  9. Dans la boîte de dialogue Pointeurs de ressource globale, cliquez sur Suivant.

    Cet écran vous permet d’effectuer un mappage vers les ressources globales existantes ou d’en créer de nouvelles. Vous pouvez également l’utiliser si vous avez déjà décompressé les ressources globales sur votre ordinateur et que vous souhaitez à présent décompresser des pointeurs de ressource globale dans un site qui utilisera ces ressources globales.

    Dans la boîte de dialogue Chaînes de connexion de base de données, le Gestionnaire de package de site répertorie les bases de données qu’il utilisera et les serveurs sur lesquels elles se trouvent.

  10. Parce que vous placez le Data Warehouse sur un ordinateur différent, vous devez créer la base de données. Pour créer une base de données nommée Blank_dw pour Data Warehouse sur l’ordinateur B, cliquez sur Nouvelle base de données.
  11. Dans la boîte de dialogue Nouvelle base de données, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Ordinateur SQL Server | Taper le nom de l’ordinateur SQL Server (ordinateur B).
    Nom de la base de données | Taper Blank_dw pour la base de données du Data Warehouse.
    Nom d’utilisateur SQL | Pour créer une base de données, vous devez utiliser une connexion d’accès membre d’un des rôles SQL Server suivants : sysadmin ou dbcreator. Pour éviter les erreurs OLAP, n’utilisez pas de caractères spéciaux (tels que #, @, % et ').
    Mot de passe SQL | Taper le mot de passe de connexion SQL Server. Pour éviter les erreurs OLAP, n’utilisez pas de caractères spéciaux (tels que #, @, % et ').

    La figure suivante présente la boîte de dialogue Nouvelle base de données.

    Boîte de dialogue Nouvelle base de données, exemple B,1

  12. Cliquez sur Créer la base de données. La base de données Blank_dw est créée sur l’ordinateur B.
  13. Lorsque vous revenez à la boîte de dialogue Chaînes de connexion de base de données, cliquez sur Nouvelle base de données.

    Vous placez également les autres bases de données Commerce Server sur l’ordinateur B.

  14. Pour créer une base de données séparée nommée Blank_commerce pour grouper ces bases de données, répétez l’étape 11 et tapez Blank_commerce dans la zone Nom de la base de données. La figure suivante présente la boîte de dialogue Nouvelle base de données avec la base de données Blank_commerce.

    Boîte de dialogue Nouvelle base de données, exemple B,2

  15. Cliquez sur Créer la base de données. La base de données Blank_commerce est créée sur l’ordinateur B.
  16. Lorsque vous revenez à la boîte de dialogue Chaînes de connexion de base de données, sélectionnez Data Warehouse, puis cliquez sur Modifier.
  17. Dans la boîte de dialogue Propriétés des liaisons de données, dans la zone Sélectionnez ou tapez un nom de serveur, tapez le nom de l’ordinateur B. Dans la zone Sélectionnez la base de données sur le serveur, sélectionnez le nom (Blank_dw) que vous avez attribué au Data Warehouse que vous avez créé sur l’ordinateur B, puis cliquez sur OK.

    Remarque

    • Assurez-vous que la case à cocher Autoriser l’enregistrement du mot de passe est sélectionnée. Si ce n’est pas le cas, le Gestionnaire de package de site ne créera pas la base de données.

    La figure suivante présente la boîte de dialogue Propriétés des liaisons de données.

    Boîte de dialogue Propriétés des liaisons de données, blank_dw

  18. Lorsque vous revenez à la boîte de dialogue Chaînes de connexion de base de données, sélectionnez toutes les autres bases de données (à l’exception de Data Warehouse), puis cliquez sur Modifier.
  19. Dans la boîte de dialogue Propriétés des liaisons de données, dans la zone Sélectionnez ou tapez un nom de serveur, tapez le nom de l’ordinateur B. Dans la zone Sélectionnez la base de données sur le serveur, sélectionnez le nom (blank_commerce) que vous avez attribué à la base de données, puis cliquez sur OK.

    Remarque

    • Assurez-vous que la case à cocher Autoriser l’enregistrement du mot de passe est sélectionnée. Si ce n’est pas le cas, le Gestionnaire de package de site ne créera pas la base de données.

    La figure suivante montre comment s’affiche la boîte de dialogue Chaînes de connexion de base de données après que vous l’avez modifiée.

    Boîte de dialogue Chaînes de connexion de base de données, exemple B

  20. Cliquez sur Suivant.
  21. Dans la boîte de dialogue Sélectionner des applications, vérifiez que les applications à décompresser sont sélectionnées, puis cliquez sur Suivant. La figure suivante présente la boîte de dialogue Sélectionner des applications.

  22. Dans la boîte de dialogue Sélectionner des ordinateurs IIS, des sites Web et des chemins, vérifiez que le chemin de site Web des services IIS (Internet Information Services) 5.0 et IIS est correct pour chaque application. Pour modifier le site Web IIS pour une application, sélectionnez l’application dans la liste et choisissez le site Web IIS dans la liste déroulante.

    Pour modifier le nom du répertoire virtuel pour une application, sélectionnez l’application dans la liste. Dans la zone Répertoire virtuel IIS, tapez que le nom souhaité.

    Remarque

    • Pour éviter les erreurs IIS, n’utilisez pas de caractères spéciaux (tels que #, @, % et ') dans vos noms de répertoires virtuels IIS.
    • Le Gestionnaire de package de site ne prend pas en charge la décompression d’un site sur un ordinateur distant.
    • Le Gestionnaire de package de site décompressera chaque application sous le répertoire de base de son site Web IIS correspondant. À l’intérieur du répertoire de base, le Gestionnaire de package de site crée un sous-dossier utilisant le nom de répertoire virtuel IIS de l’application.

    La figure suivante présente la boîte de dialogue Sélectionner des ordinateurs IIS, des sites Web et des chemins.

  23. Dans la boîte de dialogue Data Warehouse, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper le nom que vous voulez attribuer à la ressource du Data Warehouse globale.
    Serveur | Taper le nom de l’ordinateur Analysis Services (OLAP) SQL.
    Base de données | Taper le nom de la base de données Analysis (OLAP) à utiliser.
  24. Cliquez sur Suivant.
  25. Si la première boîte de dialogue Système de profil apparaît, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Définition de schéma de profil | Spécifier la définition de schéma de profil à importer.
    Définition des entrées du glossaire du site | Spécifier la définition des entrées du glossaire du site à importer.
    Définition d’expression | Spécifier la définition d’expression à importer.
  26. Cliquez sur Suivant.
  27. Si la deuxième boîte de dialogue Système de profil apparaît, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Chaîne de connexion du système de profil | Spécifier les fichiers à importer dans la banque de données OLEDB. Cliquer sur Modifier pour spécifier une autre base de données.
    Scripts de définition de schéma (*.sql, *.vbs) | Spécifier les scripts de définition de schéma à importer.
    Scripts de remplissage des données (*.sql) | Spécifier les scripts de remplissage des données à importer.
  28. Cliquez sur Suivant.
  29. Dans la boîte de dialogue Décompression terminée, consultez la liste des bases de données SQL et applications IIS qui ont été créées. Pour consulter la liste des événements contenus dans le fichier journal du Gestionnaire de package de site, cliquez sur Afficher le fichier journal.
  30. Pour fermer le Gestionnaire de package de site, cliquez sur Terminer.

Étape 5 : Ajouter le serveur Web Commerce Server (ordinateur C) à votre application

  1. Sur l’ordinateur C, le serveur Web que vous souhaitez ajouter à l’application, développez Gestionnaire Commerce Server, puis Sites de commerce, puis cliquez sur le site que vous souhaitez administrer.
  2. Développez Applications, puis cliquez sur le nom de l’application à laquelle vous voulez ajouter le serveur Web. Cliquez avec le bouton droit sur le nom de l’application, pointez sur Nouveau, puis cliquez sur Ajouter un serveur Web.

    La boîte de dialogue Ouvrir, contenant une liste des fichiers de package existants, apparaît.

  3. Dans la boîte de dialogue Ouvrir, sélectionnez le fichier de package contenant les fichiers de serveur Web que vous voulez ajouter au serveur Web, puis cliquez sur Ouvrir.

    Le Gestionnaire de package de site Commerce Server est démarré.

  4. La boîte de dialogue Sélectionner des ordinateurs IIS, des sites Web et des chemins affiche le nom du site Web IIS où sera installée l’application ainsi que le répertoire virtuel IIS pour chaque application Commerce. Ces informations sont en lecture seule ; le site Web IIS et le répertoire virtuel doivent être identiques sur tous les serveurs Web de l’application. Cliquez sur Suivant.

    Le Gestionnaire de package de site ajoute vos fichiers au serveur Web, puis ajoute l’objet serveur Web Commerce à l’application sélectionnée. Lorsque vous ouvrez le Gestionnaire Commerce Server, l’objet serveur Web Commerce s’affiche sous l’application.

    Remarque

    • Le Gestionnaire de package de site ne prend pas en charge la décompression d’un serveur Web sur un ordinateur distant.
  5. Dans la boîte de dialogue Décompression terminée, consultez le fichier journal, puis cliquez sur Fermer.

Après avoir ajouté un serveur Web à une application, l’objet serveur Web Commerce s’affiche sous le nœud d’application dans le Gestionnaire Commerce Server. L’objet serveur Web Commerce contient les propriétés nécessaires à la ressource Data Warehouse pour importer les fichiers journaux : nom du serveur, adresse IP (Internet Protocol), chemin d’accès au fichier journal et durée du fichier journal. Ces propriétés sont remplies automatiquement à partir des services IIS lorsque vous ajoutez un objet serveur Web Commerce à une application. Pour obtenir des instructions sur la configuration des propriétés de serveur Web, consultez Configuration d’un serveur Web.

Remarques

  • Immédiatement après avoir installé votre site, et chaque fois que vous apportez des modifications de configuration importantes à votre déploiement Commerce Server, vous devez sauvegarder votre base de données d’administration sous un nom différent. Vous pouvez utiliser cette sauvegarde pour annuler tout changement effectué ultérieurement.
  • N’exécutez pas plus d’une instance du Gestionnaire de package de site à la fois.

Voir aussi

Configuration d’un serveur Web


Installation de l'exemple de site Supplier

Envoyer des commentaires sur cette page Commerce Server 2002

Installation de l’exemple de site Supplier

Cette rubrique explique comment configurer deux ordinateurs pour un site solution Supplier qui utilise à la fois Active Directory et SQL Server 2000. Vous pouvez effectuer ces étapes pour créer un site supplier à des fins d’évaluation et de test. Vous pouvez installer un site Supplier de plusieurs manières à l’aide de Windows 2000, de serveurs DNS (Domain Name System) et d’intranets locaux selon les besoins de votre entreprise.

Vous trouverez ci-dessous une présentation des étapes que vous devez suivre pour installer l’exemple de configuration. Chacune de ces étapes est expliquée en détail dans cette rubrique.

  1. Étape 1 : Configuration de Active Directory et du DNS sur l’Ordinateur 1, puis promouvez celui-ci comme contrôleur de domaine Active Directory.
  2. Étape 2 : Configuration de l’Ordinateur 2.
  3. Étape 3 : Activation de l’approbation de délégation sur l’Ordinateur 1.
  4. Étape 4 : Configuration des droits d’utilisateur Ouvrir une session localement sur l’Ordinateur 1.
  5. Étape 5 : Installation du logiciel serveur sur l’Ordinateur 2.
  6. Étape 6 : Décompression du site solution Supplier sur l’Ordinateur 2.
  7. Étape 7 : Vérification de la configuration logicielle sur les deux ordinateurs.
  8. Étape 8 : Activation d’AuthFilter pour le site solution Supplier.
  9. Étape 9 : Installation du client Business Desk.
  10. Étape 10 : Vérification de la configuration de Business Desk et du site Supplier.
  11. Étape 11 : Modification des fichiers ASP.

Ces étapes supposent les points suivants :

  • Vous savez installer Windows 2000 Advanced Server, Windows 2000 Server, Commerce Server 2002, et SQL Server 2000.
  • Vous créez un nouveau domaine (Active Directory) pour la première fois.
  • Vous créez un nouveau serveur DNS.
  • Vous utilisez l’authentification en mode mixe pour votre serveur SQL et l’authentification de base pour votre serveur Web. Si vous voulez utiliser cette configuration dans un scénario Internet, vous devez également activer le protocole HTTP (Hypertext Transfer Protocol Secure) pour votre serveur Web.


Étape1: Configuration de Active Directory et du DNS sur l'Ordinateur1

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 1 : Configuration de Active Directory et du DNS sur l’Ordinateur 1

Vous configurez le premier ordinateur pour Active Directory et DNS, puis promouvez celui-ci comme contrôleur de domaine Active Directory. Active Directory stocke les données de profil utilisateur sensibles comme le nom d’utilisateur et le mot de passe. Le reste des données de profil non sensibles seront stockées dans la base de données SQL Server.

Pour configurer l’Ordinateur 1

  1. Installez Windows 2000 Advanced Server en utilisant l’installation Par défaut.
    • Utilisez uniquement des caractères alphanumériques dans le nom de l’ordinateur.
    • Formatez la partition à l’aide du système de fichiers NTFS Windows à l’emplacement où Windows 2000 doit être installé.
    • Assurez-vous que Internet Information Services (IIS) n’est pas sélectionné dans l’écran Composants Windows 2000.
  2. Installez le Service Pack 2 (SP2) de Windows 2000, ainsi que les correctifs requis indiqués à l’adresse http://go.microsoft.com/fwlink/?LinkId=6125.
  3. Ouvrez le Panneau de configuration, puis utilisez Connexions réseau et accès à distance pour configurer l’Adresse IP (Internet Protocol) statique, le Masque de sous-réseau et la Passerelle par défaut. Utilisez l’adresse IP statique du contrôleur de domaine comme Serveur DNS préféré. Pour obtenir des instructions détaillées, consultez « Configurer TCP/IP pour utiliser DNS » et « Configurer TCP/IP pour utiliser WINS » dans l’aide de Windows 2000 Server.

    Pour plus d’informations sur la mise en réseau, consultez le Kit de Ressources Techniques Microsoft Windows 2000 Server.

Pour promouvoir l’Ordinateur 1 comme contrôleur de domaine Active Directory, vous devez utiliser l’Assistant Installation de Active Directory pour spécifier que cet ordinateur est le contrôleur de domaine.

Pour promouvoir l’Ordinateur 1 comme contrôleur de domaine

  1. Cliquez sur Démarrer, puis sur Exécuter.
  2. Dans la boîte de dialogue Exécuter, dans la zone Ouvrir, tapez dcpromo, puis cliquez sur OK.
  3. Dans l’Assistant Installation de Active Directory, cliquez sur Suivant.
  4. Dans la boîte de dialogue Type de contrôleur de domaine, sélectionnez Contrôleur de domaine pour un nouveau domaine, puis cliquez sur Suivant.
  5. Dans la boîte de dialogue Créer une arborescence ou un domaine enfant, sélectionnez Créer une nouvelle arborescence de domaine, puis cliquez sur Suivant.
  6. Dans la boîte de dialogue Créer ou rejoindre une forêt, sélectionnez Créer une nouvelle forêt d’arborescences de domaines, puis cliquez sur Suivant.
  7. Dans la boîte de dialogue Nouveau nom de domaine, dans la zone Nom DNS complet pour le nouveau domaine, tapez le nom DNS complet pour le nouveau domaine (par exemple AuxQuatreCoinsdumonde.com).
  8. Dans la boîte de dialogue Nom de domaine NetBIOS, dans la zone Nom de domaine NetBIOS, tapez le nom (par exemple AuxQuatreCoinsdumonde) que les utilisateurs des précédentes versions de Windows utiliseront pour identifier le domaine. Il est recommandé d’accepter la valeur par défaut, qui est une version raccourcie du nom DNS complet. Cliquez sur Suivant.
  9. Dans la boîte de dialogue Emplacement de la base de données et du journal, sélectionnez l’emplacement où vous voulez placer vos fichiers journaux.
  10. Dans la boîte de dialogue Volume système partagé, acceptez les paramètres par défaut, à moins que vous n’ayez une raison précise de les modifier.
  11. Si DNS n’est pas installé sur votre ordinateur, vous serez invité à l’installer. Sélectionnez Oui, je veux installer et configurer le service DNS sur cet ordinateur, puis cliquez sur Suivant.
  12. Dans la boîte de dialogue Autorisations, sélectionnez l’option Autorisations compatibles uniquement avec les serveurs Windows 2000, puis cliquez sur Suivant.
  13. Dans la boîte de dialogue Mot de passe administrateur de Restauration des services d’annuaire, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Mot de passe | Taper le mot de passe que vous voulez attribuer au compte d’administrateur pour le serveur.
    Confirmer le mot de passe | Taper à nouveau le mot de passe pour le confirmer.
  14. Cliquez sur Suivant.
  15. Dans la boîte de dialogue Résumé, passez en revue les options que vous avez sélectionnées afin de vous assurer que votre configuration Active Directory est correcte. Si c’est le cas, cliquez sur Suivant pour démarrer le processus d’installation ou cliquez sur Précédent pour reconfigurer les options.
  16. Au cours du processus d’installation, il peut s’avérer nécessaire d’insérer le CD-ROM de Windows 2000 dans le lecteur de CD-ROM.
  17. Dans la boîte de dialogue Fin de l’Assistant Installation de Active Directory, cliquez sur Suivant.
  18. Redémarrez le serveur.

Vous avez terminé la configuration d’Active Directory et de DNS sur l’Ordinateur 1. Passez à l’Étape 2 : Configuration de l’Ordinateur 2.


Étape2: Configuration de l'Ordinateur2

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 2 : Configuration de l’Ordinateur 2

Le deuxième ordinateur héberge vos bases de données Commerce Server, telles que la base de données d’administration, la base de données du service de publipostage, et la base de données du Data Warehouse de Commerce Server. De plus, cet ordinateur stocke les données de profil utilisateur non sensibles telles que la dernière page visitée ou les préférences. Sur cet ordinateur vous installez SQL Server 2000, puis Commerce Server. Les bases de données sont créées par le programme d’installation de Commerce Server.

Pour configurer l’Ordinateur 2

  1. Installez Windows 2000 Advanced Server en utilisant l’installation Par défaut.
    • Utilisez uniquement des caractères alphanumériques dans le nom de l’ordinateur.
    • Formatez la partition à l’aide du système de fichiers NTFS Windows à l’emplacement où Commerce Server doit être installé.
  2. Installez le Service Pack 2 (SP2) de Windows 2000, ainsi que les correctifs requis indiqués à l’adresse http://go.microsoft.com/fwlink/?LinkId=6125.
  3. Ouvrez le Panneau de configuration, puis utilisez Connexions réseau et accès à distance pour configurer l’Adresse IP statique, le Masque de sous-réseau et la Passerelle par défaut sur le même sous-réseau que l’Ordinateur 1. Pour obtenir des instructions détaillées, consultez « Configurer TCP/IP pour l’adressage statique » dans l’aide de Windows 2000 Server.
  4. Utilisez Connexion réseau et accès à distance pour configurer la liste des serveurs DNS préférés pour qu’elle pointe vers l’adresse IP du serveur Active Directory (l’Ordinateur 1, qui à son tour héberge le serveur DNS) pour les recherches de DNS. Configurez la liste des serveurs WINS pour qu’elle pointe vers le serveur Active Directory. Pour obtenir des instructions détaillées, consultez « Configurer TCP/IP pour utiliser DNS » et « Configurer TCP/IP pour utiliser WINS » dans l’aide de Windows 2000 Server.

    Pour plus d’informations sur la mise en réseau, consultez le Kit de Ressources Techniques Microsoft Windows 2000 Server.

  5. Pour rejoindre le domaine précédemment créé sur l’Ordinateur 1, effectuez les opérations suivantes :
    • Cliquez avec le bouton droit sur Poste de travail, puis cliquez sur Propriétés. Dans la boîte de dialogue Propriétés Système, sous l’onglet Identification réseau, cliquez sur Propriétés.
    • Dans la boîte de dialogue Modifications de l’identification, dans la section Membre de, sélectionnez Domaine, entrez le nom du domaine que vous avez précédemment créé, puis cliquez sur OK.
    • Redémarrez l’ordinateur.
  6. Installez Internet Explorer 6.0 selon les instructions spécifiées à l’adresse http://go.microsoft.com/fwlink/?LinkId=6729.

Vous avez fini d’installer et de configurer le logiciel sur le deuxième ordinateur. Passez à l’Étape 3 : Activation de l’approbation de délégation sur l’Ordinateur 1.


Étape3: Activation de l'approbation de délégation sur l'Ordinateur1

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 3 : Activation de l’approbation de délégation sur l’Ordinateur 1

Sur l’Ordinateur 1, activez l’approbation de délégation pour l’Ordinateur 2 afin que les administrateurs de Commerce Server puissent stocker les informations d’identification d’utilisateur sur le contrôleur de domaine Active Directory (Ordinateur 1).

Pour activer l’approbation de délégation

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Outils d’administration, puis cliquez sur Utilisateurs et ordinateurs Active Directory.
  2. Dans le volet gauche, développez <nom de domaine>, puis cliquez sur Ordinateurs.
  3. Dans le volet de droite, cliquez avec le bouton droit sur le nom d’ordinateur de l’Ordinateur 2, puis cliquez sur Propriétés.
  4. Dans la boîte de dialogue Propriétés de <nom ordinateur>, sous l’onglet Général, activez la case à cocher Approuver l’ordinateur pour la délégation. Le message d’avertissement Active Directory apparaît.
  5. Lisez le message d’avertissement puis cliquez sur OK.
  6. Dans la boîte de dialogue Propriétés de <nom ordinateur>, cliquez sur OK.
  7. L’Ordinateur 2 est à présent approuvé par le contrôleur de domaine Active Directory (Ordinateur 1). Passez à l’Étape 4 : Configuration des droits d’utilisateur Ouvrir une session localement sur l’Ordinateur 1.


Étape4: Configuration des droits d'utilisateur Ouvrir une session localement sur l'Ordinateur1

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 4 : Configuration des droits d’utilisateur Ouvrir une session localement sur l’Ordinateur 1

Pour permettre aux utilisateurs du domaine d’ouvrir une session du site solution Supplier, vous devez configurer les droits d’utilisateur Ouvrir une session localement.

Pour configurer les droits d’utilisateur pour une ouverture de session locale

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Outils d’administration, puis cliquez sur Stratégie de sécurité du domaine.
  2. Dans Stratégie de sécurité du domaine, développez Paramètres de sécurité, puis Stratégies locales, puis cliquez sur Attribution des droits utilisateurs.
  3. Dans le volet de droite, double-cliquez sur Ouvrir une session localement.
  4. Dans Paramètre de stratégie de sécurité, activez la case à cocher Définir ces paramètres de stratégie, puis cliquez sur Ajouter.
  5. Dans Ajouter un utilisateur ou un groupe, cliquez sur Parcourir.
  6. Dans Sélectionnez Utilisateurs ou Groupes, sélectionnez le domaine dans la liste déroulante Rechercher dans.
  7. Sous Nom, sélectionnez Utilisa. du domaine, cliquez sur Ajouter, puis sur OK.
  8. Dans Ajouter un utilisateur ou un groupe, cliquez sur OK.
  9. Dans Paramètre de stratégie de sécurité, cliquez sur OK.

Vous venez de configurer les droits d’utilisateur pour une ouverture de session locale pour le compte Utilisateurs de domaine Passez à l’Étape 5 : Installation du logiciel serveur sur l’Ordinateur 2.


Étape5: Installation du logiciel serveur sur l'Ordinateur2

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 5 : Installation du logiciel serveur sur l’Ordinateur 2

  1. Installez SQL Server 2000 et Analysis Services selon les instructions spécifiées à l’adresse http://go.microsoft.com/fwlink/?LinkId=6125.
  2. Installez le Service Pack 2 (SP2) de SQL Server 2000 selon les instructions spécifiées à l’adresse http://go.microsoft.com/fwlink/?LinkId=6730.
  3. Installez Commerce Server selon les instructions spécifiées à l’adresse http://go.microsoft.com/fwlink/?LinkId=6125.

    Notez les points suivants :

    • Dans l’écran Type d’installation, sélectionnez Complète.
    • Dans l’écran Configuration de la base de données d’administration, sélectionnez l’ordinateur actuel comme ordinateur SQL Server et sélectionnez le mode d’authentification adéquat (Sécurité intégrée de Windows ou Authentification SQL).
    • Dans l’écran Configuration du service de publipostage, sélectionnez l’ordinateur actuel comme ordinateur SQL Server.
    • Dans l’écran Comptes de services, activez la case à cocher Utiliser le même compte pour chaque service et les configurer tous pour démarrer automatiquement. Entrez un Nom d’utilisateur, un Mot de passe et un Domaine pour un compte sous lequel les services Commerce Server seront exécutés.
  4. Redémarrez le serveur après l’installation.

Une fois que le serveur a redémarré, vous avez terminé l’installation du logiciel serveur sur l’Ordinateur 2. Passez à l’Étape 6 : Décompression du site solution Supplier sur l’Ordinateur 2.


Étape6: Décompression du site solution Supplier sur l'Ordinateur2

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 6 : Décompression du site solution Supplier sur l’Ordinateur 2

Pour exécuter l’application Business Desk pour le site solution Supplier, vous devez décompresser le site solution Supplier sur l’Ordinateur 2.

Pour décompresser le site solution Supplier sur l’Ordinateur 2

  1. Téléchargez les packages des sites solutions en exécutant le fichier Microsoft Commerce Server 2002 Solution Sites.msi situé à l’adresse http://go.microsoft.com/fwlink/?LinkId=6491.
  2. Cliquez sur Démarrer, pointez sur Programmes, sur Outils d’administration, pointez sur Microsoft Commerce Server 2002, puis cliquez sur Gestionnaire Commerce Server.
  3. Développez Gestionnaire Commerce Server, puis cliquez sur Sites de commerce.
  4. Cliquez avec le bouton droit sur Sites de commerce, pointez sur Nouveau, puis cliquez sur Décompresser un site.
  5. Dans la boîte de dialogue Décompresser un site à partir de, entrez le chemin d’accès du fichier supplieractivedirectory.pup que vous avez téléchargé à l’étape 1, ou naviguez vers ce dernier, puis cliquez sur Ouvrir.

    Le Gestionnaire de package de site Commerce Server est démarré.

  6. Dans la boîte de dialogue Décompresser, sélectionnez Décompression rapide, puis cliquez sur Suivant.
  7. Dans la boîte de dialogue Décompression rapide, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom du site Taper le nom du site, si vous voulez le modifier.

    Remarques

    • N’utilisez pas de caractères spéciaux (tels que /, \, ?, &, <, >, :, *, |, #, @, % et ') que les bases de données SQL Server risquent de ne pas reconnaître. Pour plus d’informations, consultez la documentation en ligne de SQL.
    • Le nom du site ne peut pas dépasser 127 caractères.
    • N’affectez pas le nom « Commerce » à votre site. Il s’agit d’un nom de base de données OLAP réservé. Si vous affectez le nom « Commerce » à votre site, cela risque d’entraîner l’écrasement de votre base de données OLAP la prochaine fois que vous décompresserez un site.
    • N’utilisez pas l’un des mots suivants comme nom de site :

      « App Default Config » (configuration par défaut de l’application), « BDSecurity », « Biz Data Service » (service Biz Data), « Campaigns » (campagnes marketing), « Direct Mail » (service de publipostage), « Global Data Warehouse » (Data Warehouse global), « Predictor », « Product Catalog » (catalogue de produits), « Site CS Authentication » (Authentication CS de site), « Site Data Warehouse » (Data Warehouse du site), « Transaction Config » (configuration de la transaction) ou « Transactions ».

    Site Web IIS Sélectionner le nom du site Web IIS sur lequel les applications seront installées.

    Remarque

    • Si vous décompressez un site sur le site Web d’administration IIS, ce site et Business Desk ne fonctionneront pas en raison des limites de sécurité d’administration des services IIS.
    Ordinateur SQL Server | Taper le nom de l’ordinateur SQL Server qui contiendra les bases de données pour le site.
    Utiliser la sécurité intégrée de Windows Utiliser l’authentification intégrée de Windows, en sélectionnant cette option.

    Remarque

    • Lorsque vous utilisez la sécurité intégrée de Windows, les noms d’utilisateur et les mots de passe ne sont pas stockés dans la chaîne de connexion SQL Server et ne sont pas affectés par la réinitialisation des mots de passe SQL. Pour plus d’informations sur la sécurité de Commerce Server, consultez Sécurisation de votre site.
    Utiliser un nom d’utilisateur et un mot de passe spécifiques | Utiliser l’authentification de SQL Server lors de la connexion aux bases de données.
    Nom d’utilisateur SQL Server Taper le nom de connexion SQL Server pour les bases de données.

    Remarque

    • Pour des raisons de sécurité, ne pas utiliser la connexion d’accès sa pour accéder aux bases de données. Pour modifier les informations de connexion pour la base de données d’administration après sa création, utiliser SQL Server Enterprise Manager.
    Mot de passe de connexion SQL Server | Taper le mot de passe de connexion SQL Server pour les bases de données.
  8. Cliquez sur Suivant.
  9. Si la ressource Data Warehouse a été installée lors du processus d’installation, la boîte de dialogue Data Warehouse s’affiche. Pour spécifier les paramètres de la ressource Data Warehouse, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper un nom pour votre ressource globale Data Warehouse.
    Serveur | Taper le nom de l’ordinateur Analysis Services (OLAP) SQL.
    Base de données | Taper le nom de la base de données OLAP à utiliser.
  10. Cliquez sur OK.
  11. Si la ressource Profils a été installée durant le processus d’installation, la première des deux boîtes de dialogue Système de profil s’affiche. Pour spécifier les paramètres de la ressource Profils, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Définition de schéma de profil | Spécifier la définition de schéma de profil à importer.
    Définition des entrées du glossaire du site | Spécifier la définition des entrées du glossaire du site à importer.
    Définition d’expression | Spécifier la définition d’expression à importer.
  12. Cliquez sur Suivant.
  13. Si la ressource Profils a été installée durant le processus d’installation, la deuxième des deux boîtes de dialogue Système de profil s’affiche. Pour spécifier les paramètres de la ressource Profils, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Chaîne de connexion du système de profil | Spécifier les fichiers à importer dans la banque de données OLEDB. Cliquer sur Modifier pour spécifier une autre base de données.
    Scripts de définition de schéma (*.sql, *.vbs) Spécifier les scripts de définition de schéma à importer.

    Remarque

    • Le Gestionnaire de package de site utilise un script de définition de schéma par défaut. Si vous modifiez la table UserObject ou d’autres définitions de schéma de profil, vous devez utiliser SQL Server Enterprise Manager pour générer un script à utiliser ici. Pour plus d’informations, consultez Compression de schéma de profil étendu.
    Scripts de remplissage des données (*.sql) | Spécifier les scripts de remplissage des données à importer.
  14. Cliquez sur OK.

    Remarque

    • Si vous utilisez la sécurité intégrée de Windows, dans la boîte de dialogue Gestionnaire de package de site Commerce Server, passez en revue la liste des ressources qui sont décompressées et qui nécessitent des autorisations d’accès sur les comptes Windows appropriés.
  15. Dans la boîte de dialogue Système de profil, tapez le Domaine, le Nom d’utilisateur et le Mot de passe du domaine que vous avez précédemment créé. Vous devez taper le Nom d’utilisateur sous la forme domaine\nom_utilisateur. Cette opération permet de stocker dans Active Directory (Ordinateur 1) les profils utilisateur créés dans le site solution Supplier.
  16. Cliquez sur OK.
  17. Dans la boîte de dialogue Décompression terminée, consultez la liste des bases de données SQL et applications IIS qui ont été créées. Pour consulter la liste des événements contenus dans le fichier journal du Gestionnaire de package de site, cliquez sur Afficher le fichier journal.
  18. Pour fermer le Gestionnaire de package de site, cliquez sur Terminer.

Vous avez fini de décompresser le site solution Supplier sur le deuxième ordinateur. Passez à l’Étape 7 : Vérification de la configuration logicielle sur les deux ordinateurs.


Étape7: Vérification de la configuration logicielle sur les deux ordinateurs

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 7 : Vérification de la configuration logicielle sur les deux ordinateurs

Pour vérifier que vous avez configuré le logiciel correctement sur chaque ordinateur, effectuez les étapes suivantes :

  1. Sur chaque ordinateur, dans le menu Exécuter, tapez nltest /dsgetdc:<Nom_DNS_domaine>, puis cliquez sur OK. Cette opération doit réussir. Si elle ne réussit pas, la configuration n’est pas correcte.

    L’utilitaire Nltest.exe est fourni dans le Kit de Ressources Techniques Microsoft Windows 2000 Server.

  2. Sur le serveur Active Directory, pointez sur Outils administratifs, puis cliquez sur DNS. Les informations de domaine doivent apparaître sous le nœud Zones de recherche directes. Si elles n’apparaissent pas, la configuration n’est pas correcte.

Vous avez terminé la vérification de la configuration du site solution Supplier. Passez à l’Étape 8 : Activation d’AuthFilter pour le site solution Supplier.


Étape8: Activation d'AuthFilter pour le site solution Supplier

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 8 : Activation d’AuthFilter pour le site solution Supplier

Cette rubrique explique comment activer AuthFilter sur le site solution Supplier.

Remarques

  • Avant d’effectuer ces étapes, il est recommandé de lire Informations importantes sur AuthFilter concernant le site solution Supplier.
  • Pour la page Login.asp d’AuthFilter pour le site solution Supplier, consultez Code de la page Login.asp pour le site solution Supplier.

Pour le site solution Supplier et pour utiliser AuthFilter en mode d’authentification Windows, vous devez définir le mode de sécurité sur votre contrôleur de domaine de manière à permettre une ouverture de session locale. Si vous ne l’avez pas encore fait, consultez Définition du mode de sécurité sur le contrôleur de domaine.

Seule l’authentification de base doit être activée sur le site solution Supplier. Ne modifiez aucun autre paramètre de sécurité.

L’accès anonyme doit être activé pour le sous-dossier AuthFiles et toutes les pages qu’il contient.

Si votre contrôleur de domaine et votre serveur Web sont installés sur différents ordinateurs du même domaine, AuthFilter doit posséder un compte anonyme sur le serveur Web pour pouvoir exécuter avec succès la méthode ProfileService.GetUserProfileByKey() sur la page Login.asp pour n’importe quel profil/utilisateur.

Par défaut, IUSR_<nom_serveur> est un compte d’utilisateur anonyme. Dans le Gestionnaire des services Internet, IUSR_<nom_serveur> ne dispose pas d’autorisations suffisantes pour exécuter cette méthode avec succès dans ce scénario. De plus, si votre serveur Web est différent de votre serveur représentant le contrôleur de domaine, vous devez ajouter un compte d’utilisateur provenant de ce domaine en tant que compte anonyme. Pour ce faire, vous devez en premier lieu créer un compte d’utilisateur sur le domaine disposant d’un accès lui permettant de lire les propriétés d’utilisateur d’Active Directory. Puis, sur le serveur Web, utilisez le Gestionnaire des services Internet (IIS) pour configurer le même compte d’utilisateur en tant que compte anonyme pour le sous-dossier AuthFiles et tous les fichiers qu’il contient.

Pour activer AuthFilter sur le site solution Supplier

  1. Développez Gestionnaire Commerce Server, Sites de commerce, puis cliquez sur le site que vous voulez administrer.
  2. Développez Applications, cliquez avec le bouton droit sur le nom de l’application que vous voulez utiliser, puis cliquez sur Propriétés.
  3. Dans la boîte de dialogue Propriétés, sous l’onglet Général, sous Filtre d’authentification Commerce Server, dans la liste déroulante Filtre d’authentification, sélectionnez Authentification Windows ou Authentification personnalisée, puis cliquez sur OK.
  4. Développez Services IIS, cliquez avec le bouton droit sur le site Supplier, puis cliquez sur Propriétés.
  5. Dans la boîte de dialogue Propriétés, sous l’onglet Sécurité de répertoire, dans la section Accès anonyme et contrôle d’authentification, cliquez sur Modifier.
  6. Dans la boîte de dialogue Méthodes d’authentification, désactivez la case à cocher Authentification intégrée de Windows.

    Remarque

    • Seule l’authentification de base doit être activée sur le site solution Supplier. Ne modifiez aucun autre paramètre de sécurité.
  7. Utilisez un éditeur de texte pour ouvrir Authfiles\Login.asp pour le site Supplier.
  8. Si vous utilisez une batterie de serveurs Web (Web farm) ou qu’une prise en charge d’un compte proxy est nécessaire, vous devez mettre à jour le code dans la page Login.asp de sorte qu’il corresponde à celui indiqué dans la rubrique Code de la page Login.asp pour le site solution Supplier.

    Important

    • Il n’est pas nécessaire de mettre à jour la page Login.asp s’il s’agit d’un serveur unique ne nécessitant pas de prise en charge de compte proxy.
  9. Pour l’authentification Windows, changez la méthode GetUserInfo() dans \SupplierAD\include\Std_access_lib.asp comme suit :
    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
  10. Pour l’authentification Windows, dans la méthode PrepareLoginSection contenue dans \SupplierAD\template\menu.asp, changez le code d’une chaîne Request.ServerVariables faisant référence à la variable de serveur "AUTH_USER" pour qu’elle fasse à la place référence à la variable de serveur "LOGON_USER". Par exemple :

    Incorrect : sAuthUser = Request.ServerVariables("AUTH_USER")

    Correct : sAuthUser = Request.ServerVariables("LOGON_USER")

  11. Enregistrez et fermez les pages Login.asp et menu.asp mises à jour.
  12. Redémarrez les services IIS en exécutant iisreset à l’invite de commande.

Vous avez terminé l’activation d’AuthFilter sur le site solution Supplier. Passez à l’Étape 9 : Installation du client Business Desk.


Étape9: Installation du client Business Desk

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 9 : Installation du client Business Desk

Après avoir décompressé un site, vous pouvez installer le client Commerce Server Business Desk en vous connectant à l’adresse URL (Uniform Resource Locator) correspondant à l’application Business Desk.

Pour installer le client Business Desk sur l’Ordinateur 2

  1. Cliquez sur Démarrer, pointez sur Programmes, puis cliquez sur Internet Explorer.
  2. Dans Internet Explorer, tapez http://<Nom_serveur_Web>/supplieradbizdesk comme URL d’accès à Business Desk pour le site solution Supplier.
  3. Dans la boîte de dialogue Rechercher un dossier, acceptez le dossier par défaut, ou sélectionnez un autre dossier pour stocker le fichier HTA (HTML Application), puis cliquez sur OK. Le client Business Desk sera téléchargé et installé sur l’Ordinateur 2.
  4. Une fois que l’installation de Business Desk est terminée, fermez Internet Explorer. L’icône correspondant à Business Desk s’affiche à présent sous la forme d’un raccourci sur votre Bureau, ainsi que dans le menu Démarrer.

Pour plus d’informations sur l’installation du client Business Desk, consultez le Guide d’installation de Commerce Server 2002.

Vous avez fini d’installer le client Business Desk sur le deuxième ordinateur. Passez à l’Étape 10 : Vérification de la configuration de Business Desk et du site Supplier.


Étape10: Vérification de la configuration de Business Desk et du site Supplier

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 10 : Vérification de la configuration de Business Desk et du site Supplier

Dans cette procédure de vérification, vous utilisez Business Desk pour créer un nouvel utilisateur qui est un administrateur, puis vous créez un administrateur délégué au site Supplier.

Pour vérifier la configuration de Business Desk et du site Supplier

  1. Sur l’ordinateur client Business Desk (Ordinateur 2), ouvrez une session en tant qu’administrateur de domaine.
  2. Installez Business Desk en accédant à l’URL http://<Nom_serveur_Web>/supplieradbizdesk.
  3. Dans le module Profils Business Desk, cliquez sur Utilisateurs et ajoutez un nouvel utilisateur (par exemple, Philippe Tran). Pour obtenir des instructions sur l’ajout d’un utilisateur, consultez Ajout d’un profil utilisateur.
  4. Recherchez le nouvel utilisateur en tapant * dans le champ de recherche, puis cliquez sur Rechercher. Si le nouvel utilisateur s’affiche dans la liste des résultats, Business Desk est correctement intégré à Active Directory pour le stockage des profils utilisateur.
  5. Accédez à l’URL http://<Nom_serveur_Web>/SupplierAD.
  6. Dans la page de connexion, tapez le nom d’utilisateur et le mot de passe. Lorsque vous spécifiez le nom d’utilisateur, utilisez le format Domaine\Nom_utilisateur ou le format UPN (nom utilisateur principal). Si vous n’êtes pas un utilisateur inscrit, cliquez sur le lien au bas de la page (vous devez ajouter une page d’inscription personnalisée sur laquelle vous pouvez créer des comptes dans Active Directory).

La page Login.asp définit le ticket MSCSAuth pour l’utilisateur inscrit, récupère le profil utilisateur, valide les informations d’identification (si nécessaire) et remplit la page Web par défaut à l’aide du profil utilisateur. Si le nom d’utilisateur ou le mot de passe n’est pas valide, ou si le profil est introuvable, la page Login.asp est à nouveau affichée (nécessitant une connexion ou une inscription de l’utilisateur).

Si Business Desk et le site solution Supplier sont correctement configurés, passez à l’Étape 11 : Modification des fichiers ASP.


Étape11: Modification des fichiers ASP

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 11 : Modification des fichiers ASP

Avant d’utiliser le site solution Supplier, vous devez modifier les fichiers ASP ci-dessous afin d’activer les fonctions nécessaires au site solution Supplier :

  • Catalog.asp
  • Html_lib.asp
  • Login.asp
  • Requisition.asp
  • StepSrch.asp


Modification de Catalog.asp

Modifiez le fichier catalog.asp de sorte que les restrictions de groupe de catalogues puissent être affichées à partir du site.

Pour modifier le fichier Catalog.asp

  1. Ouvrez le fichier catalog.asp à l’aide d’une application de texte brut, telle que le Bloc-notes Microsoft. Le fichier catalog.asp se trouve dans le dossier <lecteur>:\inetpub\wwwroot\<nom_site>\include sur l’ordinateur Commerce Server, où <lecteur> représente le lecteur où les services IIS sont installés.
  2. Dans le fichier catalog.asp, recherchez la fonction mscsUserCatalogsetID.
  3. Dans cette fonction, recherchez la chaîne de texte :

    Set rsOrg = rsGetProfileByKey(FIELD_ORG_ORG_ID, org_id, PROFILE_TYPE_ORG, False)

  4. Remplacez cette chaîne de texte par le texte ci-dessous :

    Set rsOrg = rsGetProfileByKey(FIELD_ORG_NAME, org_id, PROFILE_TYPE_ORG, False)

  5. Dans le fichier catalog.asp, recherchez la fonction suivante :
    mscsUserCatalogsFromID(ByVal CatalogSetID)
  6. Dans cette fonction, recherchez le texte suivant :
    Set mscsCatalogSets = Server.CreateObject("Commerce.CatalogSets")
  7. Remplacez le texte affiché ci-dessus par le texte suivant :
    Set mscsCatalogSets = Server.CreateObject("Commerce.CatalogSets2")
mscsCatalogSets.OrganizationObjectJoinKey  = FIELD_ORG_NAME
  8. Dans le fichier catalog.asp, recherchez la fonction suivante :
    mscsUserCatalogs
  9. Remplacez tout le texte de cette fonction par le texte suivant :
    Dim userCatalogsetID
userCatalogsetID = mscsUserCatalogsetID()
set mscsUserCatalogs = mscsUserCatalogsFromID(userCatalogsetID)


Modification de Html_lib.asp

Modifiez le fichier html_lib.asp de sorte que les mots de passe puissent être récupérés du cache lors de la copie des utilisateurs à partir du site.

Pour modifier le fichier Html_lib.asp

  1. Ouvrez le fichier html_lib.asp à l’aide d’une application de texte brut, telle que le Bloc-notes Microsoft. Le fichier html_lib.asp se trouve dans le dossier <lecteur>:\inetpub\wwwroot\<nom_site>\include sur l’ordinateur Commerce Server, où <lecteur> représente le lecteur où les services IIS sont installés.
  2. Dans le fichier html_lib.asp, recherchez la fonction RenderPasswordBox.

    3.

  3. Remplacez tout le code de la fonction mentionnée ci-dessus par le texte suivant :

    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.


Modification de Login.asp

Modifiez le fichier login.asp de sorte que si les services IIS sont réinitialisés au cours d’une session, les utilisateurs soient invités à ouvrir de nouveau une session.

Pour modifier le fichier Login.asp

  1. Ouvrez le fichier login.asp à l’aide d’une application de texte brut, telle que le Bloc-notes Microsoft. Le fichier login.asp se trouve dans le dossier Program Files\Microsoft Commerce Server 2002\AuthFiles sur le CD-ROM de Commerce Server 2002.
  2. Dans le fichier Login.asp, recherchez le texte suivant :
    if objAuth.IsAuthenticated(30)
  3. Remplacez le texte ci-dessus, qui commence par :
    if objAuth.IsAuthenticated(30)
et se termine par :
Set objAuth = Nothing
par le texte suivant :
PrintLogin
End If
Set objAuth = Nothing


Modification de Requisition.asp

Modifiez le fichier requisition.asp de sorte que les commandes puissent être affichées à partir du site.

Pour modifier le fichier Requisition.asp

Dans le fichier requisition.asp, effectuez les opérations suivantes :

  1. Ouvrez le fichier requisition.asp à l’aide d’une application de texte brut, telle que le Bloc-notes Microsoft. Le fichier requisition.asp se trouve dans le dossier <lecteur>:\inetpub\wwwroot\<nom_site>\services\include sur l’ordinateur Commerce Server, où <lecteur> représente le lecteur où les services IIS sont installés.
  2. Dans le fichier requisition.asp, recherchez la fonction rsGetOrdersList.
  3. Dans cette fonction, recherchez la chaîne de texte :
    oSearchInfo.user_org_id = mscsUserProfile(USER_ORGID).Value
  4. Remplacez le texte affiché ci-dessus par le texte suivant :
    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


Modification de Stepsrch.asp

Modifiez le fichier stepsrch.asp de sorte que les définitions de propriétés qui incluent des tirets (–) puissent faire l’objet de recherches.

Pour modifier le fichier Stepsrch.asp

  1. Ouvrez le fichier stepsrch.asp à l’aide d’une application de texte brut, telle que le Bloc-notes Microsoft. Le fichier stepsrch.asp se trouve dans le dossier <lecteur>:\inetpub\wwwroot\<nom_site> sur l’ordinateur Commerce Server, où <lecteur> représente le lecteur où les services IIS sont installés.
  2. Dans le fichier stepsrch.asp, recherchez la fonction suivante :
    Sub PerformSpecificationSearch
  3. Dans cette fonction, recherchez le texte suivant :
    sColList = sColList + "," + oCatalog.IdentifyingProductProperty
  4. Remplacez le texte affiché ci-dessus par le texte suivant :
    sColList = sColList + ",[" + oCatalog.IdentifyingProductProperty + "]"
  5. Une fois que vous avez modifié les quatre fichiers ASP, exécutez iisreset à l’invite de commande.
Après que les services IIS ont redémarré, l’installation du site solution Supplier dans une configuration à deux ordinateurs est terminée.

Pour obtenir des instructions sur la gestion du site solution Supplier, consultez le Didacticiel entreprise-entreprise.


Déploiement dans les environnements distribués

Dans le cadre de déploiements à grande échelle, chaque composant de Commerce Server 2002 peut être installé sur sa propre base de données séparée. Cette section répertorie les dépendances engendrées par l’impératif de haute disponibilité, dont vous devez tenir compte pour chaque composant lors du déploiement dans un environnement distribué.

Cette section contient les rubriques suivantes :

  • Base de données d’administration
  • Système de profil
  • Système de catalogue de produits
  • Système de ciblage
  • Service de publipostage
  • Authentification
  • Pipeline de processus commercial
  • Data Warehouse


Base de données d'administration

Envoyer des commentaires sur cette page Commerce Server 2002

Base de données d’administration

La base de données d’administration de Commerce Server sert à stocker des informations de configuration pour les ressources Commerce Server, qu’il s’agisse de ressources globales, partagées par tous les sites, ou de ressources spécifiques à un site. Les connexions à partir d’objets utilisées pour accéder à la base de données sont de caractère transitoire, et le fichier Global.asa stocke ces données dans un cache où il sera possible de les consulter ultérieurement. Après la mise en cache de ces informations, la connexion de base de données n’est plus nécessaire.

Vous pouvez assurer la redondance de la base de données d’administration à l’aide du clustering Windows. Pour ce faire, vous avez le choix entre les types de configuration suivants :

  • Configuration active-active. Tous les nœuds exploitent et hébergent une base de données.
  • Configuration active-passive. Un nœud exploite et héberge une base de données ; tous les autres nœuds sont inactifs (ils fonctionnent en tant que nœuds de secours), prêts à s’exécuter et à héberger la base de données si le nœud actif subit une défaillance.

Lorsque l’application IIS est chargée (lors du premier accès à une page ASP dans le répertoire virtuel de cette application), la sous-routine Application_OnStart est appelée pour charger la base de données d’administration dans le cache. La sous-routine Application_OnStart charge les variables d’application à l’aide de l’objet SiteConfigReadOnly, qui requiert une connexion à la base de données d’administration.

En cas d’échec de la sous-routine Application_OnStart (par exemple si l’ordinateur qui exécute SQL Server est en panne ou, simplement, n’est pas disponible), vous devez prendre l’une des mesures suivantes pour recharger les variables d’application :

  • Exécutez une page ASP qui effectue toutes les procédures d’initialisation réalisées par le fichier Global.asa. Cette option est la moins perturbante. Vous devez utiliser des listes de contrôle d’accès (ACL, Access Control List) pour protéger cette page ASP de sorte que seuls les processus ou les personnes autorisés puissent l’exécuter.
  • Déchargez l’application Commerce Server à partir du Gestionnaire des services Internet (IIS).
  • Exécutez la commande IISReset ; cette option est perturbante dans la mesure où elle réinitialise toutes les applications ASP en cours d’exécution sur le serveur IIS.
  • Redémarrez le serveur Web ; cette option est la plus perturbante parce qu’elle a des répercussions sur toutes les applications et tous les services qui s’exécutent sur le serveur Web.

Vous pouvez exécuter toutes ces options sous forme de script.

Voir aussi

Gestion de la base de données d’administration


Système de profil

Vous pouvez utiliser le système de profil de Commerce Server pour regrouper des données de plusieurs banques de données comme Active Directory (protocole LDAP (Lightweight Directory Access Protocol) version 3.0) et SQL Server.

À l’aide du système de profil, vous pouvez stocker les données dans la banque de données qui convient le mieux au profil d’utilisation.

  • Les services d’annuaire sont généralement optimisés pour un fonctionnement en lecture seule à cause de fonctionnalités de sécurité inhérentes à ces services.
  • SQL Server est optimisé pour un fonctionnement en lecture comme en écriture, mais comporte moins de fonctionnalités de sécurité inhérentes.
  • Vous devez utiliser Active Directory pour stocker les données essentiellement statiques durant une visite de votre site ou les données qui doivent être protégées à l’aide de listes de contrôle d’accès (ACL).
  • Utilisez SQL Server pour stocker les données qui changent souvent durant une visite.

Par exemple, Active Directory est basé sur un modèle LDAP hiérarchique convenant parfaitement à l’extraction rapide d’un élément individuel. Les attributs stockés dans Active Directory sont facilement accessibles aux autres applications susceptibles de s’exécuter dans le centre de données. Les attributs qui se prêtent le mieux à un stockage dans Active Directory sont par exemple Nom d’utilisateur, Adresse et Ville.

Au contraire, les attributs spécifiques à Commerce Server qui sont susceptibles de changer souvent, par exemple la date du dernier achat, doivent être stockés dans une base de données SQL Server pour tirer pleinement parti de la capacité de SQL Server à traiter les mises à jour très fréquentes. La disponibilité des données peut varier considérablement, selon la combinaison de banques de données que vous choisissez d’utiliser pour conserver les données.

Pour générer une base de données des profils de grande envergure et à haute disponibilité, vous devez utiliser un cluster de partition configurée par hachage, composé de serveurs qui exécutent SQL Server et fonctionnant dans le cadre du clustering Windows. Le hachage affecte un utilisateur à une partition de profils particulière.

La figure suivante montre comment vous pouvez installer un cluster de partition configurée par hachage composé de serveurs SQL Server. Chaque serveur du système de profil exécute le clustering Windows.

Figure qui montre un cluster de partition configurée par hachage composé de serveurs SQL Server

La figure suivante montre le clustering Windows dans une configuration active-passive avec un disque partagé.

Figure qui montre le clustering Windows dans une configuration active-passive avec un disque partagé

Remarque

  • Si vous utilisez l’architecture partitionnée décrite dans cette section, vous devez créer les partitions avant de commencer. Si vous ajoutez des partitions alors que votre site contient déjà des données utilisateur, vous devrez supprimer et restaurer les données utilisateur pour être sûr qu’elles sont stockées dans la bonne partition.

Le système de profil ouvre une connexion de base de données, lit les informations de configuration et construit un cache de configuration de profil à partir de ces informations. Les connexions à la base de données sont gérées en groupe et comportent une logique intégrée de relance, utilisée en cas de perte d’une connexion.

L’accès au système de profil est initié dans la fonction Application_OnStart de Global.ASA. Ensuite, l’application Web accède à la base de données des profils et aux banques de données de profils sous-jacentes à travers le système de profil, les objets de profil et le fournisseur OLE DB pour Commerce Server (en utilisant des objets Active Directory). Les dépendances de point faible unique (SPOF, single-point-of-failure) du système de profil sont les suivantes :

  • Objet AppConfig (pour rechercher la chaîne de connexion à la base de données des profils)
  • Base de données d’administration
  • Base de données des profils (pour rechercher des informations sur le schéma, les entrées du glossaire du site et les expressions)
  • Banques de données de profils SQL
  • Banques de données LDAP Active Directory
  • Banques de données LDAP
  • Banques de données OLE DB/ODBC tierces

Voir aussi

Exécution de la ressource Profils

Profils Business Desk


Intégration de données utilisateur provenant de banques de données tierces

Vous pouvez utiliser le système de profil pour intégrer des données provenant de banques de données tierces (par exemple des données résidant dans une base de données Oracle). Selon ce que vous voulez faire, il est possible qu’il soit plus économique d’installer une configuration à haute disponibilité pour la banque de données tierce. Soyez conscient, toutefois, qu’en cas d’échec d’une lecture d’une des sources de données sous-jacentes, l’opération tout entière échoue. Vous pouvez configurer une redondance pour les banques de données tierces en créant un serveur virtuel à partir de ces banques de données. Le nom de source de données (DSN, Data Source Name) qu’utilise le système de profil doit ensuite être établi avec le serveur virtuel.


Agrégation des données utilisateur de plusieurs banques de données

Chaque fois que vous devez placer des données dans des banques de données différentes, il existe un risque d’indisponibilité d’une ou plusieurs de ces banques de données. La figure suivante montre une banque de données non disponible.

Figure qui monre une banque de données non disponible

En guise de protection contre une telle situation, le système de profil prend en charge la notion de transaction souple. Une transaction souple est une transaction dans laquelle les écritures et les mises à jour des banques de données gérant les transactions (telles que SQL Server et Oracle) agrégées par le système de profil ne sont validées que si ces opérations réussissent dans les banques de données ne gérant pas les transactions (Active Directory).

L’exemple de logique suivant montre comment Commerce Server traite les transactions souples dans un site utilisant des banques de données Active Directory, SQL Server et Oracle pour stocker les attributs de profil utilisateur. Cette logique est activée par l’attribut isTransactioned de la définition de profil. L’exemple de logique est le suivant :

   Start transaction for SQL Server
   Write changes
      Start transaction for Oracle
      Write changes
         Write changes to Active Directory_1
      Commit changes_2
   Commit changes_3

If 1 fails, then 2 & 3 abort.
If 1 succeeds and 2 fails, then Active Directory store is inconsistent.
If 1 & 2 succeed, 3 fails, then SQL Server is inconsistent.

Le système de profil ne gère pas les validations à deux phases.


Système de catalogue de produits

Dans le système de catalogue de produits de Commerce Server, vous pouvez rendre redondante la base de données des catalogues en l’installant sur plusieurs serveurs Web accessibles à travers une solution d’adresse IP unique. Dans cette configuration, un ordinateur exécutant SQL Server publie des catalogues de produits à l’intention d’ordinateurs abonnés exécutant SQL Server (les ordinateurs de production). Les abonnés possèdent des versions en lecture seule des catalogues de produits et leur charge est équilibrée à l’aide de l’équilibrage de charge réseau (NLB, Network Load Balancing).

Comme une seule chaîne de connexion est prise en charge, cette configuration exige qu’un fichier d’hôtes sur le serveur exécutant Commerce Server Business Desk fasse référence à l’éditeur SQL Server et non aux ordinateurs abonnés.

  • Petite installation. Utilisez le clustering actif-actif ou actif-passif. Cette configuration prend en charge deux nœuds exécutant Microsoft Windows 2000 Server ou quatre nœuds exécutant Microsoft Windows 2000 Datacenter Server.
  • Grande installation. Utilisez l’équilibrage de charge réseau pour exploiter en cluster des serveurs exécutant SQL Server et pour fournir un seul nom de base de données virtuel auquel accédera la logique commerciale de la base de données des catalogues.

    Ou bien, vous pouvez utiliser la réplication SQL Server (instantanée ou transactionnelle, selon vos besoins) pour préserver la cohérence des données parmi les serveurs exécutant SQL Server.

    La figure suivante montre comment une configuration utilisant l’équilibrage de charge réseau peut se présenter. En pratique, l’équilibrage de charge réseau a été testé avec un cluster contenant jusqu’à huit serveurs exécutant SQL Server.

    Figure qui montre un cluster de base de données des catalogues utilisant l'équilibrage de charge réseau

  • Très grande installation. Placez une solution d’adresse IP unique devant plusieurs clusters NLB. La figure suivante donne une idée de l’aspect que peut avoir la structure d’une base de données des catalogues dans le cadre d’une installation de très grande envergure.

Figure qui montre la structure d'une base de données des catalogues pour un site de très grande taille

Le système de catalogue de produits conserve une connexion permanente aux tables de base de données. En cas de perte de la connexion à la suite de problèmes du réseau ou de la base de données, le système de catalogue de produits essaie de la rétablir.

L’accès à la base de données des catalogues est initié dans la fonction Application_OnStart de Global.ASA. Ensuite, l’application Web accède aux informations du catalogue de produits à travers l’objet CatalogManager qui, à son tour, accède à la base de données des catalogues. L’objet CatalogManager présente les dépendances de point faible unique suivantes :

  • Objet AppConfig (pour rechercher la chaîne de connexion à la base de données des catalogues)
  • Base de données d’administration
  • Base de données des catalogues (pour extraire le schéma et les données)
  • Système de fichiers NTFS (pour importer et exporter le fichier XML du catalogue)

Voir aussi

Réplication du contenu de catalogues

Catalogues


Système de ciblage

La logique commerciale du système de ciblage de Commerce Server conserve dans un cache la totalité de ses informations de travail, et en particulier les informations sur les remises, les publicités, les livraisons et les taxes.

L’objet CacheManager comporte une logique de relance intégrée, que vous configurez à l’aide de la propriété RetryInterval.

Un minuteur d’actualisation, spécifié par programme à l’aide de la propriété RefreshInterval de l’objet CacheManager, contrôle la fréquence selon laquelle l’objet CacheManager actualise un objet cache particulier. Une connexion à la base de données est créée chaque fois que le cache est actualisé. Un cache existant n’est pas effacé tant qu’il n’a pas été actualisé.

Vous pouvez installer le système de ciblage sur plusieurs serveurs Web et maximiser sa disponibilité en utilisant un cluster à équilibrage de charge réseau (NLB, Network Load Balancing) composé d’ordinateurs exécutant SQL Server.

La figure suivante montre la solution de base de données la plus petite que vous puissiez utiliser pour obtenir les résultats de clustering voulus. Dans cette figure, le cluster à équilibrage de charge réseau est configuré pour diriger d’abord le trafic réseau vers le serveur SQL principal. Il ne dirige le trafic vers le serveur SQL secondaire que si le serveur SQL principal ne fonctionne pas.

Figure qui montre comment le système de ciblage peut être installé dans un cluster

Le système de ciblage présente les dépendances de point faible unique suivantes :

  • Objet AppConfig (pour rechercher les chaînes de connexion aux bases de données requises)
  • Base de données d’administration (initialisation)
  • Base de données des catalogues (pour les informations sur les produits)
  • Base de données des profils (pour les expressions)
  • Base de données des campagnes marketing


Service de publipostage

Le service de publipostage peut être déployé sur des clusters, en tant que ressource à haute disponibilité tirant parti du clustering Windows.

Le service de publipostage dépend de l’Agent SQL Server, et comme ce dernier prend en charge les clusters, vous pouvez installer la base de données du service de publipostage dans une configuration de clustering Windows.

Bien qu’il ne puisse exister qu’un seul service de publipostage par site (tel qu’il est spécifié par la ressource globale Service de publipostage), rien ne vous empêche d’installer le service de publipostage sur plusieurs serveurs. Plusieurs services de publipostage ne peuvent pas partager la même base de données du service de publipostage.

En plus de sa prise en charge des clusters, le service de publipostage gère les défaillances d’une base de données du service de publipostage exploitée en cluster ou les erreurs du point de dépôt, qui peut être soit un serveur SMTP (Simple Mail Transfer Protocol), soit un répertoire de dépôt. Par exemple, le service de publipostage dispose des fonctionnalités suivantes pour traiter les défaillances :

  • Le service de publipostage ouvre une connexion de base de données au démarrage pour récupérer les travaux éventuellement interrompus. Il ouvre également une connexion de base de données pour chaque travail. En cas de perte de la connexion de base de données, le service de publipostage est en mesure de gérer les échecs de connexion temporaires.
  • Les travaux qui échouent à la suite d’une erreur récupérable (par exemple lorsque le serveur tombe en panne ou que le service MSSQLSERVER cesse d’être disponible pendant une période de temps prolongée) sont redémarrés automatiquement dès que le service incriminé redémarre.
  • Chaque travail utilise une liste de publipostage pour communiquer au fur et à mesure son état d’avancement. Toutefois, selon le moment où une défaillance intervient, le dernier message envoyé avant la défaillance peut être envoyé une deuxième fois lorsque le service de publipostage redémarre.

Vous pouvez configurer le service de publipostage pour utiliser plusieurs threads, et il est possible qu’un message en double pour chaque thread soit envoyé lorsque le service de publipostage redémarre. (Le nombre de messages en double est généralement égal à autant de threads qu’il y a de processeurs.)

Le tableau suivant répertorie les tentatives qui ont lieu pour chaque mode d’échec.

Mode d’échec | Action
Durant la préparation de l’importation/exportation pour le publipostage, le Gestionnaire de listes subit une défaillance. | Si la défaillance est considérée comme récupérable (par exemple dans le cas où SQL Server n’est pas disponible) et ne constitue pas un problème de données, l’opération est répétée jusqu’à n fois. Autrement, l’opération échoue.
Le Gestionnaire de listes ne peut pas être créé en collaboration. | L’opération échoue. Le Gestionnaire de listes ne prend pas en charge les clusters.
Durant un publipostage, le serveur de la base de données du service de publipostage tombe en panne. L’opération est répétée n fois. Dans le Gestionnaire Commerce Server, définissez les propriétés suivantes du service de publipostage :
  • Nombre de tentatives. Nombre de tentatives de connexion à la base de données du service de publipostage en cas d’échec de la connexion. Une fois ce nombre épuisé, le travail actif est arrêté.
  • Intervalle avant nouvelle tentative. Intervalle de temps séparant deux tentatives consécutives du service de publipostage.
Durant un publipostage, un serveur SMTP cesse d’être disponible. | L’opération est interrompue et répétée n fois. Si elle continue à échouer, elle est supprimée de la liste. S’il s’agit de la dernière opération de la liste, l’échec est constaté.
Durant un publipostage, un répertoire de dépôt cesse d’être disponible. | L’opération est interrompue et répétée n fois. Si elle continue à échouer, elle est supprimée de la liste. S’il s’agit de la dernière opération de la liste, l’échec est constaté.

Vous installez le service de publipostage sur un serveur SQL en tant que service Windows. Le service de publipostage accède à la base de données d’administration pour son initialisation, puis il utilise le système de profil pour obtenir des informations sur les profils utilisateur, il s’informe sur les travaux et emploie les services IIS pour restituer les pages personnalisées. Enfin, le service de publipostage utilise le répertoire de dépôt de courrier du serveur Exchange (ou d’un serveur SMTP) pour envoyer son courrier. Le service de publipostage présente les dépendances de point faible unique suivantes :

  • Objet AppConfig
  • Base de données d’administration (initialisation)
  • Gestionnaire de listes
  • Base de données du service de publipostage
  • Services IIS
  • NTFS (répertoire de dépôt du courrier Exchange Server)
  • Serveur SMTP (connexion de socket)

Les mesures suivantes permettent d’assurer la disponibilité du service Gestionnaire de listes :

  • Exploitez en cluster les bases de données auxquelles se connecte le Gestionnaire de listes : la base de données des campagnes marketing pour utiliser Commerce Server Business Desk et la base de données du service de publipostage.
  • Le Gestionnaire de listes est à la fois un serveur et un client sur un même ordinateur physique et ne bénéficie pas du clustering. Ne déployez pas le clustering Windows pour le service Gestionnaire de listes.
  • Comme les objets et les services qui utilisent le Gestionnaire de listes se connectent toujours à l’instance locale, il n’est pas nécessaire de placer le Gestionnaire de listes dans un cluster.

Voir aussi

Exécution du service de publipostage

Création de publipostage

Gestion des listes des enregistrements utilisateur


Authentification

AuthFilter est implémenté en tant que filtre ISAPI (Internet Server Application Programming Interface) des services IIS (Internet Information Services) 5.0. Il appelle l’objet AuthManager pour obtenir au moment de l’initialisation des informations de configuration de la base de données d’administration (notamment les paramètres de mode d’authentification et la clé de cryptage). La seule dépendance du filtre AuthFilter est la base de données d’administration.

Lorsqu’un utilisateur accède à un site comportant plusieurs serveurs Web, la demande est dirigée sur un serveur particulier en fonction de l’équilibrage de la charge ou d’un algorithme d’alternance. Lorsque la demande parvient au serveur, l’utilisateur est prié d’ouvrir une session.

Si vous utilisez le service d’annuaire Active Directory pour l’authentification, les informations d’ouverture de session sont placées dans un cache par le filtre ISAPI et sont spécifiques à ce serveur. Commerce Server place également un cookie de ticket contenant l’identificateur de l’utilisateur sur le serveur client.

Pour permettre à l’utilisateur d’être redirigé de façon transparente vers d’autres serveurs Web du cluster, vous devez faire en sorte qu’il soit possible de passer au filtre ISAPI des autres serveurs suffisamment d’informations pour que l’utilisateur puisse y ouvrir une session. Vous devez écrire un code personnalisé pour masquer ce processus à l’utilisateur. Pour écrire ce code personnalisé, procédez de la façon suivante :

  1. Étendez la base de données des profils pour stocker le mot de passe.
  2. Capturez le mot de passe dans la base de données des profils durant l’ouverture de session ou l’inscription à un site.
  3. Modifiez l’inscription à un site ou la page d’ouverture de session pour vérifier la présence du cookie de ticket.

    Si ce cookie existe, utilisez l’objet MSCSAuthManager pour en extraire l’identificateur de l’utilisateur et lisez le nom d’utilisateur et le mot de passe dans la base de données des profils, puis repassez ce nom et ce mot de passe au filtre ISAPI.

Si le cluster utilise l’équilibrage de charge, vous devez stocker les mots de passe en employant un cryptage réversible. Comme les mots de passe sont capturés sur la page d’ouverture de session et écrits dans la base de données des profils, la page d’ouverture de session capture aussi les changements de mot de passe. Toutefois, en cas d’utilisation d’outils Active Directory pour changer de mot de passe durant une session de navigateur, l’utilisateur sera invité à ouvrir une session et le nouveau mot de passe sera capturé.

Remarque

  • Vous pouvez résoudre le problème d’authentification précédent en déployant Application Center Request Forwarder, qui peut transférer la demande avant l’issue de la procédure d’authentification, puis transférer l’utilisateur vers le serveur qui le reconnaîtra.


Pipelines de processus commercial

Les composants de pipeline n’ont pas été conçus pour effectuer une nouvelle tentative après un échec. Lorsque le pipeline cesse ses traitements, le processus de pipeline échoue et la commande n’est pas traitée.

Pour assurer une haute disponibilité, vous pouvez implémenter dans la page ASP un code qui relance un processus de pipeline après un échec et qui, au bout de n échecs, écrit la transaction dans une autre base de données ou une file d’attente Message Queuing.

Vous pouvez installer des composants de pipeline sur plusieurs serveurs Web et les rendre hautement disponibles à l’aide d’une solution d’adresse IP unique. L’équilibrage de charge réseau vous permet de créer un seul serveur virtuel à partir de tous les serveurs sur lesquels des composants de pipeline sont installés. En cas de problème, le serveur en panne est retiré automatiquement du cluster, et la charge est répartie entre les autres serveurs du cluster qui fonctionnent encore.

La figure suivante montre comment vous pouvez distribuer les composants de pipeline.

Figure qui montre des composants de pipeline distribués

S’ils exigent beaucoup de temps processeur, les composants de pipeline personnalisés peuvent être hébergés sur un serveur d’équilibrage de la charge des composants. (L’équilibrage de la charge des composants est disponible avec Microsoft Application Center 2000.) Il existe un coût du partage des données entre des serveurs, mais ce coût peut s’avérer acceptable si le composant doit effectuer un volume de traitement important. Par exemple, un site de médias numériques peut crypter des morceaux de musique avec une clé publique pour empêcher son piratage. Comme le cryptage mobilise beaucoup de ressources d’unité centrale, il convient peut-être de déplacer ce processus vers un serveur distinct. Vous pouvez exploiter en cluster les serveurs qui hébergent le composant de cryptage et les activer en utilisant l’un des serveurs Web exécutant d’autres parties du pipeline.

La figure suivante montre comment vous pouvez séparer les services gourmands en temps processeur des autres services.

Figure qui montre des services gourmands en temps processeur qui sont séparés d'autres services

Vous utilisez des composants de pipeline COM+ pour accéder au pipeline de traitement des commandes de Commerce Server (OPP, Order Processing Pipeline). Les composants sont gérés en pool, mais il existe une interface d’initialisation, de réinitialisation et de recyclage qui est appelée lorsque l’objet OrderForm est recyclé dans le pool. Vous pouvez utiliser cette interface pour libérer des connexions, de la mémoire, etc., lorsque l’objet OrderForm est rendu au pool, et pour initialiser des connexions de base de données lorsque des composants sont demandés.

Le pipeline de processus commercial présente les dépendances de point faible unique suivantes :

  • Objet QueryCatalogInformation accédant à la base de données des catalogues
  • Base de données des transactions (pour enregistrer et charger les paniers et les commandes)
  • Applications COM+ distantes (s’il y en a)


Data Warehouse

Le Data Warehouse a des composants hors ligne et des composants en ligne. Ces deux types de composants présentent des contraintes de disponibilité très différentes. Ainsi, une très grande base de données qui contient des données brutes importées ne doit pas être disponible pour les requêtes pendant l’importation de données (elle doit être placée hors ligne). S’il y a lieu, vous pouvez l’exploiter en cluster. Ou bien, s’il n’est pas indispensable que la base de données soit hautement disponible, vous pouvez la sauvegarder à intervalles réguliers sur une bande magnétique ou tout autre support permanent. Le Data Warehouse de Commerce Server 2002 ne prend pas en charge le clustering OLAP.

Le Data Warehouse importe des journaux IIS pour le système d’analyse commerciale et le système de ciblage. Le Data Warehouse présente les dépendances de point faible unique suivantes :

  • Base de données d’administration (initialisation)
  • Processus d’importation de journal IIS
  • Système de fichiers journaux IIS
  • Tâche DTS (Data Transformation Services) Importation du catalogue des produits
  • Tâche DTS Importation de données de transaction (paniers et commandes)
  • Tâche DTS Importation des données du profil utilisateur
  • Tâche DTS Importation de campagne marketing

Les mesures suivantes permettent d’assurer la disponibilité du Data Warehouse :

  • Déployez le clustering Windows pour les bases de données d’administration, des profils, des catalogues, des transactions et des campagnes marketing.
  • Déployez le clustering Windows pour NTFS (Système de fichiers journaux IIS).

Les cubes OLAP (Online Analytical Processing) représentent des structures de données que le Data Warehouse utilise pour contenir les données que vous importez. Le système d’analyse commerciale utilise ces données pour générer des rapports statiques et dynamiques. Ce système présente les dépendances de point faible unique suivantes :

  • Base de données d’administration
  • Base de données du Data Warehouse
  • Base de données OLAP/Analysis
  • Commerce Server Business Desk

Les mesures suivantes permettent d’assurer la disponibilité du système d’analyse commerciale :

Déployez le clustering Windows pour la base de données d’administration et la base de données du Data Warehouse. Le Data Warehouse ne prend pas en charge le clustering OLAP.

Remarque

  • Vous pouvez ajouter des ordinateurs exécutant SQL Server au clustering Windows ; toutefois, les serveurs OLAP ne peuvent pas être exploités dans les clusters du clustering Windows.

Le Data Warehouse ouvre une connexion de base de données pour chaque tâche DTS d’importation et d’analyse. Cette connexion est conservée pendant toute la durée du processus, puis elle est fermée. Si la base de données cesse d’être disponible durant le processus, celui-ci échoue, mais vous pouvez le redémarrer. Si une défaillance survient durant le traitement de l’importation, vous devez supprimer manuellement toutes les données partiellement importées et redémarrer toutes les tâches DTS d’importation. Si une défaillance a lieu durant la génération des cubes OLAP, vous devez redémarrer manuellement la tâche DTS de postimportation.

Le Data Warehouse de Commerce Server est doté de plusieurs fonctionnalités qui améliorent sa fiabilité. Ces fonctionnalités sont notamment les suivantes :

  • Nouvelles tentatives d’exécution des tâches. Vous utilisez les options de nouvelle tentative des tâches DTS de Commerce Server pour contrôler le nombre et la fréquence des tentatives entreprises par Commerce Server pour exécuter les tâches qui ont échoué.
  • Redémarrage de l’importation de fichier journal Web. Vous utilisez les options de redémarrage de la tâche DTS d’importation de fichier journal Web pour contrôler le comportement qu’adopte Commerce Server en cas d’échec de l’importation d’un fichier journal Web, après avoir épuisé toutes les tentatives prévues.
  • Historique des tâches. Vous utilisez l’historique des tâches du Gestionnaire Commerce Server pour afficher l’état des tâches DTS exécutées.

Grâce à ces fonctionnalités, vous pouvez maximiser la disponibilité et la fiabilité du Data Warehouse en configurant le processus d’importation pour qu’il redémarre et saute les journaux erronés.

Voir aussi

Exécution du Data Warehouse


Déploiement de plusieurs sites partageant un même Data Warehouse

Vous pouvez déployer plusieurs sites Microsoft Commerce Server qui utilisent un Data Warehouse commun. Il suffit de décompresser ces sites sur un ordinateur local ou distant et de les ajouter à un Data Warehouse installé sur un ordinateur local ou distant.

Important

  • Les rapports de Commerce Server contiendront des données relatives à tous les sites du Data Warehouse. Pour exécuter des rapports sur un seul site, utilisez des rapports groupés.

Pour plus d’informations sur l’utilisation d’un Data Warehouse unique avec plusieurs sites, consultez Plusieurs sites et un Data Warehouse.

Respectez la procédure suivante pour décompresser deux sites qui partagent une même ressource Data Warehouse et une même ressource Profils.

Pour décompresser le premier site

Pour ajouter un site supplémentaire au Data Warehouse

Pour décompresser le premier site

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Microsoft Commerce Server 2002, puis cliquez sur Gestionnaire de package de site Commerce Server.
  2. Dans la boîte de dialogue Gestionnaire de package de site Commerce Server, sélectionnez Décompresser à partir d’un fichier de package (.pup), puis cliquez sur Suivant.
  3. Dans la boîte de dialogue Décompresser, tapez le chemin d’accès et le nom du fichier à décompresser ou cliquez sur Parcourir.
  4. Si vous avez cliqué sur Parcourir : dans la boîte de dialogue Ouvrir, naviguez vers le dossier contenant le fichier à décompresser, sélectionnez le fichier, puis cliquez sur Ouvrir.
  5. Lorsque la boîte de dialogue Décompresser réapparaît, sélectionnez Décompression personnalisée, puis cliquez sur Suivant.
  6. Dans la boîte de dialogue Méthode de décompression, sélectionnez Créer un nouveau site, puis cliquez sur Suivant.
  7. Dans la boîte de dialogue Nom du site, tapez le nom du nouveau site, puis cliquez sur Suivant.

    Remarques

    Vous devez respecter les contraintes suivantes pour le nom de site :

    • Ne pas utiliser de caractères spéciaux (tels que #, @, % et ') qui risquent de ne pas être reconnus par les bases de données SQL Server. Pour plus d’informations, consultez la documentation en ligne de SQL.
    • N’affectez pas le nom « Commerce » à votre site. Il s’agit d’un nom de base de données OLAP réservé. Si vous nommez votre site « Commerce », cela risque d’entraîner l’écrasement de votre base de données OLAP la prochaine fois que vous décompresserez un site.
    • Le nom du site ne peut pas dépasser 127 caractères.
  8. Dans la boîte de dialogue Sélectionner des ressources, cliquez sur Ajouter tout, puis cliquez sur Suivant.

    Remarque

    • Dans la boîte de dialogue Sélectionner des ressources, vous devez installer les ressources CS Authentication et Profiles. Elles ne fonctionnent pas si elles ne sont pas installées toutes les deux.
  9. Dans la boîte de dialogue Pointeurs de ressource globale, sélectionnez l’élément Data Warehouse de la liste Pointeurs de ressource globale.
  10. Dans la liste déroulante Ressources globales existantes, sélectionnez (Ajouter une nouvelle ressource globale).
  11. Dans la liste Pointeurs de ressource globale, sélectionnez Profils ; dans la liste déroulante Ressources globales existantes, sélectionnez (Ajouter une nouvelle ressource globale), puis cliquez sur Suivant.
  12. Dans la boîte de dialogue Chaînes de connexion de base de données, le Gestionnaire de package de site répertorie les bases de données qu’il crée ainsi que les serveurs sur lesquels elles sont créées. Pour modifier les bases de données et les serveurs, cliquez sur Modifier. Dans la boîte de dialogue Propriétés des liaisons de données, sélectionnez ou tapez les nouveaux noms de serveur et de base de données à copier, puis cliquez sur OK.

    Remarque

    • Si vous voulez copier une chaîne de connexion de base de données, sélectionnez la ligne contenant la chaîne de connexion à copier, puis cliquez sur Modifier. Dans la boîte de dialogue Propriétés des liaisons de données, sélectionner ou taper les noms de serveur et de base de données à copier, puis cliquer sur OK. Dans la boîte de dialogue Chaînes de connexion de base de données, sélectionner à nouveau la ligne contenant la chaîne de connexion à copier, puis cliquer sur Copier. Sélectionnez les lignes sur lesquelles vous voulez copier la chaîne de connexion, puis cliquez sur Coller.
  13. Cliquez sur Suivant.
  14. La boîte de dialogue Gestionnaire de package de site Commerce Server s’affiche si le Gestionnaire de package de site doit créer des bases de données. Les informations que vous indiquez dans cette boîte de dialogue sont utilisées pour la connexion à la base de données Master de votre installation SQL Server.
  15. Dans la boîte de dialogue Gestionnaire de package de site Commerce Server, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Utiliser la sécurité intégrée de Windows Utiliser la sécurité intégrée de Windows pour les bases de données.

    Remarque

    • Lorsque vous utilisez la sécurité intégrée de Windows, les noms d’utilisateur et les mots de passe ne sont pas stockés dans la chaîne de connexion SQL Server et ne sont pas affectés par la réinitialisation des mots de passe SQL. Pour plus d’informations sur la sécurité de Commerce Server, consultez Sécurisation de votre site.
    Utiliser un nom d’utilisateur et un mot de passe spécifiques | Utiliser l’authentification de SQL Server lors de la connexion aux bases de données.
    Nom d’utilisateur SQL Server | Taper le nom de connexion SQL Server pour les bases de données.
    Mot de passe de connexion SQL Server | Taper le mot de passe de connexion SQL Server.
  16. Cliquez sur OK.
  17. Dans la boîte de dialogue Sélectionner des applications, vérifiez que les applications à décompresser sont sélectionnées, puis cliquez sur Suivant.
  18. Dans la boîte de dialogue Sélectionner des ordinateurs IIS, des sites Web et des chemins, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom de l’ordinateur IIS Taper le nom d’ordinateur du serveur Web IIS sur lequel vous voulez décompresser les fichiers d’application.

    Remarque

    • Si vous avez choisi de décompresser les fichiers des applications sur un serveur distant, Commerce Server 2002 doit être installé sur ce serveur, faute de quoi vous ne pourrez pas y exécuter Business Desk.
    Actualiser
    • Actualiser la liste des sites Web sur l’ordinateur distant.
    Site Web IIS Sélectionner le nom du site Web IIS pour les applications sélectionnées.

    Remarque

    • Si vous décompressez un site sur un site Web IIS administratif, ce site et Business Desk ne fonctionneront pas en raison des limites de sécurité d’administration des services IIS.
    Chemin IIS | Taper le nom du chemin IIS pour les applications sélectionnées.

    Remarques

    • Pour éviter les erreurs IIS, vous ne devez pas inclure de caractères spéciaux (tels que #, @, % et ') dans vos noms de répertoires virtuels IIS.
    • Le Gestionnaire de package de site décompressera chaque application sous le répertoire de base de son site Web IIS correspondant. À l’intérieur du répertoire de base, le Gestionnaire de package de site crée un sous-dossier utilisant le nom de répertoire virtuel IIS de l’application.
    • Si vous voulez décompresser l’application à la racine du site Web, vous pouvez utiliser le caractère « / » ou laisser le champ Chemin IIS vide.
  19. Cliquez sur Suivant.
  20. Si vous avez ajouté la ressource Data Warehouse au site, la boîte de dialogue Data Warehouse s’affiche. Pour spécifier les paramètres de la ressource Data Warehouse, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper un nom pour la ressource globale Data Warehouse.
    Serveur | Taper le nom de l’ordinateur SQL Analysis (OLAP).
    Base de données | Taper le nom de la base de données Analysis (OLAP) à utiliser.
  21. Cliquez sur OK.
  22. Si vous avez ajouté la ressource Profils au site, la première des deux boîtes de dialogue Système de profil s’affiche. Si vous décompressez un site Solution, cliquez sur Suivant pour accepter les valeurs par défaut.

    Pour spécifier vos propres paramètres de profil, procédez comme suit :

    Utilisez ceci Pour faire cela
    Définition de schéma de profil Lorsque vous compressez un site, le Gestionnaire de package de site extrait le schéma de profil à partir de votre base de données de profils et le stocke dans un fichier XML. Spécifier le fichier XML dans cette zone pour le décompresser.

    Lorsque vous décompressez un site Solution, acceptez le fichier XML par défaut, ProfileDefinition. Ce fichier contient les définitions de profil suivantes : Adresse, BlanketPOs, Organisation, Contexte de ciblage et Objet utilisateur.
    Définition des entrées du glossaire du site Lorsque vous compressez un site, le Gestionnaire de package de site extrait de votre base de données la définition des termes du site et la stocke dans un fichier XML. Spécifier le fichier XML dans cette zone pour le décompresser.

    Lorsque vous décompressez un site Solution, acceptez le fichier XML par défaut, SiteTerms. Ce fichier contient les termes prédéfinis du site.
    Définition d’expression Lorsque vous compressez un site, le Gestionnaire de package de site extrait de votre base de données les définitions d’expressions que vous avez établies à l’aide de Business Desk et les stocke dans un fichier XML. Spécifier le fichier XML dans cette zone pour le décompresser.

    Lorsque vous décompressez un site Solution, un fichier XML par défaut est fourni : ExpressionDefinition. Ce fichier ne contient aucune expression prédéfinie pour les sites Solution.
  23. Cliquez sur Suivant.
  24. Si vous avez ajouté la ressource Profils au site, la seconde boîte de dialogue Système de profil s’affiche. Si vous décompressez un site Solution, cliquez sur Suivant pour accepter les valeurs par défaut.

    Pour spécifier vos propres paramètres de profil, procédez comme suit :

    Utilisez ceci | Pour faire cela
    Chaîne de connexion du système de profil | Accepter la chaîne de connexion par défaut à la base de données de profils ou cliquer sur Modifier pour configurer une nouvelle chaîne de connexion.
    Scripts de définition de schéma (*.sql, *.vbs) Spécifier le script de définition de schéma qui va créer les tables de profils dans les banques de données d’exécution (les tables SQL qui contiennent les données d’utilisateur, d’adresse, d’organisation, etc.).

    Lorsque vous décompressez un site Solution, SCHEMAUPM_SQLSource.SQLSource crée les tables correspondant aux définitions de profil par défaut : Adresse, BlanketPOs, Organisation, Contexte de ciblage et Objet utilisateur.

    Pour obtenir un exemple de script, consultez ProfileSQL.sql dans \Program Files\Microsoft Commerce Server 2002.

    Si vous modifiez la table UserObject ou d’autres définitions de schéma de profil, vous devez utiliser SQL Server Enterprise Manager pour générer un script à utiliser ici. Pour plus d’informations, consultez Compression de schéma de profil étendu.
    Scripts de remplissage des données (*.sql) Si vous avez extrait les données de profil à partir d’une base de données de profils, vous pouvez spécifier des scripts de remplissage des données. Ainsi, lors de la décompression, les données sont importées dans votre nouvelle base de données de profils.

    Pour obtenir un exemple de script contenant des données pour deux utilisateurs, consultez PopulateProfileSql.sql dans \Program Files\Microsoft Commerce Server 2002.
  25. Cliquez sur OK.
  26. Si vous utilisez la sécurité intégrée Windows, dans la boîte de dialogue Gestionnaire de package de site Commerce Server, passez en revue la liste des ressources qui sont décompressées et qui nécessitent des autorisations d’accès sur les comptes Windows appropriés, puis cliquez sur OK.
  27. Dans la boîte de dialogue Décompression terminée, consultez la liste des bases de données SQL et applications IIS qui ont été créées. Pour consulter la liste des événements contenus dans le fichier journal du Gestionnaire de package de site, cliquez sur Afficher le fichier journal.
  28. Pour fermer le Gestionnaire de package de site, cliquez sur Terminer.

Pour ajouter un site au Data Warehouse

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Microsoft Commerce Server 2002, puis cliquez sur Gestionnaire de package de site Commerce Server.
  2. Dans la boîte de dialogue Gestionnaire de package de site Commerce Server, sélectionnez Décompresser à partir d’un fichier de package (.pup), puis cliquez sur Suivant.
  3. Dans la boîte de dialogue Décompresser, tapez le chemin d’accès et le nom du fichier à décompresser ou cliquez sur Parcourir.
  4. Si vous avez cliqué sur Parcourir : dans la boîte de dialogue Ouvrir, naviguez vers le dossier contenant le fichier à décompresser, sélectionnez le fichier, puis cliquez sur Ouvrir.
  5. Lorsque la boîte de dialogue Décompresser réapparaît, sélectionnez Décompression personnalisée, puis cliquez sur Suivant.
  6. Dans la boîte de dialogue Méthode de décompression, sélectionnez Créer un nouveau site, puis cliquez sur Suivant.
  7. Dans la boîte de dialogue Nom du site, tapez le nom du nouveau site, puis cliquez sur Suivant.

    Remarque

    Vous devez respecter les contraintes suivantes pour le nom de site :

    • Ne pas utiliser de caractères spéciaux (tels que #, @, % et ') qui risquent de ne pas être reconnus par les bases de données SQL Server. Pour plus d’informations, consultez la documentation en ligne de SQL.
    • N’affectez pas le nom « Commerce » à votre site. Il s’agit d’un nom de base de données OLAP réservé. Si vous nommez votre site « Commerce », cela risque d’entraîner l’écrasement de votre base de données OLAP la prochaine fois que vous décompresserez un site.
    • Le nom du site ne peut pas dépasser 127 caractères.
  8. Dans la boîte de dialogue Sélectionner des ressources, cliquez sur Ajouter tout, puis cliquez sur Suivant.

    Remarque

    • Dans la boîte de dialogue Sélectionner des ressources, vous devez installer les ressources CS Authentication et Profils. Elles ne fonctionnent pas si elles ne sont pas installées toutes les deux.
  9. Dans la boîte de dialogue Pointeurs de ressource globale, sélectionnez l’élément Data Warehouse de la liste Pointeurs de ressource globale.
  10. Dans la liste déroulante Ressources globales existantes, sélectionnez une ressource Data Warehouse existante pour votre site.
  11. Dans la boîte de dialogue Pointeurs de ressource globale, sélectionnez l’élément Profils de la liste Pointeurs de ressource globale.
  12. Dans la liste déroulante Ressources globales existantes, sélectionnez une ressource Profils existante pour votre site, puis cliquez sur Suivant.
  13. Dans la boîte de dialogue Chaînes de connexion de base de données, les chaînes de connexion aux ressources Data Warehouse et Profils ont disparu. En effet, ces ressources existaient avant la décompression du site et toutes les chaînes de connexion sont déjà définies.

Pour ajouter d’autres sites au même Data Warehouse, consultez Pour ajouter un site supplémentaire au Data Warehouse.


Sauvegarde de votre site

Après avoir déployé et configuré votre site, vous devez sauvegarder tous les fichiers qu’il contient pour pouvoir le restaurer en cas de panne de serveur. Si votre site est de petite taille, la méthode la plus simple est de le recompresser en utilisant le Gestionnaire de package de site Commerce Server. Le nouveau package enregistrera nombre des paramètres de configuration spécifiques à votre site actuel. Le Gestionnaire de package de site ne compresse pas les propriétés spécifiques à l’ordinateur sur lequel vous vous trouvez. Par exemple, les propriétés de serveur Web et certaines propriétés d’application définies dans le Gestionnaire Commerce Server ne sont pas compressées. Pour obtenir une liste des données compressées pour chaque ressource, consultez Informations de référence sur le Gestionnaire de package de site.

Lorsque vous compressez votre site et que vous devez ensuite créer une sauvegarde par d’autres moyens, les composants suivants ne sont pas inclus dans un fichier de package :

  • Ressource Data Warehouse
  • Service de publipostage
  • Ressource Predictor
  • Bases de données présentes dans la ressource Profils

Veillez à recompresser votre site chaque fois que vous modifiez sa configuration. Pour plus d’informations sur la façon de compresser un site, consultez Compression d’un site.

Outre la compression de votre site, il est recommandé d’utiliser périodiquement le logiciel de sauvegarde du système pour créer des copies de sauvegarde complètes des données qui se trouvent sur les disques durs des serveurs.

Si votre site est de grande taille, la création d’un fichier de package pour ce dernier peut s’avérer difficile. Dans ce cas, vous devez sauvegarder chaque composant (applications et bases de données, par exemple) en appliquant une méthode appropriée pour ce composant.

Il est recommandé de sauvegarder la configuration de Commerce Server chaque fois qu’elle est modifiée, de telle sorte que vous puissiez facilement la restaurer à son état antérieur en cas de problème matériel ou logiciel grave. La liste suivante décrit les outils de sauvegarde appropriés pour chaque type de composant Commerce Server.

Pour sauvegarder votre installation Commerce Server

  1. Sauvegardez vos bases de données SQL Server à l’aide de SQL Enterprise Manager.
  2. Sauvegardez votre métabase des services IIS (Internet Information Services) 5.0 à l’aide de l’Assistant Sauvegarde de Microsoft Windows 2000.
  3. Sauvegardez votre Registre à l’aide de l’Assistant Sauvegarde de Windows 2000.
  4. Sauvegardez vos fichiers Commerce Server à l’aide de l’Assistant Sauvegarde de Windows 2000.
  5. Compressez votre site Commerce Server à l’aide du Gestionnaire de package de site Commerce Server.

Pour restaurer votre installation Commerce Server

  1. Restaurez la métabase IIS à l’aide de l’Assistant Sauvegarde de Windows 2000.
  2. Restaurez votre Registre à l’aide de l’Assistant Restauration de Windows 2000.
  3. Restaurez vos fichiers Commerce Server à l’aide de l’Assistant Restauration de Windows 2000.
  4. Décompressez votre site et/ou vos ressources Commerce Server à l’aide du Gestionnaire de package de site Commerce Server.

Cette section contient les rubriques suivantes :

  • Méthodes conseillées pour la sauvegarde de Commerce Server. Décrit des recommandations pour la sauvegarde des bases de données Commerce Server 2002.
  • Définition d’une stratégie de sauvegarde. Décrit les modèles de récupération des bases de données SQL Server, les options de sauvegarde, les recommandations pour la mise en place d’une stratégie de sauvegarde et explique comment implémenter un exemple de stratégie de sauvegarde.
  • Restauration des bases de données Commerce Server. Décrit les options des bases de données SQL Server et les recommandations pour la restauration des bases de données Commerce Server 2002.

Voir aussi

Utilisation du Gestionnaire de package de site


Méthodes conseillées pour la sauvegarde de Commerce Server

Cette rubrique répertorie les méthodes conseillées pour la sauvegarde de Commerce Server.

  • Gérez la taille du fichier journal des transactions en le sauvegardant fréquemment.

    SQL Server tronque automatiquement le fichier journal des transactions lorsque vous le sauvegardez ; par conséquent, plus vous le sauvegarderez, plus sa taille sera réduite.

  • Sauvegardez le fichier journal des transactions régulièrement et avant d’effectuer d’autres types de sauvegarde.

    La fréquence à laquelle vous sauvegardez le fichier journal des transactions détermine le degré de précision de la restauration par rapport au moment où la panne s’est produite. Vous pouvez restaurer la base de données à l’état qui était le sien au moment de la dernière sauvegarde du fichier journal des transactions juste avant une panne. En sauvegardant le fichier journal des transactions avant d’exécuter d’autres types de sauvegarde, vous avez la garantie de pouvoir restaurer votre base de données même en cas d’échec de la sauvegarde.

  • Planifiez votre stratégie de sauvegarde en fonction du niveau de précision souhaité pour la restauration.

    SQL Server intègre des outils de sauvegarde que vous pouvez mettre à profit pour créer des sauvegardes permettant d’obtenir différents niveaux de granularité. Votre stratégie de sauvegarde sera simple ou complexe selon la fréquence de modification de la base de données et des besoins de votre organisation pour des restaurations remontant jusqu’à la dernière la minute avant la défaillance d’une base de données.

  • Ne sauvegardez pas la base de données tempdb.

    La base de données tempdb ne contient aucune donnée nécessaire au fonctionnement de votre base de données. Sauvegardez les bases de données Commerce Server sur un disque physique distinct de celui contenant les données et les fichiers journaux des transactions.

    La sauvegarde des bases de données Commerce Server sur un disque physique distinct offre les avantages suivants :

    • elle optimise les performances des bases de données sauvegardées ;
    • elle optimise les performances de la sauvegarde car c’est la seule opération qui écrit sur le disque de destination ;
    • elle protège la sauvegarde en cas de panne du disque.
  • Recréez éventuellement les index de texte intégral lorsque vous restaurez la base de données associée.
La sauvegarde d’une base de données ne s’accompagne pas de la sauvegarde des données d’index de texte intégral dans les catalogues de texte intégral. Cependant, si des index de texte intégral ont été définis pour des tables, les métadonnées sont sauvegardées en même temps que la base de données. Une fois la sauvegarde de base de données restaurée, les catalogues des index de texte intégral peuvent être recréés et remplis. Pour plus d’informations sur les index de texte intégral, consultez la documentation en ligne de SQL Server.
  • Utilisez la procédure stockée sp_spaceused pour évaluer la taille de la sauvegarde et gérer l’espace requis.
La sauvegarde échouera si l’espace disponible sur l’unité de sauvegarde devient insuffisant avant la fin de la sauvegarde. La procédure stockée sp_spaceused affiche le nombre de lignes, l’espace disque réservé et l’espace disque utilisé par une table dans la base de données en cours, ou affiche l’espace disque réservé et utilisé par l’ensemble de la base de données.

Pour plus d’informations sur l’utilisation de la procédure stockée sp_spaceused, consultez la section des procédures stockées du système dans la documentation en ligne de SQL Server.

  • Répartissez par bandes les sauvegardes complètes sur plusieurs unités de sauvegarde situées sur des disques physiques distincts afin de réduire le temps de sauvegarde des bases de données.

    La répartition par bandes des sauvegardes sur plusieurs unités de sauvegarde a pour effet d’accélérer le processus de sauvegarde et de réduire les contraintes de mémoire et de performances sur les différentes unités de sauvegarde.

  • Déterminez les intervalles de sauvegarde en fonction de la fréquence nécessaire pour minimaliser les pertes de données et planifiez-les de façon à éviter toute interférence avec les activités de production.

Les utilisateurs ne peuvent pas écrire sur les bases de données de production pendant la sauvegarde. Programmez les sauvegardes de manière à les faire coïncider avec des périodes creuses dans l’activité des utilisateurs, tard la nuit par exemple. Déterminez la fréquence à laquelle les bases de données doivent être sauvegardées en examinant les niveaux d’activité et les taux de croissance. Par exemple, si la direction décide qu’en cas de panne de serveur de la base de données, elle ne tient pas à perdre plus de 120 minutes de données, vous devez alors prévoir des sauvegardes des fichiers journaux des transactions toutes les 120 minutes. Il serait logique de profiter de l’heure du déjeuner pour programmer l’une de ces sauvegardes et éviter ainsi un conflit d’utilisation si possible.


Définition d'une stratégie de sauvegarde

Envoyer des commentaires sur cette page Commerce Server 2002

Définition d’une stratégie de sauvegarde

Votre stratégie de sauvegarde doit reposer sur la vitesse et la quantité de données que vous ajoutez aux bases de données. Pour des bases de données très peu modifiées, par exemple, vous allez définir une stratégie de sauvegarde différente de celle des bases de données auxquelles vous ajoutez continuellement de grandes quantités de données. Examinez le cas de chaque base de données séparément car Commerce Server n’utilise pas toutes les bases de données de la même façon. La base de données des transactions, par exemple, peut subir plus d’une centaine de changements en l’espace d’une journée, alors que la base de données d’administration Commerce Server peut n’enregistrer qu’une seule modification en un mois. Dans cet exemple, vous pouvez souhaiter sauvegarder la base de données des transactions très fréquemment et la base de données d’administration rarement.

Outre la fréquence des modifications, vous devrez également tenir compte des contraintes de disponibilité de vos bases de données. S’il est crucial de sauvegarder les bases de données, il importe aussi que ces bases de données soient accessibles aux utilisateurs à certains moments. Lors de la sauvegarde de bases de données de production, vous souhaiterez probablement que cette opération influe aussi peu que possible sur la disponibilité de votre site.

Vous pouvez sauvegarder des données d’annuaire et des fichiers de configuration sur des supports classiques, tels que des bandes magnétiques, ou sur une unité de disque réseau ou locale distincte. Les annuaires sont fréquemment répliqués afin d’assurer l’équilibrage des charges, une haute disponibilité et un accès local dans un environnement distribué.

Il est recommandé de sauvegarder les bases de données SQL Server sur des unités physiques distinctes de celles contenant les bases de données. Vous pouvez utiliser des systèmes de stockage RAID pour créer une seule unité logique pour votre sauvegarde ou faire appel à la méthode de répartition par bandes pour effectuer la sauvegarde sur plusieurs unités. Les opérations de sauvegarde et de restauration à partir de bandes demandent beaucoup de temps et les données sauvegardées remontent à la date de création de la sauvegarde. Dans la plupart des cas, il est préférable de reconstruire un annuaire à partir de réplicas homologues, car les données des réplicas homologues sont déjà en ligne et toujours à jour.

Cette section contient les rubriques suivantes :

  • Modèles de récupération
  • Types de sauvegarde
  • Types de sauvegarde pris en charge par les modèles de récupération
  • Réduction des temps de sauvegarde et de restauration dans les environnements critiques
  • Restrictions de sauvegarde
  • implémentation d’un exemple de stratégie de sauvegarde
  • Vérification des sauvegardes


Modèles de récupération

Vous allez effectuer la sauvegarde et la restauration de votre base de données à l’aide de la fonctionnalité de sauvegarde et de restauration de SQL Server. SQL Server propose trois modèles de récupération : simple, complet et journalisé en bloc, et quatre types de sauvegarde : complète, différentielle, journal des transactions et fichier ou groupe de fichiers de base de données. SQL Server conserve une trace du type et de l’heure des sauvegardes réalisées sur chaque table. Vous pouvez définir une stratégie de sauvegarde en utilisant régulièrement les quatre types de sauvegarde de façon que vous puissiez restaurer exactement ce dont vous avez besoin en cas de panne.

Le tableau suivant donne un aperçu des avantages et des incidences des trois modèles de récupération.

Modèle de récupération | Avantages | Risque de perte des données | Récupération limitée dans le temps
Simple | Permet des opérations de copie en bloc hautes performances. Récupère l’espace du fichier journal pour réduire l’espace utilisé. | Les modifications survenues depuis la dernière sauvegarde doivent être réexécutées. | Permet une récupération remontant jusqu’à la fin de n’importe quelle sauvegarde, puis les modifications doivent être réexécutées.
Complet | Pas de perte de travail à cause d’un fichier de données perdu ou endommagé. Peut effectuer une récupération limitée dans le temps de façon arbitraire (par exemple, avant une erreur d’application ou d’utilisateur). | Normalement, pas de perte de données. Si le fichier journal est endommagé, les modifications effectuées depuis la dernière sauvegarde du fichier journal doivent être réexécutées. | Peut effectuer n’importe quelle récupération limitée dans le temps.
Journalisé en bloc | Permet des opérations de copie en bloc hautes performances. Un espace de fichier journal minimal est utilisé pour les opérations en bloc. | Si le fichier journal est endommagé ou si des opérations en bloc ont eu lieu depuis la dernière sauvegarde du fichier journal, les modifications survenues depuis la dernière sauvegarde doivent être réexécutées. Autrement, pas de perte de données. | Peut effectuer une récupération remontant jusqu’à la fin de n’importe quelle sauvegarde, puis les modifications doivent être réexécutées.


Types de sauvegarde

SQL Server propose quatre types de sauvegarde :

  • Sauvegarde complète de la base de données. Si la base de données est essentiellement une base de données en lecture seule, des sauvegardes complètes peuvent suffire à prévenir toute perte de données. Une sauvegarde complète sert de référence en cas de défaillance ou de panne système. Dans ce type de sauvegarde :
    • SQL Server sauvegarde toutes les opérations qui ont eu lieu pendant la sauvegarde.
    • SQL Server sauvegarde toutes les transactions non validées dans le fichier journal des transactions. Il utilise les portions du fichier journal des transactions qui ont été capturées dans le fichier de sauvegarde pour assurer la cohérence des données lors de la restauration de la sauvegarde.
  • Sauvegarde différentielle. Effectuez une sauvegarde différentielle pour réduire le temps de restauration d’une base de données fréquemment modifiée. Ne procédez à ce type de sauvegarde que si vous avez déjà effectué une sauvegarde complète. Dans la sauvegarde différentielle :
    • SQL Server sauvegarde toutes les parties de la base de données qui ont changé depuis la dernière sauvegarde complète. Pour déterminer quelles sont les pages de données qui ont été modifiées, SQL Server compare le LSN (Log file Sequence Number) des pages au LSN de synchronisation de la dernière sauvegarde complète. Au cours d’une sauvegarde différentielle, SQL Server sauvegarde non pas des pages individuelles mais des extensions. Une extension est sauvegardée lorsque le LSN d’une page de l’extension est supérieur à celui de la dernière sauvegarde complète.
    • SQL Server sauvegarde toutes les opérations survenant pendant l’opération de sauvegarde différentielle, de même que les transactions non validées dans le fichier journal des transactions.
  • Sauvegarde du fichier journal des transactions. Sauvegardez le fichier journal des transactions pour enregistrer toutes les modifications apportées à la base de données. Utilisez les sauvegardes du fichier journal des transactions en association avec les sauvegardes complètes et différentielles pour restaurer les données jusqu’à la dernière minute avant la sauvegarde du fichier journal des transactions. Le fichier journal des transactions est sauvegardé automatiquement à l’occasion d’une sauvegarde complète d’un fichier de base de données. Vous devez effectuer une sauvegarde complète de la base de données au moins une fois, avant de sauvegarder le fichier journal des transactions. Cette sauvegarde complète est nécessaire pour restaurer la sauvegarde du fichier journal des transactions. Vous aurez besoin de la sauvegarde de base de données correspondante pour restaurer une sauvegarde du fichier journal des transactions. Vous ne pouvez pas sauvegarder un fichier journal des transactions lorsque vous utilisez le modèle de récupération simple. Pour plus d’informations sur le modèle de récupération simple, consultez la documentation en ligne de SQL Server. La sauvegarde du fichier journal des transactions s’effectue de la façon suivante :
    • SQL Server sauvegarde le fichier journal des transactions depuis la dernière instruction BACKUP LOG réussie jusqu’à la fin du fichier journal des transactions en cours.
    • SQL Server tronque le fichier journal des transactions jusqu’à la partie active et supprime ainsi les informations de la portion inactive. La partie active commence au point de la transaction ouverte la plus ancienne et se poursuit jusqu’à la fin du fichier journal des transactions.
  • Sauvegarde de fichier ou de groupe de fichiers. En plus des sauvegardes complètes et différentielles, vous pouvez effectuer des sauvegardes de fichiers et groupes de fichiers de la base de données. Lorsque vous sauvegardez des fichiers ou groupes de fichiers individuels de la base de données, vous devez effectuer une sauvegarde du fichier journal des transactions afin de rendre les fichiers restaurés cohérents avec le reste de la base de données. Vous pouvez utiliser cette option pour spécifier jusqu’à 16 fichiers ou groupes de fichiers. La sauvegarde de fichiers ou groupes de fichiers individuels s’effectue de la façon suivante :
    • SQL Server sauvegarde seulement les fichiers de base de données spécifiés dans l’option FILE ou FILEGROUP. Pour plus d’informations sur les options FILE et FILEGROUP, consultez la documentation en ligne de SQL Server.
    • SQL Server permet de sauvegarder des fichiers de base de données spécifiques sans faire de sauvegarde complète de la base.
Pour plus d’informations sur les sauvegardes de fichiers ou de groupes de fichiers, consultez la documentation en ligne de SQL Server.

Important

  • En cas de panne de base de données, utilisez l’option NO_TRUNCATE pour sauvegarder le fichier journal des transactions. Cette option permet de sauvegarder toutes les opérations récentes de la base de données. Avec l’option NO_TRUNCATE, SQL Server sauvegarde l’intégralité du fichier journal des transactions (tout ce qui s’est passé depuis la dernière instruction BACKUP LOG), même si la base est inaccessible. SQL Server ne supprime pas les transactions terminées du fichier journal des transactions et permet de restaurer les données jusqu’au moment de la défaillance du système. Pour plus d’informations sur l’option NO_TRUNCATE, consultez la documentation en ligne de SQL Server.


Types de sauvegarde pris en charge par les modèles de récupération

Le tableau suivant décrit les types de sauvegarde disponibles pour chaque modèle de récupération.

Modèle de récupération | Sauvegarde complète | Sauvegarde différentielle | Sauvegarde du journal des transactions | Sauvegarde de fichier/groupe de fichiers
Simple | Requis | Facultatif | Interdit | Interdit
Complet | Requis | Facultatif | Requis | Facultatif
Journalisé en bloc | Requis | Facultatif | Requis | Facultatif

Lorsque vous créez une sauvegarde de base de données, l’opération de sauvegarde copie uniquement les données de la base dans un fichier de sauvegarde ; elle ne copie pas l’espace inutilisé de la base de données. Comme la sauvegarde de la base de données contient uniquement les données réelles de la base, et pas d’espace vide, la sauvegarde de la base de données a de fortes chances d’être plus petite que la base de données elle-même. Vous pouvez obtenir une estimation de la taille de la sauvegarde de la base de données en utilisant la procédure stockée du système sp_spaceused. La valeur réservée indique la taille estimée.

Microsoft SQL Server vide le journal des transactions lors de la sauvegarde de ce fichier. Par conséquent, lorsque vous effectuez des sauvegardes de base de données, il est recommandé de sauvegarder le fichier journal des transactions automatiquement à chaque fois qu’un point de contrôle survient dans la base de données. Cette approche permet d’éviter que le fichier journal des transactions ne soit plein, ce qui exigerait qu’il soit vidé manuellement, d’où un risque de perte de données.

Si vous réalisez uniquement des sauvegardes de base de données, l’intervalle de sauvegarde doit être suffisamment long pour que la charge de traitement liée à la sauvegarde n’affecte pas la production, mais suffisamment court pour éviter la perte d’un volume significatif de données. Les bases de données qui ne contiennent pas de données importantes et subissent peu de modifications peuvent être sauvegardées selon une fréquence hebdomadaire ou bihebdomadaire. Les données plus importantes ou qui changent souvent doivent être sauvegardées quotidiennement ou même plus fréquemment encore. Certaines bases de données, généralement en lecture seule, doivent être sauvegardées uniquement après une actualisation périodique à l’aide de nouvelles données.

Il est également prudent de posséder plusieurs sauvegardes de la base de données. Il est recommandé de gérer une série de supports de sauvegarde afin de disposer de deux ou plusieurs versions de base de données qui puissent être restaurées. Ceci vous permet de répondre à des situations dans lesquelles l’utilisateur peut effectuer certaines modifications incorrectes non détectées pendant un certain temps, ou de revenir à une sauvegarde antérieure lorsque le support de sauvegarde est endommagé.


Réduction des temps de sauvegarde et de restauration dans les environnements critiques

Les environnements critiques exigent souvent que la base de données soit disponible en permanence ou durant de longues périodes avec un temps d’immobilisation minimal. Ainsi, la durée des situations inattendues, telles qu’une panne matérielle, qui nécessitent la restauration de la base de données, doit rester aussi courte que possible. De plus, les bases de données critiques sont souvent importantes ce qui prend plus de temps pour les sauvegarder et les restaurer. Microsoft SQL Server propose plusieurs méthodes pour augmenter la vitesse des opérations de sauvegarde et de restauration, et minimise ainsi les inconvénients subis par les utilisateurs lors de ces opérations.

La réduction des temps de sauvegarde passe par :

  • L’utilisation de plusieurs unités de sauvegarde en simultané permet aux sauvegardes d’être écrites sur toutes les unités en même temps. De même, la sauvegarde peut être restaurée à partir de plusieurs unités en même temps.
  • L’utilisation d’une combinaison de sauvegardes complète, différentielle et du fichier journal des transactions pour réduire le nombre de sauvegardes devant être appliquées pour ramener la base de données au point d’échec.
  • L’utilisation de sauvegardes de fichier et groupe de fichiers et de sauvegardes de fichiers journaux des transactions en permettant la sauvegarde ou la restauration non pas de la base de données entière mais uniquement des fichiers contenant les données pertinentes.


Restrictions de sauvegarde

Dans SQL Server, les opérations de sauvegarde peuvent avoir lieu alors que la base de données est en ligne et en cours d’utilisation. Cependant, les opérations suivantes ne sont pas autorisées lors de l’opération de sauvegarde d’une base de données :

  • création ou suppression de fichiers de base de données ;
  • création d’index ;
  • exécution d’opérations non consignées dans le journal ;
  • réduction de la base de données (automatique ou manuelle) ou des fichiers de base de données.

Si une opération de sauvegarde démarre lorsque l’une de ces opérations est en cours, l’opération de sauvegarde s’arrête. Si une opération de sauvegarde est en cours et que l’une de ces opérations soit tentée, l’opération échoue et l’opération de sauvegarde se poursuit.


Implémentation d'un exemple de stratégie de sauvegarde

Envoyer des commentaires sur cette page Commerce Server 2002

Implémentation d’un exemple de stratégie de sauvegarde

Dans l’exemple suivant, la stratégie de sauvegarde d’une base de données Commerce Server <nom_site>_commerce prévoit une sauvegarde complète deux fois par semaine, des sauvegardes différentielles deux fois par jour et une sauvegarde du fichier journal des transactions toutes les 30 minutes. La sauvegarde s’effectue sur une unité physique séparée. Les sauvegardes seront planifiées en vue d’une exécution automatique.

Pour implémenter un exemple de stratégie de sauvegarde

  1. Identifiez la base de données à sauvegarder.
  2. Identifiez l’unité de sauvegarde.
  3. Déterminez la fréquence et les types de sauvegarde à effectuer.
  4. Planifiez les sauvegardes.

Pour implémenter la planification de la sauvegarde

Étape 1 : effectuer une sauvegarde complète de la base de données Commerce Server.

Étape 2 : planifier une sauvegarde complète tous les mardi et vendredi à 02:00.

Étape 3 : planifier une sauvegarde du fichier journal des transactions toutes les 30 minutes.

Étape 4 : planifier des sauvegardes différentielles tous les jours à midi et minuit.


Étape1: effectuer une sauvegarde complète de la base de données Commerce Server

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 1 : effectuer une sauvegarde complète de la base de données Commerce Server

Pour effectuer une sauvegarde complète de la base de données Commerce Server <nom_site>_commerce

  1. Dans SQL Server Enterprise Manager, développez un groupe de serveurs, puis un serveur.
  2. Développez Bases de données, cliquez avec le bouton droit sur la base de données à sauvegarder, pointez sur Toutes les tâches, puis cliquez sur Sauvegarder la base de données.
  3. Dans la boîte de dialogue Sauvegarde SQL Server, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper Complète-<date du jour : jjmmaa> pour le nom du jeu de sauvegarde.
    Description | Taper Sauvegarde complète de la base de données Commerce Server comme description du jeu de sauvegarde.
    Sauvegarde | Sélectionner Base de données - Complète.
  4. Dans la section Destination, cliquez sur Ajouter pour ajouter une unité de sauvegarde.
  5. Dans la boîte de dialogue Sélectionnez la destination de la sauvegarde, sélectionnez Nom du fichier, puis cliquez sur bouton de sélection pour sélectionner le fichier de destination de la sauvegarde.
  6. Dans la boîte de dialogue Emplacement de l’unité de sauvegarde, dans la zone Nom du fichier, tapez CommFull et cliquez sur OK.
  7. Cliquez sur OK pour fermer la boîte de dialogue Sélectionnez la destination de la sauvegarde.
  8. Dans la boîte de dialogue Sauvegarde SQL Server, dans la zone Remplacement, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Ajouter au support | Ajouter la sauvegarde à la sauvegarde existante sur l’unité de sauvegarde.
    Remplacer le support existant | Remplacer les sauvegardes existantes sur l’unité de sauvegarde.
    Planification | Planifier éventuellement l’opération de sauvegarde pour une exécution ultérieure ou périodique.
  9. Cliquez éventuellement sur l’onglet Options et parmi les options de sauvegarde suivantes, activez :
    • Vérifier que la sauvegarde est terminée. Entraîne une vérification de la sauvegarde à la fin du processus.
    • Éjecter la bande après sauvegarde. Entraîne l’éjection de la bande une fois l’opération de sauvegarde terminée. Disponible uniquement avec les lecteurs de bande.
    • Contrôler le nom du support de sauvegarde et la date d’expiration du jeu de sauvegarde. Entraîne la vérification du support de sauvegarde pour empêcher les remplacements accidentels. Dans la zone Nom du support de sauvegarde, entrez le nom du support qui doit être utilisé pour l’opération de sauvegarde. Laissez cette zone vide si vous spécifiez uniquement la date d’expiration du jeu de sauvegarde.
  10. S’il s’agit de la première utilisation du support de sauvegarde ou si vous voulez modifier une étiquette de support existant, dans la zone Étiquettes du jeu de supports de sauvegarde, sélectionnez Initialiser et nommer le support de sauvegarde, puis entrez le nom et la description du jeu de support. (Le support ne peut être initialisé et étiqueté que lors de sa réécriture.)


Étape2: planifier une sauvegarde complète tous les mardi et vendredi à 02:00

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 2 : planifier une sauvegarde complète tous les mardi et vendredi à 02:00

Pour créer une sauvegarde complète de la base de données Commerce Server <nom_site>_commerce

  1. Dans SQL Server Enterprise Manager, développez un groupe de serveurs, puis un serveur.
  2. Développez Bases de données, cliquez avec le bouton droit sur la base de données à sauvegarder, pointez sur Toutes les tâches, puis cliquez sur Sauvegarder la base de données.
  3. Dans la boîte de dialogue Sauvegarde SQL Server, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper Complète-<date du jour : jjmmaa> pour le nom du jeu de sauvegarde.
    Description | Taper Sauvegarde complète de la base de données Commerce Server comme description du jeu de sauvegarde.
    Sauvegarde | Sélectionner Base de données - Complète.
  4. Dans la section Destination, cliquez sur Ajouter pour ajouter une unité de sauvegarde.
  5. Dans la boîte de dialogue Sélectionnez la destination de la sauvegarde, sélectionnez Nom du fichier, puis cliquez sur bouton de sélection pour sélectionner le fichier de destination de la sauvegarde.
  6. Dans la boîte de dialogue Emplacement de l’unité de sauvegarde, dans la zone Nom du fichier, tapez CommFull et cliquez sur OK.
  7. Cliquez sur OK pour fermer la boîte de dialogue Sélectionnez la destination de la sauvegarde.
  8. Dans la boîte de dialogue Sauvegarde SQL Server, dans la zone Remplacement, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Ajouter au support | Ajouter la sauvegarde à la sauvegarde existante sur l’unité de sauvegarde.
    Remplacer le support existant | Remplacer les sauvegardes existantes sur l’unité de sauvegarde.
  9. Dans Planification, sélectionnez Planification et cliquez sur bouton de sélection .
  10. Dans la boîte de dialogue Modifier la planification, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper CSFullSch.
    Type de planification | Sélectionner Périodique, puis cliquer sur Modifier.
  11. Dans la boîte de dialogue Modifier la planification des travaux périodiques, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Fréquence | Sélectionner Hebdomadaire.
    Hebdomadaire | Activer les cases à cocher Mar et Ven.
    Fréquence quotidienne | Sélectionner Une fois à, puis taper 2:00:00.
  12. Cliquez sur OK trois fois pour fermer toutes les boîtes de dialogue.


Étape3: planifier une sauvegarde du fichier journal des transactions toutes les 30minutes

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 3 : planifier une sauvegarde du fichier journal des transactions toutes les 30 minutes

Pour planifier une sauvegarde du fichier journal des transactions de la base de données Commerce Server

  1. Dans SQL Server Enterprise Manager, développez un groupe de serveurs, puis un serveur.
  2. Développez Bases de données, cliquez avec le bouton droit sur la base de données à sauvegarder, puis cliquez sur Propriétés.
  3. Dans la boîte de dialogue Propriétés <base_de_données>, sous l’onglet Options, dans la zone Récupération, puis sous la liste déroulante Modèle, sélectionnez Complet puis cliquez sur OK.
  4. Dans l’arborescence, développez Gestion, cliquez avec le bouton droit sur Sauvegarde, puis cliquez sur Sauvegarder une base de données.
  5. Dans la boîte de dialogue Sauvegarde SQL Server, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Base de données | Sélectionner Commerce dans la liste déroulante.
    Nom | Taper CommerceLog.
    Description | Taper Journal des transactions Commerce Server.
    Types de sauvegarde | Sélectionner Journal des transactions.
    Destination | Cliquer sur Ajouter pour ouvrir la boîte de dialogue Sélectionnez la destination de la sauvegarde.
  6. Dans la boîte de dialogue Sélectionnez la destination de la sauvegarde, Unité de sauvegarde, sélectionnez <Nouvelle unité de sauvegarde>.
  7. Dans la boîte de dialogue Propriétés de l’unité de sauvegarde – Nouvelle unité, dans la zone Nom, tapez CSLog et cliquez sur OK.
  8. Dans la boîte de dialogue Sélectionnez la destination de la sauvegarde, cliquez sur OK pour retourner à la boîte de dialogue Sauvegarde SQL Server.
  9. Dans la boîte de dialogue Sauvegarde SQL Server, sélectionnez Remplacer le support existant, sélectionnez Planification, puis cliquez sur bouton de sélection .
  10. Dans la boîte de dialogue Modifier la planification, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper CSTransLogSch.
    Type de planification | Sélectionner Périodique, puis cliquer sur Modifier.
  11. Dans la boîte de dialogue Modifier la planification des travaux périodiques, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Fréquence | Sélectionner Quotidienne.
    Fréquence quotidienne Sélectionner Se produit tous les, puis utiliser les listes déroulantes pour sélectionner 30 minutes.

    Remarque

    • Vous devez sélectionner l’unité (minutes) avant de pouvoir définir la quantité (30), car l’unité par défaut est exprimée en heures, dont la valeur maximale est 24.
  12. Cliquez sur OK trois fois pour fermer toutes les boîtes de dialogue.


Étape4: planifier des sauvegardes différentielles tous les jours à midi et minuit

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 4 : planifier des sauvegardes différentielles tous les jours à midi et minuit

Pour créer une sauvegarde complète de la base de données Commerce Server <nom_site>_commerce

  1. Dans SQL Server Enterprise Manager, développez un groupe de serveurs, puis un serveur.
  2. Développez Bases de données, cliquez avec le bouton droit sur la base de données à sauvegarder, pointez sur Toutes les tâches, puis cliquez sur Sauvegarder la base de données.
  3. Dans la boîte de dialogue Sauvegarde SQL Server, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper Différentielle<date du jour : jjmmaa> pour le nom du jeu de sauvegarde.
    Description | Taper Sauvegarde différentielle de la base de données Commerce Server comme description du jeu de sauvegarde.
    Sauvegarde | Sélectionner Base de données - différentielle.
  4. Dans la zone Destination, cliquez sur Ajouter pour ajouter une unité de sauvegarde existante ou en créer une.
  5. Dans la boîte de dialogue Sauvegarde SQL Server, dans la zone Remplacement, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Ajouter au support | Ajouter la sauvegarde à la sauvegarde existante sur l’unité de sauvegarde.
    Remplacer le support existant | Remplacer les sauvegardes existantes sur l’unité de sauvegarde.
  6. Dans Planification, sélectionnez Planification et cliquez sur bouton de sélection .
  7. Dans la boîte de dialogue Modifier la planification, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper CSFullSch.
    Type de planification | Sélectionner Périodique, puis cliquer sur Modifier.
  8. Dans la boîte de dialogue Modifier la planification des travaux périodiques, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Fréquence | Sélectionner Quotidienne.
    Fréquence quotidienne | Sélectionner Toutes les :, puis taper 12 heures.
  9. Cliquez sur OK trois fois pour fermer toutes les boîtes de dialogue.


Vérification des sauvegardes

Avant de restaurer un fichier de sauvegarde, vous devez vous assurer qu’il est valide et qu’il contient les sauvegardes attendues. Vous pouvez utiliser SQL Server Enterprise Manager pour afficher la page de propriétés de chaque unité de sauvegarde. Pour plus d’informations sur les sauvegardes, vous pouvez exécuter les instructions Transact-SQL suivantes :

  • RESTORE HEADERONLY. Utilisez cette instruction pour obtenir des informations d’en-tête d’un fichier ou d’un jeu de sauvegarde particulier. Si le fichier de sauvegarde contient plusieurs sauvegardes, SQL Server renvoie des informations d’en-tête pour toutes les sauvegardes figurant dans ce fichier.
Lorsque vous exécutez l’instruction RESTORE HEADERONLY, vous obtenez les informations suivantes :
  • Le nom et la description du fichier de sauvegarde ou du jeu de sauvegarde
  • Le type de support de sauvegarde utilisé
  • La méthode de sauvegarde, par exemple complète, différentielle, fichier journal des transactions ou fichier
  • La date et l’heure auxquelles la sauvegarde a été effectuée
  • La taille de la sauvegarde
  • Le numéro de séquence de la sauvegarde dans un groupe de fichiers de sauvegarde
  • RESTORE FILELISTONLY. Utilisez cette instruction pour obtenir des informations sur la base de données ou les fichiers journaux des transactions d’origine figurant dans un fichier de sauvegarde. Cette instruction peut vous permettre d’éviter de restaurer des fichiers de sauvegarde erronés.
Lorsque vous exécutez l’instruction RESTORE FILELISTONLY, SQL Server renvoie les informations suivantes :
  • Le nom logique de la base de données et des fichiers journaux des transactions
  • Le noms physique de la base de données et des fichiers journaux des transactions
  • Le type de fichier, par exemple fichier de données ou fichier journal des transactions
  • Le groupe de fichiers auquel appartient la sauvegarde
  • La taille du jeu de sauvegarde, en mégaoctets (Mo)
  • La taille maximale de fichier autorisée, en en mégaoctets (Mo)
  • RESTORE LABELONLY. Utilisez cette instruction pour obtenir des informations sur le support de sauvegarde contenant un fichier de sauvegarde.
  • RESTORE VERIFYONLY. Utilisez cette instruction pour vérifier que chaque fichier qui compose le jeu de sauvegarde est complet et que toutes les sauvegardes peuvent être lues correctement. SQL Server ne vérifie pas la structure des données contenue dans la sauvegarde.

Pour plus d’informations sur les instructions Transact-SQL, consultez la documentation en ligne de SQL Server.


Restauration des bases de données Commerce Server

Lorsqu’elle est restaurée à partir d’une sauvegarde, une base de données retrouve l’état qui était le sien au moment où la sauvegarde a été effectuée. Lors de la restauration d’une base de données, SQL Server recrée automatiquement la base et tous ses fichiers associés en exécutant les étapes suivantes :

  • Toutes les données de la sauvegarde sont copiées dans la base de données, ce qui reste est créé comme espace vide.
  • Toute transaction non validée incluse dans la sauvegarde de base de données (les transactions qui n’étaient pas terminées au moment où l’opération de sauvegarde a pris fin initialement) est annulée pour garantir la cohérence de la base de données.

Ce processus permet de s’assurer que la base de données restaurée est une copie de la base de données telle qu’elle était au moment où l’opération de sauvegarde se terminait, à cette différence près que les transactions non validées ont été annulées. Ceci est nécessaire pour restaurer l’intégrité de la base de données.

De plus, pour éviter de remplacer une base de données par accident, l’opération de restauration peut effectuer automatiquement un contrôle de sécurité. L’opération de restauration échoue dans le cas où :

  • La base de données nommée dans l’opération de restauration existe déjà sur le serveur et le nom de base de données ne correspond pas à celui qui est enregistré dans le jeu de sauvegarde.
  • La base de données nommée dans l’opération de restauration existe déjà sur le serveur, mais il ne s’agit pas de la même base de données que celle qui se trouve dans la sauvegarde de base de données. Par exemple, les noms de base de données sont identiques, mais chaque base a été créée différemment.
  • Un ou plusieurs fichiers doivent être créés automatiquement par l’opération de restauration (que la base de données existe déjà ou non), mais des fichiers portant le même nom que ceux devant être créés existent déjà.

Ces contrôles de sécurité peuvent être désactivés lorsque vous avez l’intention de remplacer une autre base de données.

Chaque plan de récupération d’entreprise doit comporter des stratégies de sauvegarde et de restauration. Lors de la défaillance d’un contrôleur de domaine, à la suite d’un risque majeur ou d’un dysfonctionnement matériel, vous devez d’abord réparer le contrôleur de domaine avant de récupérer les données. Deux fonctionnalités des services d’annuaire Microsoft Active Directory lui permettent de récupérer les données : la base de données utilise des fichiers journaux pour récupérer les données perdues, et le service d’annuaire utilise la réplication pour récupérer les données à partir d’autres serveurs du domaine.

Il existe deux méthodes de restauration d’Active Directory :

  • Restauration ne faisant pas autorité (valeur par défaut). Utilisez cette option lorsque au moins un autre contrôleur de domaine dans le domaine est disponible et fonctionne correctement. Après une restauration ne faisant pas autorité, la réplication Active Directory lance automatiquement à partir d’autres contrôleurs de domaine la propagation des modifications qui ont éventuellement eu lieu après la sauvegarde.
  • Restauration faisant autorité. Utilisez cette option uniquement lorsque vous avez supprimé par mégarde des données critiques du contrôleur de domaine local et si la suppression a été répercutée sur d’autres contrôleurs de domaine.
    Remarque
    • N’effectuez pas de restauration faisant autorité si le contrôleur de domaine local n’est pas en parfait état de marche ou s’il s’agit du seul contrôleur de domaine dans le domaine.

Vous pouvez utiliser l’un des multiples outils disponibles pour réparer le contrôleur de domaine et récupérer Active Directory. Pour plus d’informations sur la protection des entreprises sous Windows 2000, notamment en matière de sauvegardes, restaurations et réparations, consultez Windows 2000 Server Operations Guide, qui fait partie du Kit de Ressources Techniques Microsoft Windows 2000 Server, disponible à l’adresse suivante http://go.microsoft.com/fwlink/?LinkId=6684 (en anglais). Vous pouvez également consulter l’aide de Windows 2000 Server.

Cette section contient les rubriques suivantes :

  • Utilisation du fichier journal des transactions pour restaurer les bases de données Commerce Server à l’état qui était le leur avant la panne
  • Spécification des options de restauration
  • Opérations interrompues de sauvegarde et de restauration


Utilisation du fichier journal des transactions pour restaurer les bases de données Commerce Server à l'état qui était le leur avant la panne

Envoyer des commentaires sur cette page Commerce Server 2002

Utilisation du fichier journal des transactions pour restaurer les bases de données Commerce Server à l’état qui était le leur avant la panne

Le processus de récupération SQL Server utilise le fichier journal des transactions pour s’assurer que la base de données est cohérente. SQL Server examine le fichier journal des transactions depuis le dernier point de contrôle jusqu’au point auquel SQL Server a été endommagé ou a été arrêté. Un point de contrôle est une sorte de signet indiquant le point auquel toutes les modifications des données sont écrites dans la base. Si le fichier journal comporte des transactions validées qui n’ont pas encore été écrites dans la base, SQL Server réexécute ces transactions, en appliquant les modifications à la base de données. Si le fichier journal contient des transactions non validées, SQL Server les annule. Les transactions non validées ne sont pas écrites dans la base de données.


Méthodes conseillées pour la restauration

Cette rubrique répertorie les méthodes conseillées pour la restauration de Commerce Server.

  • Restreignez l’accès à la base de données avant de restaurer la sauvegarde.

    Il est important d’appliquer des restrictions d’accès à une base de données avant de la restaurer. Affectez à l’option de base de données Membres de db_owner, dbcreator ou de sysadmin la valeur True.

  • Sauvegardez le fichier journal des transactions avant de restaurer la sauvegarde.

    Sauvegardez le fichier journal des transactions afin de garantir la cohérence de la base de données. Cette opération permet est de récupérer la base de données en tant qu’étape ultime du processus de restauration. Si vous ne sauvegardez pas le fichier journal des transactions avant de restaurer les sauvegardes, vous perdrez les modifications apportées aux données entre la dernière sauvegarde du fichier journal des transactions et le moment où la base de données a été déconnectée.

  • Vérifiez vos fichiers de sauvegarde.

    Utilisez les instructions Transact-SQL RESTORE HEADERONLY, RESTORE FILELISTONLY, RESTORE LABELONLY et RESTORE VERIFYONLY pour vérifier les fichiers de sauvegarde avant de les restaurer.

  • Restaurez les sauvegardes dans l’ordre correct.

    Si vous avez créé différents types de sauvegarde, vous devez les restaurer dans l’ordre correct afin de prévenir toute perte de données. Restaurez les sauvegardes dans l’ordre suivant :

    1. Sauvegarde complète la plus récente
    2. Sauvegarde différentielle la plus récente
    3. Sauvegarde la plus récente du fichier journal des transactions.
  • Spécifiez l’option RECOVERY ou NORECOVERY.

    Spécifiez l’option RECOVERY ou NORECOVERY pour empêcher les erreurs administratives pendant le processus de restauration et faciliter la lecture de l’instruction. L’option RECOVERY est la valeur par défaut de SQL Server.


Spécification des options de restauration

Vous pouvez spécifier les options suivantes pour un processus de restauration SQL Server :

  • RECOVERY. Cette option, utilisée conjointement avec le dernier fichier journal des transactions à restaurer ou avec une restauration complète de la base de données, permet de rétablir la base de données à un état cohérent. SQL Server annule toutes les transactions non validées dans le fichier journal des transactions et réexécute les transactions validées. La base de données est utilisable une fois le processus de récupération terminé.
  • NORECOVERY. Vous utilisez cette option lorsque vous avez plusieurs sauvegardes à restaurer. Lorsque vous appliquez l’option NORECOVERY, les éléments suivants sont à prendre en considération :
    • Spécifiez l’option NORECOVERY pour toutes les sauvegardes sauf la dernière sauvegarde à restaurer.
    • SQL Server n’annule pas les transactions non validées dans le fichier journal des transactions et ne réexécute pas les transactions validées.
    • La base de données ne peut être utilisée qu’une fois la base de données a été récupérée.

Lorsque vous exécutez l’instruction RESTORE, utilisez les options suivantes pour spécifier comment la restauration doit s’effectuer :

  • FILE. Utilisez cette option pour sélectionner des sauvegardes spécifiques dans un fichier contenant plusieurs sauvegardes. Vous devez alors spécifier un numéro de fichier correspondant à l’ordre dans lequel les sauvegardes ont été ajoutées dans le fichier.
  • RESTART. Cette option permet de poursuivre une opération de récupération interrompue. La récupération se poursuivra à partir du point où la précédente tentative s’était interrompue.
  • MOVE...TO. Utilisez cette option pour spécifier où restaurer les fichiers de sauvegarde si vous voulez restaurer des fichiers à un emplacement différent ; par exemple un autre disque, un autre serveur ou un serveur SQL Server de secours.

    Remarque

    • Vous pouvez utiliser les procédures stockées du système sp_attach_db ou sp_attach_single_file_db pour déplacer une base de données d’un serveur vers un autre en copiant les fichiers de base de données puis en les attachant à la base de données master.
  • REPLACE. Utilisez cette option uniquement si vous voulez remplacer une base de données existante par les données de la sauvegarde d’une autre base de données.

    Attention

    • Si vous utilisez l’option REPLACE, SQL Server ne procède à aucun contrôle de sécurité.

L’exemple de code suivant montre comment utiliser les options de restauration SQL Server :

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}
  }

Cette section contient les rubriques suivantes :

  • Restauration des bases de données utilisateur endommagées
  • Restauration à partir d’une sauvegarde complète de la base de données
  • Restauration à partir d’une sauvegarde différentielle
  • Restauration d’une sauvegarde du fichier journal des transactions


Restauration des bases de données utilisateur endommagées

Si une base de données est endommagée, utilisez l’instruction RESTORE ou SQL Server Enterprise Manager pour effectuer une restauration par-dessus la base de données existante. Lorsque vous écrasez ainsi une base de données existante, vous n’avez pas besoin de supprimer la base de données endommagée et SQL Server recrée automatiquement les fichiers et les objets de la base de données.


Restauration à partir d'une sauvegarde complète de la base de données

Envoyer des commentaires sur cette page Commerce Server 2002

Restauration à partir d’une sauvegarde complète de la base de données

Lorsque vous restaurez une base de données à partir d’une sauvegarde complète, SQL Server recrée la base de données ainsi que tous les fichiers associés puis les place à leur emplacement d’origine. Tous les objets de la base de données sont recréés automatiquement. Vous n’avez pas besoin de reconstruire le schéma de la base de données avant de restaurer celle-ci.

Vous effectuerez généralement une restauration à partir d’une sauvegarde complète dans les cas suivants :

  • Le disque physique de la base de données est endommagé
  • La base de données entière est endommagée, altérée ou supprimée
  • Une copie identique de la base de données est restaurée sur un serveur SQL Server différent

Utilisez la procédure suivante pour restaurer une base de données à partir d’une sauvegarde complète.

Pour restaurer une base de données à partir d’une sauvegarde complète

  1. Dans SQL Server Enterprise Manager, développez un groupe de serveurs, puis un serveur.
  2. Développez Bases de données, cliquez avec le bouton droit sur la base de données à restaurer, pointez sur Toutes les tâches, puis cliquez sur Restaurer la base de données.
  3. Dans la boîte de dialogue Restaurer la base de données, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Restaurer en tant que base de données | Sélectionner, dans la liste déroulante, un nom de base de données ou entrer un nouveau nom pour la base de données restaurée.
    Restaurer | Sélectionner Base de données pour restaurer la base de données.
    Afficher les sauvegardes de la BdD | Sélectionner une base de données dans la liste déroulante.
    Première sauvegarde à restaurer | Sélectionner la dernière sauvegarde complète pour la base de données dans la liste déroulante.
  4. Pour modifier l’emplacement de l’opération de restauration, cliquez sur Propriétés.
  5. Dans la boîte de dialogue Propriétés de jeu de sauvegarde, cliquez sur Modifier.
  6. Dans la boîte de dialogue Choix des unités de restauration, cliquez sur le nom de l’unité de la restauration, puis cliquez sur OK.
  7. Cliquez sur OK pour fermer la boîte de dialogue Propriétés de jeu de sauvegarde.
  8. Dans la boîte de dialogue Restaurer la base de données, cliquez sur OK pour lancer la restauration.


Restauration à partir d'une sauvegarde différentielle

Envoyer des commentaires sur cette page Commerce Server 2002

Restauration à partir d’une sauvegarde différentielle

Lorsque vous effectuez une restauration à partir d’une sauvegarde différentielle, SQL Server restaure uniquement les parties de la base de données qui ont changé depuis la dernière sauvegarde complète. SQL Server remet la base de données à l’état qui était le sien au moment où la sauvegarde différentielle a été effectuée.

Il faut souvent moins de temps pour restaurer des sauvegardes différentielles qu’il n’en faut pour appliquer une série de fichiers journaux des transactions représentant la même activité de base de données.

Lorsque vous effectuez une restauration à partir d’une sauvegarde différentielle, tenez compte des considérations suivantes :

  • Restaurez la sauvegarde complète avant de restaurer une sauvegarde différentielle.
  • Spécifiez l’option NORECOVERY lorsqu’il reste des fichiers journaux des transactions à restaurer ; autrement, spécifiez l’option RECOVERY.

Utilisez la procédure suivante pour restaurer une base de données à partir d’une sauvegarde différentielle.

Pour restaurer une base de données à partir d’une sauvegarde différentielle

  1. Dans SQL Server Enterprise Manager, développez un groupe de serveurs, puis un serveur.
  2. Développez Bases de données, cliquez avec le bouton droit sur la base de données à restaurer, pointez sur Toutes les tâches, puis cliquez sur Restaurer la base de données.
  3. Dans la boîte de dialogue Restaurer la base de données, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Restaurer en tant que base de données | Sélectionner, dans la liste déroulante, un nom de base de données ou entrer un nouveau nom pour la base de données restaurée.
    Restaurer | Sélectionner Base de données pour restaurer la base de données.
    Afficher les sauvegardes de la BdD | Sélectionner une base de données dans la liste déroulante.
    Première sauvegarde à restaurer | Sélectionner la dernière sauvegarde différentielle de la base de données dans la liste déroulante.
  4. Pour modifier l’emplacement de l’opération de restauration, cliquez sur Propriétés.
  5. Dans la boîte de dialogue Propriétés de jeu de sauvegarde, cliquez sur Modifier.
  6. Dans la boîte de dialogue Choix des unités de restauration, cliquez sur le nom de l’unité de restauration, puis sur OK.
  7. Cliquez sur OK pour fermer la boîte de dialogue Propriétés de jeu de sauvegarde.
  8. Dans la boîte de dialogue Restaurer la base de données, cliquez sur OK pour lancer la restauration.


Restauration d'une sauvegarde du fichier journal des transactions

Envoyer des commentaires sur cette page Commerce Server 2002

Restauration d’une sauvegarde du fichier journal des transactions

Lorsque vous effectuez une restauration à partir d’une sauvegarde de fichier journal des transactions, SQL Server restaure dans la base de données les modifications enregistrées dans le fichier journal des transactions. En principe, vous restaurerez les fichiers journaux des transactions afin d’appliquer les modifications opérées dans la base de données depuis la dernière sauvegarde différentielle ou complète. Vous pouvez restaurer les fichiers journaux des transactions pour effectuer une restauration jusqu’à un point précis dans le temps.

Vous devez restaurer une sauvegarde complète de la base de données avant de restaurer les fichiers journaux des transactions. Utilisez la procédure suivante pour restaurer une sauvegarde de fichier journal des transactions.

Pour restaurer une sauvegarde de fichier journal des transactions

  1. Dans SQL Server Enterprise Manager, développez un groupe de serveurs, puis un serveur.
  2. Développez Bases de données, cliquez avec le bouton droit sur la base de données à restaurer, pointez sur Toutes les tâches, puis cliquez sur Restaurer la base de données.
  3. Dans la boîte de dialogue Restaurer la base de données, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Restaurer en tant que base de données | Sélectionner, dans la liste déroulante, un nom de base de données ou entrer un nouveau nom pour la base de données restaurée.
    Restaurer | Sélectionner Base de données pour restaurer la base de données.
    Afficher les sauvegardes de la BdD | Sélectionner une base de données dans la liste déroulante.
    Première sauvegarde à restaurer | Sélectionner le dernier fichier journal des transactions à restaurer à partir de la liste déroulante.
  4. Cliquez sur Limiter la restauration dans le temps.
  5. Dans la boîte de dialogue Limiter la restauration dans le temps, dans la zone Date, entrez la date jusqu’à laquelle la restauration doit remonter ; puis dans la zone Heure, indiquez l’heure à laquelle vous voulez effectuer la restauration, puis cliquez sur OK.
  6. Dans la boîte de dialogue Restaurer la base de données, sous l’onglet Options, cliquez sur Laisser la base opérationnelle. Aucun autre journal de transactions ne peut être restauré.
  7. Cliquez sur OK pour lancer le processus de restauration.


Opérations interrompues de sauvegarde et de restauration

Lorsqu’une opération de sauvegarde ou de restauration est interrompue (par exemple, en cas de coupure de l’alimentation du serveur), il est possible de redémarrer l’opération de sauvegarde ou de restauration au moment où elle a été interrompue. Ceci peut être utile lorsque des bases de données importantes sont restaurées sur d’autres serveurs à l’aide d’une procédure automatisée. Si la procédure automatisée échoue vers la fin de l’opération de restauration (en cas de panne de courant par exemple), un administrateur système peut redémarrer l’opération de restauration là où elle était arrivée, au lieu de restaurer la base de données entière depuis le début.

Voir aussi

Réduction des temps de sauvegarde et de restauration dans les environnements critiques

Sauvegarde de votre site


Réplication du contenu de catalogues

Cette section explique comment déployer les catalogues de produits Commerce Server 2002 à partir d’un environnement de test vers un environnement de production. Elle fournit des instructions pas à pas pour répliquer le contenu d’un catalogue dans un exemple de scénario et aborde notamment les points suivants :

  • configuration de l’environnement de test pour le scénario ;
  • implémentation des modifications de configuration pour prendre en charge la réplication SQL Server 2000 ;
  • résolution des problèmes restant après le déploiement des données.

Les procédures de cette section sont présentées pour un exemple d’environnement de test se composant d’un seul serveur de test et d’un serveur de base de données de production. Vous pouvez étendre ce modèle pour l’adapter à des scénarios personnalisés pour les installations de Commerce Server 2002 de petite et grande envergures, notamment les environnements d’installation distribués et les environnements SQL Server en clusters.

Cette section contient les rubriques suivantes :

  • Exemple de topologie pour la réplication du contenu d’un catalogue. Présente un exemple de topologie pour la réplication du contenu d’un catalogue et explique comment configurer les environnements de test et de production pour la réplication.
  • Configuration d’une publication SQL pour répliquer un catalogue. Explique comment configurer une publication SQL afin de prendre en charge la réplication à sens unique d’un catalogue de produits, selon une planification.
  • Réplication du catalogue à la demande. Explique comment appeler une publication SQL afin d’effectuer une réplication de catalogue à la demande au lieu de le faire selon une planification.
  • Modifications de schéma physique apportées à une base de données de test. Décrit les modifications de schéma du catalogue qui doivent être répliquées manuellement.
  • Réplication de catalogues virtuels matérialisés. Explique comment effectuer la réplication de catalogues virtuels.


Exemple de topologie pour la réplication du contenu d'un catalogue

Envoyer des commentaires sur cette page Commerce Server 2002

Exemple de topologie pour la réplication du contenu d’un catalogue

Cette rubrique présente un exemple de topologie pour la réplication du contenu d’un catalogue et explique comment configurer les environnements de test et de production pour la réplication. La figure suivante illustre l’exemple de topologie.

Exemple de topologie pour la réplication du contenu d'un catalogue.

Les procédures d’installation pour le serveur de test et le serveur de production sont identiques :

  1. Configuration du serveur de base de données
  2. Installation de SQL Server
  3. Décompression du site solution
  4. Ajout des données au catalogue

Étape 1 : configuration du serveur de base de données

Les deux serveurs de base de données utilisés dans le scénario sont nommés comme suit :

  • THORSTAGE : ce serveur représente l’environnement de test.
  • THORPROD1 : ce serveur représente le premier serveur de base de données du catalogue de l’environnement de production. Des serveurs supplémentaires de base de données du catalogue peuvent être présents.

Le serveur de production se trouve sur un sous-réseau distinct du serveur de test.

Les deux serveurs présentent la configuration logicielle suivante :

  • Microsoft Windows 2000 Advanced Server
  • Service Pack 2 de Microsoft Windows 2000
  • Microsoft Commerce Server 2002
  • Microsoft SQL Server 2000 Édition Entreprise
  • Service Pack 1 de Microsoft SQL Server 2000

Étape 2 : installation de SQL Server

La procédure d’installation de SQL Server est identique pour chacun des deux environnements : installez SQL Server avec les options de configuration standard sur les deux ordinateurs.

Une fois que SQL Server est installé, créez sur les deux serveurs les bases de données suivantes pour héberger les données des configurations de bases de données individuelles. (Ces bases de données serviront ultérieurement lors de la décompression des sites solutions.)

  • retail_commerce_BDsec : cette base de données est créée pour les tables spécifiques aux modules Sécurité Commerce Server Business Desk, constituant une nouvelle fonctionnalité de Commerce Server 2002.
  • retail_commerce_campaigns : la base de données Campagnes marketing est créée pour les tables prenant en charge les fonctionnalités de campagnes de publicité dans Commerce Server 2002.
  • retail_commerce_profiles : la base de données des profils prend en charge le système de profil.
  • retail_commerce_trans : cette base de données est créée pour contenir les tables de transactions.
  • retail_commerce_transcfg : cette base de données contient les tables de configuration pour les transactions.
  • retail_commerce_catalog : cette base de données contient les tables spécifiques aux catalogues de produits. Elle constitue le point central de ce scénario.

Étape 3 : décompression du site solution

Une fois que vous avez créé les tables de base de données, installez le site solution Retail sur les deux serveurs. À l’aide du Gestionnaire de package de site Commerce Server, sélectionnez l’option Personnalisée pour la décompression du site solution Retail.

Lors de la décompression du site solution Retail, vous serez invité à définir les chaînes de connexion de la base de données, comme le montre l’exemple d’écran ci-dessous. Dans votre installation, modifiez les chaînes de connexion pour qu’elles correspondent à ce qui est indiqué dans l’exemple d’écran.

Cet exemple d’écran provient du serveur de test THORSTAGE. Il présente la configuration finale des chaînes de base de données configurées à l’aide des bases de données personnalisées.

Effectuez les procédures de configuration restantes pour terminer l’installation du site. Vous devez disposer d’un site solution Retail complètement configuré sur chaque serveur.

Étape 4 : ajout des données au catalogue

Dans cette procédure, vous allez importer le catalogue AdvWorksCatalog, qui remplit votre catalogue Commerce Server de données.

Pour pré-remplir un catalogue sur le serveur de test (THORSTAGE)

  1. Sur le serveur THORSTAGE, importez un nouveau catalogue XML à l’aide de Business Desk. Pour connaître les instructions à suivre, consultez Importation d’un fichier de catalogue XML.

    Le catalogue utilisé dans ce scénario est le fichier AdvWorksCatalog.xml (correspondant au catalogue Adventure Works) situé à l’emplacement suivant :

    \Program Files\Microsoft Commerce Server 2002\SDK\Samples\Sitelets\Catalog

    Il s’agit du même fichier XML que celui utilisé dans le didacticiel entreprise-client Business Desk.

  2. Publiez le catalogue Adventure Works importé sur le serveur THORSTAGE. Pour obtenir des instructions sur la publication d’un catalogue, consultez Actualisation et publication d’un catalogue.

    Une fois que vous avez publié le catalogue Adventure Works, votre serveur de test dispose d’un site solution Retail complètement configuré, avec le catalogue installé.

  3. Pour vous assurer de la publication du catalogue Adventure Works, accédez à l’URL correspondant à votre nouveau site Retail.

Voir aussi

Utilisation du Gestionnaire de package de site

Importation d’un fichier de catalogue XML

Actualisation et publication d’un catalogue


Configuration d'une publication SQL pour répliquer un catalogue

Envoyer des commentaires sur cette page Commerce Server 2002

Configuration d’une publication SQL pour répliquer un catalogue

La préparation du serveur exécutant SQL Server pour intervenir dans un environnement de réplication est un thème qui n’est pas abordé dans ce document ; les configurations suivantes ont toutefois été effectuées pour prendre en charge la réplication transactionnelle entre le serveur de test et les serveurs de production :

  • Le serveur de test a été configuré en tant qu’éditeur et distributeur.
  • La base de données de distribution a été configurée sur le serveur de test.
  • Les deux serveurs de production ont été ajoutés en tant qu’abonnés.
    Remarque
  • Il est recommandé de faire appel à un administrateur SQL Server expérimenté afin qu’il fournisse des instructions pour la configuration de la réplication pour votre environnement.

La configuration de la publication afin de prendre en charge la réplication à sens unique du catalogue de produits implique les étapes suivantes :

  1. Création d’une publication de réplication de toutes les tables, les procédures stockées spécifiques au catalogue et les fonctions définies par l’utilisateur.
  2. Génération du script SQL de pré-capture instantanée (Pre-Snapshot.sql) pour prendre en charge la réplication de capture instantanée initiale sur les abonnés.
  3. Modification du script SQL de pré-capture instantanée (Pre-Snapshot.sql) pour prendre en charge les solutions de contournement spécifiques afin d’assurer une réplication réussie permanente.
  4. Mise à jour de la publication à l’aide du script modifié.
  5. Ajout d’abonnés à la publication.
  6. Mise à jour des index de texte intégral dans la base de données de production.
  7. Actualisation du cache du catalogue.
  8. Réplication du catalogue à la demande.


Étape1: Création d'une publication de réplication

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 1 : Création d’une publication de réplication

Utilisez la procédure suivante pour créer une publication de réplication.

Pour créer une publication de réplication

  1. Dans SQL Enterprise Manager, cliquez avec le bouton droit sur la base de données du catalogue à répliquer, cliquez sur Nouveau, puis sur Publication.

    L’Assistant Création de publication démarre. Pour plus d’informations sur cet Assistant, consultez la documentation en ligne de SQL Server.

  2. Cliquez sur Suivant.
  3. Dans la boîte de dialogue Choisissez la base de données de publication, sélectionnez retail_commerce_catalog, puis cliquez sur Suivant.
  4. Dans la boîte de dialogue Sélectionner le type de publication, sélectionnez Publication transactionnelle, puis cliquez sur Suivant.
  5. Dans la boîte de dialogue Spécifier les Types d’abonnés, sélectionnez Serveurs exécutant SQL Server 2000, puis cliquez sur Suivant.
  6. Dans la boîte de dialogue Spécifier les Articles, sélectionnez les articles suivants :
    • Toutes les tables à l’exception de CatalogStatus et de <Nom_catalogue>_CatalogDeletedProducts.
  7. Cliquez sur Valeurs par défaut de l’article.
  8. Dans la boîte de dialogue Type d’article par défaut, sélectionnez Articles de table.
  9. Dans la boîte de dialogue Propriétés d’article de table par défaut, sous l’onglet Commandes, désactivez les trois cases à cocher suivantes :
    • Remplacer les commandes INSERT par cet appel de procédure stockée
    • Remplacer les commandes UPDATE par cet appel de procédure stockée
    • Remplacer les commandes DELETE par cet appel de procédure stockée
      Remarque
    • Si vous n’effectuez pas cette opération, des erreurs peuvent se produire au cours de la réplication si des catalogues comportent des espaces ou des traits d’union dans leur nom.
  10. Cliquez sur OK.
  11. Cliquez sur Suivant.
  12. Dans la boîte de dialogue Problèmes d’article, vérifiez que ce qui suit est affiché :

    Les tables publiées suivantes contiennent des colonnes IDENTITY :

 [dbo].[CatalogDefinitions]
 [dbo].[CatalogGlobal]
 [dbo].[AdventureWorksCatalog_CatalogProducts]

Ce message d’avertissement peut être ignoré.

  1. Dans la boîte de dialogue Problèmes d’article, cliquez sur Suivant.
  2. Dans la boîte de dialogue Sélectionner le nom et la description de la publication, tapez un nom ainsi qu’une description pour la nouvelle publication ou acceptez le nom et la description par défaut, puis cliquez sur Suivant.
  3. Dans la boîte de dialogue Personnaliser les propriétés de la publication, sélectionnez Non, créer la publication comme spécifié, puis cliquez sur Suivant.
  4. Dans la boîte de dialogue Fin de l’Assistant Création de publication, cliquez sur Terminer.

SQL Server 2000 crée la nouvelle publication à l’aide des informations entrées. S’il s’agit de la première publication, il crée également les agents adéquats pour surveiller la configuration de la publication et vous informer de sa fin.

Passez à l’Étape 2 : Génération du script SQL de pré-capture instantanée (Pre-Snapshot.sql).


Étape2: Génération du script SQL de pré-capture instantanée (Pre-Snapshot.sql)

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 2 : Génération du script SQL de pré-capture instantanée (Pre-Snapshot.sql)

Le script de pré-capture instantanée (Pre-Snapshot.sql) configure la base de données de production avec les éléments de schéma du catalogue requis de sorte qu’elle soit prête à recevoir la réplication des données.

Une fois que vous avez exécuté l’Assistant Création de publication, vous devez générer un script personnalisé, puis modifier le script pour définir l’environnement de destination adéquat pour les serveurs d’abonnés en production.

Dans cette procédure, vous allez générer un script nommé Pre-Snapshot.sql pour créer des vues, des procédures stockées, des fonctions définies par l’utilisateur, des tables et des index en texte libre sur le serveur de production.

Pour générer le script Pre-Snapshot.sql

  1. Dans SQL Enterprise Manager, cliquez avec le bouton droit sur le nœud de la base de données de test, pointez sur Toutes les tâches, puis cliquez sur Générer un script SQL.
  2. Dans la boîte de dialogue Générer un script SQL, cliquez sur Afficher tout pour afficher l’ensemble des objets disponibles pour la réplication.
  3. Activez la case à cocher Créer un script pour tous les objets pour qu’un script soit créé pour tous les objets de catalogue.
  4. Dans la boîte de dialogue Générer les scripts, sous l’onglet Options, dans la section Options de script de table, activez les cases à cocher Créer un script pour les index, Créer un script pour les index de texte intégral et Créer un script pour les clés primaires, étrangères et par défaut et vérifier les contraintes.
  5. Dans la section Options de fichier, sélectionnez Texte International (Unicode).
  6. Dans la section Fichiers à générer, sélectionnez Créer un fichier, puis cliquez sur OK.
  7. Enregistrez le fichier en utilisant le chemin d’accès et le nom de fichier suivants :

    C:\Program files\Microsoft SQL Server\MSSQL\Install\Pre-Snapshot.sql

Le script est généré et enregistré sous le nom Pre-Snapshot.sql.

Passez à l’Étape 3 : Modification du script SQL de pré-capture instantanée (Pre-Snapshot.sql).


Étape3: Modification du script SQL de pré-capture instantanée (Pre-Snapshot.sql)

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 3 : Modification du script SQL de pré-capture instantanée (Pre-Snapshot.sql)

Vous devez modifier le script Pre-Snapshot.sql afin de rectifier les instructions DROP CONSTRAINT pour les traits d’union dans les tables NomCatalogue_Langue_Catalog.

Une contrainte de clé étrangère fera échouer le script Pre-Snapshot.sql en raison d’un tiret dans l’instruction qui ne fait pas l’objet d’un échappement correct. L’instruction est cachée dans une instruction IF Exists, comme suit :

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

Pour que ce script soit correctement exécuté, ajoutez un jeu de crochets autour du nom de variable à la fin de l’appel DROP CONSTRAINT, comme illustré dans le code ci-après :

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

Ce problème est susceptible de se produire dans d’autres contraintes si vous avez plusieurs langues ou catalogues. Une fois que vous avez apporté ces modifications, votre script est prêt à être inclus dans la publication. La prochaine étape consiste à mettre à jour la publication à l’aide du script modifié.

Passez à l’Étape 4 : Mise à jour de la publication à l’aide du script modifié.


Étape4: Mise à jour de la publication à l'aide du script modifié

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 4 : Mise à jour de la publication à l’aide du script modifié

Dans cette procédure, vous allez mettre à jour la publication avec le script que vous avez modifié à l’Étape 3 : Modification du script SQL de pré-capture instantanée (Pre-Snapshot.sql).

Pour mettre à jour la publication

  1. Dans SQL Enterprise Manager, cliquez avec le bouton droit sur la publication créée à l’Étape 1 : Création d’une publication de réplication, puis cliquez sur Propriétés.
  2. Dans la boîte de dialogue Propriétés de publication – retail_commerce_catalog, sous l’onglet Cliché de capture, dans la section Scripts supplémentaires, ajoutez le chemin d’accès complet et l’emplacement du script Pre-Snapshot.sql que vous venez de modifier, puis cliquez sur Appliquer.
  3. Sous l’onglet Articles, modifiez les propriétés d’article de table par défaut.
  4. Dans la boîte de dialogue Propriétés de l’article de table – CatalogCustomCatalogs, sélectionnez Conserver la table existante inchangée.

    Si vous ne sélectionnez pas cette option et que vous conservez la configuration par défaut pour le paramètre, tout le travail effectué par le script au cours de la réplication de capture instantanée initiale est supprimé. Dans la mesure où les scripts de ces tables prévoient leur création au cours de la capture instantanée initiale, si vous conservez la valeur Supprimer (à l’aide de DROP) la table existante puis la recréer pour le paramètre, la table sera recréée en fonction du schéma de configuration par défaut dans l’environnement de test, ce qui doit être changé à l’aide du script de pré-capture instantanée pour que la réplication fonctionne correctement.

  5. Cliquez sur OK, puis enregistrez toutes les modifications de configuration.

Vous êtes à présent en mesure d’ajouter des abonnés à la publication.

Passez à l’étape suivante, Ajout d’abonnés à la publication.


Étape5: Ajout d'abonnés à la publication

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 5 : Ajout d’abonnés à la publication

Les abonnés correspondent aux serveurs situés dans l’environnement de production. Pour plus d’informations sur les abonnés, consultez la documentation en ligne de SQL Server 2000.

Pour ajouter des abonnés à la publication

  1. Dans SQL Enterprise Manager, développez Réplication, cliquez avec le bouton droit sur Abonnement, puis cliquez sur Envoyer un nouvel abonnement.

    L’Assistant Envoi d’abonnement démarre.

  2. Dans l’Assistant Envoi d’abonnement, cliquez sur Suivant.
  3. Dans la boîte de dialogue Choisir les abonnés, sélectionnez les abonnés qui sont activés dans la base de données de distribution, puis cliquez sur Suivant.
  4. Dans la boîte de dialogue Choisir la base de données de destination, sélectionnez le nom de la base de données d’abonnement de votre choix si vous disposez de plusieurs abonnements sur le serveur, puis cliquez sur Suivant.
  5. Dans la boîte de dialogue Définir la planification de l’Agent de distribution, sélectionnez Utiliser la planification suivante, cliquez sur Modifier, puis personnalisez la planification.
  6. Cliquez sur Suivant.
  7. Dans la boîte de dialogue Initialiser l’abonnement, sélectionnez Oui, initialiser le schéma et les données (dans la mesure où le schéma de table n’existe pas sur les serveurs de destination), puis sélectionnez Démarrer l’Agent de capture instantanée pour commencer immédiatement le processus d’initialisation.

    Si vous ne sélectionnez pas l’option de démarrage de l’Agent de capture instantanée, vous devez démarrer ce dernier manuellement pour commencer le processus de réplication.

  8. Cliquez sur Suivant.
  9. Dans la boîte de dialogue Démarrer les services requis, cliquez sur Suivant.
  10. Cliquez sur Terminer.

Dans les moniteurs de réplication, vous voyez que la réplication commence à migrer les données vers les serveurs de production.


Étape6: Mise à jour des index de texte intégral dans la base de données de production

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 6 : Mise à jour des index de texte intégral dans la base de données de production

Les scripts que vous avez générés pour créer le schéma sur les serveurs de production vont également créer les index de texte intégral.

Lorsque les modifications apportées aux catalogues sont répliquées, les index de texte intégral de la base de données de production doivent être mis à jour. Il existe plusieurs manières d’effectuer cette opération :

  • activer le suivi des modifications ;
  • configurer un travail planifié pour mettre à jour les index de texte intégral ;
  • démarrer manuellement la réindexation de texte intégral.


Étape7: Actualisation du cache du catalogue

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 7 : Actualisation du cache du catalogue

Une fois que les données du catalogue ont été entièrement migrées vers le site de production, ce dernier doit être actualisé de manière dynamique afin de refléter les modifications.

Dans le cadre de ce scénario, ouvrez Commerce Server Business Desk sur chacun des serveurs de production et actualisez le catalogue. Pour connaître les instructions à suivre, consultez Actualisation et publication d’un catalogue. Cette opération permet de mettre à jour le cache du catalogue dans les sites solutions Retail.

Actualisation dynamique du cache du catalogue

Le site solution Retail est configuré avec la mise en cache activée au niveau du site. Cette configuration ne permet pas au site de mettre à jour de manière dynamique ses modifications, à moins de procéder à un redémarrage manuel des services IIS (Internet Information Services) ou à une actualisation du site par le biais de l’application Business Desk locale.

Utilisez l’une des méthodes suivantes pour actualiser de manière dynamique le cache du catalogue :

  • Redémarrez manuellement les services IIS. Cette option n’est pas recommandée dans la mesure où tous les services Internet du serveur Web sont arrêtés pour permettre à l’application Commerce Server d’actualiser ses caches. Ceci provoque un temps d’immobilisation dans le système, ce qui n’est dans de nombreux cas pas une solution acceptable dans un environnement de production où l’utilisateur peut en ressentir des conséquences. Pour plus d’informations sur le redémarrage des services IIS, consultez Redémarrage des services IIS et Commerce Server.
  • Utilisez Business Desk pour procéder à une actualisation via les serveurs de production. Vous pouvez appeler une instance de l’application Business Desk qui est configurée en tant que partie de votre site de production afin d’actualiser les caches sur les serveurs Web de production.


Réplication du catalogue à la demande

Si votre catalogue change rarement, il se peut que vous vouliez que les changements soient répliqués uniquement à la demande, plutôt qu’en fonction d’une planification. Pour ce faire, vous configurez toujours l’abonnement de la manière décrite dans Configuration d’une publication SQL pour répliquer un catalogue, mais lorsque vous configurez la planification de la réplication, vous définissez une date de début correspondant à une date dans le futur lointain (par exemple le 01/01/2200).

Pour répliquer un catalogue à la demande

  1. Dans SQL Enterprise Manager, cliquez sur la publication à configurer pour la réplication sous le nœud Publications.
  2. Cliquez avec le bouton droit sur l’abonnement que vous souhaitez mettre à jour, puis cliquez sur Démarrer la synchronisation.


Modifications de schéma physique apportées à une base de données de test

L’utilisation de la réplication SQL Server n’est pas recommandée pour la réplication du schéma de catalogue ou du catalogue physique sous-jacent. Vous ne devez utiliser la réplication SQL Server que pour le transfert de contenu.

Les tâches suivantes entraînent des modifications au niveau du schéma physique sous-jacent. Pour mettre à jour un environnement de production avec ces modifications, vous devez utiliser un processus manuel :

  • Création d’un catalogue : si vous créez un catalogue dans la base de données éditeur, les modifications apportées au catalogue global sont répliquées, mais les tables, les vues et les procédures stockées ne le sont pas (il s’agit d’une restriction SQL Server).
  • Suppression d’un catalogue.
  • Ajout d’une langue à un catalogue.
  • Suppression d’une langue d’un catalogue.
  • Ajout d’une propriété à une définition de produit (si la propriété n’est pas déjà utilisée dans le catalogue où la définition de produit est utilisée).
  • Suppression d’une propriété d’une définition de produit (de telle sorte que la propriété n’est plus utilisée dans le catalogue où la définition de produit est utilisée).
  • Ajout à un catalogue de la première instance d’un produit d’une définition de produit donnée (de telle sorte qu’une propriété donnée sera utilisée dans ce catalogue).
  • Suppression de la dernière instance d’un produit d’une définition de produit donnée d’un catalogue (de telle sorte qu’une propriété donnée n’est plus utilisée dans ce catalogue).

Si n’importe lequel de ces types de modification doit être apporté au catalogue de test, vous devez en premier lieu supprimer la publication de la base de données, puis reconfigurer la réplication une fois que les modifications sont apportées.


Réplication de catalogues virtuels matérialisés

Les catalogues virtuels matérialisés permettent une amélioration des performances sur les serveurs de production, mais posent un problème dans le cadre de la réplication.

Chaque fois qu’un catalogue virtuel matérialisé est reconstruit (pour que les mises à jour apportées aux catalogues sources ou aux règles de catalogue virtuel soient reflétées lors de l’affichage du catalogue virtuel), les tables de données matérialisées de ce catalogue virtuel sont supprimées et recréées. Lorsque cela se produit, toute réplication configurée sur ces tables est empêchée. Les catalogues virtuels ne doivent pour cette raison pas être marqués en tant que catalogues matérialisés sur les serveurs de test (de publication).

Si vous souhaitez matérialiser des catalogues virtuels sur vos serveurs de base de données de production afin d’obtenir un gain de performances, vous devez exclure de la réplication les tables qui leur sont associées.


Mise à jour de votre site

Le déploiement est un processus permanent. Dès que votre site est opérationnel, vous devez mettre à jour son contenu et sa configuration pour répondre à l’évolution des besoins. Cette section contient des informations de base sur la mise à jour de votre site. Pour plus d’informations, consultez le Kit de Ressources Techniques Microsoft Commerce Server 2000.

Cette section contient les rubriques suivantes :

  • Utilisation de votre environnement de test pour les mises à jour. Explique comment utiliser votre environnement de test avant de mettre à jour vos serveurs de production.
  • Ajout de serveurs Web sans le Gestionnaire de package de site. Explique comment installer un serveur Web Commerce Server sans utiliser le Gestionnaire de package de site.
  • Utilisation de SQL Server pour répliquer les bases de données Explique comment utiliser SQL Server pour répliquer vos bases de données Commerce Server.
  • Modification des noms des serveurs. Explique comment modifier les noms de vos serveurs.


Utilisation de votre environnement de test pour les mises à jour

Avant de mettre à jour les serveurs de votre environnement de production, déployez et testez toujours vos mises à jour dans un environnement de test. Cela vous permettra de déployer efficacement un site entièrement testé et mis à jour.

Par exemple, supposez que vous deviez mettre à jour votre catalogue de produits. Avant de modifier les catalogues dans votre environnement de production, mettez à jour ceux de votre environnement de test. Testez les catalogues mis à jour dans cet environnement. Si vous estimez que ces mises à jour sont pleinement fonctionnelles, utilisez SQL Server pour répliquer les mises à jour vers vos serveurs de production.

Voir aussi

Utilisation de SQL Server pour répliquer les bases de données


Ajout de serveurs Web sans le Gestionnaire de package de site

Vous pouvez ajouter des serveurs Web à une application sans utiliser le Gestionnaire de package de site Commerce Server. Tout d’abord, copiez les fichiers de l’application sur le serveur et configurez l’application IIS (Internet Information Services) 5.0 sur le nouveau serveur. Pour ce faire, vous pouvez utiliser Microsoft Application Center 2000.

Lors du premier chargement de l’application sur le nouveau serveur, ce dernier sera ajouté en tant que serveur Web sous l’application appropriée dans la base de données d’administration de Commerce Server.

La fonction qui met à jour la base de données d’administration, JoinWebFarm, est incluse dans les sites solutions de Commerce Server. Elle se trouve dans le fichier Global_siteconfig_lib.asp qui est situé dans le dossier Include des sites solutions Commerce Server décompressés.

Remarque

  • L’application COM+ Config comprend le rôle Web Users. Pour ajouter un serveur Web à une application sans le Gestionnaire de package de site, vous devez utiliser un compte de connexion membre de ce rôle.

Après avoir ajouté le serveur Web à l’application, vous devez synchroniser les propriétés de serveur Web suivantes de Commerce Server avec celles des services IIS :

  • Port TCP
  • Port SSL
  • Adresse IP (Internet Protocol)
  • Chemin d’accès au fichier journal
  • Durée du fichier journal

Pour synchroniser les propriétés, mettez à jour manuellement les valeurs dans le Gestionnaire Commerce Server ou cliquez sur le bouton Synchroniser les valeurs sous l’onglet Serveurs Web de la boîte de dialogue Propriétés de l’application. Pour plus d’informations, consultez Configuration d’une application.

Lorsque vous cliquez sur Synchroniser les valeurs, Commerce Server synchronise les propriétés de IIS au niveau de l’application et les propriétés de tous les objets serveur Web sous-jacents. Pour les propriétés situées au niveau de l’application (port TCP et port SSL), Commerce Server lit les valeurs du premier serveur Web. Il considère que tous les serveurs Web ont été configurés de la même façon, ce qui est impératif pour le bon fonctionnement d’une batterie de serveurs Web (Web farm).

Comme le code JoinWebFarm utilise l’objet SiteConfig, il fonctionne uniquement si l’utilisateur dispose d’autorisations pour utiliser SiteConfig. Si vous avez précédemment refusé l’autorisation sur SiteConfig, vous pouvez utiliser l’Éditeur du Registre Windows pour rétablir l’autorisation sur cet objet. Pour plus d’informations, consultez Sécurisation de la base de données d’administration.

Remarque

  • Application Center 2000 synchronise les fichiers et les paramètres IIS mais ne met pas à jour la base de données d’administration Commerce Server ; c’est pourquoi un script supplémentaire incluant la fonction JoinWebFarm doit être utilisé. Pour plus d’informations sur Microsoft Application Center 2000, consultez la documentation afférente.


Utilisation de SQL Server pour répliquer les bases de données

Pour garantir la disponibilité et l’évolutivité des sites Commerce Server 2000 de grande envergure, la réplication de votre base de données de catalogue peut s’avérer nécessaire. À cet effet, utilisez SQL Server pour répliquer vos serveurs ou clusters de serveurs de catalogue à l’intérieur d’un cluster à équilibrage de charge réseau (NLB, Network Load Balancing). Pour voir un schéma de cette configuration, consultez Configuration d’un site de grande taille.

Utilisez SQL Server pour répliquer vos bases de données Commerce Server. Que vous utilisiez une réplication de capture instantanée, transactionnelle ou de fusion, les étapes suivantes vous aideront à mettre en œuvre la réplication.

Étape | Tâches
Configuration de la réplication | Identifier l’éditeur, le distributeur et les abonnés dans votre topologie. Utiliser SQL Server Enterprise Manager, SQL-DMO ou les procédures stockées et scripts du système Transact-SQL pour configurer l’éditeur, créer une base de données de distribution et activer les abonnés.
Publication des données et des objets de base de données | Créer la publication et définir les articles qu’elle contient sur les données et objets de base de données, puis appliquer tous les filtres nécessaires aux données qui seront publiées.
Abonnement aux publications | Créer des abonnements envoyés, extraits ou anonymes pour indiquer quelles publications doivent être propagées à des abonnés individuels, et à quel moment.
Génération de la capture instantanée initiale | Indiquer où enregistrer les fichiers de capture instantanée, s’ils sont compressés et quels scripts exécuter avant ou après avoir appliqué la capture instantanée initiale.
Application de la capture instantanée initiale | Appliquer la capture instantanée automatiquement en synchronisant l’abonnement à l’aide de l’Agent de distribution ou de l’Agent de fusion. La capture instantanée peut être appliquée à partir du dossier de capture instantanée par défaut ou à partir d’un média amovible qui peut être transporté physiquement jusqu’à l’abonné avant l’application de la capture instantanée.
Synchronisation des données La synchronisation des données se produit lorsque les exécutions et mises à jour de l’Agent de capture instantanée, de l’Agent de distribution ou de l’Agent de fusion sont propagées entre l’éditeur et les abonnés.

Pour la réplication de capture instantanée, une capture instantanée est prise et propagée aux abonnés. Pour la réplication transactionnelle, l’Agent de lecture du journal stocke les mises à jour dans la base de données de distribution et l’Agent de distribution les propage aux abonnés.

Si vous utilisez des abonnements qui peuvent être mis à jour par réplication de capture instantanée ou par réplication transactionnelle, les données seront propagées de l’abonné à l’éditeur et aux autres abonnés.

Pour la réplication de fusion, les données sont synchronisées durant le processus de fusion quand les modifications de données sur tous les serveurs sont centralisées. Les conflits éventuels sont détectés et résolus.

Voir aussi

Réplication du contenu de catalogues


Modification des noms des serveurs

Il est fortement conseillé de ne pas modifier les noms des serveurs après avoir installé Commerce Server 2002.

Si vous devez modifier le nom NetBIOS d’un serveur, désinstallez Commerce Server, effectuez la modification, redémarrez le serveur, vérifiez que la plate-forme est configurée correctement, puis réinstallez Commerce Server.

Commerce Server nomme les chaînes de connexion entre ressources d’après les noms de serveur. Si vous modifiez un nom, les connexions entre ressources risquent de se rompre. Vous devrez modifier ces chaînes de connexion manuellement dans le Gestionnaire Commerce Server.

Les ressources globales du service de publipostage Commerce Server et de Profils ont des noms complets contenant le nom du serveur sur lequel elles ont été créées. Si vous modifiez le nom du serveur, vous pouvez utiliser le programme d’installation de Commerce Server pour supprimer puis réinstaller le service de publipostage. Vous pouvez utiliser le Gestionnaire de package de site Commerce Server pour créer une ressource globale Profiles avec un nouveau nom. Vous devez ensuite modifier la propriété de référence dans le pointeur de ressource globale Profils pour tous les sites qui utilisaient cette ressource globale Profils.

Lorsque vous utilisez Microsoft Application Center 2000 to charger une application sur un serveur Web renommé, la fonction JoinWebFarm, appelée par le fichier Global.asa pendant l’événement Application_OnStart, crée un nouveau nœud de serveur Web dans la base de données d’administration. Vous devez utiliser le Gestionnaire Commerce Server pour supprimer du site l’ancien nom de serveur.


Utilisation du Gestionnaire de package de site

Le Gestionnaire de package de site Commerce Server est un outil de déploiement présentant deux utilisations principales. Il permet de compresser votre site Microsoft Commerce Server 2002 en un seul fichier, notamment les paramètres des services IIS (Internet Information Services) 5.0 ou version ultérieure (métabase), le système de fichiers, les ressources de la base de données d’administration et les bases de données SQL Server. Vous pouvez également l’utiliser pour décompresser le site Commerce Server (ou des parties de celui-ci) sur d’autres ordinateurs.

Dans la plupart des cas, le Gestionnaire de package de site est utilisé pour le déploiement initial de votre site. Pour les déploiements, les mises à jour incrémentielles et les rollbacks ultérieurs, utilisez d’autres outils tels que Microsoft Application Center 2000 ou d’autres produits de gestion de contenu.

Cette section contient les rubriques suivantes :

  • À propos du Gestionnaire de package de site. Décrit ce que vous pouvez réaliser avec le Gestionnaire de package de site, la composition d’un package et la manière dont les ressources globales sont décompressées.
  • Méthodes conseillées pour le Gestionnaire de package de site. Fournit des informations importantes sur la compression de votre site Commerce Server 2002.
  • Restrictions de taille et de nom du Gestionnaire de package de site . Répertorie les restrictions relatives au nom et à la taille du Gestionnaire de package de site.
  • Décompression d’un site. Explique comment décompresser un site à partir d’un fichier de package vers un serveur Web local et un serveur Web distant.
  • Emplacement où sont décompressées les données et ressources. Répertorie les données et paramètres définis dans SQL Server lorsque vous décompressez un site.
  • Compression d’un site. Explique comment compresser un site en un fichier de package.
  • Utilisation de scripts avec le Gestionnaire de package de site. Explique comment utiliser les scripts antérieurs et postérieurs à l’installation avec le Gestionnaire de package de site.
  • Exécution du Gestionnaire de package de site à partir de la ligne de commande. Explique comment utiliser le Gestionnaire de package de site à partir de la ligne de commande.
  • Personnalisation des fichiers .ini du Gestionnaire de package de site. Décrit les fichiers .ini inclus avec les sites solutions Commerce Server et comment vous pouvez utiliser ces fichiers .ini comme modèles pour créer des fichiers .ini personnalisés pour vos propres packages.
  • Aide sur la boîte de dialogue Gestionnaire de package de site. Fournit l’aide sur la boîte de dialogue Gestionnaire de package de site.


À propos du Gestionnaire de package de site

Le Gestionnaire de package de site Commerce Server compresse et décompresse des sites Web et des paramètres pour faciliter le déploiement de vos applications. Lorsqu’un site Commerce Server est décompressé, il installe généralement deux applications : une application pour le site Web auquel accèdent les utilisateurs et une autre pour Commerce Server Business Desk qui sert à gérer le site. Une application ne peut utiliser que les ressources du site Commerce Server auquel elle appartient.

Cette section contient les rubriques suivantes :

  • Packages
  • Options de décompression
  • Création des noms de bases de données et d’applications
  • Fichier Csapp.ini
  • Décompression des ressources globales
  • Emplacement des bases de données
  • Définition des autorisations de serveur Web


Packages

Un package est un fichier Commerce Server possédant une mise en forme particulière. Chaque package est identifié par une extension de nom de fichier .pup. Un package contient toujours un site unique qui comprend les ressources, les données correspondantes et les applications d’un site Web Commerce Server.

Outre les ressources de site, les applications et les paramètres des services IIS (Internet Information Services) 5.0 ou version ultérieure nécessaires pour recréer les configurations de serveur Web, le Gestionnaire de package de site comprend également les valeurs de propriété de la base de données d’administration. Par exemple, lorsque vous compressez la ressource Configuration par défaut de l’application, toutes les valeurs de propriété en cours sont également compressées. Lorsque vous décompressez la ressource Configuration par défaut de l’application, les valeurs de propriété sont décompressées dans la base de données d’administration.

Le package comprend des pointeurs de ressource globale mais pas les ressources globales elles-mêmes. Le package reconnaît les chaînes de connexion qui existent dans l’application, mais il ne contient pas les données réelles dans la chaîne de connexion.

Remarque

  • Les chaînes de connexion qui contiennent un nom d’ordinateur ne sont pas compressées.

Durant le processus de compression de l’application, le Gestionnaire de package de site recherche la métabase des services IIS (Internet Information Services) sur votre ordinateur local, puis recherche le répertoire physique servant de racine à l’application. Il démarre ensuite au niveau de ce répertoire racine et compresse tous les sous-répertoires inférieurs dans l’arborescence en un nouveau fichier doté de l’extension de nom de fichier .pup. Le Gestionnaire de package de site conserve certains paramètres dans IIS tels que les autorisations et les droits d’accès. Pour obtenir une liste des propriétés IIS qui sont compressées, consultez Propriétés IIS compressées dans un package.

Le Gestionnaire de Package de site ne compresse pas les propriétés qui sont spécifiques à un ordinateur. Par exemple, les propriétés de serveur Web et certaines propriétés d’application définies dans le Gestionnaire Commerce Server ne sont pas compressées. Pour obtenir une liste des données compressées pour chaque ressource, consultez Emplacement où sont décompressées les données et ressources.

Voir aussi

Propriétés IIS compressées dans un package

Décompression d’un site

Compression d’un site


Propriétés IIS compressées dans un package

Quand vous compressez un site, le Gestionnaire de package de site incorpore un grand nombre de vos propriétés IIS. Il ne compresse pas un site Web IIS (comme le site Web par défaut), mais il compresse les fichiers dans le dossier racine physique de l’application et tous ses dossiers et fichiers enfants physiques.

Pour afficher les propriétés IIS d’une application, d’un dossier ou d’un fichier

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Microsoft Commerce Server 2002, puis cliquez sur Gestionnaire Commerce Server.
  2. Dans la fenêtre Gestionnaire Commerce Server, développez Internet Information Services, développez le nom du serveur Web contenant une application, développez le nom du site Web IIS dans lequel réside l’application, cliquez avec le bouton droit sur le nom de l’application, dossier ou fichier, puis cliquez sur Propriétés.

    La boîte de dialogue Propriétés pour l’application s’affiche.

Les tableaux suivants répertorient les propriétés associées aux onglets Répertoire virtuel et Sécurité du répertoire de la boîte de dialogue Propriétés et indiquent lesquelles sont compressées quand le Gestionnaire de package de site est utilisé.

Onglet Répertoire virtuel

Champ | Compression/Pas de compression
Accès à la source du script | Compressé
Lecture | Compressé
Écriture | Compressé
Exploration de répertoire | Compressé
Accès au journal | Compressé
Indexer cette ressource | Compressé
Nom de l’application | Non compressé
Point de départ | Non compressé
Autorisations d’exécution | Compressé
Protection d’application | Toujours défini à Moyen lors de la décompression
Paramètres Configuration de l’application (affichés après un clic sur Configuration) | Non compressé

Onglet Sécurité du répertoire

Champ | Compression/Pas de compression
Accès anonyme | Compressé
Compte d’accès anonyme | Non compressé
Authentification de base | Compressé
Domaine d’authentification de base | Non compressé
authentification Digest | Compressé
authentification intégrée de Windows | Compressé
Restrictions par adresse IP et nom de domaine | Non compressé
Sécurisation des communications (certificats SSL) | Non compressé

Remarque

  • Aucun élément sous les onglets Documents, En-têtes HTTP et Messages d’erreur personnalisés n’est compressé. Le fichier script unpack.vbs pour Commerce Server Business Desk ajoute des messages d’erreur personnalisés pour Business Desk après la décompression.

Répertoires virtuels IIS

Si l’application comporte des répertoires virtuels, l’objet répertoire virtuel et les dossiers et fichiers situés dans le chemin d’accès vers lequel il pointe ne seront pas compressés. Si vous voulez compresser ces dossiers et fichiers, copiez-les dans un dossier dans le chemin d’accès physique de l’application avant de les compresser.

Autorisations NTFS

Les autorisations NTFS et les listes de contrôle d’accès sur les dossiers et les fichiers ne sont pas compressées. Vous pouvez utiliser le script unpack.vbs ou le script postsite.vbs pour appliquer automatiquement des autorisations NTFS après la décompression.


Options de décompression

Par défaut, le Gestionnaire de package de site décompresse chaque application du site Web par défaut IIS dans un répertoire virtuel qui correspond au nom de l’application. Afin de renforcer la sécurité de votre site, vous devez créer un nouveau site Web IIS plutôt que d’utiliser le site Web par défaut pour les sites Commerce Server que vous décompressez. Vous pouvez modifier le nom du répertoire virtuel contenant chaque application. Pour modifier le site Web IIS ou le répertoire virtuel pendant la décompression, vous devez utiliser le mode Personnalisé du Gestionnaire de package de site.

Lorsque vous ajoutez des fichiers d’application à un serveur Web dans une batterie de serveurs, vous associez ce serveur Web à l’application dans le Gestionnaire Commerce Server. Le Gestionnaire de package de site affiche le nom du site Web IIS où sera installée l’application ainsi que le chemin d’application IIS pour chaque application Commerce Server.

Lorsque vous décompressez un site et une application qui existent déjà dans la base de données d’administration, le Gestionnaire de package de site considère que vous ajoutez un serveur Web à l’application.

Voir aussi

Décompression d’un site

Emplacement où sont décompressées les données et les ressources


Fichier Csapp.ini

Le Gestionnaire de package de site Commerce Server génère le fichier Csapp.ini pendant le processus de décompression. Une fois la décompression terminée, ne supprimez pas Csapp.ini ; AuthManager et AuthFilter en ont besoin et il doit se trouver dans le dossier racine du site.

Le tableau suivant répertorie les propriétés contenues dans le fichier Csapp.ini et en donne une description.

Propriété | Description
Chemin | Chemin d’accès physique à la racine de l’application.
SiteName | Nom du site tel qu’il apparaît dans la base de données d’administration.
AddressKeyName | Nom de l’application dans la base de données d’administration sous laquelle sont placées toutes les informations relatives à l’application IIS.
RelativeURL | Nom du répertoire virtuel IIS pour l’application relative au site Web par défaut. Par exemple, si l’application a été installée à la racine du site Web IIS, elle est relative à la racine de base d’un site Web IIS donné.
AbsoluteURL | Adresse de l’application qui comprend également le nom de l’ordinateur.
PackagePath | Package d’où l’application a été extraite.

La seule propriété dans ce fichier qui doit être modifiée est la propriété RelativeURL. Si vous déplacez manuellement une application vers un chemin d’accès ISS différent, la propriété RelativeURL doit être modifiée pour pointer vers le répertoire virtuel relatif précis sous le site Web IIS. Si l’application est déplacée vers la racine d’un site Web, elle doit contenir une barre oblique (/) ; par exemple, RelativeURL=/. RelativeURL existe pour permettre au service Authentication CS de déterminer à partir d’où il opère. La propriété RelativeURL est recréée à chaque fois qu’elle est décompressée.

Remarque

  • Sécurisez Csapp.ini en désactivant l’accès anonyme et l’accès en lecture à ce fichier dans les services IIS. Ne pas utiliser d’autorisations NTFS pour sécuriser ce fichier car celui-ci doit être lisible dans le cadre des informations d’identification utilisateur telles que le compte IUSR. Par ailleurs, après avoir décompressé un site, ne supprimez pas Csapp.ini ; AuthManager et AuthFilter en ont besoin et il doit se trouver dans le dossier racine du site. AuthManager extrait SiteName et AddressKeyName à partir de Csapp.ini.

Voir aussi

Valeurs du fichier Csapp.ini pour l’authentification

Décompression d’un site

Compression d’un site


Décompression des ressources globales

Deux ressources globales (Predictor et Service de publipostage) sont installées par le programme d’installation de Commerce Server ; toutes les autres sont installées à l’aide du Gestionnaire de package de site. Avant de décompresser un site nécessitant les ressources globales Predictor ou Service de publipostage, vous devez installer ces ressources à l’aide du programme d’installation de Commerce Server. Pour obtenir des informations sur l’installation d’une ressource globale, consultez Installation et désinstallation des ressources globales.

Voir aussi

À propos du Gestionnaire de package de site

Décompression d’un site

Compression d’un site

Installation et désinstallation des ressources globales


Création des noms de bases de données et d'applications

Envoyer des commentaires sur cette page Commerce Server 2002

Création des noms de bases de données et d’applications

Le Gestionnaire de package de site Commerce Server récupère les noms de bases de données et les noms d’applications à partir du package.

Une application IIS est créée pour chaque application du package. Le chemin d’accès complet de chaque application est stocké dans le package.

Voir aussi

À propos du Gestionnaire de package de site

Décompression d’un site

Compression d’un site

Emplacement des bases de données


Emplacement des bases de données

Le Gestionnaire de package de site ne vous demande pas de spécifier les emplacements de vos fichiers de base de données. À la place, il accepte des dossiers par défaut de SQL Server. Vérifiez qu’il y a suffisamment d’espace disque pour créer les bases de données sur les serveurs de bases de données.

Voir aussi

À propos du Gestionnaire de package de site

Décompression d’un site

Compression d’un site

Création des noms de bases de données et d’applications


Définition des autorisations de serveur Web

Les autorisations de serveur Web IIS peuvent être configurées pour limiter l’accès des utilisateurs anonymes à vos applications, mais aussi pour limiter la visualisation du code source sur Internet, même pour les utilisateurs disposant d’autorisations Windows (ou d’entrées de contrôle d’accès).

Il est important de saisir la distinction entre les autorisations de serveur Web et les autorisations NTFS. Contrairement aux autorisations NTFS, les autorisations de serveur Web s’appliquent à tous les utilisateurs qui accèdent à vos sites Web. Les autorisations NTFS ne s’appliquent qu’à un utilisateur spécifique ou à un groupe d’utilisateurs disposant d’un compte Windows valide. Les autorisations NTFS contrôlent l’accès aux répertoires physiques sur votre serveur, alors que les autorisations Web contrôlent l’accès aux répertoires virtuels sur votre site Web.

Quand vous compressez un site, les autorisations de serveur Web telles qu’elles sont définies dans le site source seront conservées. Par exemple, si vous définissez le paramètre Autorisations d’exécution avec la valeur Scripts et exécutables dans le dossier racine de l’application sur l’ordinateur source, le dossier racine virtuel sur l’ordinateur de destination aura le même paramètre.

Par exemple, le tableau suivant décrit comment les autorisations IIS sont définies dans les packages fournis pas Microsoft.

Dossier | Autorisations
Root | Autorisation d’exécution définie à Scripts et exécutables.
Pipeline, Include, Template | Refus de l’autorisation de lecture, écriture et exécution.

Remarque

  • Le Gestionnaire de package de site ne conserve pas les listes de contrôle d’accès (ACL) Windows qui contiennent des autorisations NTFS. Les listes de contrôle d’accès décrivent les groupes et les individus qui ont accès à des objets spécifiques dans Microsoft Windows 2000. Ces objets sont notamment les objets du service d’annuaire Active Directory, les fichiers et dossiers NTFS locaux, le Registre et les imprimantes.

Voir aussi

Commerce Server et IIS

Compression d’un site

Décompression d’un site

Emplacement où sont décompressées les données et les ressources

Exécution du Gestionnaire de package de site à partir de la ligne de commande


Méthodes conseillées pour le Gestionnaire de package de site

Cette rubrique fournit des informations importantes sur la compression de votre site Commerce Server 2002.

Problèmes de sécurité

Conseils d’utilisation du Gestionnaire de package de site

Problèmes de sécurité

  • Une fois que vous avez décompressé un site, il peut exister un script unpack.vbs dans le dossier racine de l’application (ce fichier n’existe pas lorsque vous décompressez le site vide). Veillez à supprimer ou à sécuriser ce fichier immédiatement après la décompression.
Des utilisateurs anonymes peuvent y accéder. L’utilisation non autorisée de ce fichier script pourrait conduire au refus de service ou à l’altération des paramètres de site.
  • Examiner les comptes Windows avec des autorisations Business Desk avant de compresser un site.

    Durant la décompression d’un site à l’aide du Gestionnaire de package de site, les comptes Windows avec des autorisations Business Desk sont également décompressés.

    Par exemple, vous avez Commerce Server d’installé sur un ordinateur et vous ajoutez des groupes et des comptes locaux Si vous compressez le site puis le décompressez sur un ordinateur différent, les comptes seront également décompressés. Lorsque vous ouvrez Business Desk, les autorisations seront conservées.

  • Immédiatement après avoir installé votre site, et chaque fois que vous apportez des modifications de configuration importantes à votre déploiement Commerce Server, vous devez sauvegarder votre base de données d’administration sous un nom différent.
Vous pouvez utiliser cette sauvegarde pour annuler tout changement effectué ultérieurement.
  • Si vous décompressez un site sur un site Web IIS administratif, ce site et Business Desk ne fonctionneront pas en raison de limites de sécurité IIS administratives.

Conseils d’utilisation du Gestionnaire de package de site

  • N’exécutez pas le Gestionnaire de package de site sur un site de production.

    Si le Gestionnaire de package de site est exécuté sur un site de production, ce dernier risque de ne pas répondre correctement aux clients.

  • Pour inclure des tables personnalisées et les données qu’elles contiennent dans un fichier de package, consultez Using the GenericPup Object (en anglais).
  • N’exécutez pas plus d’une instance du Gestionnaire de package de site à la fois.
  • Pour installer plusieurs applications Business Desk sur un site existant avec un nom d’application IIS différent, vous devez renommer les fichiers HTA (HTML Application) et créer de nouveaux raccourcis d’icône Business Desk avant de procéder à l’installation.
Si vous ne renommez pas les fichiers, les fichiers HTA remplaceront les fichiers qui se trouvaient sur le site d’origine, ainsi que les icônes Business Desk.
  • Pour décompresser un site sur un site Web des services IIS (Internet Information Services) 5.0 ou version ultérieure autre que le site par défaut, utilisez le mode Personnalisé du Gestionnaire de package de site.
  • Si vous décompressez la ressource Service de publipostage après avoir décompressé une application Commerce Server Business Desk et installé le client Business Desk, vous devez redémarrer les services IIS (Internet Information Services) sur le serveur Web qui héberge l’application Business Desk afin que l’ajout du Service de publipostage soit détecté.
Les clients Business Desk doivent se reconnecter à l’application. Pour obtenir des instructions sur le redémarrage des services IIS, consultez Redémarrage des services IIS et Commerce Server.
  • Si vous compressez une application Commerce Server dont le répertoire virtuel IIS contient des applications IIS enfant, le Gestionnaire de package de site compressera les dossiers et les fichiers des applications enfant.
Si vous ne voulez pas les dossiers et les fichiers des applications enfants inclus dans le package, vous devrez les supprimer après avoir décompressé l’application Commerce Server parent.
  • Le Gestionnaire de package de site ne compresse pas les fichiers dans les répertoires virtuels enfants de l’application IIS.
Si vous devez compresser des fichiers dans des répertoires virtuels enfants, déplacez les dossiers et fichiers vers les dossiers physiques parents du dossier racine de l’application IIS avant de compresser votre site.
  • Pour pouvoir compresser un site dont certaines applications (par exemple, Retail et RetailBusinessDesk) se trouvent sur des serveurs Web séparés, vous devez ajouter l’un des serveurs Web à l’autre application.
Par exemple, si Retail est installée sur l’ordinateur A et RetailBizDesk sur l’ordinateur B, vous pouvez exécuter le Gestionnaire de package de site sur l’ordinateur B pour l’ajouter en tant que serveur Web pour Retail. Vous pouvez ensuite compresser le site à partir de l’ordinateur B. (Inversement, vous pourriez ajouter l’ordinateur A à RetailBizDesk et compresser le site à cet emplacement). Pour plus d’informations, consultez Ajout d’un serveur Web à une application.
  • Si vous spécifiez une Unité d’organisation contenant des caractères Unicode purs dans le Gestionnaire de package de site, l’Unité d’organisation est inscrite dans Active Directory avec une chaîne de caractères indéchiffrable.
Il s’agit d’une limite concernant le passage de chaînes Unicode à la méthode Run de l’objet WScript.Shell. Cette limite est propre aux plates-formes Microsoft Windows 95, Microsoft Windows 98, Microsoft Windows NT et Microsoft Windows 2000. Le problème sera corrigé dans Microsoft Windows.NET Enterprise Server. Les utilisateurs qui ne souhaitent pas mettre à niveau leurs plates-formes peuvent mettre à niveau les moteurs de script de Windows vers la version V5.6. La mise à jour sera disponible gratuitement et téléchargeable à partir de Windows .Net Server lors de la commercialisation de ce produit.


Restrictions de taille et de nom du Gestionnaire de package de site

Cette rubrique répertorie les restrictions relatives au nom et à la taille du Gestionnaire de package de site.

  • Noms de site
    • Pour éviter des erreurs de décompression, les noms de sites ne doivent pas contenir les caractères spéciaux suivants :

      /, ?, &, \, <, >, :, |, #, @, % et '

    • Ne spécifiez pas un nom de site de plus de 127 caractères codés sur un octet ou sur deux octets.
    • N’affectez pas le nom « Commerce » à votre site. Il s’agit d’un nom de base de données OLAP réservé. Si vous affectez le nom « Commerce » à votre site, cela risque d’entraîner l’écrasement de votre base de données OLAP la prochaine fois que vous décompresserez un site.
  • Noms virtuels
    • Pour éviter des erreurs IIS, les noms de répertoires virtuels ne doivent pas contenir les caractères spéciaux suivants :

      #, @, % et '

    • Le Gestionnaire de package de site décompresse chaque application sous le répertoire de base du site Web IIS correspondant. À l’intérieur du répertoire de base, le Gestionnaire de package de site crée un sous-dossier utilisant le nom de répertoire virtuel IIS de l’application.
  • Noms d’applications
    • Vous ne pouvez pas donner à vos applications les noms suivants :

      Campaigns

      Transactions

      Product Catalog

      Direct Mail

      Predictor

      App Default Config

      BDSecurity

      Biz Data Service

      Transaction Config

      Site Data Warehouse

      Global Data Warehouse

      Site CS Authentication

    • Les noms d’applications ne doivent pas contenir le caractère « \ ».
    • Si vous voulez décompresser l’application à la racine du site Web, vous pouvez utiliser le caractère « / » ou laisser le champ Chemin IIS vide.


Décompression d'un site

Envoyer des commentaires sur cette page Commerce Server 2002

Décompression d’un site

Le Gestionnaire de package de site Commerce Server vous permet de décompresser un site ou un sous-ensemble d’un site sur un ou plusieurs ordinateurs. Vous pouvez décompresser un site vers un serveur Web local ou vous pouvez spécifier un serveur Web distant sur lequel vous voulez décompresser. Quand vous exécutez le Gestionnaire de package de site, vous devez disposer des autorisations appropriées pour copier des fichiers vers leurs dossiers de destination.

Commerce Server est livré avec le site solution vide ; le site Retail et le site solution SupplierActiveDirectory sont disponibles à l’adresse suivante : http://go.microsoft.com/fwlink/?linkid=6491. Ces sites comprennent également une application Business Desk. Pour plus d’informations sur l’installation des sites solutions Commerce Server 2002, consultez « Installation des sites solutions Commerce Server 2002 » dans Guide d’installation de Commerce Server 2002.

Cette section contient les rubriques suivantes :

  • Décompression d’un site sur un serveur Web local
  • Décompression d’un site vers un serveur Web distant


Décompression d'un site sur un serveur Web local

Envoyer des commentaires sur cette page Commerce Server 2002

Décompression d’un site sur un serveur Web local

Vous pouvez décompresser un site sur un serveur Web local et installer tous les fichiers de votre base de données sur un seul serveur SQL Server ; une autre solution consiste à ajouter le serveur Web à une application existante et à spécifier que plus d’un serveur de base de données sera utilisé avec le site. Cette section contient des procédures sur la manière de décompresser un site rapidement, en acceptant la plupart des paramètres par défaut, puis sur la manière de décompresser un site en spécifiant tous vos paramètres.

Utilisez la Décompression rapide dans les cas suivants :

  • Commerce Server et les services IIS sont installés sur le même ordinateur.
  • Vous voulez placer tous vos fichiers de base de données sur un même serveur SQL Server.
  • Vous voulez décompresser l’intégralité d’un site.

Utilisez la Décompression personnalisée dans les cas suivants :

  • Commerce Server et IIS sont installés sur des ordinateurs différents.
  • Vous voulez ajouter uniquement les ressources du package à un site existant.
  • Vous voulez ajouter une seule application du package à un site existant.
  • Vous voulez ajouter un serveur Web à une application existante dans un site existant.
  • Vous voulez placer vos fichiers de base de données sur plusieurs serveurs SQL Server.

Remarque

  • Les instructions suivantes partent de l’hypothèse que l’utilisateur connecté à l’ordinateur local dispose des autorisations appropriées pour copier des fichiers vers les dossiers de destination.

Décompression d’un site avec des propriétés par défaut

Décompression d’un site avec des propriétés personnalisées


Décompression d'un site avec des propriétés par défaut

Envoyer des commentaires sur cette page Commerce Server 2002

Décompression d’un site avec des propriétés par défaut

Pour raccourcir le processus de décompression et installer tous vos fichiers de base de données sur un ordinateur SQL Server local ou distant, utilisez les procédures suivantes.

Pour décompresser un site rapidement, en acceptant la plupart des paramètres par défaut

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Microsoft Commerce Server 2002, puis cliquez sur Gestionnaire de package de site Commerce Server.

    L’écran Gestionnaire de package de site Commerce Server s’affiche.

  2. Dans l’écran Gestionnaire de package de site Commerce Server, sélectionnez Décompresser à partir d'un fichier de package (.pup), puis cliquez sur Suivant.

    L’écran Décompresser s’affiche.

  3. Dans l’écran Décompresser, cliquez sur Parcourir.

    La boîte de dialogue Ouvrir s’affiche.

  4. Dans la boîte de dialogue Ouvrir, naviguez vers le dossier contenant le fichier à décompresser, sélectionnez le fichier, puis cliquez sur Ouvrir.

    L’écran Décompresser s’affiche. Le package *.pup que vous avez sélectionné apparaît dans la zone Fichier à décompresser.

  5. Dans l’écran Décompresser, sélectionnez Décompression rapide, puis cliquez sur Suivant.

    L’écran Décompression rapide s’affiche.

  6. Dans l’écran Décompression rapide, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom du site | Taper le nom du site, si vous voulez le modifier. Pour obtenir une liste de restrictions sur les noms, consultez Restrictions de taille et de nom du Gestionnaire de package de site.
    Site Web IIS Sélectionner dans la liste déroulante le nom du site Web IIS sur lequel les applications seront installées.

    Remarque

    • Ne décompressez pas un site vers le site Web d’administration. Si vous décompressez un site vers le site Web d’administration, ce site et Business Desk ne fonctionneront pas en raison des limites de sécurité IIS administratives.
    Ordinateur SQL Server | Taper le nom de l’ordinateur exécutant SQL Server qui contiendra les bases de données du site ou accepter la valeur par défaut.
    Utiliser la sécurité intégrée de Windows Utiliser l’authentification intégrée de Windows.

    Il s’agit de la configuration recommandée.
    Utiliser un nom d’utilisateur et un mot de passe spécifiques | Utiliser l’authentification de SQL Server lors de la connexion aux bases de données.
    Nom d’utilisateur SQL Server Taper le nom de connexion SQL Server pour les bases de données.

    Remarque

    • Pour des raisons de sécurité, ne pas utiliser la connexion d’accès sa pour accéder aux bases de données. Pour modifier les informations de connexion pour la base de données d’administration après sa création, utiliser SQL Server Enterprise Manager.
    Mot de passe de connexion SQL Server | Taper le mot de passe de connexion SQL Server pour les bases de données.
  7. Cliquez sur Suivant.

    L’écran Décompression en cours apparaît et affiche les tâches en cours d’exécution. Lorsque ces tâches sont terminées, l’écran Data Warehouse s’affiche si la ressource Data Warehouse a été installée pendant le processus d’installation.

  8. Pour spécifier les paramètres de la ressource Data Warehouse, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper un nom pour votre ressource globale Data Warehouse ou accepter la valeur par défaut.
    Serveur | Taper le nom de l’ordinateur SQL Analysis (OLAP) ou accepter la valeur par défaut.
    Base de données | Taper le nom de la base de données Analysis (OLAP) à utiliser ou accepter la valeur par défaut.
  9. Cliquez sur OK.

    L’écran Décompression en cours affiche les tâches en cours d’exécution. Lorsque ces tâches sont terminées, le premier écran Système de profil s’affiche.

    Si la ressource Profils a été installée durant le processus d’installation, la première des deux boîtes de dialogue Système de profil s’affiche.

  10. Si vous décompressez un site solution et souhaitez accepter les paramètres par défaut, passez à l’étape 12 ci-dessous.
  11. Pour spécifier vos propres paramètres de profil, effectuez les opérations suivantes :
    Utilisez ceci Pour faire cela
    Définition de schéma de profil Spécifier le fichier XML qui a été stocké lors de la compression du site.

    Lorsque vous compressez votre site, le Gestionnaire de package de site extrait le schéma de profil de votre base de données Profils et le stocke dans un fichier XML.

    Lorsque vous décompressez un site solution, acceptez le fichier XML par défaut, ProfileDefinition. Ce fichier contient les définitions de profil suivantes : Adresse, BlanketPOs, Organisation, Contexte de ciblage et Objet utilisateur.
    Définition des entrées du glossaire du site Spécifier le fichier XML qui a été stocké lors de la compression du site.

    Lorsque vous compressez votre site, le Gestionnaire de package de site extrait de votre base de données de profils la définition des entrées du glossaire du site et la stocke dans un fichier XML.

    Lorsque vous décompressez un site solution, acceptez le fichier XML par défaut, SiteTerms. Ce fichier contient les entrées prédéfinies du glossaire du site.
    Définition d’expression Spécifier le fichier XML qui a été stocké lors de la compression du site.

    Lorsque vous compressez un site, le Gestionnaire de package de site extrait les définitions d’expressions que vous avez établies à l’aide de Business Desk et les stocke dans un fichier XML.

    Lorsque vous décompressez un site solution, un fichier XML par défaut est fourni : ExpressionDefinition. Ce fichier ne contient aucune expression prédéfinie pour les sites solutions.
  12. Cliquez sur Suivant.

    Si la ressource Profils a été installée au cours du processus d’installation, la seconde boîte de dialogue Système de profil s’affiche.

  13. Si vous décompressez un site solution et souhaitez accepter les paramètres par défaut, passez à l’étape 15 ci-dessous.
  14. Pour spécifier vos propres paramètres de profil, effectuez les opérations suivantes :
    Utilisez ceci Pour faire cela
    Chaîne de connexion du système de profil Accepter la chaîne de connexion par défaut à la base de données de profils ou cliquer sur Modifier pour configurer une nouvelle chaîne de connexion.

    Remarque

    • Si vous modifiez le fichier XML, Commerce Server ne conserve pas les informations de chaîne de connexion. Le nouveau fichier XML peut comprendre des banques de données agrégées différentes par leur nombre et leur type de celles contenues dans le fichier XML par défaut. Vous devez donc entrer à nouveau la chaîne de connexion.
    Scripts de définition de schéma (*.sql, *.vbs) Spécifier le script de définition de schéma qui va créer les tables de profils dans les banques de données d’exécution (les tables SQL qui contiennent les données d’utilisateur, d’adresse, d’organisation, etc.).

    Lorsque vous décompressez un site solution, SCHEMAUPM_SQLSource.SQLSource crée les tables correspondant aux définitions de profil par défaut : Adresse, BlanketPOs, Organisation, Contexte de ciblage, Objet utilisateur.

    Pour obtenir un exemple de script, consultez ProfileSQL.sql dans \Program Files\Microsoft Commerce Server 2002.

    Si vous modifiez la table UserObject ou d’autres définitions de schéma de profil, vous devez utiliser SQL Server Enterprise Manager pour générer un script à utiliser ici. Pour plus d’informations, consultez Compression de schéma de profil étendu.
    Scripts de remplissage des données (*.sql) Si vous avez extrait les données de profil à partir d’une base de données de profils, vous pouvez spécifier des scripts de remplissage des données qui importent les données dans votre nouvelle base de données de profils au moment de la décompression.

    Pour obtenir un exemple de script contenant des données pour deux utilisateurs, consultez PopulateProfileSql.sql dans \Program Files\Microsoft Commerce Server 2002.

    Pour plus d’informations sur l’utilisation de scripts avec le Gestionnaire de package de site, consultez Utilisation de scripts avec le Gestionnaire de package de site.
  15. Cliquez sur OK.
  16. Si vous utilisez la sécurité intégrée Windows, dans la boîte de dialogue Gestionnaire de package de site Commerce Server, passez en revue la liste des ressources qui sont décompressées et qui nécessitent des autorisations d’accès sur les comptes Windows appropriés, puis cliquez sur OK.

    Si vous n’avez pas sélectionné la sécurité intégrée Windows, passez à l’étape suivante.

  17. Dans la boîte de dialogue Décompression terminée, consultez la liste des bases de données SQL et applications IIS qui ont été créées. Pour consulter la liste des événements contenus dans le fichier journal du Gestionnaire de package de site, cliquez sur Afficher le fichier journal.
  18. Pour fermer le Gestionnaire de package de site, cliquez sur Terminer.


Décompression d'un site avec des propriétés personnalisées

Envoyer des commentaires sur cette page Commerce Server 2002

Décompression d’un site avec des propriétés personnalisées

Pour ajouter des ressources ou une application à un site existant ou pour ajouter un serveur Web à une application existante, utilisez les procédures suivantes. Vous pouvez également spécifier que plus d’un serveur de base de données sera utilisé avec le site.

Pour décompresser un site à l’aide de la Décompression personnalisée

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Microsoft Commerce Server 2002, puis cliquez sur Gestionnaire de package de site Commerce Server.
  2. Dans la boîte de dialogue Gestionnaire de package de site Commerce Server, sélectionnez Décompresser à partir d’un fichier de package (.pup), puis cliquez sur Suivant.
  3. Dans la boîte de dialogue Décompresser, tapez le chemin d’accès et le nom du fichier que vous voulez décompresser ou cliquez sur le bouton Parcourir.

    Si vous avez cliqué sur le bouton Parcourir, dans la boîte de dialogue Ouvrir, naviguez vers le dossier contenant le fichier à décompresser, sélectionnez le fichier, puis cliquez sur Ouvrir.

  4. Lorsque la boîte de dialogue Décompresser réapparaît, sélectionnez Décompression personnalisée, puis cliquez sur Suivant.
  5. Dans la boîte de dialogue Méthode de décompression, sélectionnez l’une des options de décompression, puis cliquez sur Suivant.

Les options de décompression sont décrites dans les procédures suivantes.

Pour créer un nouveau site

Pour ajouter les ressources du package à un site existant

Pour ajouter une application du package à un site existant

Pour ajouter un serveur Web à une application existante dans un site existant

Pour créer un nouveau site

Pour décompresser le contenu du package de site sélectionné vers un nouveau site, utilisez les procédures suivantes.

  1. Dans la boîte de dialogue Nom du site, tapez le nom du nouveau site, puis cliquez sur Suivant.
  2. Dans la boîte de dialogue Sélectionner des ressources, sélectionnez les ressources à ajouter, cliquez sur Ajouter, puis cliquez sur Suivant.

    Remarque

    • Dans la boîte de dialogue Sélectionner des ressources, vous devez installer les ressources CS Authentication et Profils. Elles ne fonctionnent pas si elles ne sont pas installées toutes les deux.
  3. Dans la boîte de dialogue Pointeurs de ressource globale, sélectionnez le pointeur de ressource globale existant auquel vous voulez mapper une ressource globale nouvelle ou existante. Dans la zone Ressources globales existantes, sélectionnez la ressource globale que vous voulez mapper au pointeur de ressource globale sélectionné puis cliquez sur Suivant.

    Dans la boîte de dialogue Chaînes de connexion de base de données, le Gestionnaire de package de site répertorie les bases de données qu’il crée ainsi que les serveurs sur lesquels elles sont créées.

  4. Pour modifier les bases de données et les serveurs, sélectionnez une ressource dans la colonne Ressource, puis cliquez sur Modifier.
  5. Dans la boîte de dialogue Propriétés des liaisons de données, sélectionnez ou tapez les nouveaux noms de serveur et de base de données, cliquez sur OK, puis cliquez sur Suivant.

    Si vous voulez copier une chaîne de connexion de base de données, sélectionnez la ligne contenant la chaîne de connexion à copier, puis cliquez sur Modifier. Dans la boîte de dialogue Propriétés des liaisons de données, sélectionner ou taper les noms de serveur et de base de données à copier, puis cliquer sur OK. Dans la boîte de dialogue Chaînes de connexion de base de données, sélectionner à nouveau la ligne contenant la chaîne de connexion à copier, puis cliquer sur Copier. Sélectionnez les lignes sur lesquelles vous voulez copier la chaîne de connexion, puis cliquez sur Coller.

    Remarque

    • La ressource Data Warehouse doit toujours être décompressée dans une base de données distincte.

    La boîte de dialogue Gestionnaire de package de site Commerce Server s’affiche si le Gestionnaire de package de site doit créer des bases de données. Les informations que vous indiquez dans cette boîte de dialogue sont utilisées pour la connexion à la base de données Master de votre installation SQL Server.

  6. Dans la boîte de dialogue Gestionnaire de package de site Commerce Server, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Utiliser la sécurité intégrée de Windows Utiliser l’authentification intégrée de Windows pour les bases de données.

    Il s’agit de la configuration recommandée.
    Utiliser un nom d’utilisateur et un mot de passe spécifiques | Utiliser l’authentification de SQL Server lors de la connexion aux bases de données. Cette configuration n’est pas recommandée.
    Nom d’utilisateur SQL Server | Taper le nom de connexion SQL Server pour les bases de données. Cette configuration n’est pas recommandée.
    Mot de passe de connexion SQL Server | Taper le mot de passe de connexion SQL Server. Cette configuration n’est pas recommandée.
  7. Cliquez sur OK.
  8. Dans la boîte de dialogue Sélectionner des applications, vérifiez que les applications à décompresser sont sélectionnées, puis cliquez sur Suivant.
  9. Dans la boîte de dialogue Sélectionner des ordinateurs IIS, des sites Web et des chemins, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom de l’ordinateur IIS Taper le nom d’ordinateur du serveur Web IIS sur lequel vous voulez décompresser les fichiers de l’application.

    Cliquer sur Actualiser pour mettre à jour la liste des sites Web sur l’ordinateur distant.
    Site Web IIS Sélectionner le nom du site Web IIS pour les applications sélectionnées.

    Remarque

    • Si vous décompressez un site sur un site Web IIS administratif, ce site et Business Desk ne fonctionneront pas en raison de limites de sécurité IIS administratives.
    Chemin IIS | Taper le nom du chemin IIS pour les applications sélectionnées.

    Remarques

    • Le Gestionnaire de package de site décompressera chaque application sous le répertoire de base de son site Web IIS correspondant. À l’intérieur du répertoire de base, le Gestionnaire de package de site crée un sous-dossier utilisant le nom de répertoire virtuel IIS de l’application.
    • Si vous voulez décompresser l’application à la racine du site Web, vous pouvez utiliser le caractère « / » ou laisser le champ Chemin IIS vide.
  10. Cliquez sur Suivant.

    Si vous avez ajouté la ressource Data Warehouse au site, la boîte de dialogue Data Warehouse s’affiche.

  11. Pour spécifier les paramètres de la ressource Data Warehouse, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper un nom pour la ressource globale Data Warehouse.
    Serveur Taper le nom du serveur exécutant SQL Analysis (OLAP).

    Remarque

    • La ressource Data Warehouse doit toujours être installée sur un serveur exécutant SQL Server en tant que base de données OLAP.
    Base de données | Taper le nom de la base de données Analysis (OLAP) à utiliser.
  12. Cliquez sur OK.

    Si vous avez ajouté la ressource Profils au site, la première des deux boîtes de dialogue Système de profil s’affiche.

  13. Si vous décompressez un site solution, cliquez sur Suivant pour accepter les valeurs par défaut.

    Pour spécifier vos propres paramètres de profil, effectuez les opérations suivantes :

    Utilisez ceci Pour faire cela
    Définition de schéma de profil Lorsque vous compressez un site, le Gestionnaire de package de site extrait le schéma de profil de votre base de données de profils et le stocke dans un fichier XML. Spécifier le fichier XML dans cette zone pour le décompresser.

    Lorsque vous décompressez un site solution, acceptez le fichier XML par défaut, ProfileDefinition. Ce fichier contient les définitions de profil suivantes : Adresse, BlanketPOs, Organisation, Contexte de ciblage et Objet utilisateur.
    Définition des entrées du glossaire du site Lorsque vous compressez un site, le Gestionnaire de package de site extrait de votre base de données la définition des entrées du glossaire du site et la stocke dans un fichier XML. Spécifier le fichier XML dans cette zone pour le décompresser.

    Lorsque vous décompressez un site solution, acceptez le fichier XML par défaut, SiteTerms. Ce fichier contient les entrées prédéfinies du glossaire du site.
    Définition d’expression Lorsque vous compressez un site, le Gestionnaire de package de site extrait les définitions d’expressions que vous avez établies à l’aide de Business Desk et les stocke dans un fichier XML. Spécifier le fichier XML dans cette zone pour le décompresser.

    Lorsque vous décompressez un site solution, un fichier XML par défaut est fourni : ExpressionDefinition. Ce fichier ne contient aucune expression prédéfinie pour les sites solutions.
  14. Cliquez sur Suivant.

    Si vous avez ajouté la ressource Profils au site, la seconde boîte de dialogue Système de profil s’affiche.

  15. Si vous décompressez un site solution, cliquez sur Suivant pour accepter les valeurs par défaut.

    Pour spécifier vos propres paramètres de profil, effectuez les opérations suivantes :

    Utilisez ceci Pour faire cela
    Chaîne de connexion du système de profil Accepter la chaîne de connexion par défaut à la base de données de profils ou cliquer sur Modifier pour configurer une nouvelle chaîne de connexion.

    Remarque

    • Si vous modifiez le fichier XML, Commerce Server ne conserve pas les informations de chaîne de connexion. Le nouveau fichier XML peut comprendre des banques de données agrégées différentes par leur nombre et leur type de celles contenues dans le fichier XML par défaut. Vous devez donc entrer à nouveau la chaîne de connexion.
    Scripts de définition de schéma (*.sql, *.vbs) Spécifier le script de définition de schéma qui va créer les tables de profils dans les banques de données d’exécution (les tables SQL qui contiennent les données d’utilisateur, d’adresse, d’organisation, etc.).

    Lorsque vous décompressez un site solution, SCHEMAUPM_SQLSource.SQLSource crée les tables correspondant aux définitions de profil par défaut : Adresse, BlanketPOs, Organisation, Contexte de ciblage, Objet utilisateur.

    Pour obtenir un exemple de script, consultez ProfileSQL.sql dans \Program Files\Microsoft Commerce Server 2002.

    Si vous modifiez la table UserObject ou d’autres définitions de schéma de profil, vous devez utiliser SQL Server Enterprise Manager pour générer un script à utiliser ici. Pour plus d’informations, consultez Compression de schéma de profil étendu.
    Scripts de remplissage des données (*.sql) Si vous avez extrait les données de profil à partir d’une base de données de profils, vous pouvez spécifier des scripts de remplissage des données. Ainsi, lors de la décompression, les données sont importées dans votre nouvelle base de données de profils.

    Pour obtenir un exemple de script contenant des données pour deux utilisateurs, consultez PopulateProfileSql.sql dans \Program Files\Microsoft Commerce Server 2002.

    Pour plus d’informations sur l’utilisation de scripts avec le Gestionnaire de package de site, consultez Utilisation de scripts avec le Gestionnaire de package de site.
  16. Cliquez sur OK.
  17. Si vous utilisez la sécurité intégrée Windows, dans la boîte de dialogue Gestionnaire de package de site Commerce Server, passez en revue la liste des ressources qui sont décompressées et qui nécessitent des autorisations d’accès sur les comptes Windows appropriés, puis cliquez sur OK.
  18. Dans la boîte de dialogue Décompression terminée, consultez la liste des bases de données SQL et applications IIS qui ont été créées. Pour consulter la liste des événements contenus dans le fichier journal du Gestionnaire de package de site, cliquez sur Afficher le fichier journal.
  19. Pour fermer le Gestionnaire de package de site, cliquez sur Terminer.

Pour ajouter les ressources du package à un site existant

  1. Dans la boîte de dialogue Méthode de décompression, sélectionnez Ajouter les ressources du package à un site existant, puis cliquez sur Suivant.
  2. Dans la boîte de dialogue Sélectionner un site, sélectionnez le site existant auquel vous voulez ajouter la ou les ressources, puis cliquez sur Suivant.
  3. Dans la boîte de dialogue Sélectionner des ressources, sélectionnez les ressources à ajouter, cliquez sur Ajouter, puis cliquez sur Suivant.

    Remarque

    • Dans la boîte de dialogue Sélectionner des ressources, vous devez installer les ressources CS Authentication et Profils. Elles ne fonctionnent pas si elles ne sont pas installées toutes les deux.

    L’écran Pointeurs de ressource globale s’affiche. Cette boîte de dialogue vous permet d’effectuer un mappage vers les ressources globales existantes ou d’en créer de nouvelles. Vous pouvez également l’utiliser si vous avez déjà décompressé les ressources globales sur votre ordinateur et que vous souhaitez à présent décompresser des pointeurs de ressource globale dans un site qui utilisera ces ressources globales.

  4. Dans la boîte de dialogue Pointeurs de ressource globale, sélectionnez le pointeur de ressource globale existant auquel vous voulez mapper une ressource globale nouvelle ou existante. Dans la zone Ressources globales existantes, sélectionnez la ressource globale que vous voulez mapper au pointeur de ressource globale sélectionné puis cliquez sur Suivant.

    L’écran Chaînes de connexion de base de données s’affiche. Cet écran répertorie toutes les chaînes de connexion, les noms des serveurs et les bases de données associés aux ressources qui seront installées pour votre site.

  5. Dans la boîte de dialogue Chaînes de connexion de base de données, le Gestionnaire de package de site répertorie les bases de données qu’il crée ainsi que les serveurs sur lesquels elles sont créées. Pour modifier les bases de données et les serveurs, cliquez sur Modifier. Dans la boîte de dialogue Propriétés des liaisons de données, sélectionnez ou tapez les nouveaux noms de serveur et de base de données, cliquez sur OK, puis cliquez sur Suivant.

    La boîte de dialogue Gestionnaire de package de site Commerce Server s’affiche si le Gestionnaire de package de site doit créer des bases de données. Les informations que vous indiquez dans cette boîte de dialogue sont utilisées pour la connexion à la base de données Master de votre installation SQL Server.

  6. Dans la boîte de dialogue Gestionnaire de package de site Commerce Server, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Utiliser la sécurité intégrée de Windows Utiliser l’authentification intégrée de Windows pour les bases de données.

    Il s’agit de la configuration recommandée.
    Utiliser un nom d’utilisateur et un mot de passe spécifiques | Utiliser l’authentification de SQL Server lors de la connexion aux bases de données.
    Nom d’utilisateur SQL Server | Taper le nom de connexion SQL Server pour les bases de données.
    Mot de passe de connexion SQL Server | Taper le mot de passe de connexion SQL Server.
  7. Cliquez sur OK.
  8. Si vous avez ajouté la ressource Data Warehouse au site, la boîte de dialogue Data Warehouse s’affiche. Pour spécifier les paramètres de la ressource Data Warehouse, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper un nom pour la ressource globale Data Warehouse.
    Serveur | Taper le nom de l’ordinateur SQL Analysis (OLAP).
    Base de données | Taper le nom de la base de données Analysis (OLAP) à utiliser.
  9. Cliquez sur OK.
  10. Si vous avez ajouté la ressource Profils au site, la première des deux boîtes de dialogue Système de profil s’affiche. Si vous décompressez un site solution, cliquez sur Suivant pour accepter les valeurs par défaut.

    Pour spécifier les paramètres de la ressource Profils, effectuez les opérations suivantes :

    Utilisez ceci Pour faire cela
    Définition de schéma de profil Lorsque vous compressez un site, le Gestionnaire de package de site extrait le schéma de profil de votre base de données de profils et le stocke dans un fichier XML. Spécifier le fichier XML dans cette zone pour le décompresser.

    Lorsque vous décompressez un site solution, acceptez le fichier XML par défaut, ProfileDefinition. Ce fichier contient les définitions de profil suivantes : Adresse, BlanketPOs, Organisation, Contexte de ciblage et Objet utilisateur.
    Définition des entrées du glossaire du site Lorsque vous compressez un site, le Gestionnaire de package de site extrait de votre base de données la définition des entrées du glossaire du site et la stocke dans un fichier XML. Spécifier le fichier XML dans cette zone pour le décompresser.

    Lorsque vous décompressez un site solution, acceptez le fichier XML par défaut, SiteTerms. Ce fichier contient les entrées prédéfinies du glossaire du site.
    Définition d’expression Lorsque vous compressez un site, le Gestionnaire de package de site extrait de votre base de données les définitions d’expressions que vous avez établies à l’aide de Business Desk et les stocke dans un fichier XML. Spécifier le fichier XML dans cette zone pour le décompresser.

    Lorsque vous décompressez un site solution, un fichier XML par défaut est fourni : ExpressionDefinition. Ce fichier ne contient aucune expression prédéfinie pour les sites solutions.
  11. Cliquez sur Suivant.
  12. Si vous avez ajouté la ressource Profils au site, la seconde boîte de dialogue Système de profil s’affiche. Si vous décompressez un site solution, cliquez sur Suivant pour accepter les valeurs par défaut.

    Pour spécifier vos propres paramètres de profil, effectuez les opérations suivantes :

    Utilisez ceci Pour faire cela
    Chaîne de connexion du système de profil Accepter la chaîne de connexion par défaut à la base de données de profils ou cliquer sur Modifier pour configurer la chaîne de connexion.

    Remarque

    • Si vous modifiez le fichier XML, Commerce Server ne conserve pas les informations de chaîne de connexion. Le nouveau fichier XML peut comprendre des banques de données agrégées différentes par leur nombre et leur type de celles contenues dans le fichier XML par défaut. Vous devez donc entrer à nouveau la chaîne de connexion.
    Scripts de définition de schéma (*.sql, *.vbs) Spécifier le script de définition de schéma qui va créer les tables de profils dans les banques de données d’exécution (les tables SQL qui contiennent les données d’utilisateur, d’adresse, d’organisation, etc.).

    Lorsque vous décompressez un site solution, SCHEMAUPM_SQLSource.SQLSource crée les tables correspondant aux définitions de profil par défaut : Adresse, BlanketPOs, Organisation, Contexte de ciblage, Objet utilisateur.

    Pour obtenir un exemple de script, consultez ProfileSQL.sql dans \Program Files\Microsoft Commerce Server 2002.

    Si vous modifiez la table UserObject ou d’autres définitions de schéma de profil, vous devez utiliser SQL Server Enterprise Manager pour générer un script à utiliser ici. Pour plus d’informations, consultez Compression de schéma de profil étendu.
    Scripts de remplissage des données (*.sql) Si vous avez extrait les données de profil à partir d’une base de données de profils, vous pouvez spécifier des scripts de remplissage des données. Ainsi, lors de la décompression, les données sont importées dans votre nouvelle base de données de profils.

    Pour obtenir un exemple de script contenant des données pour deux utilisateurs, consultez PopulateProfileSql.sql dans \Program Files\Microsoft Commerce Server 2002.
  13. Cliquez sur OK.
  14. Si vous utilisez la sécurité intégrée Windows, dans la boîte de dialogue Gestionnaire de package de site Commerce Server, passez en revue la liste des ressources qui sont décompressées et qui nécessitent des autorisations d’accès sur les comptes Windows appropriés, puis cliquez sur OK.
  15. Dans la boîte de dialogue Décompression terminée, consultez la liste des bases de données SQL et applications IIS qui ont été créées. Pour consulter la liste des événements contenus dans le fichier journal du Gestionnaire de package de site, cliquez sur Afficher le fichier journal.
  16. Pour fermer le Gestionnaire de package de site, cliquez sur Terminer.

Pour ajouter une application du package à un site existant

  1. Dans la boîte de dialogue Méthode de décompression, sélectionnez Ajouter une application du package à un site existant, puis cliquez sur Suivant.
  2. Dans la boîte de dialogue Sélectionner un site, sélectionnez le site existant auquel vous voulez ajouter une application, puis cliquez sur Suivant.
  3. Dans la boîte de dialogue Sélectionner des applications, sélectionnez les applications que vous voulez décompresser, puis cliquez sur Suivant.
  4. Dans la boîte de dialogue Sélectionner des ordinateurs IIS, des sites Web et des chemins, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom de l’ordinateur IIS Taper le nom d’ordinateur du serveur Web IIS sur lequel vous voulez décompresser les fichiers de l’application.

    Cliquer sur Actualiser pour mettre à jour la liste des sites Web sur l’ordinateur distant.
    Site Web IIS Sélectionner le nom du site Web IIS pour les applications sélectionnées.

    Remarque

    • Si vous décompressez un site sur un site Web IIS administratif, ce site et Business Desk ne fonctionneront pas en raison de limites de sécurité IIS administratives.
    Chemin IIS | Taper le nom du chemin IIS pour les applications sélectionnées.

    Remarques

    • Le Gestionnaire de package de site décompressera chaque application sous le répertoire de base de son site Web IIS correspondant. À l’intérieur du répertoire de base, le Gestionnaire de package de site crée un sous-dossier utilisant le nom de répertoire virtuel IIS de l’application.
    • Si vous voulez décompresser l’application à la racine du site Web, vous pouvez utiliser le caractère « / » ou laisser le champ Chemin IIS vide.
  5. Cliquez sur Suivant.
  6. Dans la boîte de dialogue Décompression terminée, consultez la liste des bases de données SQL et applications IIS qui ont été créées. Pour consulter la liste des événements contenus dans le fichier journal du Gestionnaire de package de site, cliquez sur Afficher le fichier journal.
  7. Pour fermer le Gestionnaire de package de site, cliquez sur Terminer.

Pour ajouter un serveur Web à une application existante dans un site existant

  1. Dans la boîte de dialogue Méthode de décompression, sélectionnez Ajouter un serveur Web à une application existante dans un site existant, puis cliquez sur Suivant.
  2. Dans la boîte de dialogue Sélectionner un site, sélectionnez le site existant auquel vous voulez ajouter un serveur Web, puis cliquez sur Suivant.
  3. Dans la boîte de dialogue Sélectionner des applications, sélectionnez les applications que vous voulez décompresser, puis cliquez sur Suivant.
  4. Dans la boîte de dialogue Sélectionner des ordinateurs IIS, des sites Web et des chemins, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom de l’ordinateur IIS Taper le nom d’ordinateur du serveur Web IIS sur lequel vous voulez décompresser les fichiers de l’application.

    Cliquer sur Actualiser pour mettre à jour la liste des sites Web sur l’ordinateur distant.
    Site Web IIS Sélectionner le nom du site Web IIS pour les applications sélectionnées.

    Remarque

    Si vous décompressez un site sur un site Web IIS administratif, ce site et Business Desk ne fonctionneront pas en raison de limites de sécurité IIS administratives.
    Chemin IIS | Taper le nom du chemin IIS pour les applications sélectionnées.

    Remarques

    • Le Gestionnaire de package de site décompresse chaque application sous le répertoire de base du site Web IIS correspondant. À l’intérieur du répertoire de base, le Gestionnaire de package de site crée un sous-dossier utilisant le nom de répertoire virtuel IIS de l’application.
    • Si vous voulez décompresser l’application à la racine du site Web, vous pouvez utiliser le caractère « / » ou laisser le champ Chemin IIS vide.
  5. Cliquez sur Suivant.
  6. Dans la boîte de dialogue Décompression terminée, consultez la liste des bases de données SQL et applications IIS qui ont été créées. Pour consulter la liste des événements contenus dans le fichier journal du Gestionnaire de package de site, cliquez sur Afficher le fichier journal.
  7. Pour fermer le Gestionnaire de package de site, cliquez sur Terminer.

Remarques

  • Immédiatement après avoir installé votre site, et chaque fois que vous apportez des modifications de configuration importantes à votre déploiement Commerce Server, vous devez sauvegarder votre base de données d’administration sous un nom différent. Vous pouvez utiliser cette sauvegarde pour annuler tout changement effectué ultérieurement.
  • Si vous installez des bases de données Commerce Server (autres que Data Warehouse) sur un ordinateur distant, il est possible qu’il y ait un décalage avant l’apparition de ces bases de données sur cet ordinateur.
  • Une fois que vous avez créé une application, il peut exister un script unpack.vbs dans le dossier racine de l’application (ce fichier n’existe pas lorsque vous décompressez le site vide). Veillez à supprimer ou à sécuriser ce fichier immédiatement après la décompression. Des utilisateurs anonymes peuvent y accéder. L’utilisation non autorisée de ce fichier script pourrait conduire au refus de service ou à l’altération des paramètres de site. Pour plus d’informations sur la manière de sécuriser votre site, consultez Sécurisation de votre site.
  • Ce fichier est utilisé lorsqu’un site est décompressé à l’aide du Gestionnaire de package de site Commerce Server.

Voir aussi

Sécurisation de votre site.

Compression d’un site

Exécution du Gestionnaire de package de site à partir de la ligne de commande

Dépannage du Gestionnaire de package de site


Décompression d'un site vers un serveur Web distant

Envoyer des commentaires sur cette page Commerce Server 2002

Décompression d’un site vers un serveur Web distant

Dans Commerce Server 2002, vous pouvez spécifier un serveur Web distant sur lequel vous voulez installer les applications dans votre package à l’aide du mode Décompression personnalisée du Gestionnaire de package de site. Retenez les contraintes suivantes concernant la décompression d’un site ou d’une application vers un serveur Web distant :

  • Pour décompresser la ressource Data Warehouse, vous devez exécuter le Gestionnaire de package de site sur un ordinateur où le composant Analysis Manager des services Analysis Services est installé. Il n’est pas nécessaire que la base de données d’analyse se trouve sur l’ordinateur que vous avez utilisé pour décompresser la solution site.
  • Sur le serveur Web distant, Commerce Server 2002, les services IIS (Internet Information Services) et la base de données d’analyse doivent être installés.
  • Lorsque vous décompressez la ressource Data Warehouse vers un ordinateur distant où seul le composant Analysis Manager est installé (et non l’ensemble des services Analysis Services), créez une nouvelle clé de Registre nommée Server Connection Info pour pouvoir installer les cubes d’analyse. Créez cette clé sous HKEY_LOCAL_MACHINE\Software\Microsoft\Olap Server avec les deux valeurs de chaîne suivantes :
    • Locks Directory avec la valeur <lecteur d’installation du serveur d’analyse>:\\\\<répertoire racine de l’installation du serveur d’analyse>\\bin. Par exemple, <d:\\\\Microsoft Analysis Services\\bin. Cette valeur spécifie l’emplacement des composants Analysis Manager.
    • Remote Locks Directory avec la valeur MsOLAPRepository$.
  • Sur l’ordinateur distant, les membres du groupe Administrateurs doivent disposer de privilèges d’opérateur pour le site Web où vous allez décompresser votre application Commerce Server. Pour plus d’informations, consultez la rubrique « Attribution d'opérateurs de site Web » dans l’aide en ligne des services IIS. De plus, l’ordinateur local où vous exécutez le Gestionnaire de package de site doit être accessible par les services IIS de l’ordinateur distant. Pour plus d’informations, consultez la rubrique « Accord et refus de l’accès aux ordinateurs » dans l’aide en ligne des services IIS. Le Gestionnaire de package de site ne vérifie pas cette condition. Si cette condition n’est pas remplie, le site ne se décompresse pas, mais aucune erreur ne s’affiche.
  • L’administrateur qui effectue la décompression du site ou de l’application doit fournir des informations d’authentification de connexion correspondant à un compte Windows valide membre du groupe Administrateurs sur l’ordinateur distant. Le Gestionnaire de package de site ne vérifie pas cette condition. Si cette condition n’est pas remplie, le site ne se décompresse pas, mais aucune erreur ne s’affiche.
  • Le groupe Administrateurs de l’ordinateur distant doit accorder l’accès en écriture au groupe Administrateurs local pour permettre la création de nouveaux dossiers et fichiers que le Gestionnaire de package de site doit écrire sur l’ordinateur distant. Le Gestionnaire de package de site ne vérifie pas cette condition. Si cette condition n’est pas remplie, le site ne se décompresse pas, mais aucune erreur ne s’affiche.
  • L’application située sur l’ordinateur distant doit être associée à la même base de données administrative que toutes les autres applications du site Commerce Server considéré. Vous pouvez utiliser également cette fonctionnalité pour ajouter des applications à un site ou des serveurs Web à une application sur une machine distante.

Utilisez les procédures suivantes si vous décompressez un site vers un serveur Web distant :

  1. Lancer la décompression d’un site vers un serveur Web distant
  2. Ajouter les ressources à décompresser dans le nouveau site
  3. Sélectionner les applications à décompresser
  4. Spécifier les paramètres des ressources sélectionnées
  5. Terminer le processus de décompression

Lancer la décompression d’un site vers un serveur Web distant

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Microsoft Commerce Server 2002, puis cliquez sur Gestionnaire de package de site Commerce Server.
  2. Dans la boîte de dialogue Gestionnaire de package de site Commerce Server, sélectionnez Décompresser à partir d’un fichier de package (.pup), puis cliquez sur Suivant.
  3. Dans la boîte de dialogue Décompresser, tapez le chemin d’accès et le nom du fichier que vous voulez décompresser ou cliquez sur le bouton Parcourir.

    Si vous avez cliqué sur le bouton Parcourir, dans la boîte de dialogue Ouvrir, naviguez vers le dossier contenant le fichier à décompresser, sélectionnez le fichier, puis cliquez sur Ouvrir.

  4. Lorsque la boîte de dialogue Décompresser réapparaît, sélectionnez Décompression personnalisée, puis cliquez sur Suivant.

Ajouter les ressources à décompresser dans le nouveau site

  1. Dans la boîte de dialogue Méthode de décompression, sélectionnez Créer un nouveau site, puis cliquez sur Suivant.
  2. Dans la zone Nom du site, tapez le nom du site, puis cliquez sur Suivant.

    Remarques

    • Pour éviter les erreurs de décompression, n’utilisez pas dans votre nom de site des caractères spéciaux non reconnus par les bases de données SQL Server. Pour plus d’informations, consultez la documentation en ligne de SQL.
    • Ne spécifiez pas un nom de site de plus de 127 caractères codés sur un octet ou sur deux octets.
    • N’affectez pas le nom « Commerce » à votre site. Il s’agit d’un nom de base de données OLAP réservé. Si vous affectez le nom « Commerce » à votre site, cela risque d’entraîner l’écrasement de votre base de données OLAP la prochaine fois que vous décompresserez un site.
  3. Dans la boîte de dialogue Sélectionner des ressources, sélectionnez les ressources à ajouter, puis cliquez sur Suivant.

    Remarque

    • Dans la boîte de dialogue Sélectionner des ressources, vous devez installer les ressources CS Authentication et Profils. Elles ne fonctionnent pas si elles ne sont pas installées toutes les deux.
  4. Dans la boîte de dialogue Pointeurs de ressource globale, cliquez sur Suivant.

    Cette boîte de dialogue vous permet d’effectuer un mappage vers les ressources globales existantes ou d’en créer de nouvelles.

  5. Dans la boîte de dialogue Chaînes de connexion de base de données, le Gestionnaire de package de site répertorie les bases de données qu’il crée ainsi que les serveurs sur lesquels elles sont créées. Pour modifier les bases de données et les serveurs, cliquez sur Modifier, puis tapez le ou les nouveaux noms de serveur et de base de données.

    Remarque

    • Si vous voulez copier une chaîne de connexion de base de données, sélectionnez la ligne contenant la chaîne de connexion à copier, puis cliquez sur Modifier. Dans la boîte de dialogue Propriétés des liaisons de données, sélectionner ou taper les noms de serveur et de base de données à copier, puis cliquer sur OK. Dans la boîte de dialogue Chaînes de connexion de base de données, sélectionner à nouveau la ligne contenant la chaîne de connexion à copier, puis cliquer sur Copier. Sélectionnez les lignes sur lesquelles vous voulez copier la chaîne de connexion, puis cliquez sur Coller.
  6. Cliquez sur Suivant.

    La boîte de dialogue Gestionnaire de package de site Commerce Server s’affiche si le Gestionnaire de package de site doit créer des bases de données. Les informations que vous indiquez dans cette boîte de dialogue sont utilisées pour la connexion à la base de données Master de votre installation SQL Server.

  7. Dans la boîte de dialogue Gestionnaire de package de site Commerce Server, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Utiliser la sécurité intégrée de Windows Utiliser l’authentification intégrée de Windows pour les bases de données.

    Il s’agit de la configuration recommandée.

    Lorsque vous utilisez la sécurité intégrée de Windows, les noms d’utilisateur et les mots de passe ne sont pas stockés dans la chaîne de connexion SQL Server et ne sont pas affectés par la réinitialisation des mots de passe SQL. Pour plus d’informations sur la sécurité de Commerce Server, consultez Sécurisation de votre site dans l’aide de Commerce Server.
    Utiliser un nom d’utilisateur et un mot de passe spécifiques | Utiliser l’authentification de SQL Server lors de la connexion aux bases de données.
    Nom d’utilisateur SQL Server | Taper le nom de connexion SQL Server pour les bases de données.
    Mot de passe de connexion SQL Server | Taper le mot de passe de connexion SQL Server.
  8. Cliquez sur OK.

Sélectionner les applications à décompresser

  1. Dans la boîte de dialogue Sélectionner des applications, vérifiez que les applications à décompresser sont sélectionnées, puis cliquez sur Suivant.
  2. Dans la boîte de dialogue Sélectionner des ordinateurs IIS, des sites Web et des chemins, sélectionnez une application de la colonne Application, puis effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom de l’ordinateur IIS Taper le nom d’ordinateur du serveur Web IIS distant pour les applications sélectionnées.

    Cliquer sur Actualiser pour ajouter la liste des sites Web pour l’ordinateur.
    Site Web IIS Sélectionner le nom du site Web IIS pour les applications sélectionnées.

    Remarque

    • Si vous décompressez un site sur un site Web IIS administratif, ce site et Business Desk ne fonctionneront pas en raison de limites de sécurité IIS administratives.
    Chemin IIS | Taper le nom du chemin IIS pour les applications sélectionnées.

    Remarques

    • Chaque application de la boîte de dialogue Sélectionner des ordinateurs IIS, des sites Web et des chemins doit être configurée séparément.
    • Le Gestionnaire de package de site décompresse chaque application sous le répertoire de base du site Web IIS correspondant. À l’intérieur du répertoire de base, le Gestionnaire de package de site crée un sous-dossier utilisant le nom de répertoire virtuel IIS de l’application.
  3. Cliquez sur Suivant.

    Un message vous indique que vous devez exécuter le fichier Unpack.bat pour chaque application décompressée vers un ordinateur distant. Une fois la décompression terminée, consultez le fichier journal du Gestionnaire de package de site pour voir l’emplacement précis de chaque fichier Unpack.bat.

Spécifier les paramètres des ressources sélectionnées

  1. Si vous avez ajouté la ressource Data Warehouse au site, la boîte de dialogue Data Warehouse s’affiche. Pour spécifier les paramètres de la ressource Data Warehouse, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper un nom pour la ressource globale Data Warehouse.
    Serveur | Taper le nom de l’ordinateur SQL Analysis (OLAP).
    Base de données | Taper le nom de la base de données Analysis (OLAP) à utiliser.
  2. Cliquez sur OK.

    Si vous avez ajouté la ressource Profils au site, la première des deux boîtes de dialogue Système de profil s’affiche.

  3. Si vous décompressez un site solution, cliquez sur Suivant pour accepter les valeurs par défaut.
  4. Pour spécifier vos propres paramètres de profil, effectuez les opérations suivantes :
    Utilisez ceci Pour faire cela
    Définition de schéma de profil Lorsque vous compressez un site, le Gestionnaire de package de site extrait le schéma de profil de votre base de données de profils et le stocke dans un fichier XML. Spécifier le fichier XML dans cette zone pour le décompresser.

    Lorsque vous décompressez un site solution, acceptez le fichier XML par défaut, ProfileDefinition. Ce fichier contient les définitions de profil suivantes : Adresse, BlanketPOs, Organisation, Contexte de ciblage et Objet utilisateur.
    Définition des entrées du glossaire du site Lorsque vous compressez un site, le Gestionnaire de package de site extrait de votre base de données la définition des entrées du glossaire du site et la stocke dans un fichier XML. Spécifier le fichier XML dans cette zone pour le décompresser.

    Lorsque vous décompressez un site solution, acceptez le fichier XML par défaut, SiteTerms. Ce fichier contient les entrées prédéfinies du glossaire du site.
    Définition d’expression Lorsque vous compressez un site, le Gestionnaire de package de site extrait les définitions d’expressions que vous avez établies à l’aide de Business Desk et les stocke dans un fichier XML. Spécifier le fichier XML dans cette zone pour le décompresser.

    Lorsque vous décompressez un site Solution, un fichier XML par défaut est fourni : ExpressionDefinition. Ce fichier ne contient aucune expression prédéfinie pour les sites solutions.
  5. Cliquez sur Suivant.

    Si vous avez ajouté la ressource Profils au site, la seconde boîte de dialogue Système de profil s’affiche.

  6. Si vous décompressez un site solution, cliquez sur Suivant pour accepter les valeurs par défaut.

    Pour spécifier vos propres paramètres de profil, effectuez les opérations suivantes :

    Utilisez ceci Pour faire cela
    Chaîne de connexion du système de profil Accepter la chaîne de connexion par défaut à la base de données de profils ou cliquer sur Modifier pour configurer la chaîne de connexion.

    Remarque

    • Si vous modifiez le fichier XML, Commerce Server ne conserve pas les informations de chaîne de connexion. Le nouveau fichier XML peut comprendre des banques de données agrégées différentes par leur nombre et leur type de celles contenues dans le fichier XML par défaut. Vous devez donc entrer à nouveau la chaîne de connexion.
    Scripts de définition de schéma (*.sql, *.vbs) Spécifier le script de définition de schéma qui va créer les tables de profils dans les banques de données d’exécution (les tables SQL qui contiennent les données d’utilisateur, d’adresse, d’organisation, etc.).

    Lorsque vous décompressez un site solution, SCHEMAUPM_SQLSource.SQLSource crée les tables correspondant aux définitions de profil par défaut : Adresse, BlanketPOs, Organisation, Contexte de ciblage, Objet utilisateur.

    Pour obtenir un exemple de script, consultez ProfileSQL.sql dans \Program Files\Microsoft Commerce Server 2002.

    Si vous modifiez la table UserObject ou d’autres définitions de schéma de profil, vous devez utiliser SQL Server Enterprise Manager pour générer un script à utiliser ici. Pour plus d’informations, consultez Compression de schéma de profil étendu.
    Scripts de remplissage des données (*.sql) Si vous avez extrait les données de profil à partir d’une base de données de profils, vous pouvez spécifier des scripts de remplissage des données. Ainsi, lors de la décompression, les données sont importées dans votre nouvelle base de données de profils.

    Pour obtenir un exemple de script contenant des données pour deux utilisateurs, consultez PopulateProfileSql.sql dans \Program Files\Microsoft Commerce Server 2002.

    Pour plus d’informations sur l’utilisation de scripts avec le Gestionnaire de package de site, consultez Utilisation de scripts avec le Gestionnaire de package de site.
  7. Cliquez sur OK.

Terminer le processus de décompression

  1. Si vous utilisez la sécurité intégrée Windows, dans la boîte de dialogue Gestionnaire de package de site Commerce Server, passez en revue la liste des ressources qui sont décompressées et qui nécessitent des autorisations d’accès sur les comptes Windows appropriés, puis cliquez sur OK.
  2. Dans la boîte de dialogue Décompression terminée, consultez la liste des bases de données SQL et applications IIS qui ont été créées. Pour consulter la liste des événements contenus dans le fichier journal du Gestionnaire de package de site, cliquez sur Afficher le fichier journal.

    Remarque

    • Lors d’une décompression vers un serveur distant, le Gestionnaire de package de site enregistre la plupart des informations d’état dans le fichier journal Pup.log sur l’ordinateur local. Toutefois, certaines informations d’état sont également enregistrées dans le journal Pup.log situé sur l’ordinateur distant. Vous devez examiner les deux fichiers Pup.log.
  3. Dans la boîte de dialogue Décompression terminée, cliquez sur Afficher le fichier journal pour consulter la liste des événements contenus dans le fichier journal du Gestionnaire de package de site.

    Le fichier journal du Gestionnaire de package de site (Pup.log) s’affiche.

  4. Recherchez dans le fichier journal la chaîne de caractères « unpack.bat » associée au site que vous avez décompressé. Après avoir repéré « unpack.bat », vous voyez l’entrée de journal suivante :
    \\<ServerName>\<DriveLetter>$\inetpub\wwwroot\<SiteName>\unpack.bat has been created.
 Execute this batch file to complete the unpacking of the <ApplicationName> application,

    où <ServerName> est le nom du serveur Web distant, <DriveLetter> est la lettre de lecteur du serveur distant vers lequel le site a été décompressé, <SiteName> est le nom du site qui a été décompressé vers le serveur Web distant et <ApplicationName> est le nom de l’application qui a été décompressée vers le serveur Web distant.

  5. Exécutez le fichier Unpack.bat sur le serveur Web distant pour terminer le processus de décompression.

    Remarque

  • Une fois que vous avez créé une application, il peut exister un script unpack.vbs dans le répertoire racine (ce fichier n’existe pas lorsque vous décompressez le site vide). Veillez à supprimer ou à sécuriser ce fichier immédiatement après la décompression. Des utilisateurs anonymes peuvent y accéder. L’utilisation non autorisée de ce fichier script pourrait conduire au refus de service ou à l’altération des paramètres de site. Pour plus d’informations sur la manière de sécuriser votre site, consultez Sécurisation de votre site.
  1. Pour fermer le Gestionnaire de package de site, cliquez sur Terminer.


Emplacement où sont décompressées les données et ressources

Le tableau suivant répertorie les ressources et les données compressées pour chaque ressource lorsque vous compressez un site.

Ressource | Données compressées
Configuration par défaut de l’application | Toutes les valeurs de propriété.
Campagnes marketing | Ces tables de la base de données Campagnes marketing : 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 Authentication | Paramètres dans le fichier AuthSetup.ini. Quand vous décompressez un site, vous pouvez créer une nouvelle ressource ou pointer vers une ressource existante.
Data Warehouse de Commerce Server | Aucune. Quand vous décompressez un site, vous pouvez créer une nouvelle ressource de Data Warehouse ou pointer vers une ressource existante.
Service de publipostage Commerce Server | Aucune. Confirme l’existence d’un service de publipostage sur le site. La ressource globale Service de publipostage à utiliser est spécifiée durant la décompression. Quand vous décompressez un site, vous pouvez pointer vers une ressource Service de publipostage. Vous devez utiliser le programme d’installation de Commerce Server pour en créer une nouvelle.
Predictor | Aucune. Confirme l’existence de la ressource Predictor sur le site. La ressource Predictor à utiliser est spécifiée durant la décompression. Quand vous décompressez un site, vous pouvez pointer vers une ressource Predictor. Vous devez utiliser le programme d’installation de Commerce Server pour en créer une nouvelle.
Catalogue de produits | Ces tables de la base de données de catalogue : CatalogAttributes, CatalogDefinitions, CatalogDefinitionProperties, CatalogGlobal, CatalogUsedDefinitions, CatalogEnumValues, CatalogStatus, CatalogCustomCatalogs, CatalogCustomPrices, CatalogSet_Info, CatalogSet_Catalogs, CatalogToVendorAssociation, x_ProductsComplete, x_Relationships, x_Hierarchy.
Profils | Script de schéma et script de données. Les bases de données existantes ne sont pas compressées. Quand vous décompressez un site, vous pouvez créer une nouvelle ressource ou pointer vers une ressource existante.
Transactions | Ces tables de la base de données Transactions : TransDimension, TransCategory.
Configuration de la transaction | Ces tables de la base de données Configuration des transactions : Decode, Region, RegionalTax, ShippingConfig, TableShippingRates.


Compression d'un site

Envoyer des commentaires sur cette page Commerce Server 2002

Compression d’un site

Quand vous compressez un site, vous enregistrez vos applications et vos paramètres dans un seul fichier de package. Pour obtenir une liste des propriétés IIS comprises dans le package, consultez Propriétés IIS compressées dans un package.

Remarque

  • Pour inclure des tableaux personnalisés et les données qu’ils contiennent dans un fichier de package, consultez Utilisation de l’objet GenericPup.

Pour compresser un site

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Microsoft Commerce Server 2002, puis cliquez sur Gestionnaire de package de site Commerce Server.
  2. Dans la boîte de dialogue Gestionnaire de package de site Commerce Server, sélectionnez Compresser un site existant, puis cliquez sur Suivant.
  3. Dans la boîte de dialogue Compresser un site, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Site à compresser | Sélectionner le site que vous souhaitez compresser dans la liste de sites disponibles.
    Fichier de package à créer Taper le nom du fichier de package que vous voulez créer ou cliquer sur Parcourir.

    Si vous avez cliqué sur Parcourir, dans la boîte de dialogue Enregistrez sous, naviguer vers le dossier contenant le fichier à créer, sélectionner le fichier, puis cliquer sur Enregistrez.

  4. Lorsque vous retournez à l’écran Compresser un site, cliquez sur Suivant.
  5. Si vous avez ajouté la ressource Profils au site que vous compressez, la boîte de dialogue Système de profil s’affiche. Dans la boîte de dialogue Système de profil, effectuez les opérations suivantes :
    Utilisez ceci Pour faire cela
    Scripts de définition de schéma Compresser les définitions de profils : après avoir exporté les définitions de profil (schéma) de la base de données SQL vers un fichier .sql à l’aide de SQL Server Enterprise Manager, spécifiez ici le nom de ce fichier.

    Lorsque vous décompressez votre site, vous spécifiez ce fichier pour décompresser les définitions vers les tables de profils des banques de données d’exécution (tables SQL qui stockent les données d’utilisateur, d’adresse, d’organisation, etc.).

    Pour plus d’informations, consultez Compression de schéma de profil étendu.
    Scripts de remplissage des données Compresser les données de profils stockées dans la base de données de profils : après avoir exporté les données de profil de la base de données SQL vers un fichier .sql à l’aide de SQL Server Enterprise Manager, spécifiez ici le nom de ce fichier.

    Lorsque vous décompressez votre site, vous spécifiez ce fichier .sql pour remplir les tables de profils dans les banques de données d’exécution (tables SQL qui stockent les données d’utilisateur, d’adresse, d’organisation, etc.).

    Pour obtenir un exemple de script de remplissage des données, consultez PopulateProfileSql.sql dans \Program Files\Microsoft Commerce Server 2002.

    Pour plus d’informations sur l’utilisation de scripts avec le Gestionnaire de package de site, consultez Utilisation de scripts avec le Gestionnaire de package de site.
  6. Cliquez sur OK.
  7. Dans la boîte de dialogue Compression terminée, pour consulter la liste des événements contenus dans le fichier journal du Gestionnaire de package de site, cliquez sur Afficher le fichier journal.
  8. Pour fermer le Gestionnaire de package de site, cliquez sur Terminer.

Remarques

  • Si vous compressez une application Commerce Server dont le répertoire virtuel IIS contient des applications IIS enfants, le Gestionnaire de package de site compresse les dossiers et les fichiers des applications enfants. Si vous ne voulez pas les dossiers et les fichiers des applications enfants inclus dans le package, vous devrez les supprimer après avoir décompressé l’application Commerce Server parent.
  • Le Gestionnaire de package de site ne compresse pas les fichiers dans les répertoires virtuels enfants de l’application IIS. Si vous devez compresser des fichiers dans des répertoires virtuels enfants, déplacez les dossiers et fichiers vers les dossiers physiques parents du dossier racine de l’application IIS avant de compresser votre site.
  • Pour pouvoir compresser un site dont certaines applications (par exemple, Retail et RetailBusinessDesk) se trouvent sur des serveurs Web séparés, vous devez ajouter l’un des serveurs Web à l’autre application. Par exemple, si Retail est installée sur l’ordinateur A et RetailBizDesk sur l’ordinateur B, vous pouvez exécuter le Gestionnaire de package de site sur l’ordinateur B pour l’ajouter en tant que serveur Web pour Retail. Vous pouvez ensuite compresser le site à partir de l’ordinateur B. (Inversement, vous pourriez ajouter l’ordinateur A à RetailBizDesk et compresser le site à cet emplacement). Pour plus d’informations, consultez Ajout d’un serveur Web à une application.

Voir aussi

Propriétés IIS compressées dans un package

Décompression d’un site

Exécution du Gestionnaire de package de site à partir de la ligne de commande

Packaging Other Data (en anglais)


Utilisation de scripts avec le Gestionnaire de package de site

Vous pouvez utiliser quatre types de scripts Microsoft Visual Basic avec le Gestionnaire de package de site Commerce Server : scripts antérieurs à la compression, scripts postérieurs à la compression, scripts d’application et scripts de définition de schéma.

Cette section contient les rubriques suivantes :

  • Scripts antérieurs à la compression pour le Gestionnaire de package de site
  • Scripts postérieurs à la compression pour le Gestionnaire de package de site
  • Scripts d’application pour le Gestionnaire de package de site
  • Compression de schéma de profil étendu

Voir aussi

Exécution du Gestionnaire de package de site à partir de la ligne de commande


Scripts antérieurs à la compression pour le Gestionnaire de package de site

Le Gestionnaire de package de site exécute un script antérieur à la compression dès que le nom du package est connu, c’est-à-dire avant la décompression du site. Les scripts antérieurs à la compression doivent être nommés « PRE<nom_package>.vbs », par exemple, PreRetail.vbs.

Un script antérieur à la compression est fourni avec un paramètre de mode (/s:) qui indique si le Gestionnaire de package de site s’exécute en mode silencieux ou en mode d’installation normal. Les scripts antérieurs à la compression doivent se trouver dans le même dossier que le package à décompresser pour pouvoir être exécutés.


Scripts postérieurs à la compression pour le Gestionnaire de package de site

Le Gestionnaire de package de site exécute un script postérieur à la compression une fois le processus de compression terminé, mais avant l’affichage de la boîte de dialogue Décompression terminée. Les scripts postérieurs à la compression doivent être nommés « POST<nom_package>.vbs », par exemple, PostRetail.vbs. Un script postérieur à la compression s’accompagne de deux paramètres :

  • Nom du site entre guillemets ("MonSite")
  • Mode (/s:) — mode silencieux ou mode d’installation normal

Les scripts postérieurs à la compression doivent se trouver dans le même dossier que le package à décompresser pour pouvoir être exécutés.


Scripts d'application pour le Gestionnaire de package de site

Envoyer des commentaires sur cette page Commerce Server 2002

Scripts d’application pour le Gestionnaire de package de site

Le Gestionnaire de package de site peut également exécuter des scripts spécifiques aux applications. Les scripts spécifiques aux application s’accompagnent de six paramètres :

  • Nom du site entre guillemets (/n:"MonSite")
  • Nom d’application entre guillemets (/r:"MonApp")
  • Numéro du serveur, ou numéro d’instance du site Web IIS sur lequel l’application a été installée (/i:1)
  • Nom du répertoire virtuel sur lequel l’application a été installée (/v:"MaRacine")
  • Chemin d’accès du fichier, entre guillemets, où ont été installés les fichiers d’application (/d: "C:\inetpub\wwwroot")
  • Mode (/s:) — mode silencieux ou mode d’installation normal

Les scripts d’application sont exécutés pour chaque application après la survenue des événements suivants :

  • L’application a été installée et les fichiers copiés.
  • Les propriétés IIS ont été définies pour l’application.
  • Les informations de l’application ont été écrites dans la base de données d’administration.
  • Le Gestionnaire de package de site a notifié le Data Warehouse de l’existence de l’application.

Remarque

  • Une fois que vous avez créé une application, il peut exister un script unpack.vbs dans le dossier racine de l’application (ce fichier n’existe pas lorsque vous décompressez le site vide). Veillez à supprimer ou à sécuriser ce fichier immédiatement après la décompression. Des utilisateurs anonymes peuvent y accéder. L’utilisation non autorisée de ce fichier script pourrait conduire au refus de service ou à l’altération des paramètres de site. Pour plus d’informations sur la manière de sécuriser votre site, consultez Sécurisation de votre site.


Compression de schéma de profil étendu

Si vous souhaitez créer un package qui contient un schéma de profil étendu, vous devez générer le script avant de compresser votre site. Les étapes suivantes expliquent comment compresser un schéma de profil étendu :

  1. Utilisez SQL Server Enterprise Manager pour étendre la table UserObject, en ajoutant vos propres attributs. Pour plus d’informations, consultez la documentation en ligne de SQL.
  2. Ajoutez les nouveaux membres de données à l’objet de données. Pour plus d’informations, consultez Ajout d’un nouveau membre de données dans la ressource Profils.
  3. Utilisez SQL Server Enterprise Manager pour générer et exporter des scripts pour votre schéma de profil étendu. Pour plus d’informations, consultez la documentation en ligne de SQL.
  4. Quand vous compressez votre site, le Gestionnaire de package de site vous demande de spécifier l’emplacement du script de définition de schéma que vous avez généré. Si vous ne spécifiez pas votre script, le Gestionnaire de package de site compressera le script par défaut, qui n’inclura pas votre schéma de profil étendu.

Voir aussi

UserObject Profile Schema (en anglais)

Compression d’un site

Propriétés IIS compressées dans un package


Exécution du Gestionnaire de package de site à partir de la ligne de commande

Vous pouvez exécuter le Gestionnaire de package de site Commerce Server à partir de l’interface de ligne de commande en utilisant le fichier d’exécution, Pup.exe. Le Gestionnaire de package de site comprend un ensemble d’options de ligne de commande qui vous permettent d’effectuer des tâches sur les sites et les ressources, notamment la compression, la décompression et la suppression d’un site ou d’une ressource. En outre, vous pouvez établir des références de ressources uniques pour les besoins d’une installation personnalisée à l’aide de scripts Microsoft Visual Basic.

Par exemple, pour compresser un site nommé BlankSite, vous devez taper la ligne de commande suivante :

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

Remarque

  • Lorsque vous tapez les commandes nécessaires à la compression d’un site, vous devez séparer les paramètres par un espace. Vous devez également spécifier le chemin d’accès complet et le nom du fichier de réponse (dans l’exemple ci-dessus, le fichier de réponse est packBlank.ini).
  • Lorsque vous l’exécutez à partir de la ligne de commande, le Gestionnaire de package de site affiche néanmoins la boîte de dialogue Système de profil.

Le tableau suivant répertorie les options de ligne de commande utilisables avec le fichier Pup.exe.

Option | Compression | Décompression | Description
/s: | X |  | Spécifie le nom du site à compresser. /s:<nom_site>
/f: | X | X | Spécifie le chemin d’accès du fichier de package. /f:<chemin_complet_vers_package>.
/r | X | X | Affiche la boîte de dialogue Sélectionner les ressources.
/i: | X | X | Spécifie le fichier .ini à utiliser en mode silencieux. /i:<nom_complet_chemin>.
/p | X |  | Compresse un site ou une ressource.
/u |  | X | Décompresse un site ou une ressource.
/a: | X | X | Spécifie le nom de l’application. /a:<nom_application>
/w: |  | X | Spécifie le nom du serveur Web. /w:<nom_serveur_Web> Utilisez cette option pour décompresser l’ordinateur local sous forme de serveur Web.

Par exemple, pour décompresser un site nommé Retail, vous devez utiliser la commande suivante :

"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

Voir aussi

Personnalisation des fichiers .ini du Gestionnaire de package de site


Personnalisation des fichiers .ini du Gestionnaire de package de site

Commerce Server inclut le fichier PackBlank.ini avec le package BlankSite. Des fichiers .ini distincts sont fournis pour les sites solutions Retail et Supplier, disponibles à l’adresse http://go.microsoft.com/fwlink/?linkid=6491. Vous pouvez utiliser ces fichiers .ini comme modèles de création de fichiers .ini personnalisés pour vos propres packages. Ces fichiers .ini permettent de créer automatiquement des packages, par exemple, dans un environnement de production où vous souhaitez effectuer les générations la nuit pour pouvoir procéder aux installations le matin.

Vous pouvez utiliser le même fichier .ini pour la compression et pour la décompression. Durant le processus de compression ou de décompression, les sections qui ne sont pas nécessaires à la tâche sont ignorées.

Vous exécutez les fichiers .ini à partir de la ligne de commande. Pour obtenir des instructions et un exemple de commande, consultez Exécution du Gestionnaire de package de site à partir de la ligne de commande.

Voici le contenu du fichier PackBlank.ini avec des commentaires sur chaque section. Un astérisque ( * ) indique des commentaires :

[General]

  • SiteName=BlankSite
  • Description=Blank site
  • NumOfResources= 12
  • NumOfApplications= 2
    Remarque
    • Lorsqu’un site Commerce Server est décompressé, il installe généralement deux applications : une pour le site Web auquel accèdent les utilisateurs et une autre pour Commerce Server Business Desk.

La liste suivante contient les ressources à installer. Si vous ne souhaitez pas installer une ressource donnée, supprimez la ligne correspondante dans le fichier .ini, puis renumérotez les ressources. L’ordre dans lequel les ressources sont décompressées n’affecte pas le processus de décompression. Cependant, toutes les ressources sont décompressées avant que les applications ne soient décompressées.

Lors de la compression d’un site, la liste des ressources du fichier .ini n’est pas lue. À la place, le site tout entier est compressé.

  • Resource0=App Default Config
  • Resource1=Product Catalog
  • Resource2=Campaigns
  • Resource3=Site Data Warehouse
  • Resource4=Transactions
  • Resource5=Transaction Config
  • Resource6=Direct Mail
  • Resource7=Predictor
  • Resource8=BizData Service
  • Resource9=Global Data Warehouse
  • Resource10=Authentication CS de site
  • Resource11=BDSecurity
  • Application0=BlankSite
  • Application1=BlankBizDesk
  • NumOfConnStrs= 7

Important

  • Un nom d’application doit correspondre au nom de l’application compressée. Par exemple, si le package a été créé avec le nom d’application BlankSite, le nom d’application doit être BlankSite. Si vous modifiez le nom de l’application, vous devez également modifier le VRoot.
  • La décompression exige au minimum les ressources App Default Config et BDSecurity. La ressource BDSecurity n’est pas obligatoire si vous personnalisez votre installation de Business Desk (en supprimant toute dépendance par rapport au composant BDSecurity).

[ConnStrs]

Les informations suivantes répertorient les chaînes de connexion pour chaque ressource. Les chaînes de connexion comportent les paramètres suivants :

ConnStrResourceName

Nom de la ressource.

ConnStrValue

Valeur de la chaîne de connexion.

ConnStrPropertyName

Nom de propriété de la chaîne de connexion

L’exemple suivant est un exemple de la section [ConnStrs] :

Remarque

  • Pour utiliser la sécurité intégrée, dans la valeur de la chaîne de connexion (ConnStrValue) pour chaque ressource remplacez les paramètres ‘User ID=;Password=;’ par ‘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]

Utilisez GlobalResourceName pour attribuer la ressource globale à un nom de ressource globale déjà existant sur l’ordinateur.

Remarques

  • Vous ne pouvez pas utiliser Ajouter une nouvelle ressource globale avec le publipostage. Vous devez spécifier une ressource existante qui existe déjà sur l’ordinateur.
  • La chaîne étant localisée, elle doit correspondre au nom de ressource répertorié dans le Gestionnaire Commerce Server. Si la chaîne n’y correspond pas, le Gestionnaire de package de site ne peut pas la trouver.
GlobalResourceName=Direct Mail on SERVERNAME

[Predictor]

Remarques

  • Vous ne pouvez pas utiliser Ajouter une nouvelle ressource globale avec Predictor. Vous devez spécifier une ressource existante qui existe déjà sur l’ordinateur.
  • La chaîne étant localisée, elle doit correspondre au nom de ressource répertorié dans le Gestionnaire Commerce Server. Si la chaîne n’y correspond pas, le Gestionnaire de package de site ne peut pas la trouver.
GlobalResourceName=Predictor on SERVERNAME

[BlankSite]

ASPDir=
VRoot=
Website=
Machine=

Remarques

  • Website= est la seule propriété requise.
  • La propriété Website est localisée ; par conséquent, elle doit correspondre au nom de site Web figurant dans le composant logiciel enfichable (snap-in) MMC des services IIS (Internet Information Services). Si la propriété ne correspond pas, le Gestionnaire de package de site ne peut pas la trouver.
  • La propriété Machine est utilisée pour la décompression d’une application vers un serveur Web distant. Laissez ce champ vide pour décompresser sur le serveur local.

[BlankBizDesk]

ASPDir=
VRoot=
Website=
Machine=

    Remarques

  • Website= est la seule propriété requise.
    •

  • La propriété Website est localisée ; par conséquent, elle doit correspondre au nom de site Web figurant dans le composant logiciel enfichable (snap-in) MMC des services IIS (Internet Information Services). Si la propriété ne correspond pas, le Gestionnaire de package de site ne peut pas la trouver.
    •

  • La propriété Machine est utilisée pour la décompression d’une application vers un serveur Web distant.  Laissez ce champ vide pour décompresser sur le serveur local.
    •

[Biz Data Service]

    Remarque

  • La chaîne étant localisée, elle doit correspondre au nom de ressource répertorié dans le Gestionnaire Commerce Server. Si la chaîne n’y correspond pas, le Gestionnaire de package de site ne peut pas la trouver.
    •

GlobalResourceName= (Add new global resource)

[Global Data Warehouse]

    Remarque

  • La chaîne étant localisée, elle doit correspondre au nom de ressource répertorié dans le Gestionnaire Commerce Server. Si la chaîne n’y correspond pas, le Gestionnaire de package de site ne peut pas la trouver.
    •

GlobalResourceName= (Add new global resource)

[Site CS Authentication]

    Remarque

  • La chaîne étant localisée, elle doit correspondre au nom de ressource répertorié dans le Gestionnaire Commerce Server. Si la chaîne n’y correspond pas, le Gestionnaire de package de site ne peut pas la trouver.
    •

GlobalResourceName= (Add new global resource)


Aide sur la boîte de dialogue Gestionnaire de package de site

Cette section contient les rubriques d’aide contextuelle concernant le Gestionnaire de package de site de Commerce Server.

Cette section contient les rubriques suivantes :

  • Boîte de dialogue Gestionnaire de package de site Commerce Server
  • Boîte de dialogue Compresser un site
  • Boîte de dialogue Décompresser
  • Boîte de dialogue Décompression rapide
  • Boîte de dialogue Méthode de décompression
  • Boîte de dialogue Nom du site
  • Boîte de dialogue Sélectionner des ressources
  • Boîte de dialogue Pointeurs de ressource globale
  • Boîte de dialogue Chaînes de connexion de base de données
  • Boîte de dialogue Sélectionner des applications
  • Sélectionner des ordinateurs IIS, des sites Web et des chemins
  • Boîte de dialogue Base de données Master
  • Boîte de dialogue Nouvelle Base de données
  • Boîte de dialogue Propriétés de Data Warehouse
  • Boîte de dialogue Système de profil
  • Système de profil : Boîte de dialogue Source de données Active Directory
  • Système de profil : Boîte de dialogue Source de données OLEDB
  • Boîte de dialogue Décompression terminée
  • Boîte de dialogue Sélectionner un site


Boîte de dialogue Gestionnaire de package de site Commerce Server

Le tableau suivant répertorie les options et fonctions disponibles dans la boîte de dialogue d’accueil du Gestionnaire de package de site. Cette boîte de dialogue est affichée lorsque vous utilisez le Gestionnaire de package de site Commerce Server.

Utilisez ceci | Pour faire cela
Décompresser à partir d’un fichier de package | Décompresser une application Commerce Server vers un serveur Web. Pour plus d’informations, consultez Décompression d’un site.
Compresser un site existant | Créer un package contenant une application Commerce Server pour pouvoir opérer son transfert vers un autre serveur Web. Pour plus d’informations, consultez Compression d’un site.

Voir aussi

Installation dans une configuration ordonnée en clusters et comprenant quatre ordinateurs

Propriétés IIS compressées dans un package

Décompression des ressources globales

Création des noms de bases de données et d’applications

Définition des autorisations de serveur Web

Restrictions de taille et de nom du Gestionnaire de package de site

Méthodes conseillées pour le Gestionnaire de package de site


Boîte de dialogue Compresser un site

Lorsque vous compressez un site à l’aide du Gestionnaire de package de site Commerce Server, la boîte de dialogue Compresser un site s’affiche pour vous permettre de spécifier le site à compresser et le nom du fichier de package.

Le tableau suivant répertorie les options et fonctions disponibles dans la boîte de dialogue Compresser.

Utilisez ceci | Pour faire cela
Site à compresser | Sélectionner le nom du site Commerce Server que vous voulez compresser.
Fichier de package à créer | Taper le nom du fichier de package à créer.

Voir aussi

Compression d’un site

Propriétés IIS compressées dans un package

Décompression des ressources globales

Création des noms de bases de données et d’applications

Définition des autorisations de serveur Web

Restrictions de taille et de nom du Gestionnaire de package de site

Méthodes conseillées pour le Gestionnaire de package de site


Boîte de dialogue Décompresser

Lorsque vous décompressez un site à l’aide du Gestionnaire de package de site Commerce Server, cette boîte de dialogue s’affiche pour vous permettre de spécifier le nom du fichier à décompresser et le type de décompression souhaité.

Le tableau suivant répertorie les options et fonctions disponibles dans la boîte de dialogue Décompresser.

Utilisez ceci | Pour faire cela
Fichier à décompresser | Sélectionner le nom du fichier de package à décompresser.
Décompression rapide | Spécifier que vous voulez installer rapidement toutes les applications du site sur l’ordinateur local et toutes les bases de données sur un seul ordinateur local ou distant.
Décompression personnalisée | Spécifier que vous voulez que le Gestionnaire de package de site vous invite à choisir tous les paramètres de décompression de votre site. Vous pouvez spécifier les applications à installer, ainsi que le mode de configuration de leurs bases de données.

Voir aussi

Décompression d’un site

Compression d’un site

Installation dans une configuration ordonnée en clusters et comprenant quatre ordinateurs

Propriétés IIS compressées dans un package

Décompression des ressources globales

Création des noms de bases de données et d’applications

Définition des autorisations de serveur Web

Restrictions de taille et de nom du Gestionnaire de package de site

Méthodes conseillées pour le Gestionnaire de package de site


Boîte de dialogue Décompression rapide

Lorsque vous décompressez un site à l’aide du Gestionnaire de package de site Commerce Server, cette boîte de dialogue s’affiche si vous avez sélectionné l’option Décompression rapide dans la boîte de dialogue Décompresser.

Le tableau suivant répertorie les options et fonctions disponibles dans la boîte de dialogue Décompression rapide. Cette boîte de dialogue est affichée lorsque vous utilisez le Gestionnaire de package de site Commerce Server.

Utilisez ceci | Pour faire cela
Nom du site Taper le nom que vous voulez donner à votre site.

Remarque

  • Les noms des répertoires virtuels des applications de votre site seront ceux que portaient les applications lorsque vous avez compressé le site.
Site Web IIS | Sélectionner le nom du site Web IIS (Internet Information Services) qui doit héberger votre site. Il doit s’agir d’un site Web existant. Vous pouvez utiliser le composant logiciel enfichable (snap-in) IIS pour créer un nouveau site Web IIS.
Ordinateur SQL Server | Taper le nom du serveur SQL Server qui doit héberger les bases de données de votre site.
Utiliser la sécurité intégrée de Windows Utiliser l’authentification intégrée de Windows.

Il s’agit de la configuration recommandée.

Lorsque vous utilisez la sécurité intégrée de Windows, les noms d’utilisateur et les mots de passe ne sont pas stockés dans la chaîne de connexion SQL Server et ne sont pas affectés par la réinitialisation des mots de passe SQL. Pour plus d’informations sur la sécurité de Commerce Server, consultez Sécurisation de votre site.
Utiliser un nom d’utilisateur et un mot de passe spécifiques | Utiliser l’authentification de SQL Server lors de la connexion aux bases de données.
Nom d’utilisateur SQL Taper le nom d’utilisateur de la personne disposant de privilèges de connexion au serveur exécutant SQL Server. Utilisez une connexion d’accès membre d’un des rôles SQL Server suivants : sysadmin ou dbcreator. Pour éviter les erreurs OLAP, n’utilisez pas les caractères spéciaux suivants :

/, ?, &, \, <, >, :, |, #, @, % et '
Mot de passe SQL Taper le mot de passe de l’utilisateur disposant de privilèges de connexion au serveur exécutant SQL Server. Pour éviter les erreurs OLAP, n’utilisez pas les caractères spéciaux suivants :

/, ?, &, \, <, >, :, |, #, @, % et '

Voir aussi

Décompression d’un site

Compression d’un site

Installation dans une configuration ordonnée en clusters et comprenant quatre ordinateurs

Propriétés IIS compressées dans un package

Décompression des ressources globales

Création des noms de bases de données et d’applications

Définition des autorisations de serveur Web

Restrictions de taille et de nom du Gestionnaire de package de site

Méthodes conseillées pour le Gestionnaire de package de site


Boîte de dialogue Méthode de décompression

Le tableau suivant répertorie les options et fonctions disponibles dans la boîte de dialogue Méthode de décompression. Cette boîte de dialogue est affichée lorsque vous utilisez le Gestionnaire de package de site Commerce Server.

Utilisez ceci | Pour faire cela
Créer un nouveau site | Créer un nouveau site Commerce Server.
Ajouter les ressources du package à un site existant | Ajouter des ressources telles que Profils à un site Commerce Server existant.
Ajouter une application du package à un site existant Ajouter une application, telle que Business Desk, à un site existant.

Remarque

  • Pour installer plusieurs applications Business Desk sur un site existant avec un nom d’application IIS différent, vous devez renommer les fichiers HTA (HTML Application) et créer des raccourcis d’icône Business Desk avant de procéder à l’installation. Si vous ne renommez pas les fichiers, les fichiers HTA remplaceront les fichiers qui se trouvaient sur le site d’origine, ainsi que les icônes Business Desk.
Ajouter un serveur Web à une application existante dans un site existant | Installer des applications sur un serveur Web, qui est administré sur un autre serveur. Cette option permet d’ajouter un nouveau serveur Web à votre site. Cette option ne permet pas d’installer les outils d’administration de Commerce Server sur le nouveau serveur Web.

Voir aussi

Décompression d’un site

Compression d’un site

Installation dans une configuration ordonnée en clusters et comprenant quatre ordinateurs

Propriétés IIS compressées dans un package

Décompression des ressources globales

Création des noms de bases de données et d’applications

Définition des autorisations de serveur Web

Restrictions de taille et de nom du Gestionnaire de package de site

Méthodes conseillées pour le Gestionnaire de package de site


Boîte de dialogue Nom du site

Le tableau suivant répertorie les options et fonctions disponibles dans la boîte de dialogue Nom du site. Cette boîte de dialogue est affichée lorsque vous utilisez le Gestionnaire de package de site Commerce Server.

Utilisez ceci | Pour faire cela
Nom du site | Taper le nom du site que vous voulez créer.
Sites existants | Afficher une liste des sites existants. Vous ne pouvez pas sélectionner de nom dans cette liste si vous créez un nouveau site.

Remarques

  • Pour éviter les erreurs de décompression, vous devez éviter d’utiliser des caractères spéciaux (tels que /, ?, &, \, <, >, :, |, #, @, % et ') et des combinaisons de touches (comme ALT+nombre) dans le nom de votre site. Le nom de site est ajouté aux noms de bases de données et les caractères spéciaux et les combinaisons de touches peuvent endommager ces noms.
  • Ne spécifiez pas un nom de site de plus de 127 caractères codés sur un octet ou sur deux octets.
  • N’affectez pas le nom « Commerce » à votre site. Il s’agit d’un nom de base de données OLAP réservé. Si vous affectez le nom « Commerce » à votre site, cela risque d’entraîner la suppression de votre base de données OLAP la prochaine fois que vous décompresserez un site.

Voir aussi

Décompression d’un site

Compression d’un site

Installation dans une configuration ordonnée en clusters et comprenant quatre ordinateurs

Propriétés IIS compressées dans un package

Décompression des ressources globales

Création des noms de bases de données et d’applications

Définition des autorisations de serveur Web

Restrictions de taille et de nom du Gestionnaire de package de site

Méthodes conseillées pour le Gestionnaire de package de site


Boîte de dialogue Sélectionner des ressources

Le tableau suivant répertorie les options et fonctions disponibles dans la boîte de dialogue Sélectionner des ressources. Cette boîte de dialogue est affichée lorsque vous utilisez le Gestionnaire de package de site Commerce Server.

Utilisez ceci | Pour faire cela
Ressources à décompresser | Spécifier les ressources que vous voulez décompresser. Si la ressource fait partie de cette liste, ses paramètres et son schéma sont décompressés.
Ajouter | Déplacer les éléments sélectionnés de la liste Ressources disponibles vers la liste Ressources à décompresser.
Ajouter tout | Déplacer tous les éléments de la liste Ressources disponibles vers la liste Ressources à décompresser.
Supprimer | Déplacer les éléments sélectionnés de la liste Ressources à décompresser vers la liste Ressources disponibles.
Supprimer tout | Déplacer tous les éléments de la liste Ressources à décompresser vers la liste Ressources disponibles.

Remarque

  • Vous devez installer les ressources CS Authentication et Profils. Elles ne fonctionnent pas si elles ne sont pas installées toutes les deux.

Voir aussi

Décompression d’un site

Compression d’un site

Installation dans une configuration ordonnée en clusters et comprenant quatre ordinateurs

Propriétés IIS compressées dans un package

Décompression des ressources globales

Création des noms de bases de données et d’applications

Définition des autorisations de serveur Web

Restrictions de taille et de nom du Gestionnaire de package de site

Méthodes conseillées pour le Gestionnaire de package de site


Boîte de dialogue Pointeurs de ressource globale

Le tableau suivant répertorie les options et fonctions disponibles dans la boîte de dialogue Pointeurs de ressource globale. Cette boîte de dialogue est affichée lorsque vous utilisez le Gestionnaire de package de site Commerce Server.

Utilisez ceci | Pour faire cela
Pointeurs de ressource globale | Sélectionner le pointeur de ressource globale que vous voulez configurer. La colonne Mappages vers la ressource globale indique si une nouvelle ressource globale doit être créée localement, ou l’emplacement de la ressource globale existante.
Ressources globales existantes | Sélectionner l’emplacement de la ressource globale que cet ordinateur doit utiliser. La liste contient des ressources globales créées pendant l’installation de Commerce Server.

Voir aussi

Décompression d’un site

Compression d’un site

Installation dans une configuration ordonnée en clusters et comprenant quatre ordinateurs

Propriétés IIS compressées dans un package

Décompression des ressources globales

Création des noms de bases de données et d’applications

Définition des autorisations de serveur Web

Restrictions de taille et de nom du Gestionnaire de package de site

Méthodes conseillées pour le Gestionnaire de package de site


Boîte de dialogue Chaînes de connexion de base de données

Le tableau suivant répertorie les options et fonctions disponibles dans la boîte de dialogue Chaînes de connexion de base de données. Cette boîte de dialogue est affichée lorsque vous utilisez le Gestionnaire de package de site Commerce Server.

Utilisez ceci | Pour faire cela
Ressource | Sélectionner la ressource sur laquelle vous voulez effectuer une action, telle qu’un changement de serveur de base de données.
Modifier | Spécifier un autre serveur ou une autre base de données pour une ressource.
Par défaut | Faire revenir vos chaînes de connexion à leurs paramètres par défaut, en l’occurrence deux bases de données (une pour Data Warehouse et une pour les autres ressources) stockées localement.
Copier Copier la chaîne de connexion de base de données de la ressource sélectionnée dans le Presse-papiers.

Remarque

  • Pour copier une chaîne de connexion de base de données, sélectionnez la ligne contenant la chaîne de connexion à copier, puis cliquez sur Modifier. Dans la boîte de dialogue Propriétés des liaisons de données, sélectionner ou taper les noms de serveur et de base de données à copier, puis cliquer sur OK. Dans la boîte de dialogue Chaînes de connexion de base de données, sélectionner à nouveau la ligne contenant la chaîne de connexion à copier, puis cliquer sur Copier.
Coller Coller les ressources sélectionnées à partir du Presse-papiers.

Remarque

  • Pour coller une chaîne de connexion de base de données à partir du Presse-papiers, sélectionner la ou les lignes où vous voulez copier la chaîne de connexion, puis cliquer sur Coller.
Nouvelle base de données | Créer une nouvelle base de données pour la ou les ressources sélectionnées. Utiliser cette commande si vous voulez mettre la base de données sur un ordinateur différent.

Voir aussi

Décompression d’un site

Compression d’un site

Installation dans une configuration ordonnée en clusters et comprenant quatre ordinateurs

Propriétés IIS compressées dans un package

Décompression des ressources globales

Création des noms de bases de données et d’applications

Définition des autorisations de serveur Web

Restrictions de taille et de nom du Gestionnaire de package de site

Méthodes conseillées pour le Gestionnaire de package de site


Boîte de dialogue Sélectionner des applications

Le tableau suivant répertorie les options et fonctions disponibles dans la boîte de dialogue Sélectionner des applications.

Utilisez ceci | Pour faire cela
Applications dans le package | Spécifier les applications que vous voulez décompresser. Désactiver les cases à cocher des applications que vous ne voulez pas installer.

Voir aussi

Décompression d’un site

Compression d’un site

Installation dans une configuration ordonnée en clusters et comprenant quatre ordinateurs

Propriétés IIS compressées dans un package

Décompression des ressources globales

Création des noms de bases de données et d’applications

Définition des autorisations de serveur Web

Restrictions de taille et de nom du Gestionnaire de package de site

Méthodes conseillées pour le Gestionnaire de package de site


Sélectionner des ordinateurs IIS, des sites Web et des chemins

Le tableau suivant répertorie les options et fonctions disponibles dans la boîte de dialogue Sélectionner des ordinateurs IIS, des sites Web et des chemins. Cette boîte de dialogue s’affiche lorsque vous utilisez le Gestionnaire de package de site Commerce Server pour décompresser un site.

Utilisez ceci | Pour faire cela
Application | Sélectionner l’application sur laquelle vous voulez effectuer une action.
Nom de l’ordinateur IIS | Taper le nom d’ordinateur du serveur Web IIS sur lequel vous voulez décompresser les fichiers de l’application. Cliquer sur Actualiser pour mettre à jour la liste des sites Web sur l’ordinateur distant.
Site Web IIS | Sélectionner un site Web IIS existant, l’emplacement de votre site sur le serveur.
Actualiser les sites Web | Mettre à jour la liste des sites Web IIS disponibles. Sélectionner cette option si vous créez un nouveau site Web IIS pendant l’affichage de cette boîte de dialogue.
Chemin IIS | Spécifier le nom du chemin d’accès virtuel IIS de votre site. Ce nom s’affiche dans le chemin de l’adresse URL de votre site.

Remarque

  • Le Gestionnaire de package de site localise vos applications dans des sous-dossiers distincts sur le site Web IIS que vous spécifiez et au sein des dossiers physiques vers lesquels pointe votre site Web IIS. Il affectera à ces sous-dossiers le nom de répertoire virtuel que vous spécifiez pour chaque application. Par défaut, ces noms de répertoires virtuels sont identiques aux noms d’applications.

Voir aussi

Décompression d’un site

Compression d’un site

Installation dans une configuration ordonnée en clusters et comprenant quatre ordinateurs

Propriétés IIS compressées dans un package

Décompression des ressources globales

Création des noms de bases de données et d’applications

Définition des autorisations de serveur Web

Restrictions de taille et de nom du Gestionnaire de package de site

Méthodes conseillées pour le Gestionnaire de package de site


Boîte de dialogue Base de données Master

Le tableau suivant répertorie les options et fonctions disponibles dans la boîte de dialogue Base de données Master. Cette boîte de dialogue s’affiche lorsque vous utilisez le Gestionnaire de package de site Commerce Server pour décompresser un site.

Utilisez ceci | Pour faire cela
Nom d’utilisateur SQL | Spécifier le nom d’utilisateur de la personne disposant de privilèges de connexion au serveur exécutant SQL Server. Pour créer une base de données, vous devez utiliser une connexion d’accès membre d’un des rôles SQL Server suivants : sysadmin ou dbcreator. Pour éviter les erreurs OLAP, n’utilisez pas les caractères spéciaux suivants : /, ?, &, \, <, >, :, |, #, @, % et '
Mot de passe SQL | Taper le mot de passe de l’utilisateur disposant de privilèges de connexion au serveur exécutant SQL Server. Pour éviter les erreurs OLAP, n’utilisez pas les caractères spéciaux suivants : /, ?, &, \, <, >, :, |, #, @, % et '
Tester la connexion | Tester la connexion entre cet ordinateur et le serveur de base de données spécifié en haut de la boîte de dialogue.

Voir aussi

Décompression d’un site

Compression d’un site

Installation dans une configuration ordonnée en clusters et comprenant quatre ordinateurs

Propriétés IIS compressées dans un package

Décompression des ressources globales

Création des noms de bases de données et d’applications

Définition des autorisations de serveur Web

Restrictions de taille et de nom du Gestionnaire de package de site

Méthodes conseillées pour le Gestionnaire de package de site


Boîte de dialogue Nouvelle base de données

Le tableau suivant répertorie les options et fonctions disponibles dans la boîte de dialogue Nouvelle base de données. Cette boîte de dialogue s’affiche lorsque vous utilisez le Gestionnaire de package de site Commerce Server pour décompresser un site.

Utilisez ceci | Pour faire cela
Ordinateur SQL Server | Taper le nom du cluster SQL Server.
Nom de la base de données | Taper le nom voulu pour la base de données du Data Warehouse.
Nom d’utilisateur SQL | Pour créer une base de données, vous devez utiliser une connexion d’accès membre d’un des rôles SQL Server suivants : sysadmin ou dbcreator. Pour éviter les erreurs OLAP, n’utilisez pas les caractères spéciaux suivants : /, ?, &, \, <, >, :, |, #, @, % et '
Mot de passe SQL | Taper le mot de passe de connexion SQL Server. Pour éviter les erreurs OLAP, n’utilisez pas les caractères spéciaux suivants : /, ?, &, \, <, >, :, |, #, @, % et '
Créer la base de données | Créer la nouvelle base de données sur le serveur spécifié.

Voir aussi

Décompression d’un site

Compression d’un site

Installation dans une configuration ordonnée en clusters et comprenant quatre ordinateurs

Propriétés IIS compressées dans un package

Décompression des ressources globales

Création des noms de bases de données et d’applications

Définition des autorisations de serveur Web

Restrictions de taille et de nom du Gestionnaire de package de site

Méthodes conseillées pour le Gestionnaire de package de site


Boîte de dialogue Propriétés de Data Warehouse

Le tableau suivant répertorie les options et fonctions disponibles dans la boîte de dialogue Propriétés de Data Warehouse. Cette boîte de dialogue s’affiche lorsque vous utilisez le Gestionnaire de package de site Commerce Server pour décompresser un site.

Utilisez ceci | Pour faire cela
Nom | Taper le nom que vous voulez attribuer à la ressource du Data Warehouse globale.
Serveur | Taper le nom de l’ordinateur SQL Analysis (OLAP).
Base de données | Taper le nom de la base de données Analysis (OLAP) à utiliser.
Tester la connexion | Tester la connexion entre cet ordinateur et le serveur hébergeant le Data Warehouse.
Ignorer la ressource | Ignorer la configuration du pointeur local vers une ressource du Data Warehouse globale.

Voir aussi

Configuration du Data Warehouse

Décompression d’un site

Installation dans une configuration ordonnée en clusters et comprenant quatre ordinateurs

Propriétés IIS compressées dans un package

Décompression des ressources globales

Création des noms de bases de données et d’applications

Définition des autorisations de serveur Web

Restrictions de taille et de nom du Gestionnaire de package de site

Méthodes conseillées pour le Gestionnaire de package de site


Boîte de dialogue Système de profil

Il s’agit de la première boîte de dialogue Système de profil qui s’affiche lorsque vous décompressez un site. Si vous décompressez un site solution, cliquez sur Suivant pour accepter les valeurs par défaut.

Pour spécifier vos propres paramètres de profil, effectuez les opérations suivantes :

Utilisez ceci | Pour faire cela
Définition de schéma de profil (*.xml) | Lorsque vous compressez un site, le Gestionnaire de package de site extrait le schéma de profil de votre base de données de profils et le stocke dans un fichier XML. Spécifier le fichier XML dans cette zone pour le décompresser. Lorsque vous décompressez un site solution, acceptez le fichier XML par défaut, ProfileDefinition. Ce fichier contient les définitions de profil suivantes : Adresse, BlanketPOs, Organisation, Contexte de ciblage et Objet utilisateur.
Définition des entrées du glossaire du site (*.xml) | Lorsque vous compressez un site, le Gestionnaire de package de site extrait de votre base de données la définition des entrées du glossaire du site et la stocke dans un fichier XML. Spécifier le fichier XML dans cette zone pour le décompresser. Lorsque vous décompressez un site solution, acceptez le fichier XML par défaut, SiteTerms. Ce fichier contient les entrées de glossaire prédéfinies du site.
Définition d’expression (*.xml) | Lorsque vous compressez un site, le Gestionnaire de package de site extrait de votre base de données les définitions d’expressions que vous avez établies à l’aide de Business Desk et les stocke dans un fichier XML. Spécifier le fichier XML dans cette zone pour le décompresser. Lorsque vous décompressez un site solution, un fichier XML par défaut est fourni : ExpressionDefinition. Ce fichier ne contient aucune expression prédéfinie pour les sites solutions.

Voir aussi

Décompression d’un site

Compression d’un site

Compression de schéma de profil étendu

Installation dans une configuration ordonnée en clusters et comprenant quatre ordinateurs

Propriétés IIS compressées dans un package

Décompression des ressources globales

Création des noms de bases de données et d’applications

Définition des autorisations de serveur Web

Restrictions de taille et de nom du Gestionnaire de package de site

Méthodes conseillées pour le Gestionnaire de package de site


Système de profil: Boîte de dialogue Source de données Active Directory

Envoyer des commentaires sur cette page Commerce Server 2002

Système de profil : Boîte de dialogue Source de données Active Directory

Il s’agit de la deuxième boîte de dialogue qui s’affiche lorsque vous utilisez le Gestionnaire de package de site Commerce Server pour décompresser le site solution SupplierAD. Elle apparaît uniquement lors de la décompression du site solution SupplierAD.

Le tableau suivant répertorie les options et fonctions disponibles dans la boîte de dialogue Source de données Active Directory du système de profil. Boîte de dialogue Source de données Active Directory.

Utilisez ceci | Pour faire cela
Domaine | Taper le nom du domaine Windows qui contient votre site.
Nom d’utilisateur | Taper un nom d’utilisateur de domaine Windows valide. Vous devez taper le nom d’utilisateur dans l’un des formats suivants : domaine\nom_utilisateur nom_utilisateur@domaine
Mot de passe | Taper le mot de passe de domaine du nouvel utilisateur.
URL parente | Taper l’emplacement où vous voulez que vos données soient stockées dans l’arborescence.
Utiliser la liaison simple | Envoyer le mot de passe en texte clair. Cette option est moins sécurisée, mais elle est requise par certains services d’annuaire.
Script d’exécution | Exécuter des scripts Visual Basic permettant de créer des objets dans l’arborescence de ce site.
Tester la connexion | Tester la validité de la connexion au contrôleur de domaine.

Voir aussi

Décompression d’un site

Compression d’un site

Compression de schéma de profil étendu

Installation dans une configuration ordonnée en clusters et comprenant quatre ordinateurs

Propriétés IIS compressées dans un package

Décompression des ressources globales

Création des noms de bases de données et d’applications

Définition des autorisations de serveur Web

Restrictions de taille et de nom du Gestionnaire de package de site

Méthodes conseillées pour le Gestionnaire de package de site


Système de profil: Boîte de dialogue Source de données OLEDB

Envoyer des commentaires sur cette page Commerce Server 2002

Système de profil : Boîte de dialogue Source de données OLEDB

Il s’agit de la seconde des deux boîtes de dialogue Système de profil qui s’affichent lorsque vous décompressez un site à l’aide du Gestionnaire de package de site Commerce Server. Elle n’apparaît pas lors de la décompression du site solution SupplierActiveDirectory.

Le tableau suivant répertorie les options et fonctions disponibles dans la boîte de dialogue Système de profil : Boîte de dialogue Source de données OLEDB. Si vous décompressez un site solution, cliquez sur Suivant pour accepter les valeurs par défaut.

Utilisez ceci | Pour faire cela
Modifier | Accepter la chaîne de connexion par défaut à la base de données de profils ou cliquer sur Modifier pour configurer une nouvelle chaîne de connexion.
Scripts de définition de schéma Compresser les définitions de profils : après avoir exporté les définitions de profil (schéma) de la base de données SQL vers un fichier .sql à l’aide de SQL Server Enterprise Manager, spécifiez ici le nom de ce fichier.

Lorsque vous décompressez votre site, vous spécifiez ce fichier pour décompresser les définitions vers les tables de profils des banques de données d’exécution (tables SQL qui stockent les données d’utilisateur, d’adresse, d’organisation, etc.).

Pour plus d’informations, consultez Compression de schéma de profil étendu.
Scripts de remplissage des données Si vous avez extrait les données de profil d’une base de données de profils, vous pouvez spécifier des scripts de remplissage des données pour importer ces données de profil dans les banques de données d’exécution (tables SQL qui stockent les données d’utilisateur, d’adresse, d’organisation, etc.).

Pour obtenir un exemple de script contenant des données pour deux utilisateurs, consultez PopulateProfileSql.sql dans \Program Files\Microsoft Commerce Server 2002.

Pour plus d’informations sur l’utilisation de scripts avec le Gestionnaire de package de site, consultez Utilisation de scripts avec le Gestionnaire de package de site.

Voir aussi

Décompression d’un site

Compression d’un site

Compression de schéma de profil étendu

Installation dans une configuration ordonnée en clusters et comprenant quatre ordinateurs

Propriétés IIS compressées dans un package

Décompression des ressources globales

Création des noms de bases de données et d’applications

Définition des autorisations de serveur Web

Restrictions de taille et de nom du Gestionnaire de package de site

Méthodes conseillées pour le Gestionnaire de package de site


Boîte de dialogue Décompression terminée

Le tableau suivant répertorie les options et fonctions disponibles dans la boîte de dialogue Décompression terminée.

Utilisez ceci | Pour faire cela
Afficher l’application sélectionnée | Exécuter l’application sélectionnée dans la boîte de dialogue Applications IIS créées durant la décompression.
Afficher le fichier journal | Ouvrir le fichier journal du Gestionnaire de package de site, qui répertorie tous les événements survenus durant l’exécution de ce dernier. Utiliser cette option pour obtenir des informations lorsque des erreurs se produisent.
Terminer | Fermer le Gestionnaire de package de site.


Boîte de dialogue Sélectionner un site

Le tableau suivant répertorie l’option disponible dans la boîte de dialogue Sélectionner un site. Cette boîte de dialogue est affichée lorsque vous utilisez le Gestionnaire de package de site Commerce Server.

Utilisez ceci | Pour faire cela
Sites existants | Sélectionner le nom du site que vous voulez modifier.

Voir aussi

Décompression d’un site

Propriétés IIS compressées dans un package


Boîte de dialogue Système de profil

Cette boîte de dialogue s’affiche lorsque vous compressez un site à l’aide du Gestionnaire de package de site Commerce Server.

Le tableau suivant répertorie les options et fonctions disponibles dans la boîte de dialogue Système de profil.

Utilisez ceci Pour faire cela
Scripts de définition de schéma (*.sql, *.vbs) Compresser les définitions de profils : après avoir exporté les définitions de profil (schéma) de la base de données SQL vers un fichier .sql à l’aide de SQL Server Enterprise Manager, spécifiez ici le nom de ce fichier.

Lorsque vous décompressez votre site, vous spécifiez ce fichier pour décompresser les définitions vers les tables de profils des banques de données d’exécution (tables SQL qui stockent les données d’utilisateur, d’adresse, d’organisation, etc.).

Pour plus d’informations, consultez Compression de schéma de profil étendu.
Scripts de remplissage des données (*.sql) Compresser les données de profils stockées dans la base de données de profils : après avoir exporté les données de profil de la base de données SQL vers un fichier .sql à l’aide de SQL Server Enterprise Manager, spécifiez ici le nom de ce fichier.

Lorsque vous décompressez votre site, vous spécifiez ce fichier .sql pour remplir les tables de profils dans les banques de données d’exécution (tables SQL qui stockent les données d’utilisateur, d’adresse, d’organisation, etc.).

Pour obtenir un exemple de script contenant des données pour deux utilisateurs, consultez PopulateProfileSql.sql dans \Program Files\Microsoft Commerce Server 2002.

Pour plus d’informations sur l’utilisation de scripts avec le Gestionnaire de package de site, consultez Utilisation de scripts avec le Gestionnaire de package de site.

Voir aussi

Compression d’un site

Compression de schéma de profil étendu

Propriétés IIS compressées dans un package


Maintien d'une haute disponibilité

Envoyer des commentaires sur cette page Commerce Server 2002

Maintien d’une haute disponibilité

Un site à haute disponibilité bénéficie d’une résistance aux erreurs de la plate-forme sous-jacente et fournit des points faibles uniques. Le concept de disponibilité englobe la fiabilité, la récupération et les défaillances. Une des mesures les plus répandues de la disponibilité est le pourcentage de temps d’activité et de fonctionnement d’un système donné. Le tableau suivant met en corrélation le pourcentage de disponibilité et les équivalents temporels du calendrier.

Durée de fonctionnement acceptable (%) | Temps d’immobilisation par jour | Temps d’immobilisation par mois | Temps d’immobilisation par année
95 | 72 minutes | 36 heures | 18,26 jours
99 | 14,40 minutes | 7 heures | 3,65 jours
99,9 | 86,40 secondes | 43 minutes | 8,77 heures
99,99 | 8,64 secondes | 4 minutes | 52,60 minutes
99,999 | 0,86 seconde | 26 secondes | 5,26 minutes

Ce tableau montre qu’un système présentant une durée de fonctionnement acceptable de 99,9 pour cent peut ne pas fonctionner uniquement pendant 86,4 secondes par jour ou 4 minutes par mois. Il peut aider les personnes chargées de prendre des décisions commerciales à planifier leurs solutions.

Pour augmenter la disponibilité, les procédés de déploiement du système, les logiciels et les techniques de gestion de la solution doivent être élaborés avec soin. Dans la mesure où il est particulièrement difficile de prévoir le moment et la fréquence de la défaillance d’un système, le moyen de planifier une fiabilité accrue consiste à raccourcir la durée de récupération. Si votre système peut récupérer d’une défaillance dans les 86,4 secondes qui la suivent, vous pouvez subir une défaillance chaque jour en ayant toujours un pourcentage de disponibilité de 99,9 pour cent.

Par opposition au concept ci-dessus qui envisage la disponibilité du point de vue de la durée de fonctionnement, la disponibilité peut aussi être envisagée du point de vue des transactions réussies effectuées avec la solution. En d’autres termes, si le site Web gère 100 000 demandes par jour, 99,9 pour cent de disponibilité implique l’échec de 100 demandes par jour. Si vous prenez ce concept comme mesure de la disponibilité, les exigences en matière de disponibilité peuvent varier dans la planification commerciale. Dans cette solution toutefois, le trafic variable des demandes peut être pris en compte.

Le tableau suivant définit les mesures de disponibilité standard. Utilisez-le pour vous aider à déterminer le niveau de disponibilité nécessaire pour votre site.

Niveau de disponibilité | Objectif de disponibilité (%) | Temps d’immobilisation par année
Commercial | 99,5 % | 43,8 heures
Haute disponibilité | 99,9 % | 8,8 heures
Résistance aux pannes | 99,99 % | 53 minutes
Tolérance de pannes | 99,999 % | 5 minutes
Continu | 100 % | 0

Cette section décrit les fonctionnalités de Commerce Server prenant en charge la haute disponibilité, identifie les points faibles uniques de chaque système Commerce Server et décrit les techniques que vous pouvez utiliser pour prendre en charge la haute disponibilité.

Cette section contient les rubriques suivantes :

  • Évaluation des besoins en matière de disponibilité. Explique comment déterminer les besoins de votre site en matière de disponibilité.
  • Procédures de maintenance pour une haute disponibilité. Fournit des instructions concernant la mise en place de procédures de maintenance.
  • Prévention des pannes de site. Décrit les causes répandues qui sont à l’origine des pannes de site et explique comment résoudre ces problèmes.
  • Conception des composants pour une disponibilité élevée. Répertorie des exemples d’exigence en matière de durée de fonctionnement pour les fonctions Commerce Server.


Évaluation des besoins en matière de disponibilité

Lorsque vous construisez un site à haute disponibilité, le déploiement est d’autant plus coûteux que vous approchez de la disponibilité totale (100 %). Vous devez donc déterminer des concessions et des compromis acceptables pour respecter votre budget.

Le tableau suivant propose un modèle dont vous pouvez vous servir pour calculer les avantages présentés par l’implémentation de certaines stratégies de prévention de panne. Les chiffres sont fournis à titre indicatif. Utilisez vos propres données et votre appréciation personnelle pour créer un tableau d’évaluation des risques pour votre site.

Ce tableau décrit le profil d’utilisation et l’impact des pannes de chaque fonctionnalité de Commerce Server. Notez bien que les objectifs de disponibilité indiqués ne sont que des exemples. Vous pouvez choisir des valeurs différentes pour votre propre site.

Fonctionnalité Profil d’utilisation Impacts d’une défaillance Objectif de disponibilité (%)
Système de catalogue de produits
  • 100 % en lecture seule
  • Mises à jour administratives importantes
 Achats impossibles 99,99
Data Warehouse (bases de données et cubes OLAP)
  • Nécessité d’un accès rapide en lecture/écriture
 Rapports non disponibles 99,9
Data Warehouse (importation)
  • Base de données en lecture/écriture de très grande taille
 Les données ne sont pas à jour 99
Service d’annuaire
  • 99 % en lecture seule
 Service d’autorisation des clients non disponible ; seuls les utilisateurs anonymes peuvent faire des achats 99,9
Système de ciblage
  • 100 % en lecture seule
  • Mises à jour administratives
 Expérience d’achat réduite 99
Transactions de commande
  • Lecture/écriture
  • Exigences extrêmes en matière de sécurité et de disponibilité
 Achats impossibles 99,999
Système de profil
  • 97 % en lecture
  • 3 % en écriture (modifications)
 Service d’autorisation des clients non disponible ; pas de contenu personnalisé ; seuls les utilisateurs anonymes peuvent faire des achats 99,9

Sur un site de grande taille, vous pouvez utiliser SQL Server ou Active Directory pour l’authentification. Les deux systèmes prennent en charge les achats par des utilisateurs anonymes.

Remarque

  • Le service d’annuaire comprend Active Directory, Site Server 3.0, LDAP Server ou tout autre serveur LDAP tiers.


Procédures de maintenance pour une haute disponibilité

L’une des solutions les plus efficaces pour garantir la disponibilité d’un site (qui n’est pas la plus coûteuse à implémenter) consiste à créer des procédures de maintenance précises et bien documentées.

Vous devez créer des procédures de maintenance dans les domaines suivants :

  • Gestion des modifications
  • Gestion des services
  • Gestion des problèmes
  • Gestion de la capacité
  • Gestion de la sécurité

Pour plus d’informations sur la gestion de la sécurité, consultez Designing Secure Web-Based Applications for Microsoft Windows 2000 de Michael Howard, disponible en ligne à l’adresse http://go.microsoft.com/fwlink/?LinkId=6711.

Microsoft a créé une base de connaissances qui décrit les expériences industrielles et les méthodes conseillées pour de telles procédures : Enterprise Services Frameworks (comprenant Microsoft Readiness Framework, Microsoft Solutions Framework et Microsoft Operations Framework).

Une fois que vous avez établi un ensemble stable de procédures de maintenance, vous pouvez commencer à étudier les moyens d’améliorer la disponibilité de vos ressources matérielles et logicielles. La disponibilité d’un système n’est pas seulement liée à la redondance des infrastructures matérielles et logicielles.

Vous devez implémenter un contrôle des modifications en enregistrant les demandes de modifications, leur approbation et leur implémentation. Un tel contrôle des modifications permet d’établir des points de contrôle dans l’historique de la configuration et de relier les problèmes aux changements de configuration. Pour plus d’informations sur les processus de gestion de configuration, consultez le chapitre 8, « Developing Your Site » (en anglais), du Kit de Ressources Techniques Commerce Server 2000 publié par Microsoft Press.

Les procédures d’escalade permettent de réagir aux états d’incapacité de manière plus efficace. Gérez une liste de contacts pour chaque niveau de sécurité afin d’obtenir immédiatement l’aide appropriée en cas d’incapacité.

Accord sur les niveaux de service

Il est important d’exiger des fournisseurs de services Internet un accord de niveau de service qui garantisse un niveau approprié d’analyse, de fonctionnement et de disponibilité du site.

Déploiement progressif

Déployez le contenu dans un environnement de développement, puis un environnement de test, puis un environnement de transfert pour identifier les défaillances avant qu’elles n’affectent l’environnement de production. Établissez des critères d’acceptation précis pour chaque environnement afin de pouvoir déterminer à quel moment l’application est prête à être déployée dans l’environnement suivant.

L’environnement de déploiement est généralement le moins restrictif et admet un degré d’instabilité élevé. L’environnement de test doit être plus stable que l’environnement de développement et fournir de meilleures performances. L’environnement de transfert doit être stable. L’environnement de production doit être stable et atteindre les objectifs de performance fixés.


Prévention des pannes de site

Trois classes d’événements peuvent entraîner des pannes de site : une erreur humaine, une défaillance matérielle et une défaillance logicielle. Sans une planification correcte, n’importe laquelle de ces situations peut réduire à néant la disponibilité cible d’un site.

L’erreur humaine est la catégorie la plus difficile à gérer, car les personnes responsables de la maintenance du site peuvent être vos pires ennemis. Cependant, lorsque les utilisateurs sont en interaction avec le site en exécution, ils peuvent effectuer une opération ayant un certain effet. Il est par conséquent vivement conseillé de mettre les opérations d’administration à l’épreuve dans l’environnement de test dédié avant de créer les scripts correspondants. Lorsque la nouvelle opération d’administration est introduite pour la première fois dans le site réel, ses effets sur le système général doivent être analysés avec soin. Cette planification soigneuse permet au site de parvenir au niveau le plus élevé de disponibilité.

Cette rubrique décrit quelques-uns des problèmes les plus courants à l’origine des pannes de site et indique les étapes à suivre pour éviter ces défaillances.

  • Logiciels d’application
  • Contrôle climatique
  • Données
  • Alimentation électrique
  • Équipements
  • Réseau
  • Sécurité
  • Serveur


Logiciels d'application

Envoyer des commentaires sur cette page Commerce Server 2002

Logiciels d’application

Problème potentiel : Code de mauvaise qualité, vulnérabilité aux agressions des services, dépendances de plate-forme non satisfaites.

Actions préventives :

  • Créez une architecture robuste s’appuyant sur des serveurs redondants et un équilibrage de la charge entre ces serveurs. Rappelez-vous que les clusters à équilibrage de charge sont différents des clusters d’applications Windows. Les composants d’exécution de Commerce Server ont été conçus pour l’équilibrage de charge NLB/WLBS et non pour le clustering Windows.
  • Vérifiez le code pour éviter les erreurs potentielles suivantes : dépassement de mémoire tampon, boucle sans fin, arrêt du code, ouvertures permettant des agressions de la sécurité.
  • Installez des logiciels d’application stables qui fonctionnent correctement, s’intègrent aux logiciels existants et offrent des performances conformes aux objectifs. Il est également important de contrôler les versions des logiciels et de gérer les modifications. Pour plus d’informations sur la gestion des modifications, consultez le chapitre 8, « Developing Your Site », du Kit de Ressources Techniques Commerce Server 2000 publié par Microsoft Press.
  • Utilisez uniquement des logiciels de production. Évitez les logiciels en cours de développement ou d’évaluation.


Contrôle climatique

Problème potentiel : Dysfonctionnement des dispositifs de climatisation ou de chauffage.

Actions préventives :

  • Maintenez les équipements à une température conforme aux spécifications du fabricant. Une chaleur excessive peut faire fondre les UC ; une température trop basse peut entraîner la défaillance des éléments mobiles tels que les ventilateurs ou les lecteurs de disque.
  • Contrôlez le degré d’humidité. Une humidité excessive peut être cause de court-circuit si l’eau se condense sur les cartes à circuits imprimés. Une atmosphère trop sèche favorise l’accumulation d’électricité statique qui peut endommager les composants lorsque vous les manipulez.


Données

Problème potentiel : Données endommagées.

Actions préventives :

  • Effectuez des sauvegardes régulières sur site et archivez des sauvegardes hors site. Par exemple, vous pouvez archiver hors site une sauvegarde régulière sur quatre pour économiser de l’espace.

    Si vos données sont endommagées, vous pouvez les restaurer jusqu’au dernier point de sauvegarde avant l’incident. Si vous sauvegardez aussi les fichiers journaux des transactions, vous pouvez alors appliquer ces derniers à la base de données restaurée pour qu’elle soit parfaitement à jour.

  • Réexécutez les fichiers journaux de transactions sur une base de données réputée correcte pour mettre à jour les données. Cette technique est également appelée « envoi de journaux à un serveur de sauvegarde récente ». Elle est utile pour gérer les sites de récupération de données (ou « sites de secours »).
  • Déployez le clustering Windows. Commerce Server utilise des banques de données telles que SQL Server et Microsoft Active Directory. SQL Server assure l’accès aux données et aux services (recherches dans les catalogues notamment). SQL Server utilise le clustering Windows pour garantir la redondance. Active Directory assure l’accès aux données de profil et peut fournir des services d’authentification. Active Directory utilise la réplication des données pour garantir la redondance.
  • En règle générale, le clustering est plus efficace pour les données dynamiques (accessibles en lecture/écriture) et la réplication convient mieux aux données statiques (en lecture seule).
  • Réduisez la probabilité et l’impact d’une panne de serveur SQL en configurant les serveurs SQL Server en cluster ou en répliquant les données sur plusieurs serveurs SQL Server. SQL Server 2000 est pris en charge intégralement dans les configurations à haute disponibilité.
  • Si vous optez pour Active Directory, sauvegardez les banques Active Directory. (Vous pouvez effectuer cette opération sans déconnecter Active Directory).

    Utilisez au moins deux contrôleurs de domaine Active Directory et un calendrier de réplication adapté à vos besoins. La restauration d’un contrôleur de domaine peut prendre beaucoup de temps et nécessiter la déconnexion du contrôleur de domaine. Avec des contrôleurs de domaine homologues, vous pouvez réduire le temps d’indisponibilité lors d’une restauration du site.


Alimentation électrique

Problème potentiel : Dysfonctionnement des modules de conditionnement d’alimentation, des onduleurs ou des générateurs.

Actions préventives :

  • Utilisez des onduleurs. Les onduleurs étant généralement alimentés par batterie, ils ne sont utiles qu’en cas de coupure de courant de courte durée. Veillez à utiliser un onduleur présentant la même puissance nominale que votre équipement.
  • Utiliser des générateurs pour suppléer aux onduleurs. Les générateurs disposent d’une source alimentation autonome (essence ou gasoil) que vous pouvez réapprovisionner ; leur efficacité n’est donc pas limitée dans le temps.


Équipements:

Envoyer des commentaires sur cette page Commerce Server 2002

Équipements :

Problème potentiel : Puces mémoire et UC endommagées ; dysfonctionnement des disques, contrôleurs de disque et modules d’alimentation.

Actions préventives : Déployez les composants matériels de manière redondante :

  • Utilisez des piles de disques RAID (Redundant Array of Inexpensive Disks), des disques en miroir et des contrôleurs de disque dupliqués pour réduire l’impact des pannes de disque. Il existe également des solutions tierces qui permettent de réduire la durée d’indisponibilité due aux pannes de disque.
  • Utilisez un contrôleur de disque redondant.
  • Utilisez des cartes bus hôtes et des commutateurs Fibre Channel redondants (pour une configuration réseau SAN). En cas de défaillance d’une carte ou d’un commutateur, la carte ou le commutateur de secours permet d’accéder au réseau SAN.


Réseau

Problème potentiel : Dysfonctionnement aux niveaux suivants : commutateurs, routeurs, pare-feu, câblage, cartes réseau. Ou encore : non-respect des accords de niveau de service (SLA, Service Level Agreements) par les fournisseurs de services Internet (IPS).

Actions préventives : Implémentez la redondance sur le réseau.

  • Utilisez plusieurs cartes réseau, routeurs, commutateurs, réseaux locaux (LAN) ou systèmes pare-feu.
  • Signez des contrats avec plusieurs fournisseurs de services Internet (IPS) ou installez des équipements identiques à des emplacements géographiquement dispersés.
  • Activez les protocoles de routage et de gestion (une configuration de stratégie de pare-feu peut être nécessaire : RIP2, OSPF, ICMP).


Sécurité

Problème potentiel : Les pare-feu, les réseaux et les applications Web ne fonctionnent pas correctement et des pirates Internet agressent votre site.

Actions préventives :

  • Confiez l’évaluation de votre environnement à une société d’audit de sécurité indépendante.
  • Déployez des outils de détection des intrusions.
  • Déployez plusieurs pare-feu.
  • Vérifiez les certificats serveur et client pour garantir les identités des systèmes avec lesquels votre site est en interaction.

Pour obtenir dernières les stratégies et techniques en matière de gestion de sécurité, consultez les ressources suivantes :

  • Sécurisation de votre site
  • La sécurité avec Windows 2000 Server à l’adresse http://go.microsoft.com/fwlink/?LinkId=6712.
  • Page d’accueil du site Microsoft sur la sécurité à l’adresse http://go.microsoft.com/fwlink/?LinkId=6679
  • Bulletins Microsoft sur la sécurité auprès de TechNet à l’adresse http://go.microsoft.com/fwlink/?LinkId=6713
  • Outils Microsoft pour la sécurité auprès de TechNet http://go.microsoft.com/fwlink/?LinkId=6689


Serveur

Problème potentiel : Surcharge du serveur.

Actions préventives : Déployez des serveurs redondants avec équilibrage de charge. Les solutions qui utilisent une seule adresse IP permettent d’augmenter la capacité du site en répartissant les demandes HTTP proportionnellement à la capacité de chaque serveur pour gérer la charge requise. Par ailleurs, l’utilisation d’une seule adresse IP garantit que les utilisateurs sont dirigés vers des serveurs d’exploitation. Vous disposez de plusieurs solutions à adresse IP unique pour équilibrer la charge entre vos serveurs :

  • Microsoft Windows 2000 Advanced Server et Microsoft Windows 2000 Datacenter Server fournissent un service d’équilibrage de la charge réseau (NLB, Network Load Balancing).
  • Microsoft Application Center 2000 fournit des extensions de NLB (Transfert des demandes) qui prennent en charge le partage d’une même adresse IP par un grand nombre d’utilisateurs.
  • Étudiez les solutions d’équilibrage de charge qui s’appuient sur le matériel.


Prévention des pannes de matériel

Les défaillances matérielles peuvent survenir à tout moment. Ce type de défaillance comprend notamment les défaillances environnementales comme les catastrophes naturelles ou les incendies. Le procédé le plus sûr pour minimiser les risques consiste à concevoir une implémentation matérielle comportant le plus petit nombre possible de points faibles uniques. Au cours de la planification du déploiement, le programmeur doit créer un plan du matériel physique qui montre tous les points de connexion pour le stockage, le réseau et la logique logicielle. Des solutions potentielles peuvent ensuite être élaborées et une analyse du coût par rapport aux risques peut être effectuée. De nombreuses solutions existent dans ce domaine, allant des simples sauvegardes sur bande des données critiques aux systèmes à tolérance de pannes.

Le tableau suivant répertorie les outils et les stratégies qui permettent de réduire le temps d’immobilisation dû aux défaillances matérielles. La mention « X » signifie que l’outil peut être utilisé pour éviter le type de défaillance spécifié en titre de colonne. Par exemple, pour éviter des défaillances des applications, des bases de données et des serveurs, vous pouvez utiliser des configurations en cluster.

Outil ou stratégie | Application | Base de données | Réseau | Serveur
Configurations en cluster | X | X |  | X
Sauvegardes des données | X | X |  | X
Réplication des données | X | X |  | X
Deux contrôleurs de disques |  | X |  | X
Deux sources d’alimentation | X | X | X | X
Deux routeurs |  |  | X |
Centres de données dispersés géographiquement | X | X | X | X
Disques en miroir |  | X |  | X
Plusieurs fournisseurs de services Internet |  |  | X |
Plusieurs cartes réseau |  |  | X |
Piles de disques RAID |  | X |  | X
Onduleurs | X | X | X | X


Estimation de la probabilité d'une panne de site

Envoyer des commentaires sur cette page Commerce Server 2002

Estimation de la probabilité d’une panne de site

Vous pouvez utiliser la formule suivante permet pour estimer la probabilité relative (RPN, Relative Probability Number) d’une panne de site :

  • RPN = O x D x G

Où :

  • O (occurrence) est le nombre de fois qu’une erreur est susceptible de se produire (valeurs de 1 à 10 ; plus cette valeur est élevée, plus l’erreur est susceptible de se produire).
  • D (détection) représente la difficulté de détection de la défaillance (valeurs de 1 à 10 ; plus cette valeur est élevée, plus la défaillance est difficile à détecter).
  • G (gravité) exprime le degré de nuisance de la défaillance pour le site (valeurs de 1 à 10 ; plus cette valeur est élevée, plus la défaillance est grave et plus l’état d’incapacité du site est important).

Le tableau suivant répertorie les éléments qui peuvent tomber en panne et l’effet de cette panne avec la probabilité (RPN) correspondante. Il indique également les mesures permettant d’éviter la panne et la probabilité RPN obtenue après application de ces mesures.

Élément Effet d’une défaillance O D G RPN avant mesures préventives Mesures préventives O D G RPN après mesures préventives
UC (double) Le serveur peut se déconnecter 2 4 7 56
  • Logiciel d’analyse
  • Logiciel d’accès à distance
  • Désactiver l’UC
  • Redémarrer
 2 2 7 28
UC (unique) Serveur déconnecté 2 4 10 40
  • Logiciel d’analyse
  • Deuxième UC
 2 2 8 32
Lecteurs Serveur déconnecté 5 4 10 200
  • Contrôleur RAID 5 avec disque de rechange
  • Logiciel d’analyse
 2 2 5 20
Pare-feu Vols, site endommagé ou inaccessible 4 4 8 128
  • Logiciel d’analyse
  • Pare-feu supplémentaire
 2 2 4 16
Équilibrage de charge Tout le trafic est dirigé vers un seul serveur

Site inaccessible

 4 4 8 128
  • Logiciel d’analyse
  • Équilibrage de charge supplémentaire
2 2 4 16
Mémoire Serveur déconnecté 2 4 7 56
  • Logiciel d’analyse
  • Serveur supplémentaire
 2 2 7 28
Carte réseau Serveur déconnecté 4 4 8 128
  • Carte réseau en double
  • Logiciel d’analyse
 1 2 4 8
Alimentation Site déconnecté 4 4 10 160
  • Onduleur
  • Logiciel d’analyse
 2 2 2 8
Contrôleur RAID Serveur déconnecté 2 4 10 80
  • Logiciel d’analyse
  • Serveur supplémentaire
 2 2 8 32
Routeur / Service clientèle Perte des connexions

Traitement des commandes impossible

Gestion du site impossible

 4 4 8 128
  • Routeurs redondants
  • Logiciel d’analyse
 2 2 4 16
Cluster SQL Server Panne d’un seul serveur entraînant un ralentissement du service 5 4 2 40
  • Serveurs redondants organisés en architecture de site
  • Logiciel d’analyse
 5 2 2 20
Commutateur Déconnexion d’une partie ou de l’ensemble des périphériques 4 4 10 160
  • Sources d’alimentation redondantes
  • Cartes de connexion redondantes
  • Carte de gestion redondante
  • Logiciel d’analyse
 1 2 4 8
Serveur Web Site déconnecté 5 4 10 200
  • Serveurs Web supplémentaires
  • Équilibrage de charge
 2 2 5 20


Prévention des pannes au niveau de la logique commerciale

Vous pouvez augmenter la tolérance aux pannes du niveau de logique commerciale en utilisant des clusters Web dont la charge est équilibrée pour protéger les serveurs, les services et le réseau contre les défaillances. Des clusters à charge équilibrée permettent de retirer du cluster un serveur qui ne répond plus pour pouvoir le réparer et pour que les utilisateurs ne soient pas dirigés vers ce serveur défaillant. Vous pouvez combiner équilibrage de charge et configuration DNS à répétition alternée (RRDNS, Round Robin Domain Naming System) pour améliorer l’évolutivité et la disponibilité du système.

Tous les nœuds d’un cluster à charge équilibrée doivent se trouver sur le même sous-réseau local et faire référence à la même adresse IP. Dans un site comprenant plusieurs clusters Web, vous devez configurer plusieurs clusters à charge équilibrée sur les différents sous-réseaux et configurer le service de noms de domaine (DNS) pour qu’il répartisse les demandes de manière séquentielle entre les différents clusters équilibrés pour augmenter l’évolutivité.


Prévention des pannes au niveau des bases de données

Vous pouvez augmenter la tolérance aux pannes du niveau des bases de données en combinant la redondance des disques avec une stratégie rigoureuse de sauvegarde et de restauration pour protéger vos données. Les méthodes suivantes permettent d’améliorer la tolérance aux pannes des services de base de données :

  • Mise en clusters. Le clustering Windows permet à deux ou plusieurs serveurs de partager les mêmes données et de fonctionner comme un système unique. Windows Datacenter Server prend en charge jusqu’à quatre serveurs (nœuds) dans un cluster. Chaque nœud peut fonctionner indépendamment des autres.
  • Réplication. Vous pouvez utiliser la réplication SQL Server pour synchroniser vos serveurs de bases de données. SQL Server offre des options de réplication telles que la réplication de capture instantanée et la réplication transactionnelle. Active Directory fait également appel à la réplication pour assurer la redondance.
  • Sauvegardes récentes. Vous pouvez utiliser un seul serveur de production qui assure l’accès en lecture/écriture aux données, en journalisant toutes les transactions. La technique d’envoi de journaux SQL Server permet ensuite de transférer les fichiers vers un serveur situé hors de l’environnement de production qui est en permanence mis à jour à l’aide des fichiers journaux de transactions.

Les données doivent être sauvegardées ou répliquées pour pallier toute suppression accidentelle. Le tableau suivant décrit les deux types de réplications de données.

Type de réplication des données | Caractéristiques | Circonstances d’application
Active | Partage une partie de la charge de travail du site principal ; est toujours en ligne. | Les données ont une importance capitale et le site doit être disponible en permanence.
Passive | Inactive jusqu’au moment où un accident met le site principal hors service. | Votre site peut tolérer une courte interruption de la disponibilité des données en attendant que le site de secours soit connecté.

Connexions de bases de données

Commerce Server et ses dépendances utilisent des connexions de bases de données pour accéder aux bases de données. Dans la mesure où les serveurs de base de données s'exécutent par-dessus le système d'exploitation de la plate-forme et les services, les causes de défaillance sont nombreuses. En voici quelques-unes :

  • défaillance du système de fichier/disque ;
  • défaillance réseau ;
  • défaillance de l’application de base de données ;
  • défaillance serveur.

Il existe deux solutions de haute disponibilité Windows 2000 recommandées :

  • Service de cluster Microsoft : cette solution est applicable aux serveurs de base de données en mode éditeur.
  • Équilibrage de charge réseau : cette solution est applicable en mode d’évolutivité quantitative. Dans ce mode, la charge de plusieurs serveurs de base de données est équilibrée sous un seul réseau IP virtuel. Les serveurs de base de données fonctionnent généralement comme des abonnés sur un serveur de base de données master jouant le rôle d’un éditeur de données. Lorsqu’un serveur de base de données échoue, l’équilibrage de charge réseau supprime le serveur du cluster et dirige les connexions vers les autres serveurs opérationnels.


Conception des composants pour une disponibilité élevée

Le tableau suivant présente des exemples de durée de fonctionnement requise pour différentes fonctions Commerce Server. Vos besoins peuvent être différents de ceux exprimés dans ce tableau, mais vous pouvez utiliser ces exemples comme points de départ pour créer l’architecture de votre site.

Fonction Commerce Server | Durée de fonctionnement visée (%) | Classification des pannes
Authentification | 99,99 | Une seule tentative supplémentaire est acceptée
Affichage du panier | 99,999 | Aucun taux d’échec toléré
Interrogation de catalogue | 99,99 | Deux tentatives supplémentaires sont acceptées
Personnaliser le publipostage par utilisateur | 99 | Ne pas réessayer
Pipeline d’achat | 99,999 | Aucun taux d’échec toléré
Affichage des publicités | 99 | Ne pas réessayer

Pour obtenir des exemples de logique commerciale pouvant servir de protection contre la perte de connectivité des bases de données, consultez Logique de code de recherche.


Administration de Commerce Server

Cette section décrit l’utilisation du Gestionnaire Commerce Server pour administrer Microsoft Commerce Server 2002. Elle s’adresse aux administrateurs système, dont les responsabilités incluent l’ajout et la gestion de ressources utilisées par les sites, l’installation et la configuration de serveurs Web, l’analyse des performances de Commerce Server et la gestion des bases de données Commerce Server.

Cette section contient les rubriques suivantes :

  • Aide du Gestionnaire Commerce Server. Répertorie les tâches courantes que vous exécutez à l’aide du Gestionnaire Commerce Server.
  • Outils d’administration. Décrit les outils utilisés par un administrateur système pour gérer une installation de Commerce Server.
  • Utilisation du Gestionnaire Commerce Server. Explique comment démarrer le Gestionnaire Commerce Server.
  • Modification des chaînes de connexion de base de données. Explique comment définir les chaînes de connexion de base de données de Commerce Server pour la base de données d’administration, les ressources globales et les ressources de site.
  • Installation des outils d’administration uniquement. Explique comment configurer une console dédiée uniquement à l’administration sur un ordinateur isolé.
  • Gestion de la base de données d’administration. Décrit la base de données d’administration et son interaction avec les sites. Explique comment configurer la base de données et gérer la sécurité.
  • Gestion des ressources Commerce Server. Explique comment ajouter et supprimer des ressources globales et des ressources de site, et comment démarrer ou arrêter une ressource.
  • Configuration de la ressource Configuration par défaut de l’application. Explique comment configurer les propriétés qui affectent l’authentification, la devise en vigueur sur votre site et l’intégration à Microsoft BizTalk Server.
  • Gestion des sites Commerce Server. Explique comment ajouter, configurer et supprimer un site.
  • Gestion des applications et des serveurs Web Commerce Server. Explique comment ajouter, configurer et supprimer une application Commerce Server, et comment ajouter ou supprimer un serveur Web.
  • Exécution du Data Warehouse. Explique comment importer des données dans le Data Warehouse et comment personnaliser le processus d’importation. Explique comment gérer et enrichir les données du Data Warehouse.
  • Exécution du service de publipostage. Explique comment développer des messages de publipostage personnalisés. Explique comment personnaliser le service de publipostage Commerce Server, et comment exécuter, analyser et supprimer des travaux de publipostage.
  • Exécution de la ressource Profils. Explique comment ajouter des sources de données de profil à Commerce Server, comment créer des définitions de profils pour collecter les données de votre site Web, et comment créer des entrées du glossaire du site.
  • Analyse des sites Commerce Server. Explique comment analyser une installation Commerce Server. Décrit les compteurs Commerce Server. Explique comment utiliser les compteurs système de Commerce Server pour améliorer les performances du serveur.
  • Optimisation de Commerce Server. Explique comment réduire le délai de réponse de chaque demande et comment augmenter le débit de Commerce Server.
  • Référence de l’interface utilisateur. Fournit les rubriques d’aide contextuelle pour le Data Warehouse, les tâches de transformation de données (DTS, Data Transformation Services), et le Gestionnaire de package de site Commerce Server.


Aide du Gestionnaire Commerce Server

La liste suivante répertorie les tâches courantes effectuées à partir du Gestionnaire Commerce Server.

Zone | Rubriques
Ressources | Ressources Installation et désinstallation des ressources globales Ajout d’un pointeur de ressource globale à un site Ajout d’une ressource à un site Partage de ressources entre plusieurs sites
Sites et applications | Sites Applications Utilisation du Gestionnaire de package de site Installation dans une configuration ordonnée en clusters et comprenant quatre ordinateurs Installation dans une configuration non ordonnée en clusters et comprenant trois ordinateurs Ajout d’une application à un site Ajout d’une application non-Commerce Server à un site Ajout d’une application non-Commerce Server à un site Ajout d’un serveur Web à une application Ajout d’un serveur Web non-Commerce Server à une application Configuration d’une application Configuration d’un serveur Web
Service de publipostage | Utilisation du service de publipostage et de l'authentification Windows Configuration du service de publipostage Exécution du service de publipostage
Data Warehouse | Configuration de la tâche DTS Importation de journal de serveur Web Importation de données dans le Data Warehouse Exécution de tâches DTS à l’aide de scripts
Ressource CS Authentication | Traitement d’AuthFilter dans une batterie de serveurs Web (Web farm) Activation d’AuthFilter pour le site solution Retail Partage de cookie Authentification de base Outlook Web Access de Microsoft Exchange 2000
Ressource Profils | Configuration de la chaîne de connexion de la ressource Profils Création d’une source de données dans la ressource Profils
Ressource Configuration par défaut de l’application | Configuration de la ressource Configuration par défaut de l’application. Configuring Commerce Server to Work with BizTalk Server (en anglais)
Dépannage | Dépannage des ressources de Commerce Server Dépannage du processus d’importation du Data Warehouse


Outils d'administration

Envoyer des commentaires sur cette page Commerce Server 2002

Outils d’administration

Le tableau suivant répertorie les outils d’administration utilisés pour gérer une installation Commerce Server 2002.

Utilisez ceci | Pour faire cela
Utilisation du Gestionnaire Commerce Server | Gérer et configurer les ressources, sites, applications et serveurs Web Commerce Server.
Utilisation du Gestionnaire de package de site | Déployer les sites, ressources, applications et serveurs Web.
SQL Enterprise Manager | Gérer les bases de données Commerce Server.
Composant logiciel enfichable (snap-in) IIS | Gérer les serveurs Web.
Utilisateurs et ordinateurs Active Directory de Windows 2000 | Gérer les comptes d’utilisateur, les comptes d’ordinateur, ainsi que les groupes de sécurité et de distribution Windows 2000.
Observateur d’événements de Windows 2000 | Afficher les journaux d’événements.
Moniteur système de Windows 2000 | Collecter et afficher les données de performance de l’ordinateur en temps réel.
Assistant Sauvegarde de Windows 2000 | Sauvegarder la métabase IIS (Internet Information Services), les paramètres du Registre Windows 2000 et les fichiers Commerce Server.
Assistant Restauration de Windows 2000 | Restaurer la métabase IIS, les paramètres du Registre Windows 2000 et les fichiers Commerce Server.


Utilisation du Gestionnaire Commerce Server

Le Gestionnaire Commerce Server est un outil qui permet de gérer et de configurer les ressources, sites, applications et serveurs Web Commerce Server 2002. Microsoft Management Console (MMC), une interface Windows incluse dans Microsoft Windows 2000, héberge le Gestionnaire Commerce Server.

Les fonctionnalités du Gestionnaire Commerce Server ne sont pas disponibles via une administration par le Web ou une ligne de commande. En revanche, la plupart des fonctionnalités sont accessibles et manipulables par l’intermédiaire d’objets COM (Component Object Model), aussi est-il possible d’écrire un script WHS (Windows Script Host) ou une page ASP (Active Server Pages) pour étendre l’environnement d’administration.

Pour accéder au Gestionnaire Commerce Server

  • Cliquez sur Démarrer, pointez sur Programmes, sur Outils d’administration, puis cliquez sur Gestionnaire Commerce Server.

Voir aussi

Integrating Custom Resources (en anglais)


Modification des chaînes de connexion de base de données

Les chaînes de connexion Commerce Server sont stockées dans la base de données d’administration. Il est recommandé de configurer toutes les chaînes de connexion de base de données avec l’authentification Windows. Pour plus d’informations sur la manière de configurer un site en vue d’utiliser l’authentification Windows, consultez Utilisation de l’authentification Windows.

Commerce Server utilise des chaînes de connexion pour les bases de données suivantes :

  • Base de données d’administration. Au moment de l’installation, vous configurez la chaîne de connexion pour la base de données d’administration. Vous pourrez la modifier ultérieurement à l’aide du Gestionnaire Commerce Server. Pour obtenir des instructions, consultez Modification de la chaîne de connexion de la base de données d’administration.
  • Base de données du service de publipostage. Au moment de l’installation, vous configurez la chaîne de connexion pour la base de données du Service de publipostage. Vous pouvez la modifier ultérieurement à l’aide du Gestionnaire Commerce Server. Pour obtenir les instructions à suivre, consultez Configuration du service de publipostage.
  • Bases de données utilisées par les ressources. Lorsque vous décompressez un site à l’aide du Gestionnaire de package de site Commerce Server, une chaîne de connexion à la base de données adéquate vous est demandée pour certaines ressources. Le tableau suivant répertorie les chaînes de connexion pour chaque ressource.
    Ressource | Chaîne de connexion
    Autorisations Business Desk | Base de données SDT
    Catalogue de produits | Base de données du catalogue
    Campagnes marketing | Base de données Campagnes marketing
    Transactions | Base de données Transactions
    Configuration de la transaction | Base de données Configuration des transactions
    Profils | s_BizDataStoreConnectionString, s_CommerceProviderConnectionString, s_ProfileServiceConnectionString
    Data Warehouse La chaîne de connexion n’est pas nommée dans l’interface utilisateur, car le Data Warehouse dispose de sa propre extension de composant logiciel enfichable (snap-in).

    La chaîne de connexion entre la ressource Data Warehouse et la base de données OLAP prend en charge l’authentification Windows uniquement.

  • Autres bases de données. Vous spécifiez également les chaînes de connexion dans les cas suivants :
    Fonctionnalité | Chaîne de connexion
    Gestionnaire de listes : importation et exportation de listes | Dans le module Gestionnaire de listes de Commerce Server Business Desk, définissez la chaîne de connexion pour la table de base de données SQL Server que vous importez ou exportez.
    Outil de migration ProfileBuilder | Une fois que vous avez modifié le code source de ProfileBuilder, créez un nom de source de données (DSN) pour la banque de données des profils Commerce Server.
    Ressource Profils : ajout de sources de données | Utilisez le sélecteur de source de données (et, pour le protocole LDAP (Lightweight Directory Access Protocol), la boîte de dialogue Chaîne de connexion LDAP) pour entrer les chaînes de connexion des bases de données et des sources LDAP vers lesquelles vous mappez les partitions de source de données.

Utilisez le Gestionnaire Commerce Server si vous devez modifier une chaîne de connexion pour une base de données.

Cette section contient les rubriques suivantes :

  • Modification de la chaîne de connexion pour une ressource globale
  • Modification de la chaîne de connexion pour une ressource de site

Voir aussi

Utilisation de l’authentification Windows

Configuration des chaînes de connexion du Data Warehouse

OLE DB Connection Strings for the Data Warehouse (en anglais)

OLE DB Connection Strings for the Profiling System (en anglais)

Code to Connect to the Expression Store (en anglais)

Code to Connect to the Profile Store (en anglais)


Modification de la chaîne de connexion pour une ressource globale

Vous pouvez modifier les chaînes de connexion pour n’importe quelle ressource globale.

Pour modifier la chaîne de connexion pour une ressource globale

Remarque

  • Étant donné que la ressource globale Data Warehouse dispose de sa propre extension de composant logiciel enfichable (snap-in) dotée d’une interface utilisateur différente, cette procédure ne lui est pas applicable. Pour obtenir des instructions sur la modification des chaînes de connexion du Data Warehouse, consultez Configuration des chaînes de connexion du Data Warehouse.
  1. Dans le Gestionnaire Commerce Server, développez Gestionnaire Commerce Server, puis développez Ressources globales.
  2. Cliquez avec le bouton droit sur la ressource globale à configurer, puis cliquez sur Propriétés.
  3. Pour configurer la chaîne de connexion de la ressource globale : dans la boîte de dialogue Propriétés, sous l’onglet Chaînes de connexion, sélectionnez une chaîne de connexion et cliquez sur Modifier.

    La boîte de dialogue Propriétés des liaisons de données s’affiche.

  4. Une fois que vous avez apporté les modifications nécessaires à la boîte de dialogue Propriétés des liaisons de données, cliquez sur OK.

Remarques

  • Il est possible d’ajouter des chaînes de connexion qui ne sont pas associées à une base de données et qui ne fonctionnent donc pas. Si cela se produit, les Liaisons de données Microsoft n’affichent pas de message d’erreur.
  • Après avoir modifié une chaîne de connexion, vous devez redémarrer les services IIS (Internet Information Services). Pour obtenir des instructions, consultez Redémarrage des services IIS et Commerce Server.

Voir aussi

Utilisation de l’authentification Windows

Configuration des chaînes de connexion du Data Warehouse

OLE DB Connection Strings for the Data Warehouse (en anglais)

OLE DB Connection Strings for the Profiling System (en anglais)

Code to Connect to the Expression Store (en anglais)

Code to Connect to the Profile Store (en anglais)


Modification de la chaîne de connexion pour une ressource de site

Vous pouvez modifier les chaînes de connexion associées à n’importe quelle ressource de site.

Pour modifier la chaîne de connexion pour une ressource de site

  1. Dans le Gestionnaire Commerce Server, développez Gestionnaire Commerce Server, Sites de commerce, puis développez le site que vous voulez administrer.
  2. Développez Ressources de site, cliquez avec le bouton droit sur la ressource de site à configurer, puis cliquez sur Propriétés.
  3. Dans la boîte de dialogue Propriétés, sous l’onglet Chaînes de connexion, sélectionnez une chaîne de connexion puis cliquez sur Modifier. La boîte de dialogue Propriétés des liaisons de données s’affiche.
  4. Une fois que vous avez apporté les modifications nécessaires à la boîte de dialogue Propriétés des liaisons de données, cliquez sur OK.

Remarques

  • Il est possible d’ajouter des chaînes de connexion qui ne sont pas associées à une base de données et qui ne fonctionnent donc pas. Si cela se produit, les Liaisons de données Microsoft n’affichent pas de message d’erreur.
  • Après avoir modifié une chaîne de connexion, vous devez redémarrer LES SERVICES IIS. Pour obtenir des instructions, consultez Redémarrage des services IIS et Commerce Server.

Voir aussi

Utilisation de l’authentification Windows

Configuration des chaînes de connexion du Data Warehouse

OLE DB Connection Strings for the Data Warehouse (en anglais)

OLE DB Connection Strings for the Profiling System (en anglais)

Code to Connect to the Expression Store (en anglais)

Code to Connect to the Profile Store (en anglais)


Installation des outils d'administration uniquement

Envoyer des commentaires sur cette page Commerce Server 2002

Installation des outils d’administration uniquement

Après avoir installé Commerce Server sur au moins un ordinateur, vous pouvez également configurer une console pour administration uniquement sur un ordinateur distinct. Un ordinateur d’administration uniquement ne possède que le Gestionnaire Commerce Server et se connecte à la base de données d’administration existante.

Vous pouvez utiliser un ordinateur dédié à l’administration dans les situations suivantes :

  • Vous voulez utiliser votre ordinateur existant avec une installation minimale. Un ordinateur d’administration uniquement nécessite moins de logiciels et de configuration que ceux disposant d’une installation complète de Commerce Server. Vous pouvez utiliser le système d’exploitation Microsoft Windows 2000 Professionnel au lieu de Microsoft Windows 2000 Server.
  • Vous voulez pouvoir administrer Commerce Server à partir de différents emplacements. Les ordinateurs d’administration uniquement doivent se trouver dans le même domaine ou domaine approuvé que Commerce Server.

Un ordinateur d’administration uniquement doit répondre aux conditions suivantes :

  • Microsoft Windows 2000 Professionnel, Server ou Advanced Server est installé.
  • 20 Mo d’espace disque sont disponibles.
  • La connectivité à la base de données d’administration existante est implémentée.

Pour installer les outils d’administration uniquement

  1. Sur l’ordinateur que vous avez choisi comme ordinateur d’administration uniquement, exécutez l’Installation de Commerce Server 2002, puis sélectionnez Installation personnalisée.
  2. Vérifiez que l’option Outils d’administration est sélectionnée pour l’installation et désactivez toutes les autres options.
  3. Dans l’écran Configuration de la base de données d’administration, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Ordinateur SQL Server | Taper le nom du serveur SQL Server sur lequel la base de données d’administration doit être créée.
    Nom d’utilisateur SQL | Taper un nom d’utilisateur SQL Server qui possède les autorisations requises sur le serveur SQL Server sur lequel la base de données d’administration doit être créée.
    Mot de passe SQL | Taper le mot de passe de connexion SQL Server.
  4. Cliquez sur Suivant, puis sur Installer.

Le Gestionnaire Commerce Server est installé sur votre ordinateur.

Pour activer l’administration via un serveur proxy ou un pare-feu

  • Ouvrez le port 1433 entre SQL Server et l’ordinateur d’administration uniquement.

Par défaut, SQL Server est à l’écoute sur le port 1433. Pour obtenir des instructions sur la modification du numéro de port, consultez la documentation en ligne de SQL Server.

Remarque

  • Bien que vous puissiez utiliser le Gestionnaire Commerce Server via un serveur proxy ou un pare-feu, vous ne pouvez pas utiliser le Gestionnaire des services Internet via un serveur proxy ou un pare-feu. Pour ajouter la fonctionnalité d’administration des services IIS à un ordinateur d’administration uniquement situé dans la partie éloignée d’un pare-feu, vous pouvez utiliser les services IIS utilisant un navigateur ou les services Terminal Server Microsoft.

    Pour plus d’informations sur l’utilisation des services IIS, consultez la documentation relative aux services IIS 5.0. Pour plus d’informations sur l’utilisation des services Terminal Server, consultez « Client des services Terminal Server » dans la documentation de Windows 2000.


Gestion de la base de données d'administration

Envoyer des commentaires sur cette page Commerce Server 2002

Gestion de la base de données d’administration

Votre site Commerce Server 2002 peut comporter plusieurs ordinateurs ; cependant, les données de configuration des ressources de tous les ordinateurs sont centralisées dans une base de données d’administration SQL Server unique, nommée MSCS_Admin. Cette base de données est créée automatiquement lorsque vous installez Commerce Server pour la première fois. Durant l’installation, vous devez spécifier l’ordinateur SQL Server pour la base de données d’administration.

Lorsque vous installez Commerce Server sur d’autres ordinateurs, vous configurez au cours de l’installation les ordinateurs pour qu’ils pointent vers la base de données d’administration. La configuration de tous les ordinateurs de sorte qu’ils pointent vers cette base de données centrale vous permet de gérer tous les ordinateurs Commerce Server à partir d’une console centrale.

Remarque

  • Tous les ordinateurs Commerce Server peuvent utiliser la même base de données d’administration. Chaque ordinateur peut également utiliser sa propre base de données d’administration.

Le tableau suivant montre l’emplacement standard de la base de données d’administration dans différents environnements.

Type d’environnement | Emplacement standard de la base de données d’administration
Serveur unique comprenant Commerce Server, Microsoft SQL Server et tous les composants Web | Sur le serveur unique
Un ou plusieurs serveurs Web et un serveur de base de données | Sur l’ordinateur SQL Server
Environnement à niveaux et serveurs multiples | Sur l’un des ordinateurs SQL Server (pour des performances optimales, à l’écart du Data Warehouse)

Cette section contient les rubriques suivantes :

  • Interaction entre les sites et la base de données d’administration
  • Gestion de la sécurité sur la base de données d’administration
  • Modification de la chaîne de connexion de la base de données d’administration


Interaction entre les sites et la base de données d'administration

Envoyer des commentaires sur cette page Commerce Server 2002

Interaction entre les sites et la base de données d’administration

La base de données d’administration est accessible par trois objets COM : SiteConfig, GlobalConfig et SiteConfigReadOnly. La figure suivante montre comment ces objets Config facilitent la communication entre les sites et la base de données d’administration.

Figure illustrant la façon dont les objets Config mettent à jour la base de données d'administration.

Les objets Config écrivent des données dans la base de données d’administration. Ils récupèrent également des données de la base de données, qui sont ensuite utilisées par les applications. Pour plus d’informations sur la programmation à l’aide des objets Config, consultez le Programmer’s Reference (en anglais).

Voir aussi

Sécurisation de votre site

Gestion de la sécurité sur la base de données d’administration


Gestion de la sécurité sur la base de données d'administration

Envoyer des commentaires sur cette page Commerce Server 2002

Gestion de la sécurité sur la base de données d’administration

La chaîne de connexion de la base de données d’administration utilise un nom d’utilisateur et un mot de passe de connexion Microsoft SQL Server.

Durant l’installation de Commerce Server, le programme d’installation vous demande d’entrer un nom d’utilisateur et un mot de passe de connexion SQL Server existants, ce qui lui permet de créer une base de données d’administration sur le serveur SQL ou de se connecter à la base de données, si elle existe déjà.

Une fois la base de données d’administration créée, vous pouvez utiliser Microsoft SQL Server Enterprise Manager pour modifier le nom d’utilisateur et le mot de passe de connexion SQL Server de la base de données d’administration. Si vous souhaitez utiliser une connexion SQL Server différente pour vous connecter à la base de données d’administration depuis l’ordinateur Commerce Server, vous devez utiliser le Gestionnaire Commerce Server afin de modifier la chaîne de connexion de la base de données.

Pour des raisons de sécurité, n’utilisez pas la connexion d’accès « sa » (administrateur système) pour accéder à la base de données d’administration. À la place, utilisez SQL Server Enterprise Manager pour créer une nouvelle connexion d’accès et un nouvel utilisateur pour la base de données d’administration.

Pour modifier le nom d’utilisateur et le mot de passe de connexion SQL Server de la base de données d’administration

  1. Cliquez avec le bouton droit sur Gestionnaire Commerce Server, puis cliquez sur Propriétés.
  2. Sous l’onglet Base de données d’administration de la boîte de dialogue Propriétés du Gestionnaire Commerce Server, cliquez sur Modifier.

    La boîte de dialogue Propriétés des liaisons de données s’affiche.

  3. Une fois que vous avez apporté les modifications nécessaires à la boîte de dialogue Propriétés des liaisons de données, cliquez sur OK.

    Remarque

    • Pour plus d’informations sur la manière de renseigner la boîte de dialogue Propriétés des liaisons de données, cliquez sur Aide dans la boîte de dialogue Propriétés des liaisons de données pour ouvrir le fichier d’aide Liaisons de données Microsoft.

Voir aussi

Sécurisation de votre site


Modification de la chaîne de connexion de la base de données d'administration

Envoyer des commentaires sur cette page Commerce Server 2002

Modification de la chaîne de connexion de la base de données d’administration

Remarque

  • Lorsque le Gestionnaire Commerce Server ne peut pas se connecter à la base de données d’administration, le nœud racine de Commerce Server Manager s’affiche dans le volet de structure de Microsoft Management Console (MMC), mais le reste de la hiérarchie Commerce Server n’apparaît pas.

Vous définissez initialement la chaîne de connexion au cours du processus d’installation de Commerce Server pour connecter la base de données d’administration à SQL Server. La chaîne de connexion de la base de données d’administration prend en charge l’authentification Microsoft SQL et l’authentification Windows.

Vous devez modifier la chaîne de connexion de la base de données d’administration dans les situations suivantes :

  • Lorsque vous modifiez l’emplacement de la base de données d’administration.
  • Lorsque vous renommez la base de données.
  • Lorsque Commerce Server est déployé sur plusieurs serveurs utilisant l’authentification Windows et que AuthFilter est configuré pour l’authentification personnalisée.

    Lorsque vous utilisez AuthFilter dans le cadre de ce scénario, vous devez modifier la chaîne de connexion à la base de données d’administration, car le filtre ISAPI (et donc AuthFilter) s’exécute dans le contexte de sécurité du processus IIS (inetinfo), dénommé LocalSystem. Par conséquent, AuthFilter tente de se connecter à SQL Server sur un autre ordinateur, en utilisant les informations d’identification de LocalSystem ; cette démarche n’est pas valide, car AuthFilter ne dispose pas des droits requis pour établir des connexions sur un réseau. (Si la base de données d’administration est locale, la connexion peut fonctionner, mais vous ne devez jamais placer la base de données d’administration sur le serveur Web.)

    Pour plus d’informations, consultez Utilisation de l’authentification Windows dans un déploiement distribué.

Pour modifier la chaîne de connexion de la base de données d’administration

  1. Cliquez avec le bouton droit sur Gestionnaire Commerce Server, puis cliquez sur Propriétés.
  2. Sous l’onglet Base de données d’administration de la boîte de dialogue Propriétés du Gestionnaire Commerce Server, cliquez sur Modifier.

    La boîte de dialogue Propriétés des liaisons de données s’affiche.

  3. Dans la boîte de dialogue Propriétés des liaisons de données, modifiez le nom de l’ordinateur SQL Server, le cas échéant.
  4. Sélectionnez le mode d’authentification :
    • Pour utiliser la sécurité intégrée Windows NT, cliquez sur Utiliser la sécurité intégrée de Windows NT.
    • Pour utiliser l’authentification SQL, sélectionnez Utiliser un nom d’utilisateur et un mot de passe spécifiques, puis renseignez les zones Nom d’utilisateur et Mot de passe.

    Ne sélectionnez pas Mot de passe vide. Cette option risque de créer une faille dans la sécurité de votre environnement.

  5. Cliquez sur OK.

Remarques

  • Il est possible d’ajouter des chaînes de connexion qui ne sont pas associées à une base de données et qui ne fonctionnent donc pas. Si cela se produit, les Liaisons de données Microsoft n’affichent pas de message d’erreur.
  • Après avoir modifié une propriété dans le Gestionnaire Commerce Server, vous devez redémarrer tous les services qui utilisent ces valeurs. Pour obtenir des instructions, consultez Redémarrage des services IIS et Commerce Server.

Voir aussi

Sécurisation de la base de données d’administration

Gestion de la base de données d’administration


Gestion des ressources Commerce Server

Il existe deux types de ressources : les ressources globales et les ressources de site. Les développeurs de sociétés tierces peuvent créer des ressources globales et des ressources de site personnalisées à utiliser avec Commerce Server. Utilisez les procédures indiquées dans cette section pour installer, ajouter et configurer les ressources Commerce Server.

Cette section contient les rubriques suivantes :

  • Installation et désinstallation des ressources globales. Explique comment installer et désinstaller une ressource globale.
  • Ajout d’un pointeur de ressource globale à un site. Explique comment ajouter un pointeur de ressource globale à un site.
  • Ajout d’une ressource à un site. Explique comment ajouter une ressource à un site.
  • Partage de ressources entre plusieurs sites. Répertorie les ressources pouvant être partagées par plusieurs sites.
  • Configuration d’une ressource globale. Explique comment configurer une ressource globale.
  • Configuration d’une ressource de site. Explique comment configurer une ressource de site.
  • Modification d’un compte de service ou d’un mot de passe. Explique comment modifier un compte ou un mot de passe pour les services Service de publipostage, Enregistrement des événements et Gestionnaire de listes.
  • Suppression d’une ressource d’un site. Explique comment supprimer une ressource d’un site.
  • Suppression de la ressource Data Warehouse. Explique comment supprimer un site et une ressource décompressés à l’aide de la Configuration du Data Warehouse.


Installation et désinstallation des ressources globales

Le programme d’installation de Microsoft Commerce Server 2002 permet d’installer et de désinstaller le service de publipostage qui est une ressource globale de Commerce Server. D’autres ressources globales sont créées durant le processus de décompression.

Une fois le service de publipostage installé, vous devez décompresser la ressource pour permettre son utilisation par un site. Lorsque vous décompressez une application, vous définissez la valeur Service de publipostage pour les pointeurs de ressource globale du site. Pour obtenir des instructions sur l’ajout de pointeurs de ressource globale à un site et leur suppression, consultez Ajout d’un pointeur de ressource globale à un site et Suppression d’une ressource d’un site.

Pour plus d’informations sur l’installation et le déploiement du service de publipostage, consultez Déploiement de votre site.

Pour installer le service de publipostage

  1. Insérez le CD-ROM de Commerce Server 2002 dans le lecteur correspondant, puis exécutez le programme d’installation de Commerce Server 2002. Acceptez les termes du contrat de licence, tapez vos informations client, puis sélectionnez le dossier de destination.
  2. Dans la boîte de dialogue Type d’installation, sélectionnez Personnalisée (ou Modifier si vous avez déjà installé Commerce Server sur cet ordinateur), puis cliquez sur Suivant.
  3. Dans la boîte de dialogue Installation personnalisée, sous le dossier Objets d’exécution, sélectionnez l’option Service de publipostage, sélectionnez Non disponible pour les autres options, puis cliquez sur Suivant.
  4. Dans la boîte de dialogue Configuration de la base de données du service de publipostage, dans la zone Ordinateur SQL Server, tapez le nom de cet ordinateur. Tapez le nom d’utilisateur et le mot de passe de connexion SQL Server à utiliser lors de la création de la base de données du service de publipostage, puis cliquez sur Suivant.
  5. Dans la boîte de dialogue Comptes de services, tapez le nom d’utilisateur Windows et le mot de passe du compte sous lequel les services Commerce Server s’exécuteront, puis cliquez sur Suivant.

    Remarque

    • Si vous prenez un compte de service, choisissez un compte permanent. Si ce compte est désactivé à une date ultérieure ou si le mot de passe est modifié, Commerce Server cessera de fonctionner. Pour obtenir des instructions sur la modification d’un compte de service ou d’un mot de passe, consultez Modification d’un compte de service ou d’un mot de passe.
  6. Dans la boîte de dialogue Prêt pour l’installation, cliquez sur Installer.

    Le programme d’installation de Commerce Server installe le service de publipostage sur l’ordinateur.

  7. Cliquez sur Terminer pour quitter le programme d’installation.

Pour désinstaller le service de publipostage

  1. Insérez le CD-ROM de Commerce Server 2002 dans le lecteur correspondant, puis exécutez le programme d’installation de Commerce Server 2002. Acceptez les termes du contrat de licence, tapez vos informations client, puis acceptez le dossier de destination par défaut.
  2. Dans la boîte de dialogue Type d’installation, sélectionnez Modifier, puis cliquez sur Suivant.
  3. Dans la boîte de dialogue Installation personnalisée, vérifiez que la fonctionnalité Service de publipostage, n’est pas sélectionnée (la case à cocher doit contenir un X indiquant que la fonctionnalité n’est pas sélectionnée), puis cliquez sur Suivant.
  4. Dans la boîte de dialogue Prêt pour l’installation, cliquez sur Installer.

    Le programme d’installation de Commerce Server supprime le service de publipostage de l’ordinateur.

  5. Cliquez sur Terminer pour quitter le programme d’installation.

Voir aussi

Déploiement de votre site

Ajout d’un pointeur de ressource globale à un site

Suppression d’une ressource d’un site


Ajout d'un pointeur de ressource globale à un site

Envoyer des commentaires sur cette page Commerce Server 2002

Ajout d’un pointeur de ressource globale à un site

Après avoir utilisé le programme d’installation de Commerce Server 2002 pour installer une ressource globale, vous pouvez ajouter un pointeur vers la ressource à n’importe quel site de votre base de données d’administration Commerce Server. Pour ajouter un pointeur de ressource globale à un site, vous devez décompresser le pointeur de ressource globale à partir d’un fichier du Gestionnaire de package de site Commerce Server.

Par exemple, une fois que vous avez installé le service de publipostage, vous décompressez un site comprenant la ressource Service de publipostage. Lorsque vous décompressez le site, vous définissez la valeur Service de publipostage pour les pointeurs de ressource globale du site.

Remarques

  • Avant d’exécuter cette procédure, vous devez créer un fichier de package ou utiliser un des packages de site solution qui contient le pointeur de ressource globale à ajouter au site. Pour obtenir des instructions sur la création d’un package, consultez Utilisation du Gestionnaire de package de site.
  • Si vous décompressez la ressource Service de publipostage après avoir décompressé une application Commerce Server Business Desk et installé un client Business Desk, vous devez redémarrer les services IIS (Internet Information Services) 5.0 sur le serveur Web hébergeant l’application Business Desk pour que l’ajout du service de publipostage soit détecté. Les clients Business Desk doivent se reconnecter à l’application. Pour obtenir des instructions sur le redémarrage des services IIS, consultez Redémarrage des services IIS et Commerce Server.

Pour ajouter un pointeur de ressource globale à un site

  1. Dans le Gestionnaire Commerce Server, développez Gestionnaire Commerce Server, Sites de commerce, puis développez le site que vous voulez administrer.
  2. Cliquez avec le bouton droit sur Ressources de site, pointez sur Nouvelle, puis cliquez sur Ajouter une ressource.
  3. Dans la boîte de dialogue Ouvrir, sélectionnez le package qui contient le pointeur de ressource globale à ajouter au site, puis cliquez sur Ouvrir.

    Le Gestionnaire de package de site Commerce Server démarre.

  4. Dans la boîte de dialogue Sélectionner des ressources, sélectionnez la ressource globale de votre choix dans la zone Ressources disponibles, puis cliquez sur Ajouter. La ressource s’affiche dans la zone Ressources à décompresser.
  5. Cliquez sur Suivant.
  6. Dans la boîte de dialogue Pointeurs de ressource globale, vérifiez que la ressource pointe vers la ressource globale adéquate. Vous pouvez créer certaines ressources globales à partir de cet écran. Pour ce faire, sélectionnez Créer une nouvelle ressource globale lors du mappage du pointeur de ressource globale.
  7. Dans la boîte de dialogue Chaînes de connexion de base de données, le Gestionnaire de package de site répertorie les bases de données qu’il crée ainsi que les serveurs sur lesquels elles sont créées. Si vous avez besoin de créer une nouvelle base de données pour une ressource globale, cliquez sur Nouvelle base de données.
  8. Dans la zone Ordinateur SQL Server, tapez le nom de l’ordinateur qui contiendra la base de données. Dans la zone Nom de la base de données, tapez le nom que vous voulez attribuer à votre base de données. Dans les zones restantes, tapez un nom d’utilisateur et un mot de passe de connexion SQL Server, puis cliquez sur Créer la base de données.
  9. De retour dans la boîte de dialogue Chaînes de connexion de base de données, sélectionnez une chaîne de connexion, puis cliquez sur Modifier.
  10. Apportez les modifications nécessaires dans la boîte de dialogue Propriétés des liaisons de données, puis cliquez sur OK.

    Remarque

    • Pour plus d’informations sur la manière de renseigner la boîte de dialogue Propriétés des liaisons de données, cliquez sur Aide dans la boîte de dialogue Propriétés des liaisons de données pour ouvrir le fichier d’aide Liaisons de données Microsoft.
  11. Cliquez sur Suivant.
  12. Dans la boîte de dialogue Décompression terminée, consultez le fichier journal du processus de décompression, puis cliquez sur Terminer.

Le pointeur de ressource globale s’affiche sous le site dans le Gestionnaire Commerce Server.

Voir aussi

Utilisation du Gestionnaire de package de site

Installation dans une configuration ordonnée en clusters et comprenant quatre ordinateurs

Installation dans une configuration non ordonnée en clusters et comprenant trois ordinateurs

Suppression d’une ressource d’un site

Installation de Commerce Server


Ajout d'une ressource à un site

Envoyer des commentaires sur cette page Commerce Server 2002

Ajout d’une ressource à un site

Pour ajouter une ressource à un site, vous devez décompresser la ressource à partir d’un fichier de package.

Remarques

  • Avant d’exécuter cette procédure, vous devez créer un fichier de package ou utiliser un package de site solution qui contient la ressource à ajouter au site. Pour obtenir des instructions sur la compression d’une ressource et la création d’un fichier de package, consultez Utilisation du Gestionnaire de package de site.
  • Si vous décompressez la ressource Service de publipostage après avoir décompressé une application Commerce Server Business Desk et installé un client Business Desk, vous devez redémarrer les services IIS (Internet Information Services) 5.0 sur le serveur Web hébergeant l’application Business Desk pour que le service de publipostage soit détecté. Les clients Business Desk doivent se reconnecter à l’application. Pour obtenir des instructions sur le redémarrage des services IIS, consultez Redémarrage des services IIS et Commerce Server.

Pour ajouter une ressource de site

  1. Développez Gestionnaire Commerce Server, Sites de commerce, puis développez le site que vous voulez administrer.
  2. Cliquez sur Ressources de site, cliquez avec le bouton droit sur Ressources de site, pointez sur Nouveau, puis cliquez sur Ajouter une ressource.
  3. Dans la boîte de dialogue Ouvrir qui affiche la liste des packages de site existants, sélectionnez le package qui contient la ressource que vous souhaitez ajouter au site, puis cliquez sur Ouvrir.

    Le Gestionnaire de package de site Commerce Server démarre.

  4. Dans la boîte de dialogue Sélectionner des ressources, sélectionnez la ressource de votre choix dans la zone Ressources disponibles, puis cliquez sur Ajouter. La ressource s’affiche dans la zone Ressources à décompresser.
  5. Cliquez sur Suivant.
  6. Dans la boîte de dialogue Pointeurs de ressource globale, vérifiez que la ressource pointe vers le serveur contenant la ressource globale adéquate. Vous pouvez créer certaines ressources globales à partir de cet écran. Pour ce faire, sélectionnez Créer une nouvelle ressource globale lors du mappage du pointeur de ressource globale.

    Le Gestionnaire de package de site répertorie les propriétés de chaîne de connexion des nouvelles ressources globales que vous ajoutez. Il ne répertorie pas les propriétés de chaîne de connexion si la ressource que vous ajoutez ne constitue pas un pointeur de ressource globale.

  7. Dans la boîte de dialogue Chaînes de connexion de base de données, le Gestionnaire de package de site répertorie les bases de données qu’il crée ainsi que les serveurs sur lesquels elles sont créées. Si vous avez besoin de créer une nouvelle base de données pour une ressource globale, cliquez sur Nouvelle base de données.
  8. Dans la zone Ordinateur SQL Server, tapez le nom de l’ordinateur qui contiendra la base de données. Dans la zone Nom de la base de données, tapez le nom que vous voulez attribuer à votre base de données. Dans les zones restantes, tapez le nom d’utilisateur et le mot de passe de connexion SQL Server, puis cliquez sur Créer la base de données.
  9. De retour dans la boîte de dialogue Chaînes de connexion de base de données, sélectionnez une chaîne de connexion, puis cliquez sur Modifier.
  10. Apportez les modifications nécessaires dans la boîte de dialogue Propriétés des liaisons de données, puis cliquez sur OK.

    Remarque

    • Pour plus d’informations sur la manière de renseigner la boîte de dialogue Propriétés des liaisons de données, cliquez sur Aide dans la boîte de dialogue Propriétés des liaisons de données pour ouvrir le fichier d’aide Liaisons de données Microsoft.
  11. Cliquez sur Suivant.
  12. Dans la boîte de dialogue Décompression terminée, consultez le fichier journal du processus de décompression, puis cliquez sur Terminer.

La ressource s’affiche sous le site dans le Gestionnaire Commerce Server.

Voir aussi

Partage de ressources entre plusieurs sites

Plusieurs sites et un Data Warehouse

Utilisation du Gestionnaire de package de site

Installation dans une configuration ordonnée en clusters et comprenant quatre ordinateurs

Installation dans une configuration non ordonnée en clusters et comprenant trois ordinateurs

Configuration d’une ressource de site

Suppression d’une ressource d’un site


Partage de ressources entre plusieurs sites

Le tableau suivant répertorie les ressources qui peuvent être partagées entre plusieurs sites et celles qui ne le peuvent pas.

Ressource | Peut être partagée
Configuration par défaut de l’application | Non
Autorisations Business Desk | Non
Campagnes marketing | Non
Catalogue | Non
CS Authentication | Oui
Data Warehouse | Oui
Publipostage | Oui
Predictor | Oui
Profils | Oui
Transactions | Non
Configuration de la transaction | Non

Voir aussi

Plusieurs sites et un Data Warehouse


Configuration d'une ressource globale

Envoyer des commentaires sur cette page Commerce Server 2002

Configuration d’une ressource globale

Après avoir installé une ressource globale, vous pouvez modifier à tout moment les propriétés et les chaînes de connexion de base de données utilisées par la ressource globale.

Remarque

  • Lorsque vous modifiez les propriétés ou la chaîne de connexion de base de données d’une ressource globale à l’aide du Gestionnaire Commerce Server, les modifications ne sont pas forcément répercutées immédiatement dans Commerce Server Business Desk ou dans les pages Web des applications qui utilisent la ressource globale. Pour actualiser l’affichage, redémarrez tous les services utilisant les valeurs modifiées. Pour obtenir des instructions, consultez Redémarrage des services IIS et Commerce Server.

Pour configurer une ressource globale

  1. Développez Gestionnaire Commerce Server, puis développez Ressources globales.
  2. Cliquez avec le bouton droit sur la ressource globale à configurer, puis cliquez sur Propriétés.
  3. Dans la boîte de dialogue Propriétés <ressource globale>, l’onglet Propriétés vous permet de configurer les propriétés de la ressource globale. Pour chaque propriété à configurer, sélectionnez la propriété, puis tapez sa valeur dans la zone Valeur de propriété sélectionnée.
  4. Sous l’onglet Chaînes de connexion, configurez les chaînes de connexion de la ressource globale, puis cliquez sur Modifier.

    La boîte de dialogue Propriétés des liaisons de données s’affiche.

    Remarque

    • Pour plus d’informations sur la manière de renseigner la boîte de dialogue Propriétés des liaisons de données, cliquez sur Aide dans la boîte de dialogue Propriétés des liaisons de données pour ouvrir le fichier d’aide Liaisons de données Microsoft.
  5. Une fois que vous avez apporté les modifications nécessaires à la boîte de dialogue Propriétés des liaisons de données, cliquez sur OK.

La ressource globale sélectionnée est à présent configurée.

Remarque

  • Après avoir modifié une propriété dans le Gestionnaire Commerce Server, vous devez redémarrer tous les services qui utilisent ces valeurs. Pour obtenir des instructions, consultez Redémarrage des services IIS et Commerce Server.

Voir aussi

Ressources

Configuration d’une ressource de site

Redémarrage des services IIS et Commerce Server


Configuration d'une ressource de site

Envoyer des commentaires sur cette page Commerce Server 2002

Configuration d’une ressource de site

Après avoir ajouté une ressource de site à un site, vous pouvez modifier à tout moment les propriétés utilisées par la ressource de site. Toutes les ressources de site utilisées par un site exposent un objet au niveau du site.

Remarque

  • Les ressources globales utilisées par un site exposent un objet au niveau du site (un pointeur de ressource globale) ; cependant, la seule propriété exposée par l’objet est un pointeur vers la ressource globale associée. Pour plus d’informations sur la configuration des ressources globales, consultez Configuration d’une ressource globale.

Pour configurer une ressource de site

  1. Développez Gestionnaire Commerce Server, Sites de commerce, puis développez le site que vous voulez administrer.
  2. Développez Ressources de site, cliquez avec le bouton droit sur la ressource de site à configurer, puis cliquez sur Propriétés.
  3. Dans la boîte de dialogue Propriétés, sélectionnez la propriété à configurer, puis tapez sa valeur dans la zone Valeur de propriété sélectionnée.
  4. Lorsque vous avez terminé de configurer les propriétés de la ressource de site, cliquez sur OK.

Remarque

  • Après avoir modifié une propriété dans le Gestionnaire Commerce Server, vous devez redémarrer tous les services qui utilisent ces valeurs. Pour obtenir des instructions, consultez Redémarrage des services IIS et Commerce Server.

Voir aussi

Ressources

Configuration d’une ressource globale


Modification d'un compte de service ou d'un mot de passe

Envoyer des commentaires sur cette page Commerce Server 2002

Modification d’un compte de service ou d’un mot de passe

Un site Commerce Server nécessite la gestion de plusieurs mots de passe, notamment des mots de passe de connexion SQL Server, des mots de passe de comptes de service Windows et des mots de passe d’applications COM+. Vous pouvez modifier plusieurs mots de passe au même emplacement à l’aide du Gestionnaire Commerce Server. Vous pouvez modifier les informations d’identification de connexion SQL Server pour toutes les ressources d’un site sélectionné.

Lorsque vous utilisez le Gestionnaire Commerce Server pour modifier les mots de passe, une approche de type tout ou rien est supposée permettre à l’utilisateur de changer tous les mots de passe des services et des applications COM+ sur un seul serveur à la fois et toutes les informations d’identification SQL Server utilisées par les ressources dans un seul site à la fois.

Le Gestionnaire Commerce Server se connecte au serveur et arrête chaque service Commerce Server, modifie le compte et le mot de passe, puis redémarre le service. Pour finir, l’identité de l’application COM+ est modifiée pour qu’elle utilise le compte et le mot de passe Windows spécifiés.

Cette section contient les rubriques suivantes :

  • Informations d’authentification de connexion pour les ressources Commerce Server
  • Modification des informations d’authentification de connexion pour un ordinateur distant


Informations d'authentification de connexion pour les ressources Commerce Server

Envoyer des commentaires sur cette page Commerce Server 2002

Informations d’authentification de connexion pour les ressources Commerce Server

Commerce Server utilise deux classes d’informations de compte :

  • Les comptes et les mots de passe Windows pour les services Commerce Server et les applications COM+ utilisés par Commerce Server.
  • Les connexions SQL Server utilisées dans les propriétés de chaîne de connexion des ressources.

Le tableau suivant répertorie les ressources qui utilisent les informations de compte Windows et celles qui exploitent les informations d’identification SQL Server.

Services utilisant le mot de passe et le compte Windows | Ressources de niveau site dotées d’informations d’identification SQL Server | Ressources globales dotées d’informations d’identification SQL Server
Gestionnaire de listes (service) | Transactions | Service de publipostage
Service de publipostage (service) | Configuration de la transaction | Data Warehouse
Enregistrement des événements (identité d’application COM+) | Catalogue de produits | Profils
 | Campagnes marketing |


Modification des informations d'authentification de connexion pour un ordinateur distant

Envoyer des commentaires sur cette page Commerce Server 2002

Modification des informations d’authentification de connexion pour un ordinateur distant

Lorsque vous modifiez les informations d’authentification de connexion d’un ordinateur distant, vérifiez que le nouveau compte dispose de l’autorisation Ouvrir une session en tant que service sur l’ordinateur distant. Commerce Server n’accorde pas automatiquement cette autorisation sur l’ordinateur distant, même si le compte dispose de ce droit sur l’ordinateur local.

Pour modifier un compte de service ou un mot de passe

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Outils d’administration, puis cliquez sur Gestionnaire Commerce Server.
  2. Dans le Gestionnaire Commerce Server, cliquez sur la liste des tâches Modification des mots de passe.
  3. Dans la boîte de dialogue Modification des mots de passe, ouvrez l’onglet Services et applications COM+ et effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom du serveur | Taper le nom de l’ordinateur pour lequel vous voulez modifier le mot de passe. La valeur par défaut est le nom de l’ordinateur local.
    compte Windows | Taper le nouveau compte Windows devant être utilisé par les services.
    Mot de passe | Taper le nouveau mot de passe devant être utilisé par les services.
  4. Cliquez sur Modifier pour activer le nouveau compte ou mot de passe Windows.
  5. Dans la boîte de dialogue Vérifier le mot de passe, tapez encore une fois le nouveau mot de passe, puis cliquez sur OK.

Le processus de modification des mots de passe est synchrone. Un message d’état est affiché pour indiquer l’action en cours d’exécution (arrêt du service, modification des informations d’identification, démarrage du service).

Pour modifier le nom d’utilisateur et le mot de passe de connexion SQL Server utilisés par les ressources du site

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Outils d’administration, puis cliquez sur Gestionnaire Commerce Server.
  2. Dans le Gestionnaire Commerce Server, cliquez sur la liste des tâches Modification des mots de passe.
  3. Dans la boîte de dialogue Modification des mots de passe, sélectionnez la section Connexions SQL Server et effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Site | Sélectionner le site pour lequel vous voulez modifier le mot de passe SQL Server.
    Nom d’utilisateur SQL | Taper le nom d’utilisateur SQL Server.
    Mot de passe | Taper le nouveau mot de passe.
    Modifier les chaînes de connexion dans les ressources globales utilisées par ce site Modifier les chaînes de connexion utilisées par les ressources globales qui comprennent des informations d’identification SQL Server.

    Remarque

    • Si d’autres sites utilisent ces ressources globales, ils seront affectés par cette modification.
  4. Cliquez sur Modifier pour activer le nouveau compte ou mot de passe Windows.
  5. Dans la boîte de dialogue Vérifier le mot de passe, tapez encore une fois le nouveau mot de passe, puis cliquez sur OK.

    Commerce Server répertorie les ressources qui seront affectées, notamment les ressources globales si elles sont spécifiées et il modifie les propriétés de chaîne de connexion.

  6. Si une ressource utilise l’authentification Windows, un message s’affiche pour vous demander si vous voulez adopter l’authentification SQL Server. Pour continuer, cliquez sur OK.


Suppression d'une ressource d'un site

Envoyer des commentaires sur cette page Commerce Server 2002

Suppression d’une ressource d’un site

Si une ressource n’est utilisée par aucune application, vous pouvez la supprimer de votre site.

Le tableau suivant répertorie le résultat de la suppression d’une ressource d’un site.

Ressource | Effet de l’opération de suppression
Configuration par défaut de l’application | Supprime la ressource de la base de données d’administration.
Profils | Supprime la ressource de la base de données d’administration. Les données de la base de données des profils ne sont pas supprimées.
Campagnes marketing | Exécute Schema_drop.sql, qui supprime les procédures stockées, les déclencheurs et les tables de suppression. La ressource de la base de données d’administration est également supprimée.
CS Authentication | Supprime la référence du site à une ressource globale CS Authentication de la base de données d’administration.
Data Warehouse | Supprime la référence du site à une ressource globale du Data Warehouse de la base de données d’administration.
Service de publipostage Commerce Server | Supprime la référence du site à une ressource globale Service de publipostage de la base de données d’administration.
Catalogue de produits | Supprime la ressource de la base de données d’administration.
Transactions | Supprime la ressource de la base de données d’administration.
Configuration de la transaction | Supprime la ressource de la base de données d’administration.

Pour supprimer une ressource d’un site

  1. Développez Gestionnaire Commerce Server, Sites de commerce, puis développez le site que vous voulez administrer.
  2. Cliquez avec le bouton droit sur la ressource à supprimer, puis cliquez sur Supprimer.

Les données de la ressource sont supprimées de la base de données d’administration. Dans le Gestionnaire Commerce Server, l’objet ressource ne s’affiche plus sous le site. Si vous avez supprimé un pointeur de ressource globale, la ressource globale vers laquelle il pointait est toujours disponible pour les autres sites qui l’utilisent.

Voir aussi

Ressources

Ajout d’une ressource à un site


Suppression de la ressource Data Warehouse

La Configuration du Data Warehouse (DWC, Data Warehouse Configurator) décompresse deux ressources qui nécessitent des bases de données. Ces ressources sont le Data Warehouse et les Autorisations Business Desk.

La Configuration du Data Warehouse installe les deux ressources avec la même base de données. Par défaut, cette base de données est nommée <nom_site>_dw. Autrement dit, le Data Warehouse et les Autorisations Business Desk enregistrent leurs données et leurs procédures stockées dans <nom_site>_dw.

Si vous supprimez la ressource Data Warehouse et décidez de supprimer la base de données <nom_site>_dw, vous devez également supprimer la ressource Autorisations Business Desk dans la mesure où la base de données contient des procédures stockées pour la ressource Autorisations Business Desk.

Après avoir supprimé <nom_site>_dw, vous devez créer une nouvelle base de données et l’associer aux Autorisations Business Desk. Pour créer une nouvelle base de données Autorisations Business Desk, vous pouvez successivement supprimer et ajouter la ressource Autorisations Business Desk à l’aide du Gestionnaire Commerce Server.

Remarque

  • Lorsque vous supprimez la base de données <nom_site>_dw, vous perdez des données. Effectuez une sauvegarde de votre base de données avant de la supprimer.

Voir aussi

Configuration du Data Warehouse


Configuration de la ressource Configuration par défaut de l'application

Envoyer des commentaires sur cette page Commerce Server 2002

Configuration de la ressource Configuration par défaut de l’application

La ressource Configuration par défaut de l’application dispose de propriétés qui affectent les fonctionnalités de votre site et de Commerce Server Business Desk. Par exemple, les propriétés de la ressource Configuration par défaut de l’application vous permettent de spécifier les devises prises en charge et les options de paiement lorsque vous configurez Commerce Server pour l’intégration à Microsoft BizTalk Server 2000.

Pour plus d’informations sur la configuration de App Default Config pour utiliser BizTalk Server, consultez Configuring Commerce Server to Work with BizTalk Server (en anglais). Pour plus d’informations sur la localisation d’un site, consultez Developing an International Site (en anglais).

Pour configurer la ressource Configuration par défaut de l’application

  1. Développez Gestionnaire Commerce Server, Sites de commerce, puis développez le site que vous voulez administrer.
  2. Cliquez avec le bouton droit sur Configuration par défaut de l’application, puis cliquez sur Propriétés.
  3. Sous l’onglet Propriétés, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Options de redirection d’élément ajouté | Spécifier la fonctionnalité du site qui intervient une fois qu’un utilisateur a ajouté un article à son panier. Taper 1 pour continuer l’affichage de la page du produit en cours ; taper 0 pour rediriger vers la page du panier.
    Options du carnet d’adresses Spécifier si le site prend en charge la fonctionnalité de carnet d’adresses.

    Taper 0 pour désactiver le carnet d’adresses.

    Taper 1 pour mettre le carnet d’adresses en lecture seule. Si un carnet d’adresses est prédéfini, vous pouvez choisir cette option.

    Taper 2 pour mettre le carnet d’adresses en lecture-écriture, de telle sorte que les utilisateurs puissent ajouter et modifier des adresses.
    Délai d’expiration du ticket d’authentification AuthManager | Taper le nombre de minutes au terme desquelles le ticket expire. Cette propriété est utilisée uniquement si vous développez un site qui a pour base un site solution Commerce Server.
    Type de catalogue de BizTalk | Taper le nom de la définition de document exigé par BizTalk Server pour les catalogues (par exemple, TransfertCatalogue).
    Options de BizTalk | Taper 1 pour activer l’intégration à BizTalk Server pour l’échange de documents ; taper 0 pour désactiver l’intégration.
    Type de bon de commande de BizTalk | Taper le nom de la définition de document exigé par BizTalk Server pour les bons de commande (par exemple, BonCommande).
    Qualificateur d’organisation source de BizTalk | Taper le qualificateur d’alias de ce site dans BizTalk Server (par exemple, MonEntreprise).
    Valeur du qualificateur d’organisation source de BizTalk | Taper la valeur d’alias de ce site dans BizTalk Server (par exemple, Expéditeur).
    Type de validation de BizTalk | Taper 1 pour soumettre les documents à BizTalk Server de manière asynchrone.
    Options de correction du chemin de cookie | Taper 1 pour activer la correction basée sur l’application ; taper 2 pour activer la correction basée sur le filtre.
    Devise : code de devise secondaire | Taper le code ISO 4217 pour la devise secondaire.
    Devise : taux de conversion de devise secondaire | Taper le taux de conversion utilisé entre la devise de base et la devise secondaire.
    Devise : paramètres régionaux de devise secondaire | Taper les paramètres régionaux pour la devise secondaire (1031 = Allemand, 1033 = Anglais, 1034 = Espagnol, 1036 = Français, 1041 = Japonais).
    Devise : options de devise secondaire | Taper 1 pour afficher les deux devises en même temps ; taper 0 pour désactiver cette fonctionnalité.
    Devise : symbole de devise secondaire | Si vous utilisez une devise secondaire, taper le symbole correspondant.
    Devise : code de devise de base | Taper le code ISO 4217 pour la devise de base.
    Devise : paramètres régionaux de devise de base | Taper les paramètres régionaux pour la devise de base (1031 = Allemand, 1033 = Anglais, 1034 = Espagnol, 1036 = Français, 1041 = Japonais).
    Devise : symbole de devise de base | Taper le symbole de la devise de base.
    Options sur l’ordre d’affichage des devises | Taper 0 pour afficher d’abord la devise de base lorsqu’une devise secondaire est utilisée ; taper 1 pour afficher d’abord la devise secondaire.
    Options d’administration déléguée Taper 1 pour activer les Services Partenaires de Business Desk ; taper 0 pour les désactiver.

    Pour créer un administrateur délégué, dans le module Utilisateurs de Commerce Server Business Desk, vous devez créer un utilisateur pour lequel le paramètre Indicateurs de rôles du Service Partenaire a la valeur « Administrateur », puis associer l’utilisateur à une organisation spécifique.

    Les administrateurs délégués disposent d’un lien aux Services partenaires sur leur site. Les Services partenaires leur permettent d’effectuer certaines tâches pour leur organisation, telles que la gestion des utilisateurs et la consultation de commandes.
    Options de connexion par formulaire Taper l’une des valeurs suivantes pour spécifier le moment où les utilisateurs doivent se connecter sur votre site :

    0 = Désactiver la connexion. Les utilisateurs ne peuvent accéder au site qu’en tant qu’invité.

    1 = Requis lorsqu’un utilisateur accède au site.

    2 = Facultatif lorsqu’un utilisateur accède au site.

    5 = Requis au moment de l’achat.

    6 = Facultatif en toutes circonstances.

    7 = Requière l’authentification IIS.

    Cette propriété est utilisée uniquement si vous développez un site qui a pour base un site solution Commerce Server.
    Options de correction de nom d’hôte | Taper 1 pour activer la correction de nom d’hôte ; taper 0 pour désactiver cette fonctionnalité.
    Jeu de caractères pour le codage de page | Spécifier le jeu de caractères de codage du document pour le site, par exemple Windows - 1252.
    Options de paiement | Taper 1 si les utilisateurs paient leurs commandes à l’aide d’une carte de crédit ; taper 4 si le compte des utilisateurs doit être facturé ; taper 5 pour prendre en charge les deux options.
    Paramètres régionaux par défaut du site | Taper les paramètres régionaux de ce site (1031 = Allemand, 1033 = Anglais, 1034 = Espagnol, 1036 = Français, 1041 = Japonais).
    Options de confidentialité du site Taper 1 pour créer le profil des utilisateurs anonymes ; taper 2 pour créer le profil et suivre les visites des utilisateurs anonymes.

    Cette propriété est utilisée uniquement si vous développez un site qui a pour base un site solution Commerce Server.
    Options d’inscription au site Taper 1 pour activer l’enregistrement automatique ; taper 2 pour désactiver cette fonctionnalité.

    Cette propriété est utilisée uniquement si vous développez un site qui a pour base un site solution Commerce Server.
    Options du ticket de site Taper 1 pour placer le ticket utilisateur dans l’adresse URL ; taper 2 pour placer le ticket utilisateur dans le cookie.

    Cette propriété est utilisée uniquement si vous développez un site qui a pour base un site solution Commerce Server.
    Nom du serveur SMTP | Taper le nom d’ordinateur du serveur SMTP (Simple Mail Transfer Protocol).
    Unité de mesure pour le poids | Taper l’unité de mesure pour le calcul des frais de livraison des produits.
  4. Cliquez sur OK.

Remarques

  • Après avoir modifié une propriété dans le Gestionnaire Commerce Server, vous devez redémarrer tous les services qui utilisent ces valeurs. Pour obtenir des instructions, consultez Redémarrage des services IIS et Commerce Server.
  • Pour plus d’informations sur la façon dont les sites solutions utilisent les propriétés d’authentification de la ressource Configuration par défaut de l’application, consultez le Kit de Ressources Techniques Commerce Server 2000.

Voir aussi

Ressources

Integrating with BizTalk Server (en anglais)

Configuring Commerce Server to Work with BizTalk Server (en anglais)


Gestion des sites Commerce Server

Le conteneur Commerce Server qui s’affiche dans le Gestionnaire Commerce Server est créé au cours de l’installation de Commerce Server. Lorsque vous décompressez un site, des instances de site sont créées pour chaque site à partir d’un package et s’affichent sous forme de sous-dossiers dans le conteneur. Vous ajoutez des sites et des ressources de site à l’aide du Gestionnaire Commerce Server et du Gestionnaire de package de site Commerce Server.

Cette section contient les rubriques suivantes :

  • Ajout d’un site. Explique comment ajouter un site à Commerce Server.
  • Suppression d’un site. Explique comment supprimer un site de Commerce Server.


Ajout d'un site

Envoyer des commentaires sur cette page Commerce Server 2002

Ajout d’un site

Vous ajoutez un site à Commerce Server lorsque vous décompressez un site à l’aide du Gestionnaire de package de site Commerce Server. Pour obtenir les instructions à suivre, consultez Décompression d’un site.

Commerce Server n’impose pas de limite au nombre de sites que vous pouvez décompresser. Cette rubrique traite du nombre d’applications qu’un site peut prendre en charge.

Commerce Server 2002 Standard Edition

L’édition Standard Edition est prévue pour :

  • Deux processeurs.
  • Deux serveurs Web par application. Un seul serveur Web IIS peut prendre en charge jusqu’à 10 applications.
  • Deux applications Commerce Server par site : une application Business Desk et une application non-Business Desk. Par exemple, vous pouvez installer l’application du site solution Retail ou une application non-Commerce Server, puis l’application Business Desk.
  • Dix sites par Data Warehouse.
  • Dix sites par base de données de profils.

Commerce Server 2002 Enterprise Edition

L’édition Enterprise Edition est prévue pour :

  • 32 processeurs
  • Autant de serveurs Web et d’applications Commerce Server que votre équipement peut prendre en charge. Un seul serveur Web IIS peut prendre en charge jusqu’à 10 applications. Ces applications appartiennent à un même site ou sont réparties entre plusieurs sites.
  • Dix sites par Data Warehouse.
  • Dix sites par base de données de profils.

Voir aussi

Partage de ressources entre plusieurs sites

Plusieurs sites et un Data Warehouse


Suppression d'un site

Envoyer des commentaires sur cette page Commerce Server 2002

Suppression d’un site

Lorsque vous supprimez un site, les données de configuration du site sont supprimées de la base de données d’administration. Une fois que vous avez supprimé un site, vous ne pouvez pas annuler sa suppression.

Pour supprimer un site

Pour supprimer les bases de données utilisées par le site

Pour supprimer les bases de données OLAP du site

Pour supprimer les répertoires virtuels du site

Pour supprimer les dossiers et fichiers de site

Pour supprimer les travaux du service de publipostage

Pour supprimer un site

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Microsoft Commerce Server 2002, puis cliquez sur Gestionnaire Commerce Server.
  2. Développez Gestionnaire Commerce Server, puis développez Sites de commerce.
  3. Cliquez avec le bouton droit sur le site à supprimer, puis cliquez sur Supprimer dans la liste déroulante.

Pour supprimer les bases de données utilisées par le site

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Microsoft SQL Server, puis cliquez sur Enterprise Manager.

    Remarque

    • Dans SQL Server Enterprise Manager, assurez-vous que SQL Server est en cours d’exécution (l’icône de la fenêtre d’Enterprise Manager affiche une lumière verte). Dans le cas contraire, cliquez avec le bouton droit sur le nom de l’ordinateur SQL Server, puis cliquez sur Démarrer.
  2. Développez les nœuds jusqu’au chemin suivant : \Serveurs Microsoft SQL Server\Groupe SQL Server\<Nom_Serveur_SQL>\Bases de données.
  3. Cliquez avec le bouton droit sur la base de données que vous souhaitez supprimer, cliquez sur Toutes les tâches, puis sur Détacher la base de données.
  4. Dans la boîte de dialogue Détacher la base de données, cliquez sur Effacer, puis cliquez sur OK. Répétez cette étape pour toutes les bases de données à supprimer.

    En détachant en premier lieu les bases de données, vous pouvez supprimer les chaînes de connexion qui y sont associées.

  5. Utilisez l’Explorateur Windows pour accéder au dossier \Program Files\Microsoft SQL Server\MSSQL\Data et supprimez le fichier de base de données.

    Important

    • Vous devez supprimer le fichier de base de données après avoir détaché la base de données, faute de quoi votre installation Commerce Server ne fonctionnera pas correctement.

Pour supprimer les bases de données OLAP du site

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Microsoft SQL Server, sur Analysis Services, puis cliquez sur Analysis Manager.
  2. Développez les nœuds jusqu’au chemin suivant : \Analysis Servers\Nom du serveur SQL.
  3. Cliquez avec le bouton droit sur la base de données à supprimer, puis cliquez sur Supprimer.
  4. Cliquez sur Oui pour confirmer la suppression du dossier pour chacune des bases de données à supprimer.
  5. Répétez les étapes 3 et 4 pour chaque base de données à supprimer.

Pour supprimer les répertoires virtuels du site

  1. Cliquez sur Démarrer, pointez sur Outils d’administration, puis cliquez sur Gestionnaire des services Internet.
  2. Développez les nœuds jusqu’au chemin suivant : \<nom_ordinateur>\<nom_site_Web_IIS>.
  3. Cliquez avec le bouton droit sur les répertoires virtuels que vous souhaitez supprimer (par exemple, Retail ou Supplier), puis cliquez sur Supprimer.
  4. Cliquez sur Oui pour chaque répertoire virtuel à supprimer.
  5. Répétez les étapes 3 et 4 pour chaque répertoire virtuel à supprimer.

Pour supprimer les dossiers et fichiers de site

  1. Dans l’Explorateur Windows, accédez au répertoire (par exemple, C:\Inetpub\wwwroot) où sont installés les fichiers de site.
  2. Cliquez avec le bouton droit sur le dossier que vous souhaitez supprimer, puis cliquez sur Supprimer.
  3. Cliquez sur Oui pour chaque dossier à supprimer.
  4. Répétez les étapes 2 et 3 pour chaque dossier à supprimer.

Pour supprimer les travaux du service de publipostage

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Microsoft SQL Server, puis cliquez sur Enterprise Manager.
  2. Développez les nœuds jusqu’au chemin suivant : \Serveurs Microsoft SQL\Groupe SQL Server\Nom du serveur SQL\Gestion\Agent SQL Server\Travaux.
  3. Les travaux de publipostage s’affichent dans le volet droit de SQL Server Enterprise Manager.
  4. Sélectionnez le ou les travaux du service de publipostage que vous souhaitez supprimer, puis cliquez dans la barre d’outils sur le bouton Supprimer.

Voir aussi

Suppression d’une ressource d’un site

Suppression d’une application d’un site

Suppression d’un serveur Web d’une application


Gestion des applications et des serveurs Web Commerce Server

Les rubriques contenues dans cette section expliquent comment ajouter et gérer des applications et des serveurs Web. Avant d’exécuter ces procédures, vous devez installer Commerce Server et décompresser un site.

Cette section contient les rubriques suivantes :

  • Ajout d’une application à un site. Explique comment ajouter une application à un site.
  • Ajout d’une application Business Desk à un site. Explique comment ajouter une application Business Desk à un site.
  • Configuration d’une application. Explique comment configurer une application.
  • Ajout d’un serveur Web à une application. Explique comment ajouter un serveur Web à une application.
  • Ajout d’un autre serveur Web. Explique comment ajouter des serveurs Web supplémentaires à une application.
  • Configuration d’un serveur Web. Explique comment configurer un serveur Web.
  • Spécification d’un masque de fichier journal du serveur Web Explique comment définir le masque de fichier journal lorsque vous configurez un serveur Web à l’aide du Gestionnaire Commerce Server.
  • Spécification du nom de domaine. Décrit la manière dont les applications sont nommées dans Commerce Server, puis explique comment renommer une application.
  • Déchargement d’une application de la mémoire. Explique comment décharger une application de la mémoire.
  • Redémarrage des services IIS et Commerce Server. Explique comment arrêter et redémarrer les services IIS (Internet Information Services) 5.0. pour apporter des modifications aux propriétés de la ressource CS Authentication.
  • Suppression d’une application d’un site. Explique comment supprimer une application d’un site.
  • Suppression d’un serveur Web d’une application. Explique comment supprimer un serveur Web d’une application.
  • Ajout automatique d’un serveur Web. Explique comment ajouter automatiquement un serveur Web à une application.
  • Ajout d’une application non-Commerce Server à un site. Explique comment ajouter une application non-Commerce Server et un serveur Web.
  • Ajout d’un serveur Web non-Commerce Server à une application.


Ajout d'une application à un site

Envoyer des commentaires sur cette page Commerce Server 2002

Ajout d’une application à un site

Une application est un groupe de scripts ASP (Active Server Pages) et de composants qui effectuent des tâches pour un site Web. Un espace d’application représente l’adresse Web à laquelle accède un client Web. Lorsque vous ajoutez une application à Commerce Server, la base de données d’administration est mise à jour à partir des données de configuration de l’application. Lorsque vous ajoutez un serveur Web à l’application, les fichiers ASP sont installés sur l’ordinateur représentant le serveur Web.

Lorsqu’un site Commerce Server est décompressé, il installe généralement deux applications : une application pour le site Web auquel accèdent les utilisateurs et une autre pour Commerce Server Business Desk, qui est utilisée pour gérer le site. Une application ne peut utiliser que les ressources du site Commerce Server auquel elle appartient.

Une application comprend ses propres serveurs Web, lesquels fournissent le contenu des pages ASP pour le site Web. Une application peut comprendre plusieurs serveurs Web ; elle inclut toujours au moins un serveur Web. Vous pouvez configurer une application au niveau de la racine d’un site Web IIS (Internet Information Services) ou au niveau d’un répertoire virtuel n’importe où sous la racine.

Remarque

  • Avant d’exécuter cette procédure, vous devez créer un fichier de package qui contient l’application à ajouter au site ou utiliser l’un des sites solutions. Pour obtenir des instructions sur la création d’un fichier de package, consultez Utilisation du Gestionnaire de package de site.

Pour ajouter une application à un site

  1. Développez Gestionnaire Commerce Server, Sites de commerce, puis développez le site que vous voulez administrer.
  2. Cliquez sur Applications, cliquez avec le bouton droit sur Applications, pointez sur Nouveau, puis cliquez sur Ajouter une application.
  3. Dans la boîte de dialogue Ajouter une application à partir de, sélectionnez le package qui contient les applications à ajouter au site, puis cliquez sur Ouvrir.

    Le Gestionnaire de package de site Commerce Server démarre.

  4. Dans la boîte de dialogue Sélectionner des applications, vérifiez que les applications à décompresser sont sélectionnées, puis cliquez sur Suivant.
  5. Dans la boîte de dialogue Sélectionner des ordinateurs IIS, des sites Web et des chemins, vérifiez que les chemins d’accès et les répertoires virtuels de l’application IIS sont corrects, puis cliquez sur Suivant.
  6. Dans la boîte de dialogue Décompression terminée, consultez la liste des bases de données SQL Server et des applications IIS qui ont été créées. Pour consulter la liste des événements qui ont eu lieu pendant l’exécution du Gestionnaire de package de site, cliquez sur Afficher le fichier journal.
  7. Pour fermer le Gestionnaire de package de site, cliquez sur Terminer.

Une fois l’application ajoutée, vous devez modifier le nom d’hôte non sécurisé (ou sécurisé) de votre application pour qu’il corresponde au nom de domaine configuré sur le serveur DNS (Domain Name System), par exemple, www.microsoft.com. Pour plus d’informations, consultez Spécification du nom de domaine.

Voir aussi

Ajout d’une application non-Commerce Server à un site

Spécification du nom de domaine

Utilisation du Gestionnaire de package de site

Installation dans une configuration ordonnée en clusters et comprenant quatre ordinateurs

Installation dans une configuration non ordonnée en clusters et comprenant trois ordinateurs


Ajout d'une application Business Desk à un site

Envoyer des commentaires sur cette page Commerce Server 2002

Ajout d’une application Business Desk à un site

Commerce Server inclut une application Business Desk dans chaque site solution. Lorsque vous décompressez un site solution, vous décompressez la ressource Autorisations Business Desk et définissez la chaîne de connexion de la base de données, puis vous décompressez l’application Business Desk, l’ajoutant ainsi au site.

Vous pouvez, le cas échéant, ajouter une application Business Desk à un site dans les situations suivantes :

  • Vous personnalisez une deuxième application Business hors connexion, pendant que l’application d’origine est en cours d’utilisation. Une fois le développement terminé, vous pouvez ajouter l’application Business Desk personnalisée au site, remplaçant ainsi l’application existante.
  • Vous disposez de deux applications Business Desk pour votre site : une application Business Desk personnalisée pour l’environnement de test et une application Business Desk personnalisée pour l’environnement de production. Par exemple, dans l’environnement de production Business Desk, vous pouvez éventuellement ne pas inclure les modules Catalogues pour que les catalogues ne soient pas mis à jour avant d’avoir été testés.

Chaque application Business Desk inclut des objets qui détectent la ressource Autorisations Business Desk. Par défaut, toutes les applications Business Desk d’un site partagent le même ensemble d’autorisations. Pour gérer un ensemble d’autorisations séparé pour chaque application Business Desk, vous devez créer des sites distincts qui possèdent des bases de données de sécurité et des ressources Autorisations Business Desk séparées.

Pour ajouter une application Business Desk personnalisée à un site

  1. Compressez la nouvelle application Business Desk dans un fichier .pup. Pour connaître les instructions à suivre, consultez Compression d’un site.
  2. Décompressez la nouvelle application Business Desk, en l’ajoutant au site. Pour connaître les instructions à suivre, consultez Ajout d’une application à un site.
  3. Faites migrer manuellement les fichiers ASP personnalisés de l’application Business Desk d’origine vers la nouvelle application Business Desk, si nécessaire.
  4. Utilisez le module Autorisations Business Desk pour sécuriser d’autres fonctionnalités de l’interface utilisateur Business Desk. Pour obtenir les instructions à suivre, consultez Définition d’autorisations Business Desk pour des comptes Windows.
  5. Contactez tous les utilisateurs Business Desk et demandez-leur d’installer le nouveau client Business Desk.
  6. Supprimez l’application Business Desk d’origine.

Pour obtenir des instructions sur l’ajout de nouveaux modules Business Desk à une application Business Desk, consultez Automating Module Installation (en anglais).


Configuration d'une application

Envoyer des commentaires sur cette page Commerce Server 2002

Configuration d’une application

Lorsque vous configurez une application, vous spécifiez les propriétés qui s’appliquent à tous les serveurs Web utilisés par l’application.

Lorsque vous ajoutez un serveur Web à une application, certaines propriétés sont automatiquement remplies à partir des services IIS (Internet Information Services) 5.0 et stockées dans la base de données d’administration. Si les propriétés IIS changent, vous devez synchroniser la base de données d’administration et la métabase IIS en mettant à jour manuellement les nouvelles propriétés dans le Gestionnaire Commerce Server ou en cliquant sur le bouton Synchroniser les valeurs sous l’onglet Serveurs Web de la boîte de dialogue Propriétés de l’application.

Le bouton Synchroniser les valeurs est activé uniquement lorsque l’option Les serveurs Web de cette application exécutent les services IIS est sélectionnée sous l’onglet Général de la boîte de dialogue Propriétés de l'application et que vous avez apporté des modifications à l’aide de l’interface utilisateur IIS. Vous pouvez ensuite utiliser le bouton Synchroniser les valeurs pour synchroniser le Gestionnaire Commerce Server avec les services IIS.

Important

  • Lorsque vous cliquez sur le bouton Synchroniser les valeurs, Commerce Server synchronise les propriétés au niveau de l’application, ainsi que les propriétés de tous les objets serveur Web sous-jacents à l’application. Pour les propriétés situées au niveau de l’application, Commerce Server lit les valeurs du premier serveur Web. Il considère que tous les serveurs Web sont configurés de la même façon, ce qui constitue une exigence pour les serveurs d’une batterie de serveurs Web (Web farm).

Pour plus d’informations sur la modification du nom d’hôte non sécurisé (ou sécurisé) de votre application pour qu’il corresponde au nom de domaine configuré sur le serveur DNS (Domain Name System) (par exemple, www.microsoft.com), consultez Spécification du nom de domaine.

Pour configurer une application

  1. Développez Gestionnaire Commerce Server, Sites de commerce, puis cliquez sur le site que vous voulez administrer.
  2. Développez Applications, cliquez avec le bouton droit sur l’application à configurer, puis cliquez sur Propriétés.
  3. Dans la boîte de dialogue Propriétés de <application>, sous l’onglet Général, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom d’hôte non sécurisé Taper le nom de domaine DNS à utiliser pour les liens non sécurisés dans vos applications.

    Attention

    • Si vous utilisez un numéro de port autre que 80, vous devez ajouter ce numéro à la fin du nom d’hôte non sécurisé (par exemple, www.microsoft.com:81). Pour afficher ou modifier le numéro de port, consultez la zone Port TCP sous l’onglet Identités de la boîte de dialogue Propriétés de serveur Web. Pour plus d’informations, consultez Configuration d’un serveur Web.
    Chemin de l’application IIS | Taper le chemin d’accès à l’application IIS.
    Activer HTTPS Activer cette propriété pour activer les liens vers un hôte HTTP sécurisé (SSL) dans vos applications.

    AuthManager utilise cette propriété, mais pas AuthFilter. Si vous utilisez AuthFilter, vous devez définir la propriété Formulaire de connexion CS Authentication pour spécifier SSL pour les pages de connexion. Pour plus d’informations, consultez Configuration des propriétés de la ressource CS Authentication.
    Nom d’hôte sécurisé Taper le nom de domaine DNS à utiliser pour les liens sécurisés dans vos applications.

    Attention

    • Si vous utilisez un numéro de port autre que 443, vous devez ajouter ce numéro à la fin du nom d’hôte sécurisé (par exemple, www.microsoft.com:441). Pour afficher ou modifier le numéro de port SSL, consultez la zone Port SSL sous l’onglet Identités de la boîte de dialogue Propriétés de serveur Web. Pour plus d’informations, consultez Configuration d’un serveur Web.

    AuthManager utilise cette propriété, mais pas AuthFilter. Si vous utilisez AuthFilter, vous devez définir la propriété Formulaire de connexion CS Authentication pour spécifier SSL pour les pages de connexion. Pour plus d’informations, consultez Configuration des propriétés de la ressource CS Authentication.
    Création de cookie automatique | Activer cette propriété pour générer des cookies pour les utilisateurs anonymes. Cette propriété est définie durant le processus de décompression. Pour plus d’informations sur la configuration de l’authentification sur votre site, consultez Sécurisation de votre site.
    Filtre d’authentification Sélectionner le type de filtre d’authentification à utiliser dans la de liste déroulante. Les options sont les suivantes :
    • Aucun filtre
    • Authentification Windows
    • Authentification personnalisée

    Pour plus d’informations sur la configuration de l’authentification sur votre site, consultez Sécurisation de votre site.
    Définir le chemin des cookies pour l’application | Activer cette option et partager les cookies entre les applications d’un site.
    Nombre de niveaux de domaine partagé | Spécifier le nombre de niveaux de domaine que les applications doivent avoir en commun pour partager un cookie. Par exemple, pour que premier.microsoft.com et msn.microsoft.com partagent le cookie microsoft.com, définissez la valeur 2.
  4. Sous l’onglet Serveurs Web, cliquez sur Synchroniser les valeurs pour copier les propriétés d’IIS vers la base de données d’administration Commerce Server.

    Remarque

    • Le bouton Synchroniser les valeurs est activé uniquement lorsque l’option Les serveurs Web de cette application exécutent les services IIS est sélectionnée sous l’onglet Général de la boîte de dialogue Propriétés de l'application et que vous avez apporté des modifications à l’aide de l’interface utilisateur IIS.

    Sinon, effectuez les actions suivantes :

    Utilisez ceci | Pour faire cela
    Site Web IIS | Taper le nom du site Web IIS (par exemple, Site Web par défaut).
    Domaine local | Taper le nom du domaine local (par exemple, microsoft.com).
  5. Cliquez sur OK.

Remarque

  • Après avoir modifié une propriété dans le Gestionnaire Commerce Server, vous devez redémarrer tous les services qui utilisent ces valeurs. Pour obtenir des instructions, consultez Redémarrage des services IIS et Commerce Server.

Voir aussi

Configuration d’un serveur Web

Sécurisation de votre site

Spécification du nom de domaine


Ajout d'un serveur Web à une application

Envoyer des commentaires sur cette page Commerce Server 2002

Ajout d’un serveur Web à une application

Lorsque vous ajoutez un serveur Web à une application, vous ajoutez les fichiers .asp, .htm, .gif et autres de l’application à l’ordinateur représentant le serveur Web. Les services IIS (Internet Information Services) 5.0 et Commerce Server doivent être déjà installés sur l’ordinateur faisant office de serveur Web.

Vous pouvez utiliser le Gestionnaire de package de site Commerce Server pour ajouter un serveur Web à une application. Après avoir ajouté un serveur Web à une application, l’objet serveur Web Commerce Server s’affiche sous le nœud d’application dans le Gestionnaire Commerce Server. L’objet serveur Web contient les propriétés nécessaires au Data Warehouse pour importer les fichiers journaux : nom du serveur, adresse IP (Internet Protocol), chemin d’accès au fichier journal et durée du fichier journal. Ces propriétés sont remplies automatiquement à partir des services IIS lorsque vous ajoutez un objet serveur Web Commerce Server à une application.

Vous pouvez également ajouter un nouveau serveur Web à une application sans utiliser le Gestionnaire de package de site. À la place, vous pouvez utiliser Microsoft Application Center 2000 pour déployer les fichiers Commerce Server vers le serveur Web ou copier manuellement les fichiers Commerce Server vers le serveur Web. Pour plus d’informations sur l’ajout de serveurs Web à Commerce Server sans utiliser le Gestionnaire de package de site, consultez Ajout de serveurs Web sans le Gestionnaire de package de site.

Remarques

  • Assurez-vous de disposer des autorisations nécessaires sur l’ordinateur où s’effectue la décompression.
  • Avant d’exécuter cette procédure, vous devez créer un fichier de package qui contient les fichiers ASP de l’application ou utiliser l’un des sites solutions. Pour obtenir des instructions sur la création d’un fichier de package, consultez Utilisation du Gestionnaire de package de site.

Pour ajouter un serveur Web à une application

  1. Sur l’ordinateur serveur Web que vous souhaitez ajouter à l’application, développez Gestionnaire Commerce Server, Sites de commerce, puis développez le site que vous souhaitez administrer.
  2. Développez Applications, cliquez avec le bouton droit sur le nom de l’application à laquelle vous souhaitez ajouter le serveur Web, pointez sur Nouveau, puis cliquez sur Ajouter un serveur Web.

    La boîte de dialogue Ajouter un serveur Web à partir de s’affiche avec une liste des fichiers du Gestionnaire de package de site Commerce Server (en d’autres termes, des fichiers portant une extension .pup).

  3. Dans la boîte de dialogue Ajouter un serveur Web à partir de, naviguez vers le dossier contenant le fichier à décompresser, sélectionnez le fichier, puis cliquez sur Ouvrir.

    Le Gestionnaire de package de site démarre.

  4. Dans la boîte de dialogue Sélectionner des ordinateurs IIS, des sites Web et des chemins, vérifiez que les chemins d’accès et les répertoires virtuels de l’application IIS sont corrects, puis cliquez sur Suivant.

    Le Gestionnaire de package de site ajoute les fichiers au serveur Web, puis ajoute l’objet serveur Web Commerce Server à l’application sélectionnée. Lorsque vous ouvrez le Gestionnaire Commerce Server, l’objet serveur Web Commerce Server s’affiche sous l’application.

  5. Dans la boîte de dialogue Décompression terminée, consultez la liste des bases de données SQL et applications IIS qui ont été créées. Pour consulter la liste des événements contenus dans le fichier journal Pup.log, cliquez sur Afficher le fichier journal.
  6. Pour fermer le Gestionnaire de package de site, cliquez sur Terminer.

Voir aussi

Configuration d’un serveur Web

Ajout d’un autre serveur Web


Ajout d'un autre serveur Web

Envoyer des commentaires sur cette page Commerce Server 2002

Ajout d’un autre serveur Web

Lorsque vous ajoutez un autre serveur Web à une application, vous ne pouvez pas modifier les informations de configuration de l’application durant le processus de décompression, car tous les serveurs Web doivent présenter la même configuration. Le Gestionnaire de package de site Commerce Server affiche le nom du site Web des services IIS (Internet Information Services) 5.0 où sera installée l’application, ainsi que le chemin de l’application IIS de chaque application Commerce Server.

Lorsque vous choisissez de décompresser une application qui existe déjà dans le site dans Base de données d’administration, le Gestionnaire de package de site Commerce Server considère que vous ajoutez un serveur Web à cette application.

Voir aussi

Installation dans une configuration ordonnée en clusters et comprenant quatre ordinateurs

Installation dans une configuration non ordonnée en clusters et comprenant trois ordinateurs

Ajout d’un serveur Web à une application


Configuration d'un serveur Web

Envoyer des commentaires sur cette page Commerce Server 2002

Configuration d’un serveur Web

Dans le Gestionnaire Commerce Server, les objets serveur Web Commerce Server contiennent les propriétés nécessaires au Data Warehouse pour importer les fichiers journaux. Lorsque vous ajoutez un serveur Web à une application, ces propriétés sont automatiquement remplies à partir des services IIS (Internet Information Services) 5.0 et stockées dans la base de données d’administration.

Remarques

  • Lorsque l’option Les serveurs Web de cette application exécutent les services IIS de la boîte de dialogue Propriétés de l’application est activée, vous pouvez utiliser soit la propriété Nouvelle période de journalisation, soit la propriété Masque de fichier journal ; vous ne pouvez pas utiliser les deux propriétés.
  • Si la zone Synchroniser le nom et l’emplacement du fichier journal de la boîte de dialogue Propriétés de l’application est activée, la valeur Répertoire du fichier journal de la boîte de dialogue Propriétés de serveur Web est remplacée par la valeur IIS.
  • Le bouton Synchroniser les valeurs est activé uniquement lorsque l’option Les serveurs Web de cette application exécutent les services IIS est sélectionnée sous l’onglet Général de la boîte de dialogue Propriétés de l'application et que vous avez apporté des modifications à l’aide de l’interface utilisateur IIS. Vous pouvez ensuite utiliser le bouton Synchroniser les valeurs pour synchroniser le Gestionnaire Commerce Server avec les services IIS.

Pour configurer un serveur Web

  1. Développez Gestionnaire Commerce Server, Sites de commerce, puis cliquez sur le site que vous voulez administrer.
  2. Développez Applications, développez l’application contenant le serveur Web à configurer, cliquez avec le bouton droit sur l’objet serveur Web, puis cliquez sur Propriétés.
  3. Dans la boîte de dialogue Propriétés <serveur_web>, sous l’onglet Identités, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom du serveur | Taper le nom de l’ordinateur sur lequel est installé le serveur Web. Ne modifiez le nom que si vous avez renommé votre serveur.
    Identités | Cette zone affiche l’adresse IP (Internet Protocol) du serveur Web, le port TCP et le nom d’en-tête de l’hôte Ces valeurs sont initialement lues à partir des services IIS.
    Identités SSL | Cette zone affiche l’adresse IP et le port SSL du serveur Web. Ces valeurs sont initialement lues à partir des services IIS.
  4. Sous l’onglet Fichiers journaux, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nouvelle période de journalisation | Spécifier la durée pendant laquelle le site Web IIS écrit dans un fichier journal avant d’en créer un nouveau. Cette valeur est initialement lue à partir des services IIS.
    Masque de fichier journal | Si nécessaire, spécifier une rotation de fichier journal personnalisée qui indique combien de temps le site Web IIS écrit dans un fichier journal avant d’en créer un nouveau. Pour plus d’informations et notamment des exemples de données à entrer dans cette zone, consultez Spécification d’un masque de fichier journal du serveur Web.
    Répertoire du fichier journal | Taper le chemin d’accès au fichier journal dans lequel le site Web IIS écrit les événements (par exemple, C:\Winnt\System32\LogFiles\Log1). Cette valeur est initialement lue à partir des services IIS. Vous pouvez toutefois spécifier un autre répertoire si vous copiez les journaux Web du serveur Web vers un emplacement centralisé avant d’exécuter les tâches DTS d’importation.
    Page de codes du fichier journal Cette zone affiche la page de codes utilisée par la totalité du fichier.

    Les services IIS 5.0 prennent en charge les pages de codes du système. Les futures versions des services IIS prendront en charge UTF-8.
    Page de codes de cryptage des URL Cette zone affiche la page de codes utilisée pour toutes les adresses URL.

    Les services IIS 5.0 prennent en charge les pages de codes du système. Les futures versions des services IIS prendront en charge UTF-8.
  5. Cliquez sur OK.


Spécification d'un masque de fichier journal du serveur Web

Envoyer des commentaires sur cette page Commerce Server 2002

Spécification d’un masque de fichier journal du serveur Web

Un masque de fichier journal est une propriété qui spécifie ce que seront les noms de fichiers journaux du serveur Web selon qu’ils feront l’objet d’une rotation dans le temps ou seront basés sur la taille de fichier. Par exemple, une rotation quotidienne de fichier journal IIS (Internet Information Services) est spécifiée en tant que exyymmdd.log : le nom de fichier journal se compose d’un préfixe « ex », de deux chiffres pour l’année(yy), deux chiffres pour le mois (mm) et deux chiffres pour le jour (dd). Vous définissez le masque de fichier journal lorsque vous configurez un serveur Web à l’aide du Gestionnaire Commerce Server.

L’utilisateur doit ajouter une extension à la fin du masque de fichier ; par exemple, « .log » à la fin d’un masque dans la plupart des cas.

Règles applicables aux masques de fichier journal

  • Les chaînes fixes peuvent être ajoutées n’importe où dans le masque de fichier journal.
  • Les masques de fichier journal prennent en charge le masquage de niveau répertoire.
  • Les caractères suivants ne peuvent pas être utilisés dans le masque de fichier journal : : | * ? < > / "
  • La rotation du fichier journal peut être définie dans le masque. Le tableau suivant répertorie des valeurs de masque de fichier journal qui spécifient la rotation.
    Masque de fichier journal | Description | Exemple
    0 | Noms de fichiers étendus
    1 | Rotation quotidienne IIS | ex$y$m$d.log
    2 | Rotation hebdomadaire IIS | ex$y$m$w.log
    3 | Rotation mensuelle IIS | ex$y$m.log
    4 | Rotation horaire IIS | ex$y$m$d$h.log

Le tableau suivant répertorie les caractères à utiliser pour spécifier le masque de fichier journal.

Caractère | Description
$M | Nom de mois complet (seuls les noms en anglais sont pris en charge).
$m | Mois 01-12
$d | Jour du mois 01-31
$h | Heure 00-23
$y | Année sur deux chiffres (00-99)
$Y | Année sur 4 chiffres
$w | Semaine du mois (01-05)
$n | Pour que la numérotation séquentielle prenne en charge les noms de fichier journal étendus IIS (uniquement les nombres à un seul chiffre).
$N | Similaire, à $n mais pour tous les nombres avec un ou plusieurs chiffres. Il doit s’agir du dernier masque avant l’extension de fichier. Les chaînes qui ne commencent pas par des chiffres peuvent suivre $N.

Exemple de masques de fichier journal

Exemple 1

Si vous renommez les journaux étendus IIS au format W3C pour que les noms de serveurs prennent comme préfixe le nom de fichier journal, les noms de fichiers journaux peuvent avoir l’apparence suivante pour une rotation quotidienne :

Server1_ex010810.log

Server1_ex010811.log

Pour extraire ces fichiers journaux à des fins d’importation, tapez Server1_ex$y$m$d.log dans la zone du masque de fichier journal.

Exemple 2

Si vous choisissez l’option « Taille de fichier non limitée » ou « Quand la taille du fichier atteint » dans les propriétés de journalisation IIS, les noms des fichiers journaux seront de la forme extend#.log, c’est-à-dire, extend1.log, extend2.log, et ainsi de suite.

Pour extraire ces fichiers journaux à des fins d’importation de journaux, tapez extend$n.log dans la zone du masque de fichier journal.

Exemple 3

La zone Masque de fichier journal peut inclure aussi un répertoire. Pour choisir des fichiers journaux dans le dossier e:\logs\server1\extend1.log, par exemple, vous pouvez spécifier l’une des entrées suivantes dans la zone du masque de fichier journal :

  • Si le chemin du journal est e:\logs\server1\, tapez extend$n.log dans la zone du masque de fichier journal.
  • Si le chemin du journal est e:\logs\, tapez server1\extend$n.log dans la zone du masque de fichier journal.
  • Si le chemin du journal est e:\logs\, tapez server$n\extend$n.log dans la zone du masque de fichier journal.

Voir aussi

Configuration d’une application

Ajout d’une application non-Commerce Server à un site


Spécification du nom de domaine

Vous devez modifier le nom d’hôte non sécurisé (ou sécurisé) de votre application pour qu’il corresponde au nom de domaine configuré sur le serveur DNS (Domain Name System), par exemple, www.microsoft.com. Commerce Server ne lit pas automatiquement le nom de domaine à partir de DNS ; en fait, Commerce Server utilise le nom d’ordinateur comme nom de domaine par défaut. Vous devez indiquer le nom de domaine à Commerce Server en suivant la procédure suivante.

Lorsque vous décompressez un site pour la première fois, vos applications sont nommées à l’aide du nom d’ordinateur (par exemple, Serveur1) et des chemins de l’application des services IIS (Internet Information Services) 5.0 spécifiés durant le processus de décompression (par exemple, /msn). Par exemple, le nom d’application peut être Serveur1/msn.

Pour chaque application de votre site, vous devez renommer l’application en utilisant votre nom de domaine. Pour l’application www.microsoft.com/msn, le nom de domaine est www.microsoft.com et le chemin de l’application IIS est /msn.

Pour spécifier le nom du domaine

  1. Développez Gestionnaire Commerce Server, Sites de commerce, puis cliquez sur le site que vous voulez administrer.
  2. Développez Applications, cliquez avec le bouton droit sur l’application à renommer, puis cliquez sur Propriétés.
  3. Dans la boîte de dialogue Propriétés de <site>, sous l’onglet Général, effectuez les opérations suivantes :
    Utilisez ceci Pour faire cela
    Nom d’hôte non sécurisé Taper le nom de domaine, tel qu’il apparaît dans votre serveur DNS (par exemple, vous pouvez le changer en www.microsoft.com).

    Attention

    • Si vous utilisez un numéro de port autre que 80, vous devez ajouter ce numéro à la fin du nom d’hôte non sécurisé (par exemple, www.microsoft.com:81). Pour afficher ou modifier le numéro de port, consultez la zone Port TCP sous l’onglet Identités de la boîte de dialogue Propriétés de serveur Web. Pour plus d’informations, consultez Configuration d’un serveur Web.
    Chemin de l’application IIS Taper le chemin d’accès à l’application IIS. Par exemple, pour l’application www.microsoft.com/msn, le chemin d’accès est /msn.

    Attention

    • Si vous modifiez cette propriété, vous devez modifier l’emplacement des fichiers sur le(s) serveur(s) Web pour maintenir la correspondance. Vous devez également configurer IIS avec la nouvelle application.
  4. Cliquez sur OK.

Remarque

  • Après avoir modifié une propriété dans le Gestionnaire Commerce Server, vous devez redémarrer tous les services qui utilisent ces valeurs. Pour obtenir des instructions, consultez Redémarrage des services IIS et Commerce Server.


Déchargement d'une application de la mémoire

Envoyer des commentaires sur cette page Commerce Server 2002

Déchargement d’une application de la mémoire

Dans Commerce Server, chaque site représente une application sous les services IIS (Internet Information Services) 5.0. Une fois que vous avez modifié la valeur d’une propriété dans le Gestionnaire Commerce Server, vous devez décharger les applications de la mémoire sur chaque serveur Web pour que les modifications soient prises en compte. Les caches créés par le fichier global.asa Commerce Server sont libérés ; lorsque l’utilisateur suivant visite votre site, les propriétés de ressource sont de nouveau lues et chargées dans le cache.

Le déchargement d’une application de la mémoire diffère du redémarrage des services IIS ou de l’utilisation de la commande IISReset. Le redémarrage des services IIS décharge toutes les applications Web en mémoire, relance le service IIS et actualise la mémoire cache. L’avantage de décharger une application de la mémoire (en suivant la procédure ci-dessous) est que la modification de propriété prend effet sans aucune interruption des applications du serveur Web. Toutefois, certaines modifications de configuration imposent un redémarrage des services IIS ou d’autres services. Pour plus d’informations, consultez Redémarrage des services IIS et Commerce Server.

Vous devez décharger une application de la mémoire après avoir effectué l’une des tâches suivantes :

  • configuration d’une ressource globale ;
  • configuration d’une ressource de site ;
  • configuration de Configuration de l’application par défaut ;
  • configuration d’une application ;
  • définition d’un nom de domaine.

Important

  • Lorsque vous apportez des modifications à la ressource CS Authentication qui est une ressource globale, vous devez redémarrer IIS. Pour obtenir des instructions, consultez Redémarrage des services IIS et Commerce Server.

Pour décharger une application de la mémoire

  1. Dans le Composant logiciel enfichable (snap-in) IIS (Internet Information Services), sélectionnez la racine du site Web IIS ou le répertoire représentant le point de départ de l’application.
  2. Cliquez avec le bouton droit sur le répertoire (par exemple, Site Web par défaut), cliquez sur Propriétés, puis sur l’onglet Répertoire de base.

    Remarque

    • Si le bouton Décharger n’est pas accessible, cela signifie que vous ne vous trouvez pas dans le répertoire de point de départ de l’application ou que l’application est déjà déchargée.
  3. Cliquez sur Décharger.

    Le message suivant peut s’afficher : « Le déchargement de cette application va entraîner celui de toutes les applications situées dans le pool d’applications. Êtes-vous sûr de vouloir continuer ? »

  4. Cliquez sur Oui si ce message s’affiche.

L’application est déchargée de la mémoire. La prochaine fois qu’un utilisateur visite votre site Web, les nouvelles valeurs de propriété sont lues lorsque l’application est chargée en mémoire.

Voir aussi

Redémarrage des services IIS et Commerce Server

Configuration d’une ressource globale

Configuration d’une ressource de site

Configuration de la ressource Configuration par défaut de l’application.

Configuration d’une application

Spécification du nom de domaine


Redémarrage des services IIS et Commerce Server

Lorsque vous apportez des modifications aux propriétés utilisées par la ressource CS Authentication, vous devez arrêter, puis redémarrer les services IIS (Internet Information Services) 5.0. De même, lorsque vous faites appel au Gestionnaire Commerce Server pour apporter des modifications aux ressources globales de Commerce Server, vous devez redémarrer le service Commerce Server concerné.

Cette rubrique contient :

  • Redémarrage des services IIS
  • Redémarrage des services Commerce Server

Redémarrage des services IIS

Lorsque vous apportez des modifications aux propriétés utilisées par la ressource CS Authentication, vous devez arrêter, puis redémarrer les services IIS. Le redémarrage des services IIS décharge toutes les applications Web en mémoire, relance le service IIS et actualise la mémoire cache. Par conséquent, lorsque vous redémarrez les services IIS, il n’est pas nécessaire de décharger une application en mémoire.

Vous devez redémarrer IIS lorsque vous effectuez l’une des tâches suivantes dans la ressource CS Authentication :

  • configuration des propriétés de la ressource CS Authentication ;
  • activation du partage de cookies entre les domaines/applications ;
  • activation d’AuthFilter ;
  • désactivation d’AuthFilter.

Remarque

  • Vous ne devez pas utiliser la commande IISReset pour redémarrer IIS. Bien que la commande IISReset arrête puis redémarre IIS, dans certaines circonstances elle n’arrête puis ne redémarre pas Inetinfo.exe (service W3SVC). Par exemple, si le service W3SVC a été configuré pour un démarrage manuel au lieu d’un démarrage automatique, il ne sera pas redémarré.

Pour redémarrer IIS

  1. Cliquez sur Démarrer, puis sur Exécuter.
  2. Dans la boîte de dialogue Exécuter, dans la zone Ouvrir, tapez net stop iisadmin, puis cliquez sur OK.
  3. À l’invite « Désirez-vous continuer cette opération ? », tapez O et appuyez sur [Entrée].

    Les services IIS s’arrêtent. Notez que les services iisadmin et w3svc sont tous les deux arrêtés à l’aide de la commande de l’étape 3 ci-dessus.

  4. Cliquez sur Démarrer, puis sur Exécuter.
  5. Dans la boîte de dialogue Exécuter, dans la zone Ouvrir, tapez net start w3svc et cliquez sur OK.

    Le service IIS démarre. Notez que les deux services iisadmin et w3svc sont relancés.

Redémarrage des services Commerce Server

Lorsque vous utilisez le Gestionnaire Commerce Server pour modifier des ressources globales Commerce Server (voir le tableau ci-dessous), vous devez redémarrer le service Commerce Server affecté. Par exemple, si vous modifiez une propriété de Commerce Server Predictor, vous devez redémarrer le service PredictorService.

Nom convivial du service | Nom du service
Commerce Server Predictor | PredictorService
Service de publipostage Commerce Server | DMLService
Gestionnaire de listes Commerce Server | ListManager

Pour que les modifications qui affectent ces services soient appliquées au site, vous devez redémarrer le service concerné.

Pour redémarrer Predictor, le service de publipostage ou le Gestionnaire de listes, procédez comme suit :

  1. Cliquez sur Démarrer, puis sur Exécuter.
  2. Dans la boîte de dialogue Exécuter, dans la zone Ouvrir, tapez net stop <nom_service>, puis cliquez sur OK.

    Remarque

    • <nom_service> est le nom du service Commerce Server. Voir le tableau ci-dessus.

    Le service Commerce Server s’arrête.

  3. Cliquez sur Démarrer, puis sur Exécuter.
  4. Dans la boîte de dialogue Exécuter, dans la zone Ouvrir, tapez net start <nom_service>, puis cliquez sur OK.

    Remarque

    • <nom_service> est le nom du service Commerce Server. Voir le tableau ci-dessus.

    Le service Commerce Server démarre.

Voir aussi

Déchargement d’une application de la mémoire

Configuration de la ressource CS Authentication

Partage de cookie

Activation d’AuthFilter pour le site solution Retail

Activation d’AuthFilter pour le site solution Supplier

Désactivation d’AuthFilter


Suppression d'une application d'un site

Envoyer des commentaires sur cette page Commerce Server 2002

Suppression d’une application d’un site

Lorsque vous supprimez une application d’un site, les données d’application de la base de données d’administration sont supprimées. Aucun fichier de serveur Web n’est supprimé, ni aucun paramètre des services IIS (Internet Information Services) 5.0.

Avant de supprimer une application d’un site, vous devez d’abord supprimer les serveurs Web Commerce Server associés à l’application. Pour obtenir des instructions sur la suppression d’un serveur Web, consultez Suppression d’un serveur Web d’une application.

Pour supprimer une application d’un site

  1. Développez Gestionnaire Commerce Server, Sites de commerce, puis développez le site que vous voulez administrer.
  2. Développez Applications, cliquez avec le bouton droit sur l’application à supprimer, puis cliquez sur Supprimer.

Les données de configuration de l’application sont supprimées de la base de données d’administration.

Voir aussi

Suppression d’un serveur Web d’une application

Suppression d’une ressource d’un site

Suppression d’un site


Suppression d'un serveur Web d'une application

Envoyer des commentaires sur cette page Commerce Server 2002

Suppression d’un serveur Web d’une application

Lorsque vous supprimez un serveur Web d’une application, vous supprimez l’objet serveur Web Commerce Server de la base de données d’administration. Vous ne supprimez pas les paramètres des services IIS (Internet Information Services) 5.0, ni les fichiers de serveur Web.

Si vous supprimez le serveur Web utilisé par Commerce Server Business Desk, les utilisateurs Business Desk ne pourront pas gérer le site.

Après avoir supprimé le dernier serveur Web d’une application, celle-ci est toujours affichée dans le Gestionnaire Commerce Server.

Pour supprimer un serveur Web d’une application

  1. Développez Gestionnaire Commerce Server, Sites de commerce, puis développez le site que vous voulez administrer.
  2. Développez Applications, développez l’application de laquelle vous souhaitez supprimer l’objet serveur Web Commerce Server, cliquez avec le bouton droit sur l’objet serveur Web, puis cliquez sur Supprimer.

L’objet serveur Web Commerce Server est supprimé de l’application ; le serveur Web n’est plus affiché sous l’application. Si nécessaire, vous pouvez ajouter le même serveur Web, ou un autre serveur, à l’application.

Voir aussi

Ajout d’un serveur Web à une application


Ajout automatique d'un serveur Web

Envoyer des commentaires sur cette page Commerce Server 2002

Ajout automatique d’un serveur Web

Vous pouvez créer un nouveau serveur Web en utilisant Microsoft Application Center Server 2000 pour déployer les fichiers Commerce Server vers le serveur Web, ou en copiant manuellement les fichiers Commerce Server vers le serveur Web au lieu d’utiliser le Gestionnaire de package de site Commerce Server. Les sites solutions Commerce Server comportent du code dans le fichier global.asa qui permet l’ajout automatique d’un serveur Web à une application.

Lorsque l’application Commerce Server démarre pour la première fois sur le nouveau serveur Web (par exemple, un utilisateur se connecte au serveur Web ou y est dirigé à la suite d’un équilibrage de charge) et que global.asa démarre, le serveur Web est ajouté automatiquement à la base de données d’administration. Le serveur Web lit dans la base de données d’administration les propriétés dont il a besoin pour le site.

Une fois ajouté, le serveur Web est affiché dans le Gestionnaire Commerce Server pour vous permettre d’organiser sa gestion.


Ajout d'une application non-Commerce Server à un site

Envoyer des commentaires sur cette page Commerce Server 2002

Ajout d’une application non-Commerce Server à un site

Vous pouvez utiliser le Gestionnaire Commerce Server pour ajouter une application qui n’utilise pas de composants Commerce Server. Le but de l’ajout d’une application non-Commerce Server est de mettre les fichiers journaux de serveur Web associées à l’application à disposition pour permettre leur importation dans Data Warehouse.

Pour ajouter une application non-Commerce Server à un site

  1. Développez Gestionnaire Commerce Server, Sites de commerce, puis développez le site que vous voulez administrer.
  2. Cliquez sur Applications, cliquez avec le bouton droit sur Applications, puis cliquez sur Ajouter une application non-Commerce Server.
  3. Dans la boîte de dialogue Nouvelle application non-Commerce Server, sous l’onglet Général, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Les serveurs Web de cette application exécutent IIS Activer cette option si les serveurs de l’application non-Commerce Server exécutent les services IIS (Internet Information Services) 5.0.

    Une application non-Commerce Server ne peut pas contenir à la fois des serveurs IIS et non-IIS.
    Nom d’hôte non sécurisé Taper le nom de domaine DNS (Domain Name System) utilisé par les liens non sécurisés de l’application.

    Attention

    • Si vous utilisez un numéro de port autre que 80, vous devez ajouter ce numéro à la fin du nom de serveur (par exemple, www.microsoft.com:81). Pour afficher ou modifier le numéro de port, consultez la zone Port TCP sous l’onglet Identités de la boîte de dialogue Propriétés de serveur Web. Pour plus d’informations, consultez Configuration d’un serveur Web.
    Chemin de l’application IIS ou Chemin de l’application | Taper le chemin d’accès à l’application.
    Activer HTTPS | Activer cette propriété si des liens sécurisés sont utilisés dans l’application.
    Nom d’hôte sécurisé Taper le nom de domaine DNS utilisé par les liens sécurisés de l’application.

    Attention

    • Si vous utilisez un numéro de port autre que 443, vous devez ajouter ce numéro à la fin du nom de serveur (par exemple, www.microsoft.com:441). Pour afficher ou modifier le numéro de port, consultez la zone Port SSL sous l’onglet Identités de la boîte de dialogue Propriétés de serveur Web. Pour plus d’informations, consultez Configuration d’un serveur Web.
  4. Sous l’onglet Serveurs Web, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Site Web IIS | Taper le nom du site Web IIS (par exemple, Site Web par défaut).
    Domaine local | Taper le nom du domaine local (par exemple, microsoft.com).
    Synchroniser le nom et l’emplacement du fichier journal | Désactiver cette propriété pour que la valeur Répertoire du fichier journal sous l’onglet Fichiers journaux de la boîte de dialogue Propriétés de serveur Web ne soit pas remplacée par la valeur IIS. Par défaut, cette case est activée.
  5. Cliquez sur OK.

Voir aussi

Ajout d’un serveur Web non-Commerce Server à une application

Configuration d’un serveur Web


Ajout d'un serveur Web non-Commerce Server à une application

Envoyer des commentaires sur cette page Commerce Server 2002

Ajout d’un serveur Web non-Commerce Server à une application

Vous pouvez utiliser le Gestionnaire Commerce Server pour ajouter un serveur Web qui n’utilise pas de composants Commerce Server. Le but de l’ajout d’un serveur Web non-Commerce Server est de mettre les fichiers journaux de serveur Web à disposition pour permettre leur importation dans Data Warehouse.

Remarques

  • Lorsque l’option Les serveurs Web de cette application exécutent les services IIS de la boîte de dialogue Propriétés de l’application est activée, vous pouvez utiliser soit la propriété Nouvelle période de journalisation, soit la propriété Masque de fichier journal ; vous ne pouvez pas utiliser les deux propriétés.
  • Si l’option Synchroniser le nom et l’emplacement du fichier journal de la boîte de dialogue Propriétés de l’application est activée, la valeur Répertoire du fichier journal de la boîte de dialogue Propriétés de serveur Web est remplacée par la valeur IIS.
  • Le bouton Synchroniser les valeurs est activé uniquement lorsque l’option Les serveurs Web de cette application exécutent les services IIS est sélectionnée sous l’onglet Général de la boîte de dialogue Propriétés de l'application et que vous avez apporté des modifications à l’aide de l’interface utilisateur IIS. Vous pouvez alors utiliser le bouton Synchroniser les valeurs pour synchroniser le Gestionnaire Commerce Server avec les services IIS.

Pour ajouter un serveur Web non-Commerce Server à une application

  1. Développez Gestionnaire Commerce Server, Sites de commerce, puis développez le site que vous voulez administrer.
  2. Développez Applications, cliquez sur le nom de l’application non-Commerce Server à laquelle vous souhaitez ajouter le serveur Web, cliquez dessus avec le bouton droit, pointez sur Nouveau, puis cliquez sur Ajouter un serveur Web non-Commerce.
  3. Dans la boîte de dialogue Nouveau serveur Web non-Commerce Server, sous l’onglet Identités, tapez le nom de l’ordinateur qui héberge le serveur Web non-Commerce Server.
  4. Dans la zone Identités, cliquez sur Ajouter.
  5. Dans la boîte de dialogue Configuration de site Web, tapez l’Adresse IP, le Port TCP et le Nom d’en-tête de l’hôte pour le serveur Web non-Commerce Server, puis cliquez sur OK.
  6. Si vous utilisez un hôte HTTP sécurisé (SSL) dans vos applications, dans la zone Identités SSL, cliquez sur Ajouter.
  7. Dans la boîte de dialogue Configuration de site Web, tapez l’Adresse IP et le Port SSL pour le serveur Web non-Commerce Server, puis cliquez sur OK.
  8. Dans la boîte de dialogue Nouveau serveur Web non-Commerce Server, sous l’onglet Fichiers journaux, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nouvelle période de journalisation | Cette zone n’est renseignée que si vous utilisez IIS.
    Masque de fichier journal | Si nécessaire, spécifier une rotation de fichier journal personnalisée qui indique combien de temps le site Web IIS écrit dans un fichier journal avant d’en créer un nouveau. Pour plus d’informations et notamment des exemples de données à entrer dans cette zone, consultez Spécification d’un masque de fichier journal du serveur Web.
    Répertoire du fichier journal | Taper le chemin d’accès au fichier journal dans lequel le site Web écrit les événements (par exemple, C:\Winnt\System32\LogFiles\Log1). Vous pouvez éventuellement spécifier un répertoire dans lequel vous copiez les journaux Web du serveur Web vers un emplacement central avant d’exécuter les tâches DTS d’importation
    Page de codes du fichier journal | Cette zone affiche la page de codes utilisée par la totalité du fichier.
    Page de codes de cryptage des URL | Cette zone affiche la page de codes utilisée pour toutes les adresses URL.
  9. Cliquez sur OK.

Voir aussi

Ajout d’une application non-Commerce Server à un site

Spécification d’un masque de fichier journal du serveur Web


Exécution du Data Warehouse

Le Data Warehouse de Commerce Server vous permet d’importer, de transformer et de stocker les données de sites Web. Vous importez des données dans le Data Warehouse à partir de fichiers journaux Web, de bases de données Commerce Server ainsi que d’autres sources de données que vous spécifiez. Une fois les données importées, vous pouvez les analyser en exécutant des rapports depuis Commerce Server Business Desk.

La base de données Data Warehouse est ajoutée à Microsoft SQL Server lorsque vous décompressez un site. Vous utilisez des tâches de transformation de données (DTS, Data Transformation Services) de Commerce Server pour importer et gérer les données.

Pour plus d’informations sur la sécurisation du Data Warehouse, la modification des chaînes de connexion et l’attribution aux utilisateurs Business Desk des autorisations nécessaires pour exécuter des rapports, consultez Sécurisation du Data Warehouse et Sécurisation des rapports.

Cette section contient les rubriques suivantes :

  • Déroulement des opérations pour l’exécution des tâches DTS. Illustre l’ordre dans lequel vous devez exécuter les tâches DTS de Commerce Server pour importer et transformer des données dans le Data Warehouse.
  • À propos du Data Warehouse. Décrit le Data Warehouse et les types de données qu’il contient.
  • Plusieurs sites et un Data Warehouse. Décrit les possibilités de configuration d’un Data Warehouse pour prendre en charge plusieurs sites.
  • Extension de la base de données du Data Warehouse. Explique comment vous pouvez étendre le Data Warehouse pour importer de nouvelles propriétés de transaction, de profil et de catalogue.
  • Méthodes conseillées pour le Data Warehouse. Fournit des recommandations au sujet du déploiement, de la configuration, de la gestion et de la maintenance du Data Warehouse.
  • Processus ETL (Extract, Transform, Load) pour les tâches DTS. Explique comment les données sont extraites de sources de données spécifiques, puis transformées en utilisant des règles, des algorithmes, des concaténations ou d’autres types de conversion. Cette rubrique décrit par ailleurs le chargement des données dans le Data Warehouse.
  • Création de nouveaux groupes de fichiers du Data Warehouse. Explique comment vous pouvez utiliser des groupes de fichiers SQL Server pour gérer les fichiers de base de données du Data Warehouse de Commerce Server.
  • Exécution de la tâche DTS Synchronisation de la configuration. Explique comment synchroniser la configuration du site et le Data Warehouse de sorte que les modifications apportées à l’application soient propagées au Data Warehouse.
  • Importation de données dans le Data Warehouse. Explique comment importer dans le Data Warehouse des données de fichier journal Web, de catalogue et de transaction.
  • Exécution de la tâche DTS Résolution IP. Explique comment résoudre les adresses IP (Internet Protocol) et décrit les actions effectuées lorsque vous exécutez la résolution IP.
  • Suppression de données du Data Warehouse. Explique comment supprimer des données du Data Warehouse.
  • Exécution de la tâche DTS Préparation du rapport. Explique comment utiliser la tâche DTS Préparation du rapport et décrit son rôle dans le chargement, dans les cubes OLAP, des données utilisées dans les rapports.
  • Activation de l’extraction sur les cubes OLAP. Explique comment activer l’extraction sur les cubes utilisés dans les rapports OLAP dynamiques.
  • Recherche des erreurs d’exécution de tâche DTS. Explique comment utiliser l’historique des tâches pour afficher l’état des tâches exécutées.
  • Création et planification d’un lot multitâche. Explique comment utiliser un lot SQL Server assorti d’instructions de déroulement des opérations et SQL Server Scheduler pour automatiser l’importation de données dans le Data Warehouse.
  • Déplacement du Data Warehouse. Explique comment déplacer la base de données du Data Warehouse et la base de données d’analyse vers d’autres ordinateurs.
  • Exécution de tâches DTS à l’aide de scripts. Répertorie les scripts nécessaires pour automatiser le traitement des tâches DTS.


Déroulement des opérations pour l'exécution des tâches DTS

Envoyer des commentaires sur cette page Commerce Server 2002

Déroulement des opérations pour l’exécution des tâches DTS

Vous exécutez séquentiellement les tâches DTS (Data Transformation Services) d’importation, de façon à importer d’abord les données factuelles, puis les données de dimension.

La figure suivante montre l’ordre dans lequel vous devez exécuter les tâches DTS de Commerce Server pour importer et transformer des données dans le Data Warehouse.

Remarques

  • Vous pouvez soit configurer manuellement les tâches DTS de Commerce Server pour importer des données, soit utiliser l’Assistant Importation du Data Warehouse. Pour plus d’informations sur cet Assistant, consultez Assistant Importation du Data Warehouse.
  • Exécutez toujours les tâches DTS séquentiellement. N’exécutez jamais deux tâches DTS (ou plusieurs instances d’une même tâche) simultanément sur le même Data Warehouse.

    L’exécution simultanée de deux tâches DTS aboutit à endommager les données stockées dans le Data Warehouse.

Voir aussi

Méthodes conseillées pour le Data Warehouse

Processus ETL (Extract, Transform, Load) pour les tâches DTS

(en anglais)

Data Warehouse, Analysis, and OLE DB Provider (en anglais)

Sécurisation des bases de données du Data Warehouse

Sécurisation des rapports

Plusieurs sites et un Data Warehouse


À propos du Data Warehouse

Le Data Warehouse de Commerce Server vous permet d’importer, de transformer et de stocker les données de sites Web. Les données stockées dans le Data Warehouse vous permettent d’analyser l’activité des utilisateurs sur votre site Web. offre des fonctionnalités d’élaboration de rapports dans Commerce Server Business Desk.

Ces rapports présentent les données du Data Warehouse sous différentes formes permettant de répondre à des questions commerciales spécifiques concernant votre site Web.

Le Data Warehouse vous permet d’effectuer les tâches suivantes :

  • Importer des données de journal Web, de transaction et de catalogue à partir de votre site Commerce Server. Vous pouvez également importer des données provenant d’autres banques de données, par exemple des serveurs Web non-Commerce Server.
  • Résoudre les adresses IP (Internet Protocol) importées pour des hôtes clients connectés à votre site en vue d’une utilisation dans des rapports personnalisés.
  • Préparer les données contenues dans votre Data Warehouse à l’analyse en remplissant des cubes OLAP (Online Analytical Processing), qui structurent les données pour en faciliter l’extraction lors de l’exécution de rapports.
  • Supprimer des données de fichier journal importées afin de réduire le volume de l’espace de stockage dans la base de données SQL Server nécessaire à Commerce Server.
  • Supprimer toutes les données contenues dans le Data Warehouse afin de supprimer des données de test ou archivées existantes.
  • Reconstruire automatiquement des modèles d’analyse pour afficher les données actuelles destinées aux prévisions et archiver les modèles d’analyse existants.

Le Data Warehouse utilise des tâches de transformation de données (DTS, Data Transformation Services) et des cubes OLAP (Online Analytical Processing) pour extraire, transformer et charger (ETL, Extract, Transform, Load) des données. Pour plus d’informations sur le processus ETL exécuté par chaque tâche, consultez Processus ETL (Extract, Transform, Load) pour les tâches DTS.

Cette section contient les rubriques suivantes :

  • Tâches DTS de Commerce Server
  • Moteur de stockage du Data Warehouse
  • Cubes OLAP


Tâches DTS de Commerce Server

Les tâches de transformation de données (DTS, Data Transformation Services) de Commerce Server vous permettent d’importer et de modifier des données dans le Data Warehouse. Les tâches de Commerce Server sont chargées dans SQL Server au moment de la décompression d’un site. Vous ajoutez les tâches de Commerce Server à un lot SQL Server, puis vous exécutez ce lot afin d’apporter des modifications au Data Warehouse. Pour plus d’informations sur le fonctionnement des tâches DTS, consultez Processus ETL (Extract, Transform, Load) pour les tâches DTS.

Vous pouvez soit configurer manuellement les tâches DTS de Commerce Server pour importer des données, soit utiliser l’Assistant Importation du Data Warehouse. Pour plus d’informations sur cet Assistant, consultez Assistant Importation du Data Warehouse.

Le tableau suivant décrit les tâches que Commerce Server fournit pour le Data Warehouse. Les tâches sont listées dans l’ordre où elles doivent s’exécuter.

Tâche DTS | Description
Synchronisation de la configuration | Synchronise le Data Warehouse et votre application Commerce Server après que vous avez apporté des modifications aux paramètres de configuration. Si la configuration du site change, cette tâche doit être exécutée avant tout autre tâche.
Importation de journal de serveur Web | Importe les données de fichier journal Web générées par votre site Web. Ces données sont recueillies lorsque des utilisateurs visitent votre site et cliquent sur des liens permettant d’accéder à ses pages Web. Les données comprennent le temps passé par l’utilisateur sur votre site, le site de référence, les clics sur publicité, la portée de la publicité, la fréquence des clics, ainsi que l’itinéraire de l’utilisateur dans le site, y compris les pages d’entrée et de sortie. Vous utilisez la tâche Importation de journal de serveur Web pour préciser le fichier journal à importer et l’emplacement où il se trouve. Les fichiers journaux Web doivent être au format de fichier journal Web étendu du W3C (World Wide Web Consortium).
Importation des données de transaction | Définit et importe les données de transaction. Les données de transaction sont créées sur votre site Web lorsqu’un utilisateur met des articles dans son chariot, en enlève ou procède à un achat. Vous pouvez exécuter des rapports afin d’analyser les données de transaction.
Importation du catalogue de produits | Importe des données sur les produits de vos catalogues. L’importation des données sur les produits permet d’indiquer dans vos rapports de transaction des informations plus descriptives sur les produits que celles disponibles dans les données de transaction. Vous pouvez également exécuter des rapports afin d’analyser la vente des produits.
Suppression des données | Supprime des données du Data Warehouse. Vous pouvez choisir de supprimer les données de fichier journal détaillées pour un site spécifique ou pour tous les sites du Data Warehouse. Vous avez également la possibilité de supprimer toutes les données (de détail et synthétisées) du Data Warehouse.
Résolution IP | Résout les adresses IP (Internet Protocol) à partir des données utilisateur importées. La résolution IP permet de convertir des adresses IP, importées à partir de vos fichiers journaux, en noms de domaine. Par exemple, 198.105.232.4 devient www.microsoft.com. Ceci permet aux personnes qui lisent vos rapports de comprendre plus facilement les données qui y sont contenues.
Préparation du rapport | Prépare les données pour le traitement du cube OLAP et l’élaboration de rapport SQL, et actualise les cubes après une suppression. Cette tâche doit être effectuée après chaque tâche d’importation et de suppression.

Vous pouvez aussi utiliser des scripts pour exécuter les tâches DTS de Commerce Server. Pour plus d’informations sur l’utilisation de scripts pour exécuter les tâches DTS de Commerce Server, consultez Exécution de tâches DTS à l’aide de scripts.

Pour plus d’informations sur la création de tâches DTS, consultez la documentation en ligne de SQL Server.

Voir aussi

Processus ETL (Extract, Transform, Load) pour les tâches DTS

Assistant Importation du Data Warehouse

Exécution de tâches DTS à l’aide de scripts

Configuration des propriétés de site Web par défaut pour l’importation

Configuration de la tâche DTS Importation de journal de serveur Web

Ajout d’une application non-Commerce Server à un site

Ajout d’un serveur Web non-Commerce Server à une application


Moteur de stockage du Data Warehouse

Le moteur de stockage du Data Warehouse propose les processus de stockage suivants pour le chargement des données dans le Data Warehouse :

  • Synthèse
  • Chargement de données

Synthèse

La synthèse permet de résumer les données sur les les transactions et les catalogues de la base de données Commerce Server lorsque vous exécutez la tâche DTS Importation de journal de serveur Web et la tâche DTS Préparation du rapport. Les synthèses transforment les données brutes contenues dans la base de données Commerce Server en informations dans le Data Warehouse, que vous utilisez pour analyser l’activité des utilisateurs sur votre site Web. La synthèse est effectuée en totalisant et en comptant les données brutes associées.

Par exemple, 1000 enregistrements d’accès uniques à une page donnée, un jour donné, sont synthétisés en une information indiquant que la page a fait l’objet de 1 000 accès ce jour-là. Vous pouvez utiliser ces informations pour prendre des décisions qui augmenteront le trafic sur votre site Web.

Chargement de données

Le chargement de données permet de prendre en charge le chargement d’importants volumes de données dans le Data Warehouse, moyennant des lectures et des écritures en parallèle. Le moteur de stockage effectue des écritures et des recherches de clé étrangère parallèles très rapides, génère les clés de remplacement, mappe les emplacements logiques vers des emplacements physiques et réalise des copies en bloc parallèles très rapides à l’aide du programme BCP (Bulk Copy Program) de SQL Server.

Voir aussi

Configuration des propriétés de site Web par défaut pour l’importation

Configuration de la tâche DTS Importation de journal de serveur Web

Ajout d’une application non-Commerce Server à un site


Cubes OLAP

Les cubes Online analytical processing (OLAP) représentent des structures de données que le Data Warehouse utilise pour contenir les données que vous importez. Les cubes décomposent les données en sous-ensembles, définis par des dimensions partagées.

Une dimension constitue l’attribut descriptif d’un indicateur. Par exemple, une dimension peut décrire le nombre de transactions sur votre site. Le nombre de transactions est un indicateur. La transaction et les produits achetés constituent les dimensions. La figure suivante montre la relation existant entre les dimensions et les indicateurs.

Dimensions et indicateurs.

Les cubes OLAP utilisés par Commerce Server sont créés au cours du processus de décompression et sont remplis et traités pour la récupération de données lorsque la tâche DTS Préparation du rapport est exécutée. Le stockage de données dans des cubes augmente la vitesse de récupération des données lorsque vous exécutez les rapports d’analyse de site Web dans Business Desk. Le tableau suivant répertorie les cubes et dimensions Commerce Server.

Cube | Dimensions
mscsSales | Date ProductCategory Site UserType Address Currency
Basket Events | DateHour Events Site UserType Product Category
OrderEvents | DateHour Day of Week Event Hour of Day Site UserType Week of Year
Buyer Visits | BuyerType Site UserType
Bandwidth | DateHour Day of Week Hour of Day Site
Entry Pages | Date Site URI
Exit Pages | Date Site URI
mscsWebUsage | Date DateHour Day of Week Hour by Day Referrer UserType Week of Year
mscsVisitInfo | Date DateHour Day of Week Hour by Day Referrer UserType Week of Year
Page Usage | Date HTTP Status Is Request Level Directory Site URI Win32Status

Pour plus d’informations sur les cubes OLAP, consultez la documentation en ligne de SQL Server.

Voir aussi

Configuration des propriétés de site Web par défaut pour l’importation

Configuration de la tâche DTS Importation de journal de serveur Web

Ajout d’une application non-Commerce Server à un site


Plusieurs sites et un Data Warehouse

Un seul Data Warehouse de Commerce Server peut stocker les données d’une pluralité de sites (10 au maximum). Vous pouvez utiliser les tâches DTS (Data Transformation Services) de Commerce Server pour effectuer des actions concernant un site particulier ou tous les sites du Data Warehouse.

Microsoft IIS (Internet Information Services) prend en charge plusieurs serveurs virtuels (c.-à-d. plusieurs sites Web par défaut) sur un même serveur physique. Chacun de ces serveurs virtuels produit un fichier journal. Vous associez les fichiers journaux à un site du Data Warehouse lorsque vous configurez la tâche DTS Importation de journal de serveur Web. Pour plus d’informations, consultez Configuration de la tâche DTS Importation de journal de serveur Web.

Le Data Warehouse prend en charge les scénarios suivants dans un environnement composé de plusieurs sites :

  • Importation de fichiers journaux de serveur Web pour plusieurs sites utilisant des fichiers journaux différents.
  • Importation de fichiers journaux de serveur Web pour plusieurs sites ayant chacun le même nom de serveur, mais utilisant un port différent.
  • Importation de fichiers journaux de serveur Web pour plusieurs sites possédant chacun un en-tête d’hôte différent.
  • Partage de ressources et de bases de données à travers les sites. Pour plus d’informations sur les ressources Commerce Server susceptibles d’être partagées à travers plusieurs sites, consultez Partage de ressources entre plusieurs sites.

    Par exemple, si vous avez deux sites, « Mes vêtements » et « Habiller bébé », ces sites peuvent partager la ressource Profils.

  • Partage d’un Data Warehouse pour plusieurs sites qui se trouvent dans des fuseaux horaires différents et possèdent leurs propres ressources en ligne.

Points à prendre en compte

Vous devez prendre en compte les points suivants lorsque vous utilisez un Data Warehouse pour plusieurs sites :

  • Quand vous exécutez la tâche DTS Importation des données de transaction sur un Data Warehouse qui contient des données pour plusieurs sites Web, vérifiez que les classes étendues par plusieurs sites Web contiennent des membres portant des noms uniques si leurs types de données ne sont pas les mêmes. Si un nouveau membre est ajouté à une classe dans plusieurs sites Web et que le type de données de ces nouveaux membres n’est pas le même, une erreur peut avoir lieu ou les données risquent d’être converties incorrectement lors de l’exécution de la tâche DTS Importation des données de transaction.
  • Si un Data Warehouse prend en charge plusieurs sites, les noms des catalogues dont vous importez les données doivent être uniques.

    Si deux sites ont le même nom de catalogue et les mêmes produits, mais des propriétés de catalogue et des définitions de produit différentes, les données du catalogue importé en premier sont remplacées lors de l’importation du second catalogue.

  • Si la ressource Profils est partagée par plusieurs sites dans le Data Warehouse, des utilisateurs individuels paraîtront, dans certains rapports, appartenir à chaque site partageant la ressource Profils. Il en résultera un gonflement des totaux généraux dans ces rapports, puisque les utilisateurs seront comptés une fois pour chaque site partageant la ressource Profils où ils sont inscrits.

    Les rapports suivants sont affectés :

    • Utilisateurs inscrits par date d’inscription (SQL dynamique)
    • Jours avant inscription de l’utilisateur (SQL dynamique)
    • Taux d’inscription des utilisateurs (SQL dynamique)

    Si la ressource Profils est partagée à travers plusieurs sites, désactivez ou ignorez les totaux généraux dans ces rapports.

Voir aussi

Sécurisation des bases de données du Data Warehouse

Sécurisation des rapports


Extension de la base de données du Data Warehouse

Les fonctions d’importation du Data Warehouse ont été conçues pour importer des données basées sur les paramètres par défaut de Commerce Server. La méthode que vous utilisez pour étendre la base de données du Data Warehouse afin de pouvoir importer de nouvelles données dépend du type de données que vous voulez importer. Par exemple, si vous ajoutez des propriétés de catalogue de produits, vous pouvez demander au Data Warehouse d’effectuer la modification du schéma requise pour accepter les nouvelles données en définissant l’attribut Stocker les données en vue d’une analyse dans le Concepteur de définitions de catalogues.

Si vous voulez importer d’autres types de données dans le Data Warehouse, vous devrez l’étendre physiquement. Par exemple, vous pouvez étendre le Data Warehouse afin d’importer des données sur les ventes de votre magasin de matériaux de construction. En outre, vous pouvez créer un rapport personnalisé qui présente les nouvelles données et vous permet d’analyser les ventes en ligne et les ventes en magasin.

Le tableau suivant décrit les différentes façons d’étendre le Data Warehouse pour stocker de nouvelles données.

Type de donnée importée Méthode d’extension du Data Warehouse
Nouvelle propriété de transaction Utilisez la table TransDimension de la base de données Commerce pour sélectionner les propriétés de transaction à importer dans le Data Warehouse. La tâche DTS Importation des données de transaction étendra automatiquement le schéma de la base de données du Data Warehouse pour accueillir la nouvelle propriété de profil.

Remarque

  • Ne supprimez pas les enregistrements par défaut de la table TransDimension. En effet, cette suppression n’ayant pas fait l’objet d’un test, le comportement résultant est inconnu. Limitez-vous à ajouter de nouveaux enregistrements à cette table et ne supprimez que ces nouveaux enregistrements de cette table.

Pour plus d’informations sur l’extension du Data Warehouse en vue d’importer des propriétés de transaction, consultez Sélection des propriétés de transaction à importer.
Nouvelle propriété de catalogue Activez la case à cocher en regard de l’attribut Stocker les données en vue d’une analyse pour la propriété dans la définition de catalogue. La tâche DTS Importation du catalogue de produits étendra automatiquement le schéma de la base de données du Data Warehouse pour accueillir la nouvelle propriété de catalogue.

Pour plus d’informations sur l’extension du Data Warehouse en vue d’importer des propriétés de catalogue, consultez Sélection des propriétés de catalogue à importer.

Par ailleurs, consultez le livre blanc « Extending the Commerce Server Data Warehouse / Analytics » à la page Development du site Web de Commerce Server http://go.microsoft.com/fwlink/?LinkId=945.


Méthodes conseillées pour le Data Warehouse

Cette rubrique décrit les méthodes conseillées pour le déploiement, la configuration, l’importation et la maintenance du Data Warehouse.

Cette section contient les rubriques suivantes :

  • Méthodes conseillées pour le déploiement
  • Méthodes conseillées pour la configuration
  • Méthodes conseillées pour l’importation
  • Méthodes conseillées pour la maintenance


Méthodes conseillées pour le déploiement

  • Pour optimiser les performances, déployez le Data Warehouse sur trois ordinateurs et Business Desk sur un quatrième ordinateur.
    Ordinateur Configuration logicielle requise Matériel
    (Grands sites)     		Matériel
    (Sites moyens)
    1. Importation de journal Commerce Server 2002
    Ressource Data Warehouse (décompresser)
    Outils clients Analysis Services     		8 processeurs
    4 Go de mémoire vive
    200 Go d’espace disque (minimum)     		4 processeurs
    4 Go de mémoire vive
    100 Go d’espace disque
    2. Data Warehouse SQL Server 2000
    Outils clients SQL Server
    Commerce Server 2002
    Ressource Data Warehouse (décompresser)     		8 processeurs
    4 Go de mémoire vive
    200 Go d’espace disque (minimum)     		4 processeurs
    4 Go de mémoire vive
    100 Go d’espace disque
    3. Serveur d’analyse Analysis Services
    Commerce Server
    Ressource Data Warehouse (décompresser)     		4 processeurs
    4 Go de mémoire vive
    Disque dur de 100 Go ou davantage pour la base de données OLAP     		4 processeurs
    4 Go de mémoire vive
    Disque dur de 100 Go ou davantage pour la base de données OLAP

    Analysis Services doit être installé sur tout ordinateur où vous décompressez la ressource Data Warehouse. Après avoir décompressé la ressource, vous pouvez supprimer Analysis Services. Par exemple, vous pouvez installer Analysis Services sur l’ordinateur où vous exécutez le Gestionnaire de package de site de Commerce Server, mais décompresser la ressource Data Warehouse vers un autre ordinateur. Après avoir mené à bien le processus de décompression, vous pouvez supprimer Analysis Services de l’ordinateur où vous exécutiez le Gestionnaire de package de site.

    Les outils clients Analysis Services doivent être installés sur l’ordinateur exécutant les tâches DTS (Data Transformation Services) d’importation.

  • Sur le serveur d’analyse, fixez la taille du fichier d’échange à 10 Go pour pouvoir traiter de vastes ensembles de données.

    Cette configuration permet au serveur d’analyse de disposer d’un vaste espace d’adressage virtuel dédié lors du traitement des cubes de grande taille. Le serveur d’analyse stocke toutes les données sur les dimensions dans un cache.

    Pour définir la taille du fichier d’échange de Windows 2000

    1. Sur le bureau, cliquez avec le bouton droit sur Poste de travail, puis cliquez sur Propriétés.
    2. Dans la boîte de dialogue Propriétés système, sous l’onglet Avancé, dans la section Performances, cliquez sur Options de performances.
    3. Dans la boîte de dialogue Options de performances, dans la section Performances des applications, vérifiez que l’option les services d’arrière-plan est sélectionnée.
    4. Dans la section Mémoire virtuelle, cliquez sur Modifier.
    5. Dans la boîte de dialogue Mémoire virtuelle, dans la section Taille du fichier d’échange pour le lecteur sélectionné, dans la zone Taille maximale (Mo), tapez 1000, puis cliquez sur Définir.
    6. Cliquez sur OK trois fois pour fermer toutes les boîtes de dialogue.
  • Déployez la base de données Data Warehouse, le fichier journal des transactions et le fichier d’échange vers des lecteurs différents.

    Cette configuration augmente le débit des données en permettant un accès simultané aux périphériques physiques.

  • Utilisez la fonctionnalité de groupes de fichiers de SQL Server pour simplifier la maintenance et améliorer les performances.

    La fonctionnalité de groupes de fichiers vous aide à équilibrer la charge de données entre plusieurs disques et à utiliser des threads parallèles pour améliorer l’accès aux données. Si votre matériel est limité au niveau des E/S, vous avez peut-être intérêt à utiliser la fonctionnalité groupes de fichiers de SQL Server. Pour déterminer si votre matériel est limité au niveau des E/S, consultez « Les compteurs de performance du disque physique » dans l’aide de Windows 2000.

    Par exemple, vous pouvez placer les tables Request, Visit et VisitInfo dans trois groupes de fichiers différents. (Placez également LogUser/URI dans un groupe de fichiers séparé si ces tables sont de grande dimension). Placez les agrégats dans des groupes de fichiers séparés. Pour plus d’informations sur les groupes de fichiers, consultez Création de nouveaux groupes de fichiers du Data Warehouse.

  • Pour éviter les erreurs « mémoire insuffisante » dans le journal des événements du Data Warehouse, activez le commutateur 3 Go dans le fichier Boot.ini de Windows 2000 sur l’ordinateur qui héberge le Data Warehouse (SQL Server) et sur l’ordinateur où s’exécute le serveur d’analyse.

    Avec un site de grande taille, vous recevez des erreurs « mémoire insuffisante » si le processus d’importation de journal de serveur Web vient à manquer de mémoire virtuelle. Pour éviter ces erreurs, activez le commutateur 3 Go dans le fichier Boot.ini de Windows 2000.

    L’activation du commutateur 3 Go s’effectue en deux étapes :

    1. Modifiez le fichier Boot.ini. Pour plus d’informations sur le commutateur 3 Go, consultez l’aide de Windows 2000 Advanced Server.
    2. Modifiez le fichier exécutable exécutant la DLL d’importation de journal. Selon le mode d’importation des données dans le Data Warehouse, vous devez modifier le fichier exécutable correspondant.

    Pour obtenir des instructions, consultez Exécution de la tâche DTS Importation de journal de serveur Web pour un grand site.

    Par ailleurs, pour Analysis Services, définissez une Taille du tampon de traitement supérieure à la valeur retenue par défaut. Par exemple, fixez la taille du tampon à 2 Go et allouez 4 Go de mémoire physique.

  • Configurez la taille de fichier de la base de données du Data Warehouse de façon à améliorer les performances à l’importation.
La croissance automatique du fichier de la base de données réduit notablement les performances du Data Warehouse à l’importation. Une augmentation de la taille de la base de données contribue à diminuer la charge de traitement liée à une extension de la base de données au moment de l’exécution. Vous pouvez calculer la taille de la base de données du Data Warehouse en divisant la taille totale des fichiers journaux par 2. En utilisant une taille fixe pour la base de données au lieu de laisser grossir son fichier automatiquement, vous évitez la baisse sensible des performances causée par la croissance du fichier de la base de données.

Pour désactiver la croissance automatique du fichier

  1. Dans SQL Server Enterprise Manager, développez un groupe de serveurs, puis un serveur.
  2. Développez Bases de données, cliquez avec le bouton droit sur la base de données du Data Warehouse, puis cliquez sur Propriétés.
  3. Dans la boîte de dialogue Propriétés de <Base de données>, sous l’onglet Fichiers de données, dans la section Propriétés du fichier, désactivez la case à cocher Fichier à croissance automatique, puis cliquez sur OK.
Si vous voulez utiliser la fonctionnalité SQL Server de croissance automatique de fichier, définissez une taille maximale absolue pour la base de données du Data Warehouse, au lieu de spécifier un pourcentage. La spécification d’une taille maximale d’une base de données, contrairement à celle d’un pourcentage, vous permet de gérer la taille de la base de données et la capacité disque plus étroitement.

Pour configurer les paramètres de croissance de fichier de la base de données du Data Warehouse

  1. Dans SQL Server Enterprise Manager, développez un groupe de serveurs, puis un serveur.
  2. Développez Bases de données, cliquez avec le bouton droit sur la base de données du Data Warehouse, puis cliquez sur Propriétés.
  3. Dans la boîte de dialogue Propriétés de <Base de données>, sous l’onglet Fichiers de données, dans la section Taille maximale du fichier, sélectionnez Limiter la croissance du fichier (Mo) et, dans la zone Limiter la croissance du fichier (Mo), tapez la taille maximale de la base de données, puis cliquez sur OK.
  • Utilisez uniquement l’instance par défaut de SQL Server sur le serveur de production.
Pour améliorer les performances, n’exécutez pas plusieurs instances de SQL Server sur le serveur de production.
  • N’affectez à la variable d’environnement « StoreClientIP » la valeur « Vrai » que si vous n’avez pas besoin de rapports au sujet des adresses IP.

    Pour définir StoreClientIP

    1. Sur le bureau, cliquez avec le bouton droit sur Poste de travail, puis cliquez sur Propriétés.
    2. Dans la boîte de dialogue Propriétés système, sous l’onglet Avancé, cliquez sur Variables d’environnement.
    3. Dans la boîte de dialogue Variables d’environnement, dans la section Variables utilisateur, cliquez sur Nouveau.
    4. Dans la boîte de dialogue Nouvelle variable utilisateur, effectuez les opérations suivantes :
      Utilisez ceci | Pour faire cela
      Nom de la variable | Taper StoreClientIP.
      Valeur de la variable | Taper Vrai.
    5. Cliquez sur OK.

    Les processus existants qui s’exécutent lorsque vous redéfinissez une variable d’environnement ne mettent pas à jour les processus en cours d’exécution existants.

  • Affectez à la variable d’environnement UseExternalReferrerForInference la valeur F (False) pour n’utiliser des délais d’expiration que pour fermer les visites d’utilisateur ouvertes pendant l’importation.
Commerce Server infère les visites individuelles à un site en combinant le domaine de point d’accès, à partir duquel un utilisateur visite un site, et une valeur configurable de délai d’expiration de la visite ; au bout de ce délai, qui est par défaut de 30 minutes, Commerce Server considère que la visite est terminée. D’autres produits d’analyse de journal n’utilisent qu’un délai d’expiration de 30 minutes pour calculer les visites. Affectez à la variable d’environnement UseExternalReferrerForInference la valeur F (False) pour n’utiliser que des délais d’expiration de 30 minutes pour calculer les visites.
Dans Commerce Server, le point d’accès interne est une combinaison de la propriété Nom d’hôte non sécurisé et de la propriété Chemin de l’application IIS. Durant le traitement d’un journal, pour chaque ligne de ce journal, le champ de point d’accès du fichier journal au format du W3C (cs(referrer)) contient un identificateur URI. Commerce Server compare le préfixe du champ de point d’accès W3C au point d’accès interne. S’ils ne correspondent pas, Commerce Server considère que l’accès s’est effectué à partir d’un site externe et que la visite d’utilisateur en cours est terminée.

Pour affecter à la variable d’environnement UseExternalReferrerForInference la valeur F (False)

  1. Cliquez avec le bouton droit sur Poste de travail, puis cliquez sur Propriétés.
  2. Dans la boîte de dialogue Propriétés système, sous l’onglet Avancé, cliquez sur Variables d’environnement.
  3. Dans la boîte de dialogue Variables d’environnement, dans la section Variables système, cliquez sur Nouveau.
  4. Dans la boîte de dialogue Nouvelle variable système, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom de la variable | Taper UseExternalReferrerForInference.
    Valeur de la variable | Taper F.
  5. Cliquez sur OK trois fois pour fermer toutes les boîtes de dialogue.
  • Configurez Commerce Server pour reconnaître tous les domaines internes d’un site, afin d’éviter que le comptage des visites ne donne un résultat gonflé artificiellement.
Commerce Server infère les visites individuelles à un site sur la base de deux critères : le domaine de point d’accès, à partir duquel un utilisateur visite un site, et une valeur de délai d’expiration configurable (ce délai est par défaut de 30 minutes). Si vous ne le configurez pas pour reconnaître tous les domaines internes d’un site, Commerce Server considère comme points d’accès externes les domaines que vous ne configurez pas comme internes, et il les utilise pour calculer les nouvelles visites.
L’affectation de la valeur F (False) à la variable d’environnement UseExternalReferrerForInference désactive la vérification de point d’accès externe lors du calcul des visites.
Si vous appelez le processus d’importation de journal Web à partir d’une ligne de commande, vous pouvez utiliser l’instruction suivante pour affecter la valeur F (False) à la variable d’environnement UseExternalReferrerForInference pour le shell de cette commande et désactiver la vérification de point d’accès externe lors du calcul des visites :
   set UseExternalReferrerForInference=F
Il suffira ensuite d’affecter la valeur T (True) à la variable d’environnement UseExternalReferrerForInference pour que le processus d’importation de journal Web de Commerce Server recommence à utiliser la vérification de point d’accès externe.


Méthodes conseillées pour la configuration

  • Si vous avez plusieurs applications et fichiers journaux, au lieu de vous servir de l’interface utilisateur, employez un script pour configurer la tâche DTS Importation du journal de serveur Web.

    Pour connaître les instructions à suivre, consultez Exécution de la tâche DTS Importation de journal de serveur Web à l’aide d’un script.

  • Lorsque vous modifiez les paramètres de configuration de site, exécutez la tâche DTS Synchronisation de la configuration.

    La tâche DTS Synchronisation de la configuration permet d’importer dans le Data Warehouse les informations de configuration de site stockées dans la base de données d’administration. Cette opération n’est pas exactement la même que celle effectuée par le bouton Synchroniser les valeurs de la boîte de dialogue Propriétés d’application. Lorsque vous cliquez sur ce bouton, Commerce Server lit les valeurs depuis la métabase IIS (Internet Information Services) vers la base de données d’administration, puis de la base de données d’administration vers le Data Warehouse. Pour plus d’informations, consultez Configuration d’une application.

    Pour des raisons de performances, le Data Warehouse stocke les données de configuration de site (en particulier les paramètres relatifs à la topologie de site) au lieu de les lire dans la base de données d’administration chaque fois qu’il en a besoin.

    Vous pouvez choisir de synchroniser le Data Warehouse avec un seul site ou avec tous les sites qu’il prend en charge. Vous devez exécuter la tâche de synchronisation avant d’exécuter les tâches DTS qui importent ou suppriment des données. Pour obtenir des instructions sur la tâche DTS Synchronisation de la configuration, consultez Exécution de la tâche DTS Synchronisation de la configuration.

  • Vérifiez la valeur par défaut de la propriété FirstDayOfWeek dans votre version localisée de SQL Server afin de déterminer le jour de début de la semaine pour les rapports.

    Pour les agrégations hebdomadaires des rapports d’analyse, Commerce Server emploie le jour de début de la semaine par défaut défini dans la version localisée du produit SQL Server utilisé. Pour la version française de SQL Server, le jour de début de la semaine par défaut est lundi.

    Les rapports d’analyse n’utilisent pas le jour de début de la semaine spécifié dans la propriété Démarrer le du Gestionnaire Commerce Server.

  • Si vous changez le mot de passe du SA pour le serveur SQL qui héberge la base de données Data Warehouse, vous devez recréer les tâches DTS Importation des données de transaction et Importation du catalogue de produits.

    En effet, ces tâches DTS stockent le mot de passe du SA.

  • Acceptez toujours l’option IIS par défaut de journalisation des données selon l’heure GMT (Greenwich mean time), conformément au standard W3C (World Wide Web Consortium).

    La tâche DTS Importation de journal de serveur Web suppose que les données à importer font référence à l’heure GMT et traite la transaction en conséquence. Ne sélectionnez jamais l’option IIS de journalisation des données selon l’heure locale, car elle risque de causer des problèmes si vous importez des fichiers journaux de serveur Web selon la plage date/heure.

    Si vous configurez la tâche DTS Importation de journal de serveur Web pour importer les fichiers journaux selon la plage date/heure, spécifiez une date/heure GMT.

  • Définissez comme valeur de Registre IncrementalOverlap la différence entre les fuseaux horaires plus deux heures
Lors de l’exécution des rapports incrémentiels, la tâche DTS Importation des données de transaction utilise le champ date de la dernière modification de la table de runtime pour détecter le moment où un enregistrement a été modifié et doit être importé dans le Data Warehouse. Comme ce champ contient une valeur date/heure écrite par des applications, il se peut que les fuseaux horaires et les horloges des systèmes qui écrivent cette valeur ne soient pas synchronisés. Ceci peut conduire à des variations dans le champ date de la dernière modification et, par conséquent, à des situations où le processus d’importation risque de sauter certains enregistrements.
Pour les systèmes fonctionnant dans des fuseaux horaires différents, cet intervalle doit être augmenté de sorte que la fenêtre de traitement couvre la différence entre les fuseaux horaires plus deux heures.
Pour remplacer la valeur par défaut de deux heures, ajoutez les valeurs suivantes au Registre de votre ordinateur :
DWORD : HEKY_LOCAL_MACHINE\Software\Microsoft\Commerce Server\TransactionImportDTS\IncrementalOverlap
DWORD : HKEY_LOCAL_MACHINE\ Software\Microsoft\Commerce Server\ProfileDataImportDTS\IncrementalOverlap
Si la valeur du Registre est présente, le Data Warehouse l’utilise comme le nombre d’heures soustrait de l’heure de démarrage de la dernière importation réussie au lieu d’utiliser la valeur IncrementalOverlap.
  • Si la tâche DTS Importation de journal de serveur Web n’importe pas un fichier que vous voulez ou en importe un que vous ne voulez pas, vérifiez la configuration de l’option « Importer tous les fichiers journaux depuis la dernière importation ».

    La table Sitesummary du Data Warehouse stocke les informations de date/heure de début et de fin que vous spécifiez dans la boîte de dialogue Importer les journaux de serveur Web.

    L’option Importer tous les fichiers journaux depuis la dernière importation compare la valeur date/heure de fin stockée dans la table Sitesummary à la date du fichier journal Web. Comme cette valeur est enregistrée selon l’heure locale, il peut s’avérer nécessaire de l’ajuster puisque les serveurs Web utilisent l’heure GMT pour enregistrer leurs journaux.

  • Si les adresses IP des clients sont converties en une seule adresse IP, utilisez les cookies ou les noms d’utilisateur dans la tâche DTS Importation de journal de serveur Web pour les inférences des utilisateurs.

    Deux tâches DTS sont concernées par les conversions IP :

    • Importation de journal de serveur Web. Lors de l’inférence des utilisateurs, si l’adresse IP de plusieurs utilisateurs est convertie en une seule adresse IP, tous ces utilisateurs sont traités comme un même utilisateur s’ils se servent du même navigateur.

      Par exemple, si parmi les dix utilisateurs dont l’adresse IP est convertie en une seule adresse IP cinq utilisateurs se servent du navigateur « A » et cinq du navigateur « B », les dix utilisateurs sont traités comme deux utilisateurs différents. Ce résultat s’explique par le fait que Commerce Server utilise l’adresse IP et le type de navigateur (au lieu de cookies et de noms d’utilisateur) pour inférer les utilisateurs.

    • Résolution IP. Lorsque plusieurs adresses IP sont converties en une seule adresse IP, vous risquez de ne pas obtenir des informations de domaine précises sur tous les utilisateurs visitant le site parce que la tâche DTS Résolution IP n’effectue une recherche que sur une seule adresse IP.

    Pour utiliser soit des cookies, soit des noms d’utilisateur pour inférer les utilisateurs, consultez Précision des inférences.

  • Si vous utilisez l’extraction sur le rapport Ventes produits ou Événements du panier d’achat, employez la procédure stockée CSDW_MakePrimaryProductCategoryInfo pour mapper chaque produit vers sa catégorie parent primaire.

    Lorsque vous utilisez l’extraction pour afficher les détails du rapport Ventes produits ou du rapport Événements du panier d’achat, les informations détaillées risquent de mentionner un nombre d’articles dépassant le total indiqué dans le rapport de tableau croisé dynamique. Ce comportement peut avoir lieu quand un produit est mappé vers plusieurs catégories. Ceci est dû à la conception : le produit existe dans plusieurs catégories sous la catégorie examinée actuellement.

    Si vous voulez être sûr qu’une seule ligne sera renvoyée pour chaque produit dans les résultats d’extraction, vous devez faire en sorte que chaque produit ne soit mappé que vers une seule catégorie de produit. Utilisez la procédure stockée CSDW_MakePrimaryProductCategoryInfo pour mapper chaque produit vers sa catégorie parent primaire. Ainsi, vous êtes sûr que chaque produit sera mappé vers une catégorie et une seule dans la hiérarchie des catégories.

    Pour plus d’informations, consultez Utilisation de l’extraction pour afficher les rapports Ventes produits ou Événements du panier d’achat.


Méthodes conseillées pour l'importation

Envoyer des commentaires sur cette page Commerce Server 2002

Méthodes conseillées pour l’importation

  • Exécutez toujours les tâches DTS séquentiellement. N’exécutez jamais deux tâches DTS (ou plusieurs instances d’une même tâche) simultanément sur le même Data Warehouse.

    L’exécution simultanée de deux tâches DTS aboutit à endommager les données stockées dans le Data Warehouse.

  • Exécutez séquentiellement les tâches DTS d’importation, de façon à importer d’abord les données factuelles, puis les données de dimension.

    Exécutez toujours les tâches d’importation DTS dans l’ordre suivant :

    • Importation de journal de serveur Web (données factuelles)
    • Importation des données de transaction (données factuelles)
    • Importation du catalogue de produits (données de dimension)
  • Si une tâche DTS d’importation échoue ou si vous annulez une tâche DTS d’importation en cours d’exécution, exécutez la tâche DTS Suppression des données.

    Vous devez exécuter la tâche DTS Suppression des données pour supprimer les données qui ont été importées et replacer les tables de classe d’agrégation dans l’état où elles se trouvaient avant l’importation. Si vous omettez cette étape, les agrégations risquent d’être incorrectes.

  • N’exécutez pas la tâche DTS Importation de journal de serveur Web sur un serveur Web de production. Exécutez cette tâche DTS sur un ordinateur dédié.

    La tâche DTS Importation de journal de serveur Web engendre un gros volume d’activité pour les disques, SQL Server, l’unité centrale et, éventuellement, le réseau. Pour minimiser son impact sur les autres ressources, exécutez-la sur un ordinateur séparé, où vous pouvez aussi installer Analysis Services. Ne l’exécutez pas sur votre ordinateur SQL Server.

  • Pour optimiser le processus d’importation de journal de serveur Web, affectez à la variable d’environnement StoreLogUser la valeur F (False).

    Affectez à la variable StoreLogUser la valeur F (False) si vous n’avez pas besoin d’exécuter la tâche DTS Résolution IP et si vous ne créez pas de rapport personnalisé utilisant les données de la table LogUser.

    En affectant la valeur F (False) à la variable StoreLogUser, vous pouvez augmenter la vitesse de traitement de 50 pour cent. La table LogUser du Data Warehouse n’est pas remplie durant le processus d’importation.

    Pour définir la variable d’environnement StoreLogUser

    1. Sur le serveur Data Warehouse, cliquez avec le bouton droit sur Poste de travail, puis cliquez sur Propriétés.
    2. Dans la boîte de dialogue Propriétés système, sous l’onglet Avancé, cliquez sur Variables d’environnement.
    3. Dans la boîte de dialogue Variables d’environnement, dans la section Variables système, cliquez sur Nouveau.
    4. Dans la boîte de dialogue Nouvelle variable système, dans la zone Nom de la variable, tapez StoreLogUser et, dans la zone Valeur de la variable, tapez F.
    5. Cliquez sur OK trois fois pour fermer toutes les boîtes de dialogue.
  • Si vous exécutez la tâche DTS Importation de journal de serveur Web en utilisant un script, vous devez spécifier un commutateur 3 Go dans le fichier Boot.ini de Windows 2000 sur l’ordinateur hébergeant le Data Warehouse (SQL Server) et l’ordinateur hébergeant le serveur d’analyse.

    L’activation du commutateur 3 Go s’effectue en deux étapes :

    1. Modifiez le fichier Boot.ini. Pour plus d’informations sur le commutateur 3 Go, consultez l’aide de Windows 2000 Advanced Server.
    2. Modifiez le fichier exécutable exécutant la DLL d’importation de journal. Selon le mode d’importation des données dans le Data Warehouse, vous devez modifier le fichier exécutable correspondant.

    Pour obtenir des instructions, consultez Exécution de la tâche DTS Importation de journal de serveur Web pour un grand site.

  • Groupez les fichiers journaux de la journée avant de les importer.

    Si vous groupez les fichiers journaux sur une base journalière, puis les importez, le processus d’importation prendra moins de temps que si vous importez les fichiers toutes les heures.

  • Importez les journaux Web juste avant d’exécuter la tâche DTS Préparation du rapport.

    Par exemple, si vous importez les fichiers journaux de serveur Web toutes les heures, n’importez que quelques fichiers journaux à la fois. À mesure que la taille de vos fichiers journaux de serveur Web augmente, la vitesse de l’importation, exprimée en gigaoctets par heure, diminue.

  • Après avoir importé ou supprimé des données, exécutez la tâche DTS Préparation du rapport.

    La tâche DTS Préparation du rapport permet de remplir les cubes OLAP (Online Analytical Processing) à partir des données les plus récentes sur les sites et les utilisateurs stockées dans le Data Warehouse. Commerce Server 2002 utilise les cubes OLAP pour organiser les données résumées stockées dans le Data Warehouse, afin d’accélérer les rapports exécutés à partir des modules Analyse.

  • Si plusieurs sites se partagent un Data Warehouse, exécutez la tâche DTS Préparation du rapport une fois pour traiter les données de tous les sites.

    Lorsqu’elle est exécutée, la tâche DTS Préparation du rapport traite tous les sites d’un Data Warehouse. N’exécutez pas la tâche DTS séparément pour chaque site, sous peine de nuire aux performances du Data Warehouse.

  • Pour éviter de recevoir des messages d’erreur pendant que vous exécutez la tâche DTS Préparation du rapport, désactivez le traitement des objets pour lesquels il n’y aura pas de données.

    Il se peut que la tâche DTS Préparation du rapport signale des erreurs lors du traitement des dimensions et des cubes OLAP si les informations nécessaires pour remplir ces objets n’ont pas été importées dans le Data Warehouse. Le message d’erreur présente l’aspect suivant :

    Processing error [Source data contains no rows] <object name>

    Si vous importez un sous-ensemble de données dans le Data Warehouse (par exemple lorsque vous n’exécutez pas la tâche DTS Importation du catalogue de produits), vous pouvez choisir de désactiver le traitement des objets pour lesquels il n’y aura pas de données. Vous éviterez ainsi les messages d’erreur « [La source de données ne contient pas de lignes] ».

    Pour désactiver le traitement d’objets Analysis Services, affectez à l’indicateur ProcessingEnabled la valeur 0 dans les tables CubeProcInfo et DimProcInfo pour les cubes et les dimensions que vous ne voulez pas traiter.

  • Si vous avez une batterie de serveurs Web, collectez les fichiers journaux de serveur Web sur un ordinateur local avant de les importer dans le Data Warehouse.

    Le regroupement des fichiers sur l’ordinateur local qui exécute la tâche DTS Importation de journal de serveur Web permet de diminuer le trafic sur le réseau. Il est recommandé d’implémenter la procédure suivante :

    1. Configurez chaque serveur Web de sorte qu’il compresse ses propres fichiers journaux Web.
    2. Écrivez un script Microsoft Visual Basic Scripting Edition (VBScript) pour mapper les lecteurs, copier les fichiers compressés vers un emplacement central, puis les décompresser.
    3. Écrivez un second script VBScript pour nettoyer les fichiers journaux Web.
    4. Créez une tâche DTS « Exécution du processus » qui exécute le premier script VBScript, afin de copier et de décompresser les fichiers journaux. Cette tâche doit échouer si l’un des fichiers journaux n’est pas disponible ou n’est pas compressé correctement.
    5. Créez une seconde tâche DTS qui exécute le script VBScript permettant de nettoyer les fichiers journaux décompressés.
    6. Exécutez la tâche DTS Synchronisation de la configuration, puis la tâche DTS Importation de journal de serveur Web.
  • Si votre déploiement inclut plusieurs serveurs Web, vous pouvez améliorer les performances du processus d’importation en ajustant la valeur de la variable d’environnement MaxHitPerBuffer.

    La variable MaxHitPerBuffer contrôle la taille de certains tampons dans l’analyseur de source de données à plusieurs journaux. La valeur par défaut de MaxHitPerBuffer est 6. Vous pouvez ajuster cette valeur pour améliorer les performances, selon le nombre de serveurs que vous avez déployés et le volume d’activité sur votre site.

    Par exemple, si vous avez 120 serveurs Web et que votre site reçoit beaucoup de visites uniques, il peut s’avérer optimal d’affecter à MaxHitPerBuffer la valeur 5, toute valeur supérieure consommant trop de mémoire. Si vous avez 5 serveurs Web, vous pouvez affecter à MaxHitPerBuffer une valeur allant jusqu’à 10.

    Il n’est pas recommandé d’affecter à MaxHitPerBuffer une valeur supérieure à 10 parce que vous risquez de mobiliser ainsi plus d’un gigaoctet de mémoire physique. Si vous affectez à MaxHitPerBuffer une valeur supérieure à 10, vous devez aussi activer le commutateur 3 Go dans le fichier Boot.ini et utiliser les fichiers exécutables compatibles 3 Go pour importer les journaux. Pour plus d’informations, consultez Exécution de la tâche DTS Importation de journal de serveur Web pour un grand site.

    Pour déterminer la valeur optimale de MaxHitPerBuffer dans votre scénario, surveillez l’utilisation de la mémoire (octets privés et octets virtuels).

  • Pour effectuer une importation de journal de serveur Web à partir d’un cluster d’équilibrage de charge réseau, définissez la topologie de serveur qui décrira la configuration du cluster à Commerce Server, puis exécutez une seule tâche DTS Importation de journal de serveur Web.

    Dans ce scénario, vous voulez que les fichiers journaux provenant de http://<site> n’apparaissent que dans un seul rapport de Commerce Server. Toutefois, les fichiers journaux de serveur Web se trouvent à plusieurs emplacements distincts, par exemple \\serveur1\d$\iislogfiles\w3svc4 et \\serveur2\d$\iislogfiles\w3svc4. Pour configurer la topologie de serveur, vous pouvez attribuer aux fichiers journaux le même nom à chaque emplacement, à condition qu’ils se trouvent dans le dossier correct correspondant au serveur Web.

    Pour obtenir des instructions sur la spécification de la topologie de serveur, consultez Ajout d’une application non-Commerce Server à un site et Ajout d’un serveur Web non-Commerce Server à une application.

    Après avoir défini l’application et les serveurs Web non-Commerce Server, configurez les propriétés de la tâche DTS Importation de journal de serveur Web de sorte que chacun des serveurs Web que vous venez de créer pointe vers les fichiers journaux. Les fichiers journaux doivent se trouver dans des dossiers séparés, un pour chaque serveur. (Vous pouvez aussi effectuer cette opération lorsque vous créez les serveurs). Pour connaître les instructions à suivre, consultez Configuration de la tâche DTS Importation de journal de serveur Web.

  • Si vous déployez une définition nouvelle ou mise à jour d’un catalogue vers le site Web, puis la supprimez le même jour, les données importées dans le Data Warehouse risquent d’être incomplètes.

    Supposons par exemple que vous ajoutiez le produit « Livre vert » à votre catalogue. Dans la base de données d’exécution du catalogue, le code Product ID « X » est attribué à ce nouveau produit. Vous publiez ensuite le catalogue mis à jour vers le site Web. Un utilisateur de passage sur le site Web ajoute un « Livre vert » à son panier. Cette action entraîne l’enregistrement de l’événement Commerce Server « Ajout au panier » dans le journal de serveur Web des services IIS. L’une des valeurs contenues dans l’événement Commerce Server est un code Product ID (« X »). Ce code Product ID fait référence à une ligne d’une table dans la base de données d’exécution du catalogue.

    Normalement, le processus d’importation du Data Warehouse résout ce code Product ID en une description complète : l’événement Commerce Server qui avait le code Product ID « X » se résout en tant que clé étrangère d’une table de catalogue. Toutefois, si vous supprimez l’article de la base de données du catalogue avant que le Data Warehouse ne l’importe, la tâche Importation de journal de serveur Web ne peut pas résoudre le code Product ID « X » rencontré dans le fichier journal de serveur Web.

    On appelle « données orphelines » ce type de « données enfants » qui, dans la base de données du Data Warehouse, sont séparées des « données parents » requises pour leur donner un sens. Pour plus d’informations sur la suppression des données orphelines, consultez Suppression des données orphelines du Data Warehouse.

  • Vérifiez le journal d’événements d’applications après avoir importé des données.
Vérifiez le journal d’événements d’applications après avoir importé des données dans le Data Warehouse. Le journal d’événements d’applications permet de confirmer qu’une importation a réussi ou de consulter les erreurs survenues durant le processus d’importation.


Méthodes conseillées pour la maintenance

  • Une fois par semaine, défragmentez tous les index fragmentés à plus de 30 pour cent.

    La tâche DTS Importation de journal de serveur Web provoque la fragmentation des index. Lorsque le niveau de fragmentation des index dépasse 30 pour cent, la tâche DTS Importation de journal de serveur Web prend plus de temps.

    Pour déterminer à quel point un index est fragmenté et défragmenter un index, utilisez deux instructions DBCC (SQL Server Database Console) : DBCC SHOWCONTIG et DBCC INDEXDEFRAG. Pour connaître les instructions à suivre, consultez la documentation en ligne de SQL Server.

  • À tour de rôle, supprimez du Data Warehouse les données détaillées de fichier journal Web, puis toutes les données de synthèse.

    Le Data Warehouse ne peut pas conserver les données détaillées indéfiniment ; un jour ou l’autre, la base de données atteindra sa capacité maximale.

    Il est donc important de supprimer fréquemment les données de fichier journal obsolètes. Vous évitez ainsi une dégradation des performances et une capacité de mémoire limitée dans le Data Warehouse. Si vous devez conserver des données historiques de votre base de données Commerce Server, utilisez des rapports pour extraire et enregistrer les données sous une forme pratique pour les consultations ultérieures.

  • À intervalles réguliers, supprimez les données de dimension.

    La tâche DTS Suppression des données supprime les données factuelles, et non les données de dimension. Vous devez supprimer les données de dimension par programme.

    Comme la suppression des données de dimension est une procédure lente, il est recommandé de ne pas l’effectuer fréquemment, par exemple une fois par an.

    Pour plus d’informations sur la suppression des données de dimension, consultez Exécution de la tâche DTS Suppression des données.

  • Avant d’exécuter la tâche DTS Suppression des données, vérifiez que la taille de la base de données tempdb est supérieure à celle de la base de données à supprimer.

    Par exemple, si la base de données à supprimer occupe 15 Go, SQL Server a besoin d’une base de données tempdb d’au moins 15 Go. Autrement, la tâche DTS Suppression des données échouera.

Voir aussi

Processus ETL (Extract, Transform, Load) pour les tâches DTS

(en anglais)

Plusieurs sites et un Data Warehouse

Sécurisation des bases de données du Data Warehouse

Sécurisation des rapports

Assistant Importation du Data Warehouse


Processus ETL (Extract, Transform, Load) pour les tâches DTS

Cette section contient des informations de référence sur le processus d’extraction, de transformation et de chargement (ETL, Extract, Transform, Load) des tâches de transformation de données (DTS, Data Transformation Services) de Commerce Server. Le processus ETL commence lorsque des données sont extraites de sources de données spécifiques. Le processus transforme ensuite les données en utilisant des règles, des algorithmes, des concaténations ou un nombre quelconque de types de conversion pour les placer dans un état spécifique. Une fois dans cet état, les données sont chargées dans le Data Warehouse, où elles peuvent être utilisées à des fins d’analyse et d’élaboration de rapports.

Le tableau suivant décrit les types de transformation que les tâches DTS appliquent aux données.

Transformation | Description
Copie de colonne | S’utilise pour copier des données directement de la colonne source à la colonne cible, sans appliquer de transformations aux données.
Copie de cellule | S’utilise pour copier des données directement de la cellule source à la cellule cible, sans appliquer de transformations aux données.
Concaténation | S’utilise pour lier consécutivement des chaînes provenant de plusieurs colonnes sources et copier le résultat (une chaîne contenant une liste de chaînes séparées par des points-virgules) vers la colonne cible.
Générée | S’utilise lorsque la tâche DTS crée de nouvelles données ou résume des données provenant de la source.
Script ActiveX | S’utilise pour construire des transformations personnalisées. Notez qu’un script Microsoft ActiveX peut ralentir l’exécution d’un lot DTS puisque la transformation s’effectue ligne par ligne.
Chaîne DateTime | S’utilise pour convertir une date ou une heure d’une colonne source en un format différent dans la colonne cible.
Chaîne en minuscules | S’utilise pour convertir tous les caractères d’une colonne source en minuscules et, s’il y a lieu, vers le type de données cible.
Chaîne en majuscules | S’utilise pour convertir tous les caractères d’une colonne source en majuscules et, s’il y a lieu, vers le type de données cible.
Milieu de chaîne | S’utilise pour extraire une sous-chaîne de la colonne source, la transformer et copier le résultat vers la colonne cible.
Mise en forme de chaîne | S’utilise pour supprimer l’espace à gauche, l’espace à droite et l’espace incorporé d’une chaîne dans la colonne source, et copier le résultat vers la colonne cible.
Lecture de fichier | S’utilise pour ouvrir un fichier dont le nom est spécifié dans la colonne source et en copier le contenu vers la colonne cible.
Écriture de fichier | S’utilise pour copier le contenu d’une première colonne source (colonne des données) vers un fichier dont le chemin d’accès est spécifié par une seconde colonne source (colonne du nom de fichier).

La plupart des tables du Data Warehouse contiennent des colonnes nommées TableID et TableInternalFlag, Table étant le nom de la table du Data Warehouse dans laquelle apparaît la colonne. Du fait que ces colonnes ne sont pas chargées par les tâches DTS, mais par le fournisseur OLE DB de Commerce Server, elles ne figurent pas dans les tableaux décrivant chacune des tâches DTS dans la suite de cette section. La colonne TableID contient un identificateur binaire unique codé sur six octets. La colonne TableInternalFlag est réservée à un usage interne ; elle est utilisée par le fournisseur OLE DB de Commerce Server.

La plupart des tables du Data Warehouse contiennent également une colonne SiteName (nom du site). Cette colonne, de même que TableID et TableInternalFlag, ne figure pas dans les tableaux des sections ci-dessous parce que le nom du site est toujours extrait du même emplacement pour toutes les tâches DTS.

Cette section contient les rubriques suivantes :

  • Processus ETL pour la tâche DTS Synchronisation de la configuration
  • Processus ETL pour la tâche DTS Importation de journal de serveur Web
  • Processus ETL pour la tâche DTS Importation des données de transaction
  • Processus ETL pour la tâche DTS Importation du catalogue de produits
  • Processus ETL pour la tâche DTS Suppression des données
  • Processus ETL pour la tâche DTS Résolution IP
  • Processus ETL pour la tâche DTS Préparation du rapport


Processus ETL pour la tâche DTS Synchronisation de la configuration

La tâche DTS Synchronisation de la configuration synchronise les informations de la base de données d’administration avec celles du Data Warehouse. En particulier, cette tâche synchronise les mises à jour de la topologie de site, des chaînes de requête, des robots et des définitions de rapport. La tâche DTS Synchronisation de la configuration doit être exécutée avant toute autre tâche d’importation ou de suppression.

Les tableaux suivants répertorient les colonnes extraites des tables sources de la base de données d’administration en précisant pour chacune d’elles la transformation effectuée et les tables du Data Warehouse dans lesquelles les données sont enregistrées.

Synchronisation de la topologie de site

Nom de propriété source dans la table ResourceProps de la base de données d’administration Transformation Colonnes cibles dans la table Site du Data Warehouse
WhenImportIsComplete
 Générée

Valeur de s_Value plus 1 chargée.

EndImportAction

N/A
 Générée

La valeur zéro (0) est placée dans cette colonne.

IsAdjustTimeStamps

ExcludeCrawlers
 Copie de colonne
IsExcludeSpiders

i_QSSaveWithUri
 Générée

Valeur de s_Value plus 1 chargée.

IsSeparateUriAndQueryString

UseCookiesForInferences
 Copie de cellule
IsUseCookiesForInferences

MultipleUsersUseTheSameName
 Copie de cellule
IsUseUsernameForInferences

UseUPMCookiesForInferences
 Copie de cellule
IsUseUPMCookiesForInferences

s_InfNames
 Copie de cellule
CookieIdentifiers

IfOverlapDetected
 Générée

Valeur de s_Value plus 1 chargée.

OverlapAction

MinutesRecordsOverlap
 Copie de cellule
OverlapMins

s__Name from Sites Table in MSCS_Admin database
 Copie de cellule
SiteName

TimeZone
 Copie de cellule
TimeZone

IdleTmeBeforeVisitEnds
 Copie de cellule
VisitTimeOut

RetryCount
 Copie de cellule
RetryCount

RetryExhaustAction
 Copie de cellule
RetryExhaustAction

g_nStartDayOfWeek
 Copie de cellule

La valeur par défaut est zéro (0).

WeekStartDay
Nom de propriété source de la table ResourceProps de la base de données d’administration Transformation Colonnes cibles dans la table ServerGroup du Data Warehouse
s_WebServerName
 Copie de cellule
varList

s_LogFileDirectory
 Copie de cellule
LogFileDir

s_LogType
 Copie de cellule
LogFormatID

s_WebServerMachine and s_WebServerName
 Concaténation

"LDS For" s_WebServerMachine/ s_WebServerName.

Utilisée uniquement si varList est vide.

ServerGroupName

N/A
 Générée

Valeur de 25 (GMT) chargée.

TimeZone

s_LogFileCodePage
 Copie de cellule
LogFileCodePage

s_URLEncodingCodePage
 Copie de cellule
URLEncodingCodePage
Nom de propriété source de la table ResourceProps de la base de données d’administration Transformation Colonnes cibles dans la table VirtualServer du Data Warehouse
s_DirectoryIndexFiles
 Copie de cellule
DirIndexes

LocalDomainDnsServer
 Copie de cellule

Si la cellule est vide, « Inconnu » est chargé.

LocalDomain

s_WebServerMachine and  s_WebServerName
 Générée

s_WebServerName sur s_WebServerMachine

VserverName

N/A
 Générée

Valeur de 1 chargée.

VserverType
Nom de propriété source de la table ResourceProps de la base de données d’administration Transformation Colonnes cibles dans la table ServerBinding du Data Warehouse
s_ServerBindings
 Milieu de chaîne
HostHeaderName

s_ServerBindings
 Milieu de chaîne
IPAddress

N/A
 Générée

Si la liaison est sécurisée, 443 est chargé. Si elle n’est pas sécurisée, 80 est chargé.

IPPort
Nom de propriété source de la table ResourceProps de la base de données d’administration Transformation Colonnes cibles dans la table SiteURL du Data Warehouse
s_ExFileExpressions and s_ExFileTypes
 Concaténation

Liste d’expressions et de types séparés par des astérisques (*).

ExcludeCriteria

s_ExHosts
 Copie de cellule
ExcludeHosts

TruncateTopDir
 Copie de cellule
IsChopTopLevelDir

s_NonSecureHostname and s_VirtualRootName
 Concaténation

http://" & s_NonSecureHostname & "/" & s_VirtualRootName

URL

s_NonSecureHostname and s_VirtualRootName
 Concaténation

http://" & s_NonSecureHostname & "/" & s_VirtualRootName

URLExt

Mises à jour de chaîne de requête

Nom de propriété source dans la table ResourceProps de la base de données d’administration Transformation Colonnes cibles dans la table URIQuery du Data Warehouse
s_QSName
 Copie de cellule
QueryString

N/A
 Générée
QueryStringKey
Nom de propriété source dans la table ResourceProps de la base de données d’administration Transformation Colonnes cibles dans la table SVQStringName du Data Warehouse
s_QSName
 Copie de cellule
QStringName
Nom de propriété source dans la table ResourceProps de la base de données d’administration Transformation Colonnes cibles dans la table LinkSVQStringName du Data Warehouse
s_QSName
 Copie de cellule

Chargement d’un LinkSVQStringName pour chaque SiteURLID répertorié dans s_OSApplicationList.

LinkSVQStringName
Nom de propriété source dans la table ResourceProps de la base de données d’administration Transformation Colonnes cibles dans la table MVQStringName du Data Warehouse
s_QSName
 Copie de cellule
QStringName

Mises à jour de robot

Nom de propriété source dans la table ResourceProps de la base de données d’administration Transformation Colonnes cibles dans la table Crawler du Data Warehouse
Crawler.ini
 Lecture de fichier
CrawlerString

i_SiteID from Sites Table in MSCS_Admin database
 Copie de cellule
SiteID

Voir aussi

Exécution de la tâche DTS Synchronisation de la configuration

Exécution de la tâche DTS Synchronisation de la configuration à l’aide d’un script

Déroulement des opérations pour l’exécution des tâches DTS

(en anglais)


Processus ETL pour la tâche DTS Importation de journal de serveur Web

La tâche DTS Importation de journal de serveur Web importe dans le Data Warehouse les données des fichiers journaux générés par les serveurs de votre site Web.

La configuration de votre application et des serveurs Web détermine les données de fichier journal importées durant l’exécution de la tâche DTS Importation de journal de serveur Web. Comme les fichiers journaux contiennent des informations pour plusieurs sites, il peut s’avérer nécessaire de les analyser au niveau du site ou du serveur virtuel individuel. Par conséquent, chaque accès consigné dans le fichier journal doit être associé à un serveur virtuel particulier. La tâche DTS Importation de journal de serveur Web peut être configurée pour filtrer les serveurs virtuels appropriés. Le serveur virtuel est identifié par trois propriétés : le numéro de port, l’adresse IP et la clé de serveur virtuel. Comme le numéro du port sécurisé (port 443) et celui du port non sécurisé (port 80) ont tous deux une influence sur la clé de serveur virtuel, ils sont perçus comme deux serveurs virtuels différents, et les exclusions de l’importation de journal de serveur Web doivent être configurées de façon à inclure ces deux serveurs virtuels dans une importation de journal Web. Pour plus d’informations sur le filtrage des fichiers journaux lors de l’importation de journal de serveur Web, consultez Définition des données à exclure des journaux Web.

Remarques

  • Les lignes du fichier journal ne sont pas toutes importées parce que de nombreuses lignes se rapportent à des accès, et non à des demandes réelles. Seules les demandes sont importées dans la table Request. Une série de filtres est utilisée pour distinguer les accès des demandes dans le fichier journal. Pour plus d’informations sur la sélection des informations à exclure de l’importation de journal de serveur Web vers la table Request, consultez Définition des données à exclure des journaux Web.
  • Le paramètre de superposition horaire de la tâche DTS Importation de journal de serveur Web a une influence sur les demandes importées vers la table Request au début et à la fin d’un fichier journal. Par défaut, la tâche DTS Importation de journal de serveur Web ignore les demandes qui se superposent de 30 minutes dans deux fichiers journaux différents. Pour plus d’informations sur la modification des paramètres de superposition horaire, consultez Définition des propriétés de superposition horaire et de rotation des fichiers journaux.

Les tableaux suivants répertorient les colonnes extraites du fichier journal au format du W3C, la transformation effectuée et les tables dans lesquelles les données sont enregistrées dans le Data Warehouse.

Colonnes sources du fichier journal au format du W3C Transformation Colonnes cibles dans la table Request du Data Warehouse
N/A
 Générée

Générée par l’application d’importation de journal. Incrémentée pour chaque ligne de demande d’un fichier journal qui est stockée. Cet identificateur est unique à travers les différentes importations.

RequestNum

cs-uri-query
 Copie de colonne

Contient la totalité de la chaîne de requête du fichier journal.

QueryString

cs-uri-stem
 Copie de colonne
Uri

cs-bytes
 Copie de colonne

Octets du client au serveur.

BytesReceived

sc-bytes
 Copie de colonne

Octets du serveur au client.

BytesSent

N/A
 Générée

Cette colonne est générée dans l’application d’importation de journal en tant qu’identificateur unique.

VisitNum

date and time
 Concaténation

Conversion en heure locale.

TimeStamp

N/A
 Générée

Il s’agit du membre clé de la classe SiteURL. Le fournisseur OLE DB résoudra cette adresse pour obtenir la valeur SiteURLID de la table SiteURL physique.

URL

N/A
 Générée

Détermine si cette entrée est considérée comme une demande (par opposition à un accès).

Ce champ peut recevoir la valeur F (False) lorsque l’accès est filtré. L’accès qui est filtré le plus fréquemment est celui où une image associée à un événement Commerce Server est demandée.

IsRequest

cs(Referer)
 Copie de colonne
ReferrerURL

cs(Referer)
 Milieu de chaîne

Prend seulement la partie domaine de l’identificateur URI.

ReferrerDomainName

cs-uri-query (UPM cookieless)
OR
cs(cookie)
OR
cs-username
OR
cs-ip + cs(User-Agent)
 Générée

Ce champ contient les 8 premiers octets du hachage MD4 de l’information employée comme clé utilisateur. L’information utilisée comme clé utilisateur dépend du contenu du fichier journal. Il peut s’agir de la chaîne de requête UPM (sans cookie), du cookie UPM, du cookie configuré par l’utilisateur, du nom d’utilisateur ou de l’adresse IP du client et de la chaîne d’agent de son navigateur.

UserKey

sc-win32-status
 Copie de colonne
Win32Status

sc-status
 Copie de colonne
HttpStatus

N/A
 Générée

L’importation de journal fera correspondre une ligne de journal à une liaison de serveur configurée (y compris le numéro de port (s-port) et l’adresse IP (s-ip)). Si la liaison de serveur est classée comme sécurisée, cette colonne recevra la valeur Vrai. Pour plus d’informations, consultez Configuration d’une application.

IsSecure

cs-method
 Générée

GET = 1, POST=2, HEAD=3

Method

time-taken
 Copie de colonne
TimeTaken

N/A
 Générée

La première demande d’une visite détectée dans l’importation de journal reçoit le numéro 1, la deuxième le 2, et ainsi de suite.

RequestIndex

N/A
 Générée

Si l’importation de journal détecte qu’il n’y a pas de chaîne de requête d’événement Commerce Server sur cette ligne, ce champ reçoit la valeur F (False).

HasCommerceEvent

N/A
 Générée

Incrémentée pour chaque instance d’une importation de journal.

TaskID

cs-uri-stem
 Milieu de chaîne

Prend seulement le premier niveau de l’identificateur URI, s’il est disponible.

Level1Dir

cs-uri-stem
 Milieu de chaîne

Prend seulement le deuxième niveau de l’identificateur URI, s’il est disponible.

Level2Dir

cs-uri-stem
 Milieu de chaîne

Prend seulement le troisième niveau de l’identificateur URI, s’il est disponible.

Level3Dir

cs-uri-stem
 Milieu de chaîne

Prend seulement le quatrième niveau de l’identificateur URI, s’il est disponible.

Level4Dir

cs-uri-stem
 Milieu de chaîne

Prend seulement le cinquième niveau de l’identificateur URI, s’il est disponible.

Level5Dir

cs-uri-stem
 Milieu de chaîne

Prend seulement le sixième niveau de l’identificateur URI, s’il est disponible.

Level6Dir

cs(User-Agent)
 Copie de colonne
UserAgentName

UPM Cookie Key
Or
cs(cookie)
Or
cs-ip + cs(User-Agent)
 Générée

Ce champ contient les 8 premiers octets du hachage MD4 de l’information employée comme identificateur d’utilisateur. L’information utilisée comme identificateur d’utilisateur dépend du contenu du fichier journal. Il peut s’agir de la chaîne de requête UPM (sans cookie), du cookie UPM, du cookie configuré par l’utilisateur, du nom d’utilisateur ou de l’adresse IP du client et de la chaîne d’agent de son navigateur.

UserID

cs-uri-query
 Copie de colonne

Hachage MD4

QueryStringKey

N/A
 Générée

Utilisée dans la prise en charge des points de contrôle.

SubTaskID

cs-uri-stem
 Copie de colonne

Hachage MD4

UriKey

cs(Cookie)
 Milieu de chaîne

Seul le cookie pour lequel une correspondance a été trouvée est extrait. Le schéma de livraison ne stocke pas cette propriété physiquement, mais peut être étendu logiquement pour la stocker.

Cookie

Écriture d’informations dans la table Visit

Une visite débute lorsque le point d’accès n’est pas interne au site. Par exemple, si un utilisateur accède à votre site (<www.microsoft.com>), puis clique sur un lien de votre site qui le conduit à un autre site (<www.msn.com>), puis revient à votre site (<www.microsoft.com>), la table Visit enregistre deux visites individuelles. Le tableau suivant montre un exemple de l’aspect que peut avoir le fichier journal pour cet utilisateur.

Temps (en minutes) | UserName | URI | Point d’accès
0 | A | /default.asp | -
1 | A | /foo.asp | <http://www.microsoft.com/default.asp>
5 | A | /default.asp | <http://www.msn.com>

Si la définition d’une visite n’était basée que sur le temps passé, ce comportement de l’utilisateur aurait été considéré comme une seule visite. Toutefois, le Data Warehouse sait que l’utilisateur a quitté le site, et qu’il est revenu à partir d’un point d’accès externe au site. En effet, le Data Warehouse emploie une comparaison de sous-chaîne par rapport à la table SiteURL pour déterminer si le point d’accès est interne. Grâce à cette comparaison de sous-chaîne, il est possible de distinguer les points d’accès internes et externes.

Remarque

  • Il se peut que certaines visites enregistrées dans la table Visit soient des visites ouvertes. Pour plus d’informations sur la modification des paramètres de rotation des fichiers journaux et des paramètres de superposition horaire de vos fichiers journaux, consultez Définition des propriétés de superposition horaire et de rotation des fichiers journaux.
Colonnes sources du fichier journal au format du W3C Transformation Colonnes cibles dans la table Visit du Data Warehouse
N/A
 Générée

Cette colonne est générée dans l’application d’importation de journal en tant qu’identificateur unique.

Il s’agit d’une clé étrangère de la table Visit. Il s’agit également d’une clé étrangère de la table VisitInfo ; toutefois, l’insertion n’a lieu dans la table VisitInfo qu’une fois la visite de l’utilisateur terminée.

VisitNum

date and time
 Concaténation

Il s’agit du cachet de date de la première demande de la visite. Conversion en heure locale.

Timestamp

cs(Referer)
 Copie de colonne

Inclut la chaîne de requête.

ReferrerURL

cs(Referer)
 Prend seulement la partie domaine de l’identificateur URI.
ReferrerDomainName

cs-uri-query (UPM cookieless)
OR
cs(cookie)
OR
cs-username
OR
cs-ip + cs(User-Agent)
 Générée

Ce champ contient les 8 premiers octets du hachage MD4 de l’information employée comme clé utilisateur. L’information utilisée comme clé utilisateur dépend du contenu du fichier journal. Il peut s’agir de la chaîne de requête UPM (sans cookie), du cookie UPM, du cookie configuré par l’utilisateur, du nom d’utilisateur ou de l’adresse IP du client et de la chaîne d’agent de son navigateur.

UserKey

UserDomainName

s-ip
 Copie de colonne
IpAddress

N/A
Générée

Incrémentée pour chaque instance d’une importation de journal.

TaskID

time
 Milieu de chaîne
Hour

UPM Cookie Key
Or
Custom Cookie or IP Address + Browser Agent String
 Générée

Hachage MD4

UserID

DateCreated

cs-username
 Copie de colonne
UserName

N/A
 Générée

Si l’utilisateur a un cookie, cette colonne reçoit la valeur Vrai.

HasCookie

N/A
 Générée

Utilisée dans la prise en charge des points de contrôle.

SubTaskID

cs(Cookie)
 Prend seulement les cookies qui font l’objet de correspondances. Cette propriété n’est pas stockée physiquement. L’utilisateur peut réaliser une extension logique pour la stocker.
Cookie

La table VisitInfo représente les visites d’utilisateur terminées. Cette classe est écrite à partir de l’importation de journal une fois la visite terminée. Une visite est terminée en cas de rencontre d’un point d’accès externe ou de dépassement du délai d’expiration de visite.

Colonnes sources du fichier journal au format du W3C Transformation Colonnes cibles dans la table VisitInfo du Data Warehouse
N/A
 Générée
CountOfRequest

N/A
 Générée
Duration

N/A
 Générée
FirstTimeStamp

N/A
 Générée
FirstHTimeStamp

N/A
 Générée

Cette colonne est générée dans l’application d’importation de journal en tant qu’identificateur unique.

Il s’agit d’une clé étrangère de la table Visit. Il s’agit également d’une clé étrangère de la table VisitInfo ; toutefois, l’insertion n’a lieu dans la table VisitInfo qu’une fois la visite de l’utilisateur terminée.

VisitNum

N/A
 Générée

Incrémentée pour chaque instance d’une importation de journal.

TaskID

cs-uri-query (UPM cookieless)
OR
cs(cookie)
OR
cs-username
OR
cs-ip + cs(User-Agent)
 Générée

Ce champ contient les 8 premiers octets du hachage MD4 de l’information employée comme clé utilisateur. L’information utilisée comme clé utilisateur dépend du contenu du fichier journal. Il peut s’agir de la chaîne de requête UPM (sans cookie), du cookie UPM, du cookie configuré par l’utilisateur, du nom d’utilisateur ou de l’adresse IP du client et de la chaîne d’agent de son navigateur.

UserKey

cs(User-Agent)
 Copie de colonne
UserAgentName

FirstRequestNum

SecondRequestNum

LastRequestNum

FirstUriKey

SecondUriKey

LastUriKey

cs-uri-query (UPM cookieless)
OR
cs(cookie)
OR
cs-username
OR
cs-ip + cs(User-Agent)
 Générée

Ce champ contient les 8 premiers octets du hachage MD4 de l’information employée comme identificateur d’utilisateur. L’information utilisée comme identificateur d’utilisateur dépend du contenu du fichier journal. Il peut s’agir de la chaîne de requête UPM (sans cookie), du cookie UPM, du cookie configuré par l’utilisateur, du nom d’utilisateur ou de l’adresse IP du client et de la chaîne d’agent de son navigateur.

UserID

cs(Referer)
 Générée

Seule la partie domaine de l’identificateur URI est chargée.

ReferrerDomainName

N/A
 Générée

Utilisée dans la prise en charge des points de contrôle.

Il s’agit d’une clé étrangère de la table LogImportSubTask.

SubTaskID
Colonnes sources du fichier journal au format du W3C Transformation Colonnes cibles dans la table TaskHistory du Data Warehouse
N/A
 Générée

Incrémentée pour chaque instance d’une tâche DTS d’importation.

TaskID

N/A
 Générée

Ce code identifie la tâche DTS qui a été utilisée.
1 = Importation de journal de serveur Web
2 = Importation des données du profil utilisateur
3 = Importation de campagne marketing
4 = Importation du catalogue de produits
5 = Importation des données de transaction
8 = Synchronisation de la configuration
9 = Suppression des données
10 = Résolution IP
11 = Préparation du rapport
20 = Mise en cache du rapport

OperationID

N/A
 Générée

Résultat de l’importation.
1 = Importation réussie
2 = Importation terminée avec erreur
3 = Importation incomplète
4 = Importation abandonnée

Status

N/A
 Générée

Heure de début physique de l’importation.

StartTime

N/A
 Générée

Heure de fin physique de l’importation.

EndTime

N/A
 Générée

Description de la tâche d’importation.

Description

N/A
 Générée

Utilisée dans la prise en charge des points de contrôle pour la tâche DTS Importation de journal de serveur Web.

SubTaskID

N/A
 Générée

Utilisée pour redémarrer une tâche DTS Importation de journal de serveur Web.

NumOfTries

La classe LogImportSubTask est utilisée en interne durant l’importation de journal de serveur Web pour assurer le suivi des points de contrôle qu’emploie la fonctionnalité de redémarrage.

Colonnes sources du fichier journal au format du W3C Transformation Colonnes cibles dans la table LogImportSubTask du Data Warehouse
N/A
 Générée

Utilisée dans la prise en charge des points de contrôle.

SubTaskID

N/A
 Générée

Cette colonne est incrémentée pour chaque instance d’une importation de journal.

TaskID

N/A
 Générée

Une clé étrangère de la table Site.

SiteID

N/A
 Générée

Nom du groupe de serveurs dont vous importez des données. Il y a une valeur ServerGroup unique pour chaque serveur virtuel (pour les services IIS, un fichier journal distinct)

ServerGroup

N/A
 Générée

Un nom de fichier de journal dans l’importation.

FileName

N/A
 Générée

Décalage à l’intérieur du fichier journal où le point de contrôle est apparu.

ByteOffsetHigh

N/A
 Générée

Décalage à l’intérieur du fichier journal où le point de contrôle est apparu.

ByteOffsetLow

N/A
 Générée

Directive de champs W3C au moment du point de contrôle.

Field

N/A
 Générée

Date et heure du fichier journal actuel lorsque le point de contrôle est apparu.

Date

La classe OpenUserVisit représente les utilisateurs dont les visites sont actives au moment où se termine une importation de journal. Pour modifier les modalités de traitement des visites d’utilisateur ouvertes par la tâche DTS Importation de journal de serveur Web, vous devez régler les paramètres de rotation des fichiers journaux. Pour plus d’informations sur la modification des paramètres de rotation des fichiers journaux, consultez Définition des propriétés de superposition horaire et de rotation des fichiers journaux.

Colonnes sources du fichier journal au format du W3C Transformation Colonnes cibles dans la table OpenUserVisit du Data Warehouse
N/A
 Générée

Nombre de demandes dans cette visite en cours.

CountOfRequest

N/A
 Générée
FirstTimeStamp

N/A
 Générée
LastTimeStamp

N/A
 Générée

Cette colonne est générée dans l’application d’importation de journal en tant qu’identificateur unique.

VisitNum

cs-uri-query (UPM cookieless)
OR
cs(cookie)
OR
cs-username
OR
cs-ip + cs(User-Agent)
 Générée

Ce champ contient les 8 premiers octets du hachage MD4 de l’information employée comme clé utilisateur. L’information utilisée comme clé utilisateur dépend du contenu du fichier journal. Il peut s’agir de la chaîne de requête UPM (sans cookie), du cookie UPM, du cookie configuré par l’utilisateur, du nom d’utilisateur ou de l’adresse IP du client et de la chaîne d’agent de son navigateur.

UserKey

N/A
 Générée

Incrémentée pour chaque instance d’une importation de journal.

TaskID

cs(User-Agent)
 Copie de colonne
UserAgentName

N/A
 Générée

Une clé étrangère de la table Request. Première demande dans cette visite.

FirstRequestNum

N/A
 Générée

Une clé étrangère de la table Request. Deuxième demande dans cette visite.

SecondRequestNum

N/A
 Générée

Une clé étrangère de la table Request. Dernière demande dans cette visite.

LastRequestNum

N/A
 Générée

Clé étrangère de la table URI. Premier URI dans cette visite.

FirstUriKey

N/A
 Générée

Clé étrangère de la table URI. Deuxième URI dans cette visite.

SecondUriKey

N/A
 Générée

Clé étrangère de la table URI. Dernier URI dans cette visite.

LastUriKey

cs-uri-query (UPM cookieless)
OR
cs(cookie)
OR
cs-username
OR
cs-ip + cs(User-Agent)
 Générée

Ce champ contient les 8 premiers octets du hachage MD4 de l’information employée comme clé utilisateur. L’information utilisée comme identificateur d’utilisateur dépend du contenu du fichier journal. Il peut s’agir de la chaîne de requête UPM (sans cookie), du cookie UPM, du cookie configuré par l’utilisateur, du nom d’utilisateur ou de l’adresse IP du client et de la chaîne d’agent de son navigateur.

UserID

cs(Referer)
 Milieu de chaîne

Seule la partie domaine de l’identificateur URI est chargée.

ReferrerDomainName

N/A
 Générée

Utilisée dans la prise en charge des points de contrôle.

SubTaskID
Colonnes sources du fichier journal au format du W3C Transformation Colonnes cibles dans la table SiteSummary du Data Warehouse
N/A
 Générée

Cette valeur est calculée durant l’importation de journal. Il s’agit de tous les accès valides révélés par l’analyse du fichier journal.

TotalHits

N/A
 Générée

Nombre total d’accès, sans le filtrage dû aux critères d’exclusion.

TotalImportHits

N/A
 Générée

Nombre total de visites (ouvertes et terminées) rencontrées dans le fichier journal.

TotalVisits

N/A
 Générée

Nombre d’accès qui ont été exclus par les critères d’exclusion de serveur.

TotalBadServerCount

N/A
 Générée

Nombre d’accès qui ont été exclus faute de correspondre à un site configuré. Si ce nombre est élevé, vérifiez la configuration de votre application. Pour plus d’informations sur la configuration de votre application, consultez Configuration d’une application.

TotalBadSiteCount

N/A
 Générée

Nombre d’accès qui ont été exclus par les critères d’exclusion d’hôte.

TotalExcludeHostCount

N/A
 Générée

Nombre total d’accès exclus par tous les critères.

TotalExcludeCriteriaCount

N/A
 Générée

Nombre d’accès qui ont été exclus par les critères d’exclusion de robot.

TotalMatchCrawlerCount

N/A
 Générée

Heure de début physique de l’importation.

StartTime

N/A
 Générée

Heure de fin physique de l’importation.

EndTime
Colonnes sources du fichier journal au format du W3C Transformation Colonnes cibles dans la table LevelDir du Data Warehouse
N/A
 Générée

8 premiers octets du hachage MD4

URI1Key

N/A
 Générée

8 premiers octets du hachage MD4

URI2Key

N/A
 Générée

8 premiers octets du hachage MD4

URI3Key

N/A
 Générée

8 premiers octets du hachage MD4

URI4Key

N/A
 Générée

8 premiers octets du hachage MD4

URI5Key

N/A
 Générée

8 premiers octets du hachage MD4

URI6Key
Colonnes sources du fichier journal au format du W3C Transformation Colonnes cibles dans la table PathInfo du Data Warehouse
N/A
 Générée
FirstTimeStamp

PathKey

PathTypeEnum

N/A
 Générée

Incrémentée pour chaque instance d’une importation de journal.

TaskID
Colonnes sources du fichier journal au format du W3C Transformation Colonnes cibles dans la table LogUser du Data Warehouse
cs-uri-query (UPM cookieless)
OR
cs(cookie)
OR
cs-username
OR
cs-ip + cs(User-Agent)
 Générée

Ce champ contient les 8 premiers octets du hachage MD4 de l’information employée comme clé utilisateur. L’information utilisée comme clé utilisateur dépend du contenu du fichier journal. Il peut s’agir de la chaîne de requête UPM (sans cookie), du cookie UPM, du cookie configuré par l’utilisateur, du nom d’utilisateur ou de l’adresse IP du client plus la chaîne d’agent de son navigateur.

UserKey

UserDomainName

DateCreated

cs-username
 Copie de colonne
UserName

N/A
 Générée

Si l’utilisateur a un cookie, cette colonne reçoit la valeur Vrai.

HasCookie

s-ip
 Copie de colonne
IpAddress

cs-uri-query (UPM cookieless)
OR

cs(cookie)
OR
cs-username
OR
cs-ip + cs(User-Agent)
Générée

Ce champ contient les 8 premiers octets du hachage MD4 de l’information employée comme clé utilisateur. L’information utilisée comme clé utilisateur dépend du contenu du fichier journal. Il peut s’agir de la chaîne de requête UPM (sans cookie), du cookie UPM, du cookie configuré par l’utilisateur, du nom d’utilisateur ou de l’adresse IP du client plus la chaîne d’agent de son navigateur.

UserID
Colonnes sources du fichier journal au format du W3C Transformation Colonnes cibles dans la table URI du Data Warehouse
cs-uri-stem
 Copie de colonne
URI

N/A
 Générée

Il s’agit de l’adresse URL de page d’accueil pour laquelle une correspondance a été trouvée lors de l’importation de journal.
Il s’agit de la première URL spécifiée.

URL

cs-uri-stem
 Milieu de chaîne

Prend seulement le premier niveau de l’identificateur URI, s’il est disponible.

Level1Dir

cs-uri-stem
 Milieu de chaîne

Prend seulement le deuxième niveau de l’identificateur URI (s’il en existe un).

Level2Dir

cs-uri-stem
 Milieu de chaîne

Prend seulement le troisième niveau de l’identificateur URI (s’il en existe un).

Level3Dir

cs-uri-stem
 Milieu de chaîne

Prend seulement le quatrième niveau de l’identificateur URI (s’il en existe un).

Level4Dir

cs-uri-stem
 Milieu de chaîne

Prend seulement le cinquième niveau de l’identificateur URI (s’il en existe un).

Level5Dir

cs-uri-stem
 Milieu de chaîne

Prend seulement le sixième niveau de l’identificateur URI (s’il en existe un).

Level6Dir

cs-uri-stem
 Copie de colonne

Hachage MD4

UriKey

Voir aussi

Configuration des propriétés de site Web par défaut pour l’importation

Configuration de la tâche DTS Importation de journal de serveur Web

Exécution de la tâche DTS Importation de journal de serveur Web

Exécution de la tâche DTS Importation de journal de serveur Web pour un grand site

Exécution de la tâche DTS Importation de journal de serveur Web à l’aide d’un script

Déroulement des opérations pour l’exécution des tâches DTS

(en anglais)


Processus ETL pour la tâche DTS Importation des données de transaction

La tâche DTS Importation des données de transaction importe dans le Data Warehouse des informations concernant, par exemple, les bons de commande et les numéros de demande d’approvisionnement. Vous devez exécuter la tâche DTS Importation des données de transaction avant de créer des rapports qui synchronisent les données de transaction.

Attention

  • Quand vous exécutez la tâche DTS Importation des données de transaction sur un Data Warehouse qui contient des données pour plusieurs sites Web, vérifiez que les classes étendues par plusieurs sites Web contiennent des membres portant des noms uniques si leurs types de données ne sont pas les mêmes. Si un nouveau membre est ajouté à une classe dans plusieurs sites Web et que les types de données de ces nouveaux membres ne sont pas les mêmes, une erreur peut avoir lieu ou les données risquent d’être converties incorrectement lors de l’exécution de la tâche DTS Importation des données de transaction.

Les tableaux suivants répertorient les colonnes extraites des tables sources de la base de données Site_commerce, la transformation effectuée et les tables dans lesquelles les données sont enregistrées dans le Data Warehouse.

Colonnes sources dans la table OrderGroupAddresses de la base de données Site_commerce Transformation Colonnes cibles dans la table OrderGroupAddresses du Data Warehouse
address_id
 Copie de colonne
Address_id

address_line1
 Copie de colonne
Address_Line1

address_line2
 Copie de colonne
Address_Line2

address_name
 Copie de colonne
Address_Name

address_type
 Copie de colonne
Address_type

City
 Copie de colonne
City

country_code
 Copie de colonne
country_code

d_DateCreated
 Copie de colonne
d_DateCreated

d_DateLastChanged
 Copie de colonne
d_DateLastChanged

first_name
 Copie de colonne
First_Name

g_UserIDChangedBy
 Copie de colonne
g_UserIdChangedBy

Last_name
 Copie de colonne
Last_Name

OrderGroup_id
 Copie de colonne
OrderGroup_id

postal_code
 Copie de colonne
Postal_Code

region_code
 Copie de colonne
region_code

region_name
 Copie de colonne
region_name

tel_number
 Copie de colonne
tel_number

country_name
 Copie de colonne
country_name
Colonnes sources dans la table OrderFormHeader de la base de données Site_commerce Transformation Colonnes cibles dans la table OrderFormHeader du Data Warehouse
billing_currency
 Copie de colonne
billing_currency

buying_org_name
 Copie de colonne
buying_org_name

cc_auth_number
 Copie de colonne
cc_auth_number

CurrencyCode
 Générée

Si la colonne existe dans la table OrderFormHeader de la base de données Site_commerce, la valeur est copiée vers la table CurrencyCode du Data Warehouse, puis l’identificateur du code monétaire est placé dans la table OrderFormHeader.
Si elle n’existe pas dans la base de données Site_commerce, cette colonne est extraite de la base de données MSCS_Admin, la valeur est copiée vers la table CurrencyCode du Data Warehouse, puis l’identificateur du code monétaire est placé dans la table OrderFormHeader.

Order_CurrencyCodeID

d_DateCreated
 Copie de colonne
d_DateCreated

d_DateLastChanged
 Copie de colonne
d_DateLastChanged

g_UserIdChangedBy
 Copie de colonne
g_UserIDChangedBy

orderform_id
 Copie de colonne
OrderForm_Id

orderform_number
 Copie de colonne
OrderForm_number

ordergroup_id
 Copie de colonne
ordergroup_id

receiver_email_address
 Copie de colonne
receiver_email_address

receiver_fax_number
 Copie de colonne
receiver_fax_number

receiver_first_name
 Copie de colonne
receiver_first_name

receiver_last_name
 Copie de colonne
receiver_last_name

receiver_tel_number
 Copie de colonne
receiver_tel_number

saved_cc_expiration
 Copie de colonne
saved_cc_expiration

saved_cc_number
 Copie de colonne
saved_cc_number

saved_cy_tax_total
 Copie de colonne
saved_cy_tax_total

saved_cy_total_total
 Copie de colonne
saved_cy_total_total

selling_org_name
 Copie de colonne
selling_org_name

tax_exempt_code
 Copie de colonne
tax_exempt_code

tax_exempt_id
 Copie de colonne
tax_exempt_id

total_lineitems
 Copie de colonne
total_lineitmes

user_email_address
 Copie de colonne
user_email_addresses

user_fax_number
 Copie de colonne
user_fax_number

user_first_name
 Copie de colonne
user_first_name

user_id
 Copie de colonne
user_id

user_last_name
 Copie de colonne
user_last_name

user_org_id
 Copie de colonne
user_org_id

user_org_name
 Copie de colonne
user_org_name

user_tel_number
 Copie de colonne
user_tel_number

orderform_date
 Générée

Une valeur de date normalisée incluant l’heure est écrite dans la table de date et un identificateur est chargé ici.

DateID

OrderGroupID
 Copie de colonne
OrderGroupID

orderform_date
 Copie de colonne
Order_formdate_unnorm
Colonnes sources dans la table OrderFormLineItems de la base de données Site_commerce Transformation Colonnes cibles dans la table OrderFormLineItems du Data Warehouse
cy_lineitem_total
 Copie de colonne
cy_lineitem_total

cy_unit_price
 Copie de colonne
cy_unit_price

d_DateCreated
 Copie de colonne
d_DateCreated

d_DateLastChanged
 Copie de colonne
d_DateLastChanged

description
 Copie de colonne
description

g_UserIDChangedBy
 Copie de colonne
g_UserIDChangedBy

lineitem_id
 Copie de colonne
lineitem_id

OrderForm_id
 Copie de colonne
OrderForm_id

OrderGroup_id
 Copie de colonne
OrderGroup_id

product_catalog_base
 Copie de colonne
product_catalog_base

product_id
 Copie de colonne
product_id

product_variant_
identifying_property
 Copie de colonne
product_identifying_property

quantity
 Copie de colonne
quantity

tax_exempt
 Copie de colonne
tax_exempt_code

tax_id
 Copie de colonne
tax_id

unit_code
 Copie de colonne
unit_code

N/A
 Générée

Identificateur codé sur six octets, généré par le fournisseur, qui lie cet enregistrement à la table OrderformHeader.

OrderFormHeaderID

N/A
 Générée

Identificateur codé sur six octets, généré par le fournisseur, qui lie cet enregistrement à la table OrderGroupAddresses.

OrderGroupAddressesID

N/A
 Générée

Identificateur codé sur six octets, généré par le fournisseur.

OrderGroupID

shipping_address_id
 Copie de colonne
shipping_address_id

shipping_method_name
 Copie de colonne
shipping_method_name
Colonnes sources dans la table OrderGroup de la base de données Site_commerce Transformation Colonnes cibles dans la table OrderGroup du Data Warehouse
alt_currency
 Copie de colonne
alt_currency

alt_Icid
 Copie de colonne
alt_Icid

billing_currency
 Copie de colonne
billing_currency

d_DateCreated
 Copie de colonne
d_DateCreated

d_DateLastChanged
 Copie de colonne
d_DateLastChanged

default_currency
 Copie de colonne
default_currency

default_Icid
 Copie de colonne
default_Icid

g_UserIDChangedBy
 Copie de colonne
g_UserIDChgnedBy

order_approval_decision
 Copie de colonne
order_approval_decision

order_create_date
 Copie de colonne
order_create_date

order_number
 Copie de colonne
order_number

order_status_code
 Copie de colonne
order_status_code

ordergroup_id
 Copie de colonne
ordergroup_id

previous_order_id
 Copie de colonne
previous_order_id

saved_cy_oadjust_subtotal
 Copie de colonne
saved_cy_oadjust_subtotal

saved_cy_total_total
 Copie de colonne
saved_cy_total

saved_order_name
 Copie de colonne
saved_order_name

total_lineitems
 Copie de colonne
total_lineitmes

user_first_name
 Copie de colonne
user_first_name

user_last_name
 Copie de colonne
user_last_name

user_first_name and user_last_name
 Concaténation
user_name

user_org_name
 Copie de colonne
user_org_name

user_id
 Copie de colonne
RegisteredUserID

Voir aussi

Exécution de la tâche DTS Importation des données de transaction

Exécution de la tâche DTS Importation des données de transaction à l’aide d’un script

Déroulement des opérations pour l’exécution des tâches DTS

(en anglais)


Processus ETL pour la tâche DTS Importation du catalogue de produits

La tâche DTS Importation du catalogue de produits importe dans le Data Warehouse des données de catalogue, par exemple des noms, des couleurs et des tailles de produit. Une fois importées, les données de produit sont utilisées pour générer des rapports qui analysent les ventes de produit et effectuent d’autres analyses des transactions. Cette rubrique répertorie les transformations que la tâche DTS Importation du catalogue de produits effectue sur les données lors de leur importation dans le Data Warehouse.

Remarque

  • La tâche DTS Importation du catalogue de produits n’importe que les catalogues de base. Si la propriété IsVirtualCatalog de la table de site CatalogGlobal possède la valeur 0, le catalogue est un catalogue de base.

Les tableaux suivants répertorient les colonnes extraites des tables sources de la base de données Site_commerce, la transformation effectuée et les tables dans lesquelles les données sont enregistrées dans le Data Warehouse.

Colonnes sources dans la table CatalogGlobal de la base de données Site_commerce Transformation Colonnes cibles dans la table CatalogGlobal du Data Warehouse
CatalogID
 Copie de colonne
CatalogGlobalID

CatalogName
 Copie de colonne
CatalogName

Currency
 Copie de colonne
Currency

EndDate
 Copie de colonne
EndDate

Locale
 Copie de colonne
Locale

ProductID
 Copie de colonne
ProductID

ReportingLanguage
 Copie de colonne
ReportingLanguage

StartDate
 Copie de colonne
StartDate

VariantID
 Copie de colonne
VariantID

WeightMeasure
 Copie de colonne
WeightMeasure

La colonne I_ClassType de la table CatalogName_CatalogProducts indique si une ligne est un produit, une variante de produit, une famille de produits ou une catégorie. Le tableau suivant indique les valeurs associées à chaque classification.

Classification Valeur
Category
 1
ProductVariantClass
 2
ProductClass
 4
ProductFamilyClass
 8

Le processus de transfert des produits comporte deux étapes. D’abord, la tâche transfère chaque produit et la catégorie dont il fait partie. Ensuite, elle transfère vers les tables de produit du Data Warehouse toutes les variantes de produit et les familles de variantes avec leurs catégories. La table Products du Data Warehouse a une relation à valeurs multiples avec la table Category. En fonction de cette relation, le fournisseur du Data Warehouse écrit les produits dans la table Products, les catégories dans la table Category, et remplit la table de liaison.

La table Products du Data Warehouse ne contient pas toutes les propriétés associées à un produit. Les seules propriétés exportées sont celles dont la propriété ExporttoDW a la valeur 1 dans la table CatalogAttributes de la base de données Site_commerce.

Colonnes sources dans la vue CatalogName_Language de la base de données Site_commerce Transformation Colonnes cibles dans la table Products du Data Warehouse
CatalogName
 Copie de colonne
CatalogName

CatalogName and ProductID and VariantID (if available)
 Concaténation
ProductNameCat

cy_list_price
 Copie de colonne
cy_list_price

PrimaryParentCategory
 Copie de colonne
PrimaryParentCategory

ProductID
 Copie de colonne
ProductID

VariantID
 Copie de colonne
VariantId

N/A
 Générée
Product, Unique
identifier for table.
Colonnes sources dans la vue CatalogName_Language de la base de données Site_commerce Transformation Colonnes cibles dans la table Category du Data Warehouse
CatalogName
 Copie de colonne
CatalogName

CatalogName and CategoryName
 Concaténation
CategoryNameCat

CategoryName
 Copie de colonne
CategoryName
Colonnes sources dans la table CatalogName_CatalogHierarchy de la base de données Site_commerce Transformation Colonnes cibles dans la table CatHierarchy du 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.
 Concaténation
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.
 Concaténation
ChildCatalogCat

Voir aussi

Exécution de la tâche DTS Importation du catalogue de produits

Exécution de la tâche DTS Importation du catalogue de produits à l’aide d’un script

Déroulement des opérations pour l’exécution des tâches DTS

(en anglais)

(en anglais)


Processus ETL pour la tâche DTS Suppression des données

La tâche DTS Suppression des données offre deux façons de supprimer des données d’un Data Warehouse : vous pouvez supprimer soit toutes les données, soit uniquement les données de fichiers journaux Web particuliers. La suppression de données de fichier journal Web peut s’effectuer au niveau du site ou du Data Warehouse. La suppression de toutes les données ne peut s’effectuer qu’au niveau du Data Warehouse.

Les données de fichier journal Web peuvent être supprimées de deux manières : soit la suppression porte sur toutes les données de fichier journal Web, soit elle se limite aux données synthétisées (ou de détail). Les classes, les dimensions et les faits supprimés par chacune de ces trois méthodes sont répertoriés dans les sections suivantes :

Suppression de toutes les données du Data Warehouse

Suppression des données des fichiers journaux Web du Data Warehouse

Suppression des données de détail des fichiers journaux Web du Data Warehouse


Suppression de toutes les données du Data Warehouse

Lorsque vous choisissez de supprimer toutes les données du Data Warehouse, la plupart des tables du Data Warehouse sont supprimées. Seules les tables auxquelles n’est associée aucune classe logique ne sont pas supprimées du Data Warehouse. Voici la liste des tables qui restent dans le Data Warehouse après la suppression de toutes les données du Data Warehouse :

  • Site
  • ServerGroup
  • VirtualServer
  • ServerBinding
  • SiteURL
  • EventType
  • SVQStringName
  • MVQStringName
  • LinkSVQStringName
  • LinkMVQStringName
  • ImportOptions
  • Crawler

Pour plus d’informations sur l’exécution de la tâche DTS Suppression des données dans le Gestionnaire Commerce Server pour supprimer toutes les données, consultez Pour supprimer toutes les données du Data Warehouse.


Suppression des données des fichiers journaux Web du Data Warehouse

Lorsque vous choisissez de supprimer toutes les données des fichiers journaux Web du Data Warehouse, les données de classe des journaux Web spécifiés sont supprimées des classes suivantes :

  • Panier
  • Order
  • LogImportJobSummary
  • LogImportSubtask
  • OpenUserVisit
  • Visit
  • Request
  • VisitInfo
  • LastUriByDate
  • RequestByDateByUriByQueryString
  • FirstUriByDate
  • HitsInfo
  • HitsByHour

Pour plus d’informations sur l’exécution de la tâche DTS Suppression des données dans le Gestionnaire Commerce Server pour supprimer les données des journaux Web, consultez Pour supprimer les données de fichier journal.


Suppression des données de détail des fichiers journaux Web du Data Warehouse

Lorsque vous choisissez de supprimer les données de détail du Data Warehouse, toutes les données factuelles des fichiers journaux Web spécifiés sont supprimées du Data Warehouse. Cette option ne supprime aucune donnée de dimension. Voici une liste des classes de faits dont les données sont supprimées lorsque vous utilisez cette option :

  • OpenUserVisit
  • Visit
  • Request

Pour plus d’informations sur l’exécution de la tâche DTS Suppression des données dans le Gestionnaire Commerce Server pour supprimer les données de détail des fichiers journaux Web, consultez Pour supprimer les données de fichier journal.

Voir aussi

Exécution de la tâche DTS Suppression des données

Exécution de la tâche DTS Suppression des données à l’aide d’un script

Déroulement des opérations pour l’exécution des tâches DTS

(en anglais)


Processus ETL pour la tâche DTS Résolution IP

La tâche DTS Résolution IP résout les adresses IP (Internet Protocol) rencontrées dans les données utilisateur importées. La résolution IP permet de convertir des adresses IP, importées à partir de vos fichiers journaux, en noms de domaine. Par exemple, 198.105.232.4 devient www.microsoft.com. Ceci permet aux personnes qui lisent vos rapports de comprendre plus facilement les données qui y sont contenues.

La tâche DTS Résolution IP ne charge des données dans la table HostNameRef qu’à partir des lignes de la table IpRef dont la résolution réussit. Si elle parvient à résoudre l’adresse IP contenue dans la colonne IpAddress de la table IpRef, la tâche DTS stocke le nom de domaine dans la colonne Hostname de la table HostNameRef. Si elle ne parvient pas à résoudre l’adresse IP, elle ne charge aucune donnée dans la table HostNameRef pour cette ligne de la table IpRef. La colonne Status de la table IpRef reçoit la valeur 1 si l’adresse IP a été résolue et la valeur 0 dans le cas contraire. L’heure de la tentative de résolution IP est stockée dans la colonne LastModifiedTime de la table IpRef.

Le tableau suivant répertorie les colonnes extraites de la table source, la transformation effectuée et la colonne dans laquelle les données sont enregistrées dans le Data Warehouse.

Colonnes sources dans la table IpRef du Data Warehouse Transformation Colonne cible dans la table HostNameRef du Data Warehouse
IpAddress
 Générée

Si possible, l’adresse IP est résolue et le nom de domaine obtenu est chargé. Si la résolution échoue, aucune donnée n’est chargée dans la table HostNameRef.

Hostname

Status
 Générée

La colonne source reçoit la valeur 1 si l’adresse IP a été résolue ou la valeur 0 si elle n’a pas été résolue.

No data loaded.

LastModifiedTime
 Générée

Heure de la tentative de résolution IP.

No data loaded.

Voir aussi

Exécution de la tâche DTS Résolution IP

Exécution de la tâche DTS Résolution IP à l’aide d’un script

Déroulement des opérations pour l’exécution des tâches DTS

(en anglais)


Processus ETL pour la tâche DTS Préparation du rapport

La tâche DTS Préparation du rapport est chargée du traitement des données après leur importation dans le Data Warehouse. Cette tâche se compose de quatre phases de traitement distinctes : traitement des procédures stockées, définition des partitions de cube, traitement des dimensions OLAP et traitement des partitions de cube physiques et des cubes virtuels.

Pour exécuter cette tâche DTS, vous avez le choix entre trois modes de traitement : Complet, Actualiser les données et Incrémentiel. Dans tous les cas, la tâche DTS effectue les étapes suivantes :

  • Elle exécute toutes les procédures identifiées par la valeur 1 dans la colonne ProcessingEnabled de la table StoredProcInfo.
  • Elle traite toutes les dimensions identifiées par la valeur 1 dans la colonne ProcessingEnabled de la table DimProcInfo.
  • Elle traite toutes les partitions de la table CubePartitionInfo pour tous les cubes identifiés par la valeur 1 dans la colonne ProcessingEnabled de la table CubeProcInfo.

Cette section contient les rubriques suivantes :

  • Traitement des procédures stockées
  • Définition des partitions de cube OLAP
  • Partitionnement automatique
  • Modification de partitions existantes
  • Clés de partitionnement
  • Tables de cube du Data Warehouse
  • Traitement des dimensions OLAP
  • Traitement des partitions de cube physiques
  • Logique de redémarrage de la tâche DTS Préparation du rapport
  • Traçage de la tâche DTS Préparation du rapport


Traitement des procédures stockées

La phase de traitement des procédures stockées de la tâche DTS Préparation du rapport interroge la table StoredProcInfo et exécute toutes les procédures stockées dont la colonne ProcessingEnabled a la valeur 1 dans cette table, dans l’ordre des numéros d’ordre.

Une fois ces étapes effectuées, la phase procédure stockée de la tâche DTS Préparation du rapport est achevée.

Pour plus d’informations sur la table StoredProcInfo, consultez StoredProcInfo Table.


Définition des partitions de cube OLAP

Après la phase de traitement des procédures stockées, des partitions de cube doivent être définies. Les cubes peuvent être configurés de manière à être partitionnés soit automatiquement par la tâche DTS Préparation du rapport (voir la description ci-dessous), soit manuellement par un administrateur système. Cette fonctionnalité a été conçue pour répondre aux besoins des sites assujettis à des contraintes d’entreposage de données à grande échelle, tout en minimisant les servitudes administratives impliquées par la gestion des données partitionnées.

L’option de partitionnement automatique est activée dans tous les cubes livrés avec Commerce Server 2002. En d’autres termes, chaque fois qu’elle s’exécute, la tâche DTS Préparation du rapport examine les données dans la table de faits et, s’il y a lieu, crée des partitions de cube pour contenir les données.

Le partitionnement automatique requiert que la table des faits respecte certaines règles. Si un utilisateur ajoute de nouveaux cubes non conformes, le partitionnement automatique peut être désactivé pour chaque cube individuel, et vous pouvez traiter le cube manuellement en ajoutant des entrées à la table CubePartitionInfo.

Plusieurs partitions OLAP

Pour pouvoir créer et traiter automatiquement plusieurs partitions OLAP, vous devez utiliser Commerce Server 2002 Enterprise Edition et Analysis Services 2000 Enterprise Edition. Seul Analysis Services Enterprise Edition prend en charge une pluralité de partitions OLAP, et la création et le traitement de plusieurs partitions OLAP sont pris en charge par Commerce Server 2002 Enterprise Edition.

Dans Commerce Server 2002 Enterprise Edition, la tâche de préparation du rapport crée par défaut une partition dans un cube OLAP toutes les 20 millions de valeurs de colonne clé dans la table de faits du cube. Cette valeur a été choisie de façon à minimiser le nombre de partitions sur les sites de très grande taille, tout en garantissant que ces cubes pourront être traités et interrogés efficacement.

Une seule partition OLAP

Commerce Server 2002 Standard Edition prend en charge la création et le traitement automatiques d’une partition par cube. Si vous utilisez Commerce Server 2002 Standard Edition et que vous créez un nouveau cube destiné à un traitement automatique par la tâche DTS Préparation du rapport, définissez la taille de la partition de façon à couvrir toutes les valeurs de clé de partitionnement possibles.

Dans Commerce Server 2002 Standard Edition, la définition de cube dans la table CubeProcInfo définit par défaut une seule partition qui couvre approximativement 17 billions de valeurs de clé dans la table de faits du cube.

Procédure stockée csdw_spDefineOLAPPartitions

Dans le cadre de la phase de traitement des procédures stockées, la tâche DTS Préparation du rapport exécute la procédure stockée csdw_spDefineOLAPPartitions. Cette procédure stockée, qui représente l’essentiel de la prise en charge du partitionnement automatique, examine les diverses tables de faits et détermine s’il est nécessaire de créer de nouvelles partitions pour contenir les données ajoutées éventuellement depuis l’exécution du dernier traitement.

La phase de traitement des procédures stockées comporte les étapes suivantes :

  • Si d’autres partitions sont nécessaires pour contenir les nouvelles données, la procédure stockée les ajoute à la table CubePartitionInfo.
  • La tâche DTS Préparation du rapport exécute ensuite la procédure stockée csdw_spEnumOLAPPartitions, qui renvoie la liste de toutes les partitions à appliquer aux cubes avant le traitement.
  • Ces partitions sont alors appliquées à la base de données OLAP et traitées dans les phases suivantes de la tâche DTS Préparation du rapport.
  • En cas de modification du filtrage de partition, le cube est tronqué et toutes les données de toutes les partitions sont actualisées.

Voir aussi

Partitionnement automatique

Modification de partitions existantes

Clés de partitionnement

Tables de cube du Data Warehouse


Partitionnement automatique

Dans tous les cubes livrés avec Commerce Server 2002, le partitionnement automatique est activé. Lorsqu’elle est exécutée, la tâche DTS Préparation du rapport analyse les données de table de faits pour les cubes en utilisant les informations figurant dans la table CubeProcInfo. S’il existe dans les tables PartitioningKeySource des lignes ayant des valeurs PartitioningKey supérieures à celles couvertes par les partitions existantes, de nouvelles partitions sont ajoutées à mesure des besoins pour contenir les nouvelles données. Par défaut, les nouvelles partitions couvrent une plage de 20 millions de valeurs de clé. Cette valeur peut être ajustée en modifiant la valeur PartitionSize associée au cube dans la table CubeProcInfo. Notez que cette modification n’a aucun effet sur les partitions existantes. Elle ne concerne que la taille des partitions créées par la suite.


Modification de partitions existantes

Le partitionnement automatique s’effectue en deux phases. Dans la première, la tâche DTS Préparation du rapport exécute la procédure stockée csdw_spDefineOLAPPartitions pour créer de nouvelles définitions de partition dans la table CubePartitionInfo. Dans la seconde, la tâche DTS Préparation du rapport énumère les partitions définies à l’aide de la procédure stockée csdw_spEnumOLAPPartitions et effectue les opérations nécessaires pour rendre la base de données OLAP conforme à ce schéma de partitionnement.

La méthode la plus simple pour modifier le schéma de partitionnement d’un cube consiste à supprimer les entrées de la table CubePartitionInfo relatives à ce cube et à les faire redéfinir par la tâche DTS Préparation du rapport lors de son exécution suivante. De nouvelles définitions de partition seront créées en englobant toutes les valeurs PartitioningKey de la table PartitioningKeySource, chaque partition couvrant une plage de valeurs dont l’étendue est définie par la valeur PartitionSize.

Il est également possible de définir des partitions manuellement en insérant des lignes directement dans la table CubePartitionInfo. Notez que les valeurs MinVal et MaxVal doivent correspondre au type de données de la clé de partitionnement et que la valeur LastKeyProcessed doit correspondre au type de données de la clé de traitement.

Il y a diverses raisons pour effectuer un repartitionnement. Vous le ferez, par exemple, si vous supprimez une telle quantité de données du Data Warehouse que certaines partitions sont vides.

Notez que si vous modifiez une partition de sorte qu’il devient nécessaire de recharger des données pour cette partition, vous devez soit exécuter la tâche DTS Préparation du rapport en mode Complet ou Actualiser les données, soit affecter la valeur NULL à CubeProcInfo.LastKeyProcessed pour cette partition.


Clés de partitionnement

Le partitionnement automatique se sert de la colonne PartitioningKey pour créer automatiquement de nouvelles partitions dans la base de données OLAP à mesure des besoins. La colonne PartitioningKey doit contenir des valeurs convertibles en entiers 8 octets et inversement. La table PartitioningKeySource peut être la table de faits ou une autre table contenant un sur-ensemble de valeurs de clé contenues dans la table de faits, par exemple une table contenant des identificateurs de lot d’importation. Bien qu’il ne soit pas nécessaire que la table PartitioningKeySource soit la table de faits du cube, notez qu’une colonne ayant le même nom et le même type de données que PartitioningKey doit être présente dans la table de faits.


Tables de cube du Data Warehouse

Les modalités de traitement d’un cube sont contrôlées par deux tables du Data Warehouse, CubeProcInfo et CubePartitionInfo. La table CubeProcInfo contient des données relatives au cube et elle est utilisée pour définir des partitions pour le cube. La table CubePartitionInfo, quant à elle, définit les partitions réelles du cube et elle est utilisée pour suivre l’état de traitement des données dans le cube.

Pour plus d’informations sur la table CubeProcInfo, consultez CubeProcInfo Table (en anglais).

Pour plus d’informations sur la table CubePartitionInfo, consultez CubePartitionInfo Table (en anglais).

Voir aussi

Cubes OLAP

Processus ETL pour la tâche DTS Préparation du rapport


Traitement des dimensions OLAP

Après l’exécution de procédures stockées et la définition des partitions de cube, les dimensions OLAP sont exploitées en interrogeant la table DimProcInfo et en traitant toutes les dimensions dont la colonne ProcessingEnabled a la valeur 1, dans l’ordre des numéros d’ordre.

Pour plus d’informations sur la table DimProcInfo, consultez DimProcInfo Table (en anglais).

Si l’option de traitement de la tâche DTS Préparation du rapport a la valeur Complet, les dimensions sont traitées en utilisant le mode de traitement processFull. Cette option impose la reconstruction des dimensions et l’actualisation des données. Si vous utilisez la tâche DTS Suppression des données pour supprimer des membres d’une dimension, vous devez exécuter la tâche DTS Préparation du rapport en mode Complet pour être sûr que les anciens membres de la dimension sont purgés correctement. Autrement, la reconstruction des dimensions risque d’échouer à la suite d’erreurs de nom en double si d’anciennes valeurs de dimension sont réimportées dans le Data Warehouse.

Voir aussi

Processus ETL pour la tâche DTS Préparation du rapport


Traitement des partitions de cube physiques

L’étape suivante consiste à traiter les partitions définies dans la table CubePartitionInfo pour chaque cube répertorié dans la table CubeProcInfo. La tâche DTS interroge la table CubeProcInfo pour obtenir une liste de valeurs ProcessingPass distinctes. Pour chaque valeur ProcessingPass renvoyée, la tâche DTS appelle la procédure stockée csdw_spGetCubeProcessingPass. Cette procédure stockée renvoie la liste des partitions associées aux cubes dont l’indicateur ProcessingEnabled possède la valeur 1 lors de ce passage.

Si la valeur Optimization, dans la table CubeProcInfo associée à cette partition, n’est pas NULL, la tâche DTS crée et applique au cube des agrégations permettant d’atteindre le pourcentage d’optimisation spécifié. Par exemple, si Optimization a la valeur 15, les agrégations sont créées de façon à atteindre une amélioration des performances de 15 %. Toutes les partitions sont ensuite traitées en utilisant l’option de traitement DSO processFull. Cette option reconstruit le schéma et actualise les données de cube.

Les partitions des cubes dont l’indicateur IncEnabled est défini dans la table CubeProcInfo sont traitées de la façon suivante :

  • Si IncEnabled a la valeur 1, le cube est traité incrémentiellement.

    Cela signifie que si la tâche DTS Préparation du rapport est exécutée en mode incrémentiel, le cube est traité incrémentiellement. Le traitement incrémentiel crée une partition temporaire et y place uniquement les lignes chargées dans le Data Warehouse depuis la dernière exécution de la tâche DTS Préparation du rapport. Cette partition temporaire est ensuite fusionnée avec le cube principal.

  • Si IncEnabled a la valeur 0, les données destinées aux partitions du cube sont toujours actualisées entièrement lors de l’exécution de la tâche DTS Préparation du rapport.

En mode Actualiser les données ou Incrémentiel, les processus externes, en particulier le module Rapports de Business Desk, peuvent interroger un cube pendant son traitement. Les processus externes ne peuvent pas interroger le cube durant un traitement Complet tant que le traitement n’est pas terminé. Ceci est dû au fait que la reconstruction complète des dimensions empêche le cube de fonctionner normalement.

Clés de traitement

La valeur ProcessingKey est utilisée par le traitement de cube en mode incrémentiel pour déterminer si de nouvelles données ont été ajoutées à la table de faits, mais n’ont pas encore été chargées dans un cube. Les nouvelles lignes insérées dans la table ProcessingKeySource et la table de faits de cube doivent contenir des valeurs ProcessingKey supérieures à celles qui existent déjà. La table ProcessingKeySource peut être la table de faits ou une autre table contenant un sur-ensemble de valeurs de clé contenues dans la table de faits.

Voir aussi

Processus ETL pour la tâche DTS Préparation du rapport


Logique de redémarrage de la tâche DTS Préparation du rapport

Le suivi des états de traitement des dimensions est assuré dans la table DimProcInfo à l’aide des colonnes LastSuccessfulDate, LastProcessedDate, LastProcessedStatus et LastProcessedDescr. Ces colonnes sont mises à jour chaque fois que la tâche DTS Préparation du rapport traite la dimension. Si le traitement réussit, la valeur zéro est placée dans la colonne LastProcessedStatus et une chaîne localisée indiquant le succès de l’opération est écrite dans la colonne LastProcessedDescr. Ces valeurs sont définies par la procédure stockée csdw_SetDimProcessingStatus.

Le suivi des états de traitement des partitions est assuré dans la table CubePartitionInfo à l’aide des colonnes ProcessingState, LastSuccessfulDate, LastProcessedDate, LastProcessedStatus, LastProcessedDescr et LastKeyProcessed. Avant d’initier un processus de partitionnement, la tâche DTS Préparation du rapport interroge les colonnes ProcessingState et LastKeyProcessed.

Si la tâche DTS est exécutée en mode incrémentiel et si le traitement incrémentiel est activé pour le cube (c.-à-d. si la colonne IncEnabled contient la valeur 1 pour ce cube), la tâche DTS examine la colonne ProcessingState. Si cette colonne contient la valeur zéro, la tâche traite le cube incrémentiellement, en ne chargeant que les faits dont la valeur LastKeyProcessed est supérieure à celle extraite de la table CubePartitionInfo. Si la colonne ProcessingState contient la valeur 1, la tâche DTS ne peut pas déterminer si le dernier traitement du cube a réussi. En pareil cas, la tâche DTS Préparation du rapport doit actualiser entièrement les données de la partition pour s’assurer que les faits en double sont chargés dans le cube.

Avant le traitement d’une partition en un mode quelconque, la procédure stockée csdw_InitPartitionProcessing est exécutée pour le cube. Cette opération place la valeur 1 dans la colonne ProcessingState. Une fois le cube traité, le succès ou l’échec de la tentative de traitement est écrit dans la base de données par la procédure stockée csdw_SetPartitionProcessingStatus. Cette procédure place la valeur zéro dans la colonne ProcessingState, la valeur ProcessingKey la plus élevée à ce moment-là dans la colonne LastKeyProcessed et les valeurs appropriées dans les colonnes LastSuccessfulDate, LastProcessedDate, LastProcessedStatus et LastProcessedDescr.

La tâche DTS Préparation du rapport effectue de nouvelles tentatives de traitement si elle rencontre certaines erreurs identifiées comme « récupérables ». Confrontée à l’une de ces erreurs, la tâche DTS Préparation du rapport laisse s’écouler l’intervalle avant nouvelle tentative configuré et essaie à nouveau l’opération de traitement jusqu’à épuisement du nombre de tentatives configuré.

La liste des erreurs qui, si elles surviennent, déclenchent de nouvelles tentatives de traitement de la part de la tâche DTS Préparation du rapport, est stockée comme valeur REG_MULTI_SZ de la clé « Retryable Errors », sous la clé de Registre HKLM\SOFTWARE\MICROSOFT\Commerce Server\PostImportDTS. Vous pouvez ajouter des entrées dans cette liste ou en supprimer pour modifier le comportement de la tâche DTS Préparation du rapport en matière de nouvelles tentatives.

Si la valeur de Registre existe, la tâche DTS Préparation du rapport utilise les valeurs spécifiées comme « Retryable Errors ». Si la valeur de Registre n’existe pas, la tâche DTS Préparation du rapport la crée et la remplit d’un ensemble de codes d’erreur par défaut.

Le tableau suivant répertorie les valeurs HRESULTS initialisées dans la clé de Registre pour lesquelles la tâche DTS Préparation du rapport effectue de nouvelles tentatives de traitement :

HRESULT | Description
2147217495 | Objet exécutable asynchrone signalant une erreur lors de la validation de l’objet DSO (Data Source Object).
2147221457 | L’objet DSO ne trouve pas le serveur Windows NT.
2147221455 | L’objet DSO ne peut pas se connecter à Analysis Services.
231 | L’objet DSO ne peut pas se connecter à la source de données Analysis (par exemple la base de données SQL Server du Data Warehouse).
2147221468 | L’objet Analysis est verrouillé.
2147467259 | Le service dbnetlib ne peut pas se connecter à l’ordinateur SQL Server.
2147221386 | Une erreur ODBC a eu lieu. (Cette erreur se produit si SQL Server cesse de répondre durant le traitement des cubes ou des dimensions.)
2147221453 | La tâche ne peut pas se connecter au référentiel. (Cette erreur se produit si vous utilisez un référentiel SQL Server et que SQL Server cesse de répondre pendant le traitement de la tâche.)
2147221387 | Une erreur réseau a eu lieu.
2147221424 | L’objet DSO ne peut pas se connecter à Analysis Services.

Voir aussi

Processus ETL pour la tâche DTS Préparation du rapport


Traçage de la tâche DTS Préparation du rapport

La tâche DTS Préparation du rapport se sert de la fonction OutputDebugString pour envoyer ses messages de trace. Vous pouvez utiliser des outils de débogage capables d’intercepter et d’afficher les chaînes de débogage pour examiner les opérations systématiques réalisées par la tâche DTS Préparation du rapport. À cet égard, cette tâche se distingue de la plupart des autres tâches DTS, qui emploient l’utilitaire CSDWDbgSrv.EXE pour afficher les messages de trace.

Voir aussi

Processus ETL pour la tâche DTS Préparation du rapport

(en anglais)


Création de nouveaux groupes de fichiers du Data Warehouse

Vous pouvez utiliser des groupes de fichiers SQL Server pour améliorer les performances du Data Warehouse en répartissant les données entre plusieurs disques et en utilisant des threads parallèles pour le traitement des requêtes. De plus, les groupes de fichiers sont susceptibles de faciliter la gestion des bases de données du Data Warehouse.

SQL Server comporte un groupe de fichiers primaire qui contient le fichier de données primaire et les tables système. Par ailleurs, vous pouvez créer des groupes de fichiers définis par l’utilisateur qui contiennent des fichiers de données regroupés à des fins d’allocation et d’administration.

Vous pouvez créer plusieurs fichiers de données sur des disques séparés et un groupe de fichiers défini par l’utilisateur pour regrouper ces fichiers. Si vous créez des groupes de fichiers, essayez d’avoir un fichier par disque physique. Vous pouvez utiliser des groupes de fichiers pour organiser vos fichiers de données, par exemple pour séparer les fichiers faisant l’objet d’interrogations intensives de ceux qui subissent de lourdes modifications.

SQL Server désigne un groupe de fichiers comme groupe de fichiers par défaut. Sauf spécification contraire de votre part, le groupe de fichiers par défaut est défini comme groupe de fichiers primaire au moment de la création de la base de données. Le groupe de fichiers par défaut contient les pages de toutes les tables et de tous les index créés sans préciser de groupe de fichiers.

Si le groupe de fichiers primaire reste le groupe de fichiers par défaut, vous devez le dimensionner de façon adéquate ou le configurer pour lui permettre de croître automatiquement afin de ne pas manquer de place. Le groupe de fichiers primaire doit être assez grand pour contenir toutes les tables système ainsi que toutes les tables et tous les index qui ne sont pas affectés à un groupe de fichiers défini par l’utilisateur.

Si l’espace disque s’avère insuffisant pour le groupe de fichiers primaire, vous ne pourrez plus ajouter d’informations aux tables système. En revanche, si un groupe de fichiers défini par l’utilisateur est confronté à une insuffisance de l’espace disque, seuls les fichiers utilisateur affectés spécifiquement à ce groupe de fichiers en supportent les conséquences.

Les groupes de fichiers définis par l’utilisateur sont susceptibles d’améliorer les performances en équilibrant la charge de données entre plusieurs disques et en employant des threads parallèles pour faciliter l’accès aux données. Lorsque vous créez une table, vous pouvez l’affecter à un groupe de fichiers défini par l’utilisateur. Lorsque des données sont écrites dans le groupe de fichiers, tous les fichiers sont remplis parallèlement.

Physiquement, chaque fichier est placé sur un disque ou un groupe de disques. SQL Server conserve une carte de fichier qui associe chaque objet de base de données à son emplacement sur le disque. Par exemple, si un fichier est créé dans un groupe de fichiers qui englobe quatre disques, une carte de fichier pointe vers l’emplacement des données sur les quatre disques physiques. Si deux fichiers sont créés dans un groupe de fichiers qui englobe quatre disques, deux cartes de fichier (une par fichier) pointent vers l’emplacement des données sur les quatre disques physiques.

Les groupes de fichiers emploient des threads parallèles pour améliorer l’accès aux données. Lors d’accès séquentiels à une table, le système crée en parallèle une thread distincte pour chaque fichier. Lorsqu’il parcourt une table qui fait partie d’un groupe de fichiers réunissant quatre fichiers, le système emploie quatre threads séparées pour lire les données en parallèle. En général, l’utilisation de plusieurs fichiers placés sur des disques séparés améliore les performances. Par contre, un groupe de fichiers contenant un trop grand nombre de fichiers peut créer des goulets d’étranglement s’il donne lieu à la création d’un trop grand nombre de threads parallèles.

Les groupes de fichiers permettent non seulement d’équilibrer les charges de données en vue d’améliorer les performances, mais aussi de simplifier la maintenance.

Pour utiliser des groupes de fichiers dans le but de simplifier la maintenance :

  • Sauvegardez ou restaurez des fichiers individuels ou des groupes de fichiers au lieu de sauvegarder ou de restaurer une base de données toute entière. La sauvegarde de fichiers ou de groupes de fichiers peut s’avérer nécessaire pour de grandes bases de données possédant une stratégie de sauvegarde et de restauration efficace.
  • Regroupez les tables et les index présentant des contraintes de maintenance analogues dans les mêmes groupes de fichiers. Par exemple, certains objets exigent davantage de maintenance que d’autres. En créant deux groupes de fichiers et en leur affectant des tables, vous pouvez exécuter les tâches de maintenance quotidiennes sur les tables d’un groupe quotidien, et les tâches de maintenance hebdomadaires sur les tables d’un groupe hebdomadaire. Cette stratégie limite les conflits d’accès disque entre les deux groupes de fichiers.
  • Affectez une table individuelle exigeant une maintenance lourde à son propre groupe de fichiers. Une table qui fait l’objet de mises à jour fréquentes doit être sauvegardée et restaurée séparément de la base de données dans son ensemble.

Remarques

  • Vous pouvez créer au maximum 256 groupes de fichiers pour chaque base de données.
  • Les groupes de fichiers ne peuvent contenir que des fichiers de données.
  • Les journaux de transactions ne peuvent pas faire partie d’un groupe de fichiers.
  • Les groupes de fichiers ne peuvent pas être créés indépendamment des fichiers de base de données. Un groupe de fichiers est un mécanisme administratif de regroupement des fichiers dans une base de données.

Méthodes conseillées pour la création de groupes de fichiers

Avant de créer des groupes de fichiers, vous devez comprendre parfaitement la structure, les données, les transactions et les requêtes de votre base de données pour déterminer la meilleure façon de placer les tables et les index dans des groupes de fichiers spécifiques.

Employez les méthodes suivantes pour créer des groupes de fichiers :

  • Déterminez le nombre de groupes de fichiers à créer en fonction des contraintes de maintenance, et non de considérations de performances.
Dans bien des cas, l’exploitation d’agrégats par bandes selon la technologie RAID offre des gains de performances pratiquement équivalents à ceux que vous pourriez obtenir avec des groupes de fichiers, mais sans la charge administrative supplémentaire impliquée par la définition et la gestion des groupes de fichiers.
  • Si vous créez des groupes de fichiers, définissez-en un comme groupe par défaut à la place du groupe primaire.
Si vous créez plusieurs groupes de fichiers pour votre base de données, vous devez en désigner un comme groupe de fichiers par défaut. Ainsi, les tables système du groupe de fichiers primaire ne risquent pas d’être limitées en cas de croissance inattendue des tables de la base de données.
  • Soyez conscient que les groupes de fichiers n’offrent pas de tolérance de pannes.
Pour instaurer la tolérance de pannes, vous pouvez exploiter chaque disque en miroir selon le mécanisme RAID 1. Toutefois, cette option coûte cher.
  • Utilisez des groupes de fichiers conjointement avec des solutions RAID matérielles pour optimiser vos bases de données.
Vous pouvez associer des groupes de fichiers à des solutions RAID matérielles. Commencez par installer des agrégats par bandes matériels, puis utilisez des groupes de fichiers pour répartir les données entre plusieurs agrégats par bandes matériels. L’utilisation d’une thread distincte pour chaque fichier assure un accès parallèle aux données, et la charge est répartie entre plusieurs disques afin de réduire les conflits d’accès.

Pour créer une nouvelle base de données dans un groupe de fichiers

  1. Dans SQL Server Enterprise Manager, développez un groupe de serveurs, puis un serveur.
  2. Cliquez avec le bouton droit sur Bases de données, puis cliquez sur Nouvelle base de données.
  3. Dans la boîte de dialogue Propriétés de la base de données, dans la zone Nom, tapez un nom pour la nouvelle base de données.
Remarque
  • Les fichiers primaires de la base de données et du journal de transactions sont créés en utilisant comme préfixe le nom de base de données que vous avez spécifié, par exemple newdb_Data.mdf et newdb_Log.ldf. Les tailles initiales des fichiers de la base de données et du journal des transactions sont identiques aux tailles par défaut spécifiées pour la base de données model. Le fichier primaire contient les tables système de la base de données.
  1. Sous l’onglet Fichiers de données, cliquez sur Points de suspension à côté de la première position ouverte dans la liste Nom de fichier.
  2. Dans la boîte de dialogue Localisation du fichier de base de données, naviguez jusqu’à l’emplacement souhaité pour le nouveau fichier de base de données et, dans la zone Nom de fichier, tapez le nom de ce fichier, puis cliquez sur OK.
  3. Dans la boîte de dialogue Propriétés de la base de données, sous l’onglet Fichiers de données, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom de fichier | Taper le nom du fichier de la base de données.
    Emplacement | Taper l’emplacement du fichier de la base de données ou cliquer sur les points de suspension pour naviguer jusqu’à cet emplacement.
    Taille initiale (Mo) | Taper la taille initiale, exprimée en mégaoctets (Mo), du fichier de la base de données.
    Groupe de fichiers | Taper le nom du groupe de fichiers dont fera partie le fichier de la base de données.
  4. Cliquez sur OK.

La base de données est alors créée, et le nouveau fichier de données fait partie du groupe de fichiers spécifié.


Exécution de la tâche DTS Synchronisation de la configuration

La tâche DTS (Data Transformation Services) Synchronisation de la configuration permet d’importer dans le Data Warehouse les informations de configuration de site stockées dans la base de données d’administration. (Cette opération n’est pas exactement la même que celle effectuée par le bouton Synchroniser les valeurs de la boîte de dialogue Propriétés d’application. En effet, lorsque vous cliquez sur ce bouton, Commerce Server copie les valeurs depuis la métabase des services IIS (Internet Information Services) vers la base de données d’administration, puis de la base de données d’administration vers le Data Warehouse. Pour plus d’informations, consultez Configuration d’une application.)

Vous réalisez les mêmes opérations que la tâche DTS Synchronisation de la configuration lorsque vous effectuez l’une ou l’autre des actions suivantes :

  • Configuration de la ressource Data Warehouse
  • Décompression d’un site

Le Data Warehouse stocke les données de configuration de site (en particulier les paramètres relatifs à la topologie de site) au lieu de les lire dans la base de données d’administration.

Vous pouvez choisir de synchroniser le Data Warehouse avec un seul site ou avec tous les sites qu’il prend en charge. Vous devez exécuter la tâche de synchronisation avant d’exécuter les tâches d’importation ou de suppression.

Remarque

  • Vous ne pouvez pas annuler cette tâche une fois qu’elle a démarré. Même si vous cliquez sur Annuler, la tâche ne s’arrête pas.

Pour synchroniser une configuration à un seul site avec le Data Warehouse

Pour synchroniser une configuration à plusieurs sites avec le Data Warehouse

Pour synchroniser une configuration à un seul site avec le Data Warehouse

  1. Développez Serveurs Microsoft SQL, Groupe SQL Server, puis développez le serveur sur lequel le Data Warehouse est installé.
  2. Cliquez avec le bouton droit sur Data Transformation Services, puis cliquez sur Nouveau lot.

    Ou, si vous modifiez un lot existant, cliquez avec le bouton droit sur Data Transformation Services, cliquez sur Toutes les tâches, puis sélectionnez Ouvrir le modèle. Dans la boîte de dialogue Choisissez un fichier, cliquez sur le lot à modifier, puis cliquez sur Ouvrir.

  3. Dans le menu Tâche, cliquez sur Synchronisation de la configuration (Commerce Server).
  4. Dans la boîte de dialogue Propriétés de la synchronisation du Data Warehouse, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Description | Taper une description pour la tâche de synchronisation.
    Niveau d’opération | Sélectionner Niveau du site dans la liste déroulante, afin de synchroniser un site avec le Data Warehouse.
    Site | Sélectionner dans la liste déroulante le site que vous voulez synchroniser avec le Data Warehouse.
  5. Dans la section Propriétés du nouvel essai, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nombre de tentatives | Taper le nombre de tentatives de connexion souhaité de la tâche vers le Data Warehouse. Le nombre de tentatives de connexion par défaut est de 10.
    Délai en secondes entre les essais | Taper la durée d’attente de la tâche entre les nouvelles tentatives. La valeur par défaut est 30 secondes.
  6. Cliquez sur OK.
  7. Dans le menu Lot, cliquez sur Exécuter.

    La boîte de dialogue Exécution du lot s’affiche, indiquant l’avancement de la synchronisation. Lorsque le processus est terminé, la boîte de dialogue Résultats d’exécution du lot vous informe que le processus s’est terminé avec succès.

  8. Cliquez sur OK, puis sur Terminé.

Le Data Warehouse est synchronisé avec la configuration de votre site Commerce Server. Vous pouvez à présent configurer les propriétés d’importation de fichier journal Web et importer des données dans le Data Warehouse.

Pour synchroniser une configuration à plusieurs sites avec le Data Warehouse

  1. Développez Serveurs Microsoft SQL, Groupe SQL Server, puis développez le serveur sur lequel le Data Warehouse est installé.
  2. Cliquez avec le bouton droit sur Data Transformation Services, puis cliquez sur Nouveau lot.

    Ou, si vous modifiez un lot existant, cliquez avec le bouton droit sur Data Transformation Services, cliquez sur Toutes les tâches, puis sélectionnez Ouvrir le modèle. Dans la boîte de dialogue Choisissez un fichier, cliquez sur le lot à modifier, puis cliquez sur Ouvrir.

  3. Dans le menu Tâche, cliquez sur Synchronisation de la configuration (Commerce Server).
  4. Dans la boîte de dialogue Propriétés de la synchronisation du Data Warehouse, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Description | Taper une description pour la tâche de synchronisation.
    Niveau d’opération | Sélectionner Niveau du Data Warehouse dans la liste déroulante, afin de synchroniser tous les sites avec le Data Warehouse.
    Nom du Data Warehouse | Sélectionner dans la liste déroulante le Data Warehouse que vous voulez synchroniser avec les sites.
  5. Dans la section Propriétés du nouvel essai, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nombre de tentatives | Taper le nombre de tentatives de connexion souhaité de la tâche vers le Data Warehouse. Le nombre de tentatives de connexion par défaut est de 10.
    Délai en secondes entre les essais | Taper la durée d’attente de la tâche entre les nouvelles tentatives. La valeur par défaut est 30 secondes.
  6. Cliquez sur OK.
  7. Dans le menu Lot, cliquez sur Exécuter.

    La boîte de dialogue Exécution du lot s’affiche, indiquant l’avancement de la synchronisation. Lorsque le processus est terminé, la boîte de dialogue Résultats d’exécution du lot vous informe que le processus s’est terminé avec succès.

  8. Cliquez sur OK, puis sur Terminé.

Le Data Warehouse est synchronisé avec les configurations de site Commerce Server. Vous pouvez à présent importer des données dans le Data Warehouse.

Voir aussi

Configuration des propriétés de site Web par défaut pour l’importation

Configuration de la tâche DTS Importation de journal de serveur Web

Configuration d’une application

Ajout d’une application non-Commerce Server à un site

(en anglais)


Importation de données dans le Data Warehouse

Les tâches DTS (Data Transformation Services) d’importation de Commerce Server vous permettent d’importer des données dans le Data Warehouse. Pour importer des données dans le Data Warehouse, respectez l’ordre suivant de façon à importer d’abord les données factuelles, puis les données de dimension :

  • Journal de serveur Web
  • Données de transaction
  • Catalogue de produits

Vous pouvez soit configurer manuellement les tâches DTS de Commerce Server pour importer des données, soit utiliser l’Assistant Importation du Data Warehouse. Pour plus d’informations sur cet Assistant, consultez Assistant Importation du Data Warehouse.

Cette section contient les rubriques suivantes :

  • Spécification des données à importer dans le Data Warehouse
  • Modification du fuseau horaire et du jour de début de la semaine pour les données importées
  • Configuration des propriétés de site Web par défaut pour l’importation
  • Spécification de l’emplacement d’un fichier journal à importer dans le Data Warehouse
  • Configuration de la tâche DTS Importation de journal de serveur Web
  • Exécution de la tâche DTS Importation de journal de serveur Web
  • Exécution de la tâche DTS Importation de journal de serveur Web pour un grand site
  • Exécution de la tâche DTS Importation des données de transaction
  • Exécution de la tâche DTS Importation du catalogue de produits
  • Importation de données en plusieurs langues et plusieurs monnaies
  • Importation de cookies
  • Nouvelles tentatives d’exécution d’une tâche DTS


Spécification des données à importer dans le Data Warehouse

Commerce Server importe automatiquement toutes les données de transaction et tous les journaux de serveur Web dans le Data Warehouse. Toutefois, vous pouvez utiliser Commerce Server Business Desk pour sélectionner les données de catalogue à importer dans le Data Warehouse.

Sélection des propriétés de transaction à importer

Sélection des propriétés de catalogue à importer

Traitement des nouvelles propriétés


Sélection des propriétés de transaction à importer

Vous utilisez la table TransDimension de la base de données Commerce pour sélectionner les propriétés de transaction à importer dans le Data Warehouse durant l’exécution de la tâche DTS Importation des données de transaction.

Cette procédure suppose que, dans la base de données Commerce et le Data Warehouse, une nouvelle colonne a été ajoutée aux tables OrderformHeader, OrderformLineItems, OrderGroup ou OrderGroupAddresses. Le nom de la table ainsi étendue dans la base de données Commerce doit être identique à celui de la table étendue dans le Data Warehouse. De plus, le nom de la colonne ajoutée à chaque table doit être le même.

Pour sélectionner les propriétés de transaction à importer dans le Data Warehouse à l’aide de la tâche DTS Importation des données de transaction

  1. Cliquez sur Démarrer, pointez sur Outils d’administration, puis cliquez sur Gestionnaire Commerce Server.
  2. Dans Commerce Server Manager, développez Gestionnaire Commerce Server, développez Serveurs Microsoft SQL Server, développez Groupe SQL Server, développez le nœud du serveur local, développez Bases de données, développez la base de données Commerce, par exemple Retail_commerce, puis cliquez sur Tables.
  3. Dans le volet de contenu du Gestionnaire Commerce Server, cliquez avec le bouton droit sur TransDimension, pointez sur Ouvrir une table, puis cliquez sur Renvoyer toutes les lignes.
  4. La dernière ligne de la table est vide. Entrez les données suivantes dans la dernière ligne:
    Nom de colonne Entrée
    DimensionName
             Tapez le nom de la nouvelle colonne.
    FieldName
             Tapez le nom de la nouvelle colonne.
    CategoryName
             Tapez le nom de la table étendue.
    KeyField
             0
    RequiredDim
             1
  5. Dans la barre d’outils, cliquez sur le bouton ! pour enregistrer vos modifications.

La prochaine fois que vous exécuterez la tâche DTS Importation des données de transaction, les données stockées dans la colonne supplémentaire de la base de données Commerce seront importées vers la colonne supplémentaire du Data Warehouse.


Sélection des propriétés de catalogue à importer

Business Desk permet de sélectionner les propriétés de catalogue qui seront importées dans le Data Warehouse.

Pour sélectionner les propriétés de catalogue à importer dans le Data Warehouse

  1. Dans Catalogues, cliquez sur Concepteur de définitions de catalogues.
  2. Dans l’écran Concepteur de définitions de catalogues, cliquez sur Afficher dans la barre d’outils, puis sélectionnez Définitions de propriétés dans la liste déroulante.
  3. Dans l’écran Définitions de propriétés, sélectionnez la propriété que vous voulez importer dans le Data Warehouse, puis cliquez sur Ouvrir dans la barre d’outils.
  4. Dans l’écran Définitions de propriétés - <Nom de la propriété>, activez la case à cocher en regard de Stocker les données en vue d’une analyse.
  5. Pour enregistrer vos modifications et revenir à l’écran Concepteur de définitions de catalogues, cliquez sur Enregistrer et retour dans la barre d’outils.
  6. Pour publier les modifications vers votre site Web, cliquez sur Éditeur de catalogue, puis cliquez sur Publier un catalogue dans la barre d’outils.

Les données correspondant à cette propriété de catalogue seront collectées dans la base de données de Commerce Server.

Remarques

  • Vous ne pouvez pas changer le nom ni le type de propriété dans une définition de catalogue. Vous pouvez supprimer la propriété, puis la rajouter en utilisant un nouveau nom et un nouveau type.
  • Pour étendre le schéma du Data Warehouse de façon à pouvoir importer des types de données différents, vous devez utiliser Commerce Server 2002 Enterprise Edition. En effet, cette fonctionnalité n’est pas disponible dans Commerce Server 2002 Standard Edition.


Traitement des nouvelles propriétés

Une fois que les nouvelles propriétés sont en production sur votre site Web, vous pouvez exécuter la tâche DTS Importation du catalogue de produits. Cette tâche DTS traite les nouvelles propriétés de la façon suivante :

  1. Elle compare le schéma existant du Data Warehouse au schéma du catalogue.
  2. Elle ajoute, le cas échéant, de nouvelles colonnes au schéma du Data Warehouse, puis importe les données dans le Data Warehouse. Une importation incrémentielle n’ajoute de valeurs que pour les nouvelles colonnes ; une importation complète ajoute toutes les données.
  3. Elle crée automatiquement la nouvelle classe du Data Warehouse et ses membres pour les nouvelles propriétés. Elle ne crée aucune relation dans le Data Warehouse.

(en anglais)


Modification du fuseau horaire et du jour de début de la semaine pour les données importées

Lorsque les informations importées dans le Data Warehouse contiennent des heures, un fuseau horaire et un jour de début de la semaine sont affectés au Data Warehouse.

Par défaut, le Data Warehouse hérite le fuseau horaire et le jour de début de la semaine de Microsoft SQL Server. Vous pouvez également configurer le fuseau horaire et le jour de début de la semaine que le Data Warehouse attribue aux données d’heure importées.

Pour modifier le fuseau horaire et le jour de début de la semaine

  1. Développez Gestionnaire Commerce Server, Ressources globales, cliquez avec le bouton droit sur Data Warehouse, puis cliquez sur Propriétés.
  2. Sous l’onglet Heure de la boîte de dialogue Propriétés de Data Warehouse, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Régler le fuseau horaire sur | Sélectionner le fuseau horaire dans la liste déroulante.
    Démarrer le | Sélectionner le jour de début de la semaine dans la liste déroulante.
  3. Cliquez sur OK pour enregistrer les modifications.

    Remarque

    • Le jour de début de la semaine SQL Server est utilisé dans les rapports. Le jour de début de la semaine que vous définissez dans la boîte de dialogue Propriétés de Data Warehouse est utilisé pour regrouper les données importées à partir des journaux de serveur Web selon des intervalles hebdomadaires.


Configuration des propriétés de site Web par défaut pour l'importation

Envoyer des commentaires sur cette page Commerce Server 2002

Configuration des propriétés de site Web par défaut pour l’importation

Avant de pouvoir importer des journaux de serveur Web dans le Data Warehouse, vous devez configurer les propriétés de fichier journal Web de manière à utiliser le format du W3C (World Wide Web Consortium). Vous configurez les propriétés de fichier journal Web à l’aide du Gestionnaire des services Internet.

Pour configurer les propriétés du site Web par défaut pour l’importation

  1. Développez Services IIS (Internet Information Services), développez le serveur sur lequel vous avez décompressé le site, cliquez avec le bouton droit sur le site Web par défaut, puis cliquez sur Propriétés.
  2. Sous l’onglet Site Web, dans la boîte de dialogue Propriétés de Site Web par défaut, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Activer l’enregistrement dans le journal | Activer le journal pour enregistrer l’activité du site Web.
    Format de journal actif | Sélectionner Format de fichier journal étendu du W3C dans la liste déroulante.
  3. Cliquez sur Propriétés.
  4. Sous l’onglet Propriétés étendues, dans la boîte de dialogue Propriétés du journal étendu, effectuez les opérations suivantes :
    Sélectionnez ceci | Pour importer cela
    Date | La date à laquelle a eu lieu l’activité sur votre site Web.
    Heure | L’heure à laquelle a eu lieu l’activité.
    Adresse IP du client | L’adresse IP du client ayant accédé à votre serveur.
    Nom d’utilisateur | Le nom de l’utilisateur ayant accédé à votre serveur.
    Adresse IP du Serveur | L’adresse IP de serveur sur lequel l’entrée de journal a été générée.
    Port du serveur | Le numéro de port auquel le client est connecté.
    Méthode | L’action que le client tentait d’exécuter (par exemple, l’ouverture d’une page Web).
    Ressource URI | La ressource URI (Uniform Resource Identifier) de la ressource qui fait l’objet de l’accès, par exemple une page HTML.
    Requête URI | La requête, le cas échéant, que le client tentait d’exécuter. Il s’agit par exemple d’une chaîne de recherche pour laquelle un client recherchait une correspondance.
    État HTTP | L’état de l’action, en termes HTTP.
    État Win32 | L’état de l’action, en termes utilisés par Microsoft Windows.
    Octets envoyés | Le nombre d’octets envoyés par le serveur.
    Octets reçus | Le nombre d’octets reçus par le serveur.
    Agent utilisateur | Le navigateur utilisé sur le client.
    Cookie | Le contenu du cookie envoyé ou reçu.
    Point d’accès | Le site qui a dirigé l’utilisateur vers le site en cours.

    Important

    • Vous devez activer les cases à cocher Adresse IP du client, Ressource URI et Heure pour que les fichiers journaux Web soient correctement importés. Incluez la propriété Date pour vous assurer de l’exactitude de l’indication des dates. Pour plus d’informations sur la définition des propriétés de serveur Web, consultez Configuration d’un serveur Web.
    • Ne sélectionnez pas l’option Utiliser l’heure locale pour la désignation et la substitution du fichier. En effet, le Data Warehouse requiert que les noms de fichier journal emploient l’heure GMT (Greenwich Mean Time). Par conséquent, la sélection de cette option risque d’empêcher l’importation de certains fichiers journaux.
  5. Cliquez sur OK pour quitter la boîte de dialogue Propriétés du journal étendu, puis sur OK pour quitter la boîte de dialogue Propriétés de Site Web par défaut.

Les propriétés de fichier journal Web sont configurées au format de fichier journal du W3C (World Wide Web Consortium).

Une fois que vous avez configuré les propriétés du site Web par défaut pour l’importation dans le Data Warehouse, vous devez synchroniser les propriétés IIS du Gestionnaire Commerce Server et les propriétés de la métabase IIS et du Data Warehouse. Pour obtenir des instructions sur la synchronisation des propriétés IIS et du Data Warehouse, consultez Exécution de la tâche DTS Synchronisation de la configuration.

Voir aussi

Troubleshooting the Data Warehouse Import Process


Spécification de l'emplacement d'un fichier journal à importer dans le Data Warehouse

Envoyer des commentaires sur cette page Commerce Server 2002

Spécification de l’emplacement d’un fichier journal à importer dans le Data Warehouse

Utilisez la procédure suivante pour spécifier l’emplacement d’un fichier journal à importer dans le Data Warehouse.

Pour spécifier l’emplacement d’un fichier journal au Data Warehouse

  1. Développez Services IIS, développez le nom du serveur, cliquez avec le bouton droit sur Site Web par défaut, puis cliquez sur Propriétés.
  2. Dans la boîte de dialogue Propriétés de Site Web par défaut, cliquez sur Propriétés.
  3. Dans la boîte de dialogue Propriétés du journal étendu, sous l’onglet Propriétés générales, tapez le chemin d’accès du répertoire du fichier journal dans la zone Répertoire du fichier journal.
  4. Cliquez sur OK pour quitter la boîte de dialogue Propriétés du journal étendu, puis sur OK pour quitter la boîte de dialogue Propriétés de Site Web par défaut.

Le Data Warehouse peut à présent trouver le fichier journal de votre site Web.

Voir aussi

Configuration d’un serveur Web

Configuration d’une application

Ajout d’une application non-Commerce Server à un site

Exécution de la tâche DTS Synchronisation de la configuration

(en anglais)

Dépannage du processus d’importation du Data Warehouse


Configuration de la tâche DTS Importation de journal de serveur Web

Vous pouvez configurer sept jeux de propriétés permettant de contrôler et de personnaliser les données que vous importez dans le Data Warehouse à partir des journaux de serveur Web. Les paramètres que vous sélectionnez pour ces propriétés peuvent améliorer votre analyse des données, accélérer les processus d’importation et faciliter la gestion du Data Warehouse.

Remarque

  • Sauf indication contraire, ces paramètres s’appliquent à l’ensemble des applications du site et de tous les sites associés au Data Warehouse.

Les jeux de propriétés suivants permettent de contrôler les données qui sont importées dans le Data Warehouse à partir des journaux de serveur Web :

  • Définition des fichiers journaux Web par défaut. Permet de s’assurer que le nombre des accès des visiteurs uniques à la page par défaut de votre site est précis, pour permettre des redirections et plusieurs versions de votre adresse URL.
  • Définition des données à exclure des journaux Web. Permet d’empêcher l’importation des données suivantes dans le Data Warehouse : accès à partir de certains hôtes, demandes de types de fichiers ou d’expressions spécifiques et accès par des robots.
  • Définition des inférences pour les utilisateurs. Permet de personnaliser les hypothèses établies au cours de l’importation concernant les utilisateurs et les visites, afin de mieux répondre aux besoins de votre organisation en matière d’analyse.
  • Définition des inférences pour les visites. Permet de personnaliser les hypothèses établies au cours de l’importation concernant les utilisateurs et les visites, afin de mieux répondre aux besoins de votre organisation en matière d’analyse.
  • Définition des propriétés de superposition horaire et de rotation des fichiers journaux. Permet de personnaliser l’action à exécuter en réponse aux superpositions horaires dans les fichiers journaux.
  • Définition des propriétés de l’importation des chaînes de requête pour les fichiers journaux Web. Permet d’importer les chaînes de requête des sites Web pour analyser les données qui leur sont associées.
  • Définition des propriétés de redémarrage de l’importation de journal Web. Permet de redémarrer automatiquement les importations de journal en cas de rencontre d’un fichier journal erroné.

Voir aussi

Exécution de la tâche DTS Synchronisation de la configuration

Importation de données dans le Data Warehouse

Exécution de la tâche DTS Préparation du rapport

(en anglais)


Définition des fichiers journaux Web par défaut

Un fichier par défaut, également connu sous le nom de fichier d’index de répertoire ou page d’accueil, constitue une page Web à laquelle les utilisateurs accèdent lorsqu’ils tapent dans la zone Adresse de leur navigateur une adresse URL de site ne contenant pas de nom de fichier spécifique. Par exemple, les utilisateurs accèdent à la page www.microsoft.com/default.htm lorsqu’ils tapent www.microsoft.com ou www.microsoft.com/default.htm dans la zone Adresse de leur navigateur. Les fichiers journaux Web comptent toutefois les deux adresses URL en tant qu’accès à deux pages différentes.

Vous pouvez définir l’option Fichiers par défaut dans Commerce Server 2002 de manière à spécifier plusieurs adresses URL à compter en tant qu’accès à la même page. Vous pouvez utiliser cette option pour créer des redirections et plusieurs chemins dans votre site sans réduire la précision de vos statistiques sur le nombre total des utilisateurs du site.

De plus, vous pouvez choisir d’afficher les chaînes de nom de fichier sans leur répertoire de premier niveau avant l’importation. Ce procédé facilite l’utilisation de vos fichiers si vos répertoires de site sont stockés dans un sous-répertoire que vous n’avez pas besoin de voir dans vos rapports.

Dans le cas des services IIS (Internet Information Services) 5.0, ce paramètre est synchronisé de manière automatique au cours de l’installation avec les fichiers d’index de répertoire d’adresse URL de base répertoriés dans les services IIS.

Remarques

  • Après cette procédure, vous devez exécuter la tâche DTS Synchronisation de la configuration pour synchroniser la configuration de votre site avec le Data Warehouse avant d’importer des données dans le Data Warehouse.
  • Dans le cas de serveurs non-IIS, les fichiers par défaut sont Index.html, Index.htm et Default.htm. Si ces paramètres ne sont pas appropriés à votre site, changez-les pour garantir la précision du comptage des demandes.

Pour définir un fichier d’index de répertoire

  1. Développez Serveurs Microsoft SQL, Groupe SQL Server, puis développez le serveur sur lequel Data Warehouse est installé.
  2. Cliquez avec le bouton droit sur Data Transformation Services, puis cliquez sur Nouveau lot.

    Ou, si vous modifiez un lot existant, cliquez avec le bouton droit sur Data Transformation Services, cliquez sur Toutes les tâches, puis sélectionnez Ouvrir le modèle. Dans la boîte de dialogue Choisissez un fichier, cliquez sur le lot à modifier, puis cliquez sur Ouvrir.

  3. Dans le menu Tâche, cliquez sur Importation de journal de serveur Web (Commerce Server).
  4. Dans la boîte de dialogue Importer les journaux de serveur Web, cliquez sur Options avancées.
  5. Sous l’onglet Fichiers par défaut, dans la boîte de dialogue Propriétés avancées d’importation de journal Web, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Supprimer le répertoire de premier niveau du fichier de chemins d’accès système | Afficher les chaînes de nom de fichier sans leurs répertoires de premier niveau.
    Le site utilise des sessions sans cookies .NET | Préciser le type de session qu’emploie votre site.
    Fichier d’index de répertoire | Taper le nom du fichier que vous voulez désigner en tant que fichier d’index de répertoire.
    Ajouter | Ajouter le nouveau fichier d’index de répertoire à la liste des fichiers par défaut.
  6. Cliquez sur Appliquer, puis sur OK.

    Les fichiers d’index de répertoire sont définis pour le processus d’importation de fichier journal Web.

  7. Exécutez la tâche DTS Synchronisation de la configuration pour synchroniser la configuration de votre site et le Data Warehouse. Pour connaître les instructions à suivre, consultez Exécution de la tâche DTS Synchronisation de la configuration.

Vous pouvez à présent importer des données dans le Data Warehouse.

Voir aussi

Exécution de la tâche DTS Synchronisation de la configuration

Configuration de la tâche DTS Importation de journal de serveur Web

Importation de données dans le Data Warehouse

(en anglais)

Dépannage du processus d’importation du Data Warehouse


Définition des données à exclure des journaux Web

Vous pouvez exclure certains types de données de vos importations. Si vous excluez certaines données, la taille du Data Warehouse reste facile à gérer et les demandes de pages sont définies de façon plus précise dans vos rapports. Les types de données suivants peuvent être exclus :

  • Hôtes. Vous pouvez exclure les données d’utilisateurs provenant de certains hôtes (par exemple, les employés et les testeurs de logiciels). Cette fonctionnalité est généralement utilisée pour exclure des hôtes internes. Vous pouvez toutefois spécifier l’exclusion de n’importe quel hôte.

    Le Data Warehouse n’importera pas les accès associés aux hôtes que vous excluez. Cependant, les accès associés aux hôtes exclus sont inclus dans certains rapports exclusifs de regroupement, tels que la synthèse du nombre d’accès et des données de bande passante.

    Lorsque vous entrez un nom d’hôte à exclure, vous devez taper une chaîne que Commerce Server 2002 peut utiliser pour effectuer les recherches dans les fichiers journaux. Par exemple, www.microsoft.com exclura les informations des utilisateurs dont l’hôte est www.microsoft.com. Vous ne devez pas inclure d’espace dans le nom tapé.

  • Types de fichiers. Bien qu’une page de votre site Web puisse inclure plusieurs fichiers, vous voulez vous assurer que seule une demande de page est comptée plutôt qu’un accès à chacun des fichiers composant la page. Par exemple, si une page comprend des graphiques stockés dans des fichiers distincts, mais que ces fichiers sont une partie logique de la page, vous pouvez exclure les fichiers graphiques de l’importation afin d’obtenir des nombres d’accès plus précis. Vous pouvez définir la propriété Exclusions pour exclure des fichiers en spécifiant les extensions de nom de fichier correspondant aux types de fichiers à exclure.

    Par défaut, les fichiers portant les extensions .gif, .jpg, .jpeg, .css et .cdf sont exclus des importations de Commerce Server. Vous avez également la possibilité de supprimer des extensions de fichier de la liste des exclusions. Le nom tapé correspond à la chaîne que Commerce Server recherchera dans les fichiers journaux. Vous devez taper l’extension exacte.

  • Expressions de fichier. Outre l’exclusion d’un fichier du processus d’importation en fonction de son extension, vous pouvez exclure un fichier en fonction de son chemin. Vous pouvez indiquer une expression de fichier complète pour un fichier donné ou vous pouvez utiliser des caractères génériques pour exclure un groupe de fichiers partageant des caractères similaires dans leurs expressions.

    Les expressions de fichier ne respectent pas la casse. Vous ne devez pas inclure de trait de soulignement (_) ou d’espace. Vous devez taper la chaîne exacte que Commerce Server doit rechercher.

    Le tableau suivant répertorie les caractères génériques que vous pouvez utiliser dans les expressions de fichier.

    Caractère Description Exemple
    * Correspond à n’importe quel nombre de caractères dans une chaîne de caractères t* correspond à Test, total et Terrible
    ? Correspond à tout caractère alphanumérique unique Te?te correspond à teste et Texte
  • Robots. Les moteurs de recherche s’appuient sur des robots qui parcourent le World Wide Web pour y rechercher du contenu, des titres, des mots clés, etc. Par défaut, les robots sont exclus des importations pour éviter l’importation dans le Data Warehouse des accès effectués par les moteurs de recherche Internet, robots et tout autre agent utilisateur. (Cependant, ces accès sont utilisés dans des rapports tels que la synthèse du nombre d’accès et des données de bande passante.)

    Une liste des robots exclus par défaut est disponible dans le répertoire racine de Commerce Server, dans le fichier Crawler.ini. La liste par défaut inclut les principaux robots qui sont exclus par les plus grandes organisations d’audit Web. Vous pouvez ajouter de nouveaux robots à la liste des exclusions ou restaurer des robots pour l’importation ; sachez toutefois que la restauration de robots peut entraîner une baisse des performances générales de votre système.

L’onglet Exclusions de la boîte de dialogue Propriétés avancées d’importation de journal Web propose une liste déroulante dans laquelle vous pouvez choisir le type de données que vous voulez utiliser. Sélectionnez l’option Tout dans la liste pour afficher une liste de l’ensemble des exclusions.

Par défaut, l’exclusion de données des importations entraîne l’exclusion de ces données de toutes les applications exécutées sur votre site. Vous pouvez cependant aussi exclure des données d’applications spécifiques, tout en incluant des données similaires provenant d’autres applications sur votre site.

Supposons par exemple que vous ayez deux applications de site, Application1 et Application2, contenant toutes deux un répertoire nommé /Exemples : vous pouvez exclure le contenu du répertoire /Exemples pour les deux applications ou limiter l’exclusion aux données du répertoire /Exemples d’Application1. Dans la deuxième hypothèse, le contenu du répertoire /Exemples d’Application2 continuera à être importé.

Remarque

  • Une fois cette procédure effectuée, vous devez synchroniser la configuration de votre site avec le Data Warehouse avant d’importer des données dans le Data Warehouse.

Pour ajouter une exclusion pour l’importation

Pour supprimer une exclusion pour l’importation

Pour ajouter une exclusion pour l’importation

  1. Développez Serveurs Microsoft SQL, Groupe SQL Server, puis développez le serveur sur lequel Data Warehouse est installé.
  2. Cliquez avec le bouton droit sur Data Transformation Services, puis cliquez sur Nouveau lot.

    Ou, si vous modifiez un lot existant, cliquez avec le bouton droit sur Data Transformation Services, cliquez sur Toutes les tâches, puis sélectionnez Ouvrir le modèle. Dans la boîte de dialogue Choisissez un fichier, cliquez sur le lot à modifier, puis cliquez sur Ouvrir.

  3. Dans le menu Tâche, cliquez sur Importation de journal de serveur Web (Commerce Server).
  4. Dans la boîte de dialogue Importer les journaux de serveur Web, cliquez sur Options avancées.
  5. Dans la boîte de dialogue Propriétés avancées d’importation de journal Web, sous l’onglet Exclusions, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Inclure la liste de robots par défaut dans les critères d’exclusion | Empêcher l’importation des robots figurant dans la liste de robots par défaut.
    Ajouter | Ouvrir la boîte de dialogue Exclusions pour créer un nouvel élément d’exclusion.
  6. Dans la boîte de dialogue Exclusions, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Sélectionner une catégorie d’exclusion | Sélectionner dans la liste déroulante le type d’exclusion à ajouter.
    Nom | Taper la chaîne que Commerce Server recherchera dans les fichiers journaux. Par exemple, taper *.gif pour exclure les fichiers graphiques. Commerce Server n’importera pas les éléments correspondant à la chaîne tapée. La chaîne ne peut pas contenir d’espace.
    Toutes les applications d’un site | Exclure l’élément de toutes les applications d’un site.
    Applications sélectionnées d’un site | Spécifier une application de laquelle l’élément doit être exclu.
    Sélectionner tout | Exclure les données de l’ensemble des applications répertoriées au-dessus du bouton.
    Désélectionner tout | Annuler la sélection de l’ensemble des applications répertoriées au-dessus du bouton.
  7. Cliquez sur OK pour fermer la boîte de dialogue Exclusions et revenir à l’onglet Exclusions de la boîte de dialogue Propriétés avancées d’importation de journal Web.
  8. Continuez d’ajouter des exclusions. Lorsque vous avez terminé, cliquez sur Appliquer, puis sur OK pour enregistrer les ajouts et fermer la boîte de dialogue.

    Les exclusions pour l’importation sont configurées pour le processus d’importation de fichier journal Web.

  9. Exécutez la tâche DTS Synchronisation de la configuration pour synchroniser la configuration de votre site et le Data Warehouse. Pour connaître les instructions à suivre, consultez Exécution de la tâche DTS Synchronisation de la configuration.

Vous pouvez à présent importer des données dans le Data Warehouse.

Pour supprimer une exclusion pour l’importation

  1. Développez Serveurs Microsoft SQL, Groupe SQL Server, puis développez le serveur sur lequel Data Warehouse est installé.
  2. Cliquez avec le bouton droit sur Data Transformation Services, puis cliquez sur Nouveau lot.

    Ou, si vous modifiez un lot existant, cliquez avec le bouton droit sur Data Transformation Services, cliquez sur Toutes les tâches, puis sélectionnez Ouvrir le modèle. Dans la boîte de dialogue Choisissez un fichier, cliquez sur le lot à modifier, puis cliquez sur Ouvrir.

  3. Dans le menu Tâche, cliquez sur Importation de journal de serveur Web (Commerce Server).
  4. Dans la boîte de dialogue Importer les journaux de serveur Web, cliquez sur Options avancées.
  5. Dans la boîte de dialogue Propriétés avancées d’importation de journal Web, sous l’onglet Exclusions, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Type d’exclusion | Sélectionner l’élément d’exclusion à supprimer.
    Supprimer | Supprimer l’élément d’exclusion.
  6. Cliquez sur Appliquer, puis sur OK pour fermer la boîte de dialogue.

    Les exclusions pour l’importation sont configurées pour le processus d’importation de fichier journal Web.

  7. Exécutez la tâche DTS Synchronisation de la configuration pour synchroniser la configuration de votre site et le Data Warehouse. Pour connaître les instructions à suivre, consultez Exécution de la tâche DTS Synchronisation de la configuration.

Vous pouvez à présent importer des données dans le Data Warehouse.

Voir aussi

Exécution de la tâche DTS Synchronisation de la configuration

Configuration de la tâche DTS Importation de journal de serveur Web

Importation de données dans le Data Warehouse

(en anglais)

Dépannage du processus d’importation du Data Warehouse


Précision des inférences

Commerce Server 2002 utilise le concept de visites des utilisateurs pour déterminer le trafic sur le site Web. Une visite peut être définie comme un ensemble de demandes émises par le même utilisateur au cours d’une période donnée. Toutefois, l’identification des utilisateurs n’est pas tout à fait précise, car les ordinateurs clients Web n’envoient qu’un volume limité de données à l’ordinateur représentant le serveur. Commerce Server tente d’identifier les utilisateurs en fonction des propriétés figurant dans le fichier journal Web. On appelle inférences le processus consistant à identifier les utilisateurs uniques en fonction des données disponibles dans le journal Web sur les utilisateurs et les visites.

La précision des inférences dépend des données disponibles. Pour la maximiser, Commerce Server applique à chaque accès un algorithme d’inférence des utilisateurs afin d’utiliser cas par cas la méthode d’identification la plus précise :

  • Si les accès incluent des noms d’utilisateur ou des cookies (définis par Commerce Server ou par le client), la précision est assez bonne parce que les utilisateurs sont identifiés de façon explicite : leur navigateur autorise l’emploi de cookies, ils sont à l’intérieur d’un domaine, ou votre site utilise AuthManager pour gérer les achats sans cookies.
  • Si les accès ne comportent ni cookies, ni noms d’utilisateur, Commerce Server identifie les utilisateurs à partir de l’adresse IP et de l’agent navigateur du client. Dans ce scénario, la précision ne peut pas être mesurée.
  • Si les adresses IP des clients sont converties en une seule adresse IP, utilisez les cookies ou les noms d’utilisateur dans l’importation de journal de serveur Web pour les inférences des utilisateurs.

    Deux tâches DTS sont concernées par les conversions IP :

    • Importation de journal de serveur Web. Lors de l’inférence des utilisateurs, si l’adresse IP de plusieurs utilisateurs est convertie en une seule adresse IP, tous ces utilisateurs sont traités comme un même utilisateur s’ils se servent du même navigateur.

      Par exemple, si parmi les dix utilisateurs dont l’adresse IP est convertie en une seule adresse IP cinq utilisateurs se servent de NavigateurA et cinq de NavigateurB, les dix utilisateurs sont traités comme deux utilisateurs différents. Ce résultat s’explique par le fait que Commerce Server utilise l’adresse IP et le type de navigateur (au lieu de cookies et de noms d’utilisateur) pour inférer les utilisateurs.

    • Résolution IP. Lorsque plusieurs adresses IP sont converties en une seule adresse IP, vous risquez de ne pas obtenir des informations de domaine précises sur tous les utilisateurs visitant le site parce que la tâche DTS Résolution IP n’effectue une recherche que sur une seule adresse IP.

    Pour utiliser soit des cookies, soit des noms d’utilisateur pour inférer les utilisateurs, consultez Définition des inférences pour les utilisateurs.

Vous pouvez définir les modalités d’inférence des utilisateurs et des visites dans le Data Warehouse, afin de personnaliser les hypothèses établies au cours de l’importation concernant les utilisateurs et les visites, pour mieux répondre aux besoins en matière d’analyse.

Remarque

  • Une fois ces procédures effectuées, vous devez synchroniser la configuration de votre site et le Data Warehouse avant d’importer des données dans le Data Warehouse.

Voir aussi

Exécution de la tâche DTS Synchronisation de la configuration

Configuration de la tâche DTS Importation de journal de serveur Web

Importation de données dans le Data Warehouse

(en anglais)

Dépannage du processus d’importation du Data Warehouse


Définition des inférences pour les utilisateurs

Il peut être intéressant d’identifier les utilisateurs en tant qu’individus dont les schémas de navigation et d’achat vous intéressent.

Commerce Server propose trois options permettant d’identifier les utilisateurs :

  • Utiliser des cookies d’identification de Commerce Server pour les inférences. Vous pouvez configurer Commerce Server de telle sorte qu’il émette automatiquement des cookies cryptés permettant d’identifier des utilisateurs distincts dans la base de données Commerce Server.
  • Utiliser des identificateurs de cookies personnalisés. Vous pouvez ajouter un identificateur de cookie personnalisé.

Remarque

  • Si vous utilisiez auparavant Microsoft Site Server 3.0, Édition Commerce électronique, les cookies Site Server que vous utilisiez alors sont à présent considérés comme des cookies personnalisés. Ils apparaissent dans la liste des cookies personnalisés sous l’onglet Inférences, dans la boîte de dialogue Propriétés avancées d’importation de journal Web, juste au-dessous de la zone de texte intitulée Entrer un nouvel identificateur de cookie personnalisé.

Ces trois options sont activées par défaut pour Commerce Server. À moins que vous ne désactiviez une ou plusieurs d’entre elles, elles seront utilisées dans l’ordre suivant pour identifier les utilisateurs :

  • MSCSAuth dans le champ cs(Cookie). Cookie d’authentification émis par Commerce Server, stocké dans le fichier journal au format du W3C.
  • MSCSAuth dans le champ cs-uri-query. Cookie d’authentification émis par Commerce Server, passé dans la chaîne de requête d’adresse URL si le site fonctionne en mode sans cookie.
  • Cookie personnalisé dans le champ cs(Cookie). Cookie qu’un utilisateur a peut-être choisi d’accepter, stocké dans le fichier journal au format du W3C.
  • Adresse IP du client et Agent utilisateur. Adresse IP du client et chaîne du navigateur du client, telles qu’elles sont définies dans la spécification HTTP.

Pour définir une inférence pour les utilisateurs

  1. Développez Serveurs Microsoft SQL, Groupe SQL Server, puis développez le serveur sur lequel Data Warehouse est installé.
  2. Cliquez avec le bouton droit sur Data Transformation Services, puis cliquez sur Nouveau lot.

    Ou, si vous modifiez un lot existant, cliquez avec le bouton droit sur Data Transformation Services, cliquez sur Toutes les tâches, puis sélectionnez Ouvrir le modèle. Dans la boîte de dialogue Choisissez un fichier, cliquez sur le lot à modifier, puis cliquez sur Ouvrir.

  3. Dans le menu Tâche, cliquez sur Importation de journal de serveur Web (Commerce Server).
  4. Dans la boîte de dialogue Importer les journaux de serveur Web, cliquez sur Options avancées.
  5. Dans la boîte de dialogue Propriétés avancées d’importation de journal Web, sous l’onglet Inférences, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Utiliser des cookies d’identification de Commerce Server pour les inférences | Utiliser les cookies de Commerce Server pour les inférences des utilisateurs.
    Utiliser des noms d’utilisateur pour les inférences | Utiliser des noms d’utilisateur uniques pour les inférences.
    Utiliser des identificateurs de cookies personnalisés | Utiliser des cookies personnalisés pour les inférences.
    Entrer un nouvel identificateur de cookie personnalisé | Taper l’identificateur de votre cookie personnalisé.
    Ajouter | Ajouter le nouvel identificateur de cookie personnalisé.
    Supprimer | Supprimer les identificateurs de cookies personnalisés sélectionnés.
    Haut | Déplacer l’identificateur de cookie personnalisé sélectionné vers le haut de la liste. Les cookies sont exécutés selon l’ordre de leur apparition dans cette liste.
    Bas | Déplacer l’identificateur de cookie personnalisé sélectionné vers le bas de la liste. Les cookies sont exécutés selon l’ordre de leur apparition dans cette liste.
  6. Cliquez sur Appliquer, puis sur OK.

    Les inférences pour les utilisateurs sont configurées pour le processus d’importation de fichier journal Web.

  7. Exécutez la tâche DTS Synchronisation de la configuration pour synchroniser la configuration de votre site et le Data Warehouse. Pour connaître les instructions à suivre, consultez Exécution de la tâche DTS Synchronisation de la configuration.

Vous pouvez à présent importer des données dans le Data Warehouse.

Voir aussi

Exécution de la tâche DTS Synchronisation de la configuration

Configuration de la tâche DTS Importation de journal de serveur Web

Importation de données dans le Data Warehouse

(en anglais)

Dépannage du processus d’importation du Data Warehouse


Définition des inférences pour les visites

Une visite sur un site Web correspond à la durée pendant laquelle un utilisateur unique est en interaction avec ce site Web. Une visite commence généralement au moment où un utilisateur accède à un site, soit en cliquant sur un lien permettant d’accéder au site, soit en tapant l’adresse URL du site dans la zone Adresse de son navigateur. Il est plus difficile de déterminer le moment où une visite se termine. Si l’utilisateur ferme le navigateur au milieu d’une session, réduit le navigateur ou tape une nouvelle adresse URL dans la zone Adresse du navigateur, il n’existe aucune entrée de journal indiquant que la visite est terminée.

Pour compenser le manque d’indication claire permettant de savoir qu’une visite est terminée, Commerce Server définit un délai d’expiration de visite par défaut correspondant à 30 minutes d’inactivité de l’utilisateur pour considérer qu’une visite est terminée. Vous pouvez modifier, si vous le voulez, la longueur du délai d’expiration de visite, afin de mieux répondre aux besoins de votre site Web. Si le délai d’expiration de visite s’écoule, terminant ainsi la visite, et que l’utilisateur retourne sur le site un peu plus tard, le rapport affichera deux visites.

Remarque

  • Il arrive dans certains cas que votre serveur n’enregistre pas de manière chronologique l’activité des visites des utilisateurs : ceci peut entraîner l’importation des données concernant une visite dans un ordre qui ne respecte pas la chronologie. Le Data Warehouse peut pallier le problème tant que la longueur spécifiée comme délai d’expiration de visite n’est pas dépassée. Cependant, si une visite dépasse le délai d’expiration de visite, l’exactitude des données est affectée.

Pour définir une inférence pour les visites

  1. Développez Serveurs Microsoft SQL, Groupe SQL Server, puis développez le serveur sur lequel Data Warehouse est installé.
  2. Cliquez avec le bouton droit sur Data Transformation Services, puis cliquez sur Nouveau lot.

    Ou, si vous modifiez un lot existant, cliquez avec le bouton droit sur Data Transformation Services, cliquez sur Toutes les tâches, puis sélectionnez Ouvrir le modèle. Dans la boîte de dialogue Choisissez un fichier, cliquez sur le lot à modifier, puis cliquez sur Ouvrir.

  3. Dans le menu Tâche, cliquez sur Importation de journal de serveur Web (Commerce Server).
  4. Dans la boîte de dialogue Importer les journaux de serveur Web, cliquez sur Options avancées.
  5. Dans la boîte de dialogue Propriétés avancées d’importation de journal Web, sous l’onglet Inférences, tapez un nombre dans la zone Inférences des visites pour indiquer le nombre de minutes d’inactivité de l’utilisateur autorisées avant qu’une visite se termine.
  6. Cliquez sur Appliquer, puis sur OK.

    Les inférences pour les visites sont configurées pour le processus d’importation de fichier journal Web.

  7. Exécutez la tâche DTS Synchronisation de la configuration pour synchroniser la configuration de votre site et le Data Warehouse. Pour connaître les instructions à suivre, consultez Exécution de la tâche DTS Synchronisation de la configuration.

Vous pouvez à présent importer des données dans le Data Warehouse.

Voir aussi

Exécution de la tâche DTS Synchronisation de la configuration

Configuration de la tâche DTS Importation de journal de serveur Web

Importation de données dans le Data Warehouse

(en anglais)

Dépannage du processus d’importation du Data Warehouse


Définition des propriétés de superposition horaire et de rotation des fichiers journaux

La propriété de superposition horaire vous permet de supprimer les redondances qui peuvent survenir lorsque des fichiers journaux contiennent des demandes qui se superposent dans le temps. La propriété de rotation des fichiers journaux vous permet de supprimer les redondances ou les pertes de données qui peuvent survenir lorsque des fichiers journaux font l’objet de rotations entre les serveurs afin d’éviter que la taille des fichiers journaux ne devienne trop importante.

Sans les paramètres de superposition horaire et de rotation des fichiers journaux, il est impossible d’importer des fichiers journaux dans le Data Warehouse sans perdre de données sur l’activité, car les fichiers journaux sont en création constante lorsque votre site fonctionne. Vos fichiers peuvent contenir des données pour des périodes horaires qui se superposent si vous exécutez les fichiers journaux sur des serveurs distincts, si vous interrompez et reprenez l’enregistrement sur un serveur unique, si vous réimportez accidentellement un fichier journal ou si vous procédez à une concaténation de fichiers journaux distincts.

Remarque

  • Une fois ces procédures effectuées, vous devez synchroniser la configuration de votre site et le Data Warehouse avant d’importer des données dans le Data Warehouse.

Superpositions horaires

Rotation des fichiers journaux

Superpositions horaires

Des superpositions horaires peuvent se produire si plusieurs serveurs sont associés à un site, si vous interrompez et reprenez l’enregistrement sur un serveur unique, si vous réimportez accidentellement un fichier journal ou si vous procédez à une concaténation de fichiers journaux distincts. (La concaténation rend le suivi des superpositions horaires particulièrement difficile et doit par conséquent être évitée.) La période de superposition horaire par défaut pour Commerce Server est de 30 minutes.

Lorsqu’une superposition horaire est détectée au cours d’une importation, les demandes qui se superposent sont ignorées par défaut et les autres demandes sont importées. Vous pouvez modifier à la fois la période de superposition horaire et l’action qui doit être exécutée si une superposition est détectée.

Si vous importez accidentellement un fichier journal, vous pouvez le supprimer à l’aide de la tâche Suppression des données. Pour plus d’informations sur la suppression de fichiers journaux, consultez Exécution de la tâche DTS Suppression des données.

La figure suivante montre comment les quatre actions de superposition, Ignorer les enregistrements et continuer, Importer tous les enregistrements, Arrêter l’importation et Arrêter toutes les importations affectent les parties des deuxième et troisième fichiers journaux qui sont conservées lors de la détection d’une superposition horaire.

Superposition horaire de fichier journal Web.

Pour configurer les superpositions horaires des fichiers journaux Web

  1. Développez Serveurs Microsoft SQL, Groupe SQL Server, puis développez le serveur sur lequel Data Warehouse est installé.
  2. Cliquez avec le bouton droit sur Data Transformation Services, puis cliquez sur Nouveau lot.

    Ou, si vous modifiez un lot existant, cliquez avec le bouton droit sur Data Transformation Services, cliquez sur Toutes les tâches, puis sélectionnez Ouvrir le modèle. Dans la boîte de dialogue Choisissez un fichier, cliquez sur le lot à modifier, puis cliquez sur Ouvrir.

  3. Dans le menu Tâche, cliquez sur Importation de journal de serveur Web (Commerce Server).
  4. Dans la boîte de dialogue Importer les journaux de serveur Web, cliquez sur Options avancées.
  5. Dans la boîte de dialogue Propriétés avancées d’importation de journal Web, sous l’onglet Fichiers journaux, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Délai de superposition des enregistrements en minutes | Taper le nombre de minutes de superposition des enregistrements.
    Si une superposition est détectée Sélectionner une action à exécuter en cas de détection d’une superposition :
    • Ignorer les enregistrements et continuer. (Paramètre par défaut) Toutes les demandes qui se superposent sont ignorées et les autres demandes sont importées.
    • Importer tous les enregistrements. Toutes les demandes sont importées, y compris celles qui se superposent.
    • Arrêter l’importation. Le fichier journal contenant des demandes qui se superposent n’est pas importé. Tous les autres fichiers journaux sont importés.
    • Arrêter toutes les importations. Toutes les importations de fichiers journaux sont arrêtées. Il est nécessaire de supprimer le fichier journal importé si vous ne voulez pas conserver les données importées avant la détection de la demande en superposition.

    Remarque

    • Sélectionnez Arrêter l’importation ou Arrêter toutes les importations pour résoudre les problèmes que vous pouvez rencontrer lors de l’importation.
  6. Cliquez sur Appliquer, puis sur OK.

    La propriété de superposition horaire est à présent configurée pour le processus d’importation de fichier journal Web.

  7. Exécutez la tâche DTS Synchronisation de la configuration pour synchroniser la configuration de votre site et le Data Warehouse. Pour connaître les instructions à suivre, consultez Exécution de la tâche DTS Synchronisation de la configuration.

Vous pouvez à présent importer des données dans le Data Warehouse.

Rotation des fichiers journaux

Les rotations des fichiers journaux provoquent une coupure arbitraire des données dans les fichiers journaux, car les données de certaines visites sont divisées entre la fin d’un fichier journal et le début du suivant. Vous avez le choix entre stocker, valider ou ignorer les visites en cours à la fin de votre processus d’importation.

Pour définir la rotation des fichiers journaux

  1. Développez Serveurs Microsoft SQL, Groupe SQL Server, puis développez le serveur sur lequel Data Warehouse est installé.
  2. Cliquez avec le bouton droit sur Data Transformation Services, puis cliquez sur Nouveau lot.

    Ou, si vous modifiez un lot existant, cliquez avec le bouton droit sur Data Transformation Services, cliquez sur Toutes les tâches, puis sélectionnez Ouvrir le modèle. Dans la boîte de dialogue Choisissez un fichier, cliquez sur le lot à modifier, puis cliquez sur Ouvrir.

  3. Dans le menu Tâche, cliquez sur Importation de journal de serveur Web (Commerce Server).
  4. Dans la boîte de dialogue Importer les journaux de serveur Web, cliquez sur Options avancées.
  5. Dans la boîte de dialogue Propriétés avancées d’importation de journal Web, sous l’onglet Fichiers journaux, effectuez les opérations suivantes :
    Utilisez ceci Pour faire cela
    En fin d’importation Sélectionner une action à exécuter pour les visites en cours à la fin de votre processus d’importation :
    • Stocker les visites en cours pour la prochaine importation. (Paramètre par défaut) La visite en cours est reconstruite comme s’il s’agissait d’un seul fichier journal. Cette option nécessite un peu plus de temps, car les visites en cours doivent être appelées du cache à chaque nouvelle importation. Vous devez importer les fichiers journaux en respectant l’ordre chronologique pour que cette option fonctionne.
    • Valider les visites en cours dans la base de données. Le nombre de visites est plus élevé pendant l’ouverture et la fermeture du fichier journal, car les visites qui sont réparties sur ces deux périodes de temps sont comptées deux fois.
    • Ignorer les visites en cours. Le nombre indiqué dans le rapport est inférieur pendant la période de fermeture du fichier journal, car les visites qui n’ont pas été fermées sont ignorées.
  6. Cliquez sur Appliquer, puis sur OK.

    La propriété de rotation des fichiers journaux est à présent configurée pour le processus d’importation de fichier journal Web.

  7. Exécutez la tâche DTS Synchronisation de la configuration pour synchroniser la configuration de votre site et le Data Warehouse. Pour connaître les instructions à suivre, consultez Exécution de la tâche DTS Synchronisation de la configuration.

Vous pouvez à présent importer des données dans le Data Warehouse.

Voir aussi

Exécution de la tâche DTS Synchronisation de la configuration

Configuration de la tâche DTS Importation de journal de serveur Web

Importation de données dans le Data Warehouse

(en anglais)


Définition des propriétés de l'importation des chaînes de requête pour les fichiers journaux Web

Envoyer des commentaires sur cette page Commerce Server 2002

Définition des propriétés de l’importation des chaînes de requête pour les fichiers journaux Web

Si votre site utilise des chaînes de requête, vous pouvez les enregistrer dans des fichiers journaux et les importer dans le Data Warehouse. Les chaînes de requête peuvent être utilisées dans votre site pour la recherche ou l’exécution de fichiers exécutables. Si vous disposez d’une liste des chaînes de requête utilisées dans votre site, vous pouvez activer la création de rapports sur le contenu associé à ces chaînes de requête.

Par défaut, les chaînes de requête sont stockées avec l’identificateur URI (Uniform Resource Identifier) dans le Data Warehouse. Les chaînes de requête vous permettent d’effectuer des recherches de titres HTML pour les pages de votre site qui utilisent les chaînes de requête. Toutefois, s’il existe différentes combinaisons de noms et de valeurs de paramètres pour les chaînes de requête dans vos fichiers journaux, le nombre de demandes importées peut relativement augmenter, ce qui peut entraîner une baisse des performances du système. Si tel est le cas, vous pouvez interrompre le stockage des chaînes de requête avec les URI.

Remarques

  • Une fois ces procédures effectuées, vous devez synchroniser la configuration de votre site et le Data Warehouse avant d’importer des données dans le Data Warehouse.
  • Le Data Warehouse peut importer un nombre maximal combiné de 256 chaînes de requête à valeur unique et à valeurs multiples.
  • Les chaînes de requêtes importées peuvent se composer d’un nombre maximal de 150 chaînes de requête à valeur unique ou d’un nombre maximal de 256 chaînes de requête à valeurs multiples. L’importation d’un trop grand nombre de chaînes de requête peut entraîner l’échec du processus d’importation de journal Web.
  • Le Data Warehouse limite la longueur des chaînes à valeurs multiples importées (y compris les chaînes de requête) à 512 caractères. Toute chaîne de requête à valeurs multiples comportant plus de 512 caractères est tronquée au moment de l’importation pour ne contenir plus que 512 caractères.

Pour configurer des chaînes de requête pour l’importation

Pour supprimer une chaîne de requête de l’importation

Pour afficher les propriétés de la configuration d’une chaîne de requête

Pour configurer des chaînes de requête pour l’importation

  1. Développez Serveurs Microsoft SQL, Groupe SQL Server, puis développez le serveur sur lequel Data Warehouse est installé.
  2. Cliquez avec le bouton droit sur Data Transformation Services, puis cliquez sur Nouveau lot.

    Ou, si vous modifiez un lot existant, cliquez avec le bouton droit sur Data Transformation Services, cliquez sur Toutes les tâches, puis sélectionnez Ouvrir le modèle. Dans la boîte de dialogue Choisissez un fichier, cliquez sur le lot à modifier, puis cliquez sur Ouvrir.

  3. Dans le menu Tâche, cliquez sur Importation de journal de serveur Web (Commerce Server).
  4. Dans la boîte de dialogue Importer les journaux de serveur Web, cliquez sur Options avancées.
  5. Dans la boîte de dialogue Propriétés avancées d’importation de journal Web, sous l’onglet Chaînes de requête, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Enregistrer la chaîne de requête avec l’URI | Stocker les chaînes de requête avec les identificateurs URI associés dans le Data Warehouse.
    Ajouter | Ouvrir la boîte de dialogue Chaînes de requête.
  6. Dans la boîte de dialogue Chaînes de requête, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom Taper le nom de la chaîne de requête, exactement tel qu’il apparaît dans vos fichiers journaux.

    Le nom ne peut pas correspondre aux colonnes par défaut du Data Warehouse ; il ne peut pas non plus contenir « CEVT » (ce groupe de lettres est réservé aux chaînes de requête Commerce Server). De plus, le nom ne peut ni contenir d’espaces, ni inclure les caractères suivants : ‘, ", +, &, ^, ’, ", {,}, <, > ou =.

    Toutes les applications d’un site | Importer les chaînes de requête de toutes les applications du site.
    Applications sélectionnées d’un site | Spécifier les applications pour lesquelles vous voulez importer les chaînes de requête.
    Sélectionner le type de données Sélectionner dans la liste déroulante le type de données de votre chaîne de requête. Quatre types de données sont possibles : entier, chaîne, date/heure ou réel.

    Le nombre maximal de caractères pour le type de données chaîne est de 255.
    Type de données à valeurs multiples | À activer si votre chaîne de requête comporte un type de données à valeurs multiples.
  7. Cliquez sur OK pour fermer la boîte de dialogue Chaînes de requête.
  8. Cliquez sur Appliquer, puis sur OK.

    Les chaînes de requête sont configurées pour le processus d’importation de fichier journal Web.

  9. Exécutez la tâche DTS Synchronisation de la configuration pour synchroniser la configuration de votre site et le Data Warehouse. Pour connaître les instructions à suivre, consultez Exécution de la tâche DTS Synchronisation de la configuration.

Vous pouvez à présent importer des données dans le Data Warehouse.

Pour supprimer une chaîne de requête de l’importation

  1. Développez Serveurs Microsoft SQL, Groupe SQL Server, puis développez le serveur sur lequel Data Warehouse est installé.
  2. Cliquez avec le bouton droit sur Data Transformation Services, puis cliquez sur Nouveau lot.

    Ou, si vous modifiez un lot existant, cliquez avec le bouton droit sur Data Transformation Services, cliquez sur Toutes les tâches, puis sélectionnez Ouvrir le modèle. Dans la boîte de dialogue Choisissez un fichier, cliquez sur le lot à modifier, puis cliquez sur Ouvrir.

  3. Dans le menu Tâche, cliquez sur Importation de journal de serveur Web (Commerce Server).
  4. Dans la boîte de dialogue Importer les journaux de serveur Web, cliquez sur Options avancées.
  5. Dans la boîte de dialogue Propriétés avancées d’importation de journal Web, sous l’onglet Chaînes de requête, sélectionnez la chaîne de requête à supprimer, puis cliquez sur Supprimer.
  6. Cliquez sur Appliquer, puis sur OK.

    La chaîne de requête est supprimée du processus d’importation de fichier journal Web.

  7. Exécutez la tâche DTS Synchronisation de la configuration pour synchroniser la configuration de votre site et le Data Warehouse. Pour connaître les instructions à suivre, consultez Exécution de la tâche DTS Synchronisation de la configuration.

Vous pouvez à présent importer des données dans le Data Warehouse.

Pour afficher les propriétés de la configuration d’une chaîne de requête

  1. Développez Serveurs Microsoft SQL, Groupe SQL Server, puis développez le serveur sur lequel Data Warehouse est installé.
  2. Cliquez avec le bouton droit sur Data Transformation Services, puis cliquez sur Nouveau lot.

    Ou, si vous modifiez un lot existant, cliquez avec le bouton droit sur Data Transformation Services, cliquez sur Toutes les tâches, puis sélectionnez Ouvrir le modèle. Dans la boîte de dialogue Choisissez un fichier, cliquez sur le lot à modifier, puis cliquez sur Ouvrir.

  3. Dans le menu Tâche, cliquez sur Importation de journal de serveur Web (Commerce Server).
  4. Dans la boîte de dialogue Importer les journaux de serveur Web, cliquez sur Options avancées.
  5. Dans la boîte de dialogue Propriétés avancées d’importation de journal Web, sous l’onglet Chaînes de requête, cliquez sur Propriétés pour ouvrir la boîte de dialogue Chaînes de requête. (Vous ne pouvez modifier aucune des propriétés affichées.)

    Remarque

    • Pour modifier les propriétés, vous devez tout d’abord supprimer la chaîne de requête de l’importation, puis l’ajouter de nouveau avec les nouvelles propriétés voulues.
  6. Cliquez sur OK, puis une nouvelle fois sur OK.

Voir aussi

Configuration de la tâche DTS Importation de journal de serveur Web

Importation de données dans le Data Warehouse

Troubleshooting the Data Warehouse Import Process


Définition des propriétés de redémarrage de l'importation de journal Web

Envoyer des commentaires sur cette page Commerce Server 2002

Définition des propriétés de redémarrage de l’importation de journal Web

L’onglet Redémarrer de la boîte de dialogue Importer les journaux de serveur Web vous permet de configurer les options de redémarrage. Si le Data Warehouse rencontre une erreur durant l’importation d’un journal Web, l’option de redémarrage peut soit arrêter automatiquement l’ensemble du processus d’importation, soit supprimer le journal erroné et poursuivre l’importation après épuisement des tentatives de redémarrage.

Remarque

  • Une fois cette procédure effectuée, vous devez synchroniser la configuration de votre site avec le Data Warehouse avant d’importer des données dans le Data Warehouse.

Pour définir les options de redémarrage de l’importation de journal de serveur Web

  1. Développez Serveurs Microsoft SQL, Groupe SQL Server, puis développez le serveur sur lequel Data Warehouse est installé.
  2. Cliquez avec le bouton droit sur Data Transformation Services, puis cliquez sur Nouveau lot.

    Ou, si vous modifiez un lot existant, cliquez avec le bouton droit sur Data Transformation Services, cliquez sur Toutes les tâches, puis sélectionnez Ouvrir le modèle. Dans la boîte de dialogue Choisissez un fichier, cliquez sur le lot à modifier, puis cliquez sur Ouvrir.

  3. Dans le menu Tâche, cliquez sur Importation de journal de serveur Web (Commerce Server).
  4. Dans la boîte de dialogue Importer les journaux de serveur Web, cliquez sur Options avancées.
  5. Dans la boîte de dialogue Propriétés avancées d’importation de journal Web, sous l’onglet Redémarrer, dans la section Paramètres de redémarrage, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Action après épuisement des tentatives | Sélectionner dans la liste déroulante soit Arrêter l’importation à la fin des tentatives, soit Supprimer l’importation de journal problématique et continuer.
    Nombre de tentatives de redémarrage | Spécifier le nombre de tentatives que Commerce Server doit faire pour redémarrer un processus d’importation qui a échoué.
  6. Cliquez sur OK, puis une nouvelle fois sur OK.

    Les options de redémarrage sont définies pour les importations de journal Web.

  7. Exécutez la tâche DTS Synchronisation de la configuration pour synchroniser la configuration de votre site et le Data Warehouse. Pour connaître les instructions à suivre, consultez Exécution de la tâche DTS Synchronisation de la configuration.

Vous pouvez maintenant exécuter les tâches DTS d’importation de Commerce Server pour importer des données dans le Data Warehouse.

Voir aussi

Options disponibles en cas d’échec d’une tâche DTS Importation de journal de serveur Web

Troubleshooting the Data Warehouse Import Process


Exécution de la tâche DTS Importation de journal de serveur Web

Cette rubrique explique comment exécuter la tâche DTS Importation de journal de serveur Web. Avant d’exécuter cette tâche, il est recommandé de lire Méthodes conseillées pour l’exécution de la tâche DTS Importation de journal de serveur Web et Méthodes conseillées pour l’importation.

Les fichiers journaux de serveur Web stockent les données recueillies lorsque des utilisateurs visitent votre site et cliquent sur des liens permettant d’accéder à ses pages Web. Les données comprennent le temps passé par l’utilisateur sur votre site, le site de référence, les clics sur publicité, la portée de la publicité, la fréquence des clics, ainsi que l’itinéraire de l’utilisateur dans le site, y compris les pages d’entrée et de sortie.

La tâche DTS Importation de journal de serveur Web vous permet de spécifier les fichiers journaux à importer dans le Data Warehouse, ainsi que leur emplacement. Pour plus d’informations sur la configuration de cette tâche DTS, consultez Configuration de la tâche DTS Importation de journal de serveur Web.

La tâche d’importation de fichier journal Web recherche les fichiers journaux à l’emplacement spécifié, les analyse et applique les propriétés que vous avez configurées pour l’importation.

Vous pouvez importer des fichiers journaux à partir de sites Web qui n’exécutent pas les services IIS (Internet Information Services) 5.0 (et n’incluent pas Commerce Server) à condition que ces fichiers soient au format de fichier journal étendu du W3C (World Wide Web Consortium). Pour plus d’informations sur l’ajout d’applications et de serveurs Web n’utilisant pas de composants Commerce Server, consultez Ajout d’une application non-Commerce Server à un site.

Si votre site possède plusieurs serveurs Web, le processus d’importation de fichier journal Web combine les fichiers des différents serveurs Web dans la mémoire et organise les données de fichier journal de manière chronologique. Le processus d’importation de fichier journal Web filtre les données de fichier journal Web à l’aide des propriétés d’importation que vous avez définies. Il applique un algorithme d’inférence de visite des utilisateurs pour transformer les données de clic en nombre d’utilisateurs et de visites distincts. Pour plus d’informations sur la définition des inférences pour les utilisateurs, consultez Définition des inférences pour les utilisateurs. Pour plus d’informations sur la définition des inférences pour les visites, consultez Définition des inférences pour les visites.

De plus, si vous sélectionnez l’importation des chaînes de requête associées au site Web, le processus d’importation de fichier journal Web les importe. Pour plus d’informations sur la configuration des fichiers journaux Web, consultez Configuration de la tâche DTS Importation de journal de serveur Web.

Pour plus d’informations sur la définition de propriétés de l’importation pour les données des fichiers journaux Web, consultez Configuration de la tâche DTS Importation de journal de serveur Web.

Pour importer dans le Data Warehouse les journaux de serveur Web d’un seul site

Pour importer dans le Data Warehouse les journaux de serveur Web de tous les sites associés

Pour importer dans le Data Warehouse les journaux de serveur Web d’un seul site

  1. Exécutez la tâche DTS Synchronisation de la configuration pour synchroniser la configuration de votre site et le Data Warehouse. Pour connaître les instructions à suivre, consultez Exécution de la tâche DTS Synchronisation de la configuration.
  2. Développez Serveurs Microsoft SQL, Groupe SQL Server, puis développez le serveur sur lequel Data Warehouse est installé.
  3. Cliquez avec le bouton droit sur Data Transformation Services, puis cliquez sur Nouveau lot.

    Ou, si vous modifiez un lot existant, cliquez avec le bouton droit sur Data Transformation Services, cliquez sur Toutes les tâches, puis sélectionnez Ouvrir le modèle. Dans la boîte de dialogue Choisissez un fichier, cliquez sur le lot à modifier, puis cliquez sur Ouvrir.

  4. Dans le menu Tâche, cliquez sur Importation de journal de serveur Web (Commerce Server).
  5. Dans la boîte de dialogue Importer les journaux de serveur Web, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Description | Taper une description pour la tâche d’importation.
    Niveau d’opération | Sélectionner Niveau du site dans la liste déroulante.
    Site | Sélectionner dans la liste déroulante le nom du site Web contenant le journal de serveur Web que vous importez.
    Chemin d’accès au fichier journal | Taper le chemin d’accès au fichier journal Web à importer ou cliquer sur Fichiers journaux pour sélectionner les fichiers journaux Web à importer dans la liste Fichiers journaux du serveur Web.
    Tous les fichiers journaux depuis la dernière importation | Spécifier l’importation de tous les fichiers journaux créés depuis la dernière importation.
    Fichiers journaux par plage date/heure | Spécifier l’importation uniquement des fichiers journaux créés entre la Date/heure de début et la Date/heure de fin.
    Date/heure de début Taper la date et l’heure correspondant au début de la plage de date/heure pendant laquelle les fichiers journaux sont importés. Cette option n’est disponible que si vous sélectionnez l’option Fichiers journaux par plage date/heure.

    La valeur de cette option est stockée dans la table Sitesummary du Data Warehouse.
    Date/heure de fin Taper la date et l’heure correspondant à la fin de la plage de date/heure pendant laquelle les fichiers journaux sont importés. Cette option n’est disponible que si vous sélectionnez l’option Fichiers journaux par plage date/heure.

    La valeur de cette option est stockée dans la table Sitesummary du Data Warehouse.
  6. Dans la section Propriétés du nouvel essai, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nombre de tentatives Taper le nombre de tentatives de connexion souhaité de la tâche vers le Data Warehouse. Le nombre de tentatives de connexion par défaut est de 10.

    Remarque

    • Pour spécifier le nombre de tentatives de redémarrage d’un processus d’importation de journal Web à effectuer avant de passer au suivant, cliquer sur Options avancées, puis sur l’onglet Redémarrer.
    Délai en secondes entre les essais | Taper le nombre de secondes entre les tentatives de connexion. La valeur par défaut est 30 secondes.
  7. Cliquez sur OK.
  8. Dans le menu Lot, cliquez sur Exécuter.

    La boîte de dialogue Exécution du lot s’affiche, indiquant l’avancement de votre importation. Lorsque le processus d’importation est terminé, la boîte de dialogue Résultats d’exécution du lot vous informe que le processus s’est terminé avec succès.

    Remarque

    • Si le processus d’importation de journal de serveur Web échoue, exécutez la tâche DTS Suppression des données pour supprimer les données associées à ce journal, puis exécutez la tâche DTS Préparation du rapport pour actualiser les cubes OLAP.
  9. Cliquez sur OK, puis sur Terminé.

    Les données du fichier journal Web sont importées dans le Data Warehouse.

  10. Exécutez la Tâche DTS Préparation du rapport pour structurer les données importées en cubes OLAP désignés. Pour obtenir des instructions sur l’exécution de la tâche Préparation du rapport, consultez Exécution de la tâche DTS Préparation du rapport.

Ces données sont à présent disponibles pour les rapports.

Pour importer dans le Data Warehouse les journaux de serveur Web de tous les sites associés

  1. Exécutez la tâche DTS Synchronisation de la configuration pour synchroniser la configuration de votre site et le Data Warehouse. Pour connaître les instructions à suivre, consultez Exécution de la tâche DTS Synchronisation de la configuration.
  2. Développez Serveurs Microsoft SQL, Groupe SQL Server, puis développez le serveur sur lequel Data Warehouse est installé.
  3. Cliquez avec le bouton droit sur Data Transformation Services, puis cliquez sur Nouveau lot.

    Ou, si vous modifiez un lot existant, cliquez avec le bouton droit sur Data Transformation Services, cliquez sur Toutes les tâches, puis sélectionnez Ouvrir le modèle. Dans la boîte de dialogue Choisissez un fichier, cliquez sur le lot à modifier, puis cliquez sur Ouvrir.

  4. Dans le menu Tâche, cliquez sur Importation de journal de serveur Web (Commerce Server).
  5. Dans la boîte de dialogue Importer les journaux de serveur Web, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Description | Taper une description pour la tâche d’importation.
    Niveau d’opération | Sélectionner Niveau du Data Warehouse dans la liste déroulante.
    Data Warehouse | Sélectionner dans la liste déroulante le nom du Data Warehouse associé aux sites pour lesquels vous importez des journaux de serveur Web.
    Chemin d’accès au fichier journal | Taper le chemin d’accès au fichier journal Web à importer ou cliquer sur Fichiers journaux pour sélectionner les fichiers journaux Web à importer dans la liste Fichiers journaux du serveur Web.
    Tous les fichiers journaux depuis la dernière importation | Spécifier l’importation de tous les fichiers journaux créés depuis la dernière importation.
    Fichiers journaux par plage date/heure | Spécifier l’importation uniquement des fichiers journaux créés entre la Date/heure de début et la Date/heure de fin.
    Date/heure de début | Taper la date et l’heure correspondant au début de la plage de date/heure pendant laquelle les fichiers journaux sont importés. Cette option n’est disponible que si vous sélectionnez l’option Fichiers journaux par plage date/heure.
    Date/heure de fin | Taper la date et l’heure correspondant à la fin de la plage de date/heure pendant laquelle les fichiers journaux sont importés. Cette option n’est disponible que si vous sélectionnez l’option Fichiers journaux par plage date/heure.
  6. Dans la section Propriétés du nouvel essai, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nombre de tentatives Taper le nombre de tentatives de connexion souhaité de la tâche vers le Data Warehouse. Le nombre de tentatives de connexion par défaut est de 10.

    Remarque

    • Pour spécifier le nombre de tentatives de redémarrage d’un processus d’importation de journal Web à effectuer avant de passer au suivant, cliquer sur Options avancées, puis sur l’onglet Redémarrer.
    Délai en secondes entre les essais | Taper le nombre de secondes entre les tentatives de connexion. La valeur par défaut est 30 secondes.
  7. Cliquez sur OK.

    Remarque

    • Vous pouvez ajouter plusieurs tâches DTS à un lot, ajouter des informations de séquencement ou de déroulement des opérations, puis exécuter l’ensemble des tâches du lot.
  8. Dans le menu Lot, cliquez sur Exécuter.

    La boîte de dialogue Exécution du lot s’affiche, indiquant l’avancement de votre importation. Lorsque le processus d’importation est terminé, la boîte de dialogue Résultats d’exécution du lot vous informe que le processus s’est terminé avec succès.

    Remarque

    • Si le processus d’importation de journal de serveur Web échoue, exécutez la tâche DTS Suppression des données pour supprimer les données associées à ce journal, puis exécutez la tâche DTS Préparation du rapport pour actualiser les cubes OLAP.
  9. Cliquez sur OK, puis sur Terminé.

    Les données des fichiers journaux Web sont importées dans le Data Warehouse.

  10. Exécutez la Tâche DTS Préparation du rapport pour structurer les données importées en cubes OLAP désignés. Pour obtenir des instructions sur l’exécution de la tâche Préparation du rapport, consultez Exécution de la tâche DTS Préparation du rapport.

Ces données sont à présent disponibles pour les rapports.

Voir aussi

Méthodes conseillées pour l’importation

Méthodes conseillées pour l’exécution de la tâche DTS Importation de journal de serveur Web

Déroulement des opérations pour l’exécution des tâches DTS

Méthodes conseillées pour le Data Warehouse

Processus ETL pour la tâche DTS Importation de journal de serveur Web

Exécution de la tâche DTS Importation de journal de serveur Web pour un grand site

Dépannage du processus d’importation du Data Warehouse

Rapports basés sur les données de fichier journal Web

Options disponibles en cas d’échec d’une tâche DTS Importation de journal de serveur Web

Configuration de la tâche DTS Importation de journal de serveur Web

Compteurs de performance de Commerce Server

(en anglais)

Sécurisation des bases de données du Data Warehouse

Sécurisation des rapports


Méthodes conseillées pour l'exécution de la tâche DTS Importation de journal de serveur Web

Envoyer des commentaires sur cette page Commerce Server 2002

Méthodes conseillées pour l’exécution de la tâche DTS Importation de journal de serveur Web

Cette rubrique présente un certain nombre de méthodes conseillées et de remarques importantes relatives à l’exécution de la tâche DTS Importation de journal de serveur Web.

  • Si vous avez une pluralité d’applications et de fichiers journaux, utilisez un script pour configurer la tâche DTS Importation de journal Web au lieu de vous servir de l’interface utilisateur. Pour connaître les instructions à suivre, consultez Exécution de la tâche DTS Importation de journal de serveur Web à l’aide d’un script.
  • Si vous exécutez la tâche DTS Importation de journal de serveur Web en utilisant un script, vous devez spécifier un commutateur 3 gigaoctets (Go) dans le fichier Boot.ini de Windows 2000 sur l’ordinateur hébergeant le Data Warehouse (SQL Server) et l’ordinateur hébergeant le serveur d’analyse. Pour obtenir des instructions, consultez Exécution de la tâche DTS Importation de journal de serveur Web pour un grand site.
  • Le processus d’importation de fichier journal Web n’importera pas les fichiers journaux pendant que les services IIS procèdent à des écritures actives dans ces fichiers. N’importez pas votre fichier journal directement depuis votre site Web. Vérifiez plutôt que le serveur n’accède plus au fichier, puis copiez le fichier vers un autre répertoire. Vous pouvez ensuite l’importer depuis le répertoire sélectionné.
  • Si vous importez les journaux de serveur Web de plusieurs sites et réalisez une opération au Niveau du Data Warehouse pour importer les données de tous les sites associés au Data Warehouse, la tâche DTS Importation de journal de serveur Web importe tous les fichiers journaux situés sur le chemin d’accès aux fichiers journaux, selon le critère défini pour l’option Tous les fichiers journaux depuis la dernière importation ou Fichiers journaux par plage date/heure. La tâche DTS Importation de journal Web ne reconnaît pas que vous avez peut-être désélectionné, au niveau du site, quelques journaux que vous ne voulez pas importer.
  • Si vous utilisez les fonctionnalités de campagne marketing du système de ciblage, la tâche DTS Importation de journal de serveur Web importe les URI des événements de campagne marketing. Les journaux de serveur Web sont la source de ces données.
  • Pour plus d’informations sur l’importation des journaux des serveurs Web non-Commerce Server, consultez l’article (en anglais) numéro Q293887, « HOWTO: Analyze Non-Commerce Web Server Log Files », dans la Base de connaissances Microsoft à l’adresse http://go.microsoft.com/fwlink/?LinkId=5166.
  • Commerce Server ne prend en charge que les journaux au format de fichier journal étendu du W3C (World Wide Web Consortium). Si vous importez des journaux Apache ou Lotus, vous devez les convertir vers ce format pour pouvoir les importer.
  • Pour cette tâche, utilisez les compteurs de performance suivants :
    • UImport : tampons d’accès libres. Nombre de tampons d’accès vides disponibles.
    • UImport : tampons d’accès utilisés. Nombre de tampons d’accès remplis.
    • UImport : accès/s. Taux par seconde de traitement des accès par la tâche d’importation.
    • UImport : visites en cours. Nombre de visites actives enregistrées pendant le traitement des fichiers journaux.
    • UImport : événements Commerce. Nombre total d’événements Commerce Server survenus pour la tâche d’importation.
    • UImport : cookies décodés. Nombre total de cookies Commerce Server décodés rencontrés pendant l’exécution de la tâche d’importation.
    • UImport : chaînes de requête. Nombre total de chaînes de requête traitées pendant l’exécution de la tâche d’importation.

Voir aussi

Déroulement des opérations pour l’exécution des tâches DTS

Méthodes conseillées pour le Data Warehouse

Processus ETL pour la tâche DTS Importation de journal de serveur Web

Exécution de la tâche DTS Importation de journal de serveur Web pour un grand site

Troubleshooting the Data Warehouse Import Process

Sécurisation des bases de données du Data Warehouse

Sécurisation des rapports


Rapports basés sur les données de fichier journal Web

Si vous n’importez que des données de fichier journal Web, à l’exclusion de toute autre information, vous pouvez exécuter les rapports suivants :

  • Synthèse de la bande passante (dynamique)
  • Tendances de la bande passante (dynamique)
  • Répertoires (dynamique)
  • Utilisateurs et visites distincts par semaine (dynamique)
  • Utilisateurs distincts par jour (dynamique)
  • Pages d’entrée (dynamique)
  • Analyse des chemins d’entrée (statique)
  • Pages de sortie (dynamique)
  • Statistiques d’activités générales (dynamique)
  • Nombre d’accès par état HTTP (dynamique)
  • Nombre d’accès par état Win32 (dynamique)
  • Chaînes de requête (à valeurs multiples) (dynamique)
  • Chaînes de requête (à valeur unique) (dynamique)
  • Domaines de référence les plus fréquents par nombre de demandes (statique)
  • Pages les plus demandées (statique)
  • Tendances des utilisateurs (dynamique)
  • Synthèse de l’utilisation par jour de la semaine (dynamique)
  • Synthèse de l’utilisation par heure de la journée (dynamique)
  • Synthèse de l’utilisation par semaine de l’année (dynamique)
  • Tendances d’utilisation (dynamique)
  • Tendances des visites des utilisateurs (dynamique)
  • Visites par navigateur, version et système d’exploitation (dynamique)

Voir aussi

Exécution de la tâche DTS Importation de journal de serveur Web

Processus ETL pour la tâche DTS Importation de journal de serveur Web

Configuration de la tâche DTS Importation de journal de serveur Web

(en anglais)

Dépannage du processus d’importation du Data Warehouse

Sécurisation des bases de données du Data Warehouse

Sécurisation des rapports


Options disponibles en cas d'échec d'une tâche DTS Importation de journal de serveur Web

Envoyer des commentaires sur cette page Commerce Server 2002

Options disponibles en cas d’échec d’une tâche DTS Importation de journal de serveur Web

Lorsqu’une tâche DTS Importation de journal Web échoue, vous pouvez analyser la cause de l’échec et choisir de redémarrer, d’ignorer ou de supprimer cette tâche.

Redémarrage de la tâche

  1. Dans Enterprise Manager, ouvrez le lot DTS, cliquez avec le bouton droit sur Importation de journal de serveur Web, puis cliquez sur Propriétés.
  2. Dans la boîte de dialogue Importer les journaux de serveur Web, cliquez sur l’onglet Détails du redémarrage. Seules les importations qui ont échoué figurent sur la liste.
  3. Sous l’onglet Détails de redémarrage, effectuez l’une des opérations suivantes :
    • Cliquez sur Reprendre pour permettre à la tâche d’importation de journal inachevée de continuer. Aucune autre importation de journal ne pourra avoir lieu tant que cette opération ne sera pas achevée.
Remarque
  • Si de nouveaux fichiers journaux sont ajoutés au dossier des fichiers journaux dans la période située entre le moment où l’importation de journal a échoué et celui où vous cliquez sur Reprendre, les nouveaux fichiers journaux sont importés lorsque l’importation inachevée reprend.
  • Pour reprendre l’importation inachevée sans importer d’autres fichiers journaux, après avoir cliqué sur Reprendre, sous l’onglet Emplacement des fichiers journaux, cliquez sur Fichiers journaux, puis effacez les nouveaux fichiers journaux.
  • Cliquez sur Ignorer pour supprimer la tâche d’importation de journal qui a échoué et passer à une autre tâche d’importation de journal. Si vous sélectionnez cette option, vous ne pourrez pas redémarrer la tâche d’importation de journal qui a échoué.

    Tous les messages d’état précédents des importations incomplètes de journaux sont effacés.

  • Attendez. Si vous ne sélectionnez ni Ignorer, ni Reprendre, la tâche d’importation de journal qui a échoué continue à essayer de redémarrer jusqu’à épuisement du nombre de tentatives de redémarrage configuré. Si ces tentatives échouent, l’Action après épuisement des tentatives est réalisée. Elle consiste soit à arrêter l’importation à la fin des tentatives, soit à supprimer l’importation de journal problématique et continuer. (Vous configurez cette action dans la boîte de dialogue Propriétés avancées d’importation de journal Web, sous l’onglet Redémarrer.)
  1. Si vous sélectionnez Ignorer, cliquez dans la boîte de dialogue Importer les journaux de serveur Web sur Fichiers journaux, pour afficher les fichiers journaux dont l’importation a échoué ainsi que les autres fichiers journaux contenus dans le dossier.
  2. Activez les cases à cocher des fichiers journaux dont l’importation a échoué, mais que vous voulez toujours importer, ou désactivez-les si vous ne voulez plus les importer.
  3. Cliquez sur OK.
  4. Réexécutez la tâche DTS Importation de journal de serveur Web.

Remarque

  • À l’étape 4, si vous cliquez d’abord sur Fichiers journaux, les fichiers journaux dont l’importation a échoué n’apparaissent pas dans la boîte de dialogue. Toutefois, lorsque vous cliquez sur Ignorer, ces fichiers journaux sont ajoutés à la tâche d’importation.

Abandon ou suppression de la tâche

Si vous cliquez sur Ignorer dans la boîte de dialogue Paramètres de redémarrage, ou si vous sélectionnez Supprimer l'importation de journal problématique et continuer après épuisement du nombre de tentatives de redémarrage configuré, vous ne pouvez pas redémarrer la tâche d’importation de journal précédente. Les événements suivants se produisent :

  • L’importation de journal précédente est ignorée, et Commerce Server passe à une nouvelle tâche d’importation de journal.
  • Tous les messages d’état précédents des importations incomplètes de journaux sont effacés.
  • Le nombre de demandes, de visites, d’accès, etc. est restauré comme si l’importation qui a échoué n’avait jamais eu lieu.
  • Il se peut que les données sur les visites d’utilisateur ouvertes ne soient pas restaurées ; ces données risquent d’être perdues.

    Supposons par exemple qu’il y ait 10 visites ouvertes. Vous exécutez la tâche DTS Importation de journal Web, mais comme elle échoue, vous la supprimez. Commerce Server restaure les données antérieures sur les utilisateurs, les visites, les demandes et les accès dans l’état où elles se trouvaient avant que vous n’exécutiez la tâche d’importation. Les visites ouvertes, toutefois, ne sont pas restaurées. Il se peut que les anciennes et les nouvelles données sur les visites ouvertes soient supprimées.

    La prochaine fois que vous exécuterez la tâche DTS Importation de journal Web, le nombre de visites risque de manquer de précision puisque les visites d’utilisateur ouvertes ont été supprimées.

Voir aussi

Définition des propriétés de redémarrage de l’importation de journal Web

Déroulement des opérations pour l’exécution des tâches DTS

Méthodes conseillées pour le Data Warehouse

Processus ETL pour la tâche DTS Importation de journal de serveur Web

Exécution de la tâche DTS Importation de journal de serveur Web pour un grand site

Troubleshooting the Data Warehouse Import Process


Exécution de la tâche DTS Importation de journal de serveur Web pour un grand site

Il se peut qu’une erreur « mémoire insuffisante » apparaisse dans le journal des événements du Data Warehouse pour les sites de grande taille. Le plus souvent, cette erreur est due au fait que le processus a épuisé la mémoire virtuelle disponible (vous pouvez le vérifier à l’aide de l’application Analyseur de performances Windows).

Les adresses 32 bits standard peuvent mapper au maximum quatre gigaoctets (Go) de mémoire. Les espaces d’adressage standard des processus 32 bits de Microsoft Windows 2000 sont donc limités à 4 Go. Par défaut, 2 Go sont réservés au système d’exploitation, et 2 Go sont mis à la disposition de l’application. Si vous spécifiez un commutateur 3 Go dans le fichier Boot.ini de Windows NT Enterprise Edition ou de Microsoft Windows 2000 Advanced Server, le système d’exploitation ne réserve que 1 Go d’espace d’adressage, et l’application peut accéder à 3 Go au maximum.

Pour éviter cette erreur, activez le commutateur 3 Go sur l’ordinateur du Data Warehouse avant d’importer des journaux de serveur Web.

L’activation du commutateur 3 Go s’effectue en deux étapes :

  1. Modifiez le fichier Boot.ini. Pour plus d’informations sur le commutateur /3 Go, consultez l’aide de Windows 2000 Advanced Server.
  2. Modifiez le fichier exécutable qui exécute la DLL d’importation de journal. Selon le mode d’importation des données dans le Data Warehouse, vous devez modifier le fichier exécutable correspondant.

Le processus d’importation de journal est hébergé par différents fichiers exécutables, selon votre façon de lancer l’importation.

Pour modifier le fichier qui exécute la bibliothèque DLL d’importation de journal Web si vous importez des données dans le Data Warehouse en exécutant des lots DTS directement à partir de l’interface utilisateur SQL Enterprise Manager

  1. À l’invite du système, tapez ImageCfg -l mmc.exe et appuyez sur ENTRÉE.
  2. Pour vérifier que le commutateur 3 Go est activé, à l’invite du système, tapez ImageCfg mmc.exe, puis appuyez sur ENTRÉE.

Les paramètres en cours s’affichent. Si le commutateur 3 Go est absent, il peut s’avérer nécessaire de le réactiver ou de renommer le fichier exécutable, puis de recommencer.

Pour modifier le fichier qui exécute la bibliothèque DLL d’importation de journal Web si vous importez des données dans le Data Warehouse avec un lot DTS programmé pour s’exécuter avec SQL Enterprise Manager Scheduler

  1. À l’invite du système, tapez ImageCfg -l dtsrun.exe et appuyez sur ENTRÉE.
  2. Pour vérifier que le commutateur 3 Go est activé, à l’invite du système, tapez ImageCfg dtsrun.exe, puis appuyez sur ENTRÉE.

Les paramètres en cours s’affichent. Si le commutateur 3 Go est absent, il peut s’avérer nécessaire de le réactiver ou de renommer le fichier exécutable, puis de recommencer.

Pour modifier le fichier qui exécute la bibliothèque DLL d’importation de journal Web si vous importez des données dans le Data Warehouse avec des scripts et utilisez WSH (Windows Script Host) pour importer vos journaux

  1. À l’invite du système, tapez ImageCfg -l cscript.exe et appuyez sur ENTRÉE.
  2. Pour vérifier que le commutateur 3 Go est activé, à l’invite du système, tapez ImageCfg cscript.exe, puis appuyez sur ENTRÉE.

Les paramètres en cours s’affichent. Si le commutateur 3 Go est absent, il peut s’avérer nécessaire de le réactiver ou de renommer le fichier exécutable, puis de recommencer.

Voir aussi

Déroulement des opérations pour l’exécution des tâches DTS

Méthodes conseillées pour le Data Warehouse

Processus ETL pour la tâche DTS Importation de journal de serveur Web

Exécution de la tâche DTS Importation de journal de serveur Web pour un grand site

Rapports basés sur les données de fichier journal Web

Options disponibles en cas d’échec d’une tâche DTS Importation de journal de serveur Web

Configuration de la tâche DTS Importation de journal de serveur Web

Compteurs de performance de Commerce Server

(en anglais)

Dépannage du processus d’importation du Data Warehouse


Exécution de la tâche DTS Importation des données de transaction

La tâche DTS Importation des données de transaction vous permet d’importer dans le Data Warehouse les données recueillies sur les sites au sujet des transactions. Les données de transaction sont stockées dans la base de données des transactions de Commerce Server. Il s’agit par exemple des bons de commande et des numéros de demande d’approvisionnement, qui sont utilisés dans les rapports d’analyse pour déterminer comment certains produits se vendent, quelles quantités sont demandées ou quelle est la somme des achats des clients.

Remarque

  • La première fois que vous importez des données de transaction dans le Data Warehouse, vous devez utiliser l’option de charge totale et effectuer une importation complète. Une fois que vous avez importé les données de transaction, utilisez l’option de charge incrémentielle pour importer uniquement les données créées depuis la dernière importation des données de transaction.
  • Quand vous exécutez la tâche DTS Importation des données de transaction sur un Data Warehouse qui contient des données pour plusieurs sites Web, vérifiez que les classes étendues par plusieurs sites Web contiennent des membres portant des noms uniques si leurs types de données ne sont pas les mêmes. Si un nouveau membre est ajouté à une classe dans plusieurs sites Web et que le type de données de ces nouveaux membres n’est pas le même, une erreur peut avoir lieu ou les données risquent d’être converties incorrectement lors de l’exécution de la tâche DTS Importation des données de transaction.

Pour importer dans le Data Warehouse les données de transaction d’un seul site

Pour importer dans le Data Warehouse les données de transaction de tous les sites associés

Pour importer dans le Data Warehouse les données de transaction d’un seul site

  1. Exécutez la tâche DTS Synchronisation de la configuration pour synchroniser la configuration de votre site et le Data Warehouse. Pour connaître les instructions à suivre, consultez Exécution de la tâche DTS Synchronisation de la configuration.
  2. Développez Serveurs Microsoft SQL, Groupe SQL Server, puis développez le serveur sur lequel Data Warehouse est installé.
  3. Cliquez avec le bouton droit sur Data Transformation Services, puis cliquez sur Nouveau lot.

    Ou, si vous modifiez un lot existant, cliquez avec le bouton droit sur Data Transformation Services, cliquez sur Toutes les tâches, puis sélectionnez Ouvrir le modèle. Dans la boîte de dialogue Choisissez un fichier, cliquez sur le lot à modifier, puis cliquez sur Ouvrir.

  4. Dans le menu Tâche, cliquez sur Importation des données de transaction (Commerce Server).
  5. Dans la boîte de dialogue Propriétés d’importation des transactions, sous l’onglet Général, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Description | Taper une description pour cette tâche d’importation.
    Niveau d’opération | Sélectionner Niveau du site dans la liste déroulante.
    Nom du site | Sélectionner dans la liste déroulante le site contenant les données que vous voulez importer.
    Intervalle entre les requêtes (min) Taper l’intervalle, exprimé en minutes, entre les requêtes. Une valeur de zéro (0) donne lieu à une seule interrogation de toutes les tables sources SQL Server, ce qui, éventuellement, peut aboutir au verrouillage de ces tables. Pour toute valeur supérieure à zéro (0), la tâche DTS importe les données de transaction incrémentiellement sous forme de groupes définis en fonction de la valeur de l’intervalle entre les requêtes que vous tapez ici. Par exemple, si l’intervalle entre les requêtes est de 25 minutes (la valeur par défaut) et que la première transaction a été journalisée à 01:30, la tâche DTS Importation des données de transaction importe toutes les transactions enregistrées entre 01:30 et 01:55, puis les transactions enregistrées entre 01:55 et 02:20, et ainsi de suite. La tâche DTS continue ainsi et ne s’arrête que lorsqu’elle a atteint l’heure actuelle.

    Remarque

    • Si la base de données des transactions ne se trouve pas dans le même fuseau horaire que le Data Warehouse, la tâche DTS s’arrête à l’heure actuelle de l’importation, convertie en heure locale de la base de données des transactions. Supposons par exemple que la base de données des transactions se trouve dans le fuseau horaire Est (EST) et le Data Warehouse dans le fuseau horaire Pacifique (PST). Si l’heure actuelle est 08:00 AM heure du Pacifique, l’importation cesse lorsque l’intervalle de requête atteint 08:00 AM heure Est.
    Charge incrémentielle | Importer uniquement les nouvelles données de transaction, en se basant sur une importation précédente.
    Charge totale | Importer l’intégralité des données de transaction.
  6. Dans la section Propriétés du nouvel essai, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nombre de tentatives | Taper le nombre de tentatives de connexion souhaité de la tâche vers le Data Warehouse. Le nombre de tentatives de connexion par défaut est de 10.
    Délai en secondes entre les essais | Taper la durée d’attente de la tâche entre les nouvelles tentatives. La valeur par défaut est 30 secondes.
  7. Cliquez sur OK.

    Remarque

    • Vous pouvez ajouter plusieurs tâches DTS à un lot, ajouter des informations de séquencement ou de déroulement des opérations, puis exécuter l’ensemble des tâches du lot.
  8. Dans le menu Lot, cliquez sur Exécuter.

    La boîte de dialogue Exécution du lot s’affiche, indiquant l’avancement de votre importation. Lorsque le processus d’importation est terminé, la boîte de dialogue Résultats d’exécution du lot vous informe que le processus s’est terminé avec succès.

  9. Cliquez sur OK, puis sur Terminé.

    Les données de transaction sont importées dans le Data Warehouse.

  10. Exécutez la Tâche DTS Préparation du rapport pour structurer les données importées en cubes OLAP désignés. Pour obtenir des instructions sur l’exécution de la tâche Préparation du rapport, consultez Exécution de la tâche DTS Préparation du rapport.

Ces données sont à présent disponibles pour les rapports.

Pour importer dans le Data Warehouse les données de transaction de tous les sites associés

  1. Exécutez la tâche DTS Synchronisation de la configuration pour synchroniser la configuration de votre site et le Data Warehouse. Pour connaître les instructions à suivre, consultez Exécution de la tâche DTS Synchronisation de la configuration.
  2. Développez Serveurs Microsoft SQL, Groupe SQL Server, puis développez le serveur sur lequel Data Warehouse est installé.
  3. Cliquez avec le bouton droit sur Data Transformation Services, puis cliquez sur Nouveau lot.

    Ou, si vous modifiez un lot existant, cliquez avec le bouton droit sur Data Transformation Services, cliquez sur Toutes les tâches, puis sélectionnez Ouvrir le modèle. Dans la boîte de dialogue Choisissez un fichier, cliquez sur le lot à modifier, puis cliquez sur Ouvrir.

  4. Dans le menu Tâche, cliquez sur Importation des données de transaction (Commerce Server).
  5. Dans la boîte de dialogue Propriétés d’importation des transactions, sous l’onglet Général, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Description | Taper une description pour cette tâche d’importation.
    Niveau d’opération | Sélectionner Niveau du Data Warehouse dans la liste déroulante.
    Nom du Data Warehouse | Sélectionner dans la liste déroulante le Data Warehouse associé aux sites pour lesquels vous souhaitez importer des données de transaction.
    Charge incrémentielle | Importer uniquement les nouvelles données de transaction, en se basant sur une importation précédente.
    Charge totale | Importer l’intégralité des données de transaction.
  6. Dans la section Propriétés du nouvel essai, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nombre de tentatives | Taper le nombre de tentatives de connexion souhaité de la tâche vers le Data Warehouse. Le nombre de tentatives de connexion par défaut est de 10.
    Délai en secondes entre les essais | Taper la durée d’attente de la tâche entre les nouvelles tentatives. La valeur par défaut est 30 secondes.
  7. Cliquez sur OK.

    Remarque

    • Vous pouvez ajouter plusieurs tâches DTS à un lot, ajouter des informations de séquencement ou de déroulement des opérations, puis exécuter l’ensemble des tâches du lot.
  8. Dans le menu Lot, cliquez sur Exécuter.

    La boîte de dialogue Exécution du lot s’affiche, indiquant l’avancement de votre importation. Lorsque le processus d’importation est terminé, la boîte de dialogue Résultats d’exécution du lot vous informe que le processus s’est terminé avec succès.

  9. Cliquez sur OK, puis sur Terminé.

    Les données de transaction sont importées dans le Data Warehouse.

  10. Exécutez la Tâche DTS Préparation du rapport pour structurer les données importées en cubes OLAP désignés. Pour obtenir des instructions sur l’exécution de la tâche Préparation du rapport, consultez Exécution de la tâche DTS Préparation du rapport.

Ces données sont à présent disponibles pour les rapports.

Voir aussi

Exécution de la tâche DTS Importation des données de transaction

Processus ETL pour la tâche DTS Importation des données de transaction

Exécution de la tâche DTS Importation des données de transaction à l’aide d’un script

Méthodes conseillées pour le Data Warehouse

Spécification des données à importer dans le Data Warehouse

Déroulement des opérations pour l’exécution des tâches DTS

Troubleshooting the Data Warehouse Import Process


Exécution de la tâche DTS Importation du catalogue de produits

La tâche DTS Importation du catalogue de produits vous permet d’importer dans le Data Warehouse des données sur les produits stockés dans votre base de données de catalogues Commerce Server, en particulier des informations de dimension telles que le nom, la description, la couleur et la taille des produits. (Cette opération est à distinguer de l’importation de données dans le système de catalogue de produits à partir de sources externes, comme les feuilles de calcul Excel. Pour plus d’informations sur l’importation des catalogues, consultez Importation et exportation de catalogues.)

Pour s’afficher correctement, les rapports tels que Analyse de produits et Analyse de transactions requièrent des données de catalogue. Si les données de catalogue ne sont pas importées dans le Data Warehouse, les produits sont identifiés dans les rapports uniquement par leurs numéros de référence UGS (Unité de Gestion de Stock).

La tâche DTS Importation des données de transaction vous permet d’importer des informations sur la façon dont se vendent les produits et sur le volume des achats des clients. Pour plus d’informations, consultez Exécution de la tâche DTS Importation des données de transaction.

Remarques

  • Pour plus d’informations sur l’importation de données pour les catalogues virtuels, consultez Importation de données pour les catalogues virtuels.
  • La première fois que vous importez des données de catalogue dans le Data Warehouse, vous devez utiliser l’option de charge totale et effectuer une importation complète. Une fois que vous avez importé des données de catalogue, utilisez l’option de charge incrémentielle pour importer uniquement les données créées depuis la dernière importation de données de catalogue.
  • Si un Data Warehouse prend en charge plusieurs sites, les noms des catalogues dont vous importez les données doivent être uniques.

    Si deux sites ont le màme nom de catalogue et les mêmes produits, mais des propriétés de catalogue et des définitions de produit différentes, les données du catalogue importé en premier sont remplacées lors de l’importation du second catalogue.

  • Abstenez-vous de créer des propriétés de catalogue contenant des caractères spéciaux. En effet, les caractères spéciaux provoquent l’échec de la tâche DTS Importation du catalogue de produits. Par exemple, les propriétés de catalogue ne doivent pas inclure les caractères suivants : « ! », « " », « % », « & », « ( », « ) », « * », « + », « , », « - », « . », « / », « : », « ; », « < », « = », « > », « ? », « \\ », « ] », « ^ », « ` », « { », « | », « } », « ~ ». Elles ne doivent contenir aucun caractère de contrôle, comme 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, etc.
  • Pour cette tâche DTS, utilisez les compteurs de performance suivants :
    • CatImport : nombre total de catalogues importés
    • CatImport : nombre total de catégories importées
    • CatImport : nombre total de produits importés

Pour importer dans le Data Warehouse le catalogue d’un seul site

Pour importer dans le Data Warehouse le catalogue de tous les sites associés

Pour importer dans le Data Warehouse le catalogue d’un seul site

  1. Exécutez la tâche DTS Synchronisation de la configuration pour synchroniser la configuration de votre site et le Data Warehouse. Pour connaître les instructions à suivre, consultez Exécution de la tâche DTS Synchronisation de la configuration.
  2. Développez Serveurs Microsoft SQL, Groupe SQL Server, puis développez le serveur sur lequel Data Warehouse est installé.
  3. Cliquez avec le bouton droit sur Data Transformation Services, puis cliquez sur Nouveau lot.

    Ou, si vous modifiez un lot existant, cliquez avec le bouton droit sur Data Transformation Services, cliquez sur Toutes les tâches, puis sélectionnez Ouvrir le modèle. Dans la boîte de dialogue Choisissez un fichier, cliquez sur le lot à modifier, puis cliquez sur Ouvrir.

  4. Dans le menu Tâche, cliquez sur Importation du catalogue de produits (Commerce Server).
  5. Dans la boîte de dialogue Propriétés d’importation du catalogue, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Description | Taper une description pour cette tâche d’importation.
    Niveau d’opération | Sélectionner Niveau du site dans la liste déroulante.
    Nom du site | Sélectionner dans la liste déroulante le site contenant les données que vous voulez importer.
    Charge incrémentielle | Importer uniquement les nouvelles données de catalogue, en se basant sur une importation précédente.
    Charge totale | Importer l’intégralité des données de catalogue.
  6. Dans la section Propriétés du nouvel essai, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nombre de tentatives | Taper le nombre de tentatives de connexion souhaité de la tâche vers le Data Warehouse. Le nombre de tentatives de connexion par défaut est de 10.
    Délai en secondes entre les essais | Taper la durée d’attente de la tâche entre les nouvelles tentatives. La valeur par défaut est 30 secondes.
  7. Cliquez sur OK.

    Remarque

    • Vous pouvez ajouter plusieurs tâches DTS à un lot, ajouter des informations de séquencement ou de déroulement des opérations, puis exécuter l’ensemble des tâches du lot.
  8. Dans le menu Lot, cliquez sur Exécuter.

    La boîte de dialogue Exécution du lot s’affiche, indiquant l’avancement de votre importation. Lorsque le processus d’importation est terminé, la boîte de dialogue Résultats d’exécution du lot vous informe que le processus s’est terminé avec succès.

  9. Cliquez sur OK, puis sur Terminé.

    Les données de catalogue sont importées dans le Data Warehouse.

  10. Exécutez la Tâche DTS Préparation du rapport pour structurer les données importées en cubes OLAP désignés. Pour obtenir des instructions sur l’exécution de la tâche Préparation du rapport, consultez Exécution de la tâche DTS Préparation du rapport.

Ces données sont à présent disponibles pour les rapports.

Pour importer dans le Data Warehouse le catalogue de tous les sites associés

  1. Exécutez la tâche DTS Synchronisation de la configuration pour synchroniser la configuration de votre site et le Data Warehouse. Pour connaître les instructions à suivre, consultez Exécution de la tâche DTS Synchronisation de la configuration.
  2. Développez Serveurs Microsoft SQL, Groupe SQL Server, puis développez le serveur sur lequel Data Warehouse est installé.
  3. Cliquez avec le bouton droit sur Data Transformation Services, puis cliquez sur Nouveau lot.

    Ou, si vous modifiez un lot existant, cliquez avec le bouton droit sur Data Transformation Services, cliquez sur Toutes les tâches, puis sélectionnez Ouvrir le modèle. Dans la boîte de dialogue Choisissez un fichier, cliquez sur le lot à modifier, puis cliquez sur Ouvrir.

  4. Dans le menu Tâche, cliquez sur Importation du catalogue de produits (Commerce Server).
  5. Dans la boîte de dialogue Propriétés d’importation du catalogue, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Description | Taper une description pour cette tâche d’importation.
    Niveau d’opération | Sélectionner Niveau du Data Warehouse dans la liste déroulante.
    Nom du Data Warehouse | Sélectionner dans la liste déroulante le Data Warehouse associé aux sites pour lesquels vous souhaitez importer des données de catalogue.
    Charge incrémentielle | Importer uniquement les nouvelles données de catalogue, en se basant sur une importation précédente.
    Charge totale | Importer l’intégralité des données de catalogue.
  6. Dans la section Propriétés du nouvel essai, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nombre de tentatives | Taper le nombre de tentatives de connexion souhaité de la tâche vers le Data Warehouse. Le nombre de tentatives de connexion par défaut est de 10.
    Délai en secondes entre les essais | Taper la durée d’attente de la tâche entre les nouvelles tentatives. La valeur par défaut est 30 secondes.
  7. Cliquez sur OK.

    Remarque

    • Vous pouvez ajouter plusieurs tâches DTS à un lot, ajouter des informations de séquencement ou de déroulement des opérations, puis exécuter l’ensemble des tâches du lot.
  8. Dans le menu Lot, cliquez sur Exécuter.

    La boîte de dialogue Exécution du lot s’affiche, indiquant l’avancement de votre importation. Lorsque le processus d’importation est terminé, la boîte de dialogue Résultats d’exécution du lot vous informe que le processus s’est terminé avec succès.

  9. Cliquez sur OK, puis sur Terminé.

    Les données de catalogue sont importées dans le Data Warehouse.

  10. Exécutez la Tâche DTS Préparation du rapport pour structurer les données importées en cubes OLAP désignés. Pour obtenir des instructions sur l’exécution de la tâche Préparation du rapport, consultez Exécution de la tâche DTS Préparation du rapport.

Ces données sont à présent disponibles pour les rapports.

Voir aussi

Importation de données pour les catalogues virtuels

Exécution de la tâche DTS Importation du catalogue de produits

Processus ETL pour la tâche DTS Importation du catalogue de produits

Exécution de la tâche DTS Importation du catalogue de produits à l’aide d’un script

Méthodes conseillées pour le Data Warehouse

Spécification des données à importer dans le Data Warehouse

Déroulement des opérations pour l’exécution des tâches DTS

Troubleshooting the Data Warehouse Import Process


Importation de données pour les catalogues virtuels

Un catalogue virtuel fait référence aux données sur les produits disponibles dans un ou plusieurs catalogues de base. Si vous ajoutez un produit à un catalogue de base, le produit peut aussi apparaître dans le catalogue virtuel associé, en fonction des règles d’ajout qui ont été définies. Les produits sont représentés une fois dans la base de données des catalogues quel que soit le nombre de catalogues virtuels dans lesquels ils apparaissent.

Lorsque vous exécutez la tâche DTS Importation du catalogue de produits pour importer dans le Data Warehouse les données d’un catalogue virtuel, elle importe également les données des catalogues de base associés. Par exemple, vous pouvez inclure un catalogue de base nommé « Disques compacts » dans le catalogue virtuel nommé « Produits printaniers ». Vous exécutez la tâche DTS Importation du catalogue de produits, et les données sur les Disques compacts sont importées dans le catalogue Produits printaniers du Data Warehouse.

Vous pouvez enlever le catalogue Disques compacts du catalogue virtuel Produits printaniers, puis ajouter un autre catalogue de base nommé Livres au catalogue Produits printaniers. Après exécution de la tâche d’importation, le catalogue Produits printaniers contient des données au sujet des Disques compacts et des Livres.

Réalisation d’importations complètes

Pour importer des produits de catalogues virtuels dans le Data Warehouse, vous devez effectuer une importation complète. Si un produit ou une catégorie qui existe dans un catalogue de base est ajouté à un catalogue virtuel, le cachet de date de ce produit ou de cette catégorie est inférieur à celui des autres produits et catégories du catalogue virtuel. Il en résulte que l’option d’importation incrémentielle n’importe pas ce produit ou cette catégorie.

Voir aussi

Exécution de la tâche DTS Importation du catalogue de produits

Troubleshooting the Data Warehouse Import Process


Importation de données en plusieurs langues et plusieurs monnaies

Le Data Warehouse de Commerce Server autorise l’importation de caractères Unicode. Vous pouvez utiliser le Data Warehouse pour importer des catalogues de produits et des données de transaction dans toutes les langues. Le schéma du Data Warehouse de Commerce Server permet d’importer plusieurs monnaies parce qu’il stocke séparément l’unité monétaire et le montant.

Désignation de la langue d’importation

Il n’est pas nécessaire de désigner la langue d’importation. Le Data Warehouse importe les caractères Unicode codés sur plusieurs octets et ne fait pas de différence entre les langues. Par exemple, supposons que vous créiez votre site en anglais. Un utilisateur entre ses données de facturation en caractères japonais. Les données de commande de cet utilisateur sont traitées de la même façon que celles entrées en anglais par un autre utilisateur.

Méthodes conseillées pour l’importation de données en plusieurs langues et plusieurs monnaies

Désignation de la langue et de la monnaie d’un catalogue


Méthodes conseillées pour l'importation de données en plusieurs langues et plusieurs monnaies

Envoyer des commentaires sur cette page Commerce Server 2002

Méthodes conseillées pour l’importation de données en plusieurs langues et plusieurs monnaies

  • Ne changez pas de devise de base après avoir importé des données
Le Data Warehouse n’effectue pas de conversions monétaires. Les données financières importées antérieurement ne sont pas converties dans la nouvelle devise de base. Au lieu de cela, le Data Warehouse conserve les montants d’origine, qui sont désormais associés à un nom de devise incorrect.
  • N’importez pas de données de catalogue dans une deuxième langue
La seconde version des données importées recouvre les données existantes de ce catalogue. Le Data Warehouse ne prend en charge qu’une seule version des données par catalogue.


Désignation de la langue et de la monnaie d'un catalogue

Envoyer des commentaires sur cette page Commerce Server 2002

Désignation de la langue et de la monnaie d’un catalogue

Vous pouvez utiliser le module Éditeur de catalogue de Commerce Server Business Desk pour désigner jusqu’à 10 langues dans un seul catalogue de base ou virtuel.

Remarque

  • Si vous changez la langue de création de rapport, la prochaine fois que votre administrateur système importera des données de catalogue dans le Data Warehouse, il utilisera cette nouvelle langue. Au niveau du Data Warehouse, il peut en résulter des données dans une langue et d’autres données dans une langue différente.

    Votre administrateur système doit alors effectuer une importation complète à l’aide de la tâche de transformation de données (DTS, Data Transformation Services) Importation du catalogue de produits pour que toutes les données soient dans la même langue. (Une importation complète met à jour les propriétés du produit, car les clés de produits sont identiques dans toutes les langues.)

Pour localiser un catalogue

  1. Dans Commerce Server Business Desk, dans Catalogues, cliquez sur Éditeur de catalogue.
  2. Dans l’écran Catalogues, sélectionnez le catalogue que vous souhaitez modifier, puis cliquez sur<<Modifier les propriétés>> dans la barre d’outils.
  3. L’écran Propriétés du catalogue - <Nom du catalogue> s’affiche. Dans cet écran, vous pouvez modifier n’importe quelle propriété qui n’est pas attribuée par Commerce Server.
    Utilisez ceci | Pour faire cela
    Devise | Sélectionner dans la liste déroulante une devise pour le catalogue. La valeur par défaut est USD.
    Unité de mesure de poids | Afficher l’unité de mesure du poids pour les produits de ce catalogue. L’administrateur système spécifie cette valeur lors de la configuration de Commerce Server. Contactez votre administrateur système si cette valeur doit être modifiée.
  4. Dans la section Langues du catalogue, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Ajouter Ajouter des langues que le catalogue prendra en charge.

    Un catalogue peut prendre en charge jusqu’à 10 langues. Vous pouvez ajouter cinq langues, enregistrer le catalogue, puis ajouter de nouveau cinq langues.
    Supprimer | Supprimer des langues que le catalogue ne prend pas en charge. Si vous supprimez toutes les langues, le catalogue prendra en charge la langue par défaut, qui est identique à celle utilisée par le système d’exploitation Microsoft Windows sur votre ordinateur client Business Desk.
    Langue par défaut Sélectionner dans la liste déroulante la langue par défaut de votre catalogue.

    Si vous ne spécifiez pas de langue par défaut, Commerce Server utilise la même langue que celle utilisée par le système d’exploitation Microsoft Windows sur votre ordinateur client Business Desk.
    Langue de création de rapport Sélectionner dans la liste déroulante la langue à utiliser pour les propriétés qui seront stockées dans le Data Warehouse.

    Il s’agit de la langue qui sera employée dans les rapports et les analyses.

    Si vous modifiez la langue de création de rapport une fois que le site est en production, les données de rapport risquent d’apparaître en deux langues, selon la période que le rapport couvre.

    Votre administrateur système doit effectuer une importation complète à l’aide de la tâche DTS Importation du catalogue de produits pour que toutes les données soient dans la même langue. (Une importation complète met à jour les propriétés du produit, car les clés de produits sont identiques dans toutes les langues.)
  5. Pour entrer le nom complet du catalogue, dans la zone Langue, sélectionnez une langue, puis cliquez sur Modifier.
  6. Dans la zone Nom complet, tapez le nom du catalogue dans la langue sélectionnée. Il s’agit du nom de catalogue qui sera affiché sur votre site Web.
  7. Pour enregistrer vos modifications et revenir à l’écran Catalogues, cliquez sur Enregistrer et retour dans la barre d’outils.
  8. Pour publier le nouveau produit sur votre site Web, cliquez sur Publier un catalogue dans la barre d’outils.

Le catalogue mis à jour est publié sur votre site Web.


Importation de cookies

Lorsqu’un utilisateur parcourt votre site, le cookie est stocké dans des fichiers journaux Web. La tâche DTS d’importation des journaux Web de Commerce Server lit les données de cookie et décrypte l’identificateur d’utilisateur, ce qui permet d’associer les données de cookie aux données de profil. Ceci vous permet d’analyser les données utilisateur.

Remarque

  • Si vous utilisez le cryptage par clé tournante pour les cookies, vous devez importer les journaux IIS avant les données de profil. Sinon, les tâches Commerce Server ne peuvent pas décrypter les tickets d’authentification rencontrés dans les journaux.

Lors de leur importation, les données sont analysées à la recherche de l’identificateur d’utilisateur. Chaque instance de l’identificateur d’utilisateur devient une ligne dans le Data Warehouse. En tant que clé primaire de la ligne, l’identificateur d’utilisateur permet ensuite d’accéder aux données utilisateur pour les analyser.

Le système d’analyse commerciale identifie les utilisateurs en recherchant dans le journal au format de fichier journal étendu du W3C les éléments suivants, répertoriés par ordre de priorité :

  • Cookie
  • Adresse IP du client + chaîne du navigateur du client
  • Adresse IP du client seule

La tâche DTS Préparation du rapport remplit le cube Buyer Visits avec les données importées. Le cube Buyer Visits établit une corrélation entre l’activité d’achat des utilisateurs et leur activité de navigation Web à partir des identificateurs RegisteredUserID des transactions et des identificateurs RegisteredUserID associés à la navigation Web. Cette mise en corrélation d’identificateurs RegisteredUserID requiert l’utilisation de cookies par votre site.

Par défaut, les sites solutions sont configurés de telle sorte que les cookies sont cryptés. La tâche DTS Importation de journal de serveur Web appelle en interne une fonction d’authentification qui décrypte les cookies et renvoie l’identificateur d’utilisateur correcte. Si vous choisissez de ne pas crypter les cookies, cette fonction ne renvoie pas correctement l’identificateur d’utilisateur parce que le cookie est codé dans une chaîne d’adresse URL.

Voici une description des modalités d’importation des cookies selon que vous configurez votre site pour activer ou pour désactiver le mode Création de cookie automatique.

  • Mode Création de cookie automatique activé. Une fois que vous avez exécuté la tâche DTS Importation des données de transaction, les transactions réalisées par les utilisateurs sont stockées dans la table OrderGroup (et quelques autres tables) du Data Warehouse. La table OrderGroup utilise une colonne RegisteredUserID comme clé. Les informations recueillies par l’importation du fichier journal associé contenant l’activité de navigation des utilisateurs ne peuvent être mises en corrélation avec l’activité de transaction que si les cookies sont activés.

    Lorsque vous activez les cookies sur votre site, un cookie contenant un identificateur RegisteredUserID est écrit dans le champ cookie du fichier journal. En important les journaux de serveur Web dans le Data Warehouse, la tâche DTS Préparation du rapport peut établir un lien entre l’activité de navigation et l’activité de transaction.

  • Mode Création de cookie automatique désactivé. Dans ce scénario, l’identificateur RegisteredUserID est écrit dans le fichier journal Web en tant que partie des informations de chaîne de requête, mais la tâche DTS Importation de journal Web ne peut pas stocker cette information sous forme d’identificateur RegisteredUserID.

    La vue VisitsByUser reste vide parce que les identificateurs RegisteredUserID sont absents de la table VisitInfo, qui est remplie durant l’importation de journal de serveur Web.

  • Mode sans cookies (Active Directory). Dans ce scénario, il n’y a pas de cookies.


Nouvelles tentatives d'exécution d'une tâche DTS

Envoyer des commentaires sur cette page Commerce Server 2002

Nouvelles tentatives d’exécution d’une tâche DTS

Lorsque vous configurez une tâche DTS de Commerce Server, vous établissez le nombre de tentatives de connexion et le délai en secondes entre les essais. Ces propriétés régissent les interactions du moteur de stockage du Data Warehouse avec SQL Server, et non celles des tâches DTS avec le moteur de stockage du Data Warehouse.

Les tâches DTS lancées à partir de la console DTS peuvent récupérer après une perte de connexion SQL Server (par exemple en cas de basculement de l’ordinateur qui exécute SQL Server). Lorsqu’une connexion est rompue, le fournisseur OLE DB de Commerce Server écrit dans le journal d’événements d’applications des messages indiquant qu’il tente de se reconnecter à l’ordinateur SQL Server. Si la tâche DTS peut récupérer pendant l’intervalle de temps établi par les paramètres de tentative de reconnexion, la tâche continue. Lorsque la tâche DTS Importation de journal de serveur Web parvient à récupérer, la colonne Status de la table TaskHistory du Data Warehouse affiche 1 pour indiquer le succès de l’importation.

Remarque

  • Si le serveur de profils bascule pendant l’exécution de la tâche DTS Importation des données du profil utilisateur, vous devez réexécuter cette tâche en mode charge totale pour le dernier incrément. À cet effet, changez la date de début de l’importation en fonction de l’incrément utilisé juste avant que le basculement ne se produise.

Importation de journal de serveur Web

En cas d’arrêt de l’ordinateur SQL Server, il se peut que la tâche DTS Importation de journal de serveur Web, après avoir épuisé ses tentatives de connexion, n’affiche le message indiquant son échec qu’au bout de plusieurs minutes. Il y a deux raisons possibles à ce retard :

  • Plusieurs threads de moteur d’inférence peuvent traiter un fichier journal. Chaque thread de moteur d’inférence écrit éventuellement des données dans le moteur de stockage du Data Warehouse (moyennant des appels au fournisseur OLE DB de Commerce Server). Lorsqu’une thread appelle SetColumns, le fournisseur OLE DB de Commerce Server commence par vérifier si cette session comporte des erreurs. Dans l’affirmative, le fournisseur OLE DB abandonne l’opération d’écriture, et la thread de moteur d’inférence active un indicateur destiné à informer la tâche DTS.

    Si le traitement du fichier journal fait appel à de nombreuses threads, ce processus peut prendre plusieurs minutes.

  • Si la tâche DTS Importation de journal de serveur Web ne s’exécute pas sur le même ordinateur que l’ordinateur SQL Server, le transport SQL peut également être à l’origine du retard.

Remarque

  • Si le serveur qui exécute le Data Warehouse bascule plusieurs fois (par exemple 4 ou 5 fois) sur une courte période de temps durant l’exécution de la tâche DTS Importation de journal de serveur Web, vous risquez de perdre des données. Pour préserver l’intégrité des données, vous devez supprimer les données importées des fichiers journaux Web, puis redémarrer manuellement la tâche DTS Importation de journal de serveur Web. Pour plus d’informations sur la suppression des données provenant de fichiers journaux, consultez Exécution de la tâche DTS Suppression des données.

Voir aussi

Troubleshooting the Data Warehouse Import Process

Options disponibles en cas d’échec d’une tâche DTS Importation de journal de serveur Web

Méthodes conseillées pour le Data Warehouse

Exécution de la tâche DTS Importation de journal de serveur Web à l’aide d’un script

Configuration de la tâche DTS Importation de journal de serveur Web

Processus ETL pour la tâche DTS Importation de journal de serveur Web

Exécution de la tâche DTS Importation de journal de serveur Web

Exécution de la tâche DTS Importation de journal de serveur Web pour un grand site


Exécution de la tâche DTS Résolution IP

La tâche DTS (Data Transformation Services) Résolution IP s’utilise pour résoudre de manière périodique les adresses IP (Internet Protocol). Ceci permet d’assurer que les données du Data Warehouse sont aussi pertinentes que possible.

Lorsque vous démarrez une tâche Résolution IP, un cache d’adresses IP déjà résolues est contrôlé dans le but de tenter de résoudre les nouvelles adresses IP. S’il demeure des adresses IP non résolues après le contrôle du cache, le serveur du Système de Noms de Domaine (DNS, Domain Name System) est contrôlé. Le taux de réussite de la résolution IP est généralement compris entre 60 et 75 pour cent. Les adresses IP sont résolues dans un fichier de commandes, ce qui optimise la connexion avec votre serveur DNS.

Lorsque vous démarrez une tâche Résolution IP, par défaut, seules les adresses IP dépourvues de nom de domaine sont résolues. Cependant, si vous souhaitez capturer toutes les modifications possibles de nom de domaine, vous pouvez choisir de résoudre l’ensemble des adresses IP. Avec cette option, même les noms de domaine figurant déjà dans le Data Warehouse sont mis à jour.

Remarques

  • La première fois que vous résolvez des adresses IP dans le Data Warehouse, vous devez utiliser l’option de recherche complète. Une fois que vous avez effectué une recherche complète, vous pouvez effectuer une recherche incrémentielle pour résoudre uniquement les nouvelles adresses IP.
  • Si les adresses IP des clients sont converties en une seule adresse IP, utilisez les cookies ou les noms d’utilisateur dans l’importation de journal de serveur Web pour les inférences des utilisateurs.

    Si les utilisateurs qui visitent votre site n’utilisent ni cookies ni noms d’utilisateur (soit parce qu’ils sont absents, soit parce que les utilisateurs choisissent de ne pas les utiliser), Commerce Server infère les utilisateurs à partir de l’adresse IP et du type de navigateur du client. Cette méthode n’offre pas une précision très élevée : si les adresses IP de client sont converties en une seule adresse IP (par exemple parce que des utilisateurs utilisent le même navigateur), plusieurs utilisateurs sont réunis sous une seule adresse IP. La tâche DTS Résolution IP ne dispose ensuite que d’une seule adresse IP pour identifier les domaines de ces utilisateurs. Il en résulte que vous n’obtenez pas d’informations de domaine précises sur tous les utilisateurs qui visitent le site.

  • Pour cette tâche DTS, utilisez les compteurs de performance suivants :
    • Total des IP résolus
    • Total des IP non résolus

Pour résoudre les adresses IP

  1. Développez Serveurs Microsoft SQL, Groupe SQL Server, puis développez le serveur sur lequel Data Warehouse est installé.
  2. Cliquez avec le bouton droit sur Data Transformation Services, puis cliquez sur Nouveau lot.

    Ou, si vous modifiez un lot existant, cliquez avec le bouton droit sur Data Transformation Services, cliquez sur Toutes les tâches, puis sélectionnez Ouvrir le modèle. Dans la boîte de dialogue Choisissez un fichier, cliquez sur le lot à modifier, puis cliquez sur Ouvrir.

  3. Dans le menu Tâche, cliquez sur Résolution IP (Commerce Server).
  4. Dans la boîte de dialogue Propriétés de résolution IP, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Description | Taper une description pour cette tâche. Le nombre maximal de caractères de cette description est fixé à 255.
    Data Warehouse | Sélectionner dans la liste déroulante le Data Warehouse contenant les données pour lesquelles vous voulez effectuer la résolution IP.
  5. Dans la section Résoudre les adresses IP, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Recherche incrémentielle | Résoudre uniquement les adresses IP qui n’ont pas encore été résolues et celles dont l’heure de dernière modification dépasse la limite fixée dans le champ Durée de mise en cache du résultat en jours.
    Recherche complète | Résoudre l’intégralité des adresses IP.
  6. Dans la section Options, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom de domaine local | Taper le nom de domaine local du serveur DNS constituant le serveur principal utilisé pour la résolution des adresses IP.
    Durée de mise en cache du résultat en jours | Taper le nombre de jours pendant lesquels les adresses IP résolues doivent être mises en cache. La valeur par défaut est de 30 jours. Si vous augmentez la valeur par défaut, la résolution IP est effectuée plus rapidement. Cependant, il se peut que les modifications de nom de domaine ne soient pas détectées.
    Délai d’expiration en secondes | Taper la durée de recherche (en secondes) sur le serveur DNS avant qu’une adresse IP soit considérée comme non résolue. La valeur par défaut est de 10 secondes. Si vous augmentez la valeur par défaut, un plus grand nombre d’adresses IP est résolu, mais la résolution IP nécessite davantage de temps.
    Nombre de demandes de recherche à conserver en lot | Taper le nombre de demandes de recherche correspondant au nombre d’adresses IP étant transférées à votre serveur DNS dans un lot. La valeur est comprise entre 10 et 99 999 demandes. Il s’agit par défaut de 200 demandes.
  7. Dans la section Propriétés du nouvel essai, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nombre de tentatives | Taper le nombre de tentatives de connexion souhaité de la tâche vers le Data Warehouse. Le nombre de tentatives de connexion par défaut est de 10.
    Délai en secondes entre les essais | Taper le nombre de secondes entre les tentatives de connexion. La valeur par défaut est 30 secondes.
  8. Cliquez sur OK.
  9. Dans le menu Lot, cliquez sur Exécuter.

    La boîte de dialogue Exécution du lot s’affiche, indiquant l’avancement de votre importation. Lorsque le processus d’importation est terminé, la boîte de dialogue Résultats d’exécution du lot vous informe que le processus s’est terminé avec succès.

  10. Cliquez sur OK, puis sur Terminé.

    La résolution IP est exécutée.

  11. Exécutez la Tâche DTS Préparation du rapport pour structurer les données importées en cubes OLAP désignés. Pour obtenir des instructions sur l’exécution de la tâche Préparation du rapport, consultez Exécution de la tâche DTS Préparation du rapport.

Ces données sont à présent disponibles pour les rapports.

Voir aussi

Processus ETL pour la tâche DTS Résolution IP

Méthodes conseillées pour le Data Warehouse

Déroulement des opérations pour l’exécution des tâches DTS

Définition des inférences pour les utilisateurs et les visites

Exécution de la tâche DTS Résolution IP à l’aide d’un script

Compteurs de performance de Commerce Server

Troubleshooting the Data Warehouse Import Process


Suppression de données du Data Warehouse

Il est important de supprimer périodiquement des données du Data Warehouse, dans le cadre d’une maintenance régulière, pour éviter que la base de données n’épuise tout l’espace disque disponible. En effet, si l’espace disque devient insuffisant pour la base de données, les performances s’en ressentent et vous risquez de perdre des données. Vous pouvez configurer la base de données du Data Warehouse pour lui permettre de croître automatiquement, mais cette option entraîne une dégradation progressive des performances, et la taille de la base de données risque d’atteindre les limites physiques de la mémoire disponible.

Commerce Server fournit la tâche DTS Suppression des données, qui supprime les données de fichier journal détaillées ou toutes les données du Data Warehouse. Pour plus d’informations sur le fonctionnement de la tâche DTS Suppression des données, consultez Processus ETL pour la tâche DTS Suppression des données. Pour plus d’informations sur l’utilisation de la tâche DTS Suppression des données, consultez Exécution de la tâche DTS Suppression des données.

Après l’exécution de la tâche DTS Suppression des données pour supprimer des données de fichier journal Web du Data Warehouse, il reste toujours dans le Data Warehouse des données que vous devez supprimer manuellement. Par exemple, un administrateur de site ajoute un produit à un catalogue, et ce produit est ajouté à la base de données d’exécution du catalogue. Ensuite, l’administrateur déploie le catalogue ainsi modifié sur le site Web.

Un utilisateur visite le site et ajoute le nouveau produit à son panier. L’ajout du produit au panier d’achat de l’utilisateur déclenche l’enregistrement d’un événement Commerce Server dans le fichier journal Web des services IIS (événement Ajout au panier).

L’événement Commerce Server contient maintenant pour ce produit un identificateur de produit qui renvoie à une ligne d’une table de la base de données d’exécution du catalogue.

Si l’administrateur système exécute la tâche DTS Importation du catalogue de produits, celle-ci importe la base de données d’exécution du catalogue dans le Data Warehouse et résout l’identificateur de produit en une description complète. L’événement Commerce Server contenant l’identificateur du nouveau produit est résolu comme clé étrangère d’une table de catalogue.

Cependant, si l’administrateur de site supprime le nouveau produit de la base de données d’exécution du catalogue après l’enregistrement de l’événement Commerce Server, mais avant l’importation du catalogue de produits dans le Data Warehouse, l’identificateur du nouveau produit ne sera jamais résolu en un produit du catalogue : il est désormais considéré comme « orphelin ». Dans cet exemple, un fait (l’identificateur de produit) fait référence à des données de dimension (le nom et la description du produit) qui n’existent pas. Ceci peut aussi arriver si l’un des composants d’exécution de Commerce Server supprime des éléments avant que l’administrateur système n’exécute la tâche DTS Synchronisation de la configuration.

Pour plus d’informations sur la suppression des données orphelines du Data Warehouse, consultez Suppression des données orphelines du Data Warehouse.

Remarque

  • La ressource Catalogue ne journalise pas les opérations de suppression. La suppression d’un élément de catalogue est définitive.

Méthodes conseillées pour la suppression de données du Data Warehouse

  • Doublez la taille de la base de données du Data Warehouse pour permettre la suppression de données.
En estimant la taille de la base de données du Data Warehouse, vous devez tenir compte de l’espace nécessaire aux tables d’identificateurs utilisées par la tâche DTS Suppression des données. Il est recommandé de doubler l’espace que vous allouez. Par exemple, si vous planifiez un Data Warehouse de 1 gigaoctet (Go), vous devez allouer 2 Go pour permettre la suppression de données.
  • Supprimez les tables d’identificateurs si la suppression échoue.
Le code de suppression contient un commutateur qui crée des tables d’identificateurs dans la base de données du Data Warehouse pour supprimer des données. Ceci permet à la tâche DTS Suppression des données de récupérer et de continuer à s’exécuter après un basculement ou un échec de connexion passager. Si toutefois le processus de suppression de données échoue, ou si le système est confronté à un échec de connexion prolongé, vous devez supprimer ces tables manuellement.
Si l’opération de suppression réussit, le Data Warehouse supprime les tables d’identificateurs. Les noms de ces tables contiennent un identificateur GUID et le préfixe MSCSTemp. Par exemple, le nom de la table d’identificateurs pour l’historique des tâches peut être MSCSTempTaskHistory_{490CD250-C540-47B7-80BD-B308F3B356C7}.

Remarque

  • La variable d’environnement UseTempTablesForDelete contrôle l’emplacement où les tables d’identificateurs sont créées. La valeur par défaut de la variable UseTempTablesForDelete est F (False), ce qui signifie que les tables d’identificateurs sont créées dans la base de données du Data Warehouse. Si vous affectez la valeur T (True) à cette variable, ce sera la base de données tempdb qui sera utilisée pour les fonctions de suppression, et vous ne pourrez pas récupérer à la suite d’un échec de connexion passager (par exemple si le service SQL Server est arrêté, puis redémarré).
  • Supprimez les données de fichier journal Web fréquemment pour améliorer la durée des importations.
Exécutez la tâche DTS Suppression des données souvent pour supprimer les données de fichier journal Web détaillées. En effet, à mesure que le temps passe, les données de fichier journal Web s’accumulent et finissent par diminuer considérablement la vitesse des importations et la capacité de mémoire du Data Warehouse. Pour plus d’informations sur l’exécution de la tâche DTS Suppression des données, consultez Exécution de la tâche DTS Suppression des données.
  • Supprimez les données orphelines du Data Warehouse pour améliorer la durée des importations.
Utilisez les procédures stockées DeleteOrphans_UriQuery, DeleteOrphans_Uri et DeleteOrphans_LogUser pour supprimer les données orphelines de la base de données du Data Warehouse. Pour plus d’informations sur la suppression des données orphelines du Data Warehouse, consultez Suppression des données orphelines du Data Warehouse.


Exécution de la tâche DTS Suppression des données

La tâche DTS (Data Transformation Services) Suppression des données permet de supprimer des données du Data Warehouse. Vous pouvez utiliser la tâche DTS Suppression des données pour supprimer les données de fichier journal détaillées, les données résumées, toutes les données du Data Warehouse ou toutes les données d’un site particulier du Data Warehouse. Par exemple, vous pouvez utiliser la tâche DTS Suppression des données pour supprimer les données d’un fichier journal importé partiellement si l’importation de ce fichier journal Web échoue.

Il est important de supprimer fréquemment les données de fichier journal obsolètes de manière à ne pas observer de baisse de performances et de limitation de la capacité de la mémoire dans le Data Warehouse. Si vous voulez conserver des données d’historique de votre site Commerce Server, vous pouvez extraire les données pour les préserver dans des rapports.

Remarques

  • Avant d’exécuter la tâche DTS Suppression des données, vérifiez que la taille de la base de données tempdb est supérieure à celle de la base de données à supprimer.

    Par exemple, si la base de données à supprimer occupe 15 Go, SQL Server a besoin d’une base de données tempdb d’au moins 15 Go. Autrement, la tâche DTS Suppression des données échouera.

  • Une fois que vous avez supprimé des données du Data Warehouse, vous devez exécuter la tâche DTS Préparation du rapport pour actualiser les cubes OLAP (Online Analytical Processing). Vous devez sélectionner l’option de traitement complet du cube une fois que vous avez supprimé des données du Data Warehouse.
  • Si vous supprimez des données de détail importées d’un fichier journal Web individuel, les données de fichier journal auxquelles les rapports accèdent dans Commerce Server Business Desk restent les mêmes. La suppression de données de détail a des conséquences sur les rapports suivants :
    • Analyse des chemins d’entrée
    • Événements de commande
    • Événements du panier d’achat
  • Si vous voulez supprimer les données à partir desquelles sont établis les rapports, vous devez choisir de supprimer toutes les données du Data Warehouse.
  • En supprimant les données importées d’un fichier journal Web spécifique, la tâche DTS Suppression des données ne supprime que les données des classes enfants de la classe Taskhistory (la classe Taskhistory est le parent). Les classes dont les données ne sont pas supprimées par la tâche DTS Suppression des données peuvent grandir avec le temps. La tâche Suppression des données ne supprime pas les données des classes suivantes :
    • Loguser
    • Uri
    • Uriquery
    • Registereduser
    • Ordergroup
    • Date
  • Vous ne pouvez pas annuler cette tâche une fois qu’elle a démarré. Même si vous cliquez sur Annuler, la tâche ne s’arrête pas.

Pour supprimer les données de fichier journal

Pour supprimer toutes les données du Data Warehouse

Pour supprimer les données de fichier journal

  1. Développez Serveurs Microsoft SQL, Groupe SQL Server, puis développez le serveur sur lequel Data Warehouse est installé.
  2. Cliquez avec le bouton droit sur Data Transformation Services, puis cliquez sur Nouveau lot.

    Ou, si vous modifiez un lot existant, cliquez avec le bouton droit sur Data Transformation Services, cliquez sur Toutes les tâches, puis sélectionnez Ouvrir le modèle. Dans la boîte de dialogue Choisissez un fichier, cliquez sur le lot à modifier, puis cliquez sur Ouvrir.

  3. Dans le menu Tâche, cliquez sur Suppression des données (Commerce Server).
  4. Dans la boîte de dialogue Tâche de suppression, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Description | Taper une description pour la tâche. Le nombre maximal de caractères de cette description est fixé à 255.
    Niveau d’opération Sélectionner l’une des options suivantes dans la liste déroulante :
    • Niveau du site pour supprimer les données de fichier journal Web d’un site.
    • Niveau du Data Warehouse pour supprimer les données de fichier journal ou toutes les données d’un Data Warehouse
    Nom du site | Sélectionner dans la liste déroulante le site pour lequel vous voulez supprimer les données de fichier journal Web (si vous avez choisi d’opérer au niveau du site).
    Data Warehouse | Sélectionner dans la liste déroulante le Data Warehouse pour lequel vous voulez supprimer des données de fichier journal Web (si vous avez choisi d’opérer au niveau du Data Warehouse).
    Type de suppression | Sélectionner Importations des journaux Web dans la liste déroulante, afin de supprimer les données associées à des importations de journal Web spécifiques.
    Nombre de tentatives | Taper le nombre de tentatives de connexion souhaité de la tâche vers le Data Warehouse. Le nombre de tentatives de connexion par défaut est de 10.
    Délai en secondes entre les essais | Taper le nombre de secondes entre les tentatives de connexion. La valeur par défaut est 30 secondes.
  5. Dans la section Supprimer le niveau, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Toutes les données Supprimer toutes les données associées aux fichiers journaux Web que vous voulez supprimer.

    Remarque

    • Pour les données importées d’un fichier journal Web spécifique, l’option Toutes les données ne supprime pas toutes les données associées à ce fichier journal Web dans le Data Warehouse. Au lieu de cela, elle supprime les données de toutes les classes qui sont apparentées aux tables Taskhistory. (Les classes apparentées ont une relation d’identité ou de parenté (fille, mère, grand-mère ou petite-fille) avec les membres de la table Taskhistory.) Les classes figurant dans le schéma par défaut du Data Warehouse sont :
      • Panier
      • FirstUriByDate
      • HitsByHour
      • HitsInfo
      • LastUriByDate
      • LogImportJobSummary
      • LogImportSubtask
      • OpenUserVisit
      • Order
      • Request
      • RequestByDateByUriByQueryString
      • Visit
      • VisitInfo
    Données de détail | Supprimer les données de détail associées aux fichiers journaux Web que vous voulez supprimer.
  6. Dans la section Journaux à supprimer, sélectionnez l’un des éléments suivants dans la liste déroulante :
    • Supprimer les importations de journaux Web par heure. Sélectionnez cette option pour spécifier une période de temps pour laquelle vous souhaitez conserver les données de fichier journal importées.
    • Conserver plusieurs importations de journaux Web. Sélectionnez cette option pour spécifier le nombre d’importations de fichier journal Web dont vous souhaitez conserver les données.
    • Sélectionner des importations de journaux Web spécifiques à supprimer. Sélectionnez cette option pour spécifier les importations de fichier journal Web dont vous souhaitez supprimer les données. Activez la case située à gauche de l’ID de la tâche du fichier journal Web pour lequel vous voulez supprimer des données de fichier journal.
  7. Cliquez sur OK.
  8. Dans le menu Lot, cliquez sur Exécuter.

    La boîte de dialogue Exécution du lot s’affiche, indiquant l’avancement de votre importation. Lorsque le processus d’importation est terminé, la boîte de dialogue Résultats d’exécution du lot vous informe que le processus s’est terminé avec succès.

  9. Cliquez sur OK, puis sur Terminé.

    Les données de détail des fichiers journaux Web sélectionnés sont supprimées du Data Warehouse.

  10. Exécutez la Tâche DTS Préparation du rapport pour structurer les données importées en cubes OLAP désignés. Pour obtenir des instructions sur l’exécution de la tâche Préparation du rapport, consultez Exécution de la tâche DTS Préparation du rapport.

Pour supprimer toutes les données du Data Warehouse

  1. Exécutez la tâche DTS Synchronisation de la configuration pour synchroniser la configuration de votre site et le Data Warehouse. Pour connaître les instructions à suivre, consultez Exécution de la tâche DTS Synchronisation de la configuration.
  2. Développez Serveurs Microsoft SQL, Groupe SQL Server, puis développez le serveur sur lequel Data Warehouse est installé.
  3. Cliquez avec le bouton droit sur Data Transformation Services, puis cliquez sur Nouveau lot.

    Ou, si vous modifiez un lot existant, cliquez avec le bouton droit sur Data Transformation Services, cliquez sur Toutes les tâches, puis sélectionnez Ouvrir le modèle. Dans la boîte de dialogue Choisissez un fichier, cliquez sur le lot à modifier, puis cliquez sur Ouvrir.

  4. Dans le menu Tâche, cliquez sur Suppression des données (Commerce Server).
  5. Dans la boîte de dialogue Tâche de suppression, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Description | Taper une description pour la tâche. Le nombre maximal de caractères de cette description est fixé à 255.
    Niveau d’opération | Sélectionner Niveau du Data Warehouse dans la liste déroulante.
    Data Warehouse | Sélectionner dans la liste déroulante le Data Warehouse dont vous voulez supprimer toutes les données.
    Type de suppression | Sélectionner Toutes les données dans le Data Warehouse dans la liste déroulante.
    Nombre de tentatives | Taper le nombre de tentatives de connexion souhaité de la tâche vers le Data Warehouse. Le nombre de tentatives de connexion par défaut est de 10.
    Délai en secondes entre les essais | Taper le nombre de secondes entre les tentatives de connexion. La valeur par défaut est 30 secondes.
  6. Cliquez sur OK.

    Remarque

    • Vous pouvez ajouter des tâches DTS supplémentaires au lot ouvert, ajouter des informations de séquencement ou de déroulement des opérations, puis exécuter l’ensemble des tâches du lot simultanément.
  7. Dans le menu Lot, cliquez sur Exécuter.

    La boîte de dialogue Exécution du lot s’affiche, indiquant l’avancement de votre importation. Lorsque le processus d’importation est terminé, la boîte de dialogue Résultats d’exécution du lot vous informe que le processus s’est terminé avec succès.

  8. Cliquez sur OK, puis sur Terminé.

    Toutes les données sont supprimées du Data Warehouse spécifié.

  9. Exécutez la Tâche DTS Préparation du rapport pour structurer les données importées en cubes OLAP désignés. Pour obtenir des instructions sur l’exécution de la tâche Préparation du rapport, consultez Exécution de la tâche DTS Préparation du rapport.

Ces données sont à présent disponibles pour les rapports.


Suppression des données orphelines du Data Warehouse

Durant le fonctionnement normal du Data Warehouse, vous devez programmer la tâche DTS Suppression des données pour effacer les données factuelles à intervalles réguliers. Ces suppressions portent généralement sur la majorité des données du Data Warehouse (par exemple les demandes, les visites et le contenu de la table VisitInfo).

Avec le temps, il se peut que vous soyez confronté à un ralentissement des importations et souhaitiez supprimer les données orphelines de dimensions particulières qui ont fortement grandi (par exemple LogUser, URI et IPRef).

Les orphelines sont des instances de données dans la classe parent (dans le cadre d’une relation parent-enfant) auxquelles aucune instance enfant n’est associée. Par exemple, dans le Data Warehouse, la classe OrderFormheader est la classe parent de la classe OrderFormLineItems, ce qui signifie qu’à chaque instance de la classe OrderFormLineItems (classe enfant) correspond une instance dans la classe OrderFormHeader (classe parent). Si une opération de suppression a supprimé certaines instances dans OrderFormLineItems, les instances correspondantes dans OrderFormHeader (classe parent) sont considérées comme orphelines.

Vous pouvez supprimer les instances des données orphelines du Data Warehouse en exécutant une commande de suppression avec la clause DELETE ORPHANS sur la classe parent à l’aide du fournisseur OLE DB de Commerce Server. Pour plus d’informations, consultez Delete Syntax (en anglais).

Vous ne pouvez pas utiliser la commande de suppression avec la clause DELETE ORPHANS pour supprimer les données orphelines des classes URI, LogUser et URIQuery parce qu’elles sont les classes parents de plusieurs faits, par exemple les visites et les demandes, et que leurs relations parent-enfant sont appliquées dans la tâche DTS Importation de journal de serveur Web et non par le fournisseur OLE DB de Commerce Server.

Remarque

  • Une commande de suppression dépourvue de la clause DELETE ORPHANS ne fonctionne pas sur les classes URI, LogUser et URIQuery. Ce fait s’explique par la conception même du produit.

Pour supprimer les données orphelines de ces tables, il est nécessaire d’appeler les procédures stockées DeleteOrphans_UriQuery, DeleteOrphans_Uri et DeleteOrphans_LogUser. Vous pouvez appeler ces procédures stockées à l’aide de l’Analyseur de requêtes SQL en employant la syntaxe suivante :

exec DeleteOrphans_UriQuery
exec DeleteOrphans_Uri
exec DeleteOrphans_LogUser

Remarque

  • Les procédures stockées DeleteOrphan ne fonctionnent pas sur les dimensions suivantes :
    • LogUser
    • URI
    • UriQuery
Ces dimensions participent à une relation de niveau application que le fournisseur OLE DB ne peut pas traiter.

Les procédures DeleteOrphans_Uri et DeleteOrphans_LogUser doivent être mises à jour à chaque définition d’un événement Commerce Server nouveau ou personnalisé.

Utilisez le code suivant pour mettre à jour la procédure stockée DeleteOrphans_Uri :

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

Voir aussi

Exécution de la tâche DTS Suppression des données

Processus ETL pour la tâche DTS Suppression des données

Exécution de la tâche DTS Suppression des données à l’aide d’un script

Méthodes conseillées pour le Data Warehouse

Déroulement des opérations pour l’exécution des tâches DTS

Troubleshooting the Data Warehouse Import Process


Exécution de la tâche DTS Préparation du rapport

La tâche DTS (Data Transformation Services) Préparation du rapport permet de remplir les cubes OLAP (Online Analytical Processing) avec les données du Data Warehouse. Commerce Server 2002 utilise les cubes OLAP pour structurer les données synthétisées contenues dans le Data Warehouse afin d’accélérer l’exécution des rapports des modules Analyse. La tâche DTS Préparation du rapport doit être exécutée chaque fois que des données sont importées dans le Data Warehouse ou en sont supprimées. Pour plus d’informations sur les cubes OLAP, consultez la documentation en ligne de SQL Server.

Remarques

  • Si plusieurs sites se partagent un Data Warehouse, exécutez la tâche DTS Préparation du rapport une fois pour traiter les données de tous les sites.

    Lorsqu’elle est exécutée, la tâche DTS Préparation du rapport traite tous les sites d’un Data Warehouse. N’exécutez pas la tâche DTS séparément pour chaque site, sous peine de nuire aux performances du Data Warehouse.

  • La première fois que vous exécutez la tâche Préparation du rapport pour remplir les cubes OLAP dans le Data Warehouse, vous devez sélectionner l’option de traitement complet du cube. Une fois que vous avez exécuté la tâche Préparation du rapport, vous pouvez effectuer un traitement incrémentiel du cube pour charger uniquement les nouvelles données dans les cubes OLAP.
  • Vous devez également sélectionner l’option de traitement complet du cube une fois que vous avez supprimé l’ensemble des données du Data Warehouse. Pour plus d’informations sur la suppression de données du Data Warehouse, consultez Exécution de la tâche DTS Suppression des données.
  • Même si vous exécutez la tâche DTS Préparation du rapport en mode incrémentiel, il se peut qu’elle ralentisse aussi parce qu’elle doit effectuer un traitement complet des cubes suivants :
    Cube | Remarques sur le mode de traitement
    Page Usage | Contient la dimension URI, qui est une dimension à traitement toujours complet.
    Entry Pages | Contient la dimension URI, qui est une dimension à traitement toujours complet.
    Exit Pages | Contient la dimension URI, qui est une dimension à traitement toujours complet.
    mscsSales | Contient des faits, susceptibles de changer ; par conséquent, il est impossible de traiter le cube incrémentiellement.
    Basket Events | Contient des faits, susceptibles de changer ; par conséquent, il est impossible de traiter le cube incrémentiellement.
    Buyer Visits | Contient des faits, susceptibles de changer ; par conséquent, il est impossible de traiter le cube incrémentiellement.
  • La tâche DTS Préparation du rapport ne fonctionne pas dans un environnement OLAP de cluster, surtout si une erreur « récupérable » ou un basculement se produit. Pour plus d’informations sur les erreurs « récupérables », consultez Processus ETL pour la tâche DTS Préparation du rapport.
  • Il se peut que la tâche DTS Préparation du rapport signale des erreurs lors du traitement des dimensions et des cubes OLAP si les informations nécessaires pour remplir ces objets n’ont pas été importées dans le Data Warehouse. Le message d’erreur présente l’aspect suivant :

    Processing error [Source data contains no rows] <object name>

    Si vous importez un sous-ensemble de données dans le Data Warehouse (par exemple lorsque vous n’exécutez pas la tâche DTS Importation de campagne marketing), vous pouvez choisir de désactiver le traitement des objets pour lesquels il n’y aura pas de données. Vous éviterez ainsi les messages d’erreur [La source de données ne contient pas de lignes].

    Pour désactiver le traitement d’objets Analysis Services, affectez à l’indicateur ProcessingEnabled la valeur 0 dans les tables CubeProcInfo et DimProcInfo pour les cubes et les dimensions que vous ne voulez pas traiter.

Pour remplir les cubes OLAP avec des données

  1. Exécutez la tâche DTS Synchronisation de la configuration pour synchroniser la configuration de votre site et le Data Warehouse. Pour connaître les instructions à suivre, consultez Exécution de la tâche DTS Synchronisation de la configuration.
  2. Développez Serveurs Microsoft SQL, Groupe SQL Server, puis développez le serveur sur lequel Data Warehouse est installé.
  3. Cliquez avec le bouton droit sur Data Transformation Services, puis cliquez sur Nouveau lot.

    Ou, si vous modifiez un lot existant, cliquez avec le bouton droit sur Data Transformation Services, cliquez sur Toutes les tâches, puis sélectionnez Ouvrir le modèle. Dans la boîte de dialogue Choisissez un fichier, cliquez sur le lot à modifier, puis cliquez sur Ouvrir.

  4. Dans le menu Tâche, cliquez sur Préparation du rapport (Commerce Server).
  5. Dans la boîte de dialogue Propriétés de préparation des rapports, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Description | Taper une description pour la tâche Préparation du rapport. Le nombre maximal de caractères de cette description est fixé à 255.
    Nom du site | Sélectionner le site pour lequel vous remplissez les cubes OLAP.
    Incrémentiel | Effectuer un traitement incrémentiel des cubes OLAP.
    Complet | Effectuer un traitement complet des cubes OLAP.
  6. Cliquez sur OK.
  7. Dans le menu Lot, cliquez sur Exécuter.

    La boîte de dialogue Exécution du lot s’affiche, indiquant l’avancement de votre importation. Lorsque le processus d’importation est terminé, la boîte de dialogue Résultats d’exécution du lot vous informe que le processus s’est terminé avec succès.

  8. Cliquez sur OK, puis sur Terminé.

Les données sont chargées dans les cubes OLAP. Vous pouvez à présent utiliser le système d’analyse commerciale de Commerce Server, notamment les rapports Commerce Server, pour analyser les données du Data Warehouse. Pour plus d’informations sur l’exécution de rapports, consultez Analyse Business Desk.

Voir aussi

Exécution de la tâche DTS Préparation du rapport

Processus ETL pour la tâche DTS Préparation du rapport

Exécution de la tâche DTS Préparation du rapport à l’aide d’un script

Méthodes conseillées pour le Data Warehouse

Spécification des données à importer dans le Data Warehouse

Déroulement des opérations pour l’exécution des tâches DTS

Troubleshooting the Data Warehouse Import Process


Activation de l'extraction dans les rapports dynamiques

Envoyer des commentaires sur cette page Commerce Server 2002

Activation de l’extraction dans les rapports dynamiques

Les cubes OLAP (Online Analytical Processing) du Data Warehouse contiennent des agrégations de données à plusieurs dimensions. Lorsque vous examinez les données agrégées dans un rapport dynamique, il est parfois intéressant de voir les enregistrements détaillés sous-jacents à partir desquels cette synthèse a été élaborée. La possibilité d’afficher les enregistrements sous-jacents constitue ce qu’il est convenu d’appeler « l’extraction ». L’extraction ne s’applique qu’aux rapports élaborés à partir de cubes OLAP et n’est opérationnelle que si elle est activée sur les cubes en question.

Les procédures suivantes permettent d’activer l’extraction sur les cubes du Data Warehouse. Vous pouvez activer l’extraction sur un cube normal (cube basé sur des tables et possédant ses propres agrégations) et sur un cube virtuel (cube logique basé sur un ou plusieurs cubes normaux ou cubes liés).

Remarque

  • Vous pouvez utiliser la procédure stockée CSDW_MakePrimaryProductCategoryInfo pour mapper chaque produit vers sa catégorie parent primaire, et ainsi réduire le nombre d’éléments qui apparaissent dans les informations détaillées d’un rapport d’extraction. Pour plus d’informations, consultez Utilisation de l’extraction pour afficher les rapports Ventes produits ou Événements du panier d’achat.

Pour activer l’extraction sur un cube normal

Pour activer l’extraction sur un cube virtuel

Pour activer l’extraction sur un cube normal

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Microsoft SQL Server, sur Analysis Services, puis cliquez sur Analysis Manager.
  2. Sous l’onglet Arbre, développez le nœud Analysis Servers, développez le nœud du serveur sur lequel s’exécute le Data Warehouse, puis développez le nœud du Data Warehouse, nommé par exemple Retail_dw.
  3. Développez le nœud Cubes.
  4. Cliquez avec le bouton droit sur le cube sur lequel vous voulez activer l’extraction et cliquez sur Modifier.
  5. Dans la fenêtre Éditeur de cube, dans le menu Outils, cliquez sur Options d’extraction.
  6. Dans la boîte de dialogue Options d’extraction de cube, activez la case à cocher Activer l’extraction.
  7. Sous l’onglet Colonnes, sélectionnez les noms des colonnes dont vous souhaitez extraire les données, puis cliquez sur OK.
  8. Dans la fenêtre Éditeur de cube, dans le menu Fichier, cliquez sur Enregistrer.
  9. Dans le menu Fichier, cliquez sur Quitter.
  10. Dans la fenêtre Analysis Manager, cliquez avec le bouton droit sur le cube dont vous venez de modifier les propriétés, puis cliquez sur Gérer les rôles.
  11. Dans la boîte de dialogue Gestionnaire de rôles de cube, cliquez sur Modifier.
  12. Sous l’onglet Options, activez la case à cocher Activer l’extraction.
  13. Cliquez sur OK.
  14. Dans la boîte de dialogue Gestionnaire de rôles de cube, cliquez sur Fermer.
  15. Dans la fenêtre Analysis Manager, dans le menu Console, cliquez sur Quitter.

Pour activer l’extraction sur un cube virtuel

  1. Activez l’extraction pour au moins un des cubes de base du cube virtuel en suivant la procédure Pour activer l’extraction sur un cube normal.
  2. Cliquez sur Démarrer, pointez sur Programmes, sur Microsoft SQL Server, sur Analysis Services, puis cliquez sur Analysis Manager.
  3. Sous l’onglet Arbre, développez le nœud Analysis Servers, développez le nœud du serveur sur lequel s’exécute le Data Warehouse, puis développez le nœud du Data Warehouse, nommé par exemple Retail_dw.
  4. Développez le nœud Cubes.
  5. Cliquez avec le bouton droit sur le cube virtuel sur lequel vous souhaitez activer l’extraction et cliquez sur Modifier.
  6. Dans la fenêtre Éditeur de cube, dans le menu Vue, cliquez sur Propriétés.
  7. Sous l’onglet Avancé, affectez à la propriété Activer l’extraction la valeur True.
  8. Dans la fenêtre Éditeur de cube, dans le menu Fichier, cliquez sur Enregistrer.
  9. Dans le menu Fichier, cliquez sur Quitter.
  10. Dans la fenêtre Analysis Manager, cliquez avec le bouton droit sur le cube dont vous venez de modifier les propriétés, puis cliquez sur Gérer les rôles.
  11. Dans la boîte de dialogue Gestionnaire de rôles de cube, cliquez sur Modifier.
  12. Sous l’onglet Options, activez la case à cocher Activer l’extraction.
  13. Cliquez sur OK.
  14. Dans la boîte de dialogue Gestionnaire de rôles de cube, cliquez sur Fermer.
  15. Dans la fenêtre Analysis Manager, dans le menu Console, cliquez sur Quitter.

Voir aussi

Affichage de rapports dynamiques

Fonctionnalités des rapports dynamiques et statiques


Utilisation de l'extraction pour afficher les rapports Ventes produits ou Événements du panier d'achat

Envoyer des commentaires sur cette page Commerce Server 2002

Utilisation de l’extraction pour afficher les rapports Ventes produits ou Événements du panier d’achat

Lorsque vous utilisez l’extraction pour afficher les détails du rapport Ventes produits ou du rapport Événements du panier d’achat, les informations détaillées risquent de mentionner un nombre d’articles dépassant le total indiqué dans le rapport de tableau croisé dynamique. Ce comportement peut avoir lieu quand un produit est mappé vers plusieurs catégories. Ceci est dû à la conception : le produit existe dans plusieurs catégories sous la catégorie examinée actuellement.

Pour afficher des informations cumulées correctes dans le tableau croisé dynamique, les rapports Ventes produits et Événements du panier d’achat introduisent des informations supplémentaires dans les données de détail. Commerce Server utilise ces données supplémentaires pour calculer correctement les données de regroupement lorsqu’il examine les ventes et les événements par catégorie de produit. Lorsque vous utilisez la fonctionnalité d’extraction, les données cachées sont exposées.

Si vous voulez être sûr qu’une seule ligne sera renvoyée pour chaque produit dans les résultats d’extraction, vous devez faire en sorte que chaque produit soit mappé vers une catégorie de produit au maximum. Vous pouvez parvenir à ce résultat en utilisant la procédure stockée CSDW_MakePrimaryProductCategoryInfo pour mapper chaque produit vers sa catégorie parent primaire. Ainsi, vous êtes sûr que chaque produit sera mappé vers une catégorie et une seule dans la hiérarchie des catégories.

Pour spécifier un mappage produit-catégorie basé sur la catégorie parent primaire, exécutez la commande suivante dans la base de données SQL Server du Data Warehouse. La tâche DTS Préparation du rapport exécutera automatiquement cette procédure lors de son exécution et créera la nouvelle arborescence de catégories de produit.

UPDATE StoredProcInfo set [Name] = N’CSDW_MakePrimaryProductCategoryInfo’ where [Name] = N’CSDW_MakeProductCategoryInfo’


Recherche des erreurs d'exécution de tâche DTS

Envoyer des commentaires sur cette page Commerce Server 2002

Recherche des erreurs d’exécution de tâche DTS

Lorsque vous exécutez une tâche DTS (Data Transformation Services), il se peut qu’elle ne se termine pas convenablement. Une tâche qui échoue lorsque le lot qui la contient est exécuté porte la mention « Échec » dans la boîte de dialogue Exécution du lot. L’historique des tâches retrace l’histoire de toutes les tâches exécutées. Vous pouvez l’utiliser pour diagnostiquer les problèmes rencontrés par les tâches DTS qui échouent.

Dans l’historique des tâches, vous pouvez examiner l’état des tâches et afficher les tâches de différentes manières :

  • Petites icônes
  • Grandes icônes
  • Liste
  • Détails

L’affichage des détails fournit les informations suivantes sur les tâches :

  • Description
  • Heure de début
  • Heure de fin
  • État

Pour rechercher les erreurs rencontrées lors de l’exécution des lots

  • Développez successivement Gestionnaire Commerce Server, Ressources globales et Data Warehouse 1, cliquez avec le bouton droit sur Historique des tâches, cliquez sur Affichage, puis cliquez sur Détails.

L’historique des tâches détaillé apparaît dans le volet droit.

Voir aussi

Troubleshooting the Data Warehouse Import Process


Création et planification d'un lot multitâche

Envoyer des commentaires sur cette page Commerce Server 2002

Création et planification d’un lot multitâche

  • Cette rubrique décrit les procédures permettant de créer un lot DTS (Data Transformation Services) SQL Server simple et réutilisable, contenant toutes les tâches nécessaires pour importer des données dans le Data Warehouse. De plus, ce lot contient des instructions de déroulement des opérations permettant de s’assurer que les tâches s’exécutent dans le bon ordre. Le lot sera enregistré en vue d’une réutilisation et planifié pour s’exécuter automatiquement.

Vous pouvez utiliser la ressource Data Warehouse pour créer des lots contenant les éléments suivants :

  • Tâches DTS
  • Instructions de déroulement des opérations

Après avoir créé un lot contenant des tâches DTS et des instructions de déroulement des opérations, vous pouvez l’enregistrer et le réutiliser. Vous pouvez exécuter manuellement un lot stocké ou le planifier pour automatiser son exécution.

Cet exemple repose sur les hypothèses suivantes :

  • Les données d’un seul site seront importées dans le Data Warehouse.
  • Vous avez importé antérieurement chaque type de données du site dans le Data Warehouse.

Cette section contient les rubriques suivantes :

  • Étape 1 : Création et enregistrement d’un lot contenant les tâches DTS de Commerce Server
  • Étape 2 : Ajout d’instructions de déroulement des opérations
  • Étape 3 : Exécution du lot et recherche des erreurs éventuelles
  • Étape 4 : Planification de l’exécution automatique du lot


Étape1: Création et enregistrement d'un lot contenant les tâches DTS de Commerce Server

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 1 : Création et enregistrement d’un lot contenant les tâches DTS de Commerce Server

Dans cette étape, vous créez un lot contenant toutes les tâches DTS nécessaires pour importer des données dans le Data Warehouse et les préparer en vue d’une analyse. Effectuez successivement toutes les opérations suivantes :

  1. Créez un lot et ajoutez-lui la tâche Synchronisation de la configuration
  2. Ajoutez la tâche Importation de journal de serveur Web
  3. Ajoutez la tâche Importation des données de transaction
  4. Ajoutez la tâche Importation du catalogue de produits
  5. Ajoutez la tâche Préparation du rapport
  6. Enregistrez le lot

Créez un lot et ajoutez-lui la tâche Synchronisation de la configuration

  1. Développez Serveurs Microsoft SQL, Groupe SQL Server, puis développez le serveur sur lequel le Data Warehouse est installé.
  2. Cliquez avec le bouton droit sur Data Transformation Services, puis cliquez sur Nouveau lot.
  3. Dans le menu Tâche, cliquez sur Synchronisation de la configuration (Commerce Server).
  4. Dans la boîte de dialogue Propriétés de la synchronisation du Data Warehouse, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Description | Taper une description pour la tâche de synchronisation. Le nombre maximal de caractères de cette description est fixé à 255.
    Niveau d’opération | Sélectionner Niveau du site dans la liste déroulante, afin de synchroniser un site avec le Data Warehouse.
    Nom du site | Sélectionner dans la liste déroulante le site que vous voulez synchroniser avec le Data Warehouse.
  5. Dans la section Propriétés du nouvel essai, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nombre de tentatives | Taper le nombre de tentatives de connexion souhaité de la tâche vers le Data Warehouse. Le nombre de tentatives de connexion par défaut est de 10.
    Délai en secondes entre les essais | Taper le nombre de secondes entre les tentatives de connexion. La valeur par défaut est 30 secondes.
  6. Cliquez sur OK.

Ajoutez la tâche Importation des données de transaction

  1. Dans le menu Tâche, cliquez sur Importation des données de transaction (Commerce Server).
  2. Dans la boîte de dialogue Propriétés d’importation des transactions, sous l’onglet Général, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Description | Taper une description pour cette tâche d’importation. Le nombre maximal de caractères de cette description est fixé à 255.
    Niveau d’opération | Sélectionner Niveau du site dans la liste déroulante.
    Nom du site | Sélectionner dans la liste déroulante le site contenant les données que vous voulez importer.
    Charge incrémentielle | Importer uniquement les nouvelles données de transaction, en se basant sur une importation précédente.
    Charge totale | Importer l’intégralité des données de transaction.
  3. Dans la section Propriétés du nouvel essai, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nombre de tentatives | Taper le nombre de tentatives de connexion souhaité de la tâche vers le Data Warehouse. Le nombre de tentatives de connexion par défaut est de 10.
    Délai en secondes entre les essais | Taper le nombre de secondes entre les tentatives de connexion. La valeur par défaut est 30 secondes.
  4. Cliquez sur OK.

Ajoutez la tâche Importation de journal de serveur Web

  1. Dans le menu Tâche, cliquez sur Importation de journal de serveur Web (Commerce Server).
  2. Dans la boîte de dialogue Importer les journaux de serveur Web, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Description | Taper une description pour la tâche d’importation. Le nombre maximal de caractères de cette description est fixé à 255.
    Niveau d’opération | Sélectionner Niveau du site dans la liste déroulante.
    Nom du site | Sélectionner dans la liste déroulante le nom du site Web contenant le fichier journal que vous importez.
    Chemin d’accès au fichier journal | Taper le chemin d’accès au fichier journal Web à importer, ou rechercher le chemin d’accès au fichier journal en cliquant sur Points de suspension.
    Fichiers journaux | Ouvrir la boîte de dialogue Fichiers journaux du serveur Web, sélectionner dans la liste Fichiers journaux du serveur Web les fichiers journaux Web à importer, puis cliquer sur OK pour revenir à la boîte de dialogue Importer les journaux de serveur Web.
    Importer tous les fichiers journaux depuis la dernière importation | Spécifier l’importation de tous les fichiers journaux créés depuis la dernière importation.
  3. Dans la section Propriétés du nouvel essai, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nombre de tentatives | Taper le nombre de tentatives de connexion souhaité de la tâche vers le Data Warehouse. Le nombre de tentatives de connexion par défaut est de 10.
    Délai en secondes entre les essais | Taper le nombre de secondes entre les tentatives de connexion. La valeur par défaut est 30 secondes.
  4. Cliquez sur OK.

Ajoutez la tâche Importation du catalogue de produits

  1. Dans le menu Tâche, cliquez sur Importation du catalogue de produits (Commerce Server).
  2. Dans la boîte de dialogue Propriétés d’importation du catalogue, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Description | Taper une description pour cette tâche d’importation. Le nombre maximal de caractères de cette description est fixé à 255.
    Niveau d’opération | Sélectionner Niveau du site dans la liste déroulante.
    Nom du site | Sélectionner dans la liste déroulante le site contenant les données que vous voulez importer.
    Charge incrémentielle | Importer uniquement les nouvelles données de catalogue, en se basant sur une importation précédente.
    Charge totale | Importer l’intégralité des données de catalogue.
  3. Dans la section Propriétés du nouvel essai, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nombre de tentatives | Taper le nombre de tentatives de connexion souhaité de la tâche vers le Data Warehouse. Le nombre de tentatives de connexion par défaut est de 10.
    Délai en secondes entre les essais | Taper le nombre de secondes entre les tentatives de connexion. La valeur par défaut est 30 secondes.
  4. Cliquez sur OK.

Ajoutez la tâche Préparation du rapport

  1. Dans le menu Tâche, cliquez sur Préparation du rapport (Commerce Server).
  2. Dans la boîte de dialogue Propriétés de préparation des rapports, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Description | Taper une description pour la tâche Préparation du rapport. Le nombre maximal de caractères de cette description est fixé à 255.
    Nom du site | Sélectionner le site pour lequel vous remplissez les cubes OLAP.
    Incrémentiel | Effectuer un traitement incrémentiel des cubes OLAP.
    Complet | Effectuer un traitement complet des cubes OLAP.
  3. Cliquez sur OK.

Enregistrez le lot

  1. Dans le menu Lot, cliquez sur Enregistrer.
  2. Dans la boîte de dialogue Enregistrer le lot DTS, dans la zone Nom du lot, tapez un nom pour le lot que vous avez créé, par exemple <Nom du site>Import.
  3. Cliquez sur OK.

Le lot contenant les tâches DTS est enregistré.


Étape2: Ajout d'instructions de déroulement des opérations

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 2 : Ajout d’instructions de déroulement des opérations

Dans cette étape, vous rouvrez le lot créé à l’étape 1 et lui ajoutez des instructions de déroulement des opérations qui contrôlent l’ordre dans lequel les tâches du lot s’exécutent.

  1. Développez Serveurs Microsoft SQL, Groupe SQL Server, puis développez le serveur sur lequel le Data Warehouse est installé.
  2. Développez Data Transformation Services, puis cliquez sur Lots locaux.
  3. Double-cliquez sur le lot que vous avez créé.
  4. Maintenez enfoncée la touche CTRL et cliquez sur chaque tâche dans l’ordre suivant :
    • Synchronisation de la configuration
    • Importation de journal de serveur Web
    • Importation des données de transaction
    • Importation du catalogue de produits
    • Préparation du rapport
  5. Dans le menu Workflow, cliquez sur À l’achèvement.

    Les instructions de déroulement des opérations sont ajoutées au lot.

  6. Dans le menu Lot, cliquez sur Enregistrer.

Le lot est enregistré avec les instructions de déroulement des opérations.


Étape3: Exécution du lot et recherche des erreurs éventuelles

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 3 : Exécution du lot et recherche des erreurs éventuelles

Dans cette étape, vous exécutez le lot et vérifiez que toutes les tâches s’exécutent correctement.

  1. Développez Serveurs Microsoft SQL, Groupe SQL Server, puis développez le serveur sur lequel le Data Warehouse est installé.
  2. Développez Data Transformation Services, puis cliquez sur Lots locaux.
  3. Cliquez avec le bouton droit sur votre lot, puis cliquez sur Exécuter le lot.
  4. Vérifiez dans la boîte de dialogue Exécution du lot si des tâches ont échoué.

    Remarque

    • Si l’une de vos tâches échoue, un message d’erreur apparaît. Cliquez sur OK pour fermer le message d’erreur.
  5. Cliquez sur Terminer pour fermer la boîte de dialogue Exécution du lot.

Pour plus d’informations sur les tâches qui ont échoué, consultez Recherche des erreurs d’exécution de tâche DTS.


Étape4: Planification de l'exécution automatique du lot

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 4 : Planification de l’exécution automatique du lot

Dans cette étape, vous utilisez le planificateur de lots SQL Server pour planifier l’exécution automatique du lot.

  1. Développez Serveurs Microsoft SQL, Groupe SQL Server, puis développez le serveur sur lequel le Data Warehouse est installé.
  2. Développez Data Transformation Services, puis cliquez sur Lots locaux.
  3. Cliquez avec le bouton droit sur votre lot, puis cliquez sur Planifier le lot.
  4. Dans la boîte de dialogue Modifier la planification des travaux périodiques, dans la section Fréquence, cliquez sur Quotidienne, Hebdomadaire ou Mensuelle.
    • Si vous avez sélectionné Quotidienne, sélectionnez le nombre de jours séparant deux exécutions successives du lot.
    • Si vous avez sélectionné Hebdomadaire, sélectionnez le nombre de semaines séparant deux exécutions successives du lot et le jour de la semaine où le lot doit être exécuté.
    • Si vous avez sélectionné Mensuelle, définissez la période de temps séparant deux exécutions successives du lot en sélectionnant soit le jour et le nombre de mois, soit la semaine, le jour de la semaine et le nombre de mois.
  5. Si vous avez sélectionné Quotidienne, dans la section Fréquence quotidienne, sélectionnez soit Une fois à et définissez une heure, soit Toutes les et définissez un intervalle ainsi qu’une heure de début et une heure de fin.
  6. Dans la section Durée, fixez une date de début, puis sélectionnez une date de fin dans le calendrier déroulant, ou sélectionnez Aucune date de fin.
  7. Cliquez sur OK.

Le lot est planifié. N’oubliez pas de consulter l’historique des tâches fréquemment pour rechercher les tâches qui échouent. Pour plus d’informations sur l’utilisation de l’historique des tâches, consultez Recherche des erreurs d’exécution de tâche DTS.


Déplacement du Data Warehouse

Il peut s’avérer nécessaire de modifier la configuration initiale du Data Warehouse. Vous le ferez, par exemple, si la croissance de votre Data Warehouse commence à poser un problème à vos ordinateurs actuels, ou si vous avez besoin de reconfigurer la topologie afin d’améliorer les performances du Data Warehouse.

Les étapes suivantes constituent un bref résumé des mesures que vous devrez prendre pour déplacer le Data Warehouse vers d’autres ordinateurs avec un minimum de répercussions sur l’installation Commerce Server actuelle :

  1. Vérifiez qu’aucune tâche n’utilise actuellement le Data Warehouse ou n’est planifiée pour l’utiliser durant le déplacement.
  2. Choisissez les parties du Data Warehouse que vous voulez déplacer. (Par exemple, est-ce que vous déplacez seulement la base de données du Data Warehouse, la base de données d’analyse ou les deux ?)
  3. Sauvegardez le Data Warehouse actuel (ou l’un de ses composants).
  4. Restaurez la copie sauvegardée du Data Warehouse sur les nouveaux ordinateurs.
  5. Mettez à jour toutes les chaînes de connexion du Data Warehouse pour les faire pointer vers les nouveaux emplacements.
  6. Supprimez sur les anciens ordinateurs les anciens lots/événements SQL Server qui ont été créés avant le déplacement.
  7. Effectuez une réinitialisation IISReset.
  8. Vérifiez que vos données sont toujours visibles dans les rapports du système d’analyse commerciale.

Cette section contient les rubriques suivantes :

  • Méthodes conseillées pour déplacer le Data Warehouse
  • Déplacement du contenu du Data Warehouse
  • Mise à jour des connexions du Data Warehouse


Méthodes conseillées pour déplacer le Data Warehouse

Avant de déplacer le Data Warehouse, effectuez les vérifications suivantes :

  • Les ordinateurs vers lesquels vous déplacez le Data Warehouse possèdent la configuration requise pour une plate-forme Commerce Server.
  • Vous avez un site Commerce Server installé et fonctionnant convenablement avant que le déplacement n’ait lieu.
  • Vous avez un accès complet à tous les ordinateurs impliqués dans le déplacement du Data Warehouse (par exemple, vous avez un accès SQL Server complet et les privilèges administratifs sur tous les ordinateurs).
  • Aucun site n’a planifié l’exécution de tâches sur le Data Warehouse pendant son déplacement.


Déplacement du contenu du Data Warehouse

Cette section explique le processus consistant à déplacer physiquement le Data Warehouse d’un ordinateur (ou d’un groupe d’ordinateurs) à l’autre. Le Data Warehouse inclut la base de données SQL Server (dont le nom est par défaut <Nom du site>_dw) et la base de données OLAP utilisée pour les rapports.

Déplacement de la base de données du Data Warehouse

Déplacement de la base de données d’analyse

Mise à jour des connexions du Data Warehouse

Déplacement des lots DTS

Configurations d’ordinateur interdomaines

Déplacement de la base de données du Data Warehouse

Le déplacement de la base de données du Data Warehouse s’effectue en quatre étapes :

  1. Détachez la base de données.
  2. Copiez les fichiers de base de données.
  3. Collez la base de données à son nouvel emplacement.
  4. Attachez la base de données.

Important

  • Avant de déplacer une base de données SQL Server, vérifiez qu’aucune tâche n’est planifiée dans SQL Scheduler pour s’exécuter à ce moment-là.

Pour détacher une base de données SQL Server

  1. Dans Commerce Server Enterprise Manager, développez Serveurs Microsoft SQL, développez un groupe de serveurs, puis développez un serveur.
  2. Développez Bases de données, cliquez avec le bouton droit sur la base de données à déplacer, puis cliquez sur Propriétés.
  3. Dans la boîte de dialogue Propriétés de <Base de données>, sous l’onglet Fichiers de données, dans la section Fichiers de base de données, dans la colonne Emplacement, lisez le chemin complet de l’emplacement où les fichiers de la base de données <Nom du site>_dw sont stockés sur votre disque dur. Notez par écrit l’emplacement des fichiers .mdf et .ldf.
  4. Cliquez sur OK pour fermer la boîte de dialogue Propriétés.
  5. Cliquez avec le bouton droit sur la base de données à déplacer, cliquez sur Toutes les tâches, puis sur Détacher la base de données.
  6. Dans la boîte de dialogue Détacher la base de données - <Base de données>, vérifiez dans la section État de la base de données qu’il n’y a actuellement aucune activité de base de données, ni de connexions qui utilisent la base de données.
  7. Cliquez sur OK pour terminer le processus de détachement, puis cliquez à nouveau sur OK pour fermer la boîte de dialogue de confirmation.

Pour copier une base de données SQL Server

  1. Sur le bureau, cliquez avec le bouton droit sur Poste de travail, puis cliquez sur Explorer.
  2. Dans la fenêtre de navigateur Poste de travail, naviguez jusqu’à l’emplacement du fichier <Nom du site>_dw.
  3. Copiez les fichiers suivants vers le support que vous allez utiliser pour les déplacer vers le nouvel emplacement :
    • <Nom du site>_dw.mdf
    • <Nom du site>_dw.ldf
Remarque
  • Le Data Warehouse requiert les fichiers <Nom du site>_dw.mdf et <Nom du site>_dw.ldf.

Pour coller la base de données SQL Server sur le nouvel ordinateur

  1. Sur le bureau de l’ordinateur cible, cliquez avec le bouton droit sur Poste de travail, puis cliquez sur Explorer.
  2. Dans la fenêtre de navigateur Poste de travail, naviguez jusqu’à l’emplacement où vous voulez coller les fichiers de base de données, puis collez ces fichiers (<Nom du site>_dw.mdf et <Nom du site>_dw.ldf) à leur nouvel emplacement.

Pour attacher la base de données sur le nouvel ordinateur

  1. Dans Commerce Server Enterprise Manager, développez Serveurs Microsoft SQL, développez un groupe de serveurs, puis développez un serveur.
  2. Cliquez avec le bouton droit sur Bases de données, pointez sur Toutes les tâches, puis cliquez sur Attacher la base de données.
  3. Dans la boîte de dialogue Attacher la base de données, tapez l’emplacement du fichier .mdf de la base de données que vous attachez.
  4. Vérifiez que la colonne Nom du fichier d’origine contient les fichiers .mdf et .ldf de la base de données.
  5. Dans la zone Attacher en tant que, vérifiez le nom de la base de données.
  6. Cliquez sur OK pour attacher la base de données, puis cliquez à nouveau sur OK pour fermer la boîte de dialogue de confirmation.

Déplacement de la base de données d’analyse

Le déplacement de la base de données d’analyse s’effectue en trois étapes :

  1. Archivez la base de données d’analyse.
  2. Restaurez la base de données d’analyse à son nouvel emplacement.
  3. Traitez les cubes virtuels.

Pour archiver la base de données d’analyse

  1. Dans Commerce Server Enterprise Manager, développez Serveurs Microsoft SQL, développez Analysis Servers, développez un groupe de serveurs, cliquez avec le bouton droit sur la base de données d’analyse à déplacer, puis cliquez sur Archiver la base de données.
  2. Dans la boîte de dialogue Archiver la base de données, dans la zone Enregistrer dans, tapez l’emplacement où vous voulez archiver la base de données. Prenez note par écrit de cet emplacement.
  3. Cliquez sur Archiver.
  4. Dans la boîte de dialogue Progression de l’archivage de la base de données, cliquez sur Fermer.

Pour restaurer la base de données d’analyse sur le nouvel ordinateur

  1. Dans Commerce Server Enterprise Manager, développez Serveurs Microsoft SQL, développez Analysis Servers, développez un groupe de serveurs, cliquez avec le bouton droit sur le nœud de l’ordinateur local où vous voulez installer la base de données d’analyse, puis cliquez sur Restaurer la base de données.
  2. Dans la boîte de dialogue Ouvrir le fichier d’archive, naviguez jusqu’à l’emplacement où vous avez archivé la base de données d’analyse, sélectionnez le fichier .cab que vous avez sélectionné à l’origine comme fichier d’archive pour votre base de données d’analyse, puis cliquez sur Ouvrir.
  3. Dans la boîte de dialogue Restaurer la base de données, cliquez sur Restaurer pour réaliser le processus de restauration.
  4. Dans la boîte de dialogue Progression de la restauration de la base de données, cliquez sur Fermer.

Après avoir restauré la base de données d’analyse, vous devez traiter les cubes virtuels.

Pour traiter les cubes virtuels

Remarque

  • Vous devez traiter individuellement tous les cubes virtuels pour effectuer le déplacement.
  1. Dans Commerce Server Enterprise Manager, développez Serveurs Microsoft SQL, développez Analysis Servers, développez un groupe de serveurs, développez Cubes, puis cliquez avec le bouton droit sur le cube virtuel que vous voulez traiter.
  2. Dans la boîte de dialogue Traiter un cube, cliquez sur OK pour traiter le cube.
  3. Dans la boîte de dialogue Progression, cliquez sur Fermer.


Mise à jour des connexions du Data Warehouse

Après avoir déplacé le Data Warehouse vers de nouveaux ordinateurs, vous devez mettre à jour les informations de connexion du Data Warehouse. Les informations de connexion du Data Warehouse doivent être mises à jour à trois emplacements :

  • Ressource globale Data Warehouse
  • Base de données d’analyse
  • Base de données du Data Warehouse

Important

  • Vérifiez toujours les connexions dans le Gestionnaire Commerce Server, Analysis Manager et Enterprise Manager pour être sûr d’avoir les informations de connexion correctes.
  • Réalisez toujours une réinitialisation IISReset après tout changement de mot de passe. Ces précautions permettent de s’assurer que Business Desk n’a pas stocké des informations de connexion dans un cache durant le processus de déplacement.

Pour mettre à jour les chaînes de connexion de la ressource globale Data Warehouse dans le Gestionnaire Commerce Server

  1. Dans Commerce Server Enterprise Manager, développez Serveurs Microsoft SQL, développez Ressources globales, cliquez avec le bouton droit sur la ressource globale Data Warehouse, puis cliquez sur Propriétés.
  2. Dans la boîte de dialogue Propriétés du Data Warehouse, sous l’onglet SQL Server, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Identificateur d’utilisateur | (Uniquement pour l’authentification SQL Server) Taper l’identificateur de l’administrateur de SQL Server.
    Mot de passe | (Uniquement pour l’authentification SQL Server) Taper le mot de passe pour l’administrateur de SQL Server.
    Serveur | Taper le nom de l’ordinateur où le Data Warehouse se trouve maintenant.
    Base de données | Taper le nom de la base de données du Data Warehouse.
  3. Dans la boîte de dialogue Propriétés du Data Warehouse, sous l’onglet Serveur d’analyse, dans la section Serveur d’analyse principal, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Serveur | Taper le nom de l’ordinateur ou le Data Warehouse se trouve maintenant.
    Base de données | Taper le nom de la base de données d’analyse.
  4. Dans la boîte de dialogue Propriétés du Data Warehouse, sous l’onglet Serveur d’analyse, dans la section Serveur d’analyse secondaire, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Serveur | Taper le nom de l’ordinateur où le Data Warehouse se trouve maintenant.
    Base de données | Taper le nom de la base de données d’analyse.
  5. Cliquez sur OK.

Pour mettre à jour les informations de connexion de la base de données d’analyse dans le Gestionnaire Commerce Server.

  1. Dans Commerce Server Enterprise Manager, développez Serveurs Microsoft SQL, développez Analysis Servers, développez un groupe de serveurs, développez la base de données d’analyse, développez Sources de données, cliquez avec le bouton droit sur COMMERCE_DataWarehouse, puis cliquez sur Modifier.
  2. Dans la boîte de dialogue Propriétés des liaisons de données, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Sélectionner ou taper un nom de serveur | Taper le nom du serveur.
    Nom d’utilisateur | (Uniquement pour l’authentification SQL Server) Taper l’identificateur de l’administrateur de SQL Server.
    Password | (Uniquement pour l’authentification SQL Server) Taper le mot de passe pour l’administrateur de SQL Server.
    Sélectionner la base de données sur le serveur | Sélectionner la base de données d’analyse dans la liste déroulante.
  3. Cliquez sur Tester la connexion.
  4. Cliquez sur OK pour fermer la boîte de dialogue de confirmation.
  5. Dans la boîte de dialogue Propriétés des liaisons de données, cliquez sur OK.

La base de données d’analyse est connectée au Data Warehouse au nouvel emplacement.


Déplacement des lots DTS

S’il existait des lots DTS pour ce Data Warehouse à l’emplacement d’origine du Data Warehouse, vous devez les supprimer et en créer de nouveaux au nouvel emplacement. Ceci permet de s’assurer qu’aucune information de connexion héritée du Data Warehouse n’a été stockée quelque part de façon inattendue.


Configurations d'ordinateur interdomaines

Envoyer des commentaires sur cette page Commerce Server 2002

Configurations d’ordinateur interdomaines

Si vous décidez de déplacer une partie ou la totalité du Data Warehouse vers un autre domaine, vous devez effectuer les opérations suivantes :

  • Si vous avez installé SQL Server avec la sécurité intégrée Windows, vérifiez que tous les utilisateurs concernés ont accès à ce domaine.
  • Configurez le serveur d’analyse pour afficher OLAP sur HTTP. Ceci est nécessaire pour afficher les rapports dynamiques. Pour plus d’informations, consultez Accès au serveur d’analyse via HTTPS.


Exécution de tâches DTS à l'aide de scripts

Envoyer des commentaires sur cette page Commerce Server 2002

Exécution de tâches DTS à l’aide de scripts

Les tâches de transformation de données (DTS, Data Transformation Services) de Commerce Server vous permettent d’importer et de modifier des données dans le Data Warehouse. Vous pouvez soit exécuter les tâches DTS à l’aide de SQL Server, soit élaborer des scripts pour créer et exécuter les tâches depuis la ligne de commande.

Dans Commerce Server 2000, il était déjà possible d’exécuter les tâches DTS à l’aide de scripts, mais non de créer des tâches et des lots DTS à l’aide de scripts parce que les paramètres de ces tâches n’étaient pas exposés. En d’autres termes, les développeurs de site ou les administrateurs système devaient créer chaque lot manuellement à l’aide de SQL Server avant d’en automatiser l’exécution par un script.

Dans Commerce Server 2002, comme les paramètres des tâches DTS sont exposés, les développeurs de site et les administrateurs système sont en mesure d’automatiser la création et la planification des lots DTS pour chaque nouveau client, ce qui permet de minimiser le temps nécessaire pour exécuter toutes les tâches.

Chaque script crée un seul lot pour chaque tâche DTS. Plusieurs tâches peuvent être chargées dans un seul lot. Pour plus d’informations sur la création de lots DTS multitâches, consultez l’aide de SQL Server.

Durant leur configuration et leur exécution, certaines tâches DTS étendent les tables de base de données. Les opérations SQL Server impliquées par l’extension de tables de base de données exigent que l’utilisateur ait le rôle SQL Server approprié. Pour plus d’informations sur les rôles SQL Server, consultez la documentation en ligne de SQL Server.

Cette section contient les rubriques suivantes :

  • Exécution de la tâche DTS Synchronisation de la configuration à l’aide d’un script
  • Exécution de la tâche DTS Importation de journal de serveur Web à l’aide d’un script
  • Exécution de la tâche DTS Importation des données de transaction à l’aide d’un script
  • Exécution de la tâche DTS Importation du catalogue de produits à l’aide d’un script
  • Exécution de la tâche DTS Résolution IP à l’aide d’un script
  • Exécution de la tâche DTS Préparation du rapport à l’aide d’un script


Exécution de la tâche DTS Synchronisation de la configuration à l'aide d'un script

Envoyer des commentaires sur cette page Commerce Server 2002

Exécution de la tâche DTS Synchronisation de la configuration à l’aide d’un script

Le script suivant crée et exécute la tâche DTS Synchronisation de la configuration. Ce script peut être utilisé pour créer un lot contenant la tâche DTS à exécuter. Cet exemple de script peut être exécuté de deux manières. Vous pouvez exécuter le lot sur la ligne de commande à l’aide de la commande DTSRun.exe. Le fichier DTSRun.exe est automatiquement installé sur votre serveur au moment de l’installation de SQL Server. Vous avez aussi la possibilité de copier le script dans un fichier script Visual Basic (.vbs), puis de l’exécuter en utilisant cscript, par exemple <lecteur>:cscript <nom_fichier>.vbs.

Pour que l’importation des données dans le Data Warehouse soit effectuée correctement, exécutez les tâches DTS en respectant l’ordre suivant :

  1. Synchronisation de la configuration
  2. Importation de journal de serveur Web
  3. Importation des données de transaction
  4. Importation du catalogue de produits
  5. Importation des données du profil utilisateur
  6. Importation de campagne marketing
  7. Suppression des données
  8. Générateur de modèles
  9. Résolution IP
  10. Préparation du rapport
  11. Mise en cache du rapport

Pour plus d’informations sur l’objet DTSSyncAdminData, consultez DTSSyncAdminData Object.

Pour une description de cette tâche DTS, consultez Tâches DTS de Commerce Server.

'**********************************************************************
' 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


Exécution de la tâche DTS Importation de journal de serveur Web à l'aide d'un script

Envoyer des commentaires sur cette page Commerce Server 2002

Exécution de la tâche DTS Importation de journal de serveur Web à l’aide d’un script

Le script suivant crée et exécute la tâche DTS Importation de journal de serveur Web. Ce script peut être utilisé pour créer un lot contenant la tâche DTS à exécuter. Cet exemple de script peut être exécuté de deux manières. Vous pouvez exécuter le lot sur la ligne de commande à l’aide de la commande DTSRun.exe. Le fichier DTSRun.exe est automatiquement installé sur votre serveur au moment de l’installation de SQL Server. Vous avez aussi la possibilité de copier le script dans un fichier script Visual Basic (.vbs), puis de l’exécuter en utilisant cscript, par exemple <lecteur>:cscript <nom_fichier>.vbs.

Pour que l’importation des données dans le Data Warehouse soit effectuée correctement, exécutez les tâches DTS en respectant l’ordre suivant :

  1. Synchronisation de la configuration
  2. Importation de journal de serveur Web
  3. Importation des données de transaction
  4. Importation du catalogue de produits
  5. Importation des données du profil utilisateur
  6. Importation de campagne marketing
  7. Suppression des données
  8. Générateur de modèles
  9. Résolution IP
  10. Préparation du rapport
  11. Mise en cache du rapport

Pour plus d’informations sur l’objet DTSLogImport, consultez DTSLogImport Object.

Pour une description de cette tâche DTS, consultez Tâches DTS de Commerce Server.

'******************************************************************
' 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


Exécution de la tâche DTS Importation des données de transaction à l'aide d'un script

Envoyer des commentaires sur cette page Commerce Server 2002

Exécution de la tâche DTS Importation des données de transaction à l’aide d’un script

Le script suivant crée et exécute la tâche DTS Importation des données de transaction. Ce script peut être utilisé pour créer un lot contenant la tâche DTS à exécuter. Cet exemple de script peut être exécuté de deux manières. Vous pouvez exécuter le lot sur la ligne de commande à l’aide de la commande DTSRun.exe. Le fichier DTSRun.exe est automatiquement installé sur votre serveur au moment de l’installation de SQL Server. Vous avez aussi la possibilité de copier le script dans un fichier script Visual Basic (.vbs), puis de l’exécuter en utilisant cscript, par exemple <lecteur>:cscript <nom_fichier>.vbs.

Pour que l’importation des données dans le Data Warehouse soit effectuée correctement, exécutez les tâches DTS en respectant l’ordre suivant :

  1. Synchronisation de la configuration
  2. Importation de journal de serveur Web
  3. Importation des données de transaction
  4. Importation du catalogue de produits
  5. Importation des données du profil utilisateur
  6. Importation de campagne marketing
  7. Suppression des données
  8. Générateur de modèles
  9. Résolution IP
  10. Préparation du rapport
  11. Mise en cache du rapport

Pour plus d’informations sur l’objet DTSTransactionImport, consultez DTSTransactionImport Object.

Pour une description de cette tâche DTS, consultez Tâches DTS de Commerce Server.

'******************************************************************
' Transaction data import DTS Task
' This script creates a DTS package and runs it.

’ Remarque : Il est impossible d’exécuter cette tâche DTS sur un ordinateur qui ne dispose que de

’ la fonctionnalité Business Analytics Stand-Alone de Commerce Server 2002. Cette tâche DTS lit les chaînes de connexions nécessaires

’ pour la base de données Commerce et le Data Warehouse dans l’objet

’ Admin basé sur le nom de site défini dans le 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


Exécution de la tâche DTS Importation du catalogue de produits à l'aide d'un script

Envoyer des commentaires sur cette page Commerce Server 2002

Exécution de la tâche DTS Importation du catalogue de produits à l’aide d’un script

Le script suivant crée et exécute la tâche DTS Importation du catalogue de produits. Ce script peut être utilisé pour créer un lot contenant la tâche DTS à exécuter. Cet exemple de script peut être exécuté de deux manières. Vous pouvez exécuter le lot sur la ligne de commande à l’aide de la commande DTSRun.exe. Le fichier DTSRun.exe est automatiquement installé sur votre serveur au moment de l’installation de SQL Server. Vous avez aussi la possibilité de copier le script dans un fichier script Visual Basic (.vbs), puis de l’exécuter en utilisant cscript, par exemple <lecteur>:cscript <nom_fichier>.vbs.

Pour que l’importation des données dans le Data Warehouse soit effectuée correctement, exécutez les tâches DTS en respectant l’ordre suivant :

  1. Synchronisation de la configuration
  2. Importation de journal de serveur Web
  3. Importation des données de transaction
  4. Importation du catalogue de produits
  5. Importation des données du profil utilisateur
  6. Importation de campagne marketing
  7. Suppression des données
  8. Générateur de modèles
  9. Résolution IP
  10. Préparation du rapport
  11. Mise en cache du rapport

Pour plus d’informations sur l’objet DTSCatalogImport, consultez DTSCatalogImport Object.

Pour une description de cette tâche DTS, consultez Tâches DTS de Commerce Server.

'******************************************************************
' 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


Exécution de la tâche DTS Suppression des données à l'aide d'un script

Envoyer des commentaires sur cette page Commerce Server 2002

Exécution de la tâche DTS Suppression des données à l’aide d’un script

Le script suivant crée et exécute la tâche DTS Suppression des données. Ce script peut être utilisé pour créer un lot contenant la tâche DTS à exécuter. Cet exemple de script peut être exécuté de deux manières. Vous pouvez exécuter le lot sur la ligne de commande à l’aide de la commande DTSRun.exe. Le fichier DTSRun.exe est automatiquement installé sur votre serveur au moment de l’installation de SQL Server. Vous avez aussi la possibilité de copier le script dans un fichier script Visual Basic (.vbs), puis de l’exécuter en utilisant cscript, par exemple <lecteur>:cscript <nom_fichier>.vbs.

Pour que l’importation des données dans le Data Warehouse soit effectuée correctement, exécutez les tâches DTS en respectant l’ordre suivant :

  1. Synchronisation de la configuration
  2. Importation de journal de serveur Web
  3. Importation des données de transaction
  4. Importation du catalogue de produits
  5. Importation des données du profil utilisateur
  6. Importation de campagne marketing
  7. Suppression des données
  8. Générateur de modèles
  9. Résolution IP
  10. Préparation du rapport
  11. Mise en cache du rapport

Pour plus d’informations sur l’objet DTSDeleteImport, consultez DTSDeleteImport Object.

Pour une description de cette tâche DTS, consultez Tâches DTS de Commerce Server.

'******************************************************************
' 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

Le code situé entre les commentaires « Configurer la tâche DTS Suppression des données pour supprimer tous les journaux du site » et « Créer une étape » peut être remplacé par le code suivant pour ne supprimer que les fichiers journaux spécifiés :

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


Exécution de la tâche DTS Résolution IP à l'aide d'un script

Envoyer des commentaires sur cette page Commerce Server 2002

Exécution de la tâche DTS Résolution IP à l’aide d’un script

Le script suivant crée et exécute la tâche DTS Résolution IP. Ce script peut être utilisé pour créer un lot contenant la tâche DTS à exécuter. Cet exemple de script peut être exécuté de deux manières. Vous pouvez exécuter le lot sur la ligne de commande à l’aide de la commande DTSRun.exe. Le fichier DTSRun.exe est automatiquement installé sur votre serveur au moment de l’installation de SQL Server. Vous avez aussi la possibilité de copier le script dans un fichier script Visual Basic (.vbs), puis de l’exécuter en utilisant cscript, par exemple <lecteur>:cscript <nom_fichier>.vbs.

Pour que l’importation des données dans le Data Warehouse soit effectuée correctement, exécutez les tâches DTS en respectant l’ordre suivant :

  1. Synchronisation de la configuration
  2. Importation de journal de serveur Web
  3. Importation des données de transaction
  4. Importation du catalogue de produits
  5. Suppression des données
  6. Résolution IP
  7. Préparation du rapport

Pour plus d’informations sur l’objet DTSIPResolution, consultez DTSIPResolution Object.

Pour une description de cette tâche DTS, consultez Tâches DTS de Commerce Server.

'******************************************************************
' 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


Exécution de la tâche DTS Préparation du rapport à l'aide d'un script

Envoyer des commentaires sur cette page Commerce Server 2002

Exécution de la tâche DTS Préparation du rapport à l’aide d’un script

Le script suivant crée et exécute la tâche DTS Préparation du rapport. Ce script peut être utilisé pour créer un lot contenant la tâche DTS à exécuter. Cet exemple de script peut être exécuté de deux manières. Vous pouvez exécuter le lot sur la ligne de commande à l’aide de la commande DTSRun.exe. Le fichier DTSRun.exe est automatiquement installé sur votre serveur au moment de l’installation de SQL Server. Vous avez aussi la possibilité de copier le script dans un fichier script Visual Basic (.vbs), puis de l’exécuter en utilisant cscript, par exemple <lecteur>:cscript <nom_fichier>.vbs.

Pour que l’importation des données dans le Data Warehouse soit effectuée correctement, exécutez les tâches DTS en respectant l’ordre suivant :

  1. Synchronisation de la configuration
  2. Importation de journal de serveur Web
  3. Importation des données de transaction
  4. Importation du catalogue de produits
  5. Suppression des données
  6. Résolution IP
  7. Préparation du rapport

Pour plus d’informations sur l’objet DTSPostImport, consultez DTSPostImport Object.

Pour une description de cette tâche DTS, consultez Tâches DTS de Commerce Server.

Remarque

La tâche DTS Préparation du rapport doit être exécutée après l’importation dans le Data Warehouse de toutes les données de tous les sites Web associés au Data Warehouse. Vous ne devez pas exécuter cette tâche pour chaque site Web du Data Warehouse.

'*********************************************************************
' 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


Exécution du service de publipostage

Le service de publipostage Commerce Server vous permet d’envoyer des messages électroniques personnalisés à partir d’une page Web ou des publipostages non personnalisés à partir d’un fichier texte sans mise en forme, vers d’importants groupes de destinataires. Le service de publipostage peut être utilisé sous forme de processus autonome ou être intégré aux modules Campagnes marketing dans Commerce Server Business Desk.

Une fois le service de publipostage installé, il s’intègre automatiquement aux autres fonctionnalités de Commerce Server. Vous pouvez accéder au service de publipostage via Commerce Server Business Desk, ou l’utiliser comme un produit autonome sans vous servir des autres composants Commerce Server. Pour utiliser le service de publipostage comme un produit autonome, vous devez vous servir de son interface de ligne de commande.

Cette section contient les rubriques suivantes :

  • Déroulement des opérations du service de publipostage. Présente le déroulement des opérations d’un travail du service de publipostage.
  • À propos du service de publipostage. Décrit le service de publipostage et présente la configuration logicielle requise, ainsi que les dépendances du service de publipostage. Décrit les composants du service de publipostage et donne une vue d’ensemble succincte des listes des annulations d’abonnements et de leur fonctionnement.
  • Utilisation du Gestionnaire de listes pour créer et gérer des listes de publipostage. Décrit l’utilisation des listes dans le Gestionnaire de listes de Business Desk, ainsi que le mode de création et de traitement des listes du service de publipostage.
  • Fermeture de la boucle à l’aide du service de publipostage. Décrit la manière de collecter les données utilisateur, d’analyser les données, puis d’utiliser le service de publipostage pour cibler les utilisateurs en fonction de votre analyse.
  • Création d’une campagne de publipostage. Décrit les étapes nécessaires à la création d’une campagne de publipostage.
  • Développement d’un contenu de publipostage. Décrit comment élaborer un contenu personnalisé pour des corps de messages de publipostage.
  • Configuration du service de publipostage. Explique comment modifier les propriétés permettant de contrôler le mode d’exécution de vos travaux, ainsi que la chaîne de connexion de la ressource à la base de données du service de publipostage. Explique comment utiliser plusieurs emplacements de remise et comment configurer un serveur SMTP.
  • Redémarrage du service de publipostage. Explique comment redémarrer le service de publipostage.
  • Analyse des travaux de publipostage. Explique comment vérifier l’état des travaux du service de publipostage et comment afficher les erreurs liées aux travaux de publipostage.
  • Suspension, arrêt et suppression d’un travail du service de publipostage. Explique comment arrêter et supprimer un travail du service de publipostage.
  • Redémarrage d’un travail du service de publipostage. Explique comment redémarrer un travail du service de publipostage dont le traitement a été interrompu avant terme.
  • Exécution du service de publipostage en mode autonome. Explique comment exécuter le service de publipostage comme un produit autonome.


Déroulement des opérations du service de publipostage

La figure suivante présente le déroulement des opérations du service de publipostage.

Diagramme du déroulement des opérations du service de publipostage

  1. Une liste de destinataires créée à partir d’une application, par exemple un rapport d’analyse, un fichier texte de valeurs séparées par des virgules (CSV) ou une table SQL Server, est importée dans le Gestionnaire de listes.
  2. Soit un travail de publipostage est exécuté à partir de la ligne de commande, soit une campagne de publipostage est créée dans Commerce Server Business Desk.
  3. Le service Gestionnaire de listes remplit la base de données du service de publipostage à partir de la liste des destinataires, en transférant la chaîne de connexion à la base de données du service de publipostage en tant que paramètre.
  4. Le service de publipostage exécute la commande T-SQL OpenRowset pour sélectionner les données de la base de données Campagnes marketing.
  5. Les données de la liste sont remplies dans la base de données du service de publipostage à partir de la base de données Campagnes marketing.
  6. Le service de publipostage Windows NT reçoit les données de la liste en provenance de la base de données du service de publipostage.
  7. Le service de publipostage envoie le courrier électronique aux destinataires.


À propos du service de publipostage

Le service de publipostage est un service de Windows 2000 qui est installé avec Commerce Server dans le cadre d’une installation complète ou installé en option dans le cadre d’une installation personnalisée. Il ne peut exister qu’une seule instance du service de publipostage par serveur. Cependant, vous pouvez posséder plusieurs ressources Service de publipostage au niveau de la ressource globale.

La structure centralisée du service de publipostage facilite son administration. Le service de publipostage fonctionne au niveau de la ressource globale de Commerce Server. Chaque site pointe vers l’instance de groupe spécifique du service de publipostage à utiliser pour ce site. Ainsi, vous pouvez partitionner et équilibrer la charge des sites utilisant le service de publipostage.

Le service de publipostage fournit une interface de ligne de commande qui permet de créer, d’exécuter, d’analyser et de supprimer des travaux du service de publipostage, mais également d’effectuer des tâches de démarrage et de récupération de travaux. Pour configurer les propriétés du service de publipostage, vous devez utiliser le Gestionnaire Commerce Server.

Le service de publipostage effectue les tâches suivantes :

  • il gère les messages électroniques périodiques sous forme de travaux de publipostage ;
  • il prépare les corps de messages non personnalisés ;
  • il génère des messages personnalisés à partir d’une page ASP (Active Server Page) ;
  • il met en forme les en-têtes de messages électroniques ;
  • il définit la valeur de la page de codes (langue) et convertit les corps de messages selon le type de message approprié (MHTML (MIME Encapsulation of Aggregate HTML Documents), MIME (Multipurpose Internet Mail Extensions) ou texte) ;
  • il traite rapidement des listes volumineuses de destinataires auxquels vous souhaitez envoyer des messages électroniques ;
  • il permet l’ajout de pièces-jointes.

Vous pouvez fournir une liste de destinataires au service de publipostage grâce au module Gestionnaire de listes de Commerce Server Business Desk ou, lors de l’exécution du service de publipostage en mode autonome à partir de la ligne de commande, en spécifiant l’utilisation d’une liste (par un nom de fichier ou une requête SQL Server). Quelle que soit la liste des destinataires, le service de publipostage effectue les mêmes étapes de traitement via les objets du Gestionnaire de listes.

Le service de publipostage peut créer des corps de messages à partir de pages Web ou de fichiers statiques. Il peut également créer des messages à partir d’autres sources, telles que des modèles SQL Server, en ajoutant des composants personnalisés au pipeline du service de publipostage. Le pipeline du service de publipostage exécute certains composants dans le but de filtrer les destinataires potentiels ; en outre, il personnalise le courrier électronique et envoie des messages électroniques personnalisés. Vous pouvez ajouter de nouveaux composants au pipeline, intégrer les composants à des systèmes professionnels de gestion d’activité ou les remplacer par des composants de fournisseurs tiers. Pour plus d’informations sur les composants de pipeline du service de publipostage, consultez About the Direct Mailer Pipeline (en anglais).

Le service de publipostage peut envoyer des messages électroniques personnalisés à partir d’une page Web, ou des publipostages non personnalisés à partir d’un fichier texte sans mise en forme, vers d’importants groupes de destinataires.

Cette section contient les rubriques suivantes :

  • Exigences liées au service de publipostage
  • Bases de données du service de publipostage
  • Listes des annulations d’abonnements
  • Fonctionnalités du service de publipostage


Exigences liées au service de publipostage

Le service de publipostage est soumis aux exigences suivantes :

  • Configuration logicielle requise et dépendances
  • Formats des listes de publipostage
  • Formats des messages
  • Sources des messages

Configuration logicielle requise et dépendances

Le service de publipostage utilise une base de données Microsoft SQL Server 2000. En outre, il nécessite l’Agent SQL Server pour démarrer les publipostages périodiques ; toutefois, il n’est pas indispensable que le service de publipostage soit installé sur l’ordinateur comportant SQL Server ou l’Agent SQL Server.

Pour plus d’informations sur SQL Server, consultez la documentation en ligne de SQL Server.

Microsoft Windows 2000 comprend les composants suivants, dont dépend le service de publipostage :

  • Objets de données ActiveX de Microsoft (ADO, ActiveX Data Objects). ADO permet au service de publipostage d’accéder aux données et de les manipuler dans sa base de données. Pour accéder aux données situées sur un ou plusieurs serveurs SQL Server, il utilise le fournisseur OLE DB pour Microsoft SQL Server.
  • Objets de données de collaboration (CDO, Collaboration Data Objects) pour Microsoft Windows. CDO offre un ensemble d’interfaces COM que le service de publipostage utilise pour fonctionner. Le service de publipostage emploie principalement deux interfaces : IMessage et IConfiguration, qui permettent de composer, de mettre en forme et d’envoyer des messages SMTP (Simple Mail Transfer Protocol) sur le réseau, ainsi que d’effectuer une remise locale.

Formats des listes de publipostage

Le service de publipostage prend en charge les sources de liste de publipostage suivantes :

  • Fichiers texte, par exemple des fichiers de valeurs séparées par des virgules (.csv)
  • Requêtes SQL Server
  • Rapports d’analyse
  • Liste de segments

Une liste de publipostage contient une ou plusieurs lignes de destinataires. Chaque ligne de la liste contient un destinataire unique et se compose des éléments suivants dans un format délimité par des virgules :

Paramètre | Description
Adresse de messagerie | Obligatoire. Nom ou <nom@domaine>.
GUID | Facultatif. Identificateur d’utilisateur unique utilisé pour fournir le contenu d’un message électronique personnalisé.
Format du message | Facultatif. Contrôle le type de format du message dans lequel CDO traduit le résultat. Par exemple, texte, MHTML ou MIME.
Langue | Facultatif. Valeur de la page de codes du message électronique.
URL | Facultatif. Permet de transmettre des adresses URL individuelles au niveau de chaque utilisateur à CDO.

Remarque

  • Vous devez fournir le délimiteur en cas d’omission d’un paramètre facultatif pour permettre le bon agencement des autres paramètres facultatifs.

Formats des messages

Il existe plusieurs méthodes permettant de développer le contenu dans lequel envoyer votre message de publipostage. Le format du message contrôle le type de format dans lequel l’objet de données de collaboration (CDO, Collaboration Data Object) traduit le résultat. Le service de publipostage prend en charge trois types de formats de messages : texte, MIME et MHTML.

  • Texte. Applique un format ASCII au message.
  • MIME (Multipurpose Internet Mail Extensions). Il s’agit d’une norme Internet officielle qui spécifie le format des messages pour permettre leur échange entre des systèmes de messagerie différents. MIME est un format flexible, qui étend le protocole SMTP (Simple Mail Transfer Protocol) pour permettre la transmission de données, telles que des fichiers vidéo, audio et binaires par courrier électronique via Internet, sans devoir les traduire préalablement au format ASCII.
  • MHTML (MIME Encapsulation of Aggregate HTML Documents). Il consiste à envoyer certaines parties ou l’intégralité d’une page Web sous forme de message. Ce dernier peut comporter l’ensemble ou plusieurs parties de la mise en forme HTML, des graphiques et des autres éléments contenus dans la page Web d’origine.
Le MHTML s’ajoute à MIME, pour offrir une communication plus souple en matière de documents HTML. Le message peut inclure d’autres documents liés dans un contenu de type MIME Multipart/Related. Les liens du document HTML vers d’autres parties incluses peuvent être fournis par des adresses URL CID (Content-ID) ou tout autre type d’adresse URL. Le corps lié est identifié dans son titre, soit par Content-ID (lié par des adresses URL CID) soit par Content-Location (lié par n’importe quel autre type d’adresse URL).

Pour empêcher le service de publipostage de mettre en forme les messages électroniques en MHTML, et pour envoyer uniquement le contenu HTML de la page ASP sans modification du message électronique, consultez le composant ComposeDMLMessage du service de publipostage dans l’étape « Composer le message électronique » du fichier DMLPipe.pcf sur <lettre du lecteur>: \Program Files\Microsoft Commerce Server 2002. Le composant ComposeDMLMessage est responsable de la mise en forme du corps du message.

Les figures ci-dessous affichent des messages électroniques dans les trois formats de messages (texte, MIME et MHTML) pour le contenu HTML de la page ASP suivante :

<html>

<body>

<h1>SPRING SALE !!!</h1>

<img src=http://<server name>/SKY.JPG height=100 width=100 />

</body>

</html>

La figure suivante illustre un message envoyé au format texte. Ce format permet d’enlever tous les objets HTML et de n’envoyer que le texte.

Remarque

  • Les captures d’écran suivantes proviennent de Microsoft Outlook Express. Leur aspect peut différer selon les clients de messagerie électronique.
  • Format d'un message texte

    La figure suivante illustre un message envoyé au format MIME. Ce format permet de coder les objets HTML en MIME, de récupérer l’image SKY.jpg à l’emplacement indiqué sur la page ASP et de l’ajouter en tant que pièce jointe. Le message ne contient que du texte.

    Format d'un message MIME

    La figure suivante illustre un message envoyé au format MHTML. Ce format permet de coder les objets HTML sous forme d’images en MHTML et de récupérer l’image SKY.jpg à l’emplacement indiqué sur la page ASP. Il code ensuite l’image en BASE-64 et lui attribue un CID qu’il lie de manière interne à l’attribut SRC de l’image.

    Format d'un message MHTML

Important

  • Les trois formats de messages (texte, MIME et MHTML) disponibles dans Business Desk lorsque vous créez votre campagne de publipostage représentent les valeurs par défaut et ne sont utilisés que si le format de message électronique défini par l’utilisateur est NULL. Si un format de message électronique défini par l’utilisateur a été spécifié lors de la création ou de l’importation de la liste de publipostage, ce format est utilisé lors de l’envoi du publipostage.

Sources des messages

Le service de publipostage peut utiliser une adresse URL ou le chemin d’accès d’un fichier comme source de message. Si vous utilisez un fichier, vous devez vérifier qu’il réside dans un répertoire accessible par le service de publipostage.

Pour des raisons liées aux performances, le service de publipostage précharge le contenu du fichier en mémoire, ce qui permet de limiter la taille du fichier en mémoire. Quelle que soit la taille du fichier, seuls les deux premiers millions de caractères ASCII ou le premier million de caractères Unicode sont chargés en mémoire.


Bases de données du service de publipostage

Le service de publipostage utilise SQL Server 2000 et l’Agent SQL Server de manière intensive. La base de données du service de publipostage est créée automatiquement dans SQL Server lorsque vous installez Commerce Server. L’Agent SQL Server, qui s’exécute en permanence, permet de planifier et d’exécuter les travaux périodiques, ainsi que d’afficher les détails relatifs aux travaux du service de publipostage. Vous pouvez vérifier l’état, la date et l’heure de la dernière exécution des travaux du service de publipostage, ainsi que l’heure de la prochaine exécution planifiée.

Le service de publipostage utilise les bases de données suivantes lorsqu’il est exécuté sous forme de composant intégré à Commerce Server :

  • Base de données du service de publipostage. Elle contient les détails et les informations associées au travail du service de publipostage. Le service de publipostage utilise cette base de données pour gérer les listes de publipostage et l’historique des travaux, ainsi que pour planifier les travaux de publipostage périodiques.
  • Base de données Campagnes marketing. Elle contient les détails et les informations associées à l’élément de la campagne de publipostage.

La figure suivante montre des travaux du service de publipostage et leurs détails répertoriés dans l’Agent SQL Server.

Pour démarrer un travail du service de publipostage dans l’Agent SQL Server

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Microsoft SQL Server 2000, puis cliquez sur Enterprise Manager.
  2. Développez les nœuds jusqu’au chemin suivant : \Serveurs Microsoft SQL Server\Groupe SQL Server\<Nom du serveur SQL Server>\Gestion\Agent SQL Server.
  3. Cliquez sur Travaux. Les travaux de publipostage s’affichent dans le volet droit de SQL Server Enterprise Manager.
  4. Cliquez avec le bouton droit sur le travail du service de publipostage et sélectionnez Démarrer le travail.

Remarque

  • Pour replanifier un travail du service de publipostage, vous devez utiliser le module Gestionnaire de campagnes dans Commerce Server Business Desk. Pour plus d’informations sur la planification d’un travail du service de publipostage, consultez Planification du publipostage.

Voir aussi

Planification du publipostage


Listes des annulations d'abonnements

Envoyer des commentaires sur cette page Commerce Server 2002

Listes des annulations d’abonnements

Le service de publipostage prend en charge l’annulation d’abonnement ou le « filtrage » d’une liste de publipostage par rapport à une liste des annulations d’abonnements. Pour les travaux du service de publipostage s’exécutant dans le cadre d’un élément de la campagne, la plate-forme prend en charge la possibilité pour les destinataires individuels d’annuler l’abonnement d’un élément de la campagne de publipostage. Ceci est possible grâce à l’utilisation d’une page ASP (Active Server Page) d’annulation d’abonnement, qui est fournie dans le cadre des sites solutions.

Le développeur chargé de créer la page ASP pour les travaux du service de publipostage à partir du serveur Web peut fournir des liens vers une page ASP d’annulation d’abonnement, permettant ainsi au destinataire d’annuler son abonnement au site ou à l’élément de la campagne de publipostage en cliquant sur le lien approprié. Lorsqu’un travail du service de publipostage s’exécute dans le cadre d’un élément de la campagne, le service de publipostage recherche la présence de la liste des annulations d’abonnements au niveau du site et de celle au niveau de l’élément de la campagne. Si l’une des listes existe, les destinataires correspondants sont retirés de la liste de publipostage d’origine, laissant ainsi à la liste résultante le rôle de nouvelle liste de publipostage.

Pour prendre en charge les listes des annulations d’abonnements à partir de l’interface de ligne de commande, vous devez utiliser les paramètres OptoutListType, OptoutListLocation et OptoutListSQL dans un fichier de travail compatible avec le format de fichier Windows.ini. Pour plus d’informations sur l’annulation d’abonnement à l’aide de l’interface de ligne de commande, consultez Section Job Data.

Voir aussi

Section Job Data


Fonctionnalités du service de publipostage

Le service de publipostage utilise un moteur ultra-performant de génération de messages électroniques personnalisés. Une simple installation du service de publipostage à deux niveaux (deux Pentium III 550 MHz) comprenant un serveur de publipostage et un serveur Web de personnalisation, permet de générer plus de 40 messages personnalisés par seconde, soit plus de 3,5 millions de messages électroniques personnalisés par jour, sur 24 heures. Des informations complémentaires sur les performances du service de publipostage sont disponibles à l’adresse suivante : http://go.microsoft.com/fwlink/?LinkId=5165.


Utilisation du Gestionnaire de listes pour créer et gérer des listes de publipostage

Le Gestionnaire de listes est un service de Windows 2000, qui vous permet de gérer des listes d’utilisateurs. Le Gestionnaire de listes vous permet de créer et de gérer des listes de destinataires de publipostage. Il existe deux types de listes : les listes génériques et les listes de publipostage. Les listes génériques sont des listes importées dans le Gestionnaire de listes à partir du module Rapports, du module Identification de segments, d’une table SQL Server ou d’un fichier texte ASCII. Le Gestionnaire de listes tente automatiquement de convertir les listes génériques en listes de publipostage, si elles contiennent des lignes d’adresses de messagerie. Le service de publipostage utilise les listes de publipostage pour créer et envoyer des messages à des destinataires sélectionnés dans une liste. Si la liste générique ne contient pas d’adresses de messagerie, elle est importée sous forme d’une liste des utilisateurs, si les critères de format sont remplis. Pour plus d’informations sur les formats des listes de publipostage, consultez Formats des listes de publipostage.

Une fois que les listes sont importées dans le Gestionnaire de listes, vous pouvez les utiliser pour exécuter des travaux du service de publipostage, afin de mieux cibler les utilisateurs. Par exemple, vous pouvez exécuter des rapports qui montrent les caractéristiques et les comportements antérieurs de vos utilisateurs, puis créer une campagne de publipostage pour cibler les publicités ou les produits en fonction de ces utilisateurs.

Vous pouvez également utiliser le Gestionnaire de listes pour exporter des listes vers un fichier ou une base de données SQL Server, les ajouter ou les supprimer, ou les copier.

Créer une liste de destinataires

Traiter une liste de destinataires

Créer une liste de destinataires

Pour créer une liste de destinataires pour une campagne de publipostage, vous devez utiliser le module Gestionnaire de listes dans Campagnes marketing. Les listes sont créées dans le Gestionnaire de listes en important des listes créées dans d’autres applications, telles que Microsoft SQL Server (pour créer une table SQL), le Bloc-notes (pour créer un fichier texte ASCII), Microsoft Excel (pour créer une feuille de calcul) ou Microsoft Outlook (pour créer des fichiers .pst contenant des messages, des rendez-vous, des contacts et d’autres éléments Outlook).

Vous pouvez générer une liste de destinataires à partir de rapports d’analyse, du module Identification de segments, ou à partir d’une base de données externe, puis importer cette liste dans le Gestionnaire de listes. Pour plus d’informations sur l’importation d’une liste dans le Gestionnaire de listes, consultez Importation et exportation de listes.

Traiter une liste de destinataires

Pour traiter une liste de destinataires, le service de publipostage charge d’abord cette liste à partir du Gestionnaire de listes dans une table de travaux. Il effectue ensuite une itération dans la liste des utilisateurs, en envoyant les données relatives aux destinataires via le pipeline du service de publipostage.

Voir aussi

Formats des listes de publipostage


Fermeture de la boucle à l'aide du service de publipostage

Envoyer des commentaires sur cette page Commerce Server 2002

Fermeture de la boucle à l’aide du service de publipostage

Une fois que vous avez collecté les données utilisateur sur votre site Web, vous pouvez analyser votre activité commerciale, puis utiliser les résultats de cette analyse pour affiner votre ciblage des utilisateurs. Par exemple, vous pouvez identifier des groupes d’utilisateurs spécifiques en exécutant un rapport, puis exporter les résultats dans une liste du Gestionnaire de listes. Après l’exportation d’une liste, vous pouvez utiliser le module Utilisateurs du module Profils pour mettre à jour vos profils utilisateur. Vous pouvez ensuite cibler des publicités ou des remises en fonction des utilisateurs qui présentent un certain profil. Par exemple, vous pouvez cibler des publicités pour les femmes qui visitent votre site trois fois par semaine et qui ont acheté au moins trois produits.

L’utilisation de cette fonctionnalité de type « boucle fermée » affecte directement l’activité commerciale de votre site Web. L’exemple de boucle fermée ci-dessous montre comment personnaliser les données de profil utilisateur, puis utiliser le service de publipostage pour proposer une publicité aux utilisateurs qui répondent à vos critères de sélection. Après avoir analysé les résultats, vous poursuivez le cycle.

Voici une vue d’ensemble des étapes à suivre pour fermer la boucle à l’aide du service de publipostage.

  • Étape 1 : Générer une liste des utilisateurs
  • Étape 2 : Collecter des données utilisateur
  • Étape 3 : Nommer les utilisateurs de votre liste
  • Étape 4 : Cibler vos utilisateurs
  • Étape 5 : Analyser les résultats


Étape1: Générer une liste des utilisateurs

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 1 : Générer une liste des utilisateurs

Vous pouvez exporter un rapport d’analyse statique vers le Gestionnaire de listes, par exemple le rapport Propriétés de l’utilisateur inscrit, pour générer une liste des utilisateurs. Une fois cette liste générée, vous pouvez cibler votre publicité en fonction des utilisateurs via le service de publipostage. Pour plus d’informations sur l’exportation de rapports vers le Gestionnaire de listes, consultez Exportation d’un rapport vers le Gestionnaire de listes.

Remarque

  • La liste des utilisateurs que vous générez doit contenir une colonne d’identificateur d’utilisateur (rcp_guid). Pour plus d’informations sur les listes d’utilisateurs, consultez Listes des utilisateurs.


Étape2: Collecter des données utilisateur

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 2 : Collecter des données utilisateur

Vous pouvez étendre votre profil utilisateur à l’aide d’une nouvelle propriété pouvant être ciblée. Un profil est une instance unique d’une définition de profil contenant les données que celle-ci collecte. Par exemple, vous pouvez concevoir une définition de profil pour collecter des données utilisateur telles que Sport favori. La ressource Profils ou le module Utilisateurs de Commerce Server Business Desk permettent d’ajouter de nouvelles propriétés à votre définition de profil. Pour plus d’informations sur l’extension de votre profil utilisateur, consultez Ajout de propriétés aux définitions de profils de la ressource Profils.


Étape3: Nommer les utilisateurs de votre liste

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 3 : Nommer les utilisateurs de votre liste

La fonction Rechercher du module Utilisateurs dans Business Desk permet de rechercher des instances de profil utilisateur dans votre liste de publipostage. Après avoir trouvé les instances de profil dans la liste de publipostage, vous pouvez utiliser une requête de mise à jour pour affecter aux propriétés de profil les valeurs à partir desquelles vous souhaitez cibler votre liste d’utilisateurs. Pour plus d’informations sur la recherche de groupes d’utilisateurs dans une liste de publipostage, consultez Recherche de profils utilisateur dans une liste de publipostage. Pour plus d’informations sur la modification de groupes d’utilisateurs, consultez Modification de plusieurs profils utilisateur.


Étape4: Cibler vos utilisateurs

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 4 : Cibler vos utilisateurs

Vous pouvez créer une campagne de publipostage pour cibler une publicité en fonction de la liste des utilisateurs correspondant à la valeur affectée à votre propriété de profil au cours de l’étape 3. Le service de publipostage utilise la liste des utilisateurs, qui réside dans le Gestionnaire de listes, pour envoyer des messages électroniques aux utilisateurs que vous souhaitez cibler. Pour plus d’informations sur la création d’une campagne de publipostage, consultez Création de publipostage.


Étape5: Analyser les résultats

Envoyer des commentaires sur cette page Commerce Server 2002

Étape 5 : Analyser les résultats

Pour déterminer si votre campagne de publipostage a été réussie, vous devez utiliser les modules Analyse dans Commerce Server Business Desk et exécuter des rapports sur le Data Warehouse, afin d’analyser l’activité des utilisateurs. Pour plus d’informations sur l’exécution d’un rapport, consultez Exécution de rapports.


Création d'une campagne de publipostage

Envoyer des commentaires sur cette page Commerce Server 2002

Création d’une campagne de publipostage

Le module Gestionnaire de campagnes de Business Desk offre une interface qui permet de créer des publipostages. Vous pouvez gérer les travaux du service de publipostage de chaque campagne de publipostage via le module Gestionnaire de campagnes. Vous pouvez créer des campagnes de publipostage, personnaliser des messages et modifier des propriétés. Il est possible d’ajouter des pièces jointes aux publipostages dont l’exécution des travaux peut être planifiée. Vous pouvez également tester votre publipostage à l’aide d’une liste de publipostage de test avant de l’envoyer en production.

Voici une vue d’ensemble des étapes à accomplir pour créer et exécuter une campagne de publipostage :

Remarque

Le service de publipostage doit être en cours d’exécution pour pouvoir exécuter la campagne de publipostage.

  1. Configurez les propriétés du service de publipostage :
    • Pour contrôler le mode d’exécution de vos travaux de publipostage, utilisez le Gestionnaire Commerce Server.
  2. Développez le corps du message à remettre aux destinataires. Par exemple, si vous adressez des corps de messages personnalisés, développez une page ASP (Active Server Page) personnalisée qui fournira le corps du message au service de publipostage.
  3. Identifiez et créez la source de données contenant les données sur les destinataires :
    • Pour générer une liste de destinataires à partir des données du Data Warehouse, utilisez le module Rapports dans Commerce Server Business Desk. Pour afficher les rapports statiques à utiliser, sélectionnez ces rapports, puis exportez la liste résultante vers le Gestionnaire de listes. Pour plus d’informations sur l’importation et l’exportation de listes dans le Gestionnaire de listes, consultez Importation et exportation de listes.
    • Pour générer une liste de destinataires à partir d’un fichier, vous devez disposer du chemin d’accès du fichier.
    • Pour générer une liste de destinataires à partir d’une base de données SQL Server, vous devez disposer de la chaîne de connexion et de la chaîne de requête SQL Server.
  4. Créez et planifiez la campagne de publipostage. Utilisez le module Gestionnaire de campagnes pour spécifier les informations suivantes :
    • Nom de la campagne et du client
    • Nom de la liste de destinataires
    • Heure et date de début de la campagne de publipostage
    • URL (Uniform Resource Locator) ou fichier statique où le service de publipostage doit récupérer le corps de message personnalisé
      Remarque
    • L’adresse URL du corps du message personnalisé doit posséder une extension de type de contenu HTML valide, telle que .htm ou .asp. Les extensions qui ne sont pas valides, telles que .xml, génèrent une erreur d’objets de données de collaboration (CDO, Collaboration Data Objects) et le message n’est pas envoyé.

La campagne de publipostage s’exécute à l’heure planifiée. Pour plus d’informations sur le test de vos listes de publipostage avant leur envoi en production, consultez Test du publipostage.

Voir aussi

À propos des campagnes marketing

Création d’une campagne marketing

Création de publipostage

Gestion des listes des enregistrements utilisateur


Développement d'un contenu de publipostage

Envoyer des commentaires sur cette page Commerce Server 2002

Développement d’un contenu de publipostage

Le service de publipostage peut créer des corps de messages à partir de pages Web ou de fichiers statiques. Vous pouvez également l’utiliser pour créer des messages à partir d’autres sources, telles que des modèles SQL Server, en ajoutant des composants personnalisés au pipeline du service de publipostage. Pour plus d’informations sur l’ajout de composants personnalisés au pipeline du service de publipostage, consultez Using the Direct Mailer Pipeline (en anglais).

Pour des raisons liées aux performances, le service de publipostage précharge le contenu du fichier en mémoire, dans le cas d’un fichier statique. La taille du fichier est limitée à deux millions de caractères ASCII ou à un million de caractères Unicode. Les autres caractères contenus dans le fichier sont ignorés et ne sont pas envoyés dans le message.

La seule manière d’envoyer des messages personnalisés individuellement consiste à utiliser une page Web. Pour délivrer des corps de messages personnalisés, vous devez d’abord développer une page Web personnalisée. Vous envoyez les messages électroniques ciblés via le service de publipostage, en utilisant les informations sur les clients et les pages ASP (Active Server Pages) personnalisées. Le service de publipostage agit comme un navigateur Web en récupérant l’identificateur d’utilisateur du client à partir d’un cookie, en utilisant le service Profils pour obtenir le profil utilisateur, et enfin, en personnalisant la page.

Remarque

  • Si vous spécifiez une pièce jointe constituée de texte lors de l’envoi d’un publipostage au format MHTML (MIME Encapsulation of Aggregate HTML Documents) à partir du service de publipostage, la page Web personnalisée s’affiche sous forme de pièce jointe lorsqu’elle est visualisée dans Microsoft Outlook. Ce problème ne se pose qu’avec Outlook, et pas Microsoft Outlook Express.


Configuration du service de publipostage

Avant d’exécuter le service de publipostage, vous pouvez revoir et modifier les propriétés permettant de contrôler l’exécution des travaux. Les propriétés du service de publipostage fonctionnent au niveau de la ressource globale.

La chaîne de connexion de la ressource Service de publipostage est définie au cours du processus de décompression. Vous pouvez modifier la chaîne de connexion à la base de données du service de publipostage pour la ressource Service de publipostage ; cette base de données stocke des informations telles que les listes de publipostage, les messages et les données des événements de publipostage.

Remarque

  • Ne configurez pas la ressource globale Service de publipostage pour utiliser l’authentification SQL. Pour plus d’informations sur le passage de l’authentification SQL à la sécurité intégrée de Windows, consultez Risque de sécurité : Utilisation de l’authentification SQL pour la ressource globale Service de publipostage.

Pour modifier les propriétés du service de publipostage

Pour modifier la chaîne de connexion de la ressource Service de publipostage

Pour modifier les propriétés du service de publipostage

  1. Développez Gestionnaire Commerce Server, ouvrez le groupe Commerce que vous souhaitez administrer, puis cliquez sur Ressources globales.
  2. Cliquez avec le bouton droit sur Service de publipostage, puis sélectionnez Propriétés.
  3. Sous l’onglet Propriétés de la boîte de dialogue DirectMail on <server name> Properties, effectuez les opérations suivantes :
Utilisez ceci (Propriétés) | Pour faire cela (Valeur de propriété sélectionnée)
Emplacements de remise Taper l’emplacement de remise.

Une entrée au moins doit être spécifiée. Vous pouvez utiliser un répertoire de dépôt ou une adresse de serveur SMTP.

Si vous utilisez un répertoire de dépôt, vos travaux de publipostage sont traités par un serveur Exchange, qui remet les fichiers de manière asynchrone. Dans la mesure où le lien entre le service de publipostage et Exchange est asynchrone, les travaux peuvent être remis plus rapidement.

Si vous utilisez un serveur SMTP, livré avec Windows 2000 Server (ou une autre version de Windows Server), les travaux de publipostage sont remis de manière synchrone.

Remarque

  • Commerce Server 2002 se sert des objets de données de collaboration (CDO), qui offrent un ensemble d’interfaces COM que le service de publipostage utilise pour fonctionner. Le service de publipostage emploie principalement deux interfaces : IMessage et IConfiguration, qui permettent de composer, de mettre en forme et d’envoyer des messages SMTP (Simple Mail Transfer Protocol) sur le réseau, ainsi que d’effectuer une remise locale.

Pour plus d’informations sur la configuration d’un serveur SMTP pour le service de publipostage, consultez Utilisation d’emplacements de remise multiples.
Mode de remise Taper la valeur déterminant le mode de remise du courrier.

1 - Serveur SMTP

2 - Localement dans un répertoire de dépôt
Chemin d’accès au dossier journal | Taper l’emplacement du fichier journal des opérations du service de publipostage.
Pourcentage maximal d’erreurs | Taper le pourcentage maximal d’erreurs non irrécupérables par travail.
Nombre maximal de threads | Taper le nombre maximal de threads par travail.
Messages par heure Taper le nombre de messages par heure pouvant être produits par ce serveur.

Si la valeur définie est zéro (0), le service de publipostage traite les messages aussi rapidement que possible.

Nombre de tentatives Taper le nombre de tentatives de connexion à la base de données du service de publipostage en cas d’échec de la connexion. Cette propriété définit le nombre de tentatives pour des emplacements de remise.

Une fois ce nombre épuisé, le travail actif est interrompu.

Intervalle de mise à jour des performances | Taper l’intervalle de mise à jour des performances en secondes.
Fichier de configuration de pipeline | Taper l’emplacement du fichier de configuration de pipeline, DMLPipe.pcf.
Contournement de proxy | Taper le nom des ordinateurs locaux où une vérification du proxy n’est pas nécessaire, ou une valeur représentant tous les ordinateurs locaux.
Serveur proxy | Taper le nom du serveur proxy à utiliser.
Intervalle avant nouvelle tentative | Taper le délai en secondes avant une nouvelle tentative de connexion à la base de données.

Remarque

  • Les propriétés Chemin d’accès au dossier journal, Messages par heure, Contournement de proxy, Serveur proxy et Chaînes de connexion sont basées sur une instance par service. En d’autres termes, toute modification apportée aux valeurs de ces propriétés nécessite le redémarrage du service de publipostage. Les autres propriétés du service de publipostage sont basées sur une instance par travail et ne nécessitent pas le redémarrage du service de publipostage.

Pour modifier la chaîne de connexion de la ressource Service de publipostage

  1. Développez Gestionnaire Commerce Server, puis Ressources globales, cliquez avec le bouton droit sur Service de publipostage, puis cliquez sur Propriétés.
  2. Sous l’onglet Chaînes de connexion de la boîte de dialogue DirectMail on <server name> Properties, sélectionnez Base de données du service de publipostage, puis cliquez sur Modifier.
  3. Dans la boîte de dialogue Propriétés des liaisons de données, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Sélectionner ou taper un nom de serveur | Sélectionner un nom de serveur dans la liste déroulante, ou taper le chemin du serveur hébergeant la base de données à laquelle vous voulez accéder.
    Utiliser la sécurité intégrée de Windows NT Spécifier que le fournisseur demandera une connexion sécurisée (ou approuvée) à un serveur SQL Server s’exécutant sur Microsoft Windows NT.

    Il s’agit de la configuration recommandée.
    Utiliser un nom d’utilisateur et un mot de passe spécifiques
            Cliquer pour utiliser un nom d’utilisateur et un mot de passe SQL Server fournis pour authentifier vos informations d’ouverture de session de la source de données.

    Ceci n’est pas recommandé.
    Nom d’utilisateur Taper l’identificateur d’utilisateur à utiliser pour l’authentification lorsque vous ouvrez une session de la source de données.

    Ceci n’est pas recommandé.
    Mot de passe Taper le mot de passe à utiliser pour l’authentification lorsque vous ouvrez une session de la source de données.

    Ceci n’est pas recommandé.
    Mot de passe vide | Renvoyer un mot de passe vide dans la chaîne de connexion.
    Autoriser l’enregistrement du mot de passe | Permettre l’enregistrement du mot de passe avec la chaîne de connexion.
    Sélectionner la base de données sur le serveur | Sélectionner le nom de la base de données à laquelle vous voulez accéder.
    Joindre un fichier de base de données comme un nom de base de données | Ne pas utiliser cette option. Commerce Server 2002 ne prend pas en charge Microsoft SQL Server version 6.5 ou antérieure.
  4. Cliquez sur Tester la connexion pour vous assurer que vous avez saisi correctement les informations du serveur et de la base de données, puis cliquez sur OK pour fermer le message de connexion.
  5. Pour fermer la boîte de dialogue Propriétés des liaisons de données, cliquez sur OK.

    Sous l’onglet Chaînes de connexion de la boîte de dialogue Propriétés de Direct Mail on <server name>, la chaîne de connexion s’affiche dans la zone Chaînes de connexion dans cette ressource.

  6. Pour quitter la boîte de dialogue Propriétés de Direct Mail on <server name>, cliquez sur OK.


Risque de sécurité: Utilisation de l'authentification SQL pour la ressource globale Service de publipostage

Envoyer des commentaires sur cette page Commerce Server 2002

Risque de sécurité : Utilisation de l’authentification SQL pour la ressource globale Service de publipostage

Si vous configurez la ressource globale Service de publipostage pour l’utilisation de l’authentification SQL, les mots de passe sont stockés en texte clair lorsque le service de publipostage est appelé.

Par exemple, effectuez les opérations suivantes :

  1. Configurez la ressource globale Service de publipostage pour utiliser l’authentification SQL.
  2. Créez une campagne de publipostage à l’aide de Business Desk.
  3. Dans la section Test de la page de définition de la campagne marketing, cliquez sur Envoyer le message de test. Le service de publipostage est appelé.
  4. Consultez la table de base de données lm_master_operations pour y voir une entrée similaire à la ligne suivante, avec le mot de passe stocké en texte clair.

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 . . .

La chaîne de connexion de la ressource globale Service de publipostage est enregistrée dans la base de données en texte clair.

Utilisation de la sécurité intégrée de Windows pour la ressource globale Service de publipostage

Si vous utilisez la sécurité intégrée de Windows pour la ressource globale Service de publipostage, le mot de passe n’est pas enregistré dans la base de données.

Cependant, lorsque vous passez de l’authentification SQL à la sécurité intégrée de Windows sans effacer le mot de passe, alors qu’il est désactivé dans la boîte de dialogue des propriétés du service de publipostage, ce mot de passe demeure dans la chaîne de connexion et est stocké dans la base de données en texte clair.

Vous devez redémarrer le service de publipostage pour effacer le mot de passe de la base de données. Pour ce faire, utilisez le panneau Services ou tapez net stop dmlservice, net start dmlservice sur la ligne de commande.

L’exécution de la commande IISReset n’efface pas le mot de passe de la base de données.

Pour obtenir des instructions détaillées sur la configuration du service de publipostage afin qu’il utilise la sécurité intégrée de Windows, consultez Configuration du service de publipostage pour qu’il utilise la sécurité intégrée de Windows.


Modification de la vitesse du service de publipostage

Le service de publipostage est conçu pour vous permettre de limiter le nombre de messages qu’il traite par heure, de sorte que le travail ne surcharge pas le serveur de messagerie de production. Pour ce faire, vous devez modifier la propriété Messages par heure, qui détermine le nombre de messages traités en une heure par le service de publipostage. Si la propriété Messages par heure est définie à zéro (0), le service de publipostage traite les messages aussi rapidement que possible.

Pour modifier la vitesse du service de publipostage

  1. Développez Gestionnaire Commerce Server, puis Ressources globales, cliquez avec le bouton droit sur Direct Mail on <SQL Server Name>, puis cliquez sur Propriétés.
  2. Dans la boîte de dialogue Propriétés, sélectionnez Messages par heure, puis dans la zone Valeur de propriété sélectionnée, tapez le nombre de messages par heure que le service de publipostage doit envoyer.

    Si Valeur de propriété sélectionnée est définie à zéro (0), le service de publipostage traite les messages aussi rapidement que possible.

  3. Cliquez sur OK.
  4. Redémarrez le service de publipostage. Pour plus d’informations sur le redémarrage du service de publipostage, consultez Redémarrage du service de publipostage.

Le nouveau paramètre est appliqué immédiatement à tous les travaux du service de publipostage.

Outre la propriété Messages par heure, d’autres facteurs déterminent la vitesse à laquelle le service de publipostage traite les messages. Par exemple :

  • Les performances du service de publipostage dépendent des objets de données de collaboration (CDO, Collaboration Data Objects) pour Microsoft Windows 2000.
  • Le service de publipostage calcule la valeur du délai nécessaire pour chaque cycle de pipeline, en fonction des paramètres globaux de performance et d’accélération.
  • Les performances du service de publipostage sont étroitement liées aux performances du serveur SMTP (Simple Mail Transfer Protocol) et aux exigences en matière d’accélération.


Utilisation d'emplacements de remise multiples

Envoyer des commentaires sur cette page Commerce Server 2002

Utilisation d’emplacements de remise multiples

Le service de publipostage utilise la même liste d’emplacements de remise pour tous les travaux en cours d’exécution, même lorsqu’il est configuré pour utiliser plusieurs emplacements de remise, tels que les répertoires de dépôt ou les serveurs SMTP (Simple Mail Transfer Protocol). Le service de publipostage lit la liste des emplacements de remise à partir de la base de données d’administration ; en outre, il est administré à l’aide du Gestionnaire Commerce Server.

Si la propriété Mode de remise est définie à (2), le service de publipostage traite chaque entrée de la liste comme un chemin qualifié complet vers le répertoire de collecte du serveur SMTP. Si la propriété Mode de remise est définie à (1), le service de publipostage requiert l’utilisation du format suivant pour chaque entrée de la liste :

<SMTP server address>[: port]

La spécification du port est facultative, mais si aucune indication n’est présente, le service de publipostage utilise le port 25.

Lorsqu’un travail du service de publipostage démarre, le premier destinataire de la liste de publipostage utilise le premier emplacement de remise. Le destinataire d’après utilise l’emplacement de remise suivant. Le processus de remise se répète jusqu’à ce qu’il n’y ait plus de nouveaux emplacements de remise. Dans ce cas, les emplacements de remise sont recyclés vers le premier emplacement de remise.

Si une erreur survient lors du publipostage, le service de publipostage n’effectue pas de nouvelle tentative sur un nouvel emplacement et n’effectue pas non plus de vérification du délai d’expiration ou de la disponibilité. Par conséquent, un destinataire donné ne peut utiliser que l’emplacement de remise qui lui est attribué. Le service de publipostage effectue également le suivi des défaillances d’une base de données du service de publipostage en clusters ou des erreurs de point de dépôt (serveur SMTP ou répertoire de dépôt). Pour plus d’informations sur la disponibilité du service de publipostage ou sur les défaillances d’une base de données du service de publipostage en clusters, consultez Service de publipostage.

Pour utiliser plusieurs emplacements de remise

Pour configurer un serveur SMTP pour le service de publipostage

Pour utiliser plusieurs emplacements de remise

  1. Développez Gestionnaire Commerce Server, puis Ressources globales, cliquez avec le bouton droit sur Service de publipostage, puis cliquez sur Propriétés.
  2. Dans la boîte de dialogue Propriétés, sélectionnez Emplacements de remise, puis dans la zone Valeur de propriété sélectionnée, tapez le chemin complet vers le répertoire de dépôt ou le serveur SMTP. Les chemins UNC (Uniform Naming Convention, convention d’affectation des noms) ne sont pas pris en charge.
Dans le cas de plusieurs emplacements de remise, séparez chaque emplacement par une virgule ou un point-virgule. La virgule et le point-virgule sont les seuls délimiteurs pris en charge et utilisés pour séparer différents chemins.
  1. Sélectionnez Mode de remise, puis dans la zone Valeur de propriété sélectionnée, tapez 2 pour remettre les publipostages dans un répertoire de dépôt, ou 1 pour les remettre sur un serveur SMTP.
  2. Cliquez sur OK.

Le nouveau paramètre est appliqué immédiatement à tous les travaux du service de publipostage.

Pour configurer un serveur SMTP pour le service de publipostage

Les procédures suivantes expliquent comment configurer un serveur SMTP en tant que serveur de relais pour le reste du système.

Pour configurer le serveur SMTP en tant que serveur de relais local

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Outils d’administration, puis cliquez sur Gestionnaire des services Internet.
  2. Dans la boîte de dialogue Services IIS, développez le nom du serveur, cliquez avec le bouton droit sur Serveur virtuel SMTP par défaut, puis cliquez sur Propriétés.
  3. Dans la boîte de dialogue Serveur virtuel SMTP par défaut, cliquez sur Relais dans l’onglet Accès.
  4. Dans la boîte de dialogue Restrictions de relais, cliquez sur Ajouter.
  5. Dans la boîte de dialogue Ordinateur, cliquez sur Groupe d’ordinateurs, puis dans la zone Adresse de sous-réseau, tapez l’adresse correspondant au sous-réseau du serveur SMTP. Dans la zone Masque de sous-réseau, tapez l’adresse correspondant au masque de sous-réseau du serveur SMTP, puis cliquez sur OK.
  6. Dans la boîte de dialogue Restrictions de relais, cliquez sur OK.
  7. Dans la boîte de dialogue Serveur virtuel SMTP par défaut, cliquez sur OK.

Le serveur SMTP est configuré pour être utilisé par le service de publipostage.

Remarque

  • Pour plus d’informations sur les pare-feu et les ports d’un serveur SMTP, consultez Déploiement d’un site sécurisé.


Redémarrage du service de publipostage

Vous pouvez redémarrer le service de publipostage à partir de l’interface de ligne de commande ou via les outils d’administration.

Pour redémarrer le service de publipostage à partir de l’interface de ligne de commande

Pour redémarrer le service de publipostage à l’aide de Services

Pour redémarrer le service de publipostage à partir de l’interface de ligne de commande

  1. Au niveau de la ligne de commande, tapez : net stop dmlservice
  2. Lorsque le service est arrêté, tapez : net start dmlservice

Pour redémarrer le service de publipostage à l’aide de Services

  1. À partir du menu Démarrer, ouvrez Services. Cliquez sur Démarrer, pointez sur Programmes, sur Outils d’administration, puis cliquez sur Services.
  2. Dans l’écran Services, dans le volet droit, cliquez avec le bouton droit sur Service de publipostage Commerce Server, puis sélectionnez Redémarrer.

Voir aussi

Modification de la vitesse du service de publipostage

Utilisation d’emplacements de remise multiples


Analyse des travaux de publipostage

Vous pouvez vérifier l’état des travaux du service de publipostage pour déterminer si un travail est en cours d’exécution, s’il a été suspendu ou arrêté, ou s’il s’est correctement exécuté. Vous pouvez afficher l’état des travaux du service de publipostage à l’aide de l’interface de ligne de commande. Vous pouvez également vérifier la présence ou non d’erreurs lors de l’exécution de vos travaux de publipostage.

Pour afficher l’état des travaux de publipostage à l’aide de l’interface de ligne de commande

Pour afficher les erreurs liées aux travaux de publipostage

Pour afficher l’état des travaux de publipostage à l’aide de l’interface de ligne de commande

  • Au niveau de la ligne de commande, tapez DmlRun /list pour afficher tous les travaux du service de publipostage.

La liste des travaux du service de publipostage s’affiche.

Les informations suivantes s’affichent pour chaque travail du service de publipostage :

  • Identificateur du travail
  • État du travail
  • Description du travail
  • Nom du site
  • Identificateur d’élément de campagne
  • Nom de l’élément de la campagne

Remarque

  • Les informations de nom du site, d’identificateur d’élément de campagne et de nom de l’élément de la campagne sont affichées uniquement si ces éléments sont présents pour le travail du service de publipostage.

Le tableau suivant répertorie les codes d’état du travail.

Code | Description
0 | Le travail a été créé, mais pas initialisé.
1 | Le travail a été entièrement défini mais n’est pas en cours d’exécution (inactif) ou le travail a été arrêté.
2 | Le travail est terminé.
3 | Le travail est en cours d’exécution (actif).
4 | Le travail est en cours d’exécution, mais il est actuellement suspendu (toujours actif cependant).
-2 | Le travail a été arrêté par le service de publipostage en raison de sérieux problèmes ou parce que le seuil limite d’erreurs a été atteint.
-3 | Le travail a été défini en tant que css_site, mais toutes les données n’étaient pas disponibles lors de l’exécution.

Pour afficher les erreurs liées aux travaux de publipostage

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Microsoft SQL Server, puis cliquez sur Enterprise Manager.
  2. Dans SQL Server Enterprise Manager, développez Microsoft SQL Servers, SQL Server Group, puis le nom du serveur de base de données contenant la base de données du service de publipostage.
  3. Développez Service de publipostage, sélectionnez Tables, cliquez avec le bouton droit sur dml_job_errors, pointez sur Ouvrir une table, puis sélectionnez Renvoyer toutes les lignes.

Les erreurs liées aux travaux de publipostage sont répertoriées dans la table.


Suspension, arrêt et suppression d'un travail du service de publipostage

Envoyer des commentaires sur cette page Commerce Server 2002

Suspension, arrêt et suppression d’un travail du service de publipostage

Vous pouvez suspendre un travail du service de publipostage à tout moment. Si vous suspendez un travail du service de publipostage, le service de publipostage arrête le traitement de la liste de destinataires, mais vous pouvez redémarrer celui-ci ultérieurement. Le travail demeure à l’état Suspendu (4) jusqu’à son redémarrage. Le service de publipostage enregistre le prochain destinataire à traiter ; ainsi, en cas de suspension du travail, celui-ci redémarrera à l’endroit où il s’est arrêté. En cas de défaillance du disque dur ou d’une panne de courant, le travail reprend approximativement à l’endroit où il a été interrompu, une fois qu’il a redémarré. En d’autres termes, il démarre à la position n de l’interruption, où n = nombre de threads configurées dans le service de publipostage. Pour plus d’informations sur le redémarrage d’un travail du service de publipostage, consultez Redémarrage d’un travail du service de publipostage.

Vous pouvez arrêter (mettre fin à) un travail du service de publipostage durant son exécution. Une fois qu’un travail du service de publipostage est arrêté, son état passe à Inactif (1). Après avoir redémarré, le travail reprend automatiquement à l’endroit où il s’est arrêté.

Si SQL Server n’est plus disponible, le service de publipostage renouvelle les tentatives de connexion à la base de données jusqu’à ce qu’il y parvienne ou jusqu’à ce que le nombre de tentatives configuré soit atteint. Si le nombre de tentatives est dépassé ou si la connexion à la base de données est réussie, l’état demeure En cours d’exécution (3), car il ne peut être mis à jour dans SQL Server. Lorsque SQL Server est de nouveau disponible, vous pouvez redémarrer le travail ou le service de publipostage. Pour plus d’informations sur le redémarrage du service de publipostage, consultez Redémarrage du service de publipostage.

Vous pouvez supprimer un travail du service de publipostage si celui-ci a été arrêté, a terminé son exécution ou a échoué. Vous ne pouvez pas supprimer un travail du service de publipostage qui est en cours d’exécution. Si vous supprimez un travail du service de publipostage, toutes les informations relatives à ce travail sont supprimées du service de publipostage. Vous devez recréer le travail si vous souhaitez l’exécuter de nouveau.

Pour suspendre un travail du service de publipostage à partir de l’interface de ligne de commande

Pour arrêter un travail du service de publipostage à partir de l’interface de ligne de commande

Pour supprimer un travail du service de publipostage à partir de l’interface de ligne de commande

Remarque

  • La suspension, l’arrêt et la suppression d’un travail du service de publipostage ne peuvent être effectués qu’à l’aide de l’interface de ligne de commande. Vous ne pouvez pas utiliser le module Gestionnaire de campagnes de Business Desk pour suspendre, arrêter ou supprimer un travail du service de publipostage.

Pour suspendre un travail du service de publipostage à partir de l’interface de ligne de commande

  1. Au niveau de la ligne de commande, tapez DmlRun /list pour afficher une liste de tous les travaux du service de publipostage.
  2. Notez le numéro d’identificateur du travail du service de publipostage que vous souhaitez suspendre, puis tapez :

    DmlRun /pause:<jobID number>

    Le travail du service de publipostage est suspendu.

Pour arrêter un travail du service de publipostage à partir de l’interface de ligne de commande

  1. Au niveau de la ligne de commande, tapez DmlRun /list pour afficher une liste de tous les travaux du service de publipostage.
  2. Notez le numéro d’identificateur du travail du service de publipostage que vous souhaitez arrêter, puis tapez :

    DmlRun /term:<jobID number>

    Le travail du service de publipostage est arrêté.

Pour supprimer un travail du service de publipostage à partir de l’interface de ligne de commande

  1. Au niveau de la ligne de commande, tapez DmlRun /list pour afficher une liste de tous les travaux du service de publipostage.
  2. Notez le numéro d’identificateur du travail du service de publipostage que vous souhaitez supprimer, puis tapez :

    DmlRun /delete:<jobID number>

Le travail du service de publipostage est supprimé.

Voir aussi

Suppression et restauration d’une campagne marketing

Gestion et contrôle des travaux du service de publipostage à partir de la ligne de commande

Redémarrage d’un travail du service de publipostage

Affichage de l’état des travaux du service de publipostage


Redémarrage d'un travail du service de publipostage

Envoyer des commentaires sur cette page Commerce Server 2002

Redémarrage d’un travail du service de publipostage

Si un travail du service de publipostage s’arrête avant la fin de son traitement, le service de publipostage met à jour l’état du travail, indiquant que celui-ci s’est arrêté et qu’il ne s’est pas terminé correctement. La commande DmlRun /list de l’interface de ligne de commande vous permet d’afficher le travail du service de publipostage. Utilisez l’option /wait pour renvoyer automatiquement l’état du travail sur la console. Pour plus d’informations sur l’affichage de l’état des travaux du service de publipostage, consultez Analyse des travaux de publipostage.

Si un ordinateur exécutant le service de publipostage s’arrête (par exemple en raison d’une panne de disque dur), tous les travaux du service de publipostage en cours d’exécution sur cet ordinateur s’arrêtent. Si un travail du service de publipostage s’arrête avant la fin de son traitement, vous devez redémarrer manuellement le travail qui a été arrêté. Après avoir redémarré, le travail reprend approximativement à l’endroit où il s’est arrêté. En d’autres termes, il démarre à la position n de l’interruption, où n = nombre de threads configurées dans le service de publipostage.

Pour redémarrer un travail du service de publipostage

  1. Au niveau de la ligne de commande, tapez DmlRun /list pour afficher une liste de tous les travaux du service de publipostage.
  2. Notez le numéro d’identificateur du travail du service de publipostage que vous souhaitez redémarrer, puis tapez :

    DmlRun /run:<jobID number>

Le travail du service de publipostage est redémarré.

Voir aussi

Gestion et contrôle des travaux du service de publipostage à partir de la ligne de commande


Exécution du service de publipostage en mode autonome

Le mode autonome du service de publipostage en fait un composant de plate-forme pouvant être facilement intégré à des systèmes professionnels de gestion d’activité. Par exemple, les annonceurs préfèrent que les rapports d’analyse de Commerce Server leur soient envoyés par message électronique. Cette méthode ne tient pas compte des communications entre l’application et le service de publipostage. Par exemple, le service de publipostage peut envoyer par message électronique un fichier contenant un rapport Insertion de publicité à une liste d’annonceurs. Dans ce cas, les informations relatives au travail proviennent des paramètres de la ligne de commande et d’un fichier de configuration.

Pour exécuter le service de publipostage à partir de l’interface de ligne de commande, vous devez utiliser le fichier exécutable, DmlRun, avec des options de ligne de commande. Vous pouvez utiliser ces options pour effectuer plusieurs tâches, telles que la création, l’exécution, l’analyse et la suppression de travaux du service de publipostage.

Remarque

  • Pour planifier des campagnes de publipostage, vous devez utiliser manuellement le module Gestionnaire de campagnes dans Business Desk ou le Planificateur de tâches de Windows. Le Planificateur de tâches de Windows peut exécuter un fichier de commandes qui utilise l’interface de ligne de commande.

Voici une vue d’ensemble des étapes nécessaires à la mise en place et à l’exécution du service de publipostage en mode autonome :

  1. Développez le contenu à remettre aux destinataires. Si nécessaire, développez la page Web ou le fichier statique destiné à fournir le corps de message personnalisé.
  2. Identifiez la source de données correspondant à la liste de destinataires.
  3. Créez un fichier de travail du service de publipostage.
  4. Créez un travail du service de publipostage en utilisant l’option /create à partir de l’interface de ligne de commande.
  5. Exécutez le travail autonome à partir de la ligne de commande.


Création d'un fichier de travail du service de publipostage

Envoyer des commentaires sur cette page Commerce Server 2002

Création d’un fichier de travail du service de publipostage

Avant de créer un travail du service de publipostage autonome, vous devez créer un fichier de travail du service de publipostage qui spécifie les informations relatives au travail, par exemple, la remise ou non de corps de messages personnalisés, le format des en-têtes de message électronique et l’emplacement de la liste de destinataires.

Vous pouvez créer un fichier de travail à l’aide de n’importe quel éditeur de texte. Le fichier de travail doit être un fichier texte compatible avec le format de fichier .ini de Microsoft Windows.

Ajoutez les sections suivantes à votre fichier de travail :

  • Section Job Data. Spécifiez les paramètres clés relatifs au travail, tels que la source de données du contenu, la liste de destinataires, le type de format du message, l’objet et la liste des annulations d’abonnements.
  • Section Job Attachments. Cette section est facultative. Spécifiez le nombre et la source des pièces jointes.

Une fois que le service de publipostage s’est exécuté, il écrit une section Results dans le fichier de travail. Les paramètres de la section Results sont JobID, ErrorCode et ErrorString. Si un travail est réussi, JobID et ErrorCode=0 sont écrits. Si un travail échoue, JobID, le numéro correspondant à ErrorCode ainsi que ErrorString sont écrits.

Section Job Data

Le tableau suivant répertorie les paramètres qui peuvent être définis pour les données de travail du fichier de travail.

Paramètre | Type | Description
JobDesc | chaîne (128 max.) | Facultatif. Permet de taper une description du travail.
TemplateURL | chaîne (2084 max.) | Facultatif. Permet de spécifier la source du modèle de message au format d’une URL (Uniform Resource Locator), soit http://, soit file://. Si vous utilisez un fichier sans mise en forme comme modèle, tapez un nom complet de chemin local vers un serveur. Les noms de chemins UNC (Uniform Naming Convention, convention d’affectation des noms) sont pris en charge.
MailFrom | chaîne (256 max.) | Obligatoire. Permet de spécifier le champ De du message électronique.
MailSubject | chaîne (256 max.) | Facultatif. Permet de spécifier le champ Objet du message électronique.
MailReplyTo | chaîne (256 max.) | Facultatif. Permet de spécifier l’adresse de messagerie choisie pour recevoir les réponses.
DefaultFmt entier Facultatif. Permet de spécifier le format de message par défaut du contenu à envoyer.

1 - Texte brut
2 - MIME (Multipurpose Internet Mail Extensions)
3 - MHTML (MIME Encapsulation of Aggregate HTML Documents)
JobLocale | chaîne (255 max.) | Facultatif. Permet de spécifier les paramètres régionaux par défaut du travail.
MailPersonalize entier Facultatif. Permet de spécifier la remise ou non d’un contenu personnalisé.

1 – Vous remettez un contenu personnalisé.

0 – Vous ne remettez pas de contenu personnalisé.

Remarques

  • Les valeurs qui ne sont pas des entiers (en d’autres termes, les valeurs de caractères) produisent le même résultat que l’entrée de « MailPersonalize=0 ».
  • Les entiers différents de zéro produisent le même résultat que l’entrée de « MailPersonalize=1 ».
MailingListType entier Obligatoire. Permet de spécifier le type de liste de publipostage.

1 - Fichier sans mise en forme
2 - Liste du Gestionnaire de listes
3 - Requête SQL Server
MailingListLocation chaîne (256 max.) Obligatoire. Permet de spécifier l’emplacement de la liste de publipostage.

Pour les fichiers sans mise en forme, spécifiez le nom complet de chemin local vers un serveur. N’incluez pas de préfixes de schéma, tels que file://.

Pour les requêtes SQL Server, spécifiez la chaîne de connexion.

Pour les listes du Gestionnaire de listes, spécifiez le numéro d’identification de liste.

Les noms de chemins UNC sont pris en charge.
MailingListSQL | chaîne (256 max.) | Permet de spécifier l’instruction SQL à partir de laquelle envoyer le message électronique. Une valeur est requise si MailingListType = 3 ; dans le cas contraire, elle est ignorée.
OptoutListType entier Facultatif. Permet de spécifier le type de liste des annulations d’abonnements.

1 - Fichier sans mise en forme
2 - Liste du Gestionnaire de listes
3 - Requête SQL Server
OptoutListLocation chaîne (256 max.) Facultatif. Obligatoire uniquement si le paramètre OptoutListType est utilisé. Permet de spécifier l’emplacement de la liste des annulations d’abonnements.

Pour les fichiers sans mise en forme, spécifiez le nom complet de chemin local vers un serveur. N’incluez pas de préfixes de schéma, tels que file://.

Pour les requêtes SQL Server, spécifiez la chaîne de connexion.

Pour les listes du Gestionnaire de listes, spécifiez le numéro d’identification de liste.

Les noms de chemins UNC sont pris en charge.
OptoutListSQL | chaîne (256 max.) | Permet de spécifier l’instruction SQL à partir de laquelle l’abonnement doit être annulé. Une valeur est requise si OptoutListType = 3 ; dans le cas contraire, elle est ignorée.
UserFlags | entier | Facultatif. Permet de spécifier les indicateurs utilisateur associés au travail.

Section Job Attachments

Le tableau suivant répertorie les paramètres que vous pouvez définir pour les pièces jointes de travail. Cette section du fichier de travail est facultative.

Paramètre | Type | Description
AttachmentCount | entier | Permet de spécifier le nombre de pièces jointes (supérieur à 0).
Attachment_<n> | chaîne (2084 max.) | Permet de spécifier l’adresse URL ou le chemin d’accès système de la pièce jointe pour <n> pièces jointes, où n est un nombre compris entre 1 et le nombre indiqué pour AttachmentCount. Vérifiez que l’adresse URL inclut un préfixe de schéma, tel que http:// ou file://. Pour les pièces jointes constituant des fichiers, ajoutez le nom complet de chemin local vers un serveur. Les noms de chemins UNC sont pris en charge.

Section Results

Une fois que le service de publipostage s’est exécuté, il écrit une section Results dans le fichier de travail. Le tableau suivant répertorie les paramètres écrits par le service de publipostage dans la section Results.

Paramètres | Type | Description
ErrorCode | HRESULT | 0 - L’opération (création, démarrage, suppression, etc.) s’est exécutée correctement. En cas d’échec de l’opération, un code d’erreur est écrit.
ErrorString | chaîne (256 max.) | Si ErrorCode indique que le travail ne s’est pas terminé correctement, ce paramètre comporte un texte de description de l’erreur. Dans le cas contraire, ce champ n’est pas renseigné.
JobID | GUID | Ce paramètre spécifie le nouvel identificateur du travail pouvant être utilisé pour démarrer, arrêter ou traiter ce travail.

Voir aussi

Listes des annulations d’abonnements


Création et exécution d'un travail du service de publipostage

Envoyer des commentaires sur cette page Commerce Server 2002

Création et exécution d’un travail du service de publipostage

Après avoir créé un fichier de travail, vous pouvez créer un travail du service de publipostage autonome. Pour créer ce travail, vous devez utiliser l’option /create à partir de l’interface de ligne de commande.

Pour créer un travail du service de publipostage autonome

  1. Au niveau de la ligne de commande, tapez :

    DmlRun /create:filename=<job file name>

    Tapez un nom de chemin complet pour le fichier de travail. Le service de publipostage recherche le fichier de travail dans le répertoire en cours, si aucun répertoire n’est spécifié.

    Si les paramètres du fichier de données de travail sont incorrects, le service de publipostage écrit un code d’erreur et une description de l’erreur dans la section Results du fichier de travail.

    Le travail du service de publipostage est créé.

  2. Pour obtenir l’identificateur du travail, tapez :

    DmlRun /list

  3. Pour exécuter le travail, tapez :

    DmlRun /run:<jobID number>

    Le travail du service de publipostage est démarré.

  4. Pour créer et démarrer un travail, tapez :

    DmlRun /create:filename=<job file name> /execute

    Le travail du service de publipostage est créé et démarré.

Voir aussi

Création d’un fichier de travail du service de publipostage

Gestion et contrôle des travaux du service de publipostage à partir de la ligne de commande


Gestion et contrôle des travaux du service de publipostage à partir de la ligne de commande

Vous pouvez gérer un travail du service de publipostage à partir de l’interface de ligne de commande, en utilisant l’application DmlRun de la console Win32. Le service de publipostage comprend un ensemble d’options de ligne de commande que vous pouvez utiliser avec DmlRun. Ces options vous permettent de créer, d’exécuter, d’analyser et de supprimer des travaux du service de publipostage.

Par exemple, pour répertorier tous les travaux du service de publipostage et consulter les identificateurs des travaux, tapez DmlRun /list. Pour arrêter un travail spécifique en cours de traitement par le service de publipostage, par exemple, le travail 1456, tapez DmlRun /term:1456.

Le tableau suivant répertorie les options utilisables avec DmlRun.

Option | Description
/run:<identificateur du travail> | Démarre un travail, ou le poursuit s’il a été suspendu.
/term:<identificateur du travail> | Arrête un travail en cours d’exécution.
/pause:<identificateur du travail> | Suspend le travail mais ne l’arrête pas définitivement ; toutes les ressources demeurent allouées. Utilisez cette option pour équilibrer la charge du serveur SMTP (Simple Mail Transfer Protocol).
/create:<paramètres> | Crée un nouveau travail du service de publipostage en fonction des données de votre fichier de travail. Une fois le travail créé, utilisez l’option /run pour l’exécuter.
/delete:<identificateur du travail> | Supprime un travail du service de publipostage.
/list | Répertorie tous les travaux du service de publipostage.
/list:[css_site=xxxx;] [filename=yyy;] Énumère tous les travaux d’un site Commerce Server donné (s’il est spécifié) ou de tous les sites (en cas d’omission du mot clé css_site). Si le nom de fichier (« filename ») est indiqué, le résultat est envoyé vers le fichier spécifié. Si aucun répertoire n’est spécifié, le nom de fichier est créé dans le répertoire WINNT.

Pour voir un exemple de format de fichier de liste des travaux, consultez Utilisation de l’option /list.
/del_old:age | Supprime les travaux terminés dont la durée est supérieure à « age » en jours.
/wait Facultatif. Vous pouvez utiliser cette option avec les options /run, /term, /create et /execute. Associé à l’option /run, DmlRun attend la fin du travail avant de renvoyer l’état du travail à la console. Vous pouvez également associer l’option /wait aux options /create /execute pour obtenir le même résultat.

Lorsque vous utilisez les options /term/wait, DmlRun attend la fin effective du travail.

Remarques

  • L’option /wait doit être associée à une autre option, car elle ne peut pas être utilisée toute seule.
  • L’utilisation des options /wait /term renvoie une instruction d’erreur telle que la suivante : « Erreur : Le travail {7f2c6324-6b72-402d-853d-8b1c654ae842} s’est terminé avec le code d’état 1. »
/execute Facultatif. Lorsque vous utilisez les options /create/execute, DmlRun crée et exécute le travail.

Vous devez toujours ajouter l’option /create sur une ligne où est utilisée l’option /execute.

/server:<ordinateur> | Facultatif. Vous pouvez utiliser cette option avec toutes les autres options. Elle oblige DmlRun à gérer le travail à distance sur le serveur spécifié.
/? ou /help ou /h | Fournit de l’aide sur les options de ligne de commande et leur utilisation. Vous ne pouvez pas utiliser cette option avec les autres options.

Les options suivantes ne peuvent pas apparaître en même temps sur la même ligne de commande :

  • /create
  • /delete
  • /del_old
  • /list
  • /pause
  • /run
  • /term

Utilisation de l’option /list

Le fichier de liste des travaux peut être produit à l’aide de la commande DmlRun /list:<nom_fichier>. Il s’agit d’un fichier texte dans un format compatible .ini. Chaque travail occupe sa propre section, « Job # » où « # » est un nombre séquentiel (compris entre 1 et le nombre total de travaux). Voici un exemple extrait du fichier :

[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]

Voir aussi

Création d’un fichier de travail du service de publipostage

Création et exécution d’un travail du service de publipostage

Affichage de l’état des travaux du service de publipostage


Exécution de la ressource Profils

La ressource Profils de Commerce Server vous permet de gérer la collecte de données utilisateur sur votre site Web. Par exemple, vous pouvez créer des définitions de profils qui contrôlent les données utilisateur collectées sur votre site Web. Vous pouvez spécifier les données qui sont collectées à l’aide d’une définition de profil et définir les données qui sont exportées vers le Data Warehouse de Commerce Server.

Vous pouvez créer des sources de données qui déterminent l’emplacement de stockage des données collectées. Vous pouvez créer des entrées du glossaire du site de manière à proposer aux utilisateurs un ensemble limité d’options parmi lesquelles ils pourront faire leur choix lorsqu’ils répondront à des questions portant sur la collecte de données sur votre site, par exemple une liste de couleurs dans laquelle ils pourront choisir leur couleur préférée.

Cette section contient les rubriques suivantes :

  • Déroulement des opérations pour la ressource Profils. Présente la marche à suivre pour gérer les profils.
  • À propos de la ressource Profils. Décrit les fonctionnalités et le fonctionnement de la ressource Profils.
  • Restrictions par nom et taille des profils. Répertorie les restrictions qui s’appliquent au nom et à la taille des profils.
  • Méthodes conseillées pour les profils. Fournit des informations importantes sur la création et la gestion des profils.
  • Configuration de la chaîne de connexion de la ressource Profils. Explique comment modifier la chaîne de connexion pour la ressource Profils.
  • Gestion des sources de données dans la ressource Profils. Explique comment créer, modifier, ajouter et supprimer des sources de données, des objets de données et des membres de données.
  • Gestion des définitions de profils dans la ressource Profils. Explique comment créer, modifier, valider, incorporer, copier, ajouter et supprimer des définitions de profils.
  • Gestion des propriétés de profil dans la ressource Profils. Explique comment modifier, organiser et supprimer des propriétés de profil et des attributs personnalisés de propriétés.
  • Gestion des propriétés de profil cryptées. Explique comment ajouter et gérer des propriétés de profil cryptées. Cette rubrique décrit également les clés publiques/privées, le hachage à sens unique et d’autres fonctions de sécurité importantes.
  • Gestion des entrées du glossaire du site dans la ressource Profils. Explique comment créer, modifier et supprimer des entrées du glossaire du site et des valeurs d’entrées du glossaire du site.
  • Exportation et importation de schéma de profil . Explique comment exporter et importer un schéma de profil en utilisant un fichier XML afin de faciliter le déplacement de schéma de profil d’un environnement de test vers un serveur de production.
  • Gestion des comptes préexistants dans des banques Active Directory. Explique comment configurer le conteneur de recherche et la zone de recherche des sources de données Active Directory.


Déroulement des opérations pour la ressource Profils

La figure suivante présente la marche à suivre pour créer des sources de données et des définitions de profils.

Déroulement des opérations pour la ressource Profils

  1. Vous créez une source de données pour exposer des bases de données Commerce Server et des sources LDAP (Lightweight Directory Access Protocol) à la ressource Profils.
  2. Vous ajoutez un objet de données pour exposer une table de base de données (ou une classe LDAP) à la ressource Profils.
  3. Vous ajoutez des membres de données pour exposer des colonnes d’une table de base de données (ou attributs d’une classe LDAP) à la ressource Profils.
  4. Vous ajoutez une définition de profil qui utilise l’objet de données pour effectuer le mappage vers la base de données.
  5. Vous ajoutez une nouvelle propriété à la définition de profil et l’associez à un membre de données.
  6. Vous ajoutez une entrée du glossaire du site à une définition de profil.


À propos de la ressource Profils

La ressource Profils permet de collecter, de suivre et de stocker des données provenant des utilisateurs et concernant ceux-ci en créant des sources de données, des définitions de profils et des entrées du glossaire du site. Les définitions de profils vous permettent de collecter des données utilisateur et commerciales à partir de votre site Web Microsoft Commerce Server 2002. Vous utilisez les sources de données sous forme de lien avec le serveur de données sous-jacent (source LDAP ou DB3). Vous créez des entrées du glossaire du site de manière à proposer aux utilisateurs un ensemble limité d’options parmi lesquelles ils pourront faire leur choix lorsqu’ils entreront des préférences personnelles ou d’autres informations sur votre site Web.

Vous utilisez la ressource Profils pour :

  • créer des sources de données, des objets de données et des membres de données ;
  • créer et valider des définitions de profils ;
  • exporter et importer un schéma de profil.

Vous pouvez utiliser à la fois la ressource Profils et les modules Profils Business Desk pour :

  • créer, modifier et supprimer des entrées du glossaire du site ;
  • modifier et supprimer des définitions de profils ;
  • créer, modifier et supprimer des profils.

Cette section contient les rubriques suivantes :

  • Sources de données de profil
  • Partitions de sources de données
  • Agrégation des données de profil
  • Exemples de sources de données de profil
  • Cohérence du cache du profil
  • Propriétés de profil cryptées


Sources de données de profil

Les sources de données permettent d’exposer votre banque de données à la ressource Profils et ainsi de pouvoir stocker les données collectées sur votre site Web, avec les définitions de profils, dans la banque de données. Commerce Server 2002 prend en charge les bases de données OLE DB et les sources LDAP (Lightweight Directory Access Protocol).

Les sources de données contiennent les composants suivants :

  • Objets de données. Exposent une table d’une base de données OLE DB ou une classe d’une source LDAP à une définition de profil. Le processus de création d’un objet de données ne crée pas une nouvelle table dans votre base de données, ni une nouvelle classe dans votre source LDAP, il rend visible la table ou la classe LDAP par la ressource Profils. Avant de créer un objet de données pour exposer une table ou une classe, cette dernière doit exister.
  • Membres de données. Exposent une colonne d’une table de base de données OLE DB ou un attribut d’une classe de source LDAP à une propriété de profil. Par exemple, une définition de profil est utilisée pour collecter des données auprès des utilisateurs lorsqu’ils s’inscrivent sur votre site Web. Les informations utilisateur (telles que le prénom, le nom et l’adresse de messagerie) sont collectées par les propriétés de profil. Chaque propriété est associée à un membre de données qui mappe (ou dirige) les informations collectées vers la colonne de base de données ou l’attribut LDAP qui les stockeront.

    Le processus de création d’un membre de données ne crée pas une nouvelle colonne dans votre table de base de données, ni un nouvel attribut dans la classe de votre source LDAP, il rend visible la colonne ou l’attribut LDAP par la ressource Profils. Avant de créer un membre de données pour exposer une colonne ou un attribut, cette colonne ou cet attribut doit exister.

La figure suivante montre comment le stockage des données, les sources de données et les définitions de profils s’imbriquent dans la ressource Profils.

Connexions entre le stockage de données, les sources de données et une définition de profil

Vous pouvez partitionner des sources de données de façon à stocker les données mappées vers une source de données unique dans plusieurs banques de données. Vous pouvez également regrouper les banques de données en mappant les propriétés d’une définition de profil vers plusieurs sources de données.

Voir aussi

Partitions de sources de données

Agrégation des données de profil

Exemples de sources de données de profil

Définitions de profils

Création d’une source de données dans la ressource Profils

Gestion des sources de données dans la ressource Profils


Partitions de sources de données

La ressource Profils permet de créer des sources de données partitionnées. Commerce Server 2002 prend en charge le partitionnement de sources de données afin de s’adapter à un trafic pouvant être supérieur à 25 millions d’utilisateurs SQL Server et 10 millions d’utilisateurs Active Directory.

Le partitionnement permet d’ajuster et de gérer de façon efficace les charges de transactions de bases de données associées à un grand nombre d’utilisateurs. Chaque partition d’une source de données peut se connecter à une base de données ou à une source LDAP (Lightweight Directory Access Protocol).

Toutes les partitions d’une source de données unique doivent se connecter au même type de support de stockage de données (base de données OLE DB ou source LDAP) et toutes les banques de données mappées vers des partitions d’une source de données unique doivent avoir le même schéma.

Avec une source de données partitionnée, les bases de données individuelles offrent de meilleures performances et des temps de réponses plus réduits que si toutes les données collectées avec une définition de profil étaient stockées dans une seule base de données.

Cette section contient les rubriques suivantes :

  • Utilisation de partitions pour mapper des sources de données vers plusieurs bases de données
  • Attributs personnalisés pour les partitions des sources de données de profil
  • Attributs personnalisés des propriétés de profil


Utilisation de partitions pour mapper des sources de données vers plusieurs bases de données

Les partitions de sources de données de profil permettent de mapper des données de profil vers des banques de données.

Lorsque vous utilisez des partitions pour mapper une source de données vers plusieurs bases de données OLE DB ou sources LDAP, les supports de stockage de données (bases de données OLE DB ou sources LDAP) d’une source de données unique doivent avoir des schémas identiques. Par exemple, si vous créez une source de données partitionnée pouvant être mappée vers trois bases de données, les définitions des tables des trois bases de données doivent être identiques. les sources de données Commerce Server prennent en charge jusqu’à 128 partitions ;

Lorsque vous ajoutez des partitions à une source de données, vous devez prévoir le nombre et le type des partitions. La ressource Profils ne prend pas en charge le repartitionnement et n’assure pas un partitionnement dynamique. Pour modifier le nombre de partitions d’une source de données, vous devez créer une autre source de données.

Attention

  • Une source de données comptant plusieurs partitions mappées vers Microsoft Active Directory désactivera le module Organisations dans Commerce Server Business Desk. Cela se produit lorsque vous partitionnez la source de données pour le profil de l’organisation. La partition dans laquelle le fournisseur a créé l’organisation n’est pas connue. Par conséquent, vous ne pouvez pas créer les groupes par défaut (par exemple, les administrateurs) dans l’organisation.

Les partitions de sources de données utilisent des clés de hachage pour connecter les données mappées entre plusieurs partitions. Pour mapper les propriétés d’une définition de profil vers une source de données partitionnée, il faut désigner une propriété de la définition de profil en tant que clé de hachage.

Voir aussi

Utilisation de clés de hachage pour stocker des données de définitions de profils dans plusieurs bases de données


Attributs personnalisés pour les partitions des sources de données de profil

Vous pouvez ajouter des attributs personnalisés à une partition de source de données. Les attributs personnalisés sont spécifiques aux applications.

Les attributs communs à toutes les définitions de profils ou à toutes les banques de données sont généralement stockés dans la table ClassDef ou SourceDef. Cependant, des attributs spécifiques peuvent s’appliquer uniquement à des objets de source de données sélectionnés.

Par exemple, vous pouvez créer un attribut personnalisé pour gérer l’ordre de tri des sources de données ou des partitions d’une source de données, ou pour vous aider à maintenir la cohérence avec d’autres objets tels que des définitions de membres ou des définitions de sources.

Les attributs personnalisés des sources de données sont disponibles seulement dans la ressource Profils ; vous ne pouvez pas y accéder via les modules Profils Business Desk.


Attributs personnalisés des propriétés de profil

Le tableau suivant répertorie les attributs personnalisés des propriétés de profil et explique comment les utiliser.

Attribut personnalisé | Description | Valeurs
DWMemberName | Spécifie le nom du membre de données (en l’occurrence, une colonne de table) dans le Data Warehouse où la propriété de profil sera stockée. Si le nom de membre (colonne) n’existe pas dans la classe (table) spécifiée du Data Warehouse, la tâche DTS Importation des données du profil le créera. | Le nom de la colonne dans le Data Warehouse.
IsTransactioned | Spécifie le support des transactions d’écriture entre plusieurs banques de données transactionnelles. | True = Activé False = Désactivé
sAnonymousAccess | Spécifie l’accès d’utilisateur anonyme à la page Service clientèle dans le site Web. | 0 = Masquer aux utilisateurs anonymes 1 = Lecture seule 2 = Modifiable
sDelegatedAdminAccess | Spécifie l’accès de l’administrateur délégué à la propriété dans la page Service clientèle du site Web. | 0 = Masquer aux administrateurs 1 = Lecture seule 2 = Modifiable
sDisplayColumn | Spécifie les données de profil qui sont affichées et utilisées pour identifier les profils sur l’écran Rechercher du module Éditeur de profils pour une définition de profil générique donnée. Lorsqu’un profil contient une seule propriété pour laquelle l’attribut personnalisé sDisplayColumn est défini, la colonne d’affichage du profil est, par défaut, triée par ordre croissant sur cette propriété. | Cette value détermine la largeur de colonne relative de la propriété. Cet attribut respecte la casse et ne peut pas être défini en tant que clé de jointure ou clé composée.
sFeatureID | Spécifie les scénarios de site pour lesquels la propriété est affichée dans le Service clientèle et dans le Service Partenaire du site Web. | 0 = Afficher toujours 1 = Afficher uniquement lorsque le site prend en charge les options de l’administrateur délégué 3 = Afficher uniquement lorsque le site utilise Active Directory
sFriendlyName | Spécifie les données de profil qui sont affichées et utilisées pour identifier le profil en cours de modification dans la barre de titre de l’écran Modifier le profil du module Éditeur de profils. | Cet attribut respecte la casse et ne peut pas être défini en tant que clé de jointure ou clé composée. La valeur de l’attribut sFriendlyName n’est pas utilisée.
sSearchOptions | Spécifie qu’une propriété particulière est disponible pour l’utilisateur dans les options de recherche du site. | None = La propriété n’est disponible pour aucune opération de recherche All = La propriété est disponible pour les opérations de recherche simple et avancée Advanced = La propriété est disponible pour les opérations de recherche avancée uniquement
sShownInList | Spécifie qu’une propriété particulière est visible dans la liste. | 0 = La propriété n’est pas visible dans la liste 1 = La propriété est visible dans la liste
sSiteAdminAccess | Spécifie l’accès de l’administrateur du site à la propriété dans la page Service clientèle du site Web. | 0 = Masquer à l’administrateur du site 1 = Lecture seule 2 = Modifiable
sUserAccess | Spécifie l’accès de l’utilisateur inscrit à la propriété de la page Service clientèle dans le site Web. | 0 = Masquer aux utilisateurs inscrits 1 = Lecture seule 2 = Modifiable
Password | Spécifie que le mot de passe est de type propriété. Si la valeur de cet attribut personnalisé est égale à 1, des fonctions spéciales de l’interface utilisateur peuvent être implémentées pour garantir la sécurité du mot de passe. Par exemple, vous pouvez afficher des astérisques dans la fenêtre du navigateur à la place des caractères réels, et utiliser plusieurs champs pour vérifier les opérations de modification du mot de passe. | 0 = Propriété de type ordinaire 1 = Propriété de type mot de passe
EncryptionType | Spécifie que la propriété est cryptée. Utilisez cet attribut pour indiquer les propriétés qui doivent être cryptées dans la banque. Observez également qu’il s’agit d’une valeur de propriété personnalisée réservée. Lorsque vous marquez une propriété comme étant cryptée, elle est créée automatiquement pour vous, puis elle est masquée dans la table dynamique des attributs personnalisés. | 1 = Cryptage à l’aide d’une clé publique/privée 2 = Cryptage à l’aide d’une clé de hachage à sens unique


Agrégation des données de profil

Vous pouvez regrouper des banques de données en mappant les propriétés d’une définition de profil vers plusieurs sources de données. Cette approche profite aux développeurs de site utilisant l’objet de profil et permet d’éviter de manipuler directement les sources de données sous-jacentes. De plus, le site peut exposer des données provenant de systèmes par secteur d’activité (LOB, line-of-business), en laissant les données là où elles se trouvent (ce qui évite toute migration ou synchronisation des données).

La ressource Profils peut regrouper les données provenant de diverses sources de données. Par exemple, elle gère les sources de données LDAPv3 et les bases de données relationnelles avec un fournisseur OLEDB/ODBC (OLEBD/Open Database Connectivity) prenant en charge un sous-ensemble simple ANSI SQL. Elle peut également prendre en charge des banques de données non persistantes comme Internet Locator Service (ILS).

L’architecture de la couche d’agrégation des données du fournisseur permet aussi la prise en charge de banques par secteur d’activité avec une prise en charge minimale pour LDAPv3 ou d’un fournisseur OLEDB/ODBC avec une prise en charge minimale pour ANSI-SQL. Pour plus d’informations sur la couche d’agrégation des données, consultez Aggregation Across Multiple Data Sources (en anglais).

Pour regrouper des données de profil, vous devez créer un objet de données de profil vers lequel vous pouvez mapper une propriété de profil. Lorsque vous utilisez plusieurs sources de données dans une définition de profil, il est nécessaire de créer une clé de jointure qui effectue le mappage vers les deux sources. Une propriété clé unique doit être marquée comme clé de jointure lors de l’agrégation de données de profil. Pour marquer une propriété de clé unique en tant que clé de jointure, vous devez attribuer la valeur True à l’attribut IsJoinKey de la propriété. Une propriété de clé de jointure est stockée dans toutes les banques de données et utilisée par la couche d’agrégation des banques de données en vue d’optimiser les opérations entre les banques de données.

Remarques

  • Si vous utilisez un domaine Active Directory existant et que vous vouliez regrouper un profil SQL, vous devez modifier la définition de profil afin de définir l’agrégation, puis pré-remplir la table UserObject avec les éléments suivants :
    • Clé de jointure Active Directory = cn
    • Clé de jointure SQL = Logon_name
  • Lorsque vous regroupez des données dans une base de données Active Directory et une base de données SQL Server, vous devez utiliser le Gestionnaire Commerce Server ou Commerce Server Business Desk pour supprimer des utilisateurs existants, le cas échéant.

Voir aussi

Vues SQL pour l’agrégation des banques de données

Création d’une définition de profil avec deux sources de données


Vues SQL pour l'agrégation des banques de données

Envoyer des commentaires sur cette page Commerce Server 2002

Vues SQL pour l’agrégation des banques de données

Outre l’affichage des tables SQL Server pour l’agrégation des banques de données, le Gestionnaire Commerce Server intègre des vues SQL dans le cadre de l’identification de sources de données. Les vues SQL sont destinées à la prise en charge de tables dotées de clé primaire composite (clé primaire constituée de plusieurs colonnes).

Les vues SQL regroupent des données provenant de plusieurs tables puis affichent une vue représentant une table unique sur laquelle vous pouvez définir un profil.

Pour la définition de profils à l’aide de vues, la marche à suivre est identique à celle de la configuration de profils à l’aide de tables SQL Server.

L’implémentation de vues qui définissent des profils passe par la prise en charge de « déclencheurs Instead ». Les « déclencheurs Instead » permettent de convertir des opérations de requête de type Profile Service et ADO (ActiveX Data Objects) en actions nécessaires sur les tables regroupées par la vue.

Pour plus d’informations sur la configuration des vues et la définition des déclencheurs, consultez la documentation en ligne de SQL Server.

Voir aussi

Agrégation des données de profil


Exemples de sources de données de profil

Lorsque vous décompressez un site solution, Commerce Server ajoute un exemple de source de données, appelé ProfileService_SQLSource, à la ressource Profils. La source de données ProfileService_SQLSource contient les exemples d’objets de données Adresse, BlanketPOs (bon de commande), Organisation et Objet utilisateur. Cette section contient des informations sur les objets suivants :

  • Exemple d’objet de données Adresse
  • Exemple d’objet de données BlanketPOs
  • Exemple d’objet de données Organisation
  • Exemple d’objet de données Objet utilisateur


Exemple d'objet de données Adresse

Envoyer des commentaires sur cette page Commerce Server 2002

Exemple d’objet de données Adresse

Le tableau suivant répertorie les membres de données disponibles dans l’objet de données Adresse.

Nom | Type de données
g_address_id | String.
g_id | String.
i_address_type | Number ;
u_address_name | String.
u_first_name | String.
u_last_name | String.
u_description | String.
u_address_line1 | String.
u_address_line2 | String.
u_city | String.
u_region_code | String.
u_region_name | String.
u_postal_code | String.
u_country_code | String.
u_country_name | String.
u_tel_number | String.
u_tel_extension | String.
i_locale | Number ;
u_user_id_changed by | String.
d_date_last_changed | DateTime ;
d_date_created | DateTime ;


Exemple d'objet de données BlanketPOs

Envoyer des commentaires sur cette page Commerce Server 2002

Exemple d’objet de données BlanketPOs

Le tableau suivant répertorie les membres de données disponibles dans l’objet de données BlanketPOs.

Nom | Type de données
g_org_id | String.
g_po_id | String.
u_po_number | String.
u_description | String.
g_user_id_changed_by | String.
d_date_last_changed | DateTime ;
d_date_created | DateTime ;


Exemple d'objet de données Organisation

Envoyer des commentaires sur cette page Commerce Server 2002

Exemple d’objet de données Organisation

Le tableau suivant répertorie les membres de données disponibles dans l’objet de données Organisation.

Nom | Type de données
g_org_id | String.
u_name | String.
u_trading_partner_number | String.
g_user_id_admin_contact | String.
g_user_id_receiver | String.
u_org_catalog_set | String.
g_user_id_changed_by | String.
g_user_purchasing_manager | String.
d_date_last_changed | DateTime ;
d_date_created | DateTime ;


Exemple d'objet de données Objet utilisateur

Envoyer des commentaires sur cette page Commerce Server 2002

Exemple d’objet de données Objet utilisateur

Le tableau suivant répertorie les membres de données disponibles dans l’objet de données Objet utilisateur.

Nom | Type de données
g_user_id | String.
g_org_id | String.
u_user_title | String.
i_user_type | Number ;
u_first_name | String.
u_last_name | String.
u_email_address | String.
u_tel_number | String.
u_tel_extension | String.
u_fax_number | String.
u_fax_extension | String.
u_logon_name | String.
u_user_security_password | String.
g_user_id_changed_by | String.
i_account_status | Number ;
u_user_catalog_set | String.
d_date_registered | DateTime ;
u_campaign_history | String.
i_partner_desk_role | Number ;
d_date_last_changed | DateTime ;
d_date_created | DateTime ;
u_pref1 | String.
u_pref2 | String.
u_pref3 | String.
u_pref4 | String.
u_pref5 | String.

Remarque

  • Les membres de données u_pref sont fournis afin que vous puissiez ajouter des propriétés à la définition de profil Objet utilisateur sans étendre votre base de données. Vous pouvez personnaliser ces membres de données.

La source de données ProfileService_SQLSource est mappée vers les exemples de définitions de profils qui sont ajoutés par défaut à la ressource Profils et à Commerce Server Business Desk.

Voir aussi

Définitions de profils

Exemples de définitions de profils

Création d’une source de données dans la ressource Profils

Ajout d’un nouvel objet de données dans la ressource Profils

Ajout d’un nouveau membre de données dans la ressource Profils

Gestion des sources de données dans la ressource Profils

Profiles Schema (en anglais)


Cohérence du cache du profil

Le site solution Retail utilise un cachet de date pour identifier un profil mis à jour lorsqu’un utilisateur passe à un autre serveur Web contenant des informations dans son cache. Le serveur Web vérifie le cachet de date par rapport au profil du cache ; si le cachet de date est postérieur (le cache est donc ancien), la page effectue un aller-retour explicite à la base de données.

Dans un scénario de batterie de serveurs Web, chaque serveur fournit un cache de profil local. La valeur du profil de l’utilisateur (profil UserObject) dans un cache particulier peut devenir obsolète si le profil a été modifié sur un serveur différent. Pour permettre au serveur de déterminer si le profil utilisateur a été modifié, un dernier cachet de date mis à jour est défini à la fois dans le profil utilisateur (dans la banque Profils) et dans un cookie destiné à l’utilisateur, lorsque le profil est créé et mis à jour (UpdateUserProfile).

Lorsque l’utilisateur visite un serveur de la batterie de serveurs Web, le cachet de date du profil contenu dans le cache local est comparé à celui du cookie (GetCurrentUserProfile). En cas d’inégalité, le profil est extrait de la banque Profils (via la méthode GetInfo de l’interface IAD), en contournant le cache local. Si les cookies ne sont pas activés, le cache est toujours contourné car il n’existe aucun moyen fiable de conserver une trace de la dernière heure de mise à jour à cause des problèmes rencontrés lors de l’utilisation du bouton Précédent et l’actualisation de la page.

L’opération de recherche de profils Adresse contourne toujours le cache car ces profils font l’objet d’un accès peu fréquent et il existe potentiellement un très grand nombre de profils à suivre. Les recherches de profils Organisation évitent le cache le cas échéant, si les données du profil n’ont probablement pas besoin d’être modifiées.

Même avec la solution du cachet de date, des problèmes potentiels de cohérence du cache se posent avec les profils. Par exemple, si un profil utilisateur, qui se trouve en cache, est déplacé de Business Desk ou du Service Partenaire vers un autre ordinateur par un utilisateur différent, les sites ne sauront pas que le cache est obsolète. Pour y remédier les sites solutions appellent la méthode GetInfo dès la connexion.

Si ce niveau de précision n’est pas acceptable, les sites solutions incluent la variable m_iGlobalProfileLookUpOption, déclarée dans le fichier include\setupenv.asp, qui force lorsqu’elle est activée un appel de méthode GetInfo à extraire le profil de la banque Profils.

Les sites solutions Commerce Server sont disponibles à l’adresse http://go.microsoft.com/fwlink/?linkid=6491 (en anglais).


Propriétés de profil cryptées

Commerce Server prend en charge deux types de cryptage : le cryptage asymétrique et le hachage à sens unique. Commerce Server 2002 ne prend pas en charge le cryptage symétrique.

Important

  • Commerce Server ne comporte pas de système de gestion de clés. Vous devez concevoir et créer un système de gestion de clés pouvant générer, stocker et extraire des clés publiques et privées à utiliser dans le cryptage.

Cryptage asymétrique

Le cryptage asymétrique s’applique aux données qui doivent être décryptées ensuite. Ce mécanisme de cryptage utilise une paire de clés pour le cryptage : la clé publique pour crypter les données, et une clé secrète correspondante, la clé privée, pour les décrypter.

Pour utiliser le cryptage asymétrique, vous devez normalement exécuter les étapes suivantes :

  • Utiliser Business Desk pour ajouter des propriétés de profil pouvant être cryptées.
  • Générer des clés publiques et privées.
  • Modifier le code d’application pour :
    • fournir les jetons utilisés dans le processus de cryptage au Profile Service et au fournisseur OLE DB de Commerce Server,
    • crypter les propriétés,
    • décrypter les propriétés.
  • Migrer les données vers une nouvelle paire de clés publique/privée.

Hachage à sens unique

Le hachage à sens unique est utilisé pour masquer les données ou pour crypter les données qu’il n’est pas nécessaire de décrypter. Le mot de passe utilisateur est un exemple de données pouvant être soumis au hachage à sens unique. Commerce Server 2002 utilise un « salt » avec les données utilisateur pour les hacher. Le salt est un nombre aléatoire 32 bits qui est préfixé aux données utilisateur avant l’exécution du hachage.

Voir aussi

Ajout de propriétés cryptées au Profile Service

Génération d’une nouvelle clé de cryptage de cookie


Restrictions par nom et taille des profils

Cette rubrique répertorie les restrictions par nom et taille qui s’appliquent à la ressource Profils.

Profils

Objet de profil Restriction concernant le nom et la taille
Nom
  • Peut compter jusqu’à 127 caractères. Les noms de plus de 57 caractères ne sont pas exportés vers le Data Warehouse.
  • Il doit s’agir de caractères alphanumériques.
  • Peut contenir le trait de soulignement (_).
  • Ne peut pas contenir d’espace.
  • Ne peut pas utiliser « User » comme nom d’objet ; c’est un mot réservé dans SQL.
Nom complet
  • Peut comporter jusqu’à 127 caractères.
  • Il doit s’agir de caractères Unicode.
Description
  • Peut comporter jusqu’à 127 caractères.
  • Il doit s’agir de caractères Unicode.

Remarques

  • Le nombre total des caractères du nom de la source de données, du nom de l’objet de données et du nom du profil doit être inférieur à 110 caractères.
  • Vous pouvez modifier le nom complet d’une source de données, d’un objet de données, d’un membre de données ou d’une définition de profil.
Vous ne pouvez pas modifier le nom de programmation d’une source de données, d’un objet de données, d’un membre de données ou d’une définition de profil.

Entrées du glossaire du site et groupes d’entrées

Objet entrée du glossaire du site Restriction concernant le nom et la taille
Nom
  • Peut comporter jusqu’à 127 caractères.
  • Il doit s’agir de caractères alphanumériques.
  • Peut contenir le symbole de trait de soulignement (_).
  • Ne peut pas contenir d’espace.
Nom complet
  • Peut comporter jusqu’à 127 caractères.
  • Il doit s’agir de caractères Unicode.
Description
  • Peut comporter jusqu’à 127 caractères.
  • Il doit s’agir de caractères Unicode.

Entrées (valeurs)

Objet entrée du glossaire Restriction concernant le nom et la taille
Nom de l’entrée du glossaire
  • Peut comporter jusqu’à 127 caractères.
  • Doit utiliser des caractères alphanumériques.
  • Peut contenir le symbole de trait de soulignement (_).
  • Ne peut pas contenir d’espace et de signe de ponctuation ; il ne peut pas non plus utiliser le format de jeu de caractères codés sur deux octets.
Nom complet
  • Peut comporter jusqu’à 127 caractères.
  • Il doit s’agir de caractères Unicode.


Méthodes conseillées pour les profils

Cette rubrique répertorie les méthodes conseillées pour la création et la gestion de profils dans la ressource Profils de Commerce Server.

  • Utilisez les autorisations minimales suivantes pour la chaîne de connexion Profile service_ADsource vers Active Directory :
    • utilisateur de domaine dans le domaine ;
    • créer, supprimer, lire et réinitialiser le mot de passe selon l’unité d’organisation de l’URL de base.

    Si vous n’utilisez pas un compte qui a l’autorisation de créer l’unité d’organisation de l’URL de base, vous devez alors créer manuellement l’unité d’organisation de l’URL de base avant de décompresser le site.

    Si vous remplacez la chaîne de connexion de la ressource globale ADsource par celle d’un utilisateur ordinaire doté d’autorisations déléguées (contrôle total) pour le conteneur SupplierAD, les utilisateurs peuvent être créés via Business Desk mais pas les organisations. Le NTSecurityDescriptor n’est pas renvoyé (il est indispensable pour la création d’organisations), à moins que l’utilisateur ne soit un administrateur ou un membre de l’administrateur de domaine, ou que la stratégie de sécurité appliquée ne porte sur la gestion de l’audit et du journal de sécurité.

  • Pour stocker un profil dans Active Directory, le profil doit inclure les propriétés cn et SAMAccountname pour le profil utilisateur standard.

    Ces propriétés minimales sont requises pour répondre aux exigences d’Active Directory. D’autres propriétés peuvent être nécessaires, selon le type de définition de profil.

  • Publiez les modifications apportées aux profils de votre site Web durant les heures creuses.

    Si vous publiez les modifications apportées aux profils sur votre site Web pendant une période de forte activité, vous risquez de bloquer le site.

  • Pour afficher toutes les entrées du glossaire du site utilisées par votre site, exécutez le script SiteTerms.vbs, disponible dans le Kit de Ressources Techniques Commerce Server 2000.

    Commerce Server 2002 fournit l’API de la Méthode BusinessDataAdmin2::GetSiteTerms pour extraire des entrées du glossaire du site du catalogue de profils.


Configuration de la chaîne de connexion de la ressource Profils

Vous pouvez utiliser le Gestionnaire Commerce Server pour modifier la chaîne de connexion de la ressource Profils. La chaîne de connexion de la ressource Profils, qui est définie au cours du processus de décompression, est stockée dans la base d’administration.

Remarque

  • Toutes les chaînes de connexion de la ressource Profils sont mises à jour dès qu’une chaîne est modifiée.

Pour modifier la chaîne de connexion de la ressource Profils

  1. Développez Gestionnaire Commerce Server, puis Ressources globales, cliquez avec le bouton droit sur Profiles (<nom serveur_nom base de données>), puis cliquez sur Propriétés.
  2. Dans la boîte de dialogue Propriétés de Profiles (<nom serveur_nom base de données>), sous l’onglet Chaînes de connexion, sélectionnez la chaîne de connexion à modifier, puis cliquez sur Modifier.
  3. Dans la boîte de dialogue Propriétés des liaisons de données, sous l’onglet Connexion, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Sélectionner ou taper un nom de serveur | Sélectionner un nom de serveur dans la liste déroulante, ou taper l’emplacement du serveur qui héberge la base de données à laquelle vous voulez accéder.
    Actualiser | Actualiser la liste des serveurs.
    Utiliser la sécurité intégrée de Windows NT Spécifier que le fournisseur demandera une connexion sécurisée (ou approuvée) à un serveur SQL Server fonctionnant sous Microsoft Windows NT.

    C’est la configuration recommandée pour un site sécurisé.
    Utiliser un nom utilisateur et un mot de passe spécifiques Spécifier un nom d’utilisateur et un mot de passe pour authentifier vos informations d’ouverture de session de la source de données.

    Cette option n’est pas recommandée pour un site sécurisé.
    Nom d’utilisateur Taper l’identificateur d’utilisateur à utiliser pour l’authentification lorsque vous ouvrez une session de la source de données.

    Cette option n’est pas recommandée.
    Mot de passe Taper le mot de passe à utiliser pour l’authentification lorsque vous ouvrez une session de la source de données.

    Cette option n’est pas recommandée pour un site sécurisé.
    Mot de passe vide | Activer le fournisseur spécifié afin de renvoyer un mot de passe vide dans la chaîne de connexion.
    Autoriser l’enregistrement du mot de passe Permettre l’enregistrement du mot de passe avec la chaîne de connexion. L’inclusion du mot de passe dans la chaîne de connexion dépend de la fonctionnalité de l’application appelante. S’il est enregistré, le mot de passe est renvoyé et est enregistré non masqué et non crypté.

    Cette option n’est pas recommandée pour un site sécurisé.
    Sélectionner la base de données sur le serveur | Taper le nom de la base de données vers laquelle vous mappez la source de données, ou sélectionner ce nom dans la liste déroulante.
    Joindre un fichier de base de données comme un nom de base de données | Ne pas utiliser cette option. Commerce Server ne prend pas en charge SQL Server version 6.5 ou antérieure.
    Utiliser le nom de fichier | Ne pas utiliser cette option. Commerce Server ne prend pas en charge SQL Server version 6.5 ou antérieure.
    Tester la connexion | Vous connecter à la source de données spécifiée. Si la connexion échoue, vérifiez que les paramètres sont corrects. Les fautes d’orthographe et le non-respect de la casse peuvent faire échouer des connexions.
  4. Pour revenir à la boîte de dialogue Propriétés de Profils (<nom serveur_nom base de données>), cliquez sur OK.
  5. Pour enregistrer les modifications et revenir à la page de l’écran Propriétés, cliquez sur OK.

Les modifications apportées à la chaîne de connexion sont appliquées à la ressource Profils.

Voir aussi

À propos de la ressource Profils

Risque de sécurité : utilisation de l’authentification SQL pour la ressource Profils


Risque de sécurité: utilisation de l'authentification SQL pour la ressource Profils

Envoyer des commentaires sur cette page Commerce Server 2002

Risque de sécurité : utilisation de l’authentification SQL pour la ressource Profils

Lorsque vous utilisez la ressource Profils dans le Gestionnaire Commerce Server pour vous connecter à une définition de profil stockée sur un ordinateur distant, l’ordinateur distant renvoie le contenu du champ ConnStr de la table SourceDef en texte clair. Ces contenus correspondent aux chaînes de connexion aux sources de données où les données de profil sont stockées. Il s’agit d’une vulnérabilité de sécurité. Toute personne surveillant le trafic réseau serait en mesure d’accéder à ces chaînes de connexion et d’obtenir des données de profil confidentielles.

Pour sécuriser les chaînes de connexion à la base de données des profils, vous avez deux options :

  • Configurer la ressource Profils pour utiliser la sécurité intégrée de Windows. Il s’agit de la configuration recommandée.
  • Si vous devez utiliser l’authentification SQL, déployez le cryptage sur les canaux nommés : utilisez l’authentification IPSec et activez le cryptage SSL (Secure Sockets Layer) ainsi que le cryptage client multiprotocole. Pour connaître les instructions à suivre, consultez la documentation en ligne de SQL Server.


Gestion des sources de données dans la ressource Profils

La ressource Profils permet de modifier les sources de données que vous avez créées. Par exemple, vous apportez des modifications dans la banque de données vers laquelle vos propriétés de profil sont mappées lorsque vous avez besoin de modifier ou de supprimer des objets de données ou des membres de données obsolètes. Ou encore, vous utilisez la ressource Profils lorsque vous créez une source de données et souhaitez supprimer l’ancienne. Vous pouvez modifier et supprimer des sources de données, des objets de données et des membres de données.

La modification des sources de données se heurte néanmoins aux restrictions suivantes :

  • Vous ne pouvez ajouter des partitions qu’à une source de données qui n’a jamais été partitionnée. Vous devez ajouter des partitions à une source avant de l’utiliser pur stocker des données. Si vous partitionnez une source contenant des données, les données existantes seront perdues.
  • Vous ne pouvez pas supprimer des partitions de source de données, mais vous pouvez les modifier. Vous devez être très prudent lors de la modification des partitions d’une source de données contenant des données, car vos modifications peuvent conduire à la perte de données ou à leur altération.
  • Une source de données supprimée ne peut pas être récupérée. Tous les objets de données et tous les membres de données associés à la source de données sont également supprimés. Vous devez effectuer un nouveau mappage des définitions de profils mappées vers les membres de données supprimés et les mapper vers l’emplacement de stockage des données contenant des membres de données.
  • Un objet de données supprimé ne peut pas être récupéré. Tous les membres de données associés à l’objet de données supprimé sont également supprimés. Vous devez effectuer un nouveau mappage des définitions de profils mappées vers les membres de données supprimés et les mapper vers l’emplacement de stockage des données contenant des membres de données.
  • Un membre de données supprimé ne peut pas être récupéré. Vous devez effectuer un nouveau mappage des définitions de profils mappées vers le membre de données supprimé et les mapper vers l’emplacement de stockage des données contenant un membre de donnée.

Cette section contient les rubriques suivantes :

  • Création d’une source de données dans la ressource Profils
  • Ajout d’un attribut personnalisé à une source de données
  • Modification d’une source de données
  • Ajout d’un nouvel objet de données dans la ressource Profils
  • Modification d’un objet de données
  • Ajout d’un nouveau membre de données dans la ressource Profils
  • Modification d’un membre de données


Création d'une source de données dans la ressource Profils

Envoyer des commentaires sur cette page Commerce Server 2002

Création d’une source de données dans la ressource Profils

La ressource Profils permet d’ajouter de nouvelles sources de données pour le stockage de données de profil. Les partitions de sources de données de profil permettent de mapper des données de profil vers des banques de données. Les banques de données peuvent être des bases de données OLE DB ou des sources LDAP (Lightweight Directory Access Protocol).

Vous utilisez une source de données pour mapper des définitions de profils vers une base de données ou une source LDAP. Vous pouvez partitionner la source de données de manière à mapper des définitions de profils vers plusieurs banques de données. Vous devez créer une base de données ou une source LDAP avant de pouvoir créer une source de données. La ressource Profils ne modifie pas la banque de données sous-jacente. Les modifications de schéma doivent être apportées directement dans la base de données ou la source LDAP.

Lors de la création d’une source de données, il importe de garder à l’esprit les informations suivantes :

  • vous devez créer au moins une partition lorsque vous créez une source de données ;
  • toutes les partitions d’une source de données doivent être de même type (bases de données OLE DB ou sources LDAP) ;
  • tous les supports de stockage de données (bases de données OLE DB ou sources LDAP) mappés vers une source de données unique doivent avoir des schémas identiques ;
  • les sources de données Commerce Server prennent en charge jusqu’à 128 partitions ;
  • Vous ne pouvez pas supprimer des partitions d’une source de données ; si vous êtes amené à le faire, vous devez supprimer la source de données en question, puis en créer une autre sans les partitions ;
  • vous devez désigner une partition dans une source de données en tant que partition par défaut.

Cette section contient les rubriques suivantes :

  • Pilotes OLE DB non pris en charge par la ressource Profils
  • Création d’une source de données avec une partition de base de données SQL Server
  • Création d’une source de données avec une partition source compatible LDAPv3


Pilotes OLEDB non pris en charge par la ressource Profils

Envoyer des commentaires sur cette page Commerce Server 2002

Pilotes OLE DB non pris en charge par la ressource Profils

Lorsque vous créez une source de données de profils, vous devez spécifier le fournisseur OLE DB. Certains pilotes OLE DB répertoriés dans la boîte de dialogue Propriétés des liaisons de données ne sont pas pris en charge par la ressource Profils. Ne pas utiliser les pilotes suivants :

  • Fournisseur Microsoft OLE DB pour les lots DTS
  • Fournisseur Microsoft OLE DB pour les services d’indexation
  • Fournisseur Microsoft OLE DB pour la publication sur Internet
  • Lots simples Microsoft OLE DB
  • Fournisseur Microsoft OLE DB pour Microsoft Site Server Search
  • Fournisseur Microsoft OLE DB pour Commerce Server

Si vous sélectionnez l’un de ces pilotes dans la boîte de dialogue Propriétés des liaisons de données, vous risquez d’obtenir un message d’erreur de Microsoft Data Link indiquant que le fournisseur n’est plus disponible.


Création d'une source de données avec une partition de base de données SQLServer

Envoyer des commentaires sur cette page Commerce Server 2002

Création d’une source de données avec une partition de base de données SQL Server

Vous pouvez créer une source de données avec une partition de base de données SQL Server.

Pour créer une source de données avec une partition de base de données SQL Server

  1. Développez Gestionnaire Commerce Server, Ressources globales, Profils (<nom serveur_nom base de données>), Catalogue de profils, cliquez avec le bouton droit sur Sources de données, puis cliquez sur Nouvelle source de données.
  2. Dans la boîte de dialogue Nouvelle source de données, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper le nom de programmation de la source de données. Le nom peut contenir un nombre maximal de 127 caractères alphanumériques et le symbole de trait de soulignement (_). Le nom ne peut pas contenir d’espace.
    Nom complet | Taper le nom à afficher pour la source de données. Le nom complet ne peut pas excéder 127 caractères Unicode.
    Description | Taper une description pour la source de données. La description ne peut pas excéder 127 caractères Unicode.
  3. Cliquez sur Suivant.
  4. Dans la boîte de dialogue Source de données, dans la liste déroulante Type de source, sélectionnez Fournisseur OLEDB-ANSI, puis cliquez sur Suivant.
  5. Dans la boîte de dialogue Partitions, sélectionnez Source de données partitionnée pour partitionner la source de données, puis cliquez sur Ajouter.
  6. Dans la boîte de dialogue Partition, cliquez sur Modifier.
  7. Dans la boîte de dialogue Propriétés des liaisons de données, sous l’onglet Fournisseur, sélectionnez Microsoft OLE DB Provider for SQL Server comme fournisseur pour votre source de données, puis cliquez sur Suivant.
  8. Dans la boîte de dialogue Propriétés des liaisons de données, sous l’onglet Connexion, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Sélectionner ou taper un nom de serveur | Sélectionner un nom de serveur dans la liste déroulante, ou taper l’emplacement du serveur qui héberge la base de données à laquelle vous voulez accéder.
    Actualiser | Actualiser la liste des serveurs.
    Utiliser la sécurité intégrée de Windows NT | Spécifier que le fournisseur demandera une connexion sécurisée (ou approuvée) à un serveur SQL Server fonctionnant sous Microsoft Windows NT.
    Utiliser un nom utilisateur et un mot de passe spécifiques | Fournir un nom d’utilisateur et un mot de passe pour authentifier vos informations d’ouverture de session de la source de données.
    Nom d’utilisateur | Taper l’identificateur d’utilisateur à utiliser pour l’authentification lorsque vous ouvrez une session de la source de données.
    Mot de passe | Taper le mot de passe à utiliser pour l’authentification lorsque vous ouvrez une session de la source de données.
    Mot de passe vide | Activer le fournisseur spécifié afin de renvoyer un mot de passe vide dans la chaîne de connexion.
    Autoriser l’enregistrement du mot de passe | Permettre l’enregistrement du mot de passe avec la chaîne de connexion. L’inclusion du mot de passe dans la chaîne de connexion dépend de la fonctionnalité de l’application appelante. S’il est enregistré, le mot de passe est renvoyé et est enregistré non masqué et non crypté.
    Sélectionner la base de données sur le serveur | Taper le nom de la base de données vers laquelle vous mappez la source de données, ou sélectionner ce nom dans la liste déroulante.
    Joindre un fichier de base de données comme un nom de base de données | Ne pas utiliser cette option. Commerce Server ne prend pas en charge Microsoft SQL Server version 6.5 ou antérieure.
    Utiliser le nom de fichier | Ne pas utiliser cette option. Commerce Server ne prend pas en charge SQL Server version 6.5 ou antérieure.
    Tester la connexion | Effectuer une tentative de connexion à la source de données spécifiée. Si la connexion échoue, vérifiez que les paramètres sont corrects. Les fautes d’orthographe et le non-respect de la casse peuvent faire échouer des connexions.
  9. Cliquez sur OK pour revenir à la boîte de dialogue Partition.
  10. Dans la boîte de dialogue Partition, dans la zone Nom de partition, tapez le nom de la partition. Pour faire de cette partition la partition par défaut, cliquez sur Partition par défaut, puis cliquez sur Suivant.
  11. Cliquez sur Terminer pour revenir à la boîte de dialogue Partitions.
  12. Cliquez sur Suivant pour ouvrir la boîte de dialogue Attributs personnalisés.
  13. Cliquez sur Terminer pour fermer la boîte de dialogue. Si vous voulez ajouter des attributs personnalisés à la source de données, consultez Ajout d’un attribut personnalisé à une source de données.

La source de données est enregistrée. Vous pouvez à présent ajouter des partitions, des attributs personnalisés et des objets de données à la source de données.


Création d'une source de données avec une partition source compatible LDAPv3

Envoyer des commentaires sur cette page Commerce Server 2002

Création d’une source de données avec une partition source compatible LDAPv3

Vous pouvez créer une source de données avec une partition source compatible LDAPv3.

Pour créer une source de données avec une partition source compatible LDAPv3

  1. Développez Gestionnaire Commerce Server, Ressources globales, Profils (<nom serveur_nom base de données>), Catalogue de profils, cliquez avec le bouton droit sur Sources de données, puis cliquez sur Nouvelle source de données.
  2. Dans la boîte de dialogue Nouvelle source de données, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper le nom de programmation de la source de données. Le nom peut contenir un nombre maximal de 127 caractères alphanumériques et le symbole de trait de soulignement (_). Le nom ne peut pas contenir d’espace.
    Nom complet | Taper le nom à afficher pour la source de données. Le nom complet ne peut pas excéder 127 caractères Unicode.
    Description | Taper une description pour la source de données. La description ne peut pas excéder 127 caractères Unicode.
  3. Cliquez sur Suivant.
  4. Dans la boîte de dialogue Source de données, dans la liste déroulante Type de source, sélectionnez Source compatible LDAPv3, puis cliquez sur Suivant.
  5. Dans la boîte de dialogue Partitions, cliquez sur Source de données partitionnée pour partitionner la source de données, puis cliquez sur Ajouter.
  6. Dans la boîte de dialogue Partition, cliquez sur Modifier.
  7. Dans la boîte de dialogue Chaîne de connexion LDAP, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Serveur | Taper le nom du serveur qui héberge la source LDAP.
    Port | Taper le nom du port. Par défaut, il s’agit du port 389.
  8. Cliquez sur OK pour revenir à la boîte de dialogue Partition.
  9. Dans la boîte de dialogue Partition, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Partition par défaut | Définir cette partition comme partition par défaut.
    Nom d’utilisateur | Taper le nom d’utilisateur que vous utilisez pour accéder à la source LDAP. Si vous utilisez un serveur Active Directory, tapez le nom d’utilisateur sous la forme domaine\nom_utilisateur.
    Mot de passe | Taper le mot de passe que vous utilisez pour accéder à la source LDAP.
  10. Cliquez sur Suivant pour ouvrir la boîte de dialogue Attributs système.
  11. Dans la boîte de dialogue Attributs système, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    URL parente | Taper l’emplacement où vous voulez que vos données soient stockées dans l’arborescence LDAP.
    Utiliser les mêmes informations d’identification pour tous les utilisateurs | Spécifier que la ressource Profils utilise toujours les mêmes informations d’identification lors de la liaison aux sources LDAP. Si cette option n’est pas sélectionnée, la ressource Profils utilise les informations d’identification de l’utilisateur en cours.
    Autoriser la liaison simple | Envoyer le mot de passe en texte clair. Cette option est moins sécurisée, mais elle est requise par certains services d’annuaire.
    Conteneur dynamique | Se connecter à une banque dynamique comme Internet Locator Service (ILS).
    Un niveau | Définir le répertoire actuel comme étendue de recherche par défaut.
    Sous-arborescence | Définir les répertoires et sous-répertoires actuels comme étendue de recherche par défaut.
    Nom du domaine | Taper le nom de domaine du serveur si vous utilisez Active Directory.
    Identifier | Rechercher le nom du domaine.
  12. Cliquez sur Suivant.
  13. Cliquez sur OK pour revenir à la boîte de dialogue Partition.
  14. Cliquez sur Terminer pour fermer la boîte de dialogue. .

La source de données est enregistrée. Vous pouvez à présent ajouter des partitions, des attributs personnalisés et des objets de données à la source de données.

Voir aussi

Ajout d’un attribut personnalisé à une source de données

À propos de la ressource Profils

Ajout d’un nouvel objet de données dans la ressource Profils

Ajout d’un nouveau membre de données dans la ressource Profils

Gestion des sources de données dans la ressource Profils


Ajout d'un attribut personnalisé à une source de données

Envoyer des commentaires sur cette page Commerce Server 2002

Ajout d’un attribut personnalisé à une source de données

La ressource Profils permet d’ajouter des attributs personnalisés à une partition de source de données. Les attributs personnalisés sont spécifiques aux applications.

Les attributs communs à toutes les définitions de profils ou à toutes les banques de données sont généralement stockés dans la table ClassDef ou SourceDef. Cependant, des attributs spécifiques peuvent s’appliquer uniquement à certains objets de source de données sélectionnés.

Par exemple, vous pouvez créer un attribut personnalisé pour gérer l’ordre de tri des sources de données ou des partitions d’une source de données, ou pour vous aider à maintenir la cohérence avec d’autres objets tels que des définitions de membres ou des définitions de sources.

Les attributs personnalisés des sources de données sont disponibles seulement dans la ressource Profils ; vous ne pouvez pas y accéder via les modules Profils Business Desk.

Pour ajouter un attribut personnalisé à une partition de sources de données

  1. Développez Gestionnaire Commerce Server, Ressources globales, Profils (<nom serveur_nom base de données>), Catalogue de profils, Sources de données, cliquez avec le bouton droit sur la source de données contenant la partition à laquelle vous voulez ajouter un attribut personnalisé, puis cliquez sur Propriétés.
  2. Dans la boîte de dialogue Propriétés <source de données>, sous l’onglet Partitions, sélectionnez la partition à laquelle vous voulez ajouter un attribut personnalisé, puis cliquez sur Modifier.
  3. Dans la boîte de dialogue Propriétés, sous l’onglet Attributs personnalisés, cliquez sur Nouveau pour ajouter des attributs à la source de données.
  4. Dans la boîte de dialogue Attribut personnalisé, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper un nom de programmation pour l’attribut. Le nom peut contenir un nombre maximal de 127 caractères alphanumériques et le symbole de trait de soulignement (_). Le nom ne peut pas contenir d’espace.
    Nom complet | Taper le nom à afficher pour l’attribut. Le nom complet ne peut pas excéder 127 caractères Unicode.
    Description | Taper une description pour l’attribut. La description ne peut pas excéder 127 caractères Unicode.
    Valeur | Taper une valeur pour l’attribut.
  5. Cliquez sur OK pour enregistrer l’attribut personnalisé.
  6. Cliquez sur OK pour enregistrer les informations relatives à la partition.
  7. Pour revenir à Gestionnaire Commerce Server, cliquez sur OK.

La source de données est enregistrée avec l’attribut personnalisé.


Modification d'une source de données

Envoyer des commentaires sur cette page Commerce Server 2002

Modification d’une source de données

La ressource Profils permet de modifier les propriétés d’une source de données.

Vous pouvez modifier les propriétés suivantes d’une source de données :

  • Nom complet
  • Description

Si vous souhaitez modifier le nom de programmation de la source de données, vous devez supprimer la source de données puis la recréer en utilisant le nouveau nom de programmation.

Pour modifier le nom complet des propriétés d’une source de données

Pour supprimer une source de données

Pour modifier le nom complet des propriétés d’une source de données

Remarque

  • Vous pouvez modifier le nom complet d’une source de données, mais pas son nom de programmation.
  1. Développez Gestionnaire Commerce Server, Ressources globales, Profils, Catalogue de profils, Sources de données, cliquez avec le bouton droit sur la source de données que vous voulez modifier, puis cliquez sur Propriétés.
  2. Dans la boîte de dialogue Propriétés <source données>, sous l’onglet Général, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom complet | Modifier le nom de la source de données. Le nom complet ne peut pas excéder 127 caractères Unicode.
    Description | Modifier la description de la source de données. La description ne peut pas excéder 127 caractères Unicode.
  3. Pour enregistrer vos modifications et revenir à Gestionnaire Commerce Server, cliquez sur OK.

La source de données est enregistrée avec les modifications que vous avez apportées. Vous pouvez modifier la chaîne de connexion d’une partition existante, ou ajouter une nouvelle partition de même type que la source de données (LDAP ou BD OLE).

Pour ajouter une nouvelle partition ou modifier une partition existante pour un fournisseur OLEDB-ANSI, consultez Pour ajouter une nouvelle source de données SQL Server. Pour ajouter une nouvelle partition ou modifier une partition existante pour une source compatible LDAPv3, consultez Pour créer une source de données de type source compatible LDAPv3.

Pour supprimer une source de données

Attention

  • Vous ne pouvez pas récupérer une source de données après l’avoir supprimé.
  1. Développez Gestionnaire Commerce Server, Ressources globales, Profils, Catalogue de profils, Sources de données, cliquez avec le bouton droit sur la source de données que vous voulez supprimer, puis cliquez sur Supprimer.
  2. Dans la boîte de dialogue de confirmation Supprimer la source de données, cliquez sur Oui.

La source de données et l’ensemble de ses objets de données et membres de données sont alors supprimés.


Ajout d'un nouvel objet de données dans la ressource Profils

Envoyer des commentaires sur cette page Commerce Server 2002

Ajout d’un nouvel objet de données dans la ressource Profils

La ressource Profils permet d’ajouter un objet de données à une source de données. Vous sélectionnez la table de la base de données (ou la classe de la source LDAP) contenant la colonne dans laquelle vous souhaitez stocker les données collectées pour une propriété dans une définition de profil.

Avant d’utiliser la ressource Profils pour créer un objet de données, vous devez créer une source de données. La ressource Profils ne modifiera pas la banque de données sous-jacente. Vous devez apporter les modifications directement dans la base de données ou la banque de données LDAP. En outre, vous devez inclure un membre de données correspondant à une clé primaire de l’objet de données.

Pour ajouter un nouvel objet de données

  1. Développez Gestionnaire Commerce Server, Ressources globales, Profils, Catalogue de profils, Sources de données, développez la source de données à laquelle vous ajoutez un objet de données, cliquez avec le bouton droit sur Objets de données, puis cliquez sur Nouvel objet de données.
  2. Dans la boîte de dialogue Nouvel objet de données, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom de l’objet Sélectionner dans la liste déroulante l’objet de données correspondant au nom d’une table ou d’une classe LDAP dans la banque de données sous-jacente.

    Important

    Vous devez inclure un membre de données clé primaire de l’objet de données à utiliser pour mapper les propriétés de profil avant de créer un profil de ce type.
    Nom complet | Taper le nom à afficher pour l’objet de données. Le nom complet ne peut pas excéder 127 caractères Unicode.
    Description | Taper une description pour l’objet de données. La description ne peut pas excéder 127 caractères Unicode.
  3. Cliquez sur OK.

L’objet de données est enregistré. Vous pouvez ajouter des membres de données à l’objet de données ou l’utiliser pour mapper une définition de profil vers une colonne de base de données (ou une classe LDAP).

Le tableau suivant répertorie les attributs personnalisés de la partition de sources de données.

Attribut personnalisé | Description | Valeurs
ConnectionCount | Spécifie le nombre de connexions dans le groupe destiné à la banque de données. | Le nombre de connexions minimum est de 2. Si cet attribut n’est pas défini, la valeur par défaut (10) est utilisée.
ConnectionRetryCount | Spécifie le nombre de nouvelles tentatives en cas d’échec d’une connexion SQL Server. | Si cet attribut n’est pas défini, la valeur par défaut (10) est utilisée.
ConnectionRetryWait | Spécifie le nombre de secondes à attendre avant d’effectuer une nouvelle tentative. | Si cet attribut n’est pas défini, la valeur par défaut (30 secondes) est utilisée.

Voir aussi

À propos de la ressource Profils

Création d’une source de données dans la ressource Profils

Ajout d’un nouveau membre de données dans la ressource Profils

Gestion des sources de données dans la ressource Profils


Modification d'un objet de données

Envoyer des commentaires sur cette page Commerce Server 2002

Modification d’un objet de données

La ressource Profils permet de modifier les propriétés suivantes d’un objet de données :

  • Nom complet
  • Description

Si vous souhaitez modifier le nom de programmation de l’objet de données, vous devez supprimer l’objet de données puis le recréer en utilisant le nouveau nom de programmation.

Pour modifier le nom complet et la description d’un objet de données

Pour supprimer un objet de données

Pour modifier le nom complet et la description d’un objet de données

  1. Développez Gestionnaire Commerce Server, Ressources globales, Profils, Catalogue de profils, Sources de données, développez la source de données contenant l’objet de données que vous voulez modifier, développez Objets de données, cliquez avec le bouton droit sur l’objet de données que vous voulez modifier, puis cliquez sur Propriétés.
  2. Dans la boîte de dialogue Propriétés <objet données>, sous l’onglet Identité, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom complet | Modifier le nom de l’objet de données. Le nom complet ne peut pas excéder 127 caractères Unicode.
    Description | Modifier la description de l’objet de données. La description ne peut pas excéder 127 caractères Unicode.
  3. Cliquez sur OK.

Le nom complet et la description de l’objet de données sont modifiés.

Remarque

  • Vous pouvez modifier le nom complet d’un objet de données, mais pas son nom de programmation.

Pour supprimer un objet de données

Attention

  • Vous ne pouvez pas récupérer un objet de données après l’avoir supprimé.
  1. Développez Gestionnaire Commerce Server, Ressources globales, Profils, Catalogue de profils, Sources de données, développez la source de données contenant l’objet de données que vous voulez supprimer, développez Objets de données, cliquez avec le bouton droit sur l’objet de données que vous voulez supprimer, puis cliquez sur Supprimer.
  2. Dans la boîte de dialogue de confirmation Supprimer l’objet de données, cliquez sur Oui.

L’objet de données est alors supprimé de la source de données.


Ajout d'un nouveau membre de données dans la ressource Profils

Envoyer des commentaires sur cette page Commerce Server 2002

Ajout d’un nouveau membre de données dans la ressource Profils

La ressource Profils permet d’ajouter un membre de données à un objet de données en sélectionnant la colonne dans une table exposée de la base de données (ou l’attribut dans une classe exposée de la source LDAP) dans laquelle vous souhaitez stocker les données collectées pour une propriété dans une définition de profil.

Lorsque vous définissez une propriété dans une définition de profil, vous mappez la propriété contenant le membre de données vers la colonne d’une table de base de données (ou un attribut d’une classe LDAP) qu’elle expose. Lorsqu’un utilisateur entre des données dans une propriété d’une définition de profil sur votre site Web, ces données sont stockées dans la colonne de base de données ou l’attribut LDAP désigné(e). La ressource Profils ne modifie pas la banque de données sous-jacente. Vous devez apporter les modifications directement dans la base de données ou la banque de données LDAP. De plus, assurez-vous qu’il existe un membre de données correspondant à une clé primaire.

Remarque

  • Commerce Server 2002 prend en charge uniquement les chaînes Unicode. Les autres types de chaîne ne sont pas pris en charge.

Pour ajouter un membre de données

  1. Développez Gestionnaire Commerce Server, Ressources globales, Profils, Catalogue de profils, Sources de données, développez la source de données contenant l’objet de données auquel vous voulez ajouter un membre de données, développez Objets de données, cliquez avec le bouton droit sur l’objet de données auquel vous voulez ajouter un membre de données, puis cliquez sur Nouveau membre de données.
  2. Dans la boîte de dialogue Nouveau membre de données, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom de membre Sélectionner un nom de membre de données disponible dans la liste. Les membres de données non disponibles ont déjà été ajoutés à un objet de données et sont estompés. Les membres de données de la liste portent le même nom que les colonnes ou les attributs LDAP de la banque de données sous-jacente vers laquelle ils sont mappés.

    Pour ajouter des membres de données supplémentaires (ou si la liste ne contient pas de membres de données disponibles), vous devez créer une colonne ou un attribut dans la banque de données sous-jacente. Le nom du membre de données doit correspondre au nom de la colonne ou de l’attribut vers lequel il est mappé. Le nom du membre peut contenir au maximum 127 caractères alphanumériques et le symbole de trait de soulignement (_). Le nom du membre ne peut pas contenir d’espace.
    Nom complet | Taper le nom à afficher dans l’application pour le membre de données. Le nom complet ne peut pas excéder 127 caractères Unicode.
    Description | Taper une description pour le membre de données. La description ne peut pas excéder 127 caractères Unicode.
    Type Sélectionner le type de données pour le membre de données. Le type de données doit être identique à la propriété que vous allez mapper avec le membre de données. Les types de données suivants sont pris en charge :
    • Binary ;
    • Boolean ;
    • Currency
    • DateTime ;
    • Number ;
    • String.
    À valeurs multiples | Activer la collecte des valeurs multiples associées au membre de données.
    Requis | Spécifier que cette propriété est requise sur votre site Web et dans Commerce Server Business Desk. Cependant, cet attribut n’est pas appliqué par la ressource Profils.
    Indexé | Indexer les données sur ce membre de données.
    Clé primaire Définir ce membre de données comme clé primaire.

    Important

    • Vous devez définir un membre de données en tant que clé primaire dans chaque objet de données.
  3. Cliquez sur Ajouter. Le membre de données apparaît dans la liste des membres de données de la boîte de dialogue Nouveau membre de données.
  4. Cliquez sur Terminer.

Le membre de données apparaît alors dans l’écran des membres de données.

Voir aussi

À propos de la ressource Profils

Configuration de la ressource Profils

Ajout d’une nouvelle définition de profil dans la ressource Profils

Création d’une définition de profil avec deux sources de données

Gestion des sources de données dans la ressource Profils


Modification d'un membre de données

Envoyer des commentaires sur cette page Commerce Server 2002

Modification d’un membre de données

La ressource Profils permet de modifier les propriétés suivantes d’un membre de données :

  • Nom complet
  • Description

Pour modifier le nom de programmation du membre de données, vous devez supprimer le membre de données puis le recréer en utilisant le nouveau nom de programmation.

Pour modifier le nom complet et la description d’un membre de données

Pour supprimer un membre de données

Pour modifier le nom complet et la description d’un membre de données

Remarque

  • Vous pouvez modifier le nom complet d’un membre de données, mais pas son nom de programmation.
  1. Développez Gestionnaire Commerce Server, Ressources globales, Profils, Catalogue de profils, Sources de données, développez la source de données contenant l’objet de données qui contient le membre de données que vous voulez modifier, développez Objets de données, puis cliquez sur l’objet de données qui contient le membre de données que vous voulez modifier.
  2. Dans la liste des membres de données, cliquez avec le bouton droit sur le membre de données que vous voulez modifier, puis cliquez sur Propriétés.
  3. Dans la boîte de dialogue Propriétés <membre données>, sous l’onglet Général, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom complet | Modifier le nom du membre de données. Le nom complet ne peut pas excéder 127 caractères Unicode.
    Description | Modifier la description du membre de données. La description ne peut pas excéder 127 caractères Unicode.
  4. Cliquez sur OK.

Pour supprimer un membre de données

Attention

  • Vous ne pouvez pas récupérer un membre de données après l’avoir supprimé.
  1. Développez Gestionnaire Commerce Server, Ressources globales, Profils, Catalogue de profils, Sources de données, développez la source de données contenant l’objet de données qui contient le membre de données que vous voulez supprimer, développez Objets de données, puis cliquez sur l’objet de données qui contient le membre de données que vous voulez supprimer.
  2. Dans la liste des membres de données, cliquez avec le bouton droit sur le membre de données que vous voulez supprimer, puis cliquez sur Supprimer.
  3. Dans la boîte de dialogue de confirmation Supprimer le membre de données, cliquez sur Oui.

Le membre de données est alors supprimé de la source de données.

Voir aussi

À propos de la ressource Profils

Création d’une source de données dans la ressource Profils

Ajout d’un nouvel objet de données dans la ressource Profils

Ajout d’un nouveau membre de données dans la ressource Profils

Création d’une définition de profil avec deux sources de données


Gestion des définitions de profils dans la ressource Profils

La ressource Profils permet de modifier le nom complet et la description d’une définition de profil et d’ajouter des attributs personnalisés à une définition de profil. Pour créer une définition de profil, vous pouvez copier une définition de profil existante et utiliser l’écran de définition de profil pour modifier le nom et les attributs de la nouvelle définition de profil.

Commerce Server 2002 vous propose plusieurs définitions de profil lorsque vous décompressez le site solution vide. Vous pouvez effectuer une copie pour créer des définitions de profil adaptées à vos besoins. Vous pouvez également supprimer une définition de profil qui ne répond plus à vos besoins et supprimer un attribut personnalisé d’une définition de profil. Vous ne pouvez pas récupérer un attribut personnalisé après l’avoir supprimé. Si vous en supprimez un par erreur, vous devez le recréer.

Cette section contient les rubriques suivantes :

  • Création d’une définition de profil dans la ressource Profils
  • Ajout d’un attribut personnalisé à une définition de profil
  • Validation des définitions de profils dans la ressource Profils
  • Incorporation d’une définition de profil dans la ressource Profils
  • Création d’une définition de profil avec deux sources de données

Voir aussi

À propos de la ressource Profils

Ajout d’une nouvelle définition de profil dans la ressource Profils


Création d'une définition de profil dans la ressource Profils

Envoyer des commentaires sur cette page Commerce Server 2002

Création d’une définition de profil dans la ressource Profils

La ressource Profils permet de créer des définitions de profils. Le chef d’entreprise peut par exemple vous demander de créer un profil afin de rendre d’autres données disponibles depuis votre site Web et depuis Commerce Server Business Desk. Vous pouvez créer une définition de profil qui soit automatiquement mappée vers un objet de données. Vous pouvez également créer une définition de profil qui ne soit pas mappée vers un objet de données. Vous utilisez des définitions de profils pour définir les données que vous collectez sur les utilisateurs qui visitent votre site Web.

Vous pouvez créer des attributs personnalisés pour une définition de profil. Vous pouvez, par exemple, ajouter un attribut personnalisé nommé defaultParentURL qui contrôle l’emplacement de stockage des profils dans la banque de données LDAP (Lightweight Directory Access Protocol) sous-jacente. Pour plus d’informations sur l’ajout d’attributs personnalisés pour une définition de profil, consultez Ajout d’un attribut personnalisé à une définition de profil.

Pour ajouter une nouvelle définition de profil qui soit mappée vers un objet de données

Pour ajouter une nouvelle définition de profil qui ne soit pas mappée vers un objet de données

Pour ajouter une nouvelle définition de profil qui soit mappée vers un objet de données

  1. Développez Gestionnaire Commerce Server, Ressources globales, Profils, Catalogue de profils, Sources de données, développez la source de données contenant l’objet de données avec lequel vous voulez mapper la nouvelle définition de profil, puis développez Objets de données.
  2. Cliquez avec le bouton droit sur l’objet de données avec lequel la nouvelle définition de profil sera mappée, puis cliquez sur Nouvelle définition de profil.
    Important
    • Un membre de données clé primaire doit exister sur l’objet de données à mapper, sinon il ne sera pas mappé correctement.
  3. Dans la boîte de dialogue Nouvelle définition de profil, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper un nom de programmation pour la nouvelle définition de profil. Le nom peut contenir un nombre maximal de 127 caractères alphanumériques et le symbole de trait de soulignement (_). Le nom ne peut pas contenir d’espace.
    Nom complet | Taper le nom à afficher pour la nouvelle définition de profil. Le nom complet ne peut pas excéder 127 caractères Unicode.
    Description | Taper une description pour la nouvelle définition de profil. La description ne peut pas excéder 127 caractères Unicode.
  4. Cliquez sur Suivant pour ouvrir la boîte de dialogue Attributs personnalisés.
  5. Cliquez sur Terminer pour fermer la boîte de dialogue. Si vous voulez ajouter des attributs personnalisés à la définition de profil, consultez Ajout d’un attribut personnalisé à une définition de profil.

La nouvelle définition de profil apparaît dans la liste des définitions de profils disponibles dans le Gestionnaire Commerce Server. La nouvelle définition de profil contient les propriétés mappées vers les membres de données de l’objet de données à partir duquel vous avez créé la définition de profil.

Pour ajouter une définition de profil qui ne soit pas mappée vers un objet de données

  1. Développez Gestionnaire Commerce Server, Profils, Catalogue de profils, cliquez avec le bouton droit sur Définitions de profils, puis sélectionnez Nouvelle définition de profil.
  2. Dans la boîte de dialogue Nouvelle définition de profil, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper un nom de programmation pour la nouvelle définition de profil. Le nom peut contenir un nombre maximal de 127 caractères alphanumériques et le symbole de trait de soulignement (_). Le nom ne peut pas contenir d’espace.
    Nom complet | Taper le nom à afficher pour la nouvelle définition de profil. Le nom complet ne peut pas excéder 127 caractères Unicode.
    Description | Taper une description pour la nouvelle définition de profil. La description ne peut pas excéder 127 caractères Unicode.
  3. Cliquez sur Suivant pour ouvrir la boîte de dialogue Attributs personnalisés.
  4. Cliquez sur Terminer pour fermer la boîte de dialogue. Si vous voulez ajouter des attributs personnalisés à la définition de profil, consultez Ajout d’un attribut personnalisé à une définition de profil.

La nouvelle définition de profil apparaît dans la liste des définitions de profils disponibles dans le Gestionnaire Commerce Server.

La nouvelle définition de profil ne contient pas de propriétés et n’est donc pas mappée vers une source de données. Vous devez ajouter des propriétés à la nouvelle définition de profil. Pour plus d’informations sur l’ajout de propriétés à une définition de profil, consultez Ajout de propriétés aux définitions de profils de la ressource Profils.

Voir aussi

À propos de la ressource Profils

Création d’une source de données dans la ressource Profils

Ajout de propriétés aux définitions de profils de la ressource Profils

Ajout d’entrées du glossaire du site

Gestion des définitions de profils

Ajout d’un attribut personnalisé à une définition de profil


Ajout d'un attribut personnalisé à une définition de profil

Envoyer des commentaires sur cette page Commerce Server 2002

Ajout d’un attribut personnalisé à une définition de profil

La ressource Profils permet d’ajouter des attributs personnalisés à une définition de profil. Les attributs personnalisés des propriétés de profil sont des espaces réservés permettant de stocker des informations spécifiques aux applications. Vous pouvez, par exemple, ajouter un attribut personnalisé nommé defaultParentURL qui contrôle l’emplacement de stockage des profils dans la banque de données LDAP (Lightweight Directory Access Protocol) sous-jacente. Ces paires attribut/valeur doivent être de type chaîne (string). Les attributs personnalisés de définition de profil sont uniquement disponibles dans la ressource Profils.

Pour ajouter un attribut personnalisé à une définition de profil

  1. Développez Gestionnaire Commerce Server, Ressources globales, Profils, Catalogue de profils, Définitions de profils, cliquez avec le bouton droit sur la définition de profil à laquelle vous voulez ajouter un attribut personnalisé, puis cliquez sur Propriétés.
  2. Dans la boîte de dialogue Propriétés, sous l’onglet Attributs personnalisés, cliquez sur Nouveau pour afficher la boîte de dialogue Attribut personnalisé.
  3. Dans la boîte de dialogue Attribut personnalisé, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper un nom de programmation pour le nouvel attribut. Le nom peut contenir un nombre maximal de 127 caractères alphanumériques et le symbole de trait de soulignement (_). Le nom ne peut pas contenir d’espace.
    Nom complet | Taper le nom à afficher pour l’attribut. Le nom complet ne peut pas excéder 127 caractères Unicode.
    Description | Taper une description pour l’attribut. La description ne peut pas excéder 127 caractères Unicode.
    Valeur | Taper la valeur de l’attribut.
  4. Cliquez sur OK.
  5. Pour revenir à Gestionnaire Commerce Server, cliquez sur OK.

La définition de profil est enregistrée avec le nouvel attribut personnalisé.

Le tableau suivant répertorie les attributs personnalisés des définitions de profil.

Attribut personnalisé | Description | Valeurs
DefaultParentURL | Spécifie l’emplacement de stockage des profils dans la banque LDAP (Lightweight Directory Access Protocol) sous-jacente. | L’URL.
DWClassName | Spécifie le nom de l’objet (en l’occurrence, une table) dans le Data Warehouse vers lequel le profil exportera les données. Si la classe (table) n’existe pas dans le Data Warehouse, la tâche DTS la créera. | Le nom de la table dans le Data Warehouse.

Voir aussi

À propos de la ressource Profils

Création d’une source de données dans la ressource Profils

Ajout de propriétés aux définitions de profils de la ressource Profils

Gestion des définitions de profils


Validation des définitions de profils dans la ressource Profils

Vous utilisez la ressource Profils pour vérifier que les membres de données vers lesquels vous mappez les définitions de profils sont valides. En validant les définitions de profils, vous vous assurez que les données collectées avec ces définitions sur votre site Web seront stockées dans des colonnes de base de données (ou des attributs LDAP) existantes.

Remarque

  • Les mécanismes de validation essaient d’écrire, puis de relire des données pour chaque propriété de la définition de profil. Ces mécanismes ne sont pas affectés par les contraintes qui pourraient exister dans la banque de données sous-jacente. Ainsi, elles tenteront parfois d’écrire des données qui ne respectent pas une contrainte. Dans ce cas, un avertissement concernant la validation apparaît. Vous devez examiner avec un très grand soin les descriptions de l’avertissement afin de déterminer la validité du profil.

Pour valider une définition de profil

Pour valider toutes les définitions de profils d’un site

Pour valider une définition de profil

  1. Développez Gestionnaire Commerce Server, Ressources globales, Profils, Catalogue de profils, Définitions de profils, cliquez avec le bouton droit sur la définition de profil que vous voulez valider, puis cliquez sur Valider ce profil.

    Si la définition de profil est valide, la boîte de dialogue Profil valide apparaît. Cliquez sur OK.

    Si la définition de profil n’est pas valide, la boîte de dialogue Profil non valide apparaît.

  2. Pour poursuivre la validation, cliquez sur Oui, puis sur OK pour fermer la boîte de dialogue Profil non valide.

    Ou, pour arrêter la validation, cliquez sur Non, puis sur OK pour fermer la boîte de dialogue Profil non valide.

Pour valider toutes les définitions de profils d’un site

  1. Développez Gestionnaire Commerce Server, Ressources globales, Profils, Catalogue de profils, puis cliquez avec le bouton droit sur Définitions de profils.
  2. Cliquez sur Valider tous les profils.

    Si toutes les définitions de profils sont valides, la boîte de dialogue Profil valide apparaît. Cliquez sur OK.

    Si une définition de profil n’est pas valide, la boîte de dialogue Profil non valide apparaît.

  3. Pour poursuivre la validation (et ignorer la définition de profil non valide), cliquez sur Oui, puis sur OK pour fermer la boîte de dialogue Profil non valide.

    Ou, pour arrêter la validation, cliquez sur Non, puis sur OK pour fermer la boîte de dialogue Profil non valide.

Voir aussi

Création d’une définition de profil dans la ressource Profils

Ajout d’un nouveau membre de données dans la ressource Profils

Ajout de propriétés aux définitions de profils de la ressource Profils

Gestion des définitions de profils dans la ressource Profils

Gestion des propriétés de profil dans la ressource Profils


Incorporation d'une définition de profil dans la ressource Profils

Envoyer des commentaires sur cette page Commerce Server 2002

Incorporation d’une définition de profil dans la ressource Profils

La ressource Profils permet d’associer des profils. L’association de profils permet de collecter des données apparentées avec différentes définitions de profils. Par exemple, si vous associez la définition de profil Adresse avec la définition de profil Objet utilisateur, vous pouvez collecter des données d’adresse pour chaque utilisateur. Vous pouvez également effectuer cette opération au moyen du module Concepteur de définitions de profils de Commerce Server Business Desk. Pour plus d’informations sur l’incorporation de la définition de profil Adresse et de la définition de profil Objet utilisateur, consultez Définitions de profils incorporées.

Par exemple, vous pouvez ajouter trois propriétés à la définition de profil Objet utilisateur et les utiliser pour référencer trois instances de la définition de profil Adresse (adresse de facturation, adresse de livraison et adresse personnelle). Vous pourrez ainsi utiliser la définition de profil Adresse pour collecter des informations sur l’adresse de l’utilisateur sur votre site Web, tout en stockant le nom du profil d’adresse de l’utilisateur dans le profil utilisateur de manière à ce que vous puissiez présenter ensemble les données des profils sur votre site Web et dans des rapports.

Pour incorporer une définition de profil

  1. Développez Gestionnaire Commerce Server, Ressources globales, Profils, Catalogue de profils, Définitions de profils, puis cliquez sur la définition de profil à laquelle vous voulez ajouter une définition de profil.
  2. Dans l’écran de définition de profil, dans la liste Propriétés, développez le groupe de propriétés auquel vous voulez ajouter la nouvelle propriété, puis cliquez sur Ajouter.
  3. Dans la boîte de dialogue Ajouter -- Dialogue de page Web, sélectionnez Ajouter une nouvelle propriété, puis cliquez sur OK.
  4. Dans l’écran de définition de profil, dans la section Attributs, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper le nom de programmation de la propriété. Le nom peut contenir un nombre maximal de 127 caractères alphanumériques et le symbole de trait de soulignement (_). Le nom ne peut pas contenir d’espace.
    Nom complet | Taper le nom complet à afficher dans Business Desk. Le nom complet ne peut pas excéder 127 caractères Unicode.
    Description | Taper une description pour la propriété. La description ne peut pas excéder 127 caractères Unicode.
    Type | Sélectionner Profil dans la liste déroulante Type.
    Référence de type | Ouvrir la boîte de dialogue Sélection de profil, en cliquant que le bouton de sélection [...]. Dans la liste Sélectionnez un profil, développez le Catalogue de profils, puis sélectionnez la définition de profil que vous voulez ajouter à la propriété.
  5. Cliquez sur OK, puis sur Appliquer.

    La définition de profil est affectée à la propriété.

  6. Pour enregistrer la définition de profil, cliquez sur Enregistrer dans la barre d’outils.

La définition de profil est enregistrée avec le changement de propriété.

Voir aussi

Définitions de profils

Ajout de propriétés aux définitions de profils de la ressource Profils

Création d’entrées du glossaire du site dans la ressource Profils

Profiling System Objects (en anglais)

Profile Schema (en anglais)


Création d'une définition de profil avec deux sources de données

Envoyer des commentaires sur cette page Commerce Server 2002

Création d’une définition de profil avec deux sources de données

Les étapes présentées dans cette section décrivent un scénario de création d’une définition de profil utilisateur qui stocke des données à la fois dans une base de données SQL Server et une base de données Active Directory. Ce scénario se limite à décrire le processus ; il ne s’agit en aucun cas d’un véritable profil que vous devez utiliser. Vous devez concevoir vos définitions de profils en fonction de vos propres besoins commerciaux.

Remarque

  • Les contrôleurs de domaine Active Directory de Commerce Server 2002 doivent être installés et configurés avant toute exécution des étapes ci-dessous. Pour plus d’informations sur la planification de l’intégration à Active Directory, consultez Planification de l’intégration à Active Directory.

Pour créer une définition de profil avec deux sources de données, vous devez effectuer les étapes suivantes :

  • Étape 1 : Créer la source de données ProfileService_ADSource
  • Étape 2 : Ajouter l’objet de données Objet utilisateur Active Directory
  • Étape 3 : Ajouter des membres de données à l’objet de données Objet utilisateur Active Directory
  • Étape 4 : Créer la définition de profil Utilisateur Active Directory-SQL Server
  • Étape 5 : Ajouter des groupes de propriétés à la définition de profil Utilisateur Active Directory-SQL Server
  • Étape 6 : Ajouter des propriétés SQL Server à la définition de profil Utilisateur Active Directory-SQL Server

Étape 1 : Créer la source de données ProfileService_ADSource

  1. Sur l’ordinateur SQL Server/Commerce Server, développez Gestionnaire Commerce Server, Ressources globales, Profils, Catalogue de profils, cliquez avec le bouton droit sur Sources de données, puis cliquez sur Nouvelle source de données.
  2. Dans la boîte de dialogue Nouvelle source de données, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper UPM_ADSource_test.
    Nom complet | Taper ProfileService_ADSource_test.
    Description | Taper Source de données Active Directory.
  3. Cliquez sur Suivant.
  4. Dans la boîte de dialogue Source de données, dans la liste déroulante Type de source, sélectionnez Source compatible LDAPv3, puis cliquez sur Suivant.
  5. Dans la boîte de dialogue Partitions, assurez-vous que la case à cocher Source de données partitionnée n’est pas activée, puis cliquez sur Ajouter.
  6. Dans la boîte de dialogue Partition, cliquez sur Modifier.
  7. Dans la boîte de dialogue Chaîne de connexion LDAP, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Serveur | Taper le nom du contrôleur de domaine Active Directory. Dans cet exemple, le contrôleur de domaine est nommé MSCS01.
    Port | Laissez cette zone non renseignée (sauf si vous utilisez une valeur différente de 389).
  8. Cliquez sur OK.

    Dans la boîte de dialogue Partition, assurez-vous que la case à cocher Partition par défaut n’est pas activée.

  9. Dans la boîte de dialogue Partition, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom d’utilisateur | Taper votre nom de domaine et d’utilisateur Microsoft Windows pour le domaine Active Directory. Utilisez le format domaine\nom_utilisateur.
    Mot de passe | Taper votre mot de passe de domaine Windows.
  10. Cliquez sur Suivant.
  11. Dans la boîte de dialogue Attributs système, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    URL parente | Taper l’emplacement sur le serveur Active Directory où vous voulez que vos données Active Directory soient stockées par rapport à la racine.
    Nom du domaine | Taper le nom du domaine du serveur Active Directory.
Remarque
  • Ne modifiez pas les paramètres par défaut des autres options de la boîte de dialogue. Vous voudrez peut-être néanmoins sélectionner l’option Utiliser les mêmes informations d’identification pour tous les utilisateurs. Cette option force la ressource Profils à utiliser les informations d’identification que vous avez entrées à l’étape 7 pour toutes ses communications avec le serveur Active Directory. Si cette option n’est pas sélectionnée, la ressource Profils utilise les informations d’identification du processus dans lequel elle est en cours d’exécution.
  1. Cliquez sur Suivant.
  2. Dans la boîte de dialogue Attributs personnalisés, cliquez sur Terminer.
  3. Dans la boîte de dialogue Partitions, cliquez sur Terminer.

La partition ProfileService_ADStore apparaît comme nouveau nœud sous Sources de données dans le Gestionnaire Commerce Server.

Étape 2 : ajouter l’objet de données Objet utilisateur Active Directory

Vous créez un objet de données de profil pour mapper une propriété de profil vers la classe d’utilisateur Active Directory.

  1. Développez Gestionnaire Commerce Server, Ressources globales, Profils, Catalogue de profils, Sources de données, développez la source de données ProfileService_ADSource_Test que vous venez de créer, cliquez avec le bouton droit sur Objets de données, puis cliquez sur Nouvel objet de données.
  2. Dans la boîte de dialogue Nouvel objet de données, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom de l’objet | Sélectionner user. Il s’agit de la classe d’utilisateur Active Directory.
    Nom complet | Taper Objet utilisateur AD.
  3. Cliquez sur OK.

L’objet de données Objet utilisateur AD est ajouté à la source de données ProfileService_ADSource_test.

Étape 3 : Ajouter des membres de données à l’objet de données Objet utilisateur AD

Vous créez un membre de données de profil pour mapper un attribut de propriété de profil vers une colonne d’une table de la base de données vers laquelle vous avez mappé la source de données. Dans cet exemple, nous allons ajouter neuf membres de données à l’objet de données Objet utilisateur AD créé à l’étape précédente. Ces membres concernent le nom d’utilisateur, le mot de passe utilisateur et le nom commun.

  1. Développez Gestionnaire Commerce Server, Ressources globales, Profils, Catalogue de profils, Sources de données, ProfileService_ADSource_test, cliquez avec le bouton droit sur Objet utilisateur AD, puis cliquez sur Nouveau membre de données.
  2. Dans la boîte de dialogue Nouveau membre de données, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom de membre | Sélectionner cn.
    Nom complet | Taper Nom commun.
  3. Cliquez sur Ajouter.

    Par défaut, le membre de données cn est marqué comme Nécessaire, Indexé et Clé primaire.

    Remarque

    • Le membre de données SAMAccountname est requis pour chaque instance de classe d’utilisateur ou de toute autre classe dérivée de la classe d’utilisateur pour la source de données Active Directory. Le membre de données SAMAccountname est une propriété de chaîne (string) ; il doit être unique.
  4. Répétez cette procédure pour ajouter les membres de données suivants :
    Nom de membre | Nom complet | Type
    SAMAccountname | Nom de compte Security Account Manager | String.
    givenName | Prénom | String.
    Initials | Initiales | String.
    sn | Nom | String.
    streetAddress | Adresse | String.
    City | Ville | String.
    St | État/Région | String.
    postalCode | Code postal | String.
    co | Pays/région | String.
  5. Cliquez sur Terminé.

Étape 4 : créer la définition de profil Utilisateur Active Directory-SQL

Vous utilisez l’objet de données Objet utilisateur AD pour créer votre définition de profil personnalisée. Cette définition de profil collectera les informations du profil utilisateur. La plupart des propriétés seront mappées vers une base de données SQL Server. Le nom d’utilisateur et le mot de passe seront mappés vers Active Directory.

Vous créez ce profil multi-sources en sélectionnant les propriétés que vous souhaitez et en les mappant vers les membres de données de différentes sources de données.

  1. Développez Gestionnaire Commerce Server, Ressources globales, Profils, Catalogue de profils, Sources de données, ProfileService_ADSource_Test, Objets de données, cliquez avec le bouton droit sur Objet utilisateur AD, pointez sur Nouveau, puis cliquez sur Nouvelle définition de profil.
  2. Dans la boîte de dialogue Nouvelle définition de profil, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper Utilisateur_AD_SQL.
    Nom complet | Taper Utilisateur AD-SQL.
    Description | Taper Définition de profil utilisateur utilisant des sources AD et SQL.
  3. Cliquez sur Suivant.
  4. Dans la boîte de dialogue Attributs personnalisés, cliquez sur Terminer. (Aucun attribut personnalisé n’est créé pour cet exemple.)

La nouvelle définition de profil apparaît dans la liste des définitions de profils disponibles dans le Gestionnaire Commerce Server.

Étape 5 : Ajouter des groupes de propriétés à la définition de profil Utilisateur AD-SQL

Pour faciliter la lecture de votre définition de profil, vous pouvez créer des groupes distincts pour les propriétés Active Directory et les propriétés SQL Server. Avant d’ajouter les propriétés SQL Server à la définition de profil Utilisateur AD-SQL, vous devez créer les groupes de données.

  1. Développez Gestionnaire Commerce Server, Ressources globales, Profils, Catalogue de profils, Définitions de profils, puis cliquez sur Utilisateur AD_SQL. La liste Propriétés s’affiche dans le volet droit.
  2. Cliquez sur Ajouter.
  3. Dans la boîte de dialogue Ajouter -- Dialogue de page Web, sélectionnez Ajouter un nouveau groupe, puis cliquez sur OK.
  4. Dans la section Attributs, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper GroupeAD.
    Nom complet | Taper Active Directory.
  5. Cliquez sur Appliquer.
  6. Dans la liste Propriétés, sélectionnez Active Directory, le groupe que vous venez de créer, puis cliquez sur le bouton représentant une flèche vers le haut qui se trouve en bas de la boîte de dialogue. Cliquez sur ce bouton jusqu’à ce qu’Active Directory soit placé en haut de la liste Propriétés, au-dessus de toutes les autres propriétés.
  7. Cliquez sur la flèche de direction à gauche d’Active Directory de manière à ce qu’elle pointe vers le bas. Le nœud est alors développé et le groupe est prêt à accepter des propriétés.
  8. Cliquez sur la première propriété sous Active Directory. Si vous avez scrupuleusement suivi les étapes précédentes, il s’agit de la propriété Nom commun.
  9. Cliquez sur le bouton représentant une flèche vers le haut qui se trouve en bas de la boîte de dialogue. Le nom de la propriété apparaît en retrait sous Active Directory. La propriété est ainsi placée dans le groupe Active Directory.
  10. Pour chacune des propriétés restantes, sélectionnez son nom et cliquez sur le bouton représentant une flèche vers le haut.
  11. Pour ajouter le groupe SQL Server à la définition de propriété, cliquez sur le bouton Ajouter.
  12. Dans la section Attributs, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper GroupeSQL.
    Nom complet | Taper SQL Server.
  13. Cliquez sur Appliquer.
  14. Pour déplacer le nom de groupe SQL Server vers la gauche, cliquez sur le bouton représentant une flèche vers le bas qui se trouve en bas de la boîte de dialogue.

Les propriétés que vous avez ajoutées sont organisées dans les nouveaux groupes de propriétés.

Étape 6 : Ajouter des propriétés SQL Server à la définition de profil Utilisateur AD-SQL

Vous avez créé une définition de profil nommée Utilisateur AD-SQL composée de deux groupes de propriétés : Active Directory et SQL Server. Vous avez déjà ajouté les propriétés Active Directory. Vous devez maintenant ajouter les propriétés SQL Server.

  1. Développez Gestionnaire Commerce Server, Ressources globales, Profils, Catalogue de profils, Définitions de profils, puis cliquez sur Utilisateur AD_SQL.
  2. Dans l’écran de définition de profil, dans la liste Propriétés, cliquez sur Nom commun. Les attributs de la propriété apparaissent à droite.
  3. Dans la section Attributs avancés, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Type de clé Sélectionner Clé composée (primaire et de jointure). Lorsque vous utilisez plusieurs sources de données dans une définition de profil, il est nécessaire de créer une clé de jointure qui effectue le mappage vers les deux sources.

    Important

    • Une fois que vous avez enregistré une clé de jointure, vous ne pouvez pas la modifier ultérieurement.
    Mapper vers les données | Ouvrir la boîte de dialogue Sélecteur de source de données, en cliquant sur le bouton de sélection [...]. Dans la boîte de dialogue Sélecteur de source de données, développez ProfileService_ADSource_test, puis Objet utilisateur AD. Sélectionnez ProfileService_ADSource, puis objet utilisateur. Développez ProfileService_ADSource_test, puis sélectionnez Utilisateur.
  4. Maintenez la touche CTRL enfoncée et sélectionnez u_logon_name (sous Objet utilisateur) et cn (sous Utilisateur AD-SQL), puis cliquez sur OK pour fermer la boîte de dialogue Sélecteur de source de données.

    Les deux propriétés apparaissent dans la zone Mapper vers les données.

  5. Dans la section Attributs avancés, sélectionnez RDN, puis cliquez sur Appliquer.

    Les propriétés de clé de jointure sont alors désignées comme étant le RDN (Relative Distinguished Name) du profil. Le RDN doit exister pour pouvoir créer un profil valide mappé vers une source LDAPv3, telle qu’Active Directory. (Ceci n’est pas obligatoire pour les sources OLE DB, telles que SQL Server.)

  6. Dans la liste Propriétés, cliquez sur la flèche de direction à gauche de SQL Server, puis cliquez sur Ajouter.
  7. Dans la boîte de dialogue Ajouter -- Dialogue de page Web, sélectionnez Ajouter une nouvelle propriété, puis cliquez sur OK.
  8. Dans la liste Propriétés, sélectionnez Nouvelle propriété 1.

    Ajoutez les propriétés du tableau Nouvelles propriétés suivant à la définition de profil Utilisateur AD-SQL.

    Nom | Nom complet | Type | Mapper vers les données
    u_user_security_password | Mot de passe | String. | Mot de passe
    i_account_status | État du compte | Number ; | État du compte
    u_user_catalog_set | Groupe de catalogues | String. | Groupe de catalogues de l’utilisateur
    d_data_registered | Date d’inscription | Date/Time | Date de création
    i_partner_desk_role | Rôle du Service Partenaire | Number ; | Rôle du Service Partenaire
    d_date_last_changed | Date de dernière modification | Date/Time | Date de dernière modification
  9. Dans la section Attributs, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper le nom de programmation de la propriété, indiqué dans la colonne Nom du tableau précédent.
    Nom complet | Taper le nom complet de la propriété, indiqué dans la colonne Nom complet du tableau précédent.
    Type | Sélectionner dans la liste déroulante le type de propriété, indiqué dans la colonne Type du tableau précédent.
  10. Dans la section Attributs avancés, cliquez sur le bouton de sélection [...] de la zone Mapper vers les données. Allez jusqu’à Objet utilisateur SQL Server, puis sélectionnez le membre de données de la propriété comme indiqué dans la colonne Mapper vers les données du tableau précédent.
  11. Pour appliquer les modifications apportées à la propriété, cliquez sur Appliquer.
  12. Répétez les étapes 7 à 11 jusqu’à ce que vous ayez ajouté toutes les propriétés répertoriées dans le tableau Nouvelles propriétés.
  13. Pour enregistrer la définition de profil, cliquez sur [image] dans la barre d’outils.

Si vous utilisez la définition de profil Utilisateur AD-SQL sur votre site Web, des données sont stockées à la fois dans une base de données SQL Server et dans une base de données Active Directory.


Modification d'une définition de profil

Envoyer des commentaires sur cette page Commerce Server 2002

Modification d’une définition de profil

Vous pouvez modifier le nom complet et la description d’une définition de profil, puis changer les attributs personnalisés.

Pour modifier une définition de profil

  1. Développez Gestionnaire Commerce Server, Ressources globales, Profils, Catalogue de profils, Définitions de profils, cliquez avec le bouton droit sur la définition de profil que voulez modifier, puis cliquez sur Propriétés.
  2. Dans la boîte de dialogue Propriétés de <définitions de profil>, sous l’onglet Général, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom complet | Modifier le nom de la définition de profil. Le nom complet ne peut pas excéder 127 caractères Unicode.
    Description | Modifier la description de la définition de profil. La description ne peut pas excéder 127 caractères Unicode.
  3. Sous l’onglet Attributs personnalisés, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nouveau | Ouvrir la boîte de dialogue Attribut personnalisé et ajouter un nouvel attribut personnalisé.
    Modifier | Ouvrir la boîte de dialogue Attribut personnalisé et modifier l’attribut personnalisé spécifié.
    Supprimer | Supprimer l’attribut personnalisé sélectionné.
  4. Dans la boîte de dialogue Attributs personnalisés, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom complet | Taper le nom à afficher pour l’attribut ou modifier le nom de l’attribut. Le nom complet ne peut pas excéder 127 caractères Unicode.
    Description | Taper ou modifier la description de l’attribut. La description ne peut pas excéder 127 caractères Unicode.
    Valeur | Taper ou modifier la valeur de l’attribut.
Remarque
  • Vous pouvez modifier le nom complet d’une définition de profil, mais pas son nom de programmation.
  1. Pour enregistrer les modifications et revenir à la boîte de dialogue Propriétés, cliquez sur OK.
  2. Pour enregistrer vos modifications et revenir à Gestionnaire Commerce Server, cliquez Appliquer, puis sur OK.

La définition de profil est enregistrée avec les modifications.


Copie d'une définition de profil

Envoyer des commentaires sur cette page Commerce Server 2002

Copie d’une définition de profil

Vous pouvez copier une définition de profil existante et l’enregistrer sous un nouveau nom.

Remarque

  • Si vous copiez une définition de profil existante pour créer une définition de profil, vous devez supprimer les propriétés répertoriées dans le tableau suivant dans votre nouvelle définition de profil. Ces propriétés sont valides uniquement dans les définitions de profils dans lesquelles elles ont été créées à l’origine.
    Définition de profil existante | Propriété
    Objet utilisateur | Groupe de catalogues de l’utilisateur
    Organisation | Groupe de catalogues de l’organisation

Si vous voulez utiliser ces propriétés dans vos nouvelles définitions de profils, vous pouvez les recréer en utilisant les attributs de profil qui figuraient dans les définitions de profils à partir desquelles elles ont été copiées. Pour plus d’informations sur la création de propriétés, consultez Ajout de propriétés à une définition de profil.

Pour copier une définition de profil

  1. Développez Gestionnaire Commerce Server, Ressources globales, Profils, Catalogue de profils, Définitions de profils, cliquez avec le bouton droit sur le profil que vous voulez copier, puis cliquez sur Effectuer une copie de ce profil.
  2. Dans la boîte de dialogue Copier la définition de profil, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper un nom de programmation pour la définition de profil. Le nom peut contenir un nombre maximal de 127 caractères alphanumériques et le symbole de trait de soulignement (_). Le nom ne peut pas contenir d’espace.
    Nom complet | Taper le nom à afficher pour la définition de profil. Le nom complet ne peut pas excéder 127 caractères Unicode.
    Description | Taper une description pour la définition de profil. La description ne peut pas excéder 127 caractères Unicode.
  3. Cliquez sur Suivant.
  4. Dans la boîte de dialogue Attributs personnalisés, cliquez sur Nouveau.
  5. Dans la boîte de dialogue Attribut personnalisé, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper un nom de programmation pour l’attribut. Le nom peut contenir un nombre maximal de 127 caractères alphanumériques et le symbole de trait de soulignement (_). Le nom ne peut pas contenir d’espace.
    Nom complet | Taper le nom à afficher pour l’attribut. Le nom complet ne peut pas excéder 127 caractères Unicode.
    Description | Taper une description pour l’attribut. La description ne peut pas excéder 127 caractères Unicode.
    Valeur | Taper la valeur de l’attribut.
  6. Pour enregistrer la définition de profil, cliquez sur OK.
  7. Pour enregistrer la définition de profil et revenir à Gestionnaire Commerce Server, cliquez sur Terminer.

La nouvelle définition de profil est enregistrée.


Suppression d'une définition de profil

Envoyer des commentaires sur cette page Commerce Server 2002

Suppression d’une définition de profil

Attention

  • Si vous supprimez une définition de profil par erreur, vous devez la recréer. Vous ne pouvez pas récupérer une définition de profil après l’avoir supprimée.

Pour supprimer une définition de profil

  1. Développez Gestionnaire Commerce Server, Ressources globales, Profils, Catalogue de profils, Définitions de profils, cliquez avec le bouton droit sur la définition de profil que voulez supprimer, puis cliquez sur Supprimer.
  2. Dans la boîte de dialogue de confirmation Supprimer le profil, cliquez sur Oui.

La définition de profil est alors supprimée de la ressource Profils.

Pour supprimer un attribut personnalisé d’une définition de profil

  1. Développez Gestionnaire Commerce Server, Ressources globales, Profils, Catalogue de profils, Définitions de profils, cliquez avec le bouton droit sur la définition de profil de laquelle vous voulez supprimer un attribut personnalisé, puis cliquez sur Propriétés.
  2. Dans la boîte de dialogue Propriétés, sous l’onglet Attributs personnalisés, sélectionnez l’attribut que vous voulez supprimer, puis cliquez sur Supprimer.

L’attribut personnalisé est alors supprimé de la définition de profil.


Gestion des propriétés de profil dans la ressource Profils

La ressource Profils permet de modifier, organiser, mapper et supprimer les propriétés de profil de manière à mettre à jour les données que vous souhaitez collecter à partir de votre site Web. De plus, vous pouvez modifier et supprimer des attributs personnalisés d’une propriété de profil.

Cette section contient les rubriques suivantes :

  • Modification d’une définition de profil
  • Organisation des propriétés de profil
  • Suppression d’une propriété d’une définition de profil
  • Modification d’un attribut personnalisé d’une propriété de profil
  • Suppression d’un attribut personnalisé d’une propriété de profil
  • Mappage d’une propriété de profil vers un emplacement de stockage


Modification d'une propriété de profil

Envoyer des commentaires sur cette page Commerce Server 2002

Modification d’une propriété de profil

La ressource Profils permet de modifier les propriétés de profil de manière à mettre à jour les données que vous souhaitez collecter à partir de votre site Web. Par exemple, vous créez une définition de profil avec une propriété permettant de collecter des données sur le pays ou la région où vivent les utilisateurs qui visitent votre site Web. Lorsque vous visualisez les données collectées avec cette propriété de profil, vous vous rendez compte qu’une propriété de type chaîne (string) n’est pas le meilleur moyen de collecter des données utiles relatives à l’emplacement auprès de vos utilisateurs. Vous utilisez l’écran de définition de profil pour modifier les attributs de cette propriété de manière à ce qu’elle collecte des données plus utiles.

Pour modifier une propriété de profil

  1. Développez Gestionnaire Commerce Server, Ressources globales, Profiles, Catalogue de profils, Définitions de profils, puis cliquez sur la définition de profil contenant la propriété que vous voulez modifier.
  2. Dans la liste Propriétés, développez le groupe de propriétés contenant la propriété que vous voulez modifier, puis cliquez sur la propriété à modifier.

    Ou bien, cliquez sur le groupe de propriétés que vous voulez modifier.

  3. Dans l’écran de définition de profil, dans la section Attributs, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom complet | Modifier le nom à afficher dans Commerce Server Business Desk. Le nom complet ne peut pas excéder 127 caractères Unicode.
    Description | Modifier la description de la propriété. La description ne peut pas excéder 127 caractères Unicode.
    Type | Sélectionner le type de propriété. Le type de propriété par défaut est Chaîne. Le type de propriété de cet attribut doit être identique à celui du membre de données vers lequel cet attribut est mappé.
    Référence de type | Sélectionner l’entrée du glossaire du site ou le profil que vous ajoutez à la définition de propriété, en cliquant sur le bouton de sélection [...]. Cette fonctionnalité n’est disponible que si vous avez sélectionné les types Entrée du glossaire du site ou Profil.
  4. Dans l’écran de définition de profil, dans la section Attributs avancés, cliquez sur Activée si cette propriété doit être disponible dans Business Desk. Les propriétés inactives ne sont pas affichées dans Business Desk.
  5. Dans la zone Mapper vers les données, cliquez sur le bouton de sélection [...] pour ouvrir la boîte de dialogue Sélecteur de source de données et sélectionner le membre de données vers lequel la propriété est mappée.
  6. Dans la boîte de dialogue Sélecteur de source de données, développez la source de données contenant l’objet de données contenant lui-même le membre de données avec lequel vous voulez mapper la propriété.
  7. Développez l’objet de données contenant le membre de données avec lequel vous voulez mapper la propriété et sélectionnez le membre de données.
  8. Cliquez sur OK.
  9. Dans l’écran Définition de profil, dans la section Attributs avancés, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Type de clé | Sélectionner un type de clé dans la liste déroulante. Chaque définition de profil requiert une propriété qui soit une clé primaire et une propriété qui soit une clé de jointure, ou une propriété qui soit une clé composée (à la fois une clé primaire et une clé de jointure).
    Requise | Spécifier que cette propriété est requise sur votre site Web et dans Business Desk. Cependant, cet attribut n’est pas appliqué par la ressource Profils. Cet attribut est en lecture seule si vous avez sélectionné un type de clé.
    Exportée Indiquer si cette propriété doit être importée dans le Data Warehouse de Commerce Server. Seules les propriétés mappées peuvent être exportées.

    Vous ne pouvez pas exporter des propriétés à valeurs multiples et de type Boolean, ni des propriétés de type binary, long string ou password.
    Différer le chargement du cache | Indiquer que cette propriété ne sera pas chargée initialement lors de la récupération du profil, mais qu’elle sera chargée lorsqu’elle sera sollicitée.
    À valeurs multiples | Activer la collecte des valeurs multiples associées à cette propriété. Cette valeur n’est pas disponible si vous avez sélectionné un type de clé pour la propriété.
    Possibilité de recherche | Indiquer que cette propriété est indexée dans la banque de données sous-jacente et qu’elle peut faire l’objet de recherches via la fonction Rechercher par.
    RDN (Relative Distinguished Name) | Taper le RDN (Relative Distinguished Name) pour une banque de répertoires. Définissez cette valeur si la propriété est mappée vers un attribut RDN d’une classe LDAP dans la banque sous-jacente.
    Clé de hachage Indiquer que cette propriété sera utilisée pour répartir des instances du profil entre plusieurs partitions.

    Cette propriété est en lecture seule pour les sources de données non partitionnées. Vous devez effectuer une requête sur cette clé pour récupérer des profils.
  10. Cliquez sur Appliquer.
  11. Pour enregistrer la définition de profil, cliquez sur [image] dans la barre d’outils.

La définition de profil est enregistrée avec les modifications.


Organisation de propriétés de profil

Vous pouvez déplacer des propriétés et des groupes de propriétés vers le haut ou vers le bas dans la liste Propriétés afin de mieux les organiser. Par exemple, si vous avez ajouté trois groupes de propriétés à une définition de propriété, vous pouvez déplacer les propriétés existantes vers le haut ou le bas dans la liste Propriétés jusqu’à ce qu’elles soient placées dans les groupes de propriétés que vous avez créés à leur attention.

Pour organiser des propriétés de profil

  1. Développez Gestionnaire Commerce Server, Ressources globales, Profiles, Catalogue de profils, Définitions de profils, puis cliquez sur la définition de profil contenant les propriétés que vous voulez organiser.
  2. Dans la liste Propriétés, sélectionnez la propriété ou le groupe de propriétés que vous voulez déplacer, puis utilisez les boutons de déplacement vers le haut et le bas pour faire monter et descendre la propriété ou le groupe de propriétés dans la liste.
  3. Pour enregistrer la définition de profil, cliquez sur Enregistrer dans la barre d’outils.

La définition de profil est enregistrée avec les modifications que vous avez apportées à l’ordre des groupes de propriétés et des propriétés.


Suppression d'une propriété d'une définition de profil

Envoyer des commentaires sur cette page Commerce Server 2002

Suppression d’une propriété d’une définition de profil

Vous pouvez supprimer des propriétés et des groupes de propriétés dont vous n’avez pas besoin dans une définition de profil. Par exemple, vous ajoutez sept propriétés à une définition de profil, puis vous vous rendez compte que vous n’en avez besoin que de six sur votre site Web. Lorsque vous supprimez un groupe de propriétés, toutes les propriétés de ce groupe sont également supprimées.

Pour supprimer une propriété d’une définition de profil

Attention

  • Vous ne pouvez pas récupérer une définition de profil après l’avoir supprimée.
  1. Développez Gestionnaire Commerce Server, Ressources globales, Profiles, Catalogue de profils, Définitions de profils, puis cliquez sur la définition de profil de laquelle vous voulez supprimer une propriété.
  2. Dans la liste Propriétés, sélectionnez la propriété ou le groupe de propriétés que vous voulez supprimer, puis cliquez sur Supprimer.
  3. Dans la boîte de dialogue de confirmation Supprimer, cliquez sur OK.
  4. Pour enregistrer la définition de profil, cliquez sur dans la barre d’outils.

La définition de profil est enregistrée. Elle ne contient plus la propriété ou le groupe de propriétés que vous avez supprimé.


Modification d'un attribut personnalisé d'une propriété de profil

Envoyer des commentaires sur cette page Commerce Server 2002

Modification d’un attribut personnalisé d’une propriété de profil

Vous pouvez modifier tout attribut personnalisé d’une propriété. Vous pouvez modifier un attribut personnalisé si vous avez besoin de changer le nom complet, la description ou la valeur de l’attribut.

Pour modifier un attribut personnalisé d’une propriété de profil

  1. Développez Gestionnaire Commerce Server, Ressources globales, Profiles, Catalogue de profils, Définitions de profils, puis cliquez sur la définition de profil contenant la propriété dans laquelle vous voulez modifier un attribut personnalisé.
  2. Dans la liste Propriétés, sélectionnez la propriété contenant l’attribut personnalisé que vous voulez modifier.
  3. Dans l’écran de définition de profil, dans la section Attributs personnalisés, cliquez sur Modifier.
  4. Dans l’écran de définition de profil, dans la section Attributs personnalisés, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Modifier le nom de programmation de l’attribut. Le nom peut contenir un nombre maximal de 127 caractères alphanumériques et le symbole de trait de soulignement (_). Le nom ne peut pas contenir d’espace.
    Nom complet | Modifier le nom à afficher pour l’attribut. Le nom complet ne peut pas excéder 127 caractères Unicode.
    Description | Modifier la description de l’attribut. La description ne peut pas excéder 127 caractères Unicode.
    Valeur | Modifier la valeur de l’attribut.
  5. Cliquez sur Accepter, puis sur Appliquer.
  6. Pour enregistrer la définition de profil, cliquez sur Enregistrer dans la barre d’outils.

La définition de profil est enregistrée avec les modifications.


Suppression d'un attribut personnalisé d'une propriété de profil

Envoyer des commentaires sur cette page Commerce Server 2002

Suppression d’un attribut personnalisé d’une propriété de profil

Vous pouvez modifier ou supprimer tout attribut personnalisé d’une propriété. Vous pouvez modifier un attribut personnalisé si vous avez besoin de modifier le nom complet, la description ou la valeur de l’attribut. Si vous supprimez un attribut personnalisé par erreur, vous devez le recréer. Vous ne pouvez pas récupérer un attribut personnalisé après l’avoir supprimé.

Pour supprimer un attribut personnalisé d’une propriété de profil

Attention

  • Vous ne pouvez pas récupérer un attribut personnalisé après l’avoir supprimé.
  1. Développez Gestionnaire Commerce Server, Ressources globales, Profiles, Catalogue de profils, Définitions de profils, puis cliquez sur la définition de profil contenant la propriété de laquelle vous voulez supprimer un attribut personnalisé.
  2. Dans la liste Propriétés, sélectionnez la propriété contenant l’attribut personnalisé que vous voulez supprimer.
  3. Dans l’écran de définition de profil, dans la section Attributs personnalisés, sélectionnez l’attribut personnalisé que vous voulez supprimer, puis cliquez sur Supprimer.

    L’attribut personnalisé est alors supprimé de la propriété de profil.

  4. Cliquez sur Appliquer.
  5. Pour enregistrer la définition de profil, cliquez sur Enregistrer dans la barre d’outils.

La définition de profil est enregistrée avec les modifications.

Voir aussi

À propos de la ressource Profils

Ajout de propriétés à des définitions de profils


Mappage d'une propriété de profil vers un emplacement de stockage

Envoyer des commentaires sur cette page Commerce Server 2002

Mappage d’une propriété de profil vers un emplacement de stockage

Les propriétés de profil utilisent des membres de données pour mapper les données entrées par les utilisateurs sur votre site Web vers l’emplacement de stockage approprié. Par exemple, lorsqu’un utilisateur tape un prénom dans la propriété Prénom de la définition de profil Objet utilisateur, le prénom est stocké dans la colonne de base de données spécifiée par le membre de données de la propriété Prénom.

Les propriétés de profil d’une définition de profil peuvent être mappées vers des membres de données à partir de différents types de sources de données. Un membre de données ayant valeur de clé primaire doit s’appliquer à l’objet de données à mapper.

Pour mapper une propriété de profil vers un emplacement de stockage

  1. Développez Gestionnaire Commerce Server, Ressources globales, Profiles, Catalogue de profils, Définitions de profils, puis cliquez sur la définition de profil contenant la propriété que vous voulez mapper vers un emplacement de stockage.
  2. Dans l’écran de définition de profil, dans la liste Propriétés, développez le groupe de propriétés contenant la propriété que vous voulez mapper, puis sélectionnez la propriété.
  3. Dans l’écran de définition de profil, dans la section Attributs avancés, dans la zone Mapper vers les données, cliquez sur le bouton de sélection [...] pour ouvrir la boîte de dialogue Sélecteur de source de données.
  4. Dans la boîte de dialogue Sélecteur de source de données, développez la source de données contenant l’objet de données contenant lui-même le membre de données avec lequel vous voulez mapper la propriété.
  5. Développez l’objet de données contenant le membre de données avec lequel vous voulez mapper la propriété, sélectionnez le membre de données, puis cliquez sur OK.
  6. Dans l’écran de définition de profil, dans la section Attributs avancés, sélectionnez Exportée pour indiquer que cette propriété sera exportée vers le Data Warehouse de Commerce Server. Seules les propriétés mappées peuvent être exportées.

    Remarque

    • Vous ne pouvez pas exporter des propriétés à valeurs multiples et de type Boolean, ni des propriétés de type binary, long string ou password.
  7. Cliquez sur Appliquer.

Les données des propriétés de profil seront stockées dans le membre de données désigné, puis importées dans le Data Warehouse.

Si vous voulez spécifier l’emplacement auquel les données devront être importées dans le Data Warehouse, ajoutez l’attribut personnalisé DWClassName à la définition de profil et l’attribut personnalisé DWMemberName à la propriété de profil.

Voir aussi

Attributs personnalisés des propriétés de profil

Création d’une définition de profil avec deux sources de données


Ajout de propriétés aux définitions de profils de la ressource Profils

La ressource Profils permet d’ajouter une nouvelle propriété, de nouveaux groupes de propriétés et des attributs personnalisés à une définition de profil.

Cette section contient les rubriques suivantes :

  • Ajout d’une nouvelle propriété à une définition de profil
  • Ajout d’un nouveau groupe de propriétés à une définition de profil
  • Ajout d’un attribut personnalisé à une propriété de profil


Ajout d'une nouvelle propriété à une définition de profil

Envoyer des commentaires sur cette page Commerce Server 2002

Ajout d’une nouvelle propriété à une définition de profil

La ressource Profils permet d’ajouter des propriétés à une définition de profil. Les propriétés déterminent les données collectées avec la définition de profil. Par exemple, si vous créez une définition de profil Adresse, vous pouvez lui ajouter une propriété appelée « Ville ». (Vous pouvez également ajouter des propriétés à une définition de profil au moyen du module Définition de profil de Commerce Server Business Desk.) Pour plus d’informations sur l’utilisation du module Définition de profil, consultez Utilisateurs Business Desk.

Pour ajouter une nouvelle propriété à une définition de profil

  1. Développez Gestionnaire Commerce Server, Ressources globales, Profiles, Catalogue de profils, Définitions de profils, puis cliquez sur la définition de profil à laquelle vous voulez ajouter une propriété.
  2. Dans l’écran de définition de profil, dans la liste Propriétés, sélectionnez le groupe de propriétés auquel vous voulez associer la propriété que vous ajoutez, puis cliquez sur Ajouter.
  3. Dans la boîte de dialogue Ajouter - Dialogue de page Web, sélectionnez ajouter une nouvelle propriété, puis cliquez sur OK.
  4. Dans l’écran de définition de profil, dans la section Attributs, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper le nom de programmation de la propriété. Le nom peut contenir un nombre maximal de 127 caractères alphanumériques et le symbole de trait de soulignement (_). Le nom ne peut pas contenir d’espace.
    Nom complet | Taper le nom à afficher dans Business Desk. Le nom complet ne peut pas excéder 127 caractères Unicode.
    Description | Taper une description pour la propriété. La description ne peut pas excéder 127 caractères Unicode.
    Type | Sélectionner le type de propriété dans la liste déroulante. Le type de propriété par défaut est Chaîne.
    Référence de type | Obligatoire pour les entrées du glossaire du site et les types de profils. Sélectionner l’entrée du glossaire du site ou le profil que vous ajoutez à la définition de propriété, en cliquant sur le bouton de sélection [...]. Cette fonctionnalité n’est disponible que si vous avez sélectionné le type de propriété Entrée du glossaire du site ou Profil.
  5. Dans l’écran de définition de profil, dans la section Attributs avancés, cliquez sur Activée pour indiquer que cette propriété est disponible dans Business Desk. Les propriétés inactives ne sont pas affichées dans Business Desk.
  6. Dans la zone Mapper vers les données, cliquer sur le bouton de sélection [...] pour ouvrir la boîte de dialogue Sélecteur de source de données.
  7. Dans la boîte de dialogue Sélecteur de source de données, développez la source de données contenant l’objet de données contenant lui-même le membre de données avec lequel vous voulez mapper la propriété.
  8. Développez l’objet de données contenant le membre de données avec lequel vous voulez mapper la propriété, sélectionnez le membre de données, puis cliquez sur OK.
  9. Dans l’écran Définition de profil, dans la section Attributs avancés, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Type de clé | Sélectionner un type de clé dans la liste déroulante. Chaque définition de profil requiert une propriété qui soit une clé primaire et une propriété qui soit une clé de jointure, ou une propriété qui soit une clé composée (à la fois une clé primaire et une clé de jointure).
    Requise | Spécifier que cette propriété est requise sur votre site Web et dans Business Desk. Cependant, cet attribut n’est pas appliqué par la ressource Profils. Cet attribut est en lecture seule si vous avez sélectionné un type de clé.
    Exportée Indiquer si cette propriété doit être importée dans le Data Warehouse de Commerce Server. Seules les propriétés mappées peuvent être exportées.

    Vous ne pouvez pas exporter des propriétés à valeurs multiples et de type Boolean, ni des propriétés de type binary, long string ou password.
    Différer le chargement du cache | Indiquer que cette propriété ne sera pas chargée initialement lors de la récupération du profil, mais qu’elle sera chargée lorsqu’elle sera sollicitée.
    À valeurs multiples | Activer la collecte des valeurs multiples associées à cette propriété. Cette valeur n’est pas disponible si vous avez sélectionné un type de clé pour la propriété.
    Possibilité de recherche | Indiquer que cette propriété est indexée dans la banque de données sous-jacente et qu’elle peut faire l’objet de recherches via la fonction Rechercher par.
    RDN (Relative Distinguished Name) | Taper le RDN (Relative Distinguished Name) pour une banque de répertoires. Définissez cette valeur si la propriété est mappée vers un attribut RDN d’une classe LDAP dans la banque sous-jacente.
    Clé de hachage Indiquer que cette propriété sera utilisée pour répartir des instances du profil entre plusieurs partitions.

    Cette propriété est en lecture seule pour les sources de données non partitionnées. Vous devez effectuer une requête sur cette clé pour récupérer des profils.
  10. Cliquez sur Appliquer.
  11. Pour enregistrer la définition de profil, cliquez sur [image] dans la barre d’outils.

La définition de profil est enregistrée avec la nouvelle propriété.


Ajout d'un nouveau groupe de propriétés à une définition de profil

Envoyer des commentaires sur cette page Commerce Server 2002

Ajout d’un nouveau groupe de propriétés à une définition de profil

Vous pouvez créer des groupes de propriétés pour organiser les propriétés. Par exemple, si vous ajoutez à une définition de profil utilisateur 50 propriétés qui se rapportent à quatre catégories distinctes telles que le style de vie, l’opinion, la formation et les préférences, vous pouvez créer quatre groupes de propriétés, un par catégorie, et placer les propriétés relevant de chaque catégorie dans le groupe de propriétés approprié. Vous pouvez choisir d’afficher ou de masquer les propriétés de chaque groupe de propriétés.

Pour ajouter un nouveau groupe de propriétés à une définition de profil

  1. Développez Gestionnaire Commerce Server, Ressources globales, Profiles, Catalogue de profils, Définitions de profils, puis cliquez sur la définition de profil à laquelle vous voulez ajouter un groupe de propriétés.
  2. Dans l’écran de définition de profil, cliquez sur Ajouter.
  3. Dans la boîte de dialogue Ajouter - Dialogue de page Web, sélectionnez l’option Ajouter un nouveau groupe, puis cliquez sur OK.
  4. Dans l’écran de définition de profil, dans la section Attributs, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper le nom de programmation du groupe de propriétés. Le nom peut contenir un nombre maximal de 127 caractères alphanumériques et le symbole de trait de soulignement (_). Le nom ne peut pas contenir d’espace.
    Nom complet | Taper le nom à afficher dans Business Desk. Le nom complet ne peut pas excéder 127 caractères Unicode.
    Description | Taper une description de la propriété. La description ne peut pas excéder 127 caractères Unicode.
  5. Cliquez sur Appliquer.
  6. Pour enregistrer la définition de profil, cliquez sur [image] dans la barre d’outils.

La définition de profil est enregistrée avec le nouveau groupe de propriétés. Vous pouvez placer des propriétés existantes dans le groupe ou ajouter de nouvelles propriétés au groupe.


Ajout d'un attribut personnalisé à une propriété de profil

Envoyer des commentaires sur cette page Commerce Server 2002

Ajout d’un attribut personnalisé à une propriété de profil

La ressource Profils affecte à chaque propriété des attributs qui stockent les caractéristiques de la propriété, telles que le nom (Ville) et le type (Chaîne) de la propriété. Parallèlement aux attributs de propriétés affectés par la ressource Profils, vous pouvez également définir des attributs personnalisés pour les propriétés. Vous pouvez par exemple créer un attribut personnalisé qui contrôle la façon dont une propriété est utilisée sur un site Web.

Par exemple, si vous accédez au répertoire virtuel Widgets pour modifier les définitions de profil sur un site prenant en charge SSL (Secure Socket Layers), passez à HTTPS.

Pour ajouter un attribut personnalisé à une propriété de profil

  1. Développez Gestionnaire Commerce Server, Ressources globales, Profiles, Catalogue de profils, Définitions de profils, puis cliquez sur la définition de profil contenant la propriété à laquelle vous voulez ajouter un attribut personnalisé.
  2. Dans l’écran de définition de profil, dans la liste Propriétés, sélectionnez la propriété à laquelle vous voulez ajouter un attribut personnalisé.
  3. Dans l’écran de définition de profil, dans la section Attributs personnalisés, cliquez sur Nouvelle.
  4. Dans l’écran de définition de profil, dans la section Attributs personnalisés, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper un nom de programmation pour l’attribut personnalisé. Le nom peut contenir un nombre maximal de 127 caractères alphanumériques et le symbole de trait de soulignement (_). Le nom ne peut pas contenir d’espace.
    Nom complet | Taper le nom à afficher pour l’attribut. Le nom complet ne peut pas excéder 127 caractères Unicode.
    Description | Taper une description pour l’attribut. La description ne peut pas excéder 127 caractères Unicode.
    Valeur | Taper la valeur de l’attribut.
  5. Cliquez sur Accepter, puis sur Appliquer.
  6. Pour enregistrer la définition de profil, cliquez sur Enregistrer dans la barre d’outils.

La définition de profil est enregistrée avec l’attribut personnalisé.


Gestion des propriétés de profil cryptées

Cette rubrique décrit de nombreux composants nécessaires pour créer un site qui garantit la sécurité des données importantes. Parmi les sujets traités dans cette rubrique figure la gestion des clés.

Important

  • Commerce Server ne comporte pas de système de gestion des clés. Vous devez concevoir et créer un système de gestion des clés pouvant générer, stocker et extraire des clés publiques et privées à utiliser dans le cryptage. Pour que votre application soit sécurisée, vous devez traiter cette question cruciale de manière appropriée.

Commerce Server 2002 prend en charge le cryptage asymétrique et le hachage à sens unique afin de permettre le cryptage des propriétés de profil.

Pour utiliser le cryptage asymétrique, vous devez normalement exécuter les étapes suivantes :

  • Utiliser Business Desk pour ajouter des propriétés de profil pouvant être cryptées.
  • Générer des clés publiques et privées.
  • Modifier le code d’application pour :
    • fournir les jetons utilisés dans le processus de cryptage au Profile Service et au fournisseur OLE DB de Commerce Server,
    • crypter les propriétés,
    • décrypter les propriétés.
  • Migrer les données vers une nouvelle paire de clés publique/privée. La migration des données n’est pas abordée dans cette rubrique.

Le hachage à sens unique permet de crypter les données qui n’ont pas besoin d’être décryptées, comme les mots de passe. Une fois que les valeurs cryptées ont été stockées, les données peuvent être comparées aux valeurs stockées à l’aide d’un algorithme de hachage dans une implémentation de comparaison de chaînes.

Cette section contient les rubriques suivantes :

  • Ajout de propriétés cryptées au Profile Service
  • Génération de clés publiques et privées
  • Ajout de valeurs pour les jetons de clé publique, de clé privée et d’index de clé
  • Création et extraction d’une instance de profil avec une propriété cryptée
  • Hachage à sens unique : conversion et comparaison des entrées utilisateur à la valeur hachée
  • Remarques importantes concernant le cryptage des clés de profils


Ajout de propriétés cryptées au Profile Service

Les procédures suivantes permettent d’ajouter de nouvelles propriétés de profil pouvant être cryptées.

Attention

  • Les propriétés avec des données préexistantes ne doivent pas être marquées comme pouvant être cryptées. Autrement, les données préexistantes seront perdues.

Étape 1 : ajouter une nouvelle propriété pour l’index de clé

Étape 2 : ajouter un attribut personnalisé de niveau profil

Étape 3 : ajouter des propriétés cryptées à un profil

Étape 1 : ajouter une nouvelle propriété pour l’index de clé

  1. Ouvrez le Gestionnaire Commerce Server.
  2. Développez Gestionnaire Commerce Server, Ressources globales, Profils, Catalogue de profils, Définitions de profils puis cliquez sur Objet utilisateur.
  3. Dans le volet droit, cliquez sur Système de profils dans la liste Propriétés.
  4. Cliquez sur Ajouter dans le volet droit.
  5. Dans la boîte de dialogue Ajouter-Page Web, sélectionnez Ajouter une nouvelle propriété.
  6. Cliquez sur OK.
  7. Dans la section Attributs, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper le nom de l’organisation (par exemple KeyIndex).
    Nom complet | Taper le nom à afficher sous l’onglet Attributs personnalisés (par exemple, KeyIndex).
    Description | Taper la description de l’attribut personnalisé KeyIndex.
    Type | Sélectionner Nombre.
    Référence de type | Sélectionner l’option vide. Ne peut pas être JoinKey, PrimaryKey, DualKey ni HashingKey.
  8. Dans la section Attributs avancés, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Active | Désactiver la case à cocher Oui.
    Mapper vers les données | Créer, si ce n’est déjà fait, le membre de données de type nombre en cliquant sur le bouton de sélection [...].
  9. Cliquez sur Appliquer, puis sur Enregistrer dans la barre d’outils.

Étape 2 : ajouter un attribut personnalisé de niveau profil

  1. Cliquez avec le bouton droit sur votre profil (par exemple, Objet utilisateur) et sélectionnez Propriétés.
  2. Cliquez sur l’onglet Attributs personnalisés.
  3. Cliquez sur Nouvelle.
  4. Dans la boîte de dialogue Attribut personnalisé, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper KeyIndex.
    Nom complet | Taper le nom à afficher (par exemple, KeyIndex).
    Description | Taper la description de l’attribut personnalisé KeyIndex.
    Valeur Taper Key Index.

    Il doit s’agir du même nom que le profil créé lors de l’étape précédente, Étape 1 : ajouter une nouvelle propriété pour l’index de clé.
  5. Cliquez sur OK dans la boîte de dialogue Attribut personnalisé.
  6. Cliquez sur Appliquer dans la boîte de dialogue Propriétés Objet utilisateur, puis cliquez sur OK.

Étape 3 : ajouter des propriétés cryptées à un profil

  1. Cliquez sur Ajouter dans le volet droit.
  2. Dans la boîte de dialogue Ajouter - Page Web, sélectionnez Ajouter une nouvelle propriété.
  3. Cliquez sur OK.
  4. Dans la section Attributs, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper le nom de la propriété.
    Nom complet | Taper le nom à afficher.
    Description | Taper la description de l’attribut personnalisé KeyIndex.
    Type | Sélectionner Mot de passe ou Chaîne.
  5. Dans la section Attributs avancés, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Mapper vers les données | Mapper la propriété à un nombre de données. Pour cela, cliquez sur le bouton de sélection [...].
    Type de clé Laisser ce champ vide.

    Le type de clé ne peut pas être UniqueKey, JoinKey, PrimaryKey, DualKey ni HashingKey.
    Cryptée | Sélectionner l’un des types de cryptage suivants dans la liste déroulante.
    Exportée | Désactiver la case à cocher Oui.
    À valeurs multiples | Facultatif.
    Possibilité de recherche | Désactiver la case à cocher Oui.
    Clé de hachage | Désactiver la case à cocher Oui.

    Remarque

    • Dans la section Attributs personnalisés, les propriétés cryptées ne peuvent pas être marquées comme étant displaycolumn ou friendlyname (pour utilisation dans les éditeurs de profils seulement).
    • Vous ne pouvez pas créer un attribut personnalisé au niveau de la propriété avec le nom EncryptedType (sensible à la casse).
    • Les propriétés cryptées sont limitées à 795 caractères Unicode.
  6. Cliquez sur Appliquer, puis sur Enregistrer dans la barre d’outils.


Génération de clés publiques et privées

Dans Commerce Server 2002, le cryptage asymétrique est effectué à l’aide de l’algorithme d’échange de clé publique-privée RSA. La longueur de clé est de 512 bits, et le fournisseurs de services cryptographiques (CSP, Cryptographic Service Provider) utilisé est Microsoft Enhanced Cryptographic Provider.

L’exemple de code suivant illustre la génération de clés publiques et privées par l’utilisation des routines CryptoAPI de 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;
}


Ajout de valeurs pour les jetons de clé publique, de clé privée et d'index de clé

Envoyer des commentaires sur cette page Commerce Server 2002

Ajout de valeurs pour les jetons de clé publique, de clé privée et d’index de clé

Le fournisseur OLE DB Commerce Server appelle la routine CryptoAPI en utilisant les valeurs des clés publique et privée. Les valeurs des jetons de clé publique, de clé privée et d’index de clé doivent être ajoutées manuellement aux chaînes de connexion du fournisseur OLE DB Commerce Server, car il n’existe aucun outil d’interface utilisateur permettant de réaliser cette opération. Notez que ces valeurs ne sont pas stockées dans la base de données d’administration. Il vous appartient de stocker ces valeurs dans un emplacement de stockage correctement sécurisé.

Les jetons suivants sont requis :

  • 1 jeton de clé publique (PublicKey)
  • 2 jetons de clé privée (PrivateKey1, PrivateKey2)
  • 1 index de clé

KeyIndex permet de déterminer la paire clé publique/clé privée utilisée dans le décryptage d’une valeur donnée. La valeur KeyIndex est déterminée de la manière suivante :

  • Quand PublicKey est utilisée avec PrivateKey1, la valeur KeyIndex est égale à 1.
  • Quand PublicKey est utilisée avec PrivateKey2, la valeur KeyIndex est égale à 2.

Paramètres des jetons et valeurs de données renvoyées

Si la clé privée n’est pas spécifiée dans la chaîne de connexion du fournisseur OLE DB Commerce Server, la valeur cryptée de la propriété est renvoyée.

Si la clé privée est spécifiée dans la chaîne de connexion du fournisseur OLE DB Commerce Server, la valeur décryptée de la propriété est renvoyée.

Si vous cryptez les données, la clé publique et l’index de clé doivent tous deux alors être spécifiés dans la chaîne de connexion du fournisseur OLE DB Commerce Server.

Si vous voulez à la fois crypter et décrypter des valeurs pendant une connexion de base de données particulière, la valeur de la clé privée doit correspondre à la valeur de la clé publique. De plus, la valeur de la clé privée doit être spécifiée dans le jeton approprié. Par exemple, si la valeur KeyIndex est égale à 2, la clé privée doit être spécifiée dans le jeton PrivateKey2.

Pour ajouter les valeurs des jetons à la chaîne de connexion du fournisseur OLE DB Commerce Server, vous devez apporter les modifications suivantes à la fonction cnGetProviderConnection dans le fichier global.asa. Le Profile Service accède à ces clés par des appels lancés au fournisseur OLE DB Commerce Server.

Fonction cnGetProviderConnection d’origine :

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

La fonction cnGetProviderConnection modifiée qui ajoute les jetons des clés :

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

Dans le dossier racine de Business Desk, dans le fichier \Profiles\CommonXMLRoutines.asp, vous devez modifier la fonction cnGetProviderConnection de la même façon que vous avez modifié cnGetProviderConnection dans l’exemple ci-dessus. Vous devez effectuer cette modification pour pouvoir enregistrer les valeurs de la chaîne de connexion dans la variable d’état de la session.

Le texte suivant contient des exemples de chaînes de connexion :

Exemple de chaîne de connexion Profile Service :

“Provider=CSOLEDB;SERVER=<server-name>;DATABASE=<db-name>;UID=<db-username>;PWD=<db-password>;PublicKey=<hex-string>;PrivateKey1=<hex-string>;PrivateKey2=<hex-string>;KeyIndex=1”

Exemple de chaîne de connexion du fournisseur CSOLEDB :

“url=mscop://InProcConnect/Server=<server-name>:Database=<db-name>:Catalog=Profile Definitions:User=<db-username>:Password=<db-password>:PublicKey=<hex-string>:PrivateKey1=<hex-string>:PrivateKey2=<hex-string>:KeyIndex=1”

Si votre application utilise la plate-forme ASP.NET, vous devrez ajouter la section de code suivante au fichier web.config. (Consultez l’exemple GrenadeFxTest, où le code pour modifier le fichier web.config a été inclus mais mis en commentaire.)

<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>


Création et extraction d'une instance de profil avec une propriété cryptée

Envoyer des commentaires sur cette page Commerce Server 2002

Création et extraction d’une instance de profil avec une propriété cryptée

Les sites Web prenant en charge le cryptage doivent contenir du code qui crée des profils avec des propriétés cryptées ainsi que du code qui extrait les propriétés cryptées à partir de la base de données, les décrypte et les affiche. L’exemple de code suivant illustre cette fonctionnalité ; il illustre également l’extraction des valeurs cryptées à partir de la base de données pour mettre cette fonctionnalité en contraste avec l’extraction des valeurs décryptées. Dans cet exemple, nous supposerons que le cryptage de la propriété de profil SSN utilise le cryptage asymétrique.

Remarques

  • Les noms de profil qui comptent plus de 57 caractères de long ne peuvent pas être exportées vers le Data Warehouse.
  • L’affectation de valeurs à des propriétés cryptées est similaire à l’affectation de valeurs à des propriétés non cryptées ; une fois que la chaîne de connexion a été fournie, les appels destinés à l’affectation de valeurs aux variables suivent toujours la même syntaxe, indépendamment de la question de savoir si la valeur doit être cryptée ou non.
  • Le champ keyIndex est en lecture seule.
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!”


Hachage à sens unique: conversion et comparaison des entrées utilisateur à la valeur hachée

Envoyer des commentaires sur cette page Commerce Server 2002

Hachage à sens unique : conversion et comparaison des entrées utilisateur à la valeur hachée

Le hachage à sens unique permet de crypter les données qui n’ont pas besoin d’être décryptées ; le cryptage des mots de passe en est un exemple d’implémentation. Le cryptage par hachage à sens unique de Commerce Server 2002 utilise l’algorithme de hachage MD5.

L’exemple suivant illustre un exemple de code de comparaison de valeurs hachées. Cet exemple illustre un scénario mettant en jeu des mots de passe hachés à sens unique. Lorsque l’utilisateur crée le mot de passe, la valeur de celui-ci est soumise au Profile Service via la propriété de mot de passe. Par la suite, lorsque l’utilisateur visite le site à une autre occasion, en effectuant l’authentification par rapport au profil créé précédemment, le site extrait le salt des caractères initiaux contenus dans le hachage, l’ajoute à la valeur d’entrée fournie par l’utilisateur, puis procède au hachage de cette valeur combinée. Le mot de passe qui en résulte est alors comparé au hachage stocké précédemment moins le salt préajouté.

Ce hachage utilise un algorithme MD5 combiné avec un salt aléatoire. Le salt est extrait sous la forme des quatre premiers octets (huit chiffres hexadécimaux) de la valeur renvoyée à partir de la propriété de profil. Le salt est préajouté à la valeur d’entrée avant le hachage.

La valeur de hachage utilisée pour la comparaison doit utiliser une comparaison ne distinguant pas les majuscules/minuscules, ou elle doit vérifier que les lettres hexadécimales sont en majuscules. Cet exemple de code illustre la conversion en majuscules.

Remarque

  • Pour cet algorithme de hachage, vous devez utiliser un ordre de primauté des octets de poids faible (Little endian) pour alimenter le flux d’octets vers le hachage MD5 dans l’implémentation de la comparaison de chaînes.
// 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
}


Remarques importantes concernant le cryptage des clés de profils

La clé privée doit être stockée non pas sur le serveur d’application mais sur le serveur Web. Dans un déploiement sécurisé, il existe deux pare-feu entre l’utilisateur externe et le serveur contenant la clé privée : le premier entre le serveur Web (contenant la clé publique) et la base de données, et le second entre la base de données et le serveur d’application (contenant la clé privée).

Pour que Business Desk prenne en charge le cryptage, vous devez ajouter la clé publique à la chaîne de connexion du fournisseur dans les méthodes suivantes :

  • La méthode sGetProviderConnStr dans le fichier \<Racine Business Desk>\Profiles\Commonxmlroutines.asp
  • La méthode RefreshProviderConnection dans le fichier \<Racine Business Desk>\Profiles\RefreshProfileSvcAll.asp
  • La méthode cnGetProviderConnection dans le fichier \<Racine Business Desk>\Global.asa


Gestion des entrées du glossaire du site dans la ressource Profils

La ressource Profils permet de modifier et de supprimer des entrées du glossaire du site afin de mieux répondre à vos besoins. Par exemple, vous pouvez créer une entrée du glossaire du site « Couleur préférée », puis modifier les couleurs répertoriées par cette entrée aux changements de saisons afin qu’elles correspondent à votre stock.

Cette section contient les rubriques suivantes :

  • Création d’entrées du glossaire du site dans la ressource Profils
  • Création et suppression d’entrées du glossaire du site dans la ressource Profils
  • Ajout d’une propriété mappée vers une entrée du glossaire du site dans la ressource Profils

Voir aussi

À propos de la ressource Profils


Création d'entrées du glossaire du site dans la ressource Profils

Envoyer des commentaires sur cette page Commerce Server 2002

Création d’entrées du glossaire du site dans la ressource Profils

La ressource Profils permet d’ajouter de nouvelles entrées du glossaire du site à Commerce Server. Vous pouvez également effectuer cette opération au moyen du module Éditeur d’entrées du glossaire du site de Commerce Server Business Desk. Pour plus d’informations sur l’ajout d’une entrée du glossaire du site dans Commerce Server Business Desk, consultez Création d’une entrée du glossaire du site.

Lorsque vous ajoutez une nouvelle entrée du glossaire du site à Commerce Server, vous définissez des valeurs, appelées « entrées », pour l’entrée du glossaire du site. Les entrées du glossaire du site vous permettent de répertorier des valeurs spécifiques pour une propriété de profil. Après avoir créé une entrée du glossaire du site, vous pouvez l’attribuer en tant que valeur d’une propriété de profil.

Par exemple, vous créez une entrée du glossaire du site Couleur préférée avec les valeurs « bleu », « vert » et « violet ». Vous définissez ensuite une propriété de profil « Couleur préférée » de type « Entrée du glossaire du site » et vous lui attribuez l’entrée du glossaire du site « Couleur préférée ». Lorsque des utilisateurs sélectionnent une couleur pour la propriété de profil « Couleur préférée », ils sont limités aux choix suivants : « bleu », « vert » et « violet ». L’écran Éditeur d’entrées du glossaire du site de la ressource Profils permet d’ajouter de nouvelles entrées du glossaire du site.

Vous pouvez créer des groupes d’entrées du glossaire du site pour organiser des entrées du glossaire du site dans l’écran Éditeur d’entrées du glossaire du site. Par exemple, outre l’entrée du glossaire du site « Couleur préférée », vous pouvez créer les entrées du glossaire du site suivantes avec leurs valeurs correspondantes et les regrouper au sein d’un groupe d’entrées du glossaire du site contenant les préférences utilisateur :

  • Marque (nommer la marque, générique)
  • Qualité (prix le plus faible, qualité la meilleure)
  • Achat (en ligne, catalogue, en magasin)

Pour ajouter un groupe d’entrées du glossaire du site

Pour ajouter une entrée du glossaire du site

Pour ajouter un groupe d’entrées du glossaire du site

  1. Développez Gestionnaire Commerce Server, Ressources globales, Profils (<nom serveur_nom base de données>), puis cliquez sur Entrées du glossaire du site.
  2. Dans la liste Propriétés, qui contient la structure des entrées du glossaire du site, cliquez sur Ajouter.
  3. Dans la boîte de dialogue Ajouter -- Dialogue de page Web, sélectionnez Ajouter un nouveau groupe, puis cliquez sur OK.
  4. Dans le volet Informations détaillées, dans la section Attributs, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper le nom de programmation du groupe d’entrées du glossaire du site. Ce nom ne peut pas excéder 128 caractères et doit contenir uniquement des caractères alphanumériques et des traits de soulignement (_). Le nom ne peut pas contenir d’espace.
    Nom complet | Taper le nom à afficher pour le groupe d’entrées du glossaire du site. Le nom complet peut contenir un nombre maximal de 128 caractères Unicode.
    Description | Taper une description pour le groupe d’entrées du glossaire du site. La description ne peut pas excéder 128 caractères Unicode.
  5. Cliquez sur Appliquer.
  6. Pour enregistrer le groupe d’entrées du glossaire du site, cliquez sur Enregistrer dans la barre d’outils.

Pour ajouter une entrée du glossaire du site

  1. Développez Gestionnaire Commerce Server, Ressources globales, Profils (<nom serveur_nom base de données>), puis cliquez sur Entrées du glossaire du site.
  2. Dans la liste Propriétés, qui contient la structure d’entrée du glossaire du site, sélectionnez le groupe d’entrées du glossaire du site dans lequel vous voulez créer la nouvelle entrée du glossaire du site, puis cliquez sur Ajouter.
  3. Dans la boîte de dialogue Ajouter - Dialogue de page Web, sélectionnez l’option Add new site term, puis cliquez sur OK.
  4. Dans le volet Informations détaillées, dans la section Attributs de l’entrée du glossaire du site, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper le nom de programmation de l’entrée du glossaire du site. Ce nom ne peut pas excéder 128 caractères et doit contenir uniquement des caractères alphanumériques et des traits de soulignement (_). Le nom ne peut pas contenir d’espace.
    Nom complet | Taper le nom à afficher pour l’entrée du glossaire du site. Le nom complet peut contenir un nombre maximal de 128 caractères Unicode.
    Description | Taper une description pour l’entrée du glossaire du site. La description ne peut pas excéder 128 caractères Unicode.
  5. Pour ajouter une valeur à l’entrée du glossaire du site, dans la section Entrées du glossaire, cliquez sur Nouvelle, puis effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom du glossaire | Taper le nom de programmation de la première valeur. Ce nom ne peut pas excéder 128 caractères et doit contenir uniquement des caractères alphanumériques et des traits de soulignement (_). Le nom ne peut ni contenir d’espace ni utiliser le format de jeu de caractères codés sur deux octets.
    Nom complet | Taper le nom à afficher pour la valeur. Le nom complet peut contenir un nombre maximal de 128 caractères Unicode.
  6. Cliquez sur Accepter pour accepter la valeur.
  7. Pour ajouter une autre valeur à l’entrée du glossaire du site, cliquez sur Nouvelle, tapez le nom et le nom complet de la valeur, cliquez sur Accepter, puis sur Appliquer.
  8. Pour enregistrer les entrées du glossaire du site, cliquez sur Enregistrer Enregistrer dans la barre d’outils.

Les valeurs sont enregistrées avec la nouvelle entrée du glossaire du site créée.

Voir aussi

À propos de la ressource Profils

Ajout d’une propriété mappée à une entrée au glossaire du site

Gestion des entrées du glossaire du site dans la ressource Profils


Création et suppression d'entrées du glossaire du site dans la ressource Profils

Envoyer des commentaires sur cette page Commerce Server 2002

Création et suppression d’entrées du glossaire du site dans la ressource Profils

Vous pouvez modifier les attributs et les termes des entrées du glossaire du site, ou supprimer des entrées du glossaire du site.

Pour modifier une entrée du glossaire du site

Pour supprimer une entrée du glossaire du site

Pour modifier une entrée du glossaire du site

  1. Développez Gestionnaire Commerce Server, Ressources globales, Profils, Catalogue de profils, puis cliquez sur Entrées du glossaire du site.
  2. Dans la liste Structure des entrées du glossaire du site, développez le groupe d’entrées du glossaire du site qui contient l’entrée du glossaire du site que vous voulez modifier.
  3. Dans l’écran de définition de profil, apportez les modifications souhaitées aux attributs et valeurs de l’entrée du glossaire du site, cliquez sur Accepter, puis sur Appliquer.
  4. Pour enregistrer l’entrée du glossaire du site, cliquez sur Enregistrer dans la barre d’outils.

L’entrée du glossaire du site est enregistrée avec vos modifications.

Pour supprimer une entrée du glossaire du site

  1. Développez Gestionnaire Commerce Server, Ressources globales, Profils, Catalogue de profils, puis cliquez sur Entrées du glossaire du site.
  2. Dans la liste Structure des entrées du glossaire du site, développez le groupe d’entrées du glossaire du site qui contient l’entrée du glossaire du site que vous voulez supprimer, sélectionnez l’entrée du glossaire du site, puis cliquez sur Supprimer.
  3. Dans la boîte de dialogue de confirmation Supprimer, cliquez sur OK.

    L’entrée du glossaire du site est alors supprimée.

  4. Cliquez sur Accepter, puis sur Appliquer.
  5. Pour enregistrer les modifications, cliquez sur Enregistrer dans la barre d’outils.

L’entrée du glossaire du site est enregistrée avec vos modifications.


Ajout d'une propriété mappée vers une entrée du glossaire du site dans la ressource Profils

Envoyer des commentaires sur cette page Commerce Server 2002

Ajout d’une propriété mappée vers une entrée du glossaire du site dans la ressource Profils

La ressource Profils permet d’ajouter une entrée du glossaire du site à une définition de profil. (Vous pouvez également effectuer cette opération au moyen du module Définition de profil de Commerce Server Business Desk.) Pour plus d’informations, consultez Ajout d’une propriété mappée à une entrée du glossaire du site.

Lorsque vous attribuez une entrée du glossaire du site à une propriété de profil, une liste déroulante contenant les valeurs de l’entrée du glossaire du site pour cette propriété sera proposée aux utilisateurs sur votre site Web. La sélection de l’utilisateur dans cette liste est stockée dans le profil de cet utilisateur en tant que type chaîne.

Pour ajouter une entrée du glossaire du site à une définition de profil

  1. Développez Gestionnaire Commerce Server, Ressources globales, Profils, Catalogue de profils, Définitions de profils, puis cliquez sur la définition de profil à laquelle vous voulez ajouter une entrée du glossaire du site.
  2. Dans l’écran de définition de profil, dans la liste Propriétés, développez le groupe de propriétés contenant la propriété à laquelle vous voulez attribuer l’entrée du glossaire du site.
  3. Dans l’écran de définition de profil, dans la section Attributs, sélectionnez Entrée du glossaire du site dans la liste déroulante Type.
  4. Dans la zone Référence de type, cliquez sur le bouton de sélection [...].
  5. Dans la boîte de dialogue Sélection d’entrées du glossaire du site, dans la liste Sélectionner une entrée du glossaire du site, développez le groupe d’entrées du glossaire du site contenant l’entrée du glossaire du site que vous voulez attribuer à la propriété, puis sélectionnez l’entrée du glossaire du site.
  6. Cliquez sur OK, puis sur Appliquer.

    L’entrée du glossaire du site est attribuée à la propriété.

  7. Pour enregistrer la définition de profil, cliquez sur Enregistrer dans la barre d’outils.

La définition de profil est enregistrée avec le changement de propriété.

Voir aussi

À propos de la ressource Profils

Ajout de propriétés aux définitions de profils de la ressource Profils

Création d’entrées du glossaire du site dans la ressource Profils

Gestion des entrées du glossaire du site dans la ressource Profils


Exportation et importation de schéma de profil

Vous pouvez utiliser la ressource Profils pour exporter ou importer le schéma de profil vers un fichier XML ou à partir de celui-ci. Par exemple, vous pouvez créer des sources de données, des définitions de profils et des entrées du glossaire du site sur un ordinateur de test puis les exporter vers un fichier XML. Vous pouvez ensuite importer le schéma de profil à partir du fichier XML sur votre serveur de production.

Vous importez et exportez un schéma de profil afin de pouvoir le déplacer facilement d’un serveur à l’autre. Cette approche est utile, par exemple, pour déplacer un schéma de profil d’un environnement de test vers un serveur de production.

Cette section contient les rubriques suivantes :

  • Exportation de schéma de profil
  • Importation de schéma de profil
  • Importation de profils utilisateur


Exportation de schéma de profil

L’exportation de schéma de profil permet d’exporter les éléments suivants de la ressource Profils vers un fichier .xml :

  • sources de données ;
  • partitions de sources de données (sans nom d’utilisateur ni mot de passe) ;
  • définitions de profils ;
  • Entrées du glossaire du site

Les noms d’utilisateurs et les mots de passe des chaînes de connexion des partitions de sources de données ne sont pas exportés. Lorsque vous importez un schéma de profil, vous devez recréer les chaînes de connexion pour chaque partition de source de données importée.

Pour exporter un schéma de profil

  1. Développez Gestionnaire Commerce Server, Ressources globales, Profils (<nom ordinateur_nom base de données>), Catalogue de profils, puis cliquez avec le bouton droit sur Exporter le schéma de profil.
  2. Dans la boîte de dialogue Sélectionner un fichier, sélectionnez le schéma de profil à exporter, puis cliquez sur Enregistrer pour enregistrer le nouveau fichier XML.
  3. Cliquez sur OK dans la boîte de dialogue Exportation du schéma de profil réussie.

Le fichier XML est enregistré sous le nom de fichier spécifié. La ressource Profils supprime les noms d’utilisateurs et les mots de passe des chaînes de connexion des partitions de sources de données exportées. Lorsque vous importez le schéma de profil, vous devez recréer les chaînes de connexion pour chaque partition de source de données. Vous pouvez ouvrir le fichier XML contenant le schéma de profil exporté dans un éditeur, tel que le Bloc-notes Microsoft, l’afficher dans un navigateur Web, tel que Microsoft Internet Explorer, ou l’importer dans une ressource Profils de Commerce Server.


Importation de schéma de profil

Lors de l’importation d’un schéma, vous importez les éléments suivants dans la ressource Profils à partir d’un fichier XML :

  • sources de données ;
  • partitions de sources de données (sans nom d’utilisateur ni mot de passe) ;
  • définitions de profils ;
  • Entrées du glossaire du site

Lorsque vous importez un schéma de profil, celui-ci remplace le schéma existant.

Pour importer un schéma de fichier

  1. Développez Gestionnaire Commerce Server, Ressources globales, Profils (<nom ordinateur_nom base de données>), cliquez avec le bouton droit sur Catalogue de profils, puis cliquez sur Importer le schéma de profil.
  2. Dans la boîte de dialogue Sélectionner un fichier, sélectionnez le schéma de profil à importer, puis cliquez sur Ouvrir pour ouvrir la boîte de dialogue Importer le schéma de profil.
  3. Dans la boîte de dialogue Importer le schéma de profil, sélectionnez le fichier contenant le schéma de profil à importer, puis cliquez sur Importer.

    Remarque

    • Pour modifier la chaîne de connexion du schéma de profil sélectionné, cliquez sur Modifier.
  4. Dans la boîte de dialogue Partitions, développez la source de données contenant les partitions à importer, sélectionnez la partition de source de données à importer, puis cliquez sur Modifier.

    Vous devez entrer un nom d’utilisateur et un mot de passe pour chaque partition de source de données à importer.

    Remarque

    • Pour plus d’informations sur la définition des partitions SQL Server, consultez Pour créer une source de données avec une partition de base de données SQL Server. Pour ajouter une nouvelle source de données compatible LDAPv3, consultez Pour créer source de données de type source compatible LDAPv3.
  5. Dans la boîte de dialogue de la chaîne de connexion de partition, cliquez sur Test pour vérifier que la chaîne de connexion fonctionne.
  6. Répétez les étapes 4 à 6 pour ajouter les noms d’utilisateurs et les mots de passe de toutes les partitions que vous voulez importer.
  7. Cliquez sur Importer pour importer la partition. Cliquez sur Oui pour importer la partition et remplacer le schéma existant.

Le schéma de profil est importé, remplaçant ainsi l’exemplaire existant.


Importation de profils utilisateur

Vous pouvez importer des données de profil utilisateur à partir d’un système externe en utilisant les méthodes suivantes :

  • Associez des informations de profil utilisateur aux données existantes. Cette opération peut être réalisée à l’aide de la fonction d’agrégation du Système de profil. Lorsque vous utilisez cette option, les données existantes sont traitées comme n’importe quelle autre source de données.
  • Importez les données dans le Système de profil Commerce Server. Le Système de profil fournit une interface OLE DB à laquelle vous pouvez accéder en utilisant des objets Active Directory pour exécuter des instructions SQL simples comme l’insertion, la mise à jour, la suppression et la sélection.


Gestion des comptes préexistants dans des banques Active Directory

Pour utiliser des comptes préexistants dans Active Directory, vous devez configurer correctement le conteneur de recherche et la zone de recherche des sources de données Active Directory. La bonne configuration du conteneur de recherche et de la zone de recherche permet au Système de profil de retrouver les comptes préexistants pour des opérations Active Directory telles que la création et l’extraction d’objets. Au début de chaque opération de recherche, le Système de profil définit le conteneur de démarrage de l’opération de recherche et détermine si celle-ci doit s’appliquer à un niveau ou à une sous-arborescence.

Cette section contient les rubriques suivantes :

  • Conteneur de démarrage pour les opérations Active Directory
  • Zone de recherche


Conteneur de démarrage pour les opérations Active Directory

Le Système de profil fournit trois attributs pour la définition du conteneur de démarrage de la recherche :

  • ParentDN
  • DefaultParentURL
  • URL parente

Ces attributs forment une hiérarchie qui détermine l’ordre des priorités de la recherche. Les trois rubriques ci-dessous suivent cet ordre.

ParentDN

La propriété ParentDN est ajoutée facultativement à la définition de profil afin de spécifier le DN (Distinguished Name) du conteneur de démarrage de la recherche. Cette propriété permet, le cas échéant, de spécifier le conteneur d’un profil particulier et de remplacer les paramètres des attributs DefaultParentURL et URL parente. La spécification de cet attribut garantit le niveau de contrôle le plus détaillé.

DefaultParentURL

L’attribut DefaultParentURL est ajouté en tant qu’attribut personnalisé à la définition de profil, comme l’illustre la figure ci-dessous. La valeur de cet attribut se rapporte à l’attribut personnalisé defaultNamingContext spécifié pour la source de données. Cette valeur est utilisée en tant que conteneur de démarrage de la recherche pour tous les profils (de ce type de définition) qui n’ont pas une valeur différente spécifiée dans une propriété ParentDN. Cet attribut remplace l’attribut URL parente.

La figure suivante montre l’ajout de l’attribut DefaultParentURL au profil UserObject.

Attribut ParentDefaultURL ajouté au profil UserObject.

URL parente

Vous pouvez configurer l’attribut URL parente à l’aide de l’onglet Attributs système de la boîte de dialogue Propriétés de la source de données LDAP utilisant la ressource Profils du Gestionnaire Commerce Server. La valeur de cet attribut correspond au DN (Distinguished Name) du conteneur de démarrage de la recherche.

Supposons, à titre d’exemple, que des comptes existants soient stockés dans CN=Users,DC=testDomain,DC=com. L’une des manières d’orienter le Système de profil vers la lecture des comptes à partir du conteneur consiste à affecter la valeur CN=Users,DC=testDomain,DC=com à l’attribut URL parente de la source de données Active Directory. Le Système de profil effectuera alors toutes les opérations Active Directory suivantes par rapport à ce conteneur sauf s’il est remplacé par l’attribut DefaultParentURL ou la propriété ParentDN.


Zone de recherche

La zone de recherche varie selon que l’opération du client est une opération en bloc (appel d’une requête SELECT sur un fournisseur OLE DB) ou une opération à instance unique (appel de la méthode GetProfile de l’objet ProfileService). Les opérations en bloc définissent toujours une zone de recherche portant sur la sous-arborescence (les sous-répertoires de l’attribut URL parente spécifié sont également explorés). Les opérations à instance unique appliquent par défaut la zone de recherche sur un niveau (les sous-répertoires sont ignorés). Vous pouvez configurer l’opération du client pour qu’elle effectue des recherches portant sur la sous-arborescence à l’aide de la ressource Profils du Gestionnaire Commerce Server.


Analyse des sites Commerce Server

Microsoft Windows 2000 Server et Commerce Server 2002 fournissent un ensemble d’outils d’analyse permettant aux administrateurs système d’analyser les performances de leurs sites Commerce Server. Les outils fournis par Windows 2000 Server et Commerce Server vous aident à analyser l’utilisation des sites. Vous pouvez utiliser les résultats de ces analyses pour ajuster les performances des sites en conséquence et vous adapter à l’augmentation du trafic.

La planification et la configuration des outils d’analyse constituent les étapes initiales de l’analyse de vos sites. Après avoir établi un plan d’analyse, consultez Optimisation de Commerce Server pour obtenir davantage d’informations sur l’ajustement des performances de vos sites.

Commerce Server génère des événements dans le composant logiciel enfichable (snap-in) de l’Observateur d’événements pour que vous puissiez vérifier que Commerce Server s’exécute correctement. Pour plus d’informations sur l’Observateur d’événements et le Moniteur système, consultez l’aide de Windows 2000 Server.

Cette section contient les rubriques suivantes :

  • À propos de l’analyse des sites. Décrit les outils d’analyse que vous pouvez utiliser.
  • Définition de la configuration de votre analyse. Décrit comment planifier et configurer vos outils d’analyse.
  • Analyse des serveurs de production. Décrit des méthodes permettant d’analyser des serveurs de production.
  • Analyse de la disponibilité des sites de commerce. Fournit une liste de contrôle de la disponibilité pour analyser votre site.
  • Compteurs de performance du matériel. Répertorie les compteurs de performance du matériel que vous devez analyser dans une installation Commerce Server 2002.
  • Compteurs de performance de Commerce Server. Répertorie les compteurs de performance disponibles dans Commerce Server 2002.
  • . Explique comment utiliser les compteurs de performance de Commerce Server pour analyser la ressource Predictor.


À propos de l'analyse des sites

Envoyer des commentaires sur cette page Commerce Server 2002

À propos de l’analyse des sites

Pour analyser les sites Commerce Server 2002, vous devez utiliser les compteurs de performance de Commerce Server ainsi que les outils d’analyse des serveurs et ressources disponibles dans Microsoft Windows 2000 Server et Microsoft Visual Studio.

Cette section traite des outils non-Commerce Server. Pour plus d’informations sur les compteurs de performance de Commerce Server, consultez Compteurs de performance de Commerce Server.

Health Monitor

Moniteur IPSec (Internet Protocol Security)

Outil Microsoft Web Application Stress

Moniteur réseau

Générateur de profils SQL Server

Visual Studio Analyzer

Outils d’analyse Active Directory

Health Monitor

Health Monitor est un service disponible dans Microsoft Application Center 2000. Il affiche les événements et les dépassements de seuil en exécutant un agent sur chaque serveur analysé et en effectuant le suivi des valeurs dans l’interface WMI (Windows Machine Interface). Pour plus d’informations sur Application Center, consultez l’aide de Microsoft Application Center 2000.

Moniteur IPSec (Internet Protocol Security)

Windows 2000 fournit le moniteur IPSec (Internet Protocol Security) pour confirmer le bon fonctionnement de vos communications sécurisées. Il affiche les associations de sécurité actives sur les ordinateurs locaux ou distants. Par exemple, vous pouvez utiliser le moniteur IPSec pour déterminer s’il y a eu des échecs de schéma d’authentification ou d’associations de sécurité, ce qui indiquerait la présence de paramètres de stratégie de sécurité incompatibles.

Outil Microsoft Web Application Stress

L’outil WAS (Web Application Stress) de Microsoft est un outil de simulation développé par des testeurs Web pour reproduire de façon réaliste plusieurs navigateurs demandant des pages d’une application Web. Microsoft a conçu l’outil pour qu’il soit convivial en masquant quelques-unes des complexités d’un test de serveur Web. L’outil WAS est pour cette raison utile à quiconque est intéressé par la collecte des données de performance d’un site Web.

Il représente la consolidation de nombreuses fonctionnalités développées dans WAS au cours des années, ainsi que de quelques nouvelles fonctionnalités. En outre, la version actuelle comprend des fonctionnalités essentielles pour le test de stress de sites sur trois niveaux, personnalisés et comportant des pages ASP qui s’exécutent sur Windows 2000.

Moniteur réseau

Le Moniteur réseau (Netmon.exe) est un outil d’administration de Windows 2000 permettant d’effectuer le suivi du trafic réseau. Le Moniteur réseau sert aussi à capturer le trafic réseau en vue de le visualiser et de l’analyser. Vous pouvez utiliser cet outil pour exécuter des tâches comme l’analyse de données capturées précédemment à l’aide de méthodes définies par l’utilisateur, l’extraction de données des analyseurs de protocole définis, ainsi que l’analyse du trafic en temps réel sur votre réseau.

Le Moniteur réseau est utile pour capturer les paquets entre les navigateurs, les serveurs Web et SQL Server. Il donne des informations de synchronisation précieuses et indique la taille de paquet, l’utilisation du réseau, de même que beaucoup d’autres statistiques qui peuvent être utiles pour gérer les performances du système. Il n’est pas installé par défaut, mais vous pouvez l’installer en utilisant l’option Ajout/Suppression de programmes du Panneau de configuration.

Générateur de profils SQL Server

Le Générateur de profils SQL Server est un outil qui capture les événements de Microsoft SQL Server à partir d’un serveur. Les événements sont enregistrés dans un fichier de suivi que vous pouvez analyser ou utiliser pour recréer plus tard une série d’étapes spécifique lorsque vous essayez de diagnostiquer un problème. Vous pouvez utiliser le Générateur de profils SQL Server pour effectuer les opérations suivantes :

  • reprendre pas à pas les requêtes problématiques pour trouver la cause du problème ;
  • chercher et diagnostiquer les requêtes lentes ;
  • capturer les séries d’instructions SQL qui débouchent sur un problème ; Le suivi enregistré peut ensuite être utilisé pour répliquer le problème sur un serveur de test où il peut être diagnostiqué.
  • Analyser les performances de SQL Server pour ajuster les performances de la base de données.

Visual Studio Analyzer

Vous pouvez utiliser Visual Studio Analyzer, un outil de Microsoft Visual Studio 6.0, Édition Entreprise, pour analyser les performances, isoler les défauts de pagination et comprendre la structure de vos applications distribuées. Vous pouvez utiliser Visual Studio Analyzer avec des applications et des systèmes créés avec n’importe quel outil Visual Studio.

Plusieurs technologies Microsoft, telles que COM (Component Object Model), ADO (ActiveX Data Objects) et COM+, ont la capacité de fournir des informations à Visual Studio Analyzer. Si vos applications utilisent l’une de ces technologies, vous pouvez obtenir des informations détaillées sur cette utilisation dans Visual Studio Analyzer. Vous pouvez par ailleurs personnaliser vos propres applications de manière à ce qu’elles fournissent des informations à Visual Studio Analyzer.

Outils d’analyse Active Directory

Si le site que vous déployez utilise Active Directory, utilisez les outils d’analyse suivants :

Outils d’analyse Active Directory | Permet d’analyser les éléments suivants
Journal des événements | Informations concernant des problèmes matériels, logiciels et liés au système. Vous pouvez utiliser les journaux des événements pour regrouper le temps de bon fonctionnement du système en analysant un ensemble d’événements (démarrage du système et différents événements d’arrêt du système).
Journaux et alertes de performance | Journaux et alertes de performance. Les compteurs de performance sont contenus dans des catégories d’objets. Vous pouvez configurer les journaux et alertes de performance pour qu’ils vous préviennent lorsque les seuils définis sont dépassés. Vous choisissez les critères inclus dans le rapport et le mode de rapport.
Moniteur de réplication | État de bas niveau et performance de réplication entre les contrôleurs de domaine Active Directory. Vous trouverez le moniteur de réplication dans le Kit de Ressources Techniques Microsoft Windows 2000 Server.

Voir aussi

Compteurs de performance de Commerce Server


Méthodes conseillées pour analyser un site

Pour télécharger la trousse à outils de planification de la capacité de Commerce Server 2002, consultez http://go.microsoft.com/fwlink/?LinkId=945.

Vous devez effectuer les opérations suivantes avant de démarrer le Moniteur système ou les journaux et alertes de performance sur l’ordinateur utilisé pour l’analyse, à des fins de diagnostic :

  • Fermer les programmes d’écran de veille.
  • Désactiver les services qui ne sont pas essentiels ou utiles pour l’analyse.
  • Exécuter le Moniteur système depuis un ordinateur distant. En effectuant ce changement, vous déplacez la majorité de la charge de l’unité centrale et d’E/S vers l’ordinateur distant.
  • Augmenter la taille du fichier d’échange pour correspondre à la taille de la mémoire physique plus 100 Mo.
  • Utiliser un réseau d’administration privé. Au cours d’une connexion distante, des mises à jour fréquentes peuvent ralentir les performances en raison du transport réseau. L’utilisation d’un réseau d’administration privé, généralement par le biais d’une autre carte d’interface réseau (NIC), résout ce problème. Vous pouvez également réduire l’échantillon de collecte des données. Par exemple, si vous effectuez l’échantillonnage des données avec des intervalles de trois secondes, essayez avec des intervalles de cinq secondes. Vous pouvez aussi utiliser deux interfaces/ordinateurs réseau pour que chaque segment du réseau effectue des opérations différentes. Par exemple, un ordinateur peut être dédié à la mise à jour des nouvelles et un autre peut être dédié à la mise à jour des transactions boursières.
  • Consultez les données enregistrées soit sous forme de graphique à l’aide de l’affichage du Moniteur système, soit en les exportant pour les imprimer. Pour obtenir des informations détaillées sur des compteurs de performance spécifiques, consultez Compteurs de performance de Commerce Server.
  • Définissez les alertes en fonction des valeurs des compteurs que vous considérez comme inacceptables, telles qu’elles sont indiquées dans votre évaluation de la ligne de base.
  • Réduisez le nombre de compteurs de performance pour ne garder que ceux dont vous avez besoin. Pour obtenir une liste des compteurs recommandés, consultez Compteurs de performance du matériel et Compteurs de performance de Commerce Server.
  • Analysez les tendances en ce qui concerne la planification de la capacité et ajoutez ou mettez des composants à niveau si nécessaire. Conservez les données enregistrées dans une base de données et observez les changements pour identifier ceux en rapport avec des besoins en ressources. Après avoir observé des changements d’activité ou de demande de ressources, vous pouvez identifier où des ressources supplémentaires sont nécessaires.

Voir aussi

Optimisation de Commerce Server


Définition de la configuration de votre analyse

Vous commencez l’analyse de vos sites en planifiant leur capacité et en configurant vos outils d’analyse de façon à limiter la surcharge liée aux analyses. Vous devez créer des configurations d’analyse qui peuvent être enregistrées et copiées vers d’autres ordinateurs en utilisant le Moniteur système de la console MMC (Microsoft Management Console). Une configuration d’analyse vous aide à mettre en évidence les problèmes des centres de données et à vous représenter le flux du trafic sur votre système. La création de cette configuration peut aussi vous aider à comprendre les problèmes logiciels des sites et l’interdépendance des logiciels.

Lorsque vous planifiez votre configuration, vous devez effectuer les opérations suivantes :

  • Configurer les journaux et alertes de performance pour communiquer les données des compteurs recommandés à intervalles réguliers, par exemple toutes les 10 ou 15 minutes.
  • Conserver les journaux pendant de longues périodes.
  • Stocker les données qui en résultent dans une base de données et interroger les données de façon à les analyser et à effectuer un rapport sur les performances générales, l’analyse des tendances et la planification de la capacité.

Cette section contient les rubriques suivantes :

  • Planification de la capacité
  • Limitation de la surcharge liée aux analyses


Planification de la capacité

Pour télécharger la trousse à outils de planification de la capacité de Commerce Server 2002, consultez http://go.microsoft.com/fwlink/?LinkId=945.

La planification de la capacité est le processus qui consiste à planifier les besoins en termes d’applications, de matériel et de réseau pour prendre en charge le trafic prévu et atteindre les performances souhaitées pour le site. Vous déterminez la capacité en mesurant le nombre d’utilisateurs visitant votre site, en déterminant le nombre de demandes effectuées par les utilisateurs sur le serveur, puis en calculant les ressources informatiques (unité centrale, mémoire vive (RAM), espace disque, bande passante et son utilisation, bande passante de réseau) nécessaires pour supporter les niveaux d’utilisation présents et futurs.

Pour assurer une capacité adéquate, vous devez calculer la quantité de matériel informatique nécessaire pour traiter la charge imposée par les milliers ou les centaines de milliers d’utilisateurs sur votre site. Ces calculs peuvent vous aider à localiser les zones de faiblesse susceptibles d’entraîner une baisse des performances. Vous pouvez résoudre ces problèmes en ajoutant du matériel ou en redéfinissant des pages dynamiques ou d’autres outils utilisant une grande quantité de ressources de l’unité centrale.


Limitation de la surcharge liée aux analyses

  • Les compteurs et outils de performance de Commerce Server sont conçus pour affecter au minimum les performances en termes de surcharge. Cependant, le fonctionnement des outils de performance est affecté par la taille des fichiers et l’espace disque utilisé par les fichiers journaux, qui contribuent à la surcharge.
  • Vous pouvez réduire la taille des fichiers et l’utilisation de l’espace disque en augmentant les intervalles de mise à jour. Vous pouvez également enregistrer les données sur un disque autre que celui faisant l’objet de l’analyse. Un enregistrement fréquent augmente aussi la demande sur les entrées et sorties de disque (E/S).

Accroissement de la surcharge liée aux analyses

  • Si la surcharge liée aux analyses constitue un problème, n’exécutez que les journaux et alertes de performance et n’utilisez aucun graphique du Moniteur système pour l’analyse de votre site. La surcharge peut augmenter dans les situations suivantes :
    • Vous exécutez le Moniteur système en mode d’affichage graphique.
    • Vous avez sélectionné une option différente de celle par défaut (valeur actuelle) pour un affichage de rapport.
    • Vous effectuez l’échantillonnage des données selon des intervalles très fréquents (inférieurs à trois secondes).


Analyse des serveurs de production

Si vous gérez une batterie de serveurs Web (Web farm) exécutant Commerce Server 2000 Enterprise Edition, vous pouvez analyser les performances du système en utilisant le Moniteur système de Windows 2000 ou d’autres outils similaires permettant de prévoir où les goulets d’étranglement peuvent se produire. Vous pouvez analyser de façon efficace vos serveurs de production en exécutant des tests d’étalonnage, en mettant à jour des profils d’utilisation et en analysant des compteurs de performance pour Commerce Server.

Exécuter des tests d’étalonnage

Mettre à jour des profils d’utilisation

Analyser les compteurs de performance de Commerce Server

Exécuter des tests d’étalonnage

Un système de stockage RAID Compaq, ou un sous-système de disques similaire, présente des caractéristiques de performances très différentes selon la configuration matérielle en place. La méthode conseillée consiste à étalonner le sous-système pour déterminer les éléments suivants :

  • Nombre maximal de lectures de disque physique par seconde
  • Nombre maximal d’écritures de disque physique par seconde
  • Nombre maximal d’octets disque par seconde

Les sous-systèmes de disque modernes ont plusieurs niveaux de complexité. Dans le cas de lecteurs de disque unique ou de solutions SCSI simples, le compteur % Temps du disque donne une image précise de la capacité du disque physique. Dans le cas de configurations plus complexes comprenant plusieurs disques, la file d’attente de disque peut augmenter jusqu’à atteindre le nombre de piles actives dans le groupe avant que chaque élément soit placé effectivement en attente de transfert.

Quant aux nouveaux systèmes de disques LVD (Low Voltage Differential) ou Fibre Channel, les problèmes sont plus complexes. Vous devez observer les performances et la capacité de ces systèmes haut de gamme à l’aide des outils fournis par le fabricant. De plus, il existe une limite maximale de bande passante dans le bus système du serveur et de l’interface SCSI ou Fibre Channel. Le débit total du disque doit être comparé à ces limitations.

Mettre à jour des profils d’utilisation

Le profil d’utilisation est un modèle statistique de l’interaction d’un utilisateur moyen et du nombre maximal d’utilisateurs simultanés que le site doit prendre en charge durant les pics d’utilisation. L’analyse du comportement des utilisateurs en vue de déterminer si ce dernier a changé constitue l’un des aspects importants de l’analyse d’un site. Il est primordial de surveiller l’augmentation des tendances en ce qui concerne l’activité des utilisateurs. Cependant, il est encore plus important de communiquer ces données à vos développeurs, testeurs et planificateurs de capacité pour qu’ils puissent planifier les configurations matérielles et logicielles futures.

Vous devez utiliser les compteurs de performance de l’objet Gestion de profil utilisateur pour mettre à jour et analyser le comportement des utilisateurs.

Analyser les compteurs de performance de Commerce Server

Consultez la liste des compteurs de performance de Commerce Server. Commencez par ajouter les compteurs de cette liste au Moniteur système. Vous pourrez ajouter d’autres compteurs plus tard.

Voir aussi

Compteurs de performance du matériel

Compteurs de performance de Commerce Server


Analyse de la disponibilité des sites de commerce

Créez une liste de contrôle de la disponibilité pour analyser la disponibilité de votre site. Cette liste de contrôle doit contenir les éléments de cette section.

Analyser l’utilisation de la bande passante : par jour, semaine et mois

Analyser la disponibilité du réseau

Analyser la disponibilité du système

Analyser la disponibilité HTTP

Analyser les mesures de performances

Analyser l’utilisation de la bande passante : par jour, semaine et mois

  • Bande passante. Utilisation de la bande passante (pic et inactivité).
  • Utilisation. Augmentation de l’utilisation (augmente-t-elle, quand augmente-t-elle et pendant combien de temps augmente-t-elle).

Vous pouvez utiliser ces informations pour prévoir la quantité de bande passante dont vous allez avoir besoin à l’avenir. Cela vous permet de planifier la bande passante nécessaire pour les achats liés à une période de fête spécifique.

Vous pouvez obtenir les données d’utilisation de la bande passante à partir des routeurs gérés et de l’analyse du journal IIS (Internet Information Services) 5.0 (en utilisant le Data Warehouse de Commerce Server).

Analyser la disponibilité du réseau

Utilisez les pings d’écho ICMP (Internet Control Message Protocol) réseau, disponibles dans la plupart des logiciels d’analyse réseau.

Comparez la disponibilité de votre réseau au niveau défini dans l’accord sur les niveaux de service (SLA, service level agreement) conclu avec votre fournisseur de services Internet (ISP, Internet Service Provider)/fournisseur de centre de données. Demandez une amélioration si la disponibilité du réseau est inférieure au niveau défini dans l’accord.

La formule de mesure de la disponibilité du réseau est la suivante :

(Nombre de réponses positives/nombre total de pings envoyés) x 100 %

Analyser la disponibilité du système

Analysez les systèmes suivants :

  • Système d’exploitation. Analysez les arrêts normaux et anormaux du système d’exploitation.
  • SQL Server. Analysez le fonctionnement normal et les événements de basculement de Microsoft SQL Server.
  • Services IIS (Internet Information Services). Analysez les arrêts normaux et anormaux des services IIS.

La formule de mesure de la disponibilité du système est la suivante :

(Période de mesure-temps d’immobilisation)/période de mesure) x 100 %

Analyser la disponibilité HTTP

Analysez les requêtes HTTP suivantes :

  • Requêtes HTTP (internes). Analysez les requêtes HTTP émises en interne.
  • Requêtes HTTP (par fournisseur de services Internet). Analysez les requêtes HTTP provenant des réseaux ISP pour vérifier si les utilisateurs des réseaux ISP analysés ont accès à votre site.
  • Requêtes HTTP (par zone géographique). Analysez les requêtes HTTP provenant de différentes zones géographiques (New York, San Francisco, Londres, Paris, Munich, Tokyo, Singapour, etc.) pour vérifier si les utilisateurs de ces zones ont accès à votre site.

Il y a temps d’immobilisation lorsque le site ne peut pas renvoyer une page ou qu’il renvoie une page avec une réponse incorrecte. La formule de mesure de la disponibilité HTTP est la suivante :

(Nombre de demandes HTTP positives/nombre total de demandes HTTP envoyées) x 100 %

Analyser les mesures de performances

L’analyse des performances ne fait pas à proprement parler partie de l’analyse de la disponibilité. Cependant, l’analyse des performances peut parfois vous alerter à l’avance de problèmes potentiels pouvant affecter la disponibilité si vous ne les réglez pas.

Analysez les mesures de performances suivantes :

  • Nombre de visites (par jour/semaine/mois). Analysez les informations concernant le trafic du site pour déterminer le niveau d’activité du site. Ces données sont disponibles à partir du Data Warehouse.
  • Latence des requêtes pour les ensembles d’opérations et les groupes de pages (par jour/semaine/mois). Comparez ces mesures à vos résultats de test d’analyse du coût des transactions (ACT) pour évaluer les performances de votre site par rapport aux prévisions ACT et identifier les engorgements du système.
  • Utilisation de l’UC (par jour/semaine/mois). Utilisation du moniteur sur les serveurs Microsoft Windows, les serveurs SQL Server, les serveurs IIS/Commerce Server, les intergiciels, etc. Regroupez les serveurs par fonction pour faciliter le suivi et la planification de la capacité du site.
  • Stockage sur disque. Regroupez les serveurs par fonction et analysez la capacité du disque (capacité totale du disque et espace disponible). Examinez l’historique hebdomadaire et mensuel pour pouvoir identifier des tendances et planifier des expansions.
  • E/S disque. Regroupez les serveurs par fonction et analysez les données d’entrée/sortie (E/S) disque. Comparez l’historique hebdomadaire et mensuel avec l’évaluation d’E/S disque fournie par le fabricant. Si l’E/S observée se rapproche de l’E/S disque, ajoutez d’autres piles (en ajoutant d’autres unités à l’agrégat par bandes) ou redistribuez l’E/S disque sur plusieurs contrôleurs de disques.
  • Bande passante du commutateur/contrôleur Fiber Channel. Analysez la bande passante du contrôleur Fiber Channel du réseau SAN (System Area Network). (Un réseau SAN est généralement utilisé pour interconnecter des nœuds au sein d’un système informatique distribué, un cluster par exemple. Ces systèmes font partie du même domaine administratif et se trouvent généralement à proximité. Un réseau SAN est physiquement sécurisé.) Si la bande passante observée se rapproche de l’évaluation de débit fournie par le fabricant, ajoutez d’autres contrôleurs et commutateurs pour redistribuer le trafic et obtenir davantage de bande passante totale.
  • Mémoire. Vérifiez que la quantité de mémoire disponible est supérieure à 4 Mo. Si le système s’approche de ce niveau lors d’un pic d’utilisation, ajoutez de la mémoire au serveur.


Compteurs de performance du matériel

Le tableau suivant décrit les compteurs de performance du matériel que vous devez analyser dans une installation Commerce Server 2002. Ces compteurs se trouvent dans le Moniteur système de Microsoft Windows 2000. Chaque serveur de votre centre de données doit être analysé avec des compteurs de performance et les résultats doivent être visualisés de façon collective. Les compteurs figurant dans les objets Système et Mémoire peuvent être utilisés pour analyser la capacité.

Objet de performance | Nom du compteur | Description
Segment réseau | Octets reçus/s Octets envoyés/s | Si une carte réseau est proche d’atteindre sa capacité maximale, une autre carte doit être ajoutée. Si cette valeur est proche d’atteindre la capacité du réseau, un réseau avec une plus grande largeur de bande passante s’avère alors nécessaire.
Instance Inetinfo (dans l’objet Processus) | Taille virtuelle (octets) | Permet de rechercher des pertes de mémoire ou une taille proche d’atteindre la mémoire vive (RAM) disponible maximale. Ce compteur mesure les allocations de mémoire virtuelle.
 | Jeu de travail | Doit se situer bien en dessous de la capacité matérielle disponible, c’est-à-dire que la valeur doit être inférieure à la mémoire vive (RAM) physique.
Mémoire | Octets disponibles | Doit être supérieur à 4 Mo.
 | Pages/s | Doit être inférieur à une page par seconde. Si la mémoire système est insuffisante, il s’agit du plus grand indicateur du problème.
Disque physique | Écritures disque/s Lectures disque/s | Combinés, ces deux compteurs doivent être bien en dessous de la capacité maximale du périphérique disque.
 | % Temps du disque | Pourcentage de temps écoulé pendant lequel le lecteur de disque sélectionné est occupé à traiter les demandes de lecture et d’écriture.
SQL Server | Transactions ES/s | Indique le niveau réel d’activité du serveur SQL Server.
 | Compilations/s Recompilations/s | Indique l’efficacité des requêtes que SQL Server exécute. La réduction de ce nombre est primordiale pour la réduction de la charge de l’unité centrale sur le serveur SQL Server.
Système | Changements de contexte/s | Si ce taux est supérieur à 5 000 changements de contexte par unité centrale, un autre serveur doit être ajouté pour effectuer une évolutivité horizontale du système.
 | % quota du Registre utilisé | Le pic d’utilisation peut être égal à 100 pour cent, mais l’utilisation ne doit pas être soutenue à un niveau dépassant la capacité de votre processeur. Tous les éléments du serveur peuvent faire l’objet d’une évolutivité horizontale.
Service Web | Total des connexions | Nombre de connexions TCP (Transmission Control Protocol) actives sur le serveur.
 | Requêtes GET/s | Nombre de requêtes HTTP reçues par le serveur. Il s’agit de l’indicateur principal de trafic sur un site Web.
 | Nb d’utilisateurs non anonymes/s | Permet de connaître le nombre de demandes des utilisateurs authentifiés sur un site.
Page ASP | Nb de requêtes/s | Taux auquel les pages ASP (Active Server Pages) traitent les requêtes. Inclut à la fois les requêtes qui ont réussi et qui ont échoué.
 | Demandes exécutées (matériel) | Nombre moyen de requêtes en cours d’exécution simultanément durant la période échantillonnée. Les services IIS (Internet Information Services) 5.0 contiennent de nombreuses threads pouvant traiter des requêtes simultanément.
 | Durée d’attente de la requête | Doit être très proche de zéro (moins de 100 millisecondes) car il s’agit de la durée pendant laquelle une requête reste en file d’attente avant d’être traitée. Vous ne souhaitez pas que les utilisateurs connaissent de longues périodes d’attente pour traiter leurs transactions de validation.
 | Nb de requêtes en attente | Il ne doit pas y avoir de file d’attente conséquente, sauf durant les périodes de trafic dense.

Nombre d’octets reçus par seconde (matériel)

Comparez le compteur du nombre d’octets reçus par seconde au total de la bande passante de votre carte réseau pour déterminer si votre connexion réseau crée un goulet d’étranglement. Pour permettre des pics de trafic, vous ne devez généralement pas utiliser plus de 50 pour cent de la capacité. Si le nombre est très proche de la capacité maximale de la connexion et que l’utilisation du processeur et de la mémoire est modérée, la connexion peut devenir un problème.

Demandes exécutées (matériel)

Si le nombre indiqué par le compteur Nb de demandes en cours d’exécution est toujours supérieur à un (1), il se peut qu’une page ASP ou un objet pose problème et entraîne la suspension de la demande. Si ce nombre n’est jamais supérieur à un, même durant les périodes de trafic dense, il se peut que vous ayez accidentellement laissé une page ASP introduire des erreurs sur votre site.


Compteurs de performance de Commerce Server

Le tableau suivant répertorie les compteurs de performance disponibles dans Commerce Server 2002 Enterprise Edition. Il est recommandé d’exécuter ces compteurs dans le Moniteur système, situé à la racine de la console du Gestionnaire Commerce Server.

Remarque

  • Pour analyser les performances d’un site dans une configuration comportant plusieurs sites, vous devez utiliser le jeton-cache Sitename dans toutes les chaînes de connexion des objets Profile Service, et ce pour tous les sites installés. Par exemple, si vous disposez de trois sites, A, B, et C, et que vous voulez analyser les performances du site A, vous devez inclure le jeton « Sitename= » dans le nom de site de tous les sites. Dans le cas contraire, les sites B et C incrémenteront tous les compteurs de performances, y compris ceux du site A.
  • Si vous ne trouvez pas de compteur de performance dans le Moniteur système, recherchez dans le Registre une valeur « Disable Performance Counters » sous la clé correspondant à ce compteur, par exemple :

    HKLM\System\CurrentControlSet\Services\CSMarketingPerf\Performance

    Si la valeur indiquée est 1, les compteurs sont désactivés. Sélectionnez la valeur zéro et les compteurs seront de nouveau actifs.

Objet de performance | Nom du compteur | Description
CS2000 : Gestion de profil utilisateur (UPM) | AuthMgr : tickets AnonTickets/s | Nombre de tickets ou de couples propriété/valeur définis pour les utilisateurs anonymes, par seconde, sur un site spécifique.
 | AuthMgr : authentifications AuthChecks échouées/s | Nombre de vérifications d’authentification échouées, par seconde, sur un site spécifique.
 | AuthMgr : authentifications AuthChecks réussies/s | Nombre de vérifications d’authentification réussies, par seconde, sur un site spécifique.
 | AuthMgr : objets AuthMgr/s | Nombre d’objets AuthManager créés par seconde sur un site spécifique.
 | AuthMgr : tickets AuthTickets/s | Nombre de tickets authentifiés définis par seconde sur un site spécifique.
 | AuthMgr : propriétés personnalisées/s | Nombre de propriétés personnalisées définies par seconde sur un site spécifique.
 | AuthMgr : propriétés Get_ personnalisées/s | Nombre de propriétés Get_ personnalisées définies par seconde sur un site spécifique. Le compteur GetProperty() extrait les valeurs des propriétés personnalisées du cookie utilisateur.
 | AuthMgr : total de tickets AnonTickets | Nombre total de tickets ou de paires propriété/valeur définis pour les utilisateurs anonymes sur un site spécifique.
 | AuthMgr : total d’authentifications AuthChecks échouées | Nombre total de vérifications d’authentification échouées par seconde sur un site spécifique.
 | AuthMgr : total d’authentifications AuthChecks réussies | Nombre total de vérifications d’authentification réussies par seconde sur un site spécifique.
 | AuthMgr : total d’objets AuthMgr créés | Nombre total d’objets AuthManager créés sur un site spécifique.
 | AuthMgr : total de tickets AuthTickets | Nombre total de tickets authentifiés sur un site spécifique.
 | AuthMgr : total des propriétés personnalisées | Nombre total de propriétés personnalisées définies sur un site spécifique.
 | AuthMgr : total des propriétés Get_ personnalisées | Nombre total de propriétés Get_ personnalisées définies sur un site spécifique.
 | AuthFilter : nombre total d’entrées de jeton-cache | Nombre total d’entrées de jeton-cache en mode d’authentification Windows.
 | AuthFilter : taille du jeton-cache (en octets) | Taille, en octets, du jeton-cache en mode d’authentification Windows.
 | AuthFilter : entrées de jeton-cache (actives) | Nombre d’entrées actives de jeton-cache en mode d’authentification Windows.
 | AuthFilter : nombre d’accès au cache en mode d’authentification Windows | Nombre total d’accès au cache de mots de passe en mode d’authentification Windows.
 | AuthFilter : accès au cache en mode d’authentification Windows/s | Nombre d’accès au cache de mots de passe, par seconde, en mode d’authentification Windows.
 | AuthFilter : échecs d’accès par mot de passe en cache en mode d’authentification Windows | Nombre total d’échecs d’accès par mot de passe en cache en mode d’authentification Windows.
 | AuthFilter : échecs d’accès par mot de passe en cache en mode d’authentification Windows/s | Nombre d’échecs d’accès par mot de passe en cache, par seconde, en mode d’authentification Windows.
 | AuthFilter : total de vérifications AuthChecks NT réussies | Nombre total de vérifications d’authentification Windows réussies par le filtre d’authentification de l’interface ISAPI (Internet Server Application Program Interface). Il s’agit du nombre total de fois que le filtre a transmis les informations d’identification aux services IIS (Internet Information Services) 5.0 et a reçu une réponse positive.
 | AuthFilter : vérifications AuthChecks NT réussies/s | Nombre de vérifications d’authentification Windows réussies par seconde.
 | AuthFilter : total d’authentifications AuthChecks NT échouées | Nombre total de vérifications d’authentification Windows échouées.
 | AuthFilter : authentifications AuthChecks NT échouées/s | Nombre de vérifications d’authentification Windows échouées par seconde.
 | AuthFilter : total des créations de cookie automatique | Nombre total de cookies automatiques générés.
 | AuthFilter : créations de cookie automatique/s | Nombre de cookies automatiques générés par seconde.
 | AuthFilter : nombre total de requêtes échouées | Nombre d’échecs dus à un cache de filtres plein, ou à une erreur ayant entraîné une redirection vers une page d’erreur par AuthFilter.
 | UPM : nombre de connexions actives | Nombre total de connexions actuellement actives dans le groupe de connexions.
 | UPM : nombre de segments de mémoire actifs | Nombre total de segments de mémoire actuellement actifs dans le groupe de segments de mémoire
 | UPM : nombre de segments de mémoire actifs (à l’aide de SetCounter) | Nombre total de segments de mémoire actuellement actifs dans le groupe de segments de mémoire (à l’aide de SetCounter)
 | UPM : état de la thread d’arrière-plan | La valeur pour ce compteur est soit 1 (activée) ou 0 (désactivée), indiquant si la thread d’arrière-plan est activée ou non.
 | UPM : changements de contexte de conflit de verrouillage des compartiments par seconde | Nombre total de changements de contexte par seconde dus à un conflit de verrouillage des compartiments.
 | UPM : changements de contexte de logique de recherche dans le cache par seconde | Nombre total de changements de contexte par seconde (le long du chemin d’accès de code logique des tentatives de recherche internes dans le cache).
 | UPM : changements de contexte de conflit de verrouillage du groupe de connexions par seconde | Nombre total de changements de contexte par seconde dus au conflit de verrouillage du groupe de connexions.
 | UPM : créer la latence du profil | Latence cumulée pour toutes les créations d’objets de profil en une seconde.
 | UPM : supprimer la latence du profil | Latence cumulée pour toutes les suppressions d’objets de profil en une seconde.
 | UPM : erreurs d’exportation DTS | Nombre total d’erreurs survenues durant l’exportation.
 | UPM : enregistrements DTS exportés | Nombre total d’enregistrements exportés.
 | UPM : enregistrements DTS exportés/s | Nombre total d’enregistrements exportés par seconde.
 | UPM : Taux de recherche des entrées libres | Nombre de fois par seconde, où la thread de premier plan a vidé les entrées du cache d’objets de profil pour rechercher un bloc disponible.
 | UPM : obtenir la latence du profil | Latence cumulée pour toutes les extractions d’objets de profil en une seconde.
 | UPM : changements de contexte de conflit de verrouillage du groupe de segments de mémoire par seconde | Nombre de changements de contexte par seconde dus au conflit de verrouillage du groupe de segments de mémoire.
 | UPM : modifier la latence du profil | Latence cumulée pour toutes les mises à jour d’objets de profil en une seconde.
 | UPM : lectures d’objets | Nombre total d’objets de profil récupérés.
 | UPM : objets lus/s | Nombre d’objets de profil récupérés par seconde.
 | UPM : créations d’objets | Nombre total d’objets de profil créés.
 | UPM : objets créés/s | Nombre d’objets de profil créés par seconde.
 | UPM : suppressions d’objets | Nombre total d’objets de profil supprimés.
 | UPM : objets supprimés/s | Nombre d’objets de profil supprimés par seconde.
 | UPM : modifications d’objets | Nombre total d’objets de profil modifiés.
 | UPM : objets modifiés/s | Nombre d’objets de profil modifiés par seconde.
 | UPM : objets du cache | Nombre total d’objets dans le cache.
 | UPM : taux d’accès au cache/s | Nombre d’accès au cache par seconde.
 | UPM : taux d’échec d’accès au cache/s | Nombre d’échecs d’accès au cache par seconde.
 | UPM : nombre de vidages du cache | Nombre de fois où la thread de premier plan a vidé les entrées du cache d’objets de profil pour rechercher un bloc disponible.
Catalog | Nombre de requêtes par seconde du catalogue | Nombre de requêtes effectuées sur le système de catalogue de produits par seconde. Les méthodes Query et FreeTextSearch sont utilisées pour enregistrer les valeurs des compteurs de l’Analyseur de performances. Aucune autre méthode n’enregistre les compteurs.
CS2000 : Data Warehouse | CatImport : total des catalogues | Nombre total de catalogues importés durant cette tâche d’importation DTS.
 | CatImport : total des catégories | Nombre total de catégories importées durant cette tâche d’importation DTS.
 | CatImport : total des produits | Nombre total de produits importés durant cette tâche d’importation DTS.
 | UPM : enregistrements DTS exportés/s | Nombre d’enregistrements DTS (Data Transformation Services) exportés par seconde.
 | UPM : enregistrements DTS exportés | Nombre total d’enregistrements DTS exportés.
 | UPM : erreurs d’exportation DTS | Nombre total d’erreurs DTS survenues durant l’exportation. Il s’agit d’un nombre cumulatif de champs non correspondants et d’objets qui n’ont pas pu être enregistrés par Data Warehouse.
 | UImport : tampons d’accès libres | Nombre de tampons d’accès vides disponibles.
 | UImport : tampons d’accès utilisés | Nombre de tampons d’accès remplis.
 | UImport : accès/s | Taux par seconde de traitement des accès par la tâche d’importation.
 | UImport : visites en cours | Nombre de visites actives enregistrées pendant le traitement des fichiers journaux.
 | UImport : événements Commerce | Nombre total d’événements Commerce Server survenus pour la tâche d’importation.
 | UImport : cookies décodés | Nombre total de cookies Commerce Server décodés rencontrés pendant l’exécution de la tâche d’importation.
 | UImport : chaînes de requête ; | Nombre total de chaînes de requête traitées pendant l’exécution de la tâche d’importation.
 | Total des IP résolus | Nombre total d’IP résolus durant cette tâche de résolution IP DTS.
 | Total des IP non résolus | Nombre total d’IP non résolus durant cette tâche de résolution IP DTS.
 | Fournisseur : total SetColumns | Nombre total d’appels de SetColumns().
 | Fournisseur : insertion de ligne validée/s | Nombre de lignes stockées par seconde.
CS2000 : marketing et catalogue | DML : nombre d’erreurs/s liées au publipostage | Nombre d’erreurs renvoyées par le service de publipostage par seconde.
 | DML : travaux de publipostage en cours d’exécution | Nombre total de travaux du service de publipostage en cours d’exécution.
 | DML : messages électroniques envoyés/s | Nombre de messages électroniques envoyés par tous les travaux du service de publipostage par seconde.
 | DML : total des erreurs liées au publipostage | Nombre total d’erreurs renvoyées par tous les travaux du service de publipostage.
 | DML : total des messages envoyés | Nombre total de messages électroniques envoyés par tous les travaux du service de publipostage.
 | EEE : évaluations/seconde | Nombre d’expressions évaluées par seconde.
 | EEE : taille du cache des expressions | Nombre total d’expressions présentes dans le cache d’expressions.
 | EEE : accès au cache des propriétés | Nombre total d’accès au cache des propriétés depuis le démarrage du système.
 | EEE : lectures de propriétés | Nombre total de propriétés lues par l’Évaluateur d’expressions depuis le démarrage du système.
 | EEE : lectures de propriétés/seconde | Nombre de propriétés lues par l’Évaluateur d’expressions par seconde.
 | EEE : accès au cache des résultats | Nombre total d’accès au cache de résultats depuis le démarrage du système.
 | EEE : total des erreurs d’évaluation | Nombre total d’erreurs d’évaluation renvoyées.
 | EEE : total des évaluations | Nombre total d’évaluations renvoyées depuis le démarrage du système, notamment les évaluations réussies et erronées.
 | LRUCache : taille du cache | Nombre total d’éléments dans le cache. La taille du cache peut dépasser de 10 pour cent la taille définie par l’utilisateur, point auquel un vidage se produit pour ramener la taille du cache à la limite prédéfinie. Les compteurs LRUCache sont regroupés par site et non pas par cache individuel.
 | LRUCache : vidages/s | Nombre d’éléments vidés du cache par seconde pour pouvoir contenir les nouveaux éléments ajoutés au cache. Enregistre les éléments vidés par l’algorithme LRU et les éléments vidés manuellement.
 | LRUCache : accès/s | Nombre d’accès au cache par seconde.
 | LRUCache : échecs/s | Nombre d’échecs d’accès au cache par seconde.
CS2000 : Pipelines | Temps moyen d’exécution | Temps moyen d’exécution en microsecondes du composant de pipeline spécifique.
 | Total des erreurs | Nombre total d’échecs Error Level 3 renvoyés par le composant de pipeline spécifique (PIPEERRORLEV_FAIL) ou FAILED HRESULT.
 | Erreurs par seconde | Nombre d’erreurs générées par le composant de pipeline spécifique par seconde.
 | Total des exécutions | Nombre total d’exécutions du composant de pipeline spécifique.
 | Exécutions par seconde | Nombre d’exécutions effectuées par le composant de pipeline spécifique par seconde.
 | Total des avertissements | Nombre total d’avertissements Error Level 2 renvoyés par le composant de pipeline spécifique (PIPEERRORLEV_WARN).
 | Avertissements par seconde | Nombre d’avertissements renvoyés par le composant de pipeline par seconde.

Remarques

  • Pour l’objet CS 2000 : Data Warehouse, les compteurs de performance de Data Warehouse sont utilisés uniquement lors de l’importation de groupes de données tels que des tâches DTS, des utilisateurs et des catalogues. C’est pour cette raison que les compteurs de performance de Data Warehouse doivent être définis en tant que serveurs anonymes.
  • Pour l’objet CS2000 : Pipelines, il existe une instance de chaque compteur de pipeline pour le pipeline entier.

Compteur de performance AuthMgr : authentifications AuthChecks échouées/s

Le compteur AuthMgr : authentifications AuthChecks échouées/s représente le nombre de vérifications d’authentification échouées par seconde. Le taux de ce compteur augmente lorsque la fonction IsAuthenticated échoue. Elle peut échouer si le cookie ne contient aucun ticket AuthTicket ou si le ticket AuthTicket présent dans le cookie a expiré.

Compteur de performance AuthFilter : taille du jeton-cache (en octets)

Le compteur AuthFilter : taille du jeton-cache (en octets) représente le nombre de jetons utilisateur stockés dans le cache du filtre. Ce nombre peut être modifié dans l’objet SiteConfig de la console MMC (Microsoft Management Console). Vous devez modifier ce nombre si le serveur dispose d’une mémoire vive (RAM) suffisante et que le site est fréquemment visité par un grand nombre d’utilisateurs divers sur une courte période.

Compteur de performance Nombre de requêtes par seconde du catalogue

Le compteur Catalogue : requêtes/s du catalogue représente le taux de requêtes par seconde via l’objet CS2000 : marketing et catalogue sur un serveur. Ces requêtes comprennent toutes les requêtes liées aux catégories et aux produits ainsi que les recherches en texte libre. Vous pouvez réduire le nombre de requêtes effectuées sur le système de catalogue de produits en utilisant un cache de produit ou un cache de recherche pour améliorer les performances. Il est également possible d’effectuer le suivi de la recherche en texte libre avec le compteur recherche>requêtes/s de Microsoft.

Le taux de requête du catalogue est le taux non mis en cache. Si ce taux est élevé, le code de l’application doit être modifié pour tirer avantage d’un mécanisme de mise en cache locale, tel que le compteur LRUCache.

Compteur de performance DML : travaux de publipostage en cours d’exécution

Le compteur DML : travaux de publipostage en cours d’exécution mesure le nombre de travaux simultanés. Il n’existe pas de méthode de synchronisation spécifique dans ce service. Il est possible que davantage de travaux simultanés génèrent ou non un plus grand débit.


Optimisation de Commerce Server

Vous analysez et optimisez les performances système de Microsoft Commerce Server 2002 pour garantir que votre site Web est en mesure de gérer les niveaux nécessaires de trafic Internet. Pour optimiser votre système, vous devez commencer par analyser votre système actuel, ainsi que vos transactions, puis déterminer combien d’utilisateurs visitent simultanément votre site pendant les périodes normales et les pics d’utilisation. Vous pouvez ensuite ajuster votre système de manière à en optimiser les performances.

Pour plus d’informations sur l’optimisation de Commerce Server, visitez le site http://go.microsoft.com/fwlink/?LinkId=5165 où vous trouverez une série de livres blancs expliquant les concepts et la méthodologie de l’analyse des performances et montrant comment une telle analyse a été effectuée sur des exemples de site. Ce site contient des liens permettant de télécharger des outils et d’accéder à des exemples de scripts pouvant être utilisés pour tester les performances de votre site.

Cette section contient les rubriques suivantes :

  • Analyse de votre système actuel. Décrit comment analyser votre système et améliorer la capacité de votre site.
  • Utilisation de l’analyse du coût des transactions. Décrit comment mesurer le coût des différents types de transactions Web sur votre site de manière à améliorer les performances.
  • Optimisation des performances des requêtes SQL Server. Décrit comment mettre à jour les statistiques d’index SQL afin d’optimiser les performances des requêtes SQL Server.
  • Matérialisation des catalogues virtuels. Explique comment, quand et pourquoi matérialiser des catalogues virtuels.
  • Exécution du script Updatefulltextcatalogs. Explique comment, quand et pourquoi exécuter le script Updatefulltextcatalog.
  • Performances des recherches de texte intégral dans les catalogues. Explique comment la recherche de texte intégral affecte les performances des catalogues.
  • Gestion des performances. Décrit les méthodes de réglage et d’optimisation des performances de Commerce Server.
  • Résolution des problèmes de performances. Répertorie les problèmes courants pouvant se produire lors de l’utilisation des outils d’optimisation de Commerce Server. Fournit des ressources supplémentaires sur la résolution d’autres problèmes de Commerce Server.
  • Informations supplémentaires sur l’optimisation. Répertorie la documentation en ligne et papier, ainsi que les outils d’optimisation de Commerce Server.


Analyse de votre système actuel

L’analyse de votre configuration système actuelle peut vous permettre de mieux comprendre son impact sur les performances globales du système. Après avoir analysé votre site, vous pouvez utiliser les informations ainsi réunies pour ajuster toutes les composantes de votre site. Par exemple, vous voudrez peut-être modifier la configuration, ajuster le fonctionnement du logiciel ou améliorer le matériel.

Lors de l’ajustement de votre site, vous serez peut-être amené à modifier votre configuration actuelle. Vous devez connaître la configuration actuelle de votre système afin de pouvoir déterminer précisément quel sera l’impact de sa modification sur les performances. L’analyse de la configuration de base de votre système doit comprendre l’évaluation des éléments suivants :

  • Matériel : faites l’inventaire de la configuration de chaque ordinateur, y compris les cartes, les périphériques (sauf souris et claviers) et les périphériques réseau. Créez un schéma du système montrant la connexion logique entre les différents composants et leur rôle. Par exemple, indiquez si un serveur est un serveur Web ou un serveur de base de données. La figure suivante montre un exemple de schéma de matériel.

Schéma de configuration matérielle

  • Configuration réseau : l’inventaire de votre configuration réseau doit inclure les éléments suivants :
    • type, vitesse, quantité, taille du cache et paramètres de cache de l’UC ;
    • type, quantité et taille de la mémoire ;
    • carte de contrôleur du sous-système de disque ;
    • vitesse du disque et type de lecteur ;
    • protocoles SCSI et Fiber.
  • Logiciels : décrivez les logiciels utilisés sur chaque ordinateur et leurs interactions avec des logiciels installés sur d’autres ordinateurs. La description des logiciels installés sur chaque ordinateur doit faire apparaître les éléments suivants :
    • Numéros de version.
    • Interface logique entre les applications, par exemple, si une application récupère des données d’une table de base de données, décrivez cette relation.
    • Service packs.
    • Options utilisées lors de l’installation du logiciel.
    • Paramètres système. Indiquez par exemple la configuration de votre mémoire virtuelle, comme un commutateur /3 Go. Indiquez votre niveau d’isolation IIS ainsi que les paramètres du Gestionnaire des services Internet (IIS), par exemple la mise en cache de l’état de session (désactivée/activée), le débogage ASP (doit être désactivé) et la mise en mémoire tampon ASP (doit être désactivée).

    Complétez la description de la configuration logicielle en créant un schéma des logiciels. La figure suivante montre un exemple de schéma des logiciels.

    Schéma de configuration logicielle

  • Contenu : décrivez le contenu ayant été ajouté à chaque type de serveur depuis l’installation de Commerce Server 2002. Par exemple, vous devez décrire chaque fichier, ainsi que la structure de répertoires dans laquelle les fichiers sont stockés sur les serveurs Web et les serveurs de base de données. Vous devez également indiquer des informations telles que les paramètres d’autorisation pour le système de fichiers, les scripts de base de données, les fichiers de configuration, les fichiers de données, etc.
  • Équilibrage de charge : décrivez à quels endroits vous utilisez l’équilibrage de charge réseau (NLB, Network Load Balancing). Par exemple, avez-vous réparti votre site sur plusieurs serveurs à l’aide de l’équilibrage de charge réseau ou de l’équilibrage de charge matérielle ?
  • Indiquez vos techniques de gestion : décrivez le mode d’archivage des fichiers journaux lors de la sauvegarde des bases de données. Précisez le mode de distribution des bases de données sur les différents disques.


Utilisation de l'analyse du coût des transactions

Envoyer des commentaires sur cette page Commerce Server 2002

Utilisation de l’analyse du coût des transactions

L’analyse du coût des transactions est une méthode de mesure de la capacité d’un site. Elle permet de mesurer le coût d’une transaction en termes de performances, le niveau de trafic pouvant être géré par votre site Web, ainsi que le coût de réalisation de différents types de transactions sur votre site. Vous utilisez l’analyse du coût des transactions pour mesurer la capacité de votre site, puis utilisez ses résultats pour augmenter la capacité de chaque composant système. Vous pouvez également comparer plusieurs transactions serveur de manière à déterminer celles qui utilisent le plus de ressources système.

Dans l’analyse du coût des transactions, le terme transaction fait référence au travail réalisé par un ou plusieurs serveurs (serveurs Web, serveurs de couche intermédiaire et serveurs SQL) pour répondre à la demande d’un utilisateur. Par exemple, la demande d’une page de description d’un produit qui est stockée dans une base de données est une transaction, de même qu’une demande d’ajout d’un article à un panier d’achat. Ce terme ne fait pas référence aux transactions d’e-commerce dans lesquelles il y a échange d’argent.

Analyse du trafic

Création d’un profil d’utilisation

Augmentation de la capacité du site Web

Augmentation de la capacité de la couche intermédiaire

Augmentation de la capacité de la base de données

Analyse du trafic

Après avoir analysé votre système actuel et décrit votre matériel et vos logiciels, vous devez déterminer combien d’utilisateurs visitent en général simultanément votre site, particulièrement pendant les pics d’utilisation. Pour ce faire, vous pouvez réaliser les deux analyses suivantes :

  • Analyse du marché : il s’agit de l’analyse d’un nouveau site. Vous avez peut-être demandé un rapport d’analyse du marché afin d’avoir une estimation prévisionnelle du trafic sur votre site au moment de son déploiement et par la suite. Utilisez ce rapport comme configuration de base pour votre analyse du coût des transactions.
  • Analyse de l’utilisation du site : il s’agit de l’analyse d’un site existant. Analysez les fichiers journaux de votre serveur Web afin de connaître le nombre d’accès à votre site à tout moment et noter des tendances d’utilisation pouvant indiquer si des parties du site sont devenues plus ou moins populaires avec le temps. Lors du calcul du nombre d’utilisateurs simultanés actuellement pris en charge par votre site, rappelez-vous de baser vos calculs sur les pics d’utilisation plutôt que sur les périodes d’utilisation normale.

Création d’un profil d’utilisation

Une fois que vous savez combien de personnes utilisent votre site, vous devez déterminer de quelle manière elles l’utilisent afin de pouvoir estimer les ressources système utilisées par un visiteur normal. Vous devez pour cela créer un profil d’utilisation qui vous servira de point de départ.

Le profil d’utilisation est créé à partir de l’analyse des fichiers journaux d’utilisation de votre site. Si vous disposez de journaux couvrant une longue période (au moins une semaine), les moyennes que vous dégagerez seront d’autant plus précises. Tout d’abord, identifiez les opérations pouvant être réalisées par un utilisateur (parcours, recherche, etc.). Ensuite, réunissez les informations suivantes :

  • nombre d’utilisateurs sur le site ;
  • nombre d’accès à chaque page (quelles pages ont été consultées) ;
  • temps passé sur chaque page ;
  • durée de la session ;
  • pics d’activité.

Vous pouvez utiliser le nombre d’accès à chaque page pour établir le profil des opérations standard des utilisateurs sur votre site. La liste suivante présente un profil d’utilisation comprenant les opérations standard de client sur le site d’e-commerce d’un détaillant.

  • Durée moyenne de la session : 10 minutes
  • % de visiteurs qui font des achats : 2
  • Multiplicateur de pics : 3 x en moyenne
  • Demandes par visite : 10

Le tableau suivant présente la distribution des demandes de page déterminées par statistiques. Les demandes sont calculées toutes ensembles, puis normalisées en fonction de la session utilisateur moyenne d’un point de vue statistique.

Opération | % de dist. | Pages ASP par opération | Calcul | Normalisation par visite
Panier anonyme | 8,15 | 9 | 73,35 | 2,12
Parcours anonyme | 20,37 | 3 | 61,11 | 1,76
Validation anonyme | 0,51 | 10 | 5,10 | 0,15
Recherche anonyme | 5,09 | 2 | 10,18 | 0,29
Recherche par étape anonyme | 3,05 | 3 | 9,15 | 0,26
Panier | 8,15 | 12 | 97,80 | 2,82
Parcours | 20,37 | 2 | 40,74 | 1,17
Validation | 0,71 | 15 | 10,65 | 0,31
Page d’accueil | 24,44 | 1 | 24,44 | 0,70
Inscription de nouveaux utilisateurs | 1,02 | 3 | 3,06 | 0,09
Recherche | 5,09 | 1 | 5,09 | 0,15
Recherche par étape | 3,05 | 2 | 6,1 | 0,18
Total | 100,00 |  |  | 10

Pour plus d’informations sur le processus de développement d’un profil d’utilisation en ligne, consultez la rubrique « Creating a Site Usage Profile » (en anglais) dans le chapitre 18 du Kit de Ressources Techniques Commerce Server 2000.

Augmentation de la capacité du site Web

Après avoir mesuré la capacité de votre système, vous pouvez découvrir que votre système actuel n’est pas en mesure de gérer le trafic actuel sur votre site Web. Vous pouvez également avoir des doutes quant à sa capacité à gérer une prochaine forte augmentation du trafic liée à une nouvelle campagne marketing ou à une période particulière de l’année (rentrée scolaire ou Noël).

Pour éviter toute baisse des performances, vous devez tester le niveau de trafic prévisionnel sur vos serveurs Web de manière à déterminer avec précision les ajustements qui devront leur être apportés afin qu’ils puissent faire face à la charge anticipée. (L’utilisation de calculs pour déterminer combien de serveurs doivent être ajoutés est une solution viable si tant est que les problèmes de capacité soient limités à une couche.) Vous pouvez utiliser le Moniteur système pour analyser la valeur des compteurs de différents objets serveur. Vous pouvez utiliser les compteurs de performance de Commerce Server pour visualiser les objets serveurs primordiaux pour votre entreprise. Pour plus d’informations sur le Moniteur système, consultez l’aide de Windows 2000 Server.

Pour augmenter la capacité, vous devez déterminer quelles ressources sont appauvries. Vous pouvez permettre une évolutivité verticale des serveurs Web en augmentant la mémoire, le processeur ou la capacité réseau. Vous pouvez également augmenter la capacité des serveurs Web en ajoutant des serveurs supplémentaires au cluster dont la charge est équilibrée. Il est néanmoins très important de parfaitement comprendre la capacité de l’ensemble de la batterie de serveurs Web (Web farm) avant de prendre la décision d’ajuster un seul composant.

Voir aussi

Utilisation de l’analyse du coût des transactions

Compteurs de performance de Commerce Server

Augmentation de la capacité de la couche intermédiaire

Vous pouvez utiliser les serveurs de la couche intermédiaire à différentes fins, comme l’exécution d’applications ou le stockage de contenu. Pour évaluer les performances de votre couche intermédiaire, vous devez analyser les compteurs de performance suivants :

  • Mémoire
  • Système
  • Disque physique

Si les valeurs de ces compteurs ne sont pas appropriées, vous devez procéder à des ajustements dans cette couche. Par exemple, lors de l’analyse du compteur Octets reçus/s, vous devez comparer ce compteur à la bande passante totale de votre carte réseau pour déterminer si votre connexion réseau crée un goulot d’étranglement. Il est recommandé d’utiliser 50 pour cent ou moins de la capacité existante de manière à laisser suffisamment de marge pour les pics de trafic visiteur. Si ce nombre est très proche de la capacité de votre connexion et que l’utilisation du processeur et de la mémoire est modérée, vous pouvez en déduire que le problème vient probablement de la connexion.

Vous souhaiterez peut-être également incorporer de la documentation abordant les problèmes de performances spécifiques aux technologies que vous utilisez dans cette couche afin de trouver des moyens d’augmenter sa capacité. Par exemple, l’aide de Windows 2000 Server fournit des informations sur l’utilisation de l’équilibrage de charge réseau pour permettre l’accès à des serveurs supplémentaires et ainsi augmenter la capacité.

Augmentation de la capacité de la base de données

Avant d’augmenter la capacité de votre base de données, vous devez analyser les compteurs de performance suivants :

  • Mémoire
  • Système
  • Disque physique
  • SQL Server

Une fois que vous aurez analysé ces compteurs, vous serez plus à même de juger si vous avez besoin d’ajouter de la mémoire, de l’espace disque ou des serveurs.

Vous pouvez augmenter la capacité de la base de données en ajoutant un nouveau serveur. Il est plus facile d’ajouter un nouveau serveur que de déplacer une application partageant un serveur de base de données vers un nouveau serveur. Néanmoins, l’augmentation de la capacité n’est pas toujours qu’une question d’ajout d’un autre serveur. Pour savoir comment ajuster la base de données, consultez la documentation de votre application de base de données.


Optimisation des performances des requêtes SQL Server

Des statistiques incorrectes ou obsolètes peuvent prolonger considérablement le temps nécessaire à l’exécution d’une requête sur une table contenant d’importants volumes de données.

Pour mettre à jour les statistiques d’index pour les tables Commerce Server 2002

Exécutez le script suivant pour chaque table Commerce Server 2002 pouvant potentiellement contenir un volume important de données :

UPDATE STATISTICS <Tablename> with FullScan

Exécutez ce script pour la table CatalogGlobal.

Pour chaque catalogue de base, exécutez ce script pour les tables suivantes :

  • CatalogName_CatalogProducts
  • CatalogName_CatalogHierarchy
  • CatalogName_CatalogRelationships

Pour chaque catalogue virtuel, exécutez ce script pour les tables suivantes :

  • CatalogName_CatalogProducts
  • CatalogName_CatalogHierarchy
  • CatalogName_CatalogRelationships
  • CatalogName_CATALOGVIRTUALPRODUCTS


Matérialisation des catalogues virtuels

Par défaut, les catalogues virtuels sont créés sous la forme de vues, ce qui simplifie et accélère leur modification, mais peut réduire les performances d’exécution par rapport aux catalogues de base. Pour améliorer les performances d’exécution des catalogues virtuels, vous pouvez les matérialiser à l’aide du script MaterializeVC.vbs.

Script MaterializeVC.vbs

Vous utilisez le script MaterializeVC.vbs pour définir un attribut de catalogue qui permet la matérialisation du catalogue lorsque celui-ci est reconstruit.

Le script MaterializeVC.vbs se trouve dans le dossier \Program Files\Microsoft Commerce Server 2002\Support.

Lorsque vous reconstruisez un catalogue virtuel, il est construit en tant que catalogue virtuel matérialisé ou non, selon le contenu par lequel il commencera.

La propriété de catalogue CatalogFlags (consultez la colonne CatalogFlags de la table CatalogGlobal) contrôle si un catalogue est matérialisé ou non. Voici un extrait du fichier Catalog.idl :

{
CATALOG_FLAG_DEFAULT= 0, // default value for the column
CATALOG_FLAG_MATERIALIZE_VC = 1,
}CatalogFlagsEnum;

Pour plus d’informations sur l’exécution du script MaterializeVC.vbs, appelez-le à l’aide de /?.

Remarque

  • Si un catalogue virtuel est matérialisé, vous devez le reconstruire lorsque des données sont modifiées dans les catalogues de base associés. Pour obtenir des instructions sur la reconstruction d’un catalogue virtuel, consultez Reconstruction d’un catalogue virtuel.


Exécution du script Updatefulltextcatalogs

Utilisez le script Updatefulltextcatalogs.vbs pour mettre à jour les index de texte intégral de l’ensemble des catalogues de produits d’un catalogue de texte intégral.

Lorsque plusieurs catalogues se trouvent dans un catalogue de texte intégral, vous pouvez utiliser le script Updatefulltextcatalog.vbs pour mettre simultanément à jour les index de texte intégral de l’ensemble des catalogues. Il est plus efficace d’utiliser le script Updatefulltextcatalog.vbs que l’objet ProductCatalog.RegenerateFullTextIndex, qui consomme beaucoup de ressources sur SQL Server.

Le script Updatefulltextcatalog.vbs se trouve dans le dossier \Program Files\Microsoft Commerce Server 2002\Support.

Le script Updatefulltextcatalog.vbs accepte les paramètres suivants :

  • la chaîne de connexion à la base de données du catalogue ;
  • -U pour mettre à jour les catalogues en texte intégral ;
  • -I pour définir une clé de Registre qui empêchera les erreurs dues aux mots ignorés dans les expressions de recherche en texte libre. Par défaut, SQL Server renvoie le message d’erreur « Une clause de l’interrogation ne contient que des mots ignorés ».

Si vous ne spécifiez pas les paramètres –U et –I, le script met à jour les catalogues en texte intégral et définit la clé de Registre.

Une fois que vous avez exécuté le script Updatefulltextcatalog.vbs, redémarrez le service Microsoft Search.


Performances des recherches de texte intégral dans les catalogues

Dans les installations qui utilisent plusieurs catalogues, la génération d’un catalogue en texte intégral peut durer jusqu’à 10 minutes.

Si vous gérez un grand nombre de catalogues (par exemple, 10 000) et que chacun d’eux comprend au moins 12 colonnes indexées en texte intégral et plus de 1250 produits (lignes) :

Commerce Server ajoute chaque table à un catalogue FullTextCatalog (existant ou nouveau), ajoute les 12 propriétés pour la recherche en texte intégral, puis démarre l’indexation de texte intégral.


Gestion des performances

La gestion des performances de votre site Commerce Server 2002 consiste essentiellement à trouver les goulots d’étranglement et à les éliminer. Un goulot d’étranglement représente un élément matériel ou logiciel qui fonctionne au maximum de sa capacité. À mesure que la charge approche la capacité maximale, le goulot d’étranglement commence à limiter le flux de travail via le système. Les outils de performance peuvent vous aider à déterminer quel élément matériel ou logiciel est engorgé. Vous pouvez ensuite améliorer le matériel, modifier la configuration ou régler le logiciel pour améliorer les performances globales.

Les performances ne représentent qu’un seul facteur d’optimisation de votre site Commerce Server. Parmi les autres facteurs importants figurent la facilité de développement et de maintenance, le délai avant la mise sur le marché, la disponibilité de bons outils de programmation et l’expertise des développeurs de sites en interne. L’optimisation des performances peut affecter n’importe lequel de ces autres facteurs.

Le développement d’un site Web est piloté par un dossier commercial qui détermine les priorités, par exemple, l’utilisation d’un langage de programmation spécifique ou d’une technologie particulière d’accès aux données. Or, ces décisions ont toujours un impact plus ou moins fort sur les performances. Il est extrêmement important de déterminer un niveau de performances nécessaire pour votre site Web, puis de développer le site et de le gérer de sorte qu’il maintienne ce niveau de performances.

Les sites Web sont souvent exécutés sur plusieurs couches physiques, chacune utilisant son propre matériel, ses propres logiciels système et ses propres logiciels d’application. De ce fait, les applications Web peuvent connaître de nombreux types de problèmes de performances : matériel (serveur Web, serveur de base de données, réseau), logiciels système (systèmes d’exploitation, logiciels réseau, services système), navigateurs, base de données logique, base de données physique, accès aux données, etc.

Vous pouvez répondre aux questions suivantes pour vous aider à déterminer les objectifs à atteindre dans le domaine des performances :

  • Les performances de ce site sont-elles à la hauteur de nos objectifs aujourd’hui et le seront-elles dans le futur ?
  • Y a-t-il un risque que notre configuration actuelle devienne un goulot d’étranglement ?
  • Combien notre site peut-il prendre en charge d’utilisateurs ?

L’analyse régulière des performances est le seul moyen d’assurer que le site répond bien aux objectifs de performances spécifiés. Elle peut vous permettre de voir très tôt si une modification nuit aux performances. Vous pouvez collecter des informations sur les performances en utilisant des outils système existants, en laissant l’analyseur de site faire un rapport sur ses propres performances ou en créant des applications clientes spéciales pour piloter le système.

Lorsque vous ajustez les performances, vous devez dans un premier temps mesurer les performances système pour savoir si elles répondent à vos objectifs. Si elles ne sont pas conformes à vos objectifs, localisez le goulot d’étranglement, éliminez-le, puis répétez le processus jusqu’à ce que vous atteigniez vos objectifs de performances. Vous pouvez toujours augmenter les performances, mais une fois que les performances du site ont atteint vos objectifs, les ajustements supplémentaires ne sont généralement pas rentables.

Cette section contient les rubriques suivantes :

  • Terminologie liée aux performances
  • Repérage des goulots d’étranglement (performances)
  • Réglage de vos équipements
  • Réglage de votre logiciel
  • Analyse et maintenance des journaux
  • Compteurs de performance clés
  • Analyse des compteurs de performance

Voir aussi

Analyse des sites Commerce Server


Terminologie liée aux performances

Le tableau ci-dessous définit les termes liés aux performances utilisés dans l’aide de Commerce Server.

Terme | Définition
ASP (Active Server Pages) | Pages d’informations transmises par le serveur Web au navigateur du client. Les pages ASP constituent les blocs de construction des opérations des utilisateurs, ainsi que la principale unité de mesure des performances d’un serveur Web (demandes ASP/s).
changement de contexte | Fréquence à laquelle une thread est basculée vers une autre (à l’intérieur d’un processus ou entre différents processus).
coût de l’UC | Ressources de l’unité centrale (UC) nécessaires pour effectuer une opération de client unique.
DC | Contrôleur de domaine (DC, Domain Controller).
DTC | Acronyme de Microsoft Distributed Transaction Coordinator. Il s’agit d’un gestionnaire de transactions permettant aux applications clientes d’inclure dans une transaction plusieurs sources de données différentes. MS DTC coordonne la validation de la transaction distribuée sur tous les serveurs inscrits dans la transaction.
fréquence | Opérations effectuées par seconde par un client unique.
service de cluster Microsoft (MSCS) | Le service de cluster Microsoft associe deux serveurs pour accroître la disponibilité d’un service.
MTBF | Temps moyen entre les pannes (MTBF, Mean time Between Failures).
NIC | Carte d’interface réseau (NIC, Network Interface Card).
NLB | L’équilibrage de charge réseau (NLB, Network Load Balancing) est une fonctionnalité fournie dans Microsoft Windows 2000 Advanced Server pour permettre l’évolutivité et la fiabilité.
OLAP | Acronyme de Online Analytical Processing.
performances optimales | Performances les plus élevées mesurées pour une opération de client spécifique avec le coût de l’UC le plus bas mesuré. Le coût de l’UC progresse géométriquement lorsque le changement de contexte dépasse la fréquence de 15 000/s. En conséquence, les mesures de performances optimales sont prises avant que le changement de contexte n’atteigne ce seuil.
P3EM (Pentium III equivalent MHz) | Unité de mesure du travail du processeur. Un processeur Pentium III cadencé à 800 MHz fournit un travail de 800 P3EM (Pentium III equivalent MHz). Un ordinateur doté de deux processeurs Pentium III cadencés à 800 MHz fournit un travail maximal de 1600 P3EM.
P3MC (Pentium III Million Clock Cycles) | Nombre de cycles effectués par une puce Pentium III afin de traiter une opération. Par exemple, si un serveur Pentium III cadencé à 800 MHz a effectué une demande par seconde à 10 pour cent d’utilisation du processeur, l’exécution de cette demande a nécessité 80 P3MC. De même, si une opération importante a nécessité 10 secondes d’activité sur le même processeur fonctionnant à 99 pour cent d’utilisation, l’exécution de cette opération a nécessité 0,99 x 10 x 800 P3MC.
RAID | Acronyme de Redundant Array of Inexpensive Disks.
Réseau SAN | Un réseau SAN est une solution matérielle pour fournir un procédé de stockage plus riche.
SPOF | Point faible unique (SPOF, Single point of failure).
utilisateur | Utilisateur connecté à un site Commerce Server par le biais d’un navigateur Web.
opération utilisateur | Action effectuée par un utilisateur alors qu’il visite le site, par exemple la consultation des produits, l’ajout d’un produit au panier d’achat et l’achat d’un produit.
profil utilisateur | Description du comportement de l’utilisateur créée par un expert en planification de la capacité, utilisée pour projeter la capacité du système en termes d’utilisateurs. Le profil utilisateur se compose d’une série d’opérations utilisateur dans des proportions spécifiées durant une période donnée.
analyse du coût des transactions | L’analyse du coût des transactions est une méthode de calcul de la capacité d’un site Internet.
durée de fonctionnement | Pourcentage de temps pendant lequel le site Web répond à des demandes de l’utilisateur final.


Repérage des goulots d'étranglement (performances)

Envoyer des commentaires sur cette page Commerce Server 2002

Repérage des goulots d’étranglement (performances)

Le meilleur moyen de détecter des goulots d’étranglement au niveau des performances dans une solution déployée consiste à analyser les compteurs de performance et à bien comprendre l’architecture et le déploiement du système.

Éviter le code ASP superflu

Sur le niveau Web, vous pouvez augmenter le débit et réduire la latence de page en diminuant la taille du code ASP de votre site. Les fichiers Include en masse peuvent réduire de manière significative les performances de votre site.

Pour régler les performances des services IIS, consultez « The Art and Science of Web Server Tuning with Internet Information Services 5.0 » (en anglais) disponible à l’adresse suivante :

www.microsoft.com/TechNet/prodtechnol/iis/maintain/optimize/iis5tune.asp

Mise en cache des composants de serveur Web

La prochaine étape pour augmenter le débit consiste à tirer parti de la mise en cache dans le serveur d’application. Commerce Server 2000 possède un objet de cache qui s’exécute sur le serveur Web frontal. Les pages pour la recherche dans le catalogue et les pages de produits finis tirent parti du nouvel objet LRUCache (Least Recently Used Cache) de manière extensive. Cet objet met en cache le fragment HTML réel une fois qu’il a rendu l’ensemble de données de retour du serveur de base de données principal. Les demandes suivantes effectuées pour le même contenu par n’importe quel utilisateur sont fournies à partir de la mémoire locale sur le serveur Web frontal par le biais de LRUCache.

Le coût total de l’UC est ainsi relativement réduit, car le serveur SQL Server n’est plus appelé et la requête LRUCache nécessite moins de ressources que la compression, l’envoi et la réception de la demande de base de données. Dans la mesure où la requête ne quitte pas l’ordinateur local, le trafic réseau est moins dense et le coût des E/S global est moins élevé. Pour plus d’informations sur les caractéristiques de performance de ce nouvel objet, consultez le livre blanc Microsoft Commerce Server 2000 Online Marketing Components, Pipeline, and Core Objects Transaction Cost Analysis.

Mise en cache du serveur ISA

Microsoft Internet Security and Acceleration Server 2000 (ISA Server) Enterprise Edition propose un large éventail d’options de service de mise en cache pour le trafic sortant et entrant. Pour assurer une mise en cache de haute performance, les groupes ISA peuvent être implémentés avec ISA Server Enterprise Edition. Il est recommandé d’utiliser les serveurs ISA Server pour mettre en cache le contenu statique (par exemple, les graphiques et le contenu statique non personnalisé), afin de réduire la charge imposée aux serveurs Web de niveau frontal.

Pour plus d’informations sur la mise en cache ISA, consultez le livre blanc ISA Caching à l’adresse suivante : www.microsoft.com/isaserver/techinfo/planning/cachingwp.asp


Réglage de vos équipements

Le choix du matériel adéquat pour les serveurs Web et SQL Server joue un rôle important dans la réalisation d’une analyse des performances. Le résultat de ce travail consiste à établir des recommandations en matière de matériel approprié pour les autres utilisateurs.

Serveurs Web

Les serveurs Web ont disposé d’une mémoire vive (RAM) plus que suffisante pour effectuer leur tâche. Nous avons calculé le jeu de travail maximal pour le serveur en condition de charge et avons ainsi déterminé dans quelles proportions nous pouvions réduire la mémoire vive physique sur le serveur.

Le sous-système de disque du serveur Web frontal est utilisé en tant que périphérique en lecture seule pour le stockage de la partition de démarrage et du contenu du site. Un périphérique en lecture/écriture est nécessaire pour le fichier d’échange, mais ces opérations sont minimales étant donné la mémoire physique suffisante pour prendre en charge le système. Le serveur Web utilise le sous-système de disque pour écrire dans les journaux des événements et les journaux Web. Cette activité est bien réglée par le système d’exploitation et nécessite rarement plusieurs piles pour les performances.

Le système réseau du serveur Web doit comporter au moins une carte 100BaseT. Pour obtenir un meilleur niveau de sécurité, de gestion et de disponibilité, le serveur doit disposer de deux, voire de trois cartes réseau. Le débit réseau des serveurs Web n’était pas suffisant pour provoquer la saturation d’une carte, même de 100 mégabits.

Enfin, l’unité centrale et le sous-système de traitement du serveur doivent être ce qui se fait de mieux à l’heure actuelle en la matière. Ce sous-système matériel particulier demeure le goulot d’étranglement sur ce serveur pour l’avenir prévisible. Ceci s’explique par le caractère dynamique et intense en processus des pages Web ASP. L’explication se trouve aussi dans notre système actuel d’octroi de licences par processeur.

Serveurs SQL Server

Sur les serveurs SQL Server, l’option de réglage la plus importante consiste généralement à configurer le sous-système de disque physique. Pour assurer des performances optimales, les bases de données doivent être séparées de leurs journaux des transactions en les plaçant sur des lecteurs physiques différents. L’ensemble des bases de données, des journaux des transactions et TempDB doivent être configurés de telle sorte que le sous-système de disque individuel ne constitue pas de goulot d’étranglement. Dans notre scénario de test, le sous-système de disque physique ne constituait pas un problème, mais un véritable site doit soigneusement mettre en corrélation l’espace disque et les transactions afin de planifier l’augmentation des besoins en espace disque.

SQL Server tirant parti des grandes quantités de mémoire physique, la quantité de mémoire vive disponible doit être pondérée par rapport au jeu de travail de la base de données. Au cours d’un test d’exécution, les E/S réseau et la charge de traitement sur le serveur SQL Server seront directement fonction du nombre de serveurs frontaux accédant à la base de données SQL et du profil de la charge. Dans notre test, nous avons configuré le serveur SQL Server pour qu’il ne constitue pas le goulot d’étranglement. Commerce Server 2000 est conçu pour une évolutivité horizontale et un partitionnement des systèmes de base de données principale. Les bases de données pour le marketing, la gestion de profil utilisateur, le catalogue, le Data Warehouse, les transactions et l’administration peuvent être séparées dans des bases de données SQL Server physiques. Le système déployé peut ainsi être facilement distribué sur un serveur ou un cluster distinct par base de données. Les détails sur la façon d’effectuer cette opération ne sont pas abordés dans cette discussion.


Réglage de votre logiciel

Dans le cadre de cette analyse, il est recommandé de limiter au minimum le paramétrage du serveur Web frontal. Dans le Gestionnaire des services Internet, vous pouvez définir la barre du curseur des performances à son maximum. Tous les autres paramètres peuvent demeurer inchangés. Si vous devez modifier des paramètres au cours d’un test ou dans un site réel, n’en modifiez qu’un à la fois, puis confrontez attentivement les nouveaux résultats aux anciens.

Remarque

  • Si vous modifiez n’importe lequel des différents paramètres sans y accorder d’attention particulière, l’administration et la gestion du site risquent de devenir des tâches difficiles.

Sur les serveurs SQL Server, tous les paramètres par défaut peuvent demeurer inchangés.

Réglez les paramètres du cache LRUCache afin d’optimiser votre installation en définissant la taille du cache de telle sorte que le rapport Accès au cache / (accès au cache + échecs d’accès au cache) soit au moins égal à 90 pour cent. La taille du cache peut être modifiée dans son initialisation globale. Il est également possible de régler le cache du profil utilisateur de la même manière.


Analyse et maintenance des journaux

Grâce à l’analyse régulière de vos journaux système, vous pourrez éviter des pannes catastrophiques et vous préparer à des hausses inattendues de l’activité du serveur.

  • Faites en sorte que l’Observateur d’événements vous envoie au moins deux fois par jour un message ou des alertes vous informant des activités d’événement et faites part aux personnes concernées de toute anomalie.
  • Au moins une fois par semaine, analysez les journaux de serveur Web afin de détecter les modifications des tendances d’accès des utilisateurs. Assurez-vous que le trafic sur votre site Web reste dans les limites système. Vous souhaiterez peut-être également reconfigurer vos pages Web ou vos offres de produits en fonction l’analyse des tendances.
  • Sauvegardez et supprimez régulièrement vos journaux de bases de données. Il est recommandé de copier les journaux de bases de données sur un périphérique de sauvegarde externe, tel qu’un lecteur de bande, avant de les supprimer.
  • Confiez à un agent d’analyse externe, tel que Keynote Systems, l’analyse de la latence de page de votre site à partir de différents emplacements distants.

Voir aussi

Analyse des sites Commerce Server


Compteurs de performance clés

Dans le cadre de cette analyse, il est nécessaire de se concentrer sur les compteurs clés suivants.

Processeur -> % Temps processeur

Au cours du test de performance pour mesurer la capacité, le processeur doit être maintenu en-dessous d’une limite qui correspond à la cible des outils d’analyse ou d’une limite qui a été définie par le personnel du centre de données. Pour notre test, la limite a été fixée à 85 pour cent.

Mémoire -> Pages/s

Mesure les demandes de mémoire réelles effectuées sur le disque dur. Un pourcentage élevé peut révéler un manque de ressources mémoire ou une solution mal élaborée.

Mémoire -> Mégaoctets disponibles

Si le nombre de mégaoctets disponibles est trop faible, le système démarre le fichier d’échange. Le nombre minimal absolu de mégaoctets disponibles est de quatre, mais il est conseillé de conserver de la place sur un serveur pour prévoir les pics.

ASP -> Temps d’exécution de la demande

Mesure la durée nécessaire au traitement du script réel. Si ce compteur enregistre une augmentation importante ou si la durée dépasse une seconde, le système fonctionne au-delà de sa capacité. Les pages des sites solutions ont été conçues pour un traitement en bien moins d’une seconde.

ASP -> Temps d’attente de la demande

Mesure la durée pendant laquelle une nouvelle demande attend dans la file d’attente avant que son traitement ne commence.

ASP -> Demandes/s

Débit réel des pages dynamiques.

Service Web -> Demandes Get/s

Représente la somme des pages dynamiques et statiques. Il s’agit d’un compteur essentiel pour mesurer le débit.

Interface réseau -> Total des octets (par carte)

Représente la somme du débit réseau pour la carte. Il s’agit d’un compteur essentiel pour mesurer le débit réseau.

Disque physique -> % Temps du disque Disque physique -> Lectures disque/s Disque physique -> Écritures disque/s

Ces trois compteurs effectuent le suivi de l’activité dans le sous-système de disque. Le sous-système de disque peut très facilement constituer un goulot d’étranglement sur n’importe quel système. Sur le serveur Web frontal, l’utilisation du disque doit être relativement faible, car le contenu et les images d’une page doivent tenir dans le cache de fichier. L’activité principale du disque est le fichier journal qui est à présent bien réglé pour les performances dans Windows 2000.

Toutefois, le serveur SQL Server fait un usage extensif du sous-système de disque physique. La planification et l’étalonnage de ce sous-système sont le facteur clé pour un système de gestion de base de données (SGBD) rapide.

Système -> Changements de contexte/s

Représente le nombre de fois que le système permute d’une thread à une autre. Si ce compteur dépasse le chiffre de 5000 par processeur, il révèle une faible évolutivité SMP (Symmetric MultiProcessing) pour le serveur et/ou l’application. Les composants de Windows 2000 et Commerce Server 2002 ont été conçus pour permettre une bonne évolutivité.

SQL Server : Bases de données -> Transactions/seconde

Il s’agit d’un indicateur clé pour l’activité sur le serveur SQL Server principal.

Authentifications NTLM/s

Nombre réel de fois où la vérification d’authentification est effectuée.

CS2002 : marketing et catalogue -> LRUCache : taille du cache

Taille de l’ensemble des caches du système, exprimée en octets. Cette taille doit être augmentée dans le fichier Global.asa afin de maximiser le taux d’accès au cache.

CS2002 : marketing et catalogue -> LRUCache : vidages/s

LRUCache (Least Recently Used Cache) vide les éléments de son cache si cette opération est demandée par programmation ou si le nombre d’éléments du cache dépasse de 10 pour cent la taille maximale définie dans le fichier Global.asa.

CS2002 : marketing et catalogue -> LRUCache : accès/s

Taux de demandes réussies fournies par LRUCache en mémoire.

CS2002 : marketing et catalogue -> LRUCache : échecs/s

Taux de demandes en échec fournies par LRUCache en mémoire. Ceci peut également être considéré comme la fréquence à laquelle de nouveaux éléments sont ajoutés au cache.


Analyse des compteurs de performance

Les compteurs de performance vous permettent d’analyser des aspects spécifiques du travail réalisé sur votre système. Le Moniteur système regroupe les compteurs par type d’objet. Il existe un ensemble unique de compteurs pour les processus Commerce Server, la mémoire, le cache, le disque dur et d’autres types d’objet qui génèrent des informations statistiques. Pour plus d’informations sur les compteurs de performance de Commerce Server et leur utilisation, consultez Analyse des sites Commerce Server. Pour plus d’informations sur le Moniteur système, consultez l’aide de Windows 2000 Server.

Voir aussi

Analyse des sites Commerce Server

Compteurs de performance du matériel

Compteurs de performance de Commerce Server


Résolution des problèmes de performances

Cette rubrique décrit les différentes méthodes pouvant être utilisées pour dépanner Commerce Server et améliorer les performances système.

Cette section contient les rubriques suivantes :

  • Arrêt des applications inutiles
  • Analyse des serveurs de production
  • Utilisation de configurations serveur cohérentes
  • Conseils pour le test
  • Recherche de problèmes de performances spécifiques
  • Utilisation de la mémoire
  • Analyse des principaux compteurs de performance
  • Désactivation des profils anonymes
  • Modification des paramètres de l’onglet Performances d’IIS


Arrêt des applications inutiles

Si une application n’est pas utile à l’exécution des fonctions principales d’un serveur, ne l’installez pas. Même l’installation temporaire d’une application, puis sa désinstallation, peut engendrer des problèmes si une bibliothèque de liens dynamiques (DLL) incompatible est présente sur votre serveur. Vous devez arrêter toute application inutile.


Analyse des serveurs de production

Il est recommandé d’utiliser un serveur distinct ne faisant pas partie des services d’exécution pour analyser les serveurs de production de votre batterie de serveurs Web (Web farm). Ceci est important pour éviter que le processus d’analyse n’affecte les performances ou le fonctionnement d’un serveur de production. Si vous utilisez un serveur distinct, vous obtiendrez une mesure plus précise des performances réelles de vos serveurs de production.

Par ailleurs, l’analyse du trafic utilisateur doit être réalisée sur un réseau d’administration distinct du réseau qui traite le trafic réel de traitement des données. De cette manière, le Moniteur système, de même que d’autres outils d’analyse, peut regrouper les données de plusieurs serveurs dans une vue collective unique. Cela permet également de réduire les E/S disque sur les serveurs Web et les serveurs de base de données, ce qui est nécessaire pour enregistrer les informations dans un fichier journal.


Utilisation de configurations serveur cohérentes

Les serveurs ayant la même fonction doivent utiliser la même configuration logicielle. Ainsi, tous les serveurs Web doivent avoir la même configuration logicielle, sans pour autant avoir nécessairement la même configuration que les serveurs de base de données. Les avantages d’une configuration logicielle identique sont les suivants :

  • Performances identiques et prévisibles (si tant est que la configuration matérielle soit également uniforme).
  • Mise à niveau plus facile des logiciels.
  • Toute amélioration apportée à un serveur doit améliorer les autres.


Conseils pour le test

Avant d’apporter des modifications à votre site de production visant à améliorer ses performances, effectuez toujours des tests en conditions réelles dans un environnement de test utilisant la configuration de production. Les tests par module et les tests réalisés sur des systèmes de développement ne donneront pas les mêmes résultats que les tests de la configuration complète réalisés avec un trafic normal et un trafic de pointe. Vous ne devez pas modifier le serveur de production avant d’avoir réalisé un test complet. Voici quelques recommandations de base pour le test :

  • Testez chaque page Web afin de vous assurer que le contenu est correct, que les liens fonctionnent, que les résultats souhaités sont renvoyés et que les performances répondent à vos attentes.
  • Testez le système en condition de trafic de pointe afin de vous assurer qu’il est en mesure de gérer le trafic maximal sur le système. Utilisez des outils tels que Microsoft Web Application Stress (WAS) et le Moniteur système pour vous aider.
  • Vérifiez le temps de réponse en affichant des pages Web très complexes en condition de trafic normal, tout en accédant à votre site Web à distance à l’aide de connexions de différentes vitesses.


Recherche de problèmes de performances spécifiques

Les problèmes de débit du système se produisent généralement lorsque la demande de ressources dépasse les ressources disponibles. L’isolation des problèmes de performances commence par l’identification du mode d’interaction des utilisateurs, de Commerce Server 2002 et du système d’exploitation avec chaque ressource.

Pour commencer, dans la phase de planification de l’architecture du site Web, détaillez vos critères de réussite en matière d’utilisateurs simultanés. Déterminez un profil d’utilisation pour une visite normale en vous basant sur une expérience antérieure ou une analyse des utilisateurs. Ces données doivent indiquer votre objectif en termes de taille de téléchargement, de débit et de latence pour chaque page.

Les développeurs de sites doivent tester les pages ASP qu’ils créent avec un outil de simulation de charge, tel que Microsoft Web Application Stress (WAS) et comparer ces résultats avec les objectifs. Lorsque les pages répondent aux objectifs définis pour une configuration à serveur unique, vous devez planifier un test pour un serveur distribué, qui est plus proche de la configuration du centre de données. (Plus précisément, le simulateur client et les systèmes principaux doivent se trouver sur des ordinateurs distincts.) Le serveur Web et les systèmes principaux doivent être des serveurs SMP (Symmetric MultiProcessing) s’il est prévu de les déployer en tant que tels dans le centre de données.

Vous devez ensuite essayer de réduire la latence de demande de page. Si vous souhaitez améliorer les performances, vous devez commencer par étudier les demandes adressées aux serveurs SQL Server. L’outil Générateur de profils SQL Server fourni avec Microsoft SQL Server 2000 contient un Assistant qui recommande des valeurs de réglage de la base de données. Cet outil peut être très utile pour tester les opérations fréquentes sur les pages. Si vous utilisez un serveur Microsoft Active Directory, vous souhaiterez peut-être également analyser son activité. Les compteurs de performance des objets NTDS sur le serveur Active Directory vous aideront à définir l’utilisation de ce composant serveur.

Une fois que vous avez compris comment est effectué l’accès aux données, vous devez analyser la logique de page. Un certain nombre de conseils de réglage sont spécifiques à la programmation ASP (Active Server Pages). Chaque page ASP peut réaliser un gain considérable en matière de débit en appliquant correctement ces procédures.

Si la latence de page est trop longue en raison d’un trop grand nombre d’appels de données, vous pouvez utiliser l’objet LRUCache de Commerce Server. Cet objet peut réduire les appels coûteux de données en conservant le fragment HTML rendu, ce qui supprime la requête sur le serveur principal.

Enfin, pour les petits ajustements des performances et du débit, essayez de régler les paramètres de Registre dans les services IIS (Internet Information Services) 5.0 et Microsoft Windows 2000. Sachez que ces modifications n’auront pas le même impact sur les performances que la modification de l’algorithme ou des méthodes d’accès dans le code du site. Vous pouvez par exemple régler les performances sur le serveur IIS en modifiant les paramètres de l’onglet Performances de manière à spécifier Plus de 100 000, puis en confirmant que le débogage ASP n’est pas activé.

Voir aussi

Modification des paramètres de l’onglet Performances d’IIS

Compteurs de performance de Commerce Server


Utilisation de la mémoire

L’utilisation de la mémoire est sans doute le facteur le plus important des performances système. Lorsque la demande de mémoire dépasse la mémoire disponible, Microsoft Windows 2000 Server déplace des blocs de code et de données, appelés pages, de la mémoire vive (RAM) vers un disque de manière à libérer de l’espace pour un processus. Un certain degré de pagination est acceptable, car il permet à Windows 2000 Server d’utiliser plus de mémoire que ce qui existe réellement dans la mémoire physique (RAM). La pagination constante constitue en revanche un frein aux performances système.

Lorsque vous démarrez Windows 2000 Server, ce dernier crée automatiquement un fichier d’échange (Pagefile.sys) sur votre système. Windows 2000 Server utilise ce fichier pour fournir de la mémoire virtuelle. La taille recommandée pour le fichier d’échange est équivalente à la quantité de mémoire vive disponible sur votre système plus 12 mégaoctets (Mo). Cependant, la taille du fichier dépend également de la quantité d’espace disponible sur votre disque dur au moment de sa création. Pour plus d’informations sur l’évolutivité, consultez le Kit de Ressources Techniques Commerce Server 2000.


Analyse des principaux compteurs de performance

L’analyse des principaux compteurs de performance pendant les pics d’utilisation peut vous permettre de découvrir des goulots d’étranglement du système. Pour plus d’informations sur les compteurs de performance de Commerce Server que vous devez analyser, consultez Compteurs de performance de Commerce Server.


Désactivation des profils anonymes

Avec Commerce Server 2002, il est facile de créer le profil des utilisateurs anonymes. Néanmoins, le suivi de tous les utilisateurs anonymes peut être très coûteux sur des sites de grande taille. Évaluez soigneusement les bénéfices que vous pourrez tirer de la création de cookies et d’instances uniques dans vos bases de données et serveurs Microsoft Active Directory avant d’implémenter cette fonctionnalité. Nombre d’entre eux peuvent être obtenus par une analyse plus précise des rapports Commerce Server.

Voir aussi

Rapports Commerce Server 2002


Modification des paramètres de l'onglet Performances d'IIS

Envoyer des commentaires sur cette page Commerce Server 2002

Modification des paramètres de l’onglet Performances d’IIS

Vous pouvez modifier les paramètres de l’onglet Performances des services IIS (Internet Information Services) 5.0 pour améliorer les performances.

Pour modifier les paramètres de l’onglet Performances d’IIS

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Outils d’administration, puis cliquez sur Gestionnaire des services Internet.
  2. Dans l’écran Services Internet (IIS), développez les nœuds jusqu’au chemin suivant : Services Internet (IIS)/<Nom Serveur>/Site Web par défaut.
  3. Cliquez avec le bouton droit sur Site Web par défaut, puis sélectionnez Propriétés.
  4. Cliquez sur l’onglet Performances.
  5. Déplacez le curseur Réglage des performances vers la droite jusqu’à Plus de 100 000, puis cliquez sur OK.


Informations supplémentaires sur l'optimisation

Envoyer des commentaires sur cette page Commerce Server 2002

Informations supplémentaires sur l’optimisation

Des ressources supplémentaires sont à votre disposition pour vous aider à optimiser les performances et la capacité de votre site Commerce Server 2002.

Cette section contient les rubriques suivantes :

  • Outils d’optimisation des performances
  • Informations disponibles sur le Web


Outils d'optimisation des performances

Envoyer des commentaires sur cette page Commerce Server 2002

Outils d’optimisation des performances

Microsoft propose différents outils de réglage et de test des performances. Certains de ces outils sont inclus dans Microsoft Windows 2000 et dans les services IIS (Internet Information Services) 5.0, d’autres se trouvent sur le CD-ROM annexe Kit de Ressources Techniques Windows 2000 Server, d’autres sont disponibles sur le site Web de Microsoft (www.microsoft.com). Ainsi, le Moniteur système (précédemment appelé Analyseur de performances) est intégré à Windows 2000 et est un outil essentiel pour analyser pratiquement tous les aspects des performances des serveurs.

La section suivante décrit brièvement les différents outils d’optimisation des performances et indique où les trouver.

  • Outil Microsoft Web Application Stress : il s’agit d’un outil de simulation développé par les testeurs Web pour reproduire de façon réaliste plusieurs navigateurs demandant des pages à partir d’une application Web. Microsoft a conçu l’outil pour qu’il soit convivial en masquant quelques-unes des complexités d’un test de serveur Web. Ainsi, il sera utile à toute personne souhaitant réunir des informations sur les performances d’un site Web. Cet outil regroupe une grande partie des meilleures fonctionnalités développées au fil des années, ainsi que quelques nouvelles fonctions. Cette version englobe les fonctionnalités les plus utiles pour le test de stress des sites Web ASP (Active Server Pages) personnalisés multicouches exécutés sur Microsoft Windows 2000.

    Vous pouvez télécharger l’outil Web Application Stress à l’adresse suivante : http://go.microsoft.com/fwlink/?LinkId=6731.

  • Moniteur réseau : il s’agit d’un outil qui capture le trafic réseau pour l’afficher et l’analyser. Vous pouvez utiliser le Moniteur réseau pour exécuter des tâches telles que l’analyse des données précédemment capturées dans des méthodes définies par l’utilisateur, l’extraction de données à partir d’analyseurs de protocole définis et l’analyse du trafic en temps réel sur votre réseau. Le Moniteur réseau est un outil utile pour capturer des paquets entre des navigateurs, des serveurs Web et SQL Server. Il donne des informations de synchronisation précieuses et indique la taille de paquet, l’utilisation du réseau, de même que beaucoup d’autres statistiques qui peuvent être utiles pour gérer les performances du système.
  • Générateur de profils SQL Server : il s’agit d’un outil qui capture les événements SQL Server à partir d’un serveur. Les événements sont enregistrés dans un fichier de trace que vous pouvez analyser ultérieurement ou utiliser pour reproduire une procédure spécifique lorsque vous essayez de diagnostiquer un problème. Vous pouvez utiliser le Générateur de profils SQL Server pour effectuer les opérations suivantes :
    • reprendre pas à pas les requêtes problématiques pour trouver la cause du problème ;
    • chercher et diagnostiquer les requêtes lentes ;
    • capturer les séries d’instructions SQL qui débouchent sur un problème ; vous pouvez ensuite utiliser le fichier de trace enregistré pour répliquer le problème sur un serveur de test où il peut être diagnostiqué ;
    • analyser les performances de SQL Server de manière à régler la charge de travail ;
  • Moniteur système : il s’agit d’un outil que vous pouvez utiliser pour collecter et afficher de nombreuses informations sur la manière dont sont utilisées les ressources matérielles et sur l’activité des services système. Vous pouvez utiliser le Moniteur système pour effectuer les opérations suivantes :
    • collecter et afficher des données sur les performances en temps réel sur un ordinateur local ou à partir de plusieurs ordinateurs distants ;
    • afficher les données d’un journal de compteur qui soit sont en cours de collecte, soit ont déjà été collectées ;
    • présenter les données dans un graphe, un histogramme ou un rapport que vous pouvez imprimer ;
    • incorporer les fonctionnalités du Moniteur système dans Microsoft Word ou d’autres applications de la suite Microsoft Office au moyen de l’automation ;
    • créer des pages HTML à partir des vues de performances ;
    • créer des configurations d’analyse réutilisables qui peuvent être installées sur d’autres ordinateurs à l’aide de Microsoft Management Console (MMC).
  • Visual Studio Analyzer : il s’agit d’un outil que vous pouvez utiliser pour analyser les performances, isoler des fautes et comprendre la structure de vos applications distribuées. Vous pouvez utiliser Visual Studio Analyzer avec des applications et des systèmes créés avec n’importe quel outil Visual Studio. Plusieurs technologies Microsoft, telles que COM (Component Object Model), les objets de données ADO (ActiveX Data Objects) Microsoft et COM+, ont la capacité de fournir des informations à Visual Studio Analyzer. Si vos applications utilisent ces technologies, vous pouvez obtenir des informations détaillées sur cette utilisation dans Visual Studio Analyzer. Vous pouvez par ailleurs personnaliser vos propres applications de manière à ce qu’elles fournissent des informations à Visual Studio Analyzer.
  • État Processus et Thread (Pstat.exe) : il s’agit d’un outil qui indique l’état de tous les processus et des threads en cours d’exécution. Cet outil se trouve sur le CD-ROM annexe Kit de Ressources Techniques Windows 2000 Server.
  • Arborescence des processus (Ptree.exe) : il s’agit d’un outil qui vous permet d’interroger l’arborescence d’héritage des processus et de supprimer des processus sur les ordinateurs locaux ou distants. Cet outil se trouve sur le CD-ROM annexe Kit de Ressources Techniques Windows 2000 Server.
  • Outil d’analyse HTTP (HTTP Monitoring) : il s’agit d’un outil qui analyse l’activité HTTP sur vos serveurs et qui peut vous informer si le volume d’activité change. Cet outil se trouve sur le CD-ROM annexe Kit de Ressources Techniques Windows 2000 Server.
  • NetStat : il s’agit d’un outil de ligne de commande qui détecte des informations sur les connexions réseau actuelles de votre serveur. L’outil NetStat se trouve sur le CD-ROM annexe Kit de Ressources Techniques Windows 2000 Server.

Voir aussi

Compteurs de performance de Commerce Server


Informations disponibles sur le Web

Le tableau suivant décrit la documentation que vous pouvez trouver sur le Web et qui peut vous aider à optimiser les performances et la capacité de votre site Commerce Server 2002.

Titre | Description
Commerce Server Performance Tools | Série de livres blancs expliquant les concepts et la méthodologie de l’analyse des performances et montrant comment une telle analyse a été effectuée sur des exemples de site. Ce site contient des liens permettant de télécharger des outils et d’accéder à des exemples de scripts pouvant être utilisés pour tester les performances de votre site.
Microsoft Developer Network (MSDN) | Contient des informations sur Commerce Server et d’autres serveurs d’entreprise Microsoft .NET. Visiter ce site de façon régulière peut s’avérer utile. Recherchez MSDN et entrez Commerce Server 2000 pour trouver des documents et des livres blancs sur ce produit. http://go.microsoft.com/fwlink/?LinkId=5161
The Art and Science of Web Server Tuning with Internet Information Services 5.0 | Livre blanc qui décrit le problème du réglage d’un serveur Web lors de l’exécution des services IIS (Internet Information Services) 5.0 sur Windows 2000 Server et propose différentes approches. Il explique pourquoi il est important d’effectuer des analyses et des tests et aborde les problèmes que vous pouvez rencontrer au niveau du matériel, des logiciels et des outils. Une section est consacrée aux paramètres et aux fonctionnalités d’IIS et de Windows 2000 qui ont été modifiés ou ajoutés, et plusieurs annexes répertorient des conseils utiles, des paramètres de Registre et de métabase, ainsi que des informations de référence. Même si ce document est rédigé spécifiquement pour IIS 5.0, il peut également être très utile aux administrateurs d’IIS 4.0. http://go.microsoft.com/fwlink/?LinkId=5594
Kit de développement de logiciel (SDK, Software Development Kit) de Commerce Server | Contient des informations techniques à l’intention des développeurs qui créent des programmes ou des pages Web intelligentes devant s’intégrer à l’interface API (Application Programming Interface) de Commerce Server. Le Kit de développement de logiciel contient un guide pour les programmeurs ainsi que des références aux diverses technologies Commerce Server et commerciales. Il comprend également des fichiers d’exemple et d’en-tête que vous pouvez utiliser pour créer vos propres programmes.
TechNet | Contient des informations techniques et des outils conçus pour vous aider à planifier, développer, déployer et gérer vos sites Web d’e-commerce. Pour plus d’informations sur Commerce Server, sélectionnez l’option Commerce Server du menu Zones Produits situé sur le côté gauche de l’écran. http://go.microsoft.com/fwlink/?LinkId=5160
Groupes de discussion | Utilisez des groupes de discussion avec vos homologues pour discuter de Commerce Server avec d’autres administrateurs, développeurs et intervenants techniques Microsoft MVP (Most Valuable Professionals). Microsoft n’analyse pas le contenu de ces groupes de discussion ou sites et ne fournit pas non plus de support technique. http://go.microsoft.com/fwlink/?LinkId=5816
Support technique Microsoft | Liste des options de support disponibles pour Commerce Server. http://go.microsoft.com/fwlink/?LinkId=954
Site des serveurs Microsoft | Un guide sur la gamme entière des produits serveur Microsoft pour les informaticiens, les développeurs et les spécialistes Internet. http://go.microsoft.com/fwlink/?LinkId=6732


Référence de l'interface utilisateur

Envoyer des commentaires sur cette page Commerce Server 2002

Référence de l’interface utilisateur

Cette section contient les rubriques d’aide contextuelle sur les ressources disponibles depuis le Gestionnaire Commerce Server. Ces rubriques sont disponibles à partir de l’interface utilisateur, en appuyant sur la touche F1 ou en cliquant sur Aide dans les boîtes de dialogue du Gestionnaire Commerce Server.

Pour obtenir des informations sur les boîtes de dialogue du Gestionnaire de package de site, consultez Aide sur la boîte de dialogue Gestionnaire de package de site.

Cette section contient les rubriques suivantes :

  • Propriétés de la ressource, onglet Propriétés. Fournit des liens vers les rubriques appropriées pour chaque boîte de dialogue de propriétés de ressources.
  • Propriétés de la ressource, onglet Chaînes de connexion. Fournit des liens vers les rubriques appropriées pour chaque boîte de dialogue de propriétés de ressources.
  • Configuration du Data Warehouse. Fournit l’aide sur les boîtes de dialogue de la configuration du Data Warehouse.
  • Aide sur l’interface utilisateur du Data Warehouse. Fournit l’aide sur les boîtes de dialogue du Data Warehouse.
  • Assistant Importation du Data Warehouse. Fournit l’aide sur les boîtes de dialogue de l’Assistant Importation du Data Warehouse.
  • Aide sur l’interface utilisateur des tâches DTS. Fournit l’aide sur les boîtes de dialogue concernant les tâches DTS de Commerce Server 2002.
  • Aide sur l’interface utilisateur de la ressource Profils. Fournit l’aide sur les boîtes de dialogue de la ressource Profils.


Propriétés de la ressource, onglet Propriétés

Les propriétés figurant dans la boîte de dialogue Propriétés de la ressource permettent de configurer des ressources globales ou des ressources de site.

Pour obtenir des informations détaillées sur la configuration de ressources globales, consultez les rubriques suivantes :

  • Configuration de la ressource CS Authentication
  • Modification du fuseau horaire et du jour de début de la semaine pour les données importées
  • Configuration du service de publipostage
  • Configuration de la chaîne de connexion de la ressource Profils

Pour obtenir des informations détaillées sur la configuration d’une ressource de site, consultez les rubriques suivantes :

  • Configuration d’une ressource de site
  • Ajout d’un pointeur de ressource globale à un site


Propriétés de la ressource, onglet Chaînes de connexion

Cette boîte de dialogue vous permet de modifier la chaîne de connexion associée à une ressource Commerce Server.

Pour plus d’informations sur les chaînes de connexion de Commerce Server, consultez les rubriques suivantes :

Modification des chaînes de connexion de base de données

Modification de la chaîne de connexion de la base de données d’administration

Chaînes de connexion du Data Warehouse

Configuration des chaînes de connexion du Data Warehouse

Accès au serveur d’analyse via HTTPS

OLE DB Connection Strings for the Data Warehouse (en anglais)

OLE DB Connection Strings for the Profiling System (en anglais)

Code to Connect to the Expression Store (en anglais)

(en anglais)

Code to Connect to the Profile Store (en anglais)

Sécurisation de votre site


Serveur Web Commerce Server, onglet Identités

Le tableau suivant répertorie les options disponibles sous l’onglet Identités de la boîte de dialogue Serveur Web Commerce Server.

Utilisez ceci | Pour faire cela
Nom du serveur | Taper le nom de l’ordinateur sur lequel est installé le serveur Web. Ne modifiez le nom que si vous avez renommé votre serveur.
Identités | Affiche l’adresse IP (Internet Protocol) du serveur Web, le port TCP et le nom d’en-tête de l’hôte. Ces valeurs sont initialement lues à partir des services IIS. Pour ajouter des identités, cliquez sur Ajouter.
Identités SSL | Cette zone affiche l’adresse IP (Internet Protocol) et le port SSL (Secure Sockets Layer) du serveur Web. Ces valeurs sont initialement lues à partir des services IIS. Pour ajouter des identités SSL, cliquez sur Ajouter.

Voir aussi

Configuration d’un serveur Web

Ajout d’un serveur Web non-Commerce Server à une application

Ajout d’une application non-Commerce Server à un site


Serveur Web Commerce Server, onglet Fichiers journaux

Utilisez cette boîte de dialogue pour configurer les fichiers journaux du serveur Web qui doivent être importés par le Data Warehouse.

Remarques

  • Lorsque l’option Les serveurs Web de cette application exécutent les services IIS de la boîte de dialogue Propriétés de l’application est activée, vous ne pouvez utiliser que la propriété Nouvelle période de journalisation ou la propriété Masque de fichier journal; vous ne pouvez pas utiliser les deux propriétés.
  • Si l’option Synchroniser le nom et l’emplacement du fichier journal de la boîte de dialogue Propriétés de l’application est activée, la valeur dans la zone Répertoire du fichier journal de la boîte de dialogue Propriétés de serveur Web est remplacée par la valeur dans les services IIS.

Le tableau suivant répertorie les options et fonctions disponibles sous l’onglet Fichiers journaux de la boîte de dialogue Serveur Web Commerce Server.

Utilisez ceci | Pour faire cela
Nouvelle période de journalisation | Spécifier la durée pendant laquelle le site Web IIS écrit dans un fichier journal avant d’en créer un nouveau. Cette valeur est initialement lue à partir des services IIS.
Masque de fichier journal | Spécifier une rotation des fichiers journaux personnalisée en indiquant la durée pendant laquelle le site Web IIS écrit dans un fichier journal avant d’en créer un nouveau. Cette zone est facultative. Pour plus d’informations, y compris des exemples des informations à spécifier dans cette zone, consultez Spécification d’un masque de fichier journal du serveur Web.
Répertoire du fichier journal | Taper le chemin d’accès au fichier journal dans lequel le site Web IIS écrit les événements, par exemple, C:\Winnt\System32\LogFiles\Log1. Cette valeur est initialement lue à partir des services IIS. Cependant, vous pouvez spécifier un répertoire différent si vous copiez les fichiers journaux Web du serveur Web vers un emplacement central avant d’exécuter la tâche DTS d’importation des journaux du serveur Web.
Page de codes du fichier journal | Cette zone affiche la page de codes utilisée par la totalité du fichier. Si nécessaire, sélectionnez une autre page de codes dans la liste déroulante. Les services IIS 5.0 prennent en charge la page de codes du système. Les futures versions des services IIS prendront en charge UTF-8.
Page de codes de cryptage des URL | Cette zone affiche la page de codes utilisée pour toutes les adresses URL. Si nécessaire, sélectionnez une autre page de codes dans la liste déroulante. Les services IIS 5.0 prennent en charge la page de codes du système. Les futures versions des services IIS prendront en charge UTF-8.

Voir aussi

Spécification d’un masque de fichier journal du serveur Web


Boîte de dialogue Configuration de site Web

Utilisez cette boîte de dialogue pour ajouter ou modifier une adresse IP, un port TCP, et un nom d’en-tête d’hôte pour le serveur Web.

Remarque

  • Vous ne pouvez pas utiliser des en-têtes d’hôte lors d’un déploiement de plusieurs sites qui implémentent AuthFilter. Microsoft Internet Information Services (IIS) ne prend pas en charge l’utilisation d’en-têtes d’hôte avec Secure Sockets Layer (SSL). Cependant, pour garantir un minimum de sécurité, AuthFilter nécessite l’utilisation de SSL lors de la transmission d’informations d’authentification de connexion au serveur.

Le tableau suivant répertorie les options et fonctions disponibles dans la boîte de dialogue Configuration de site Web.

Utilisez ceci | Pour faire cela
Adresse IP | Taper une adresse IP pour le serveur Web. La valeur Aucune assignation renvoie aux adresses IP qui sont assignées à un ordinateur mais pas à un site spécifique. Le site Web par défaut utilise toutes les adresses IP qui ne sont pas attribuées à d’autres sites. Seulement un site peut être configuré pour utiliser des adresses IP non attribuées.
Port TCP | Taper l’adresse de port pour ce site Web. Par défaut, il s’agit du port 80.
Nom d’en-tête de l’hôte | Taper le nom de l’en-tête de l’hôte pour ce site Web. Si vous ajoutez des sites supplémentaires à une adresse IP unique en utilisant des en-têtes d’hôte, vous devez attribuer un nom d’en-tête d’hôte.

Voir aussi

Configuration d’un serveur Web

Ajout d’un serveur Web non-Commerce Server à une application

Ajout d’une application non-Commerce Server à un site


Configuration du Data Warehouse

Utilisez la Configuration du Data Warehouse pour créer un nouveau Data Warehouse. Cet outil ne configure jamais un Data Warehouse existant.

Pour démarrer la Configuration du Data Warehouse

  • Cliquez sur Démarrer, pointez sur Programmes, sur Microsoft Commerce Server 2002, puis cliquez sur Configuration du Data Warehouse.

Une fois que vous avez complété la boîte de dialogue Configuration du Data Warehouse de Commerce Server, la Configuration du Data Warehouse effectue les étapes suivantes :

  1. Installe le Data Warehouse.
  2. Crée une base de données SQL Server. Le nom par défaut de cette base de données est <nom de site Commerce Server>_dw.
  3. Crée une base de données OLAP. Le nom par défaut de cette base de données est <nom de site Commerce Server>_dw.
  4. Décompresse le package dw.pup qui contient une version de l’application Commerce Server Business Desk comprenant uniquement les modules Analyse. Le nom par défaut de l’application Business Desk est <nom de site Commerce Server>bizdesk.

Le tableau suivant répertorie les options disponibles dans la boîte de dialogue Configuration du Data Warehouse.

Utilisez ceci | Pour faire cela
Site Commerce Server | Taper le nom du site à créer ou sélectionner le nom d’un site existant dans la liste déroulante. Il s’agit du site que le nouveau Data Warehouse va prendre en charge.
Data Warehouse Taper le nom de la ressource globale Data Warehouse à créer. Cette ressource pointera vers la base de données du Data Warehouse <nom de site Commerce Server>_dw ou vers le nom de base de données que vous spécifiez dans la zone Serveur de bases de données.

Ne pas utiliser le nom d’une ressource globale Data Warehouse existante.

Remarque

  • Si vous sélectionnez un site existant dans la zone Site Commerce Server, puis tapez le nom d’une nouvelle ressource globale de Data Warehouse dans cette zone, la Configuration du Data Warehouse assignera la nouvelle ressource de Data Warehouse à ce site et remplacera toute autre ressource globale de Data Warehouse existante.
Applications non-Commerce Server | Cliquer sur Configurer pour ajouter des applications non-Commerce Server et des serveurs Web à traiter par le nouveau Data Warehouse.
Serveur de rapports | Cliquer sur Configurer pour sélectionner le serveur Web qui contient l’application Business Desk. Il s’agit de l’ordinateur qui exécutera les rapports pour les utilisateurs Business Desk.
Serveur de base de données Cliquer sur Configurer pour sélectionner le serveur SQL Server qui contient la base de données Data Warehouse, et (éventuellement) spécifier le nom de la base de données. Si vous ne spécifiez pas de nom pour la base de données, le nom par défaut est <nom de site Commerce Server>_dw.

Dans la boîte de dialogue Propriétés des liaisons de données, indiquer les informations de connexion pour configurer deux chaînes de connexion : ConnStr_db_analysis et ConnStr_db_dw.

Pour obtenir des informations sur ces chaînes de connexion, consultez Chaînes de connexion du Data Warehouse.
Serveur d’analyse Cliquer sur Configurer pour sélectionner le nom du serveur SQL Server sur lequel sont installés les composants Analysis Services, et (éventuellement) spécifier le nom de la base de données OLAP. Si vous ne spécifiez pas de nom de la base de données, le nom par défaut est <nom de site Commerce Server>_dw.

Dans la boîte de dialogue Propriétés des liaisons de données, indiquer les informations de connexion pour configurer deux chaînes de connexion : ConnStr_OLAP et ConnStr_OLAP_Client.

Pour obtenir des informations sur ces chaînes de connexion, consultez Chaînes de connexion du Data Warehouse.
Exécuter l’Assistant Importation Démarrer l’Assistant Importation du Data Warehouse lorsque la Configuration du Data Warehouse est terminée.

Si vous exécutez la Configuration du Data Warehouse lors de l’installation de Commerce Server, l’Assistant Importation du Data Warehouse démarre après le redémarrage de votre ordinateur.

Voir aussi

Chaînes de connexion du Data Warehouse

Assistant Importation du Data Warehouse


Boîte de dialogue Serveurs Web et Application non-Commerce Server

Utilisez cette boîte de dialogue pour ajouter plusieurs applications non-Commerce Server, puis pour ajouter plusieurs serveurs Web non-Commerce Server à ces applications.

Commerce Server prend en charge les serveurs Web qui n’exécutent pas Microsoft Internet Information Services (IIS) et qui ne comportent pas de composants Commerce Server. Cela vous permet de rendre les fichiers journaux du serveur Web disponibles pour l’importation par le Data Warehouse.

  1. Pour ajouter une application non-Commerce Server, cliquez sur Nouvelle dans la zone Applications non-Commerce Server.
  2. Après avoir créé l’application, vous devez spécifier les serveurs Web associés ; pour ce faire, sélectionnez l’application dans la zone du haut puis, dans Serveurs Web non-Commerce Server pour l'application sélectionnée, cliquez sur Nouveau.

Voir aussi

Configuration d’un serveur Web

Ajout d’un serveur Web non-Commerce Server à une application

Ajout d’une application non-Commerce Server à un site


Applications (non-Commerce Server), onglet Général

Utilisez cette boîte de dialogue pour configurer une application non-Commerce Server. Lorsque vous configurez une application, vous spécifiez les propriétés qui s’appliquent à tous les serveurs Web utilisés par cette application.

Le tableau suivant répertorie les options et fonctions disponibles sous l’onglet Général de la boîte de dialogue Applications (non-Commerce Server).

Utilisez ceci | Pour faire cela
Les serveurs Web de cette application exécutent les services IIS Activer cette case à cocher si les serveurs d’une application non-Commerce Server exécutent les services IIS (Internet Information Services) 5.0.

Une application non-Commerce Server ne peut pas contenir à la fois des serveurs IIS et non-IIS.
Nom d’hôte non sécurisé Taper le serveur DNS à utiliser pour les liens non sécurisés dans vos applications.

Attention

  • Si vous utilisez un numéro de port autre que 80, vous devez ajouter ce numéro à la fin du nom d’hôte non sécurisé (par exemple, www.microsoft.com:81). Pour afficher ou modifier le numéro de port, consultez la zone Port TCP sous l’onglet Identités de la boîte de dialogue Propriétés de serveur Web. Pour plus d’informations, consultez Configuration d’un serveur Web.
Chemin de l’application IIS | Taper le chemin d’accès à l’application IIS.
Chemin de l’application | Si aucun des serveurs Web de cette application n’exécute les services IIS, tapez le chemin d’accès à l’application.
Activer HTTPS | Activer les liens vers un hôte HTTP sécurisé (SSL) dans vos applications.
Nom d’hôte sécurisé Taper le nom de domaine DNS à utiliser pour les liens sécurisés dans vos applications.

Attention

  • Si vous utilisez un numéro de port autre que 443, vous devez ajouter ce numéro à la fin du nom d’hôte sécurisé (par exemple, www.microsoft.com:441). Pour afficher ou modifier le numéro de port, consultez la zone Port SSL sous l’onglet Identités de la boîte de dialogue Propriétés de serveur Web. Pour plus d’informations, consultez Configuration d’un serveur Web.

Remarque

  • Les options Activer HTTPS et Nom d’hôte sécurisé sont utilisées par l’objet AuthManager ; elles ne sont pas utilisées par AuthFilter. Si vous utilisez AuthFilter, vous devez définir la propriété Formulaire de connexion CS Authentication pour spécifier SSL pour les pages de connexion. Pour plus d’informations, consultez Configuration des propriétés de la ressource CS Authentication.

Voir aussi

Configuration d’un serveur Web

Ajout d’un serveur Web non-Commerce Server à une application

Ajout d’une application non-Commerce Server à un site


Applications (non-Commerce Server), onglet Serveurs Web

Utilisez cette boîte de dialogue pour ajouter un serveur Web à une application. Vous pouvez ajouter un serveur Web non-Commerce Server qui n’utilise pas de composants Commerce Server. Le but de l’ajout d’un serveur Web non-Commerce Server est de mettre les fichiers journaux de serveur Web à disposition pour permettre leur importation dans le Data Warehouse.

Remarque

  • Le bouton Synchroniser les valeurs est activé uniquement lorsque l’option Les serveurs Web de cette application exécutent les services IIS est activée sous l’onglet Général et que vous avez apporté des modifications à l’aide de l’interface utilisateur IIS. Vous pouvez ensuite utiliser le bouton Synchroniser les valeurs pour synchroniser le Gestionnaire Commerce Server avec les services IIS.

Le tableau suivant répertorie les options et fonctions disponibles sous l’onglet Serveurs Web de la boîte de dialogue Applications (non-Commerce Server).

Utilisez ceci | Pour faire cela
Site Web IIS | Taper le nom du site Web IIS (par exemple, « Site Web par défaut »).
Domaine local | Taper le nom du domaine local (par exemple, microsoft.com).

Voir aussi

Configuration d’un serveur Web

Ajout d’un serveur Web non-Commerce Server à une application

Ajout d’une application non-Commerce Server à un site


Nouveau Serveur Web non-Commerce Server, onglet Identités

Le tableau suivant répertorie les options et fonctions disponibles sous l’onglet Identités de la boîte de dialogue Nouveau Serveur Web non-Commerce Server.

Utilisez ceci | Pour faire cela
Nom du serveur | Taper le nom de l’ordinateur sur lequel est installé le serveur Web. Ne modifiez le nom que si vous avez renommé votre serveur.
Identités | Affiche l’adresse IP (Internet Protocol) du serveur Web, le port TCP, et le nom d’en-tête de l’hôte. Ces valeurs sont initialement lues à partir des services IIS. Pour les modifier, cliquez sur Modifier.
Identités SSL | Affiche l’adresse IP et le port SSL Port du serveur Web. Ces valeurs sont initialement lues à partir des services IIS. Pour les modifier, cliquez sur Modifier.


Nouveau Serveur Web non-Commerce Server, onglet Fichiers journaux

Le tableau suivant répertorie les options et fonctions disponibles sous l’onglet Fichiers journaux de la boîte de dialogue Nouveau Serveur Web non-Commerce Server.

Utilisez ceci | Pour faire cela
Nouvelle période de journalisation | Spécifier la durée pendant laquelle le site Web IIS écrit dans un fichier journal avant d’en créer un nouveau. Cette valeur est initialement lue à partir des services IIS.
Masque de fichier journal | Spécifier une rotation des fichiers journaux personnalisée en indiquant la durée pendant laquelle le site Web IIS écrit dans un fichier journal avant d’en créer un nouveau. Cette zone est facultative. Pour plus d’informations, y compris des exemples des informations à spécifier dans cette zone, consultez Spécification d’un masque de fichier journal du serveur Web.
Répertoire du fichier journal | Taper le chemin d’accès au fichier journal dans lequel le site Web IIS écrit les événements, par exemple, C:\Winnt\System32\LogFiles\Log1. Cette valeur est initialement lue à partir des services IIS. Cependant, vous pouvez spécifier un répertoire différent si vous copiez les fichiers journaux Web du serveur Web vers un emplacement central avant d’exécuter la tâche DTS d’importation des journaux du serveur Web.
Page de codes du fichier journal | Affiche la page de codes utilisée par la totalité du fichier. Si nécessaire, sélectionnez une autre page de codes dans la liste déroulante. Les services IIS 5.0 prennent en charge la page de codes du système. Les futures versions des services IIS prendront en charge UTF-8.
Page de codes de cryptage des URL | Affiche la page de codes utilisée pour toutes les adresses URL. Si nécessaire, sélectionnez une autre page de codes dans la liste déroulante. Les services IIS 5.0 prennent en charge la page de codes du système. Les futures versions des services IIS prendront en charge UTF-8.

Voir aussi

Spécification d’un masque de fichier journal du serveur Web


Boîte de dialogue Identité

Utilisez cette boîte de dialogue pour ajouter ou modifier une adresse IP, un port TCP, et un nom d’en-tête d’hôte pour le serveur Web.

Remarque

  • Vous ne pouvez pas utiliser des en-têtes d’hôte lors du déploiement de plusieurs sites qui implémentent AuthFilter. Microsoft Internet Information Services (IIS) ne prend pas en charge l’utilisation d’en-têtes d’hôte avec Secure Sockets Layer (SSL). Cependant, pour garantir un minimum de sécurité, AuthFilter nécessite l’utilisation de SSL lors de la transmission d’informations d’authentification de connexion au serveur.

Le tableau suivant répertorie les options et fonctions disponibles dans la boîte de dialogue Identité.

Utilisez ceci | Pour faire cela
Adresse IP | Taper une adresse IP pour le serveur Web. La valeur Aucune assignation renvoie aux adresses IP qui sont assignées à un ordinateur mais pas à un site spécifique. Le site Web par défaut utilise toutes les adresses IP qui ne sont pas attribuées à d’autres sites. Seulement un site peut être configuré pour utiliser des adresses IP non attribuées.
Port TCP | Taper l’adresse de port pour ce site Web. Par défaut, il s’agit du port 80.
Nom d’en-tête de l’hôte | Taper le nom de l’en-tête de l’hôte pour ce site Web. Si vous ajoutez des sites supplémentaires à une adresse IP unique en utilisant des en-têtes d’hôte, vous devez attribuer un nom d’en-tête d’hôte.

Voir aussi

Configuration d’un serveur Web

Ajout d’un serveur Web non-Commerce Server à une application

Ajout d’une application non-Commerce Server à un site


Aide sur l'interface utilisateur du Data Warehouse

Envoyer des commentaires sur cette page Commerce Server 2002

Aide sur l’interface utilisateur du Data Warehouse

Cette section contient les rubriques d’aide contextuelle concernant la ressource Data Warehouse de Commerce Server 2002. Ces rubriques sont disponibles depuis l’interface utilisateur de la ressource Data Warehouse en cliquant sur Aide dans les boîtes de dialogue de la ressource Data Warehouse.

Cette section contient les rubriques suivantes :

  • Propriétés de Data Warehouse, onglet SQL Server
  • Propriétés de Data Warehouse, onglet Serveur d’analyse
  • Propriétés de Data Warehouse, onglet Heure


Propriétés de Data Warehouse, onglet SQL Server

Cette boîte de dialogue vous permet de configurer deux chaînes de connexion vers la base de données SQL Server du Data Warehouse :

  • ConnStr_db_analysis. Cette chaîne de connexion côté client est utilisée uniquement par le tableau croisé dynamique dans des rapports dynamiques. Les clients peuvent accéder à cette chaîne de connexion en affichant la source lors de la restitution d’un rapport dynamique. Par conséquent, cette chaîne de connexion utilise la Sécurité intégrée de Windows par défaut, même si vous spécifiez Sécurité SQL dans cette boîte de dialogue ou lorsque vous décompressez la ressource Data Warehouse.

    Comme cette chaîne de connexion utilise la Sécurité intégrée de Windows, les utilisateurs Windows qui n’ont pas les autorisations SQL Server ne pourront pas exécuter les rapports SQL dynamiques.

  • ConnStr_db_dw. Cette chaîne de connexion côté serveur est fournie pour des configurations d’analyse commerciale de haute disponibilité. Vous définissez initialement cette chaîne de connexion lorsque vous décompressez la ressource Data Warehouse ; celle-ci possède des privilèges d’administration.

    Pour cette chaîne de connexion, vous pouvez choisir d’utiliser soit la Sécurité intégrée de Windows soit la Sécurité SQL.

Pour obtenir plus d’informations sur ces chaînes de connexion, consultez Chaînes de connexion du Data Warehouse.

Le tableau suivant répertorie les options et fonctions disponibles sous l’onglet SQL Server de la boîte de dialogue Propriétés de Data Warehouse.

Utilisez ceci | Pour faire cela
Authentification SQL Server | Utiliser la Sécurité SQL pour la chaîne de connexion Connstr_db_dw. L’authentification SQL Server n’est pas utilisée pour la chaîne de connexion Connstr_db_analysis.
Authentification Windows NT | Utiliser l’authentification Windows NT pour la chaîne de connexion Connstr_db_dw. Par défaut, la chaîne de connexion Connstr_db_analysis utilise toujours l’authentification intégrée de Windows.
Identificateur d’utilisateur | Taper l’identificateur d’utilisateur pour l’authentification SQL Server.
Mot de passe | Taper le mot de passe pour l’authentification SQL Server.
Serveur | Taper le nom du serveur SQL qui contient la base de données du Data Warehouse.
Base de données | Taper le nom de la base de données SQL Server du Data Warehouse.

Voir aussi

Chaînes de connexion du Data Warehouse

Accès au serveur d’analyse via HTTPS

Configuration des chaînes de connexion du Data Warehouse

Requêtes pour la lecture des chaînes de connexion du Data Warehouse à partir de la base de données d’administration

Scripts de sécurisation des bases de données accessibles aux rapports

Modification du mot de passe du Data Warehouse


Propriétés de Data Warehouse, onglet Serveur d'analyse

Envoyer des commentaires sur cette page Commerce Server 2002

Propriétés de Data Warehouse, onglet Serveur d’analyse

Cette boîte de dialogue vous permet de configurer trois chaînes de connexion vers la base de données du serveur d’analyse (OLAP) :

  • ConnStr_OLAP. Cette chaîne de connexion côté serveur est fournie pour des configurations d’analyse commerciale de haute disponibilité. Vous définissez cette chaîne de connexion lorsque vous décompressez la ressource Data Warehouse ; celle-ci possède des privilèges d’administration.

    Par défaut, tout membre du domaine Windows du serveur où réside la base de données OLAP disposera de l’accès requête (en lecture) aux cubes OLAP Commerce Server 2002.

  • ConnStr_OLAP_HA. Cette chaîne de connexion est utilisée pour accéder à la base de données OLAP dans les installations à haute disponibilité et les environnements de test. Cette chaîne de connexion est disponible, cependant elle n’est pas actuellement référencée par les modules Analyse de Commerce Server Business Desk.
  • ConnStr_OLAP_Client. Cette chaîne de connexion côté client est utilisée uniquement par le tableau croisé dynamique dans des rapports dynamiques. Les clients peuvent accéder à cette chaîne de connexion en affichant la source lors de la restitution d’un rapport dynamique. Par conséquent, cette chaîne de connexion utilise la Sécurité intégrée de Windows par défaut, même si vous spécifiez Sécurité SQL dans cette boîte de dialogue ou lorsque vous décompressez la ressource Data Warehouse.

    Par défaut, tout membre du domaine Windows du serveur où réside la base de données OLAP disposera de l’accès requête (en lecture) aux cubes OLAP Commerce Server 2002.

    Remarque

    • Il est recommandé d’utiliser HTTPS et l’authentification de base dans la chaîne de connexion ConnStr_OLAP_Client. L’identificateur d’utilisateur et le mot de passe peuvent appartenir à n’importe quel utilisateur Windows valide sur l’ordinateur Analysis Services, de la forme <domaine>\<ID_utilisateur> ; par exemple, PARIS\PhilippeTran. Vous pouvez créer un nouveau compte d’utilisateur disposant des autorisations nécessaires pour interroger uniquement les cubes OLAP.

Pour obtenir plus d’informations sur ces chaînes de connexion, consultez Chaînes de connexion du Data Warehouse.

Les tableaux suivants répertorient les options et fonctions disponibles sous l’onglet Serveur d’analyse de la boîte de dialogue Propriétés de Data Warehouse.

Section du Serveur d’analyse principal

Cette section permet de configurer la chaîne de connexion ConnStr_OLAP.

Utilisez ceci | Pour faire cela
Serveur | Taper le nom du serveur d’analyse qui contient la base de données OLAP utilisée pour les rapports dynamiques.
Base de données | Taper le nom de la base de données OLAP utilisée pour les rapports dynamiques.

Section du Serveur d’analyse secondaire

Cette section permet de configurer la chaîne de connexion ConnStr_OLAP_HA.

Utilisez ceci | Pour faire cela
Serveur | Taper le nom du serveur d’analyse secondaire qui contient la base de données OLAP utilisée pour les rapports dynamiques.
Base de données | Taper le nom de la base de données OLAP secondaire utilisée pour les rapports dynamiques.

Section Connexion du client

Cette section permet de configurer la chaîne de connexion ConnStr_OLAP_Client. Vous pouvez permettre aux utilisateurs Business Desk d’exécuter des rapports dynamiques en se connectant au serveur d’analyse (pour qu’ils accèdent à la base de données OLAP) via les services IIS (Internet Information Services). Lorsque vous configurez cette méthode de connexion, le service de tableau croisé dynamique peut créer une connexion tunnel via des pare-feu ou des serveurs proxy vers le serveur d’analyse.

Pour connaître les étapes supplémentaires requises pour utiliser cette fonctionnalité, consultez Accès au serveur d’analyse via HTTPS.

Utilisez ceci | Pour faire cela
Se connecter en utilisant HTTP | Permettre aux utilisateurs de se connecter au serveur d’analyse via les services IIS.
Utiliser SSL | Crypter et transmettre la connexion sur un canal sécurisé à l’aide de Secure Sockets Layer (SSL). Il s’agit du paramètre recommandé.
Identificateur d’utilisateur | Taper un identificateur d’utilisateur Windows valide sous la forme <domaine>\<ID_utilisateur> ; par exemple, PARIS\PhilippeTran. Vous pouvez créer un nouveau compte d’utilisateur disposant des autorisations nécessaires pour interroger uniquement les cubes OLAP.
Mot de passe | Taper un mot de passe Windows valide.
Serveur | Taper le nom du serveur d’analyse.
Base de données | Taper le nom de la base de données OLAP du Data Warehouse.

Voir aussi

Chaînes de connexion du Data Warehouse

Accès au serveur d’analyse via HTTPS

Configuration des chaînes de connexion du Data Warehouse

Requêtes pour la lecture des chaînes de connexion du Data Warehouse à partir de la base de données d’administration

Scripts de sécurisation des bases de données accessibles aux rapports

Modification du mot de passe du Data Warehouse


Propriétés de Data Warehouse, onglet Heure

Cette boîte de dialogue vous permet de configurer le fuseau horaire et le jour de début de la semaine que Data Warehouse attribue aux données d’heure importées.

Par défaut, le Data Warehouse hérite le fuseau horaire et le jour de début de la semaine de Microsoft SQL Server. Cependant, vous pouvez également configurer le fuseau horaire et le jour de début de la semaine que Data Warehouse attribue aux données d’heure importées.

Remarque

  • Le jour de début de la semaine SQL Server est utilisé dans les rapports. Le jour de début de la semaine que vous définissez dans la boîte de dialogue Propriétés de Data Warehouse est utilisé pour regrouper les données importées à partir des journaux de serveur Web selon des intervalles hebdomadaires.

Le tableau suivant répertorie les options et fonctions disponibles sous l’onglet Heure de la boîte de dialogue Propriétés de Data Warehouse.

Utilisez ceci | Pour faire cela
Régler le fuseau horaire sur | Sélectionner un fuseau horaire dans la liste déroulante.
Démarrer le | Sélectionner le jour de début de la semaine dans la liste déroulante.

Voir aussi

Configuration des propriétés de site Web par défaut pour l’importation

Configuration des fichiers journaux Web pour l’importation

Configuration de la tâche DTS Importation de journal de serveur Web

Spécification des données à importer dans le Data Warehouse


Historique des tâches du Data Warehouse

Cet écran vous permet d’afficher l’état des tâches DTS.

Pour afficher l’historique des tâches

  • Cliquez sur Démarrer, pointez sur Programmes, puis sur Microsoft Commerce Server 2002, développez Gestionnaire Commerce Server, puis Ressources globales, développez le Data Warehouse pour lequel vous souhaitez afficher l’historique des tâches, puis cliquez sur Historique des tâches.

Le tableau suivant illustre les colonnes de l’écran Historique des tâches.

Utilisez ceci | Pour faire cela
Description | Description des tâches DTS dont vous consultez l’état.
Heure de début | Heure à laquelle l’exécution de la tâche DTS a commencé.
Heure de fin | Heure à laquelle l’exécution de la tâche DTS s’est arrêtée.
État | État actuel de la tâche DTS.
Nom du site/nom du Data Warehouse | Nom du site ou du Data Warehouse associé à la tâche DTS.
Pourcentage réalisé | Pourcentage de la tâche DTS déjà réalisé.

Le tableau suivant illustre les états possibles de l’Historique des tâches associé à la ressource Data Warehouse.

État | Description
Opération réussie | La tâche DTS s’est exécutée normalement.
Annulation | La tâche DTS a été annulée ou a échoué.
Terminé avec des erreurs. | La tâche DTS a été annulée ou a échoué.
Incomplet | La tâche DTS a échoué.

Voir aussi

Nouvelles tentatives d’exécution d’une tâche DTS

Dépannage du processus d’importation du Data Warehouse

Options disponibles en cas d’échec d’une tâche DTS Importation de journal de serveur Web

Méthodes conseillées pour le Data Warehouse


Assistant Importation du Data Warehouse

L’Assistant Importation du Data Warehouse permet d’importer des données dans le Data Warehouse et de préparer le Data Warehouse pour que des rapports d’analyse Commerce Server Business Desk puissent être exécutés.

Pour démarrer l’Assistant Importation du Data Warehouse

  • Cliquez sur Démarrer, pointez sur Programmes, sur Microsoft Commerce Server 2002, puis cliquez sur Assistant Importation du Data Warehouse.

Vous pouvez également choisir de démarrer l’Assistant automatiquement après avoir exécuté la Configuration du Data Warehouse. Pour obtenir des informations, consultez Configuration du Data Warehouse.

À la fin de l’Assistant Importation du Data Warehouse, vous aurez créé un lot DTS qui spécifie quelles données importer et quand.

Important

  • L’Assistant Importation du Data Warehouse enregistre toujours le lot sur le serveur SQL local. Votre serveur SQL local doit être actif.
  • Lorsque votre site est configuré pour utiliser l’Authentification Windows, vous ne pouvez exécuter l’Assistant Importation du Data Warehouse et enregistrer un lot que si votre compte dispose des autorisations de sélection, d’insertion et de mise à jour sur la base de données msdb et l’objet sysDTSPackage. La base de données msdb est utilisée par l’Agent SQL Server pour planifier les alertes et les travaux ; l’enregistrement du lot DTS nécessite un accès à cette base.

Cette section contient les rubriques suivantes :

  • Boîte de dialogue Options d’importation
  • Boîte de dialogue Spécifier le mode d’importation des données
  • Boîte de dialogue Emplacements des fichiers journaux
  • Boîte de dialogue Fichiers journaux
  • Boîte de dialogue Options d’exécution de l’importation
  • Boîte de dialogue Exécution du lot DTS


Boîte de dialogue Options d'importation

Envoyer des commentaires sur cette page Commerce Server 2002

Boîte de dialogue Options d’importation

Utilisez cette boîte de dialogue pour sélectionner le site pour lequel vous voulez importer des données puis sélectionnez le type de données à importer dans le Data Warehouse pour ce site.

Le tableau suivant décrit chacune des options d’importation :

Option d’importation | Description
Journaux des serveurs Web Importe les données de fichier journal Web générées par votre site Web. Ces données sont recueillies lorsque des utilisateurs visitent votre site et cliquent sur des liens permettant d’accéder à ses pages Web. Les données importées dans le Data Warehouse à partir d’un fichier journal Web peuvent comprendre notamment :
  • La durée pendant laquelle un utilisateur a visité votre site
  • Le site de référence à partir duquel un utilisateur a accédé à votre site
  • Les publicités sur lesquelles les utilisateurs ont cliqué tout en visitant votre site
  • Les publicités fournies à un utilisateur qui visitait votre site
  • Le nombre d’utilisateurs auxquels une publicité a été présentée.

Remarque

  • Les fichiers journaux Web doivent être au format de fichier journal Web étendu du W3C (World Wide Web Consortium). Si vous importez des journaux Apache ou Lotus, vous devez les convertir au format de fichier journal Web étendu du W3C avant de les importer.

Pour obtenir une liste des rapports Commerce Server basés sur les données de fichier journal Web, consultez Rapports basés sur les données de fichier journal Web.
Résoudre des adresses IP | Convertit des adresses IP importées à partir de vos fichiers journaux en noms de domaines. Par exemple, 198.105.232.4 devient www.microsoft.com. Cela permet aux personnes qui lisent vos rapports de comprendre plus facilement les données qu’ils contiennent.
Catalogue de produits Importe des données sur les produits contenus dans votre base de données de catalogue Commerce Server, y compris les informations de dimension telles que le nom, la description, la couleur et la taille du produit.

Pour que les rapports tels que Analyse de produits et Analyse de transactions s’affichent correctement, les données de catalogue sont requises. Si les données de catalogue ne sont pas importées dans le Data Warehouse, les produits sont identifiés dans les rapports uniquement par leurs numéros de référence UGS (Unité de Gestion de Stock).

Pour désigner les propriétés de catalogue à importer dans le Data Warehouse, utiliser le module Définition de catalogue dans Commerce Server Business Desk. Pour plus d’informations, consultez Spécification des données à importer dans le Data Warehouse.
Transactions | Importe les données de transaction qui comprennent les bons de commande et les numéros de demande. Ces données sont utilisées dans des rapports d’analyse pour déterminer la façon dont se vendent des produits donnés, la quantité demandée ou la somme des achats des clients.
Profils Importe des données de profil telles que le nom d’utilisateur, l’adresse et la date d’inscription.

Pour désigner les propriétés de profil à importer dans le Data Warehouse, utiliser le module Définition de profils de Business Desk. Pour plus d’informations, consultez Spécification des données à importer dans le Data Warehouse.
Campagnes marketing | Importe des informations de campagne marketing telles que les annonceurs, les campagnes et les données des éléments de la campagne.

Chacune de ces options d’importation correspond à une tâche DTS (Data Transformation Services) de Commerce Server. Si vous le souhaitez, vous pouvez configurer manuellement chacune de ces tâches DTS au lieu d’utiliser l’Assistant Importation du Data Warehouse. Pour plus d’informations, consultez Importation de données dans le Data Warehouse.

Pour obtenir une liste détaillée des données qui sont importées pour chacune de ces options, consultez Processus ETL (Extract, Transform, Load) pour les tâches DTS.

Voir aussi

Assistant Importation du Data Warehouse

Rapports basés sur les données de fichier journal Web

Spécification des données à importer dans le Data Warehouse

Importation de données dans le Data Warehouse

Processus ETL (Extract, Transform, Load) pour les tâches DTS


Boîte de dialogue Spécifier le mode d'importation des données

Envoyer des commentaires sur cette page Commerce Server 2002

Boîte de dialogue Spécifier le mode d’importation des données

Cette boîte de dialogue vous permet de spécifier si vous devez importer toutes les données dans le Data Warehouse ou seulement les données qui sont nouvelles ou qui ont été modifiées depuis le dernier processus d’importation.

Si vous sélectionnez Charge totale, une importation complète aura lieu pour toutes les options d’importation sélectionnées pour ce lot.

Remarques

  • Si vous configurez le processus d’importation pour importer des données de profil, de catalogue ou de transaction pour la première fois, sélectionnez Charge totale.
  • Lorsque vous importez des données de profil en mode Charge totale, la date de début sera 1/1/2000. Pour changer cette date, modifiez le lot DTS après l’avoir enregistré via l’Assistant Data Warehouse.


Boîte de dialogue Emplacements des fichiers journaux

Utilisez cette boîte de dialogue pour spécifier les emplacements des fichiers journaux Web et pour les associer à l’ordinateur et au site Web qui les ont générés.

Renseignez cette boîte de dialogue uniquement si vous avez déplacé les fichiers journaux Web par rapport à l’emplacement affiché dans la boîte de dialogue.

Pour spécifier les emplacements des fichiers journaux Web, l’ordinateur et les sites Web associés

  1. Dans la zone Emplacements et serveurs, sélectionnez l’application pour laquelle vous souhaitez importer des fichiers journaux Web.
  2. Dans la zone Chemin d’accès au fichier journal, cliquez sur Sélection pour rechercher l’emplacement des fichiers journaux Web pour l’application sélectionnée.


Boîte de dialogue Fichiers journaux

Cette boîte de dialogue permet de sélectionner les fichiers journaux Web à importer.

Le tableau suivant décrit les critères d’importation :

Critères d’importation | Description
Tous les fichiers journaux depuis la dernière importation | Importer uniquement les nouveaux fichiers journaux qui ont été générés depuis la dernière importation à l’aide du masque de fichier journal appliqué. Ces fichiers journaux sont répertoriés dans la colonne Nom de fichier journal de la boîte de dialogue.
Fichiers journaux par date et heure | Importer uniquement les fichiers journaux pour la plage horaire spécifiée à l’aide du masque de fichier journal appliqué. Ces fichiers journaux sont répertoriés dans la colonne Nom de fichier journal de la boîte de dialogue.
Sélectionner manuellement les fichiers journaux. | Sélectionner les fichiers journaux que vous voulez importer. Tous les fichiers journaux du répertoire sont répertoriés sans qu’aucun masque de fichier journal ne soit appliqué.


Boîte de dialogue Options d'exécution de l'importation

Envoyer des commentaires sur cette page Commerce Server 2002

Boîte de dialogue Options d’exécution de l’importation

Cette boîte de dialogue permet de nommer le lot d’importation créé à l’aide de l’Assistant Importation du Data Warehouse et de spécifier à quel moment le lot doit s’exécuter.

Activez l’une des options suivantes ou les deux :

  • Exécuter immédiatement l’importation. Une fois l’exécution de l’Assistant Importation du Data Warehouse terminée, l’importation s’exécute immédiatement sur l’ordinateur actuel.

    Remarque

    • L’enregistrement du lot ne s’effectue que lorsque vous sélectionnez Enregistrer la configuration d’importation sur le SQL Server.
  • Enregistrer la configuration d’importation sur le SQL Server. Cette option est recommandée si vous voulez personnaliser le lot d’importation (par exemple, pour changer la date de début pour l’importation de données de profil) ou si vous voulez exécuter le processus d’importation à une date ultérieure.

    Remarque

    • Le lot est enregistré dans le dossier Lots locaux dans SQL Enterprise Manager. Si SQL Enterprise Manager s’ouvre lorsque vous exécutez l’assistant, vous devez cliquer avec le bouton droit sur Lots locaux, puis cliquer sur Actualiser pour afficher le nouveau lot.

Pour obtenir des informations sur l’exécution manuelle du lot d’importation à une date ultérieure, consultez Exécution d’un lot DTS d’importation.


Boîte de dialogue Exécution du lot DTS

Cette boîte de dialogue s’affiche si vous sélectionnez l’option Exécuter immédiatement l’importation dans la boîte de dialogue Options d’exécution de l’importation.

L’Assistant Importation du Data Warehouse indique chaque étape de son déroulement.

Remarque

  • Si l’une de vos tâches DTS échoue, un message d’erreur s’affiche. Cliquez sur OK pour fermer le message d’erreur. Pour plus d’informations sur les problèmes rencontrés lors du processus d’importation, consultez Dépannage du processus d’importation du Data Warehouse.


Exécution d'un lot DTS d'importation

Envoyer des commentaires sur cette page Commerce Server 2002

Exécution d’un lot DTS d’importation

Si vous créez un lot DTS d’importation à l’aide de l’Assistant Importation du Data Warehouse, vous pouvez choisir de l’enregistrer dans SQL Server afin de l’exécuter à une date ultérieure. Effectuer la procédure suivant pour exécuter le lot d’importation.

Pour exécuter un lot d’importation

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Outils d’administration, puis cliquez sur Gestionnaire Commerce Server.
  2. Dans le Gestionnaire Commerce Server, développez Serveurs Microsoft SQL Server, Groupe SQL Server, puis développez le serveur sur lequel Data Warehouse est installé.
  3. Développez Data Transformation Services, puis cliquez sur Lots locaux.
  4. Cliquez avec le bouton droit sur votre lot, puis cliquez sur Exécuter le lot.
  5. Examinez la boîte de dialogue Exécution du lot pour voir les tâches qui ont échoué.

    Remarque

    • Si l’une de vos tâches DTS échoue, un message d’erreur s’affiche. Cliquez sur OK pour fermer le message d’erreur. Pour plus d’informations sur les problèmes rencontrés lors du processus d’importation, consultez Dépannage du processus d’importation du Data Warehouse.
  6. Cliquez sur Terminer pour fermer la boîte de dialogue Exécution du lot.


Aide sur l'interface utilisateur des tâches DTS

Envoyer des commentaires sur cette page Commerce Server 2002

Aide sur l’interface utilisateur des tâches DTS

Cette section contient les rubriques d’aide contextuelle concernant les tâches de transformation de données (DTS, Data Transformation Services) de Commerce Server 2002. Ces rubriques sont disponibles en cliquant sur Aide dans les boîtes de dialogue des tâches DTS de Commerce Server 2002.

Cette section contient les rubriques suivantes :

  • Boîte de dialogue Propriétés de la synchronisation du Data Warehouse
  • Boîte de dialogue Importer les journaux de serveur Web
  • Boîte de dialogue Fichiers journaux du serveur Web
  • Propriétés avancées d’importation de journal Web, onglet Exclusions
  • Boîte de dialogue Exclusions
  • Propriétés avancées d’importation de journal Web, onglet Inférences
  • Propriétés avancées d’importation de journal Web, onglet Chaînes de requête
  • Boîte de dialogue Chaînes de requête
  • Propriétés avancées d’importation de journal Web, onglet Fichiers par défaut
  • Propriétés avancées d’importation de journal Web, onglet Fichiers journaux
  • Propriétés avancées d’importation de journal Web, onglet Redémarrage
  • Boîte de dialogue Propriétés d’importation des transactions
  • Boîte de dialogue Propriétés d’importation du catalogue
  • Boîte de dialogue Tâche de suppression
  • Boîte de dialogue Propriétés de résolution IP
  • Boîte de dialogue Propriétés de préparation des rapports


Boîte de dialogue Propriétés de la synchronisation du Data Warehouse

Utilisez la tâche DTS de synchronisation de la configuration pour importer les données de configuration de site à partir de la base de données d’administration dans le Data Warehouse. Cette opération n’est pas exactement la même que celle effectuée par le bouton Synchroniser les valeurs de la boîte de dialogue Propriétés d’application. Lorsque vous cliquez sur ce bouton, Commerce Server lit les valeurs depuis la métabase IIS (Internet Information Services) vers la base de données d’administration, puis de la base de données d’administration vers le Data Warehouse. Pour plus d’informations, consultez Configuration d’une application.

Pour des raisons de performances, le Data Warehouse stocke les données de configuration de site (en particulier les paramètres relatifs à la topologie de site) au lieu de les lire dans la base de données d’administration chaque fois qu’il en a besoin.

Vous pouvez choisir de synchroniser le Data Warehouse avec un seul site ou tous les sites. Vous devez exécuter la tâche DTS de synchronisation de la configuration avant d’exécuter les tâches DTS qui importent ou suppriment des données.

Pour plus d’informations sur la configuration et l’exécution de cette tâche, consultez Exécution de la tâche DTS Synchronisation de la configuration.

Remarque

  • Vous ne pouvez pas annuler cette tâche une fois qu’elle a démarré. Même si vous appuyez sur le bouton Annuler, la tâche ne s’arrête pas.

Le tableau suivant répertorie les options et fonctions disponibles dans la boîte de dialogue Propriétés de la synchronisation du Data Warehouse.

Utilisez ceci | Pour faire cela
Description | Taper une description pour la tâche d’importation. La description peut comprendre au maximum 255 caractères.
Niveau d’opération Sélectionner l’une des options suivantes dans la liste déroulante :
  • Niveau du site pour synchroniser un site avec le Data Warehouse
  • Niveau du Data Warehouse pour synchroniser tous les sites avec le Data Warehouse.
Nom du site | Sélectionner dans la liste déroulante le site que vous voulez synchroniser avec le Data Warehouse.
Nom du Data Warehouse | Sélectionner dans la liste déroulante le Data Warehouse que vous voulez synchroniser avec les sites.
Nombre de tentatives | Taper le nombre de tentatives de connexion souhaité de la tâche vers le Data Warehouse. Le nombre de tentatives de connexion par défaut est de 10.
Délai en secondes entre les essais | Taper le nombre de secondes entre les tentatives de connexion. La valeur par défaut est 30 secondes.

Voir aussi

Exécution de la tâche DTS Synchronisation de la configuration

Processus ETL pour la tâche DTS Synchronisation de la configuration

Exécution de la tâche DTS Synchronisation de la configuration à l’aide d’un script

Méthodes conseillées pour le Data Warehouse

Déroulement des opérations pour l’exécution des tâches DTS


Boîte de dialogue Importer les journaux de serveur Web

Remarque

  • Si vous avez plusieurs fichiers d’applications et fichiers journaux, utilisez un script pour configurer la tâche DTS Importation du journal de serveur Web plutôt que d’utiliser l’interface utilisateur. Pour connaître les instructions à suivre, consultez Exécution de la tâche DTS Importation de journal de serveur Web à l’aide d’un script.

La tâche DTS Importation de journal de serveur Web importe dans le Data Warehouse de Commerce Server les données des fichiers journaux Web générés par vos serveurs Web. La tâche DTS Importation de journal de serveur Web vous permet de fournir des informations sur les fichiers journaux à importer et l’emplacement où les trouver. Les fichiers journaux Web doivent être au format de fichier journal Web étendu du W3C (World Wide Web Consortium).

Pour obtenir des informations importantes sur la configuration et l’exécution de la tâche DTS Importation de journal de serveur Web, consultez Méthodes conseillées pour le Data Warehouse.

Pour plus d’informations sur les problèmes rencontrés lors du processus d’importation, consultez Dépannage du processus d’importation du Data Warehouse.

Voir aussi

Onglet Emplacement des fichiers journaux

Onglet Critères d’importation

Onglet Détails de redémarrage

Le tableau suivant répertorie les options et fonctions disponibles dans la boîte de dialogue Importer les journaux de serveur Web.

Utilisez ceci | Pour faire cela
Description | Taper une description pour la tâche d’importation. La description peut comprendre au maximum 255 caractères.
Niveau d’opération Sélectionner Niveau du site dans la liste déroulante pour importer les fichiers journaux uniquement pour le site spécifié.

Sélectionner Niveau du Data Warehouse pour importer les journaux de tous les sites associés au Data Warehouse.

Site | Sélectionner dans la liste déroulante le site Web qui contient le journal de serveur Web à importer.
Data Warehouse | Sélectionner un Data Warehouse dans la liste déroulante pour importer les journaux de tous les sites associés à ce Data Warehouse.
Nombre de tentatives Taper le nombre de tentatives de connexion souhaité de la tâche vers le Data Warehouse. Le nombre de tentatives de connexion par défaut est de 10.

Remarque

  • Pour spécifier la fréquence de redémarrage du processus d’importation de journal Web avant de passer au processus d’importation suivant, cliquer sur Options avancées, puis sur l’onglet Redémarrage.
Délai en secondes entre les essais | Taper le nombre de secondes entre les tentatives de connexion. La valeur par défaut est 30 secondes.
Options avancées | Ouvrir la boîte de dialogue Propriétés avancées d’importation de journal Web.

Onglet Emplacement des fichiers journaux

Le tableau suivant répertorie les options et fonctions disponibles sous l’onglet Emplacement des fichiers journaux de la boîte de dialogue Importer les journaux de serveur Web.

Utilisez ceci | Pour faire cela
Emplacement des fichiers journaux | Cliquer sur les en-têtes de colonne pour trier la liste des fichiers journaux en fonction de l’application, de l’ordinateur, du site Web IIS ou du chemin d’accès au fichier journal.
Chemin d’accès au fichier journal | Taper le chemin du fichier journal Web à importer, ou rechercher le chemin du fichier journal en cliquant sur le bouton de sélection [...].
Fichiers journaux | Ouvrir la boîte de dialogue Fichiers journaux du serveur Web pour sélectionner dans la liste Fichiers journaux du serveur Web les fichiers journaux Web à importer. Cliquer ensuite sur OK pour revenir à la boîte de dialogue Importer les journaux de serveur Web.

Onglet Critères d’importation

Le tableau suivant répertorie les options et fonctions disponibles sous l’onglet Critères d’importation de la boîte de dialogue Importer les journaux de serveur Web.

Utilisez ceci | Pour faire cela
Tous les fichiers journaux depuis la dernière importation | Importer uniquement les fichiers journaux créés depuis la dernière importation.
Fichiers journaux par plage date/heure | Importer uniquement les fichiers journaux créés entre la date/heure de début et la date/heure de fin.
Date/heure de début | Taper la date et l’heure correspondant au début de la plage de date/heure pendant laquelle les fichiers journaux sont importés. Cette option n’est disponible que si vous avez sélectionné l’option Fichiers journaux par plage date/heure.
Date/heure de fin | Taper la date et l’heure correspondant à la fin de la plage de date/heure pendant laquelle les fichiers journaux sont importés. Cette option n’est disponible que si vous avez sélectionné l’option Fichiers journaux par plage date/heure.

Onglet Détails de redémarrage

Si un processus d’importation échoue ou est annulé, l’onglet Détails de redémarrage indique les informations suivantes associées à ce processus : fichiers journaux et groupe de serveurs concernés, état du processus et nom du site.

Le tableau suivant répertorie les options et fonctions disponibles sous l’onglet Détails de redémarrage de la boîte de dialogue Importer les journaux de serveur Web.

Utilisez ceci | Pour faire cela
Nom du fichier | Nom du fichier d’importation de journal.
Groupe de serveurs | Nom du groupe de serveurs.
État État du processus d’importation de journal. Il existe quatre états possibles :
  • Fichier non valide. Le fichier ne contient pas d’accès valide. (Par exemple, le fichier est vide ou contient seulement un en-tête)
  • Terminé. L’importation du fichier journal s’est déroulée normalement.
  • Non commencé. Le fichier journal n’a pas encore été importé.
  • Annulé. Le fichier journal a été partiellement importé.
Nom du site | Nom du site auquel le fichier journal Web est associé.
Bouton Ignorer Supprimer la tâche d’importation de journal qui a échoué et continuer avec une nouvelle tâche d’importation de journal. Si vous sélectionnez cette option, vous ne pourrez pas redémarrer le travail d’importation précédent.

Tous les messages d’état précédents des importations incomplètes de journaux sont effacés.
Bouton Continuer | Permettre à la tâche d’importation de journal inachevée de se poursuivre. Aucune autre importation de journal ne pourra avoir lieu tant que cette opération ne sera pas achevée.

Voir aussi

Méthodes conseillées pour l’exécution de la tâche DTS Importation de journal de serveur Web

Dépannage du processus d’importation du Data Warehouse

Exécution de la tâche DTS Importation de journal de serveur Web à l’aide d’un script

Configuration de la tâche DTS Importation de journal de serveur Web

Processus ETL pour la tâche DTS Importation de journal de serveur Web

Exécution de la tâche DTS Importation de journal de serveur Web

Exécution de la tâche DTS Importation de journal de serveur Web pour un grand site

Options disponibles en cas d’échec d’une tâche DTS Importation de journal de serveur Web

Rapports basés sur les données de fichier journal Web

Spécification des données à importer dans le Data Warehouse


Boîte de dialogue Fichiers journaux du serveur Web

Cette boîte de dialogue répertorie les fichiers journaux qui seront importés. Vous pouvez sélectionner dans la liste les fichiers que vous voulez importer ou annuler la sélection pour les fichiers que vous ne voulez pas importer.

Pour ajouter des fichiers à liste de fichiers journaux à importer

  1. Dans la boîte de dialogue Fichiers journaux du serveur Web, cliquez sur Annuler.
  2. Dans la boîte de dialogue Importer les journaux de serveur Web, sous l’onglet Emplacement des fichiers journaux, spécifiez le chemin d’accès aux fichiers journaux que vous voulez importer.

Pour obtenir des instructions supplémentaires sur la manière de spécifier les fichiers journaux à importer, consultez Spécification de l’emplacement d’un fichier journal à importer dans le Data Warehouse.

Voir aussi

Spécification des données à importer dans le Data Warehouse

Déroulement des opérations pour l’exécution des tâches DTS


Propriétés avancées d'importation de journal Web, onglet Exclusions

Envoyer des commentaires sur cette page Commerce Server 2002

Propriétés avancées d’importation de journal Web, onglet Exclusions

Cette boîte de dialogue permet d’empêcher l’importation des données suivantes dans le Data Warehouse :

  • Accès à partir de certains hôtes
  • Demandes de types de fichiers ou expressions spécifiques.
  • Accès par des robots

Pour plus d’informations, consultez Définition des données à exclure des journaux Web.

Le tableau suivant répertorie les options et fonctions disponibles sous l’onglet Exclusions de la boîte de dialogue Propriétés avancées d’importation de journal Web.

Utilisez ceci | Pour faire cela
Filtrer les exclusions par Sélectionner un type d’exclusion dans la liste déroulante pour afficher uniquement ce type d’exclusion. Les types d’exclusion sont les suivants :
  • Hôtes
  • Types de fichiers
  • Expressions de fichiers
  • Robots

Pour plus d’informations sur les catégories d’exclusion, consultez Définition des données à exclure des journaux Web.
Inclure la liste de robots par défaut dans les critères d’exclusion | Inclure la liste de robots par défaut dans les critères d’exclusion.
Type d’exclusion | Trier la liste d’exclusions selon le type d’exclusion.
Exclure | Trier la liste d’exclusions selon les critères du type d’exclusion.
Application | Trier la liste d’exclusions selon l’application.
Ajouter | Ouvrir la boîte de dialogue Exclusions pour ajouter une nouvelle exclusion.
Supprimer | Supprimer l’exclusion sélectionnée.
Propriétés | Ouvrir la boîte de dialogue Exclusions qui permet de visualiser les propriétés de l’exclusion sélectionnée.

Voir aussi

Définition des données à exclure des journaux Web

Configuration de la tâche DTS Importation de journal de serveur Web

Méthodes conseillées pour le Data Warehouse

Processus ETL pour la tâche DTS Importation de journal de serveur Web

Exécution de la tâche DTS Importation de journal de serveur Web

Exécution de la tâche DTS Importation de journal de serveur Web pour un grand site

Options disponibles en cas d’échec d’une tâche DTS Importation de journal de serveur Web

Dépannage du processus d’importation du Data Warehouse


Boîte de dialogue Exclusions

Cette boîte de dialogue permet d’empêcher l’importation des données suivantes dans le Data Warehouse :

  • Accès à partir de certains hôtes
  • Demandes de types de fichiers ou expressions spécifiques.
  • Accès par des robots

Pour plus d’informations, consultez Définition des données à exclure des journaux Web.

Le tableau suivant répertorie les options et fonctions disponibles dans la boîte de dialogue Exclusions.

Utilisez ceci | Pour faire cela
Sélectionner une catégorie d’exclusion Sélectionner dans la liste déroulante le type d’exclusion d’importation à ajouter. Les types de données suivants peuvent être exclus :
  • Hôtes
  • Types de fichiers
  • Expressions de fichiers
  • Robots

Pour plus d’informations sur les catégories d’exclusion, consultez Définition des données à exclure des journaux Web.
Nom | Taper un nom que Commerce Server peut utiliser pour rechercher les fichiers journaux. Vous ne devez pas inclure d’espace dans le nom tapé.
Toutes les applications d’un site | Exclure les données de toutes les applications d’un site.
Applications sélectionnées d’un site | Spécifier de quelles applications du site vous souhaitez exclure les données.
Sélectionner tout | Exclure les données de l’ensemble des applications répertoriées.
Désélectionner tout | Annuler la sélection de l’ensemble de toutes les applications répertoriées.

Voir aussi

Définition des données à exclure des journaux Web

Configuration de la tâche DTS Importation de journal de serveur Web

Méthodes conseillées pour le Data Warehouse

Processus ETL pour la tâche DTS Importation de journal de serveur Web

Exécution de la tâche DTS Importation de journal de serveur Web

Exécution de la tâche DTS Importation de journal de serveur Web pour un grand site

Options disponibles en cas d’échec d’une tâche DTS Importation de journal de serveur Web


Propriétés avancées d'importation de journal Web, onglet Inférences

Envoyer des commentaires sur cette page Commerce Server 2002

Propriétés avancées d’importation de journal Web, onglet Inférences

Cette boîte de dialogue permet de personnaliser les hypothèses établies au cours de l’importation concernant les utilisateurs et les visites, afin de mieux répondre aux besoins de votre organisation en matière d’analyse. Commerce Server tente d’identifier les utilisateurs en fonction des propriétés figurant dans le fichier journal Web. Les inférences font référence au processus d’identification des utilisateurs uniques en fonction des données sur l’utilisateur et sur les visites figurant dans le fichier journal Web.

Pour plus d’informations, consultez Définition des inférences pour les utilisateurs et Définition des inférences pour les visites.

Le tableau suivant répertorie les options et fonctions disponibles sous l’onglet Inférences de la boîte de dialogue Propriétés avancées d’importation de journal Web.

Utilisez ceci | Pour faire cela
Minutes d’inactivité autorisées avant la fin de la visite | Taper le nombre de minutes d’inactivité autorisées avant qu’une visite soit considérée comme terminée. La valeur par défaut est 30 minutes.
Utiliser des cookies d’identification de Commerce Server pour les inférences | Utiliser les cookies d’identification de Commerce Server pour distinguer les différents utilisateurs.
Utiliser noms d’utilisateurs pour les inférences | Utiliser les noms d’utilisateurs pour distinguer les différents utilisateurs.
Utiliser des identificateurs de cookies personnalisés | Utiliser des cookies personnalisés pour distinguer les différents utilisateurs.
Entrer un nouvel identificateur de cookie personnalisé | Taper l’identificateur du cookie personnalisé que vous souhaitez utiliser pour les inférences.
Ajouter | Ajouter le nouvel identificateur de cookie personnalisé à la liste d’inférences.
Supprimer | Supprimer la ligne sélectionnée de la liste d’inférences.

Voir aussi

Définition des inférences pour les utilisateurs

Définition des inférences pour les visites

Précision des inférences

Configuration de la tâche DTS Importation de journal de serveur Web


Propriétés avancées d'importation de journal Web, onglet Chaînes de requête

Envoyer des commentaires sur cette page Commerce Server 2002

Propriétés avancées d’importation de journal Web, onglet Chaînes de requête

Si votre site utilise des chaînes de requête, vous pouvez les enregistrer dans des fichiers journaux et les importer dans le Data Warehouse. Les chaînes de requête peuvent être utilisées dans votre site pour la recherche ou l’exécution de fichiers exécutables. Si vous disposez d’une liste des chaînes de requête utilisées dans votre site, vous pouvez activer la création de rapports sur le contenu associé à ces chaînes de requête. Par défaut, les chaînes de requête sont stockées avec l’identificateur URI (Uniform Resource Identifier) dans le Data Warehouse.

Cette boîte de dialogue permet de spécifier que vous voulez importer des chaînes de requête de sites Web, pour permettre l’analyse des données qui y sont associées.

Pour plus d’informations, consultez Définition des propriétés de l’importation des chaînes de requête pour les fichiers journaux Web.

Le tableau suivant répertorie les options et fonctions disponibles sous l’onglet Chaînes de requête de la boîte de dialogue Propriétés avancées d’importation de journal Web.

Utilisez ceci | Pour faire cela
Enregistrer la chaîne de requête avec l’URI | Enregistrer la chaîne de requête avec l’URI (Uniform Resource Identifier).
Chaîne de requête | Trier la liste selon le nom des chaînes de requête.
Application | Trier la liste selon le nom des applications.
Ajouter | Ouvrir la boîte de dialogue Chaînes de requête qui permet d’ajouter une nouvelle chaîne de requête.
Supprimer | Supprimer la chaîne de requête spécifiée.
Propriétés | Ouvrir la boîte de dialogue Chaînes de requête qui permet de modifier la chaîne de requête spécifiée.

Voir aussi

Définition des propriétés de l’importation des chaînes de requête pour les fichiers journaux Web.

Configuration de la tâche DTS Importation de journal de serveur Web


Boîte de dialogue Chaînes de requête

Si votre site utilise des chaînes de requête, vous pouvez les enregistrer dans des fichiers journaux et les importer dans le Data Warehouse. Les chaînes de requête peuvent être utilisées dans votre site pour la recherche ou l’exécution de fichiers exécutables. Si vous disposez d’une liste des chaînes de requête utilisées dans votre site, vous pouvez activer la création de rapports sur le contenu associé à ces chaînes de requête. Par défaut, les chaînes de requête sont stockées avec l’identificateur URI (Uniform Resource Identifier) dans le Data Warehouse.

Cette boîte de dialogue permet de spécifier que vous voulez importer des chaînes de requête de sites Web, pour permettre l’analyse des données qui y sont associées.

Pour plus d’informations, consultez Définition des propriétés de l’importation des chaînes de requête pour les fichiers journaux Web.

Le tableau suivant répertorie les options et fonctions disponibles dans la boîte de dialogue Chaînes de requête.

Utilisez ceci | Pour faire cela
Nom | Taper un nom pour la chaîne de requête.
Toutes les applications d’un site | Importer la chaîne de requête à partir de toutes les applications d’un site.
Applications sélectionnées d’un site | Spécifier pour quelles applications du site vous souhaitez importer la chaîne de requête.
Sélectionner le type de données Sélectionner le type de données pour la requête dans la liste déroulante. Les options de type de données comprennent :
  • String (par défaut)
  • Integer, Date/Time
  • Real
Type de données à valeurs multiples | Indiquer que la requête doit utiliser un type de données à valeurs multiples.

Voir aussi

Définition des propriétés de l’importation des chaînes de requête pour les fichiers journaux Web.

Configuration de la tâche DTS Importation de journal de serveur Web


Propriétés avancées d'importation de journal Web, onglet Fichiers par défaut

Envoyer des commentaires sur cette page Commerce Server 2002

Propriétés avancées d’importation de journal Web, onglet Fichiers par défaut

Un fichier par défaut, également connu sous le nom de fichier d’index de répertoire ou page d’accueil, constitue une page Web à laquelle les utilisateurs accèdent lorsqu’ils tapent dans la zone Adresse de leur navigateur une adresse URL de site ne contenant pas de nom de fichier spécifique. Par exemple, les utilisateurs accèdent à la page www.microsoft/default.htm lorsqu’ils tapent www.microsoft.com ou www.microsoft.com/default.htm dans la zone Adresse de leur navigateur. Les fichiers journaux Web comptent toutefois les deux adresses URL en tant qu’accès à deux pages différentes.

Cette boîte de dialogue permet de s’assurer que le nombre des accès des visiteurs uniques à la page par défaut de votre site est précis, afin de permettre des redirections et plusieurs versions de votre adresse URL.

Pour plus d’informations, consultez Définition des fichiers journaux Web par défaut.

Remarques

  • Après avoir configuré les fichiers par défaut, vous devez exécuter la tâche DTS de synchronisation de la configuration pour synchroniser votre configuration de site avec le Data Warehouse avant d’importer les données dans le Data Warehouse. Pour plus d’informations sur la tâche DTS Synchronisation de la configuration, consultez Exécution de la tâche DTS Synchronisation de la configuration.
  • Dans le cas de serveurs non-IIS (Internet Information Services), les paramètres par défaut sont Index.html, Index.htm et Default.htm. Si ces paramètres ne sont pas appropriés à votre site, changez-les pour garantir la précision du comptage des demandes.

Le tableau suivant répertorie les options et fonctions disponibles sous l’onglet Fichiers par défaut de la boîte de dialogue Propriétés avancées d’importation de journal Web.

Utilisez ceci | Pour faire cela
Supprimer le répertoire de premier niveau du fichier de chemins d’accès système | Afficher les chaînes de noms de fichiers sans leurs répertoires de premier niveau.
Fichier d’index de répertoire | Taper le nom du fichier que vous voulez désigner en tant que fichier d’index de répertoire.
Ajouter | Ajouter le nouveau fichier d’index de répertoire à la liste des fichiers par défaut.
Supprimer | Supprimer le fichier d’index de répertoire sélectionné de la liste de fichiers par défaut.

Voir aussi

Définition des fichiers journaux Web par défaut

Configuration de la tâche DTS Importation de journal de serveur Web


Propriétés avancées d'importation de journal Web, onglet Fichiers journaux

Envoyer des commentaires sur cette page Commerce Server 2002

Propriétés avancées d’importation de journal Web, onglet Fichiers journaux

Cette boîte de dialogue permet d’effectuer les opérations suivantes :

  • Supprimer les redondances qui peuvent survenir lorsque les fichiers journaux contiennent des demandes qui se superposent dans le temps.
  • Supprimer les redondances ou les pertes de données qui peuvent survenir lorsque des fichiers journaux font l’objet de rotations entre les serveurs afin d’éviter que la taille des fichiers journaux ne devienne trop importante.

Si vous ne spécifiez pas les paramètres de superposition horaire et de rotation des fichiers journaux, il est impossible d’importer des fichiers journaux dans le Data Warehouse sans perdre des données sur l’activité, car les fichiers journaux sont en création constante lorsque votre site fonctionne. Vos fichiers peuvent contenir des données pour des périodes horaires qui se superposent si vous exécutez les fichiers journaux sur des serveurs distincts, si vous interrompez et reprenez l’enregistrement sur un serveur unique, si vous réimportez accidentellement un fichier journal ou si vous procédez à une concaténation de fichiers journaux distincts.

Pour plus d’informations, consultez Définition des propriétés de superposition horaire et de rotation des fichiers journaux.

Remarque

  • Après avoir configuré cette boîte de dialogue, vous devez exécuter la tâche DTS de synchronisation de la configuration pour synchroniser votre configuration de site avec le Data Warehouse avant d’importer les données dans le Data Warehouse.

Le tableau suivant répertorie les options et fonctions disponibles sous l’onglet Fichiers journaux de la boîte de dialogue Propriétés avancées d’importation de journal Web.

Utilisez ceci | Pour faire cela
Délai de superposition des enregistrements en minutes | Taper le nombre de minutes de superposition des enregistrements dans les fichiers journaux. La valeur par défaut est 30 minutes.
Si une superposition est détectée Sélectionner une action à effectuer si la superposition des fichiers journaux dépasse les minutes de superposition spécifiées :
  • Importer tous les enregistrements. Toutes les demandes sont importées, y compris celles qui se superposent.
  • Arrêter l’importation. Le fichier journal contenant des demandes qui se superposent n’est pas importé. Tous les autres fichiers journaux sont importés.
  • Arrêter toutes les importations. Toutes les importations de fichiers journaux sont arrêtées si des demandes qui se superposent sont détectées.
  • Ignorer les enregistrements et continuer (par défaut). Ignore les demandes qui se superposent et importe les autres.
En fin d’importation Sélectionner une action à exécuter pour les visites en cours à la fin de votre processus d’importation :
  • Stocker les visites en cours pour la prochaine importation (paramètre par défaut). La visite en cours est reconstruite comme s’il s’agissait d’un seul fichier journal. Cette option nécessite un peu plus de temps, car les visites en cours doivent être appelées du cache à chaque nouvelle importation. Vous devez importer les fichiers journaux en respectant l’ordre chronologique pour que cette option fonctionne.
  • Valider les visites en cours dans la base de données. Le nombre de visites est plus élevé au début et à la fin de la période du fichier journal, car les visites qui sont réparties sur deux périodes sont comptées deux fois.
  • Ignorer les visites en cours. Le nombre de visites est moins élevé à la fin de la période du fichier journal car les visites non terminées sont ignorées.
Vider le cache | Supprimer les données stockées dans le cache.

Voir aussi

Définition des propriétés de superposition horaire et de rotation des fichiers journaux

Processus ETL pour la tâche DTS Synchronisation de la configuration


Propriétés avancées d'importation de journal Web, onglet Redémarrage

Envoyer des commentaires sur cette page Commerce Server 2002

Propriétés avancées d’importation de journal Web, onglet Redémarrage

Cette boîte de dialogue permet de spécifier le comportement de l’option de redémarrage. Si le Data Warehouse rencontre un fichier de journal d’importation erronée, l’option de redémarrage peut soit automatiquement arrêter le processus d’importation en entier ou supprimer le fichier journal erroné et continuer après l’échec de toutes les nouvelles tentatives.

Pour plus d’informations, consultez Définition des propriétés de redémarrage de l’importation de journal Web et Options disponibles en cas d’échec d’une tâche DTS Importation de journal de serveur Web.

Remarque

  • Après avoir configuré les propriétés de redémarrage, vous devez exécuter la tâche DTS de synchronisation de la configuration pour synchroniser votre configuration de site avec le Data Warehouse avant d’importer les données dans le Data Warehouse.

Le tableau suivant répertorie les options disponibles sous l’onglet Redémarrage de la boîte de dialogue Propriétés avancées d’importation de journal Web.

Utilisez ceci | Pour faire cela
Action après épuisement des tentatives | Sélectionner l’action que Commerce Server doit effectuer lorsque le nombre de redémarrages du processus d’importation a atteint son maximum.
Nombre de tentatives de redémarrage | Spécifier le nombre de tentatives que Commerce Server doit faire pour redémarrer un processus d’importation qui a échoué.

Pour afficher des informations sur les raisons d’un arrêt du processus d’importation de journal Web, cliquez sur l’onglet Détails de redémarrage de la boîte de dialogue Importer les journaux de serveur Web.

Voir aussi

Définition des propriétés de redémarrage de l’importation de journal Web

Options disponibles en cas d’échec d’une tâche DTS Importation de journal de serveur Web

Dépannage du processus d’importation du Data Warehouse


Boîte de dialogue Propriétés d'importation des transactions

Envoyer des commentaires sur cette page Commerce Server 2002

Boîte de dialogue Propriétés d’importation des transactions

La tâche DTS d’importation de données de transactions importe des données qui sont créées sur votre site Web lorsqu’un utilisateur ajoute et supprime des articles de son panier ou qu’il procède à un achat. Après avoir importé ces données, vous pouvez exécuter des rapports pour les analyser.

Pour plus d’informations sur la configuration et l’exécution de cette tâche, consultez Exécution de la tâche DTS Importation des données de transaction.

Le tableau suivant répertorie les options et fonctions disponibles dans la boîte de dialogue Propriétés d’importation des transactions.

Utilisez ceci | Pour faire cela
Description | Taper une description pour la tâche d’importation. La description peut comprendre au maximum 255 caractères.
Niveau d’opération | Sélectionner Niveau du site dans la liste déroulante pour importer les fichiers journaux uniquement pour le site spécifié. Sélectionner Niveau du Data Warehouse pour importer les fichiers journaux de tous les sites associés au Data Warehouse.
Nom du site | Sélectionner dans la liste déroulante le site contenant les données que vous voulez importer.
Nom du Data Warehouse | Sélectionner dans la liste déroulante le Data Warehouse associé aux sites qui contiennent les données à importer.
Charge incrémentielle | Importer uniquement les nouvelles données de transaction en se basant sur une importation précédente.
Charge totale | Importer l’intégralité des données de transaction.
Nombre de tentatives | Taper le nombre de tentatives de connexion souhaité de la tâche vers le Data Warehouse. Le nombre de tentatives de connexion par défaut est de 10.
Délai en secondes entre les essais | Taper le nombre de secondes entre les tentatives de connexion. La valeur par défaut est 30 secondes.

Voir aussi

Exécution de la tâche DTS Importation des données de transaction

Processus ETL pour la tâche DTS Importation des données de transaction

Exécution de la tâche DTS Importation des données de transaction à l’aide d’un script

Méthodes conseillées pour le Data Warehouse

Spécification des données à importer dans le Data Warehouse

Déroulement des opérations pour l’exécution des tâches DTS

Dépannage du processus d’importation du Data Warehouse


Boîte de dialogue Propriétés d'importation du catalogue

Envoyer des commentaires sur cette page Commerce Server 2002

Boîte de dialogue Propriétés d’importation du catalogue

La tâche DTS d’importation du catalogue de produits importe des données de produits à partir de vos bases de données de catalogue. L’importation des données sur les produits permet d’indiquer dans vos rapports de transaction des informations plus descriptives sur les produits que celles disponibles dans les données de transaction. Vous pouvez également exécuter des rapports afin d’analyser la vente des produits.

Pour plus d’informations sur la configuration et l’exécution de cette tâche, consultez Exécution de la tâche DTS Importation du catalogue de produits.

Remarques

  • Pour plus d’informations sur l’importation de données pour les catalogues virtuels, consultez Importation de données pour les catalogues virtuels.
  • Si vous exécutez une opération au Niveau du Data Warehouse pour importer des données du catalogue pour tous les sites associés au Data Warehouse et si deux sites au moins possèdent un catalogue et des produits de noms similaires, la tâche DTS Importation du catalogue de produits traite les catalogues comme s’ils possédaient les mêmes propriétés. Si les catalogues n’ont pas les mêmes propriétés, vous devez effectuer une opération au Niveau du site.

Le tableau suivant répertorie les options et fonctions disponibles dans la boîte de dialogue Propriétés d’importation du catalogue.

Utilisez ceci | Pour faire cela
Description | Taper une description pour la tâche d’importation. La description peut comprendre au maximum 255 caractères.
Niveau d’opération | Sélectionner Niveau du site dans la liste déroulante pour cataloguer des données uniquement pour le site spécifié. Sélectionner Niveau du Data Warehouse pour importer les données de catalogue de tous les sites associés au Data Warehouse.
Nom du site | Cette option apparaît lorsque vous effectuez une opération Niveau du site. Sélectionner dans la liste déroulante le site contenant les données de catalogue que vous voulez importer.
Nom du Data Warehouse | Cette option apparaît lorsque vous effectuez une opération au Niveau du Data Warehouse. Sélectionner dans la liste déroulante le Data Warehouse associé aux sites pour lesquels vous souhaitez importer des données de catalogue.
Charge incrémentielle | Importer uniquement les nouvelles données de catalogue générées depuis la dernière exécution du processus d’importation.
Charge totale | Importer l’intégralité des données de catalogue dans le fichier journal.
Nombre de tentatives | Taper le nombre de tentatives de connexion souhaité de la tâche vers le Data Warehouse. Le nombre de tentatives de connexion par défaut est de 10.
Délai en secondes entre les essais | Taper le nombre de secondes entre les tentatives de connexion. La valeur par défaut est 30 secondes.

Voir aussi

Importation de données pour les catalogues virtuels

Exécution de la tâche DTS Importation du catalogue de produits

Processus ETL pour la tâche DTS Importation du catalogue de produits

Exécution de la tâche DTS Importation du catalogue de produits à l’aide d’un script

Méthodes conseillées pour le Data Warehouse

Spécification des données à importer dans le Data Warehouse

Déroulement des opérations pour l’exécution des tâches DTS

Dépannage du processus d’importation du Data Warehouse


Boîte de dialogue Tâche de suppression

La tâche DTS Suppression des données supprime des données du Data Warehouse. Vous pouvez choisir de supprimer les données de fichier journal détaillées pour un site donné ou pour l’intégralité des sites associés au Data Warehouse.

En outre, vous pouvez supprimer des données de fichier journal pour réduire la taille du Data Warehouse. Vous pouvez également supprimer l’ensemble des données du Data Warehouse, par exemple, si vous avez importé des données de test et que vous souhaitez vider le Data Warehouse avant d’y importer des données valides.

Pour plus d’informations sur la configuration et l’exécution de cette tâche, consultez Exécution de la tâche DTS Suppression des données.

Le tableau suivant répertorie les options et fonctions disponibles dans la boîte de dialogue Tâche de suppression.

Zone | Pour faire cela
Description | Taper une description pour la tâche d’importation. La description peut comprendre au maximum 255 caractères.
Niveau d’opération Sélectionner Niveau du site dans la liste déroulante pour supprimer les fichiers journaux Web uniquement pour le site spécifié.

Sélectionner Niveau du Data Warehouse pour supprimer les fichiers journaux Web de tous les sites associés au Data Warehouse.

Site | Sélectionner dans la liste déroulante le site pour lequel vous souhaitez supprimer des données de fichier journal Web.
Nom du Data Warehouse | Sélectionner dans la liste déroulante le Data Warehouse où vous souhaitez supprimer des données de fichier journal Web.
Type de suppression Sélectionner le type de suppression dans la liste déroulante :
  • Tous. Supprime toutes les données (de détail et synthétisées) du Data Warehouse. Activer cette option lorsque vous avez importé des données de test et que vous souhaitez vider le Data Warehouse avant d’y importer des données valides.
  • Importations des journaux Web. Supprime les données des fichiers journaux Web sélectionnés. Activer cette option pour réduire la taille du Data Warehouse.
Niveau de suppression Sélectionner Toutes les données pour supprimer les données de détail et les données synthétisées importées à partir des fichiers journaux Web sélectionnés.

Sélectionner Données de détail pour supprimer uniquement les données de détail importées à partir des fichiers journaux Web sélectionnés.
Journaux à supprimer Sélectionner dans la liste déroulante les fichiers journaux que vous voulez supprimer :
  • Sélectionner des importations de journaux Web spécifiques à supprimer. Après avoir activé cette option, sélectionner dans la liste les fichiers journaux Web que vous voulez supprimer.
  • Conserver plusieurs importations de journaux Web. Après avoir activé cette option, spécifier le nombre de fichiers journaux actuels à conserver.
  • Supprimer les importations de journaux Web par heure. Après avoir activé cette option, spécifier si vous voulez supprimer les fichiers dont la durée est supérieure à un jour, une semaine, un mois ou une année.
Nombre de tentatives | Taper le nombre de tentatives de connexion souhaité de la tâche vers le Data Warehouse. Le nombre de tentatives de connexion par défaut est de 10.
Délai en secondes entre les essais | Taper le nombre de secondes entre les tentatives de connexion. La valeur par défaut est 30 secondes.

Voir aussi

Exécution de la tâche DTS Suppression des données

Processus ETL pour la tâche DTS Suppression des données

Exécution de la tâche DTS Suppression des données à l’aide d’un script

Méthodes conseillées pour le Data Warehouse

Déroulement des opérations pour l’exécution des tâches DTS

Dépannage du processus d’importation du Data Warehouse


Boîte de dialogue Propriétés de résolution IP

La tâche DTS de résolution IP résout les adresses IP (Internet Protocol) à partir des données utilisateur importées. La résolution IP permet de convertir des adresses IP, importées à partir de vos fichiers journaux, en noms de domaine. Par exemple, 198.105.232.4 devient www.microsoft.com. Ceci permet aux personnes qui lisent vos rapports de comprendre plus facilement les données qui y sont contenues.

Pour plus d’informations sur la configuration et l’exécution de cette tâche, consultez Exécution de la tâche DTS Résolution IP.

Le tableau suivant répertorie les options et fonctions disponibles dans la boîte de dialogue Propriétés de résolution IP.

Utilisez ceci | Pour faire cela
Description | Taper une description pour la tâche d’importation. La description peut comprendre au maximum 255 caractères.
Data Warehouse | Sélectionner dans la liste déroulante le Data Warehouse concerné par la résolution IP.
Résoudre les adresses IP Activer l’une des options suivantes :
  • Recherche incrémentielle. Résoudre uniquement les adresses IP qui n’ont pas encore été résolues.
  • Recherche complète. Résoudre l’intégralité des adresses IP.
Nom de domaine local | Taper le nom de domaine local du serveur DNS servant de serveur principal pour la résolution des adresses IP.
Durée de mise en cache du résultat en jours | Taper le nombre de jours pendant lesquels les adresses IP résolues seront stockées. La valeur par défaut est de 30 jours. Si vous augmentez la valeur par défaut, la résolution IP est effectuée plus rapidement. Cependant, il se peut que les modifications de nom de domaine ne soient pas détectées.
Délai d’expiration en secondes | Taper la durée de recherche (en secondes) sur le serveur DNS au bout de laquelle une adresse IP est considérée comme non résolue. La valeur par défaut est de 10 secondes. Si vous augmentez la valeur par défaut, un plus grand nombre d’adresses IP est résolu, mais la résolution IP nécessite davantage de temps.
Nombre de demandes de recherche à conserver en lot | Taper le nombre d’adresses IP à transférer dans un même lot à votre serveur DNS. La valeur par défaut est 200 ; la valeur peut être comprise entre 10 et 99 999.
Nombre de tentatives | Taper le nombre de tentatives de connexion souhaité de la tâche vers le Data Warehouse. Le nombre de tentatives de connexion par défaut est de 10.
Délai en secondes entre les essais | Taper le nombre de secondes entre les tentatives de connexion. La valeur par défaut est 30 secondes.

Voir aussi

Exécution de la tâche DTS Résolution IP

Processus ETL pour la tâche DTS Résolution IP

Écriture de scripts pour la tâche DTS de résolution IP

Méthodes conseillées pour le Data Warehouse

Déroulement des opérations pour l’exécution des tâches DTS

Dépannage du processus d’importation du Data Warehouse


Boîte de dialogue Propriétés de préparation des rapports

La tâche DTS Préparation du rapport permet de remplir les cubes OLAP (Online Analytical Processing) en utilisant les données du Data Warehouse. Commerce Server 2002 utilise les cubes OLAP pour structurer les données synthétisées contenues dans le Data Warehouse afin d’accélérer l’exécution des rapports dans les modules Analyse de Commerce Server Business Desk. La tâche DTS Préparation du rapport doit être exécutée chaque fois que des données sont importées dans le Data Warehouse ou en sont supprimées.

Remarques

  • Si plusieurs sites partagent un Data Warehouse, exécutez la tâche DTS Préparation du rapport une fois pour traiter les données pour tous les sites.

    Lorsque cette opération a été effectuée, la tâche DTS Préparation du rapport traite tous les sites du Data Warehouse. N’exécutez pas la tâche DTS séparément pour chaque site, sous peine de nuire aux performances du Data Warehouse.

  • La première fois que vous exécutez la tâche DTS Préparation du rapport pour remplir les cubes OLAP dans le Data Warehouse, vous devez sélectionner l’option de traitement complet du cube. Une fois que vous avez exécuté la tâche DTS Préparation du rapport, vous pouvez effectuer un traitement incrémentiel du cube pour charger uniquement les nouvelles données dans les cubes OLAP.
  • Vous devez également sélectionner l’option de traitement complet du cube une fois que vous avez supprimé l’ensemble des données du Data Warehouse. Pour plus d’informations sur la suppression de données du Data Warehouse, consultez Exécution de la tâche DTS Suppression des données.

Pour plus d’informations sur la configuration et l’exécution de cette tâche, consultez Exécution de la tâche DTS Préparation du rapport.

Le tableau suivant répertorie les options et fonctions disponibles dans la boîte de dialogue Propriétés de préparation des rapports.

Utilisez ceci | Pour faire cela
Description | Taper une description pour la tâche d’importation. La description peut comprendre au maximum 255 caractères.
Data Warehouse | Sélectionner le Data Warehouse pour lequel la tâche DTS Préparation du rapport sera effectuée.
Sites | Sélectionner dans la liste le site contenant les données que vous voulez utiliser dans les rapports d’analyse.
Mode de traitement Activer l’une des options suivantes :
  • Complet. Effectuer un traitement complet des cubes.
  • Actualiser les données. Actualiser toutes les données des cubes.
  • Incrémentiel. Effectuer un traitement incrémentiel des cubes.
Nombre de tentatives | Taper le nombre de tentatives de connexion souhaité de la tâche vers le Data Warehouse. Le nombre de tentatives de connexion par défaut est de 10.
Délai en secondes entre les essais | Taper le nombre de secondes entre les tentatives de connexion. La valeur par défaut est 30 secondes.

Voir aussi

Exécution de la tâche DTS Préparation du rapport

Processus ETL pour la tâche DTS Préparation du rapport

Exécution de la tâche DTS Préparation du rapport à l’aide d’un script

Méthodes conseillées pour le Data Warehouse

Spécification des données à importer dans le Data Warehouse

Déroulement des opérations pour l’exécution des tâches DTS

Dépannage du processus d’importation du Data Warehouse


Aide sur l'interface utilisateur de la ressource Profils

Envoyer des commentaires sur cette page Commerce Server 2002

Aide sur l’interface utilisateur de la ressource Profils

Cette section contient les rubriques d’aide contextuelle concernant la ressource Profils de Commerce Server 2002. Ces rubriques sont disponibles depuis l’interface utilisateur de la ressource Profils en cliquant sur Aide dans les boîtes de dialogue de la ressource Profils.

Cette section contient les rubriques suivantes :

  • Propriétés du profil, onglet Chaînes de connexion
  • Propriétés de Catalogue de profils, onglet Général
  • Propriétés de <définition de profil>, onglet Général
  • Propriétés de <définition de profil>, onglet Attributs personnalisés
  • Boîte de dialogue Nouvelle source de données
  • Boîte de dialogue Source de données
  • Boîte de dialogue Partitions
  • Boîte de dialogue Partition
  • Boîte de dialogue Attributs système
  • Boîte de dialogue Chaîne de connexion LDAP
  • Boîte de dialogue Nouvel objet de données
  • Boîte de dialogue Nouveau membre de données
  • Propriétés de <membre de données>, onglet Général
  • Propriétés de <membre de données>, onglet Propriétés
  • Propriétés de <objet de données>, onglet Général
  • Boîte de dialogue Nouvelle définition de profil
  • Boîte de dialogue Copier la définition de profil
  • Propriétés de <source de données>, onglet Général
  • Boîte de dialogue Propriétés de Entrées du glossaire du site
  • Boîte de dialogue Attribut personnalisé


Propriétés du profil, onglet Chaînes de connexion

Vous pouvez utiliser le Gestionnaire Commerce Server pour modifier la chaîne de connexion des propriétés des profils. La chaîne de connexion des propriétés des profils est définie au cours du processus de décompression et stockée dans la base d’administration.

  • Dans la boîte de dialogue Propriétés de Profils (<nom serveur_nom base de données>), sous l’onglet Chaînes de connexion, sélectionnez la chaîne de connexion à modifier, puis cliquez sur Modifier.


Propriétés de Catalogue de profils, onglet Général

La ressource Profils permet de modifier les propriétés d’un catalogue de profils.

Le tableau suivant répertorie les options et fonctions disponibles sous l’onglet Général de la boîte de dialogue Propriétés de Catalogue de profils.

Utilisez ceci | Pour faire cela
Nom | Afficher le nom de programmation du catalogue de profils.
Nom complet | Modifier le nom complet du catalogue de profils. Le nom complet ne peut pas excéder 127 caractères Unicode.
Description | Modifier la description du catalogue de profils. La description ne peut pas excéder 127 caractères Unicode.

Voir aussi

Définitions de profils

Exemples de définitions de profils

Ajout de propriétés à des définitions de profils

Création d’une définition de profil avec deux sources de données

Gestion des définitions de profils


Propriétés de <définition de profil>, onglet Général

La ressource Profils permet de modifier le nom complet et la description d’une propriété de définition de profil.

Le tableau suivant répertorie les options et fonctions disponibles sous l’onglet Général de la boîte de dialogue Propriétés de <définition de profil>.

Utilisez ceci | Pour faire cela
Nom | Afficher le nom de programmation de la définition de profil que vous modifiez.
Nom complet | Modifier le nom complet du profil. Le nom complet ne peut pas excéder 127 caractères Unicode.
Description | Modifier la description du profil. La description ne peut pas excéder 127 caractères Unicode.

Voir aussi

Définitions de profils

Exemples de définitions de profils

Ajout de propriétés à des définitions de profils

Création d’une définition de profil avec deux sources de données

Gestion des définitions de profils


Propriétés de <définition de profil>, section Attributs personnalisés

La ressource Profils permet d’ajouter des attributs personnalisés à une définition de profil.

Le tableau suivant répertorie les options et fonctions disponibles sous l’onglet Attributs personnalisés de la boîte de dialogue Propriétés de <définition de profil>.

Utilisez ceci | Pour faire cela
Nouveau | Ouvrir la boîte de dialogue Attribut personnalisé et créer un attribut personnalisé.
Modifier | Ouvrir la boîte de dialogue Attribut personnalisé et modifier l’attribut personnalisé sélectionné.
Supprimer | Supprimer l’attribut personnalisé sélectionné.

Voir aussi

Définitions de profils

Exemples de définitions de profils

Ajout de propriétés à des définitions de profils

Création d’une définition de profil avec deux sources de données

Gestion des définitions de profils


Boîte de dialogue Nouvelle source de données

La ressource Profils permet d’ajouter de nouvelles sources de données pour le stockage de données de profil. En outre, vous utilisez une source de données pour mapper des définitions de profils vers une base de données ou une source LDAP. Vous devez créer une base de données ou une source LDAP avant de pouvoir créer une source de données.

Le tableau suivant répertorie les options et fonctions disponibles dans la boîte de dialogue Nouvelle source de données.

Utilisez ceci | Pour faire cela
Nom | Taper le nom de programmation de la source de données. Ce nom ne peut pas dépasser 127 caractères et doit contenir uniquement des caractères alphanumériques et des traits de soulignement (_). Le nom ne peut pas contenir d’espace.
Nom complet | Taper le nom qui sera affiché pour la source de données. Le nom complet ne peut pas excéder 127 caractères Unicode.
Description | Taper une brève description pour la source de données. La description ne peut pas excéder 127 caractères Unicode.

Voir aussi

Sources de données

Partitions de sources de données

Ajout d’une nouvelle source de données

Création d’une source de données dans la ressource Profils

Création d’une définition de profil avec deux sources de données

Gestion des sources de données


Boîte de dialogue Source de données

Vous utilisez une source de données pour mapper des définitions de profils vers une base de données ou une source LDAP. Vous devez créer une base de données ou une source LDAP avant de pouvoir créer une source de données. La boîte de dialogue Source de données s’affiche lorsque vous cliquez sur Suivant dans la boîte de dialogue Nouvelle source de données.

Le tableau suivant répertorie les options et fonctions disponibles dans la boîte de dialogue Source de données.

Utilisez ceci | Pour faire cela
Type de source | Sélectionner le type de source : Source compatible LDAPV3 ou Fournisseur <nobr>OLEDB-ANSI</nobr>.

Voir aussi

Sources de données

Partitions de sources de données

Ajout d’une nouvelle source de données

Création d’une source de données dans la ressource Profils

Création d’une définition de profil avec deux sources de données

Gestion des sources de données


Boîte de dialogue Partitions

Vous avez la possibilité de partitionner la source de données. La boîte de dialogue Partitions s’affiche lorsque vous cliquez sur Suivant dans la boîte de dialogue Source de données.

Le tableau suivant répertorie les options et fonctions disponibles dans la boîte de dialogue Partitions.

Utilisez ceci | Pour faire cela
Source de données partitionnée | Créer plusieurs partitions pour cette source de données.
Nombre de partitions | Afficher le nombre de partitions existantes pour cette source de données.
Ajouter | Ouvrir la boîte de dialogue Partition et créer une partition.
Modifier | Ouvrir la boîte de dialogue Partition et modifier la partition sélectionnée.

Voir aussi

Sources de données

Partitions de sources de données

Ajout d’une nouvelle source de données

Création d’une source de données dans la ressource Profils

Création d’une définition de profil avec deux sources de données

Gestion des sources de données


Boîte de dialogue Partition

Vous avez la possibilité d’ajouter une partition ou de modifier la partition sélectionnée. La boîte de dialogue Partition s’affiche lorsque vous cliquez sur Ajouter dans la boîte de dialogue Partitions.

Le tableau suivant répertorie les options et fonctions disponibles dans la boîte de dialogue Partition.

Utilisez ceci | Pour faire cela
Modifier | Ouvrir la boîte de dialogue Chaîne de connexion LDAP si vous avez sélectionné LDAP dans la boîte de dialogue Source de données. Ouvrir la boîte de dialogue Propriétés des liaisons de données si vous avez sélectionné OLE DB dans la boîte de dialogue Source de données.
Test | Tester la chaîne de connexion.
Nom de partition | Taper un nom de programmation pour cette partition. Le nom de partition ne peut pas excéder 127 caractères et doit contenir uniquement des caractères alphanumériques et des traits de soulignement (_). Le nom ne peut pas contenir d’espace.
Partition par défaut | Définir cette partition comme partition par défaut.
Informations d’identification de liaison LDAPv3 : Nom d’utilisateur | Taper le nom d’utilisateur pour la source LDAP.
Informations d’identification de liaison LDAPv3 : Mot de passe | Taper le mot de passe pour la source LDAP.

Voir aussi

Sources de données

Partitions de sources de données

Ajout d’une nouvelle source de données

Création d’une source de données dans la ressource Profils

Création d’une définition de profil avec deux sources de données

Gestion des sources de données


Boîte de dialogue Attributs système

Vous devez obligatoirement fournir les attributs système. La boîte de dialogue Attributs système s’affiche lorsque vous cliquez sur Suivant dans la boîte de dialogue Partition.

Le tableau suivant répertorie les options et fonctions disponibles dans la boîte de dialogue Attributs système.

Utilisez ceci | Pour faire cela
URL parente | Taper l’emplacement où les nouveaux objets seront créés dans l’arborescence. Il s’agit d’un chemin relatif par rapport à la racine.
Utiliser les mêmes informations d’identification pour tous les utilisateurs | Forcer le service Profils à utiliser les informations d’identification de cette partition pour toutes les liaisons.
Autoriser la liaison simple | Forcer le service Profils à envoyer les mots de passe en texte clair.
Conteneur dynamique | Se connecter à une banque dynamique comme Internet Locator Service (ILS).
Un niveau | Effectuer des recherches dans le répertoire.
Sous-arborescence | Effectuer des recherches dans les sous-arborescences du répertoire.
Nom du domaine | Taper le nom du domaine pour le serveur Active Directory. Utiliser le nom de l’ordinateur pour les sources autres que Active Directory.
Identifier | Récupérer le nom du domaine pour le serveur Active Directory.

Voir aussi

Sources de données

Partitions de sources de données

Ajout d’une nouvelle source de données

Création d’une source de données dans la ressource Profils

Création d’une définition de profil avec deux sources de données

Gestion des sources de données


Boîte de dialogue Chaîne de connexion LDAP

Si vous avez sélectionné LDAP dans la boîte de dialogue Source de données, la boîte de dialogue Chaîne de connexion LDAP s’affiche lorsque vous cliquez sur Modifier dans la boîte de dialogue Partition.

Le tableau suivant répertorie les options et fonctions disponibles dans la boîte de dialogue Chaîne de connexion LDAP.

Utilisez ceci | Pour faire cela
Serveur | Taper le nom du serveur qui héberge la source LDAP.
Port | Taper le nom du port. Par défaut, il s’agit du port 389.
Chaîne de connexion | Afficher la chaîne de connexion.

Voir aussi

Sources de données

Partitions de sources de données

Ajout d’une nouvelle source de données

Création d’une source de données dans la ressource Profils

Création d’une définition de profil avec deux sources de données

Gestion des sources de données


Boîte de dialogue Nouvel objet de données

La ressource Profils permet d’ajouter un objet de données à une source de données. Vous sélectionnez la table de la base de données (ou la classe de la source LDAP) contenant la colonne dans laquelle vous souhaitez stocker les données collectées pour une propriété dans une définition de profil.

Avant d’utiliser la ressource Profils pour créer un objet de données, vous devez créer une source de données. Vous devez apporter les modifications directement dans la base de données ou la banque de données LDAP. Par ailleurs, vous devez inclure un membre de données qui constitue une clé primaire pour l’objet de données.

Le tableau suivant répertorie les options et fonctions disponibles dans la boîte de dialogue Nouvel objet de données.

Utilisez ceci | Pour faire cela
Nom de l’objet | Sélectionner dans la liste déroulante l’objet de données correspondant au nom d’une table ou d’une classe LDAP dans la banque de données sous-jacente.
Nom complet | Taper le nom qui sera affiché pour l’objet de données. Le nom complet ne peut pas excéder 127 caractères Unicode.
Description | Taper une description pour l’objet de données. La description ne peut pas excéder 127 caractères Unicode.
Membres de l’objet | Afficher les membres de données de l’objet de données sélectionné.

Voir aussi

Sources de données

Ajout d’une nouvelle source de données

Ajout d’une nouvelle définition de profil

Création d’une définition de profil avec deux sources de données

Gestion des sources de données


Boîte de dialogue Nouveau membre de données

Vous devez inclure un nouveau membre de données qui constitue une clé primaire pour un nouvel objet de données.

Le tableau suivant répertorie les options et fonctions disponibles dans la boîte de dialogue Nouveau membre de données.

Utilisez ceci | Pour faire cela
Nom de membre | Sélectionner dans la liste le nom du nouveau membre de données. Le nom du nouveau membre de données doit être unique pour l’objet de données. Le membre de données doit avoir le nom d’une colonne ou d’un attribut LDAP de la banque de données sous-jacente. Ce nom ne peut pas excéder 127 caractères et doit contenir uniquement des caractères alphanumériques et des traits de soulignement (_). Le nom ne peut pas contenir d’espace.
Nom complet | Taper le nom à afficher dans l’application pour le membre de données. Le nom complet ne peut pas excéder 127 caractères Unicode.
Description | Taper une brève description pour le membre de données. La description ne peut pas excéder 127 caractères Unicode.
Type Sélectionner le type de données pour le membre de données. Les types de données suivants sont pris en charge :
  • Binary
  • Boolean
  • Currency
  • Date/Time
  • Number
  • String
Valeurs multiples | Activer la collecte des valeurs multiples associées au membre de données.
Requis | Indiquer que ce membre de données est obligatoire. Si cette case à cocher est désactivée, il sera facultatif.
Indexé | Indiquer que les données doivent être indexées sur ce membre de données.
Clé primaire | Définir ce membre de données comme clé primaire. Vous devez définir un membre de données en tant que clé primaire dans chaque objet de données.
Ajouter | Ajouter le nouveau membre de données à la liste des membres de données.
Terminé | Fermer la boîte de dialogue Nouveau membre de données et mettre à jour le volet de détails du Gestionnaire Commerce Server.

Voir aussi

Sources de données

Ajout d’une nouvelle source de données

Ajout de propriétés à des définitions de profils

Création d’une définition de profil avec deux sources de données

Gestion des sources de données


Propriétés de <membre de données>, onglet Général

La ressource Profils permet de modifier les propriétés suivantes d’un membre de données :

  • Nom complet
  • Description

Le tableau suivant répertorie les options et fonctions disponibles sous l’onglet Général de la boîte de dialogue Propriétés de <membre de données>.

Utilisez ceci | Pour faire cela
Nom | Afficher le nom de programmation du membre de données. Il est impossible de modifier ce nom.
Nom complet | Modifier le nom qui sera affiché pour le membre de données. Le nom complet ne peut pas excéder 127 caractères Unicode.
Description | Modifier la description du membre de données. La description ne peut pas excéder 127 caractères Unicode.

Voir aussi

Sources de données

Ajout d’une nouvelle source de données

Ajout de propriétés à des définitions de profils

Création d’une définition de profil avec deux sources de données

Gestion des sources de données


Propriétés de <membre de données>, onglet Propriétés

Le tableau suivant répertorie les options et fonctions disponibles sous l’onglet Propriétés de la boîte de dialogue Propriétés de <membre de données>.

Utilisez ceci | Pour faire cela
Type | Sélectionner dans la liste déroulante un nouveau type pour le membre de données.
Valeurs multiples | Indiquer que la colonne de base de données (ou l’attribut LDAP) vers laquelle le membre de données est mappé a plusieurs valeurs.
Requis | Indiquer que la colonne de base de données (ou l’attribut LDAP) vers laquelle le membre de données est mappé est obligatoire.
Index | Indiquer que la colonne de base de données (ou l’attribut LDAP) vers laquelle le membre de données est mappé est indexée.
Clé primaire | Indiquer que la colonne de base de données (ou l’attribut LDAP) vers laquelle le membre de données est mappé est une clé primaire.

Voir aussi

Sources de données

Ajout d’une nouvelle source de données

Ajout de propriétés à des définitions de profils

Création d’une définition de profil avec deux sources de données

Gestion des sources de données


Propriétés de <objet de données>, onglet Général

Le tableau suivant répertorie les options et fonctions disponibles sous l’onglet Général de la boîte de dialogue Propriétés de <objet de données>.

Utilisez ceci | Pour faire cela
Nom | Afficher le nom de l’objet de données.
Nom complet | Modifier le nom complet de l’objet de données. Le nom complet ne peut pas excéder 127 caractères Unicode.
Description | Modifier la description de l’objet de données. La description ne peut pas excéder 127 caractères Unicode.

Voir aussi

Sources de données

Ajout d’une nouvelle source de données

Ajout de propriétés à des définitions de profils

Création d’une définition de profil avec deux sources de données

Gestion des sources de données


Boîte de dialogue Nouvelle définition de profil

La ressource Profils permet de créer des définitions de profils. Le chef d’entreprise peut par exemple vous demander de créer un profil afin de rendre d’autres données disponibles depuis votre site Web et depuis Commerce Server Business Desk. Vous pouvez créer une définition de profil qui soit automatiquement mappée vers un objet de données. Vous pouvez également créer une définition de profil qui ne soit pas mappée vers un objet de données. Vous utilisez des définitions de profils pour définir les données que vous collectez sur les utilisateurs qui visitent votre site Web.

Le tableau suivant répertorie les options et fonctions disponibles dans la boîte de dialogue Nouvelle définition de profil.

Utilisez ceci | Pour faire cela
Nom | Taper un nom de programmation pour le nouveau profil. Ce nom ne peut pas dépasser 127 caractères et doit contenir uniquement des caractères alphanumériques et des traits de soulignement (_). Le nom ne peut pas contenir d’espace.
Nom complet | Taper le nom qui sera affiché pour le nouveau profil. Le nom complet ne peut pas excéder 127 caractères Unicode.
Description | Taper une description pour le nouveau profil. La description ne peut pas excéder 127 caractères Unicode.

Voir aussi

Définitions de profils

Exemples de définitions de profils

Ajout de propriétés à des définitions de profils

Création d’une définition de profil avec deux sources de données

Gestion des définitions de profils


Boîte de dialogue Copier la définition de profil

Pour créer une définition de profil, vous pouvez copier une définition de profil existante et utiliser l’écran de définition de profil pour modifier le nom et les attributs de la nouvelle définition de profil.

Le tableau suivant répertorie les options et fonctions disponibles dans la boîte de dialogue Nouvelle définition de profil.

Utilisez ceci | Pour faire cela
Nom | Taper un nom de programmation pour le nouveau profil. Ce nom ne peut pas dépasser 127 caractères et doit contenir uniquement des caractères alphanumériques et des traits de soulignement (_). Le nom ne peut pas contenir d’espace.
Nom complet | Taper le nom qui sera affiché pour le nouveau profil. Le nom complet ne peut pas excéder 127 caractères Unicode.
Description | Taper une description pour le nouveau profil. La description ne peut pas excéder 127 caractères Unicode.

Voir aussi

Définitions de profils

Exemples de définitions de profils

Ajout de propriétés à des définitions de profils

Création d’une définition de profil avec deux sources de données

Gestion des définitions de profils


Propriétés de <source de données>, onglet Général

Pour ajouter un attribut personnalisé à une partition d’une source de données

Dans la boîte de dialogue Propriétés de <source de données>, sous l’onglet Partitions, sélectionnez la partition à laquelle vous voulez ajouter un attribut personnalisé, puis cliquez sur Modifier.

Le tableau suivant répertorie les options et fonctions disponibles dans la boîte de dialogue Propriétés de <source de données>.

Onglet Général

Utilisez ceci | Pour faire cela
Nom | Afficher le nom de la source de données.
Nom complet | Modifier le nom qui sera affiché pour la source de données. Le nom complet ne peut pas excéder 127 caractères Unicode.
Description | Modifier la description de la source de données. La description ne peut pas excéder 127 caractères Unicode.

Onglet Source de données

Utilisez ceci | Pour faire cela
Type de source | Sélectionner le type de source : Source compatible LDAPV3 ou Fournisseur <nobr>OLEDB-ANSI</nobr>.

Onglet Partitions

Utilisez ceci | Pour faire cela
Source de données partitionnée | Créer plusieurs partitions pour cette source de données.
Nombre de partitions | Afficher le nombre de partitions existantes pour la source de données.
Ajouter | Ouvrir la boîte de dialogue Partition et créer une partition.
Modifier | Ouvrir la boîte de dialogue Partition et modifier la partition sélectionnée.

Voir aussi

Sources de données

Partitions de sources de données

Ajout d’une nouvelle source de données

Création d’une définition de profil avec deux sources de données

Gestion des sources de données


Boîte de dialogue Propriétés de Entrées du glossaire du site

Les propriétés de type entrée du glossaire du site effectuent un mappage vers les membres de données de type chaîne et ne doivent pas excéder 255 caractères Unicode. Les valeurs multiples d’une propriété d’entrée du glossaire du site sont stockées sous la forme d’une chaîne séparée par un point-virgule.

Le tableau suivant répertorie les options et fonctions disponibles dans la boîte de dialogue Propriétés de Entrées du glossaire du site.

Onglet Général

Utilisez ceci | Pour faire cela
Nom | Afficher le nom de programmation de la définition de profil que vous modifiez.
Nom complet | Modifier le nom complet du profil. Le nom complet ne peut pas excéder 127 caractères Unicode.
Description | Modifier la description du profil. La description ne peut pas excéder 127 caractères Unicode.

Onglet Attributs personnalisés

Utilisez ceci | Pour faire cela
Nouveau | Ouvrir la boîte de dialogue Attribut personnalisé et créer un attribut personnalisé.
Modifier | Ouvrir la boîte de dialogue Attribut personnalisé et modifier l’attribut personnalisé sélectionné.
Supprimer | Supprimer l’attribut personnalisé sélectionné.


Boîte de dialogue Attribut personnalisé

La ressource Profils permet d’ajouter des attributs personnalisés à une partition de source de données. Les attributs personnalisés sont spécifiques aux applications. Les attributs communs à toutes les définitions de profils ou à toutes les banques de données sont généralement stockés dans la table ClassDef ou SourceDef. Cependant, des attributs spécifiques peuvent s’appliquer uniquement à certains objets de source de données sélectionnés. Par exemple, vous pouvez créer un attribut personnalisé pour gérer l’ordre de tri des sources de données ou des partitions d’une source de données, ou pour vous aider à maintenir la cohérence avec d’autres objets tels que des définitions de membres ou des définitions de sources. Les attributs personnalisés de source de données sont uniquement disponibles dans la ressource Profils.

Le tableau suivant répertorie les options et fonctions disponibles dans la boîte de dialogue Attribut personnalisé.

Utilisez ceci | Pour faire cela
Nom | Taper un nom de programmation pour l’attribut. Ce nom ne peut pas dépasser 127 caractères et doit contenir uniquement des caractères alphanumériques et des traits de soulignement (_). Le nom ne peut pas contenir d’espace.
Nom complet | Taper le nom qui sera affiché pour l’attribut. Le nom complet ne peut pas excéder 127 caractères Unicode.
Description | Taper une brève description pour l’attribut. La description ne peut pas excéder 127 caractères Unicode.
Valeur | Taper la valeur attribuée à l’attribut.


Utilisation de Business Desk

Cette section décrit comment gérer votre site Web à l’aide de Commerce Server Business Desk. Elle explique comment choisir le contenu du site et le mettre à jour, modifier les publicités affichées à des utilisateurs privilégiés, mettre à jour le catalogue et publier les modifications apportées, ainsi qu’exécuter des rapports pour mesurer l’impact des modifications sur la productivité du site.

Remarque

Commerce Server 2002 contient deux ensembles de documentation :

  • Aide de Commerce Server 2002. Il s’agit de l’ensemble complet de la documentation que vous avez actuellement installé. Elle fournit des liens et des informations pertinentes à l’intention des développeurs de site et des administrateurs système. Les administrateurs système peuvent fournir l’ensemble complet de l’aide de Commerce Server 2002 aux utilisateurs Business Desk en copiant le fichier Commerce_Server.chm dans un dossier partagé.
  • Aide de Business Desk (accessible à partir du client Business Desk). Il s’agit d’un sous-ensemble de l’aide de Commerce Server 2002 qui est installé lorsque vous installez le client Business Desk. Ce sous-ensemble vous offre un accès limité à l’aide de Commerce Server 2002. Vous disposez toutefois d’un lien vers la rubrique Concepts de Commerce Server contenue dans l’aide de Commerce Server 2002.

Cette section contient les rubriques suivantes :

  • Mise en route de Business Desk. Décrit les composants, la personnalisation et la configuration de Business Desk, ainsi que les étapes préalables à son utilisation.
  • Analyse Business Desk. Explique comment configurer et exécuter des rapports permettant d’analyser l’activité sur votre site Web.
  • Campagnes marketing Business Desk. Explique comment créer et gérer des campagnes marketing de plusieurs types (campagnes de publicité, de remise et de publipostage) afin de cibler les différents groupes d’utilisateurs, développer la portée de vos activités commerciales et augmenter les ventes.
  • Catalogues Business Desk. Explique comment créer un schéma de catalogue et comment créer et gérer un catalogue.
  • Commandes Business Desk. Explique comment vérifier le statut d’une commande et comment gérer les modèles de commandes, les paniers, ainsi que le processus d’approbation des bons de commande. Cette rubrique explique également comment ajouter, modifier et supprimer différents types de codes de données.
  • Profils Business Desk. Explique comment ajouter de nouvelles organisations et de nouveaux utilisateurs inscrits, comment ajouter des propriétés aux définitions de profils et comment ajouter des entrées du glossaire du site.
  • Sécurité Business Desk. Explique comment définir l’accès des utilisateurs à des catégories ou modules spécifiques dans Business Desk.
  • Dépannage de Business Desk. Explique comment dépanner et résoudre les problèmes courants liés à l’utilisation de Business Desk.


Mise en route de Business Desk

Cette section fournit des informations aux nouveaux utilisateurs de Commerce Server Business Desk.

Cette section contient les rubriques suivantes :

  • Vue d’ensemble de Business Desk. Décrit l’application Business Desk et le client Business Desk. Décrit comment configurer Business Desk selon vos besoins.
  • Notions de base de Business Desk. Explique comment naviguer dans Business Desk, sécuriser les modules Business Desk et utiliser les raccourcis clavier.
  • Préliminaires. Répertorie les étapes que vous devez effectuer pour rendre votre site Web opérationnel et prêt pour les activités commerciales.
  • Tâches courantes. Présente les tâches les plus courantes effectuées à l’aide de Business Desk et propose des liens vers les rubriques d’aide appropriées.
  • Utilisation de l’aide de Business Desk. Explique comment rechercher et imprimer des rubriques d’aide.
  • Pour obtenir un supplément d’aide. Présente les tâches que votre administrateur système ou développeur de site peut vous aider à réaliser.


Vue d'ensemble de Business Desk

Envoyer des commentaires sur cette page Commerce Server 2002

Vue d’ensemble de Business Desk

Commerce Server Business Desk est un outil de gestion de site Web inclus dans Microsoft Commerce Server 2002. Business Desk héberge des modules de gestion commerciale qui vous permettent de configurer, de gérer et d’analyser vos sites. Par exemple, les modules Business Desk permettent de créer des catalogues multilingues, de mettre à jour les tarifs de vos catalogues dans plusieurs devises, de cibler de nouvelles publicités en fonction d’utilisateurs spécifiques et d’exécuter des rapports pour mesurer l’impact de ces modifications sur la productivité du site.

Remarque

Commerce Server 2002 contient deux ensembles de documentation :

  • Aide de Commerce Server 2002. Il s’agit de l’aide complète de Commerce Server 2002. Elle fournit des liens et des informations pertinentes à l’intention des développeurs de site et des administrateurs système. Les administrateurs système peuvent fournir l’ensemble complet de l’aide de Commerce Server 2002 aux utilisateurs Business Desk en copiant le fichier commerce_server.chm dans un dossier partagé.
  • Aide de Business Desk (accessible à partir du client Business Desk). Il s’agit de l’ensemble de documentation que vous avez installé en même temps que le client Business Desk. C’est un sous-ensemble de l’aide de Commerce Server 2002. Ce sous-ensemble vous offre un accès limité à l’aide de Commerce Server 2002. Cependant, vous disposez d’un lien vers la rubrique Concepts de Commerce Server de l’aide de Commerce Server 2002.

Business Desk comprend une sécurité ciblée, basée sur les rôles, ce qui signifie que les utilisateurs Business Desk ne peuvent afficher et gérer que les modules autorisés et ne peuvent effectuer que les tâches spécifiques autorisées.

Cette section contient les rubriques suivantes :

  • Présentation rapide des fonctionnalités Business Desk
  • Comparaison des fonctionnalités des différentes éditions de Business Desk
  • Modifications de l’interface utilisateur de Business Desk
  • Client et application Business Desk
  • Catégories et modules Business Desk
  • Mise à jour de votre site Web à l’aide de Business Desk
  • Personnalisation de Business Desk
  • Tâches de l’administrateur système


Présentation rapide des fonctionnalités Business Desk

Le tableau suivant contient une vue d’ensemble de chacune des fonctionnalités de Commerce Server Business Desk.

Fonctionnalité de Business Desk : Tâches que vous pouvez effectuer
Analyse
  • Analyser l’efficacité du site en exécutant des rapports Commerce Server ou en créant vos propres rapports personnalisés.
  • Identifier les produits qui se vendent le mieux en exécutant des rapports Commerce Server. Utiliser la liste des produits pour créer des campagnes de remise.
Campagnes marketing
  • Appliquer des remises aux produits.
  • Personnaliser le contenu proposé à l’aide d’une commercialisation ciblée.
  • Fournir le contenu optimal pour un utilisateur donné dans un contexte donné.
  • Créergérer des remises personnalisées et ciblées, ainsi que des campagnes marketing et publicitaires directes.
  • Cibler des publicités ou des remises en fonction d’utilisateurs présentant un certain profil. Par exemple, vous pouvez cibler des publicités pour les femmes qui visitent votre site trois fois par semaine et qui ont acheté au moins trois produits.
  • Créer et planifier des campagnes marketing pour des clients concurrents travaillant dans un même secteur de façon à ce que les publicités concurrentes ne soient jamais affichées sur la même page.
  • Facturer vos clients en fonction du nombre de demandes de publicité ou de clics qu’ils souhaitent pour leurs publicités.
  • Facturer vos clients en fonction de la page sur laquelle ils souhaitent faire apparaître leur publicité.
Catalogues
  • Créer et mettre à jour des catalogues de produits à vendre.
  • Créer des catalogues multilingues.
  • Créer des catalogues multidevises.
  • Construire des catalogues virtuels avec des tarifications spéciales et/ou des groupes de produits pour des utilisateurs spécifiques.
  • Importer des catalogues de produits à partir d’autres sources de données, au format XML (Extensible Markup Language) ou CSV (valeurs séparées par une virgule).
  • Exporter des catalogues au format XML ou CSV.
  • Exporter les modifications apportées à un catalogue depuis une date spécifique.
  • Ajouter des fonctionnalités de recherche, comme les fonctionnalités suivantes, pour que les utilisateurs trouvent plus facilement ce qu’ils recherchent sur votre site Web :
    • Recherche par catégorie. Navigation par catégorie de produit.
    • Recherche en texte libre. Recherche de produits à l’aide du nom complet ou partiel ou bien d’une propriété.
    • Recherche de propriétés. Recherche de produits à l’aide de la valeur d’une propriété, par exemple Prix < 10 euros.
    • Recherche avec propriété. Recherche consistant à affiner la demande de recherche jusqu’à ce que le produit soit trouvé.
  • Échanger des données de catalogue avec des fournisseurs à l’aide de Microsoft BizTalk Server 2000 ou ultérieur.
Commandes
  • Ajouter des modes de livraison multilingues.
  • Ajouter des taux de taxes pour des pays/régions et départements/provinces spécifiques.
  • Rechercher dans votre base de données des commandes Commerce Server des informations sur les commandes existantes.
  • Supprimer des paniers enregistrés qui ne sont plus utilisés.
Profils
  • Gérer des millions d’utilisateurs et d’organisations.
  • Créer des profils pour n’importe quelle entité à caractère commercial, par exemple pour les utilisateurs et les organisations.
  • Déterminer les informations à collecter sur les utilisateurs visitant votre site.
  • Déterminer quels groupes de catalogues afficher pour des utilisateurs spécifiques.
  • Créer des expressions de ciblage pour faire correspondre le contenu aux utilisateurs.
  • Créer des campagnes de publicité, de remise et de publipostage pour cibler des groupes d’utilisateurs spécifiques.
Sécurité
  • Accorder des autorisations à des utilisateurs de comptes Windows pour qu’ils puissent effectuer des tâches spécifiques dans Business Desk.
  • Accorder des autorisations à des utilisateurs de comptes Windows pour qu’ils puissent avoir accès à des modules Business Desk spécifiques.
  • Accorder des autorisations à des utilisateurs de comptes Windows pour qu’ils puissent avoir accès à des catalogues, des propriétés de catalogues et des catégories de catalogues spécifiques.
  • Accorder des autorisations à des utilisateurs de comptes Windows pour qu’ils puissent gérer des propriétés de profils.


Comparaison des fonctionnalités des différentes éditions de Business Desk

Cette rubrique synthétise les fonctionnalités prises en charge par les différentes versions de Commerce Server Business Desk : Commerce Server 2002 Enterprise Edition, Commerce Server 2002 Standard Edition et Commerce Server 2000.

Fonctionnalités d’analyse

Fonctionnalités de campagne marketing

Fonctionnalités de catalogue

Fonctionnalités de commande

Fonctionnalités de profils

Fonctionnalités de sécurité

Fonctionnalités d’analyse

Ce tableau compare la prise en charge des fonctionnalités d’analyse dans les différentes éditions de Business Desk.

Fonctionnalité | Commerce Server 2002 Enterprise Edition | Commerce Server 2002 Standard Edition | Commerce Server 2000
Créer de nouveaux rapports | Oui | Oui | Non
Personnaliser des rapports | Oui | Non | Oui
Exporter les rapports sous forme de liste vers le module Gestionnaire de listes | Oui | Non | Oui
Analyser les modèles de segments | Oui | Non | Oui
Exporter les listes d’affinités vers le module Gestionnaire de listes | Oui | Non | Non
Fonctionnalité d’extraction des rapports | Oui | Oui | Non
Rapport interdomaine | Oui | Oui | Non

Fonctionnalités de campagne marketing

Ce tableau compare la prise en charge des fonctionnalités des campagnes marketing dans les différentes éditions de Business Desk.

Fonctionnalité | Commerce Server 2002 Enterprise Edition | Commerce Server 2002 Standard Edition | Commerce Server 2000
Créer des publicités et des remises multilingues | Oui | Oui | Non
Créer des remises ciblées | Oui | Oui | Oui
Créer des publicités ciblées | Oui | Oui | Oui
Créer des publipostages ciblés | Oui | Oui | Oui
Planifier des campagnes marketing pour des clients concurrents travaillant dans le même domaine d’activité | Oui | Oui | Oui
Définir des taux de facturation pour vos annonceurs en fonction du nombre de demandes de publicité ou de clics qu’ils souhaitent | Oui | Oui | Oui
Définir différents taux de facturation pour les annonceurs en fonction des pages Web sur lesquelles ils affichent leurs publicités | Oui | Oui | Oui

Fonctionnalités de catalogue

Ce tableau compare la prise en charge des fonctionnalités des catalogues dans les différentes éditions de Business Desk.

Fonctionnalité | Commerce Server 2002 Enterprise Edition | Commerce Server 2002 Standard Edition | Commerce Server 2000
Prix multidevises | Oui | Oui | Non
Catalogues multilingues | Oui | Oui | Non
Catalogues virtuels | Oui | Oui | Non
Groupes de catalogues | Oui | Oui | Oui
Catalogues personnalisés | Non (remplacés par les catalogues virtuels) | Non (remplacés par les catalogues virtuels) | Oui
Contenu synthétisé à partir de plusieurs catalogues | Oui | Oui | Non
Valider le contenu d’un fichier de catalogue XML sans l’importer | Oui | Oui | Non
Importer et exporter les suppressions d’éléments des catalogues | Oui | Oui | Non
Exporter les modifications apportées à un catalogue depuis une date spécifique | Oui | Oui | Non
Créer des relations entre les produits et dans plusieurs catalogues | Oui | Oui | Non
Échanger des données de catalogue avec des fournisseurs à l’aide de Microsoft BizTalk Server | Oui | Oui | Oui
Plus de 256 catalogues autorisés par site | Oui | Oui | Non
Champs de texte plus longs pour les produits (et non plus limités à 8 Ko/rang) | Oui | Oui | Non

Fonctionnalités de commande

Ce tableau compare la prise en charge des fonctionnalités des commandes dans les différentes éditions de Business Desk.

Fonctionnalité | Commerce Server 2002 Enterprise Edition | Commerce Server 2002 Standard Edition | Commerce Server 2000
Ajouter des modes de livraison multilingues | Oui | Oui | Non
Ajouter des modes de livraison | Oui | Oui | Oui
Ajouter des taux de taxes pour des pays/régions et départements/provinces spécifiques | Oui | Oui | Oui
Rechercher dans votre base de données des commandes Commerce Server des informations sur les commandes existantes | Oui | Oui | Oui
Supprimer des paniers enregistrés qui ne sont plus utilisés | Oui | Oui | Oui

Fonctionnalités de profils

Ce tableau compare la prise en charge des fonctionnalités des profils dans les différentes éditions de Business Desk.

Fonctionnalité | Commerce Server 2002 Enterprise Edition | Commerce Server 2002 Standard Edition | Commerce Server 2000
Interface de création des définitions de profils | Oui | Oui | Oui
Modification de profils | Oui | Oui | Oui (limité aux utilisateurs et aux organisations)
Modification des entrées du glossaire du site | Oui | Oui | Oui
Gestion de groupes Microsoft Active Directory | Oui | Oui | Non
Profils à valeurs multiples | Oui | Oui | Non
Entrées du glossaire du site à valeurs multiples | Oui | Oui | Non
Modification de profils incorporés | Oui | Oui | Non
Modification de profils génériques | Oui | Oui | Non
Importer et exporter des schémas de profils | Oui | Oui | Non

Fonctionnalités de sécurité

Ce tableau compare la prise en charge des fonctionnalités de sécurité dans les différentes éditions de Business Desk.

Fonctionnalité | Commerce Server 2002 Enterprise Edition | Commerce Server 2002 Standard Edition | Commerce Server 2000
Paramètres de sécurité pour les modules Business Desk individuels | Oui | Oui | Oui
Paramètres de sécurité pour les tâches Business Desk | Oui | Oui | Non
Paramètres de sécurité pour les catalogues | Oui | Oui | Non
Paramètres de sécurité pour la gestion des propriétés des catalogues | Oui | Oui | Non
Paramètres de sécurité pour la gestion des catégories des catalogues | Oui | Oui | Non
Paramètres de sécurité pour la gestion des propriétés des profils | Oui | Oui | Non


Modifications de l'interface utilisateur de Business Desk

Envoyer des commentaires sur cette page Commerce Server 2002

Modifications de l’interface utilisateur de Business Desk

Le tableau suivant répertorie les interfaces utilisateur modifiées ou ajoutées, ainsi que la catégorie et le module dans lesquels elles se trouvaient dans Commerce Server 2000 et leur nouvel emplacement dans Commerce Server 2002.

Catégories et modules
Commerce Server 2000 		Catégories et modules
Commerce Server 2002
Utilisateurs
Définition de profil
Néant
 Profils
Concepteur de définitions de profils
Éditeur de profils
Commandes
Publier les transactions
 Commandes
Publier les codes de commandes
Catalogues
Définition de catalogue
 Catalogues
Concepteur de définitions de catalogues
Profils
Néant
 Profils
Gestionnaire de groupe (pour le site Supplier)
Analyse
Néant
 Analyse
Listes des affinités
Néant
Néant
 Sécurité
Autorisations


Client et application Business Desk

Business Desk comporte deux parties : l’application Business Desk et le client Business Desk.

  • Application Business Desk. Outil de gestion permettant de configurer, de gérer et d’analyser votre site. Après avoir installé Commerce Server, vous devez décompresser un site solution pour installer une application Business Desk. Les applications Business Desk ne sont disponibles que dans les packages de site solution.

    Business Desk est accessible depuis n’importe quel ordinateur exécutant Microsoft Internet Explorer 5.5, ce qui permet un accès à distance sécurisé.

  • Client Business Desk. Logiciel client installé localement sur votre ordinateur, qui fournit l’interface avec l’application Business Desk. Lorsque vous accédez à l’application Business Desk pour la première fois (en utilisant une adresse URL), le client Business Desk est téléchargé et installé sur votre ordinateur. Il est préférable que l’ordinateur qui exécute le client Business Desk dispose d’une connexion haute vitesse avec l’application Business Desk.

La figure suivante montre comment utiliser les clients Business Desk pour accéder à distance à l’application Business Desk afin de mettre à jour un site Web.

Figure illustrant l'utilisation de Business Desk.


Catégories et modules Business Desk

Les modules, principaux composants de Commerce Server Business Desk, permettent de gérer les différents aspects de votre site Web. Les catégories contiennent les modules et les organisent. Par exemple, la catégorie Analyse contient tous les modules que vous utilisez pour effectuer des tâches d’analyse.

Le tableau suivant répertorie les modules Business Desk et les catégories qui les contiennent, et décrit les tâches qu’ils permettent d’effectuer.

Catégorie Description
Analyse

Rapports
Rapports finalisés

 Exécutez et consultez les rapports représentant l’activité de votre site. Les modules Analyse sont fournis avec un grand nombre de rapports traitant divers aspects de votre site. Vous pouvez également créer vos propres rapports.
Campagnes

Gestionnaire de campagnes
Gestionnaire de listes
Expressions de la campagne marketing
Groupe cible
Tables de références
Publier les campagnes marketing

 Créez et planifiez des campagnes marketing. Vous pouvez ajouter des informations sur les clients, gérer des campagnes marketing et des éléments de la campagne. Les éléments de la campagne sont par exemple des bannières publicitaires, des travaux de publipostage et des remises sur les produits. Chaque élément de la campagne peut être ciblé en fonction d’utilisateurs spécifiques, ce qui permet de créer un site extrêmement personnalisé.
Catalogues

Concepteur de définitions de catalogues
Éditeur de catalogue
Groupes de catalogues

 Importez ou créez des catalogues, ajoutez et appliquez une tarification aux produits. Créez des catalogues virtuels qui prennent en charge plusieurs devises et contiennent des prix spéciaux, qui ne s’affichent que pour certains utilisateurs, par exemple, les membres d’un club.
Commandes

Gestionnaire de panier
Codes d’emplacement
Codes de statut de la commande
Statut de la commande
Modes de livraison
Taux de taxes
Publier les codes de commandes

 Recherchez des informations sur les commandes existantes dans la base de données Commerce Server, et ajoutez, supprimez, approuvez ou modifiez les informations sur les commandes. Ajoutez, supprimez ou modifiez les frais de livraison et les taux de taxes.
Profils

Éditeur de profils
Utilisateurs
Organisations
Gestionnaire de groupe
Concepteur de définitions de profils
Éditeur d’entrées du glossaire du site
Publier les profils

 Créez et modifiez des utilisateurs, des organisations et des profils. Créez et modifiez les entrées du glossaire du site.

Remarque

  • Le module Gestionnaire de groupe n’apparaît dans Business que si votre site Web utilise Active Directory. Pour plus d’informations, contactez votre administrateur système.
Sécurité

Autorisations

 Accordez, refusez et affichez les autorisations Business Desk pour les comptes Windows. Ces autorisations contrôlent le niveau d’accès des utilisateurs à chaque module de Business Desk.

Voir aussi

Mise à jour de votre site Web à l’aide de Business Desk

Tâches de l’administrateur système

Notions de base de Business Desk

Préliminaires


Mise à jour de votre site Web à l'aide de Business Desk

Envoyer des commentaires sur cette page Commerce Server 2002

Mise à jour de votre site Web à l’aide de Business Desk

La figure suivante montre comment utiliser les modules Commerce Server Business Desk pour mettre à jour votre site Web. Par exemple, les données du site sont collectées sur votre site Web puis importées vers le Data Warehouse, ensuite, vous pouvez exécuter les rapports d’analyse.

Figure illustrant la mise à jour de votre site Web par les modules Business Desk

La liste suivante décrit les tâches du module illustré dans la figure précédente :

  • Les modules Analyse permettent d’exécuter des rapports sur les transactions utilisateur stockées dans le Data Warehouse.
  • Les modules Campagnes marketing permettent de créer et d’afficher les publicités, remises et promotions.
  • Les modules Catalogues permettent de mettre à jour les informations de votre catalogue.
  • Les modules Commandes permettent d’enregistrer des commandes sur votre site Web et de rechercher les commandes de l’utilisateur.
  • Les modules Profils permettent de réinitialiser les mots de passe des utilisateurs, de modifier d’autres informations du profil utilisateur et de déterminer les données de profil à collecter.

Voir aussi

Catégories et modules Business Desk

Tâches de l’administrateur système

Notions de base de Business Desk

Préliminaires


Personnalisation de Business Desk

Les développeurs de site et les administrateurs système peuvent personnaliser Commerce Server Business Desk pour répondre aux besoins de l’entreprise.

Le tableau suivant décrit plusieurs domaines dans lesquels vous pouvez coordonner la personnalisation avec votre administrateur système ou votre développeur de site.

Composant Business Desk Personnalisation et coordination
Analyse : module Rapports
  • L’administrateur système est responsable de l’importation de données dans le Data Warehouse à intervalles réguliers. Une fois les données importées dans le Data Warehouse, vous pouvez les utiliser pour exécuter des rapports, et les analyser.
  • L’administrateur système peut personnaliser les données des fichiers journaux Web qui doivent être importées dans le Data Warehouse et établir les définitions d’utilisateurs et de visites affectant les résultats des rapports exécutés.
Profils : module Concepteur de définitions de profils
  • L’administrateur système crée des définitions de profils à l’aide du Gestionnaire Commerce Server, puis ajoute des sources de données, des objets de données et des membres de données pour exposer la structure de la base de données Commerce Server à la définition de profil.

    Lorsque vous utilisez Business Desk pour ajouter une propriété de profil à une définition de profil, vous sélectionnez le membre de données qui mappe la nouvelle propriété de profil vers l’emplacement de la base de données Commerce Server où sont stockées les données collectées par la propriété de profil.

Sécurité : module Autorisations
  • L’administrateur système crée des comptes Windows et attribue les utilisateurs Business Desk à ces comptes. Vous pouvez alors utiliser ces comptes pour attribuer des autorisations Business Desk à des groupes d’utilisateurs.
Paramètres système généraux
  • L’administrateur système configure les paramètres système tels que les unités de mesure, les devises, les options de paiement, ainsi que les options liées à l’inscription et à la sécurité du site Web. Vous devez coordonner les modifications apportées à ces options et à ces paramètres avec l’administrateur système.

Voir aussi

Catégories et modules Business Desk

Tâches de l’administrateur système

Préliminaires

Pour obtenir un supplément d’aide


Tâches de l'administrateur système

Envoyer des commentaires sur cette page Commerce Server 2002

Tâches de l’administrateur système

Votre développeur de site (ou votre administrateur système) est chargé de configurer Commerce Server Business Desk pour qu’il réponde à vos besoins commerciaux. Il doit également s’assurer que vous avez accès aux données nécessaires pour analyser et mettre à jour votre site Web.

L’administrateur système configure et gère Business Desk à l’aide du Gestionnaire Commerce Server. Le Gestionnaire Commerce Server est une application Windows, pas une application Web, à laquelle vous ne pouvez pas accéder à distance.

Le tableau suivant répertorie certaines des tâches effectuées par votre administrateur système pour configurer Commerce Server. Si vous avez des questions relatives aux tâches ou à des composants du site, contactez votre administrateur système.

Catégorie Tâches de l’administrateur système
Analyse
  • Si nécessaire, attribue aux utilisateurs Business Desk des rôles spécifiques de base de données Microsoft SQL Server pour permettre à certains utilisateurs de lire et d’enregistrer des rapports, tandis que les autres utilisateurs ne peuvent que les lire.
  • Importe les données du site vers le Data Warehouse pour vous permettre d’exécuter des rapports.
Campagnes marketing
  • Détermine le moment et la fréquence des mises à jour des éléments de la campagne de publicité et de remise sur votre site de production.
  • Fournit la chaîne de connexion et la requête SQL vous permettant de générer des listes directement depuis votre base de données SQL Server.
Catalogues
  • Détermine le moment et la fréquence des mises à jour des catalogues sur votre site de production.
  • Convertit les catalogues externes au format de fichier XML (Extensible Markup Language) ou CSV (valeurs séparées par une virgule) pour permettre leur importation.
  • Configure BizTalk Server pour vous permettre d’échanger des catalogues et des documents avec vos partenaires commerciaux.
  • Définit les propriétés suivantes de Commerce Server :
    • Langue (paramètres régionaux) du site Web (1031 = Allemand, 1033 = Anglais, 1034 = Espagnol, 1036 = Français, 1041 = Japonais).
    • Paramètres régionaux définissant le format de la devise de base.
    • Options de devise secondaire permettant le double affichage de deux devises.
    • Unité de mesure du poids pour le calcul des frais de livraison des produits (par exemple, des kilogrammes ou des livres).
    • Options d’intégration à BizTalk permettant l’envoi et la réception des catalogues des partenaires commerciaux.
Commandes
  • Définit les types de paiement pris en charge par votre site : carte de crédit, facturation d’un compte, ou les deux.
Profils
  • Ajoute des définitions de profils.
  • Ajoute des sources de données qui contrôlent l’emplacement de stockage des données de profil.
  • Définit les propriétés suivantes de Commerce Server :
    • Options d’inscription au site. Elles permettent aux utilisateurs de s’inscrire sur votre site.
    • Options du carnet d’adresses. Elles permettent d’activer la prise en charge de la fonctionnalité du carnet d’adresses sur votre site.
    • Options de connexion. Elles permettent de déterminer le moment où les utilisateurs doivent se connecter au site : connexion lors de l’accès au site ; facultative à l’entrée sur le site ; obligatoire lors de l’achat ; facultative en toutes circonstances.
    • Nombre de fois où les utilisateurs sont invités à saisir leur nom d’utilisateur et mot de passe avant qu’un message ne s’affiche pour leur conseiller d’appeler le service client.
Sécurité
  • Ajoute des comptes Windows et attribue des utilisateurs Business Desk à ces comptes. Vous pouvez également utiliser Business Desk pour attribuer des autorisations spécifiques à chaque compte.

Voir aussi

Mise à jour de votre site Web à l’aide de Business Desk

Catégories et modules Business Desk

Notions de base de Business Desk

Préliminaires


Notions de base de Business Desk

Commerce Server Business Desk étant une application Web, elle se distingue par son aspect et son fonctionnement des autres applications Microsoft conçues pour les ordinateurs personnels, par exemple, Microsoft Word et Microsoft Excel. Par exemple, vous naviguez dans Business Desk à l’aide des options (modules) d’un menu situé sur votre gauche. Cette structure est similaire à celle de nombreuses pages Web.

Cette section contient les rubriques suivantes :

  • Navigation dans Business Desk
  • Utilisation des boutons de barre d’outils
  • Importation et exportation de données
  • Utilisation des raccourcis clavier


Navigation dans Business Desk

Bien que chaque module de Commerce Server Business Desk possède une fonction unique, tous les modules ont été conçus avec des fonctionnalités de navigation similaires, pour vous aider à retrouver et à trier les informations. Une fois que vous avez appris à effectuer des tâches de base dans l’un des modules Business Desk, vous pouvez appliquer ce savoir aux autres modules. Cette section décrit l’organisation des écrans de Business Desk, et la méthode permettant de naviguer d’une catégorie vers un module, puis vers un écran.

Le volet de navigation

Le volet de contenu

Boutons de barre d’outils

Volet de navigation

La partie gauche de l’écran de Commerce Server Business Desk s’appelle le volet de navigation. Ce volet vous permet de sélectionner des catégories et d’ouvrir des modules. Lorsque vous cliquez sur le nom d’une catégorie, celle-ci se développe et les noms des modules s’affichent dans une liste sous la catégorie. Cliquez de nouveau sur le nom de la catégorie pour réduire les noms des modules dans la catégorie.

La position de la flèche à gauche du nom de la catégorie indique si celle-ci peut être développée ou réduite. Une flèche orientée vers la droite indique que vous pouvez développer la liste. Une flèche orientée vers le bas indique que la liste est déjà développée.

La figure suivante montre le volet de navigation avec la catégorie Commandes développée pour pouvoir afficher la liste des modules.

Volet de navigation de Business Desk

Remarque

  • Lorsque vous affichez les propriétés d’un élément listé, le volet de navigation disparaît de l’affichage. Par exemple, dans la figure précédente, si vous visualisez les propriétés de Code n°1 – Panier, un nouvel écran s’affiche et le volet de navigation disparaît. Vous utilisez les boutons de barre d’outils Retour et Enregistrer et retour pour revenir à l’écran principal qui contient le volet de navigation.

Volet de contenu

La partie droite de l’écran de Business Desk s’appelle le volet de contenu. Le volet de contenu vous permet d’afficher les données du site et de modifier les informations. Lorsque vous cliquez sur un nom de module dans le volet de navigation, le volet de contenu affiche une liste contenant toutes les informations en cours sur le module.

Par exemple, si vous ouvrez la catégorie Commandes et que vous cliquez sur le nom de module Codes de statut de la commande, l’écran Codes de statut de la commande s’affiche dans le volet de contenu. Dans cet écran, vous pouvez afficher, ajouter et supprimer les codes relatifs au statut de la commande, au pays ou à la région et au département ou la province.

Deux graphiques sont utilisés dans le volet de contenu :

  • Requis Ce graphique indique que vous devez obligatoirement entrer une valeur dans la zone à côté de laquelle il se trouve. Vous ne pouvez pas enregistrer le contenu de l’écran avant d’avoir rempli cette zone.
  • Multilingue Ce graphique indique qu’une zone est multilingue. Vous pouvez entrer des valeurs dans plusieurs langues. Pour plus d’informations, consultez Création d’un catalogue multilingue.

Boutons de barre d’outils

La barre d’outils s’affiche horizontalement en haut du volet de contenu, et contient des boutons permettant d’effectuer des tâches standard. Cliquez sur un bouton de la barre d’outils, par exemple, pour ajouter, copier ou supprimer un élément. Chaque bouton de la barre d’outils affiche une représentation graphique de l’action qu’il exécute. Pour voir la description d’une action, placez quelques instants la souris au-dessus d’un bouton avant de cliquer sur celui-ci. Pour obtenir une liste de tous les boutons de barre d’outils disponibles et une description de leurs fonctions, consultez Utilisation des boutons de barre d’outils.

Les boutons de commande portent le nom de la commande qu’ils exécutent. Cliquez sur les boutons de commande pour effectuer des tâches spécifiques dans le volet de contenu. Par exemple, cliquez sur le bouton Tout sélectionner pour sélectionner l’ensemble des éléments d’une liste de résultats.

Voir aussi

Utilisation des boutons de barre d’outils

Utilisation des raccourcis clavier

Utilisation de l’aide de Business Desk


Utilisation des boutons de barre d'outils

Envoyer des commentaires sur cette page Commerce Server 2002

Utilisation des boutons de barre d’outils

Chaque bouton de la barre d’outils permet d’exécuter une action dans n’importe quel écran de Commerce Server Business Desk. Tous les boutons de barre d’outils ne sont pas disponibles sur tous les écrans. Le tableau suivant répertorie les boutons de barre d’outils dans Business Desk et décrit leurs fonctions.

Bouton de barre d’outils | Description
Nouveau | Ajoute un nouvel élément.
Ouvrir | Ouvre l’élément sélectionné.
Copier | Copie l’élément sélectionner pour créer un nouvel élément avec les mêmes propriétés.
Afficher | Ouvre le ou les éléments sélectionnés pour modification.
Importer | Importe un ensemble d’informations.
Exporter | Exporte un ensemble d’informations.
Supprimer | Supprime le ou les éléments sélectionnés.
Envoyer | Envoie un catalogue à un partenaire commercial via Microsoft BizTalk Server. Ce bouton n’est disponible que dans le module Éditeur de catalogue, et n’est activé que si BizTalk Server est installé.
Reconstruire les catalogues virtuels Reconstruire | Reconstruit un catalogue virtuel. Vous devez reconstruire un catalogue virtuel après avoir ajouté des produits, des catégories ou un catalogue de base.
Actualiser et publier | Met à jour les index de texte intégral du catalogue et actualise les caches. Publie un catalogue sur un site de vente au détail. Ce bouton n’est disponible que dans le module Éditeur de catalogue.
Rechercher | Ouvre le volet de recherche.
Archive | Enregistre l’élément sélectionné dans les archives de Business Desk.
Retour | Ferme l’écran des modifications et vous renvoie à l’écran précédent.
Annuler | Annule l’opération en attente.
Menu rechercher par | Ouvre une liste déroulante où vous pouvez sélectionner l’un des différents types d’éléments sur lesquels effectuer une recherche.
Aide | Ouvre l’aide de Business Desk du module en cours. Dès lors, vous pouvez afficher les autres rubriques d’aide.
Afficher les rapports | Affiche le rapport sélectionné dans son format d’impression.
Imprimer | Imprime le rapport sélectionné. Ce bouton n’est disponible que dans les modules Analyse.
Restaurer | Restaure un élément de la campagne supprimé. Ce bouton n’est disponible que dans le module Gestionnaire de campagnes.
Exécuter | Exécute le rapport sélectionné. Ce bouton n’est disponible que dans les modules Analyse.
Enregistrer | Enregistre l’élément ou la propriété qui a été ajouté ou modifié.
Enregistrer et créer | Enregistre l’élément ou la propriété qui a été ajouté ou modifié, et ouvre une nouvelle page pour créer un nouvel élément.
Enregistrer et retour | Enregistre l’élément ou la propriété qui a été ajouté ou modifié, et retourne à l’écran principal du module.

Voir aussi

Navigation dans Business Desk

Utilisation des raccourcis clavier

Utilisation de l’aide de Business Desk


Importation et exportation de données

Commerce Server Business Desk vous permet d’importer et d’exporter des catalogues, des listes de publipostage et des listes d’utilisateurs. Le tableau suivant décrit les données pouvant être importées ou exportées.

Module Données importées ou exportées
Éditeur de catalogue
  • Catalogues. Vous pouvez importer et exporter des catalogues, au format XML (Extensible Markup Language) ou CSV (valeurs séparées par une virgule), vers et depuis des sources externes. Pour plus d’informations sur l’importation et l’exportation de catalogues, consultez Importation d’un fichier de catalogue XML, Importation d’un fichier de catalogue CSV et Exportation d’un catalogue.
Concepteur de définitions de catalogues
  • Propriétés de catalogue. Le module Concepteur de définitions de catalogues permet de spécifier les propriétés de catalogue qui seront importées et stockées dans le Data Warehouse.

    Une fois que votre administrateur système aura importé les propriétés de catalogue dans le Data Warehouse, vous pourrez les utiliser pour exécuter des rapports. Pour plus d’informations sur les propriétés à exporter vers le Data Warehouse, consultez Ajout d’une définition de propriété de catalogue.

Concepteur de définitions de profils
  • Propriétés de profil. Le module Concepteur de définitions de profils permet de spécifier les propriétés de profil qui seront importées et stockées dans le Data Warehouse.

    Une fois que votre administrateur système aura importé les propriétés de profil dans le Data Warehouse, vous pourrez les utiliser pour exécuter des rapports. Pour plus d’informations sur les propriétés de profil à exporter vers le Data Warehouse, consultez Ajout d’une nouvelle propriété à une définition de profil.

Rapports
  • Rapports dynamiques. Lorsque vous exécutez un rapport dynamique, vous pouvez l’exporter vers Microsoft Excel et l’enregistrer sous forme de feuille de calcul.

Voir aussi

Importation d’un fichier de catalogue XML

Importation d’un fichier de catalogue CSV

Exportation d’un catalogue

Importation et exportation de listes

Pour obtenir un supplément d’aide


Utilisation des raccourcis clavier

Dans Commerce Server Business Desk, vous pouvez utiliser des raccourcis clavier pour exécuter les mêmes fonctions de navigation et de modification qu’avec la souris. Ces raccourcis vous permettent d’effectuer toutes les fonctions utilisées dans Business Desk.

Cette section décrit les raccourcis clavier et fournit également des conseils sur l’utilisation du clavier pour naviguer dans Business Desk.

Tabulations

Tableau des raccourcis clavier

Tabulations

Lorsque vous vous déplacez à l’aide de la tabulation dans l’écran d’accueil Business Desk, le focus de la tabulation se trouve sur le volet de navigation. Le focus de la tabulation en cours est indiqué par une ligne pointillée autour de l’élément d’écran.

Lorsque vous vous déplacez à l’aide de la tabulation en dehors du volet de navigation, le focus se place sur la barre d’outils puis sur le volet de contenu. Lorsque vous vous déplacez à l’aide de la tabulation sur une liste d’éléments, vous devez utiliser les touches de direction pour naviguer dans la liste. Utilisez la touche ENTRÉE ou la barre d’espace pour effectuer une sélection.

Vous trouverez ci-dessous d’autres raccourcis clavier :

  • Si vous effectuez une sélection dans un menu déroulant (menu incluant une flèche vers le bas), utilisez les touches de direction pour identifier la sélection, puis appuyez sur ENTRÉE.
  • Vous pouvez ouvrir les menus déroulants en appuyant sur la barre d’espace.
  • Si vous devez utiliser un bouton, appuyez sur TABULATION jusqu’à ce que le bouton reçoive le focus, puis appuyez sur ENTRÉE.
  • Si vous voulez revenir sur un élément à l’aide de la tabulation, appuyez sur MAJ+TAB.

Pour ouvrir un module Business Desk

Pour accéder aux boutons de barre d’outils à l’aide d’un clavier

Pour ouvrir les propriétés d’un élément à l’aide d’un clavier

Pour ouvrir un module Business Desk

  1. Dans le volet de navigation, déplacez-vous à l’aide de la tabulation vers la catégorie contenant le module Business Desk à utiliser, puis appuyez sur ENTRÉE.
  2. Placez-vous à l’aide de la tabulation sur le nom du module à utiliser, puis appuyez sur ENTRÉE.

    Le module sélectionné s’ouvre.

Pour accéder aux boutons de barre d’outils à l’aide d’un clavier

  1. Dans le volet de navigation, déplacez-vous à l’aide de la tabulation vers la catégorie contenant les éléments à ajouter ou à modifier, puis appuyez sur ENTRÉE.
  2. Placez-vous à l’aide de la tabulation sur le nom du module à utiliser, puis appuyez sur ENTRÉE.
  3. Placez-vous à l’aide de la tabulation sur le bouton de barre d’outils à utiliser, puis appuyez sur ENTRÉE.

    Vous pouvez à présent effectuer des modifications ou des ajouts à l’aide de la fonction de barre d’outils utilisée.

  4. Appuyez sur ALT+S pour enregistrer vos ajouts ou vos modifications.

Remarques

  • Si vous vous placez à l’aide de la tabulation sur une zone contenant une liste déroulante, appuyez sur ENTRÉE pour effectuer une sélection dans cette liste. Utilisez les touches HAUT et BAS pour sélectionner une option, puis appuyez sur ENTRÉE.
  • Pour revenir à la zone précédente, appuyez sur MAJ+TAB.

Les mêmes combinaisons de raccourcis clavier sont parfois affectées à certains éléments d’écran. Par exemple, le module Commandes dans le volet de navigation et le bouton de barre d’outils Ouvrir se partagent ALT+O. Dans ce cas, la première fois que vous appuyez sur une combinaison de raccourcis clavier, vous activez le premier élément d’écran, la seconde fois, vous activez le deuxième élément, etc.

Pour ouvrir les propriétés d’un élément à l’aide d’un clavier

  1. Dans le volet de navigation, déplacez-vous à l’aide de la tabulation vers les éléments à utiliser, puis appuyez sur ENTRÉE.
  2. Placez-vous à l’aide de la tabulation sur le module à utiliser, puis appuyez sur ENTRÉE. Le module sélectionné s’ouvre.
  3. Déplacez-vous à l’aide de la tabulation vers la liste d’éléments du volet de contenu, puis utilisez les touches HAUT ou BAS pour donner le focus à un élément.
  4. Appuyez sur ENTRÉE. L’élément est mis en évidence.
  5. Placez-vous à l’aide de la tabulation sur Ouvrir dans la barre d’outils, et appuyez sur ENTRÉE.

    Les propriétés de l’élément s’affichent et vous pouvez à présent les visualiser ou les modifier.

Tableau des raccourcis clavier

Business Desk offre des raccourcis clavier permettant de naviguer sans utiliser la souris. Le tableau suivant répertorie les raccourcis clavier fréquemment utilisés dans Business Desk. Vous pouvez également déterminer le raccourci clavier d’un bouton de barre d’outils en plaçant le pointeur de la souris sur ce bouton. Cela permet d’afficher l’info-bulle du bouton de la barre d’outils.

Action | Raccourci
Ouvrir | ALT+O
Rechercher | ALT+F
Nouveau | ALT+N
Enregistrer | ALT+S
Enregistrer et retour | ALT+K
Enregistrer et créer | ALT+N
Supprimer | ALT+D
Copier | ALT+C
Afficher les propriétés | ALT+V
Afficher l’aide | ALT+?
Retour | ALT+B
Exécuter Rapport | ALT+R
Exporter | ALT+E
Importer | ALT+I
Fermer Business Desk | ALT+F4

Voir aussi

Utilisation des boutons de barre d’outils

Utilisation de l’aide de Business Desk

Navigation dans Business Desk

Pour obtenir un supplément d’aide


Préliminaires

Avant de commencer à utiliser Commerce Server Business Desk, il est recommandé de lire la section Vue d’ensemble de Business Desk. Elle décrit l’application Business Desk et le client Business Desk et comment configurer Business Desk selon vos besoins.

Avant de pouvoir ouvrir votre site Web aux activités commerciales, vous ou votre développeur de site devez utiliser Business Desk pour effectuer les tâches suivantes :

  1. Créer un catalogue :
    • Importation d’un fichier de catalogue XML

      OU

    • Création d’une définition de catalogue
    • Création d’un catalogue de base
    • Tarification d’un produit dans un catalogue de base
  2. Actualisation et publication d’un catalogue.
  3. Personnaliser les modes de livraison. Vous devez spécifier le mode de calcul des frais de livraison par Commerce Server : en fonction du poids du produit, de la quantité achetée par les utilisateurs, ou d’après le montant du sous-total des achats.

Après avoir effectué ces étapes, vous pouvez ouvrir votre site Web aux activités commerciales. En outre, il est recommandé d’effectuer les étapes suivantes pour vous familiariser avec la configuration de Business Desk pour votre site.

Dans Campagnes marketing, effectuez les tâches suivantes :

  • Définir des tables de références. Les tables de références stockent les codes d’activité, les groupes de pages et les tailles de contenu. Commerce Server fournit plusieurs codes d’activité et tailles de contenu courants.

Dans Analyse, effectuez les tâches suivantes :

  1. Consultez les rapports existants pour vérifier qu’ils répondent à vos besoins. Pour obtenir une liste des rapports inclus dans Commerce Server, consultez Rapports Commerce Server 2002. Si vous avez besoin d’autres rapports, vous pouvez créer des rapports personnalisés ou contacter votre développeur de site pour qu’il le fasse. Pour créer de nouveaux rapports, consultez Création d’une nouvelle définition de rapport dynamique.
  2. Contactez votre administrateur système pour déterminer le moment où les données seront importées dans le Data Warehouse. Avant de pouvoir exécuter un rapport, l’administrateur système doit importer les données dans le Data Warehouse.

Dans Utilisateurs, effectuez les tâches suivantes :

  1. Consultez les définitions de profils existantes pour vérifier qu’elles répondent à vos besoins. Pour obtenir une liste des définitions de profils fournies avec Commerce Server, consultez Exemples de définitions de profils. Pour ajouter des définitions de profils, contactez votre administrateur système. Pour ajouter des propriétés aux définitions de profils, consultez Ajout de propriétés à une définition de profil.
  2. Consultez les entrées existantes du glossaire du site pour vérifier qu’elles répondent à vos besoins. Pour ajouter des entrées du glossaire du site, consultez Création d’une entrée du glossaire du site.


Tâches courantes

Une fois votre site ouvert, vous devez parfois fréquemment effectuer les tâches suivantes :

  • Réinitialisation d’un mot de passe utilisateur
  • Recherche, affichage et tri des commandes
  • Ajout d’un produit à un catalogue
  • Tarification d’un produit dans un catalogue de base
  • Création d’une remise
  • Remise sur les prix d’un produit dans un catalogue virtuel
  • Ciblage des publicités
  • Exécution de rapports
  • Ajout d’un profil d’organisation
  • Création d’une entrée du glossaire du site


Utilisation de l'aide de Business Desk

Envoyer des commentaires sur cette page Commerce Server 2002

Utilisation de l’aide de Business Desk

Pour accéder à l’aide dans Commerce Server Business Desk, cliquez sur Aide. L’aide s’affiche pour tous les écrans et toutes les tâches où vous avez besoin d’assistance.

Business Desk offre une aide au niveau des boîtes de dialogue et au niveau des tâches. L’aide au niveau des boîtes de dialogue décrit les entrées nécessaires dans les zones de texte spécifiques. L’aide au niveau des tâches vous guide progressivement dans l’exécution d’une tâche spécifique. Une documentation élaborée spécialement pour les administrateurs système et les développeurs de site est également fournie dans Commerce Server 2002.

Impression de rubriques

Onglet Sommaire

Onglet Index

Onglet Recherche

Termes du glossaire

Impression de rubriques

  • Cliquez avec le bouton droit sur la rubrique que vous souhaitez imprimer, puis cliquez sur Imprimer.
  • Pour imprimer une rubrique contextuelle, cliquez avec le bouton droit à l’intérieur de la fenêtre contextuelle, puis cliquez sur Imprimer.
  • Pour imprimer toutes les rubriques d’un livre, sous l’onglet Sommaire, sélectionnez le livre souhaité. Dans la barre d’outils de l’aide, cliquez sur Options, sur Imprimer, puis sur Imprimer le titre sélectionné et toutes les sous-rubriques.

    Remarque

    • L’impression de grandes illustrations peut parfois s’effectuer de manière incomplète. Si une illustration est très grande, le bord droit de l’exemple de code ou de l’illustration peut dépasser les marges et ne pas s’imprimer.

Onglet Sommaire

Dans le volet d’ouverture de l’aide de Business Desk, cliquez sur l’onglet Sommaire pour afficher la table des matières de l’aide de Business Desk. Cliquez sur le nom de la rubrique que vous voulez afficher, ou cliquez sur le signe plus (+) pour développer cette rubrique. La rubrique s’affiche à droite de la fenêtre d’aide dans le volet de contenu.

Pour imprimer la rubrique en cours, ou la rubrique et toutes ses sous-rubriques, cliquez sur [image]. Vous pouvez également cliquer sur le bouton Synchronisation pour synchroniser la table des matières avec le volet de contenu situé à droite. Vous devez synchroniser la table des matières avec le volet de contenu après avoir effectué une recherche.

Onglet Index

Pour afficher l’index en ligne de Business Desk, cliquez sur l’onglet Index.

Pour rechercher un mot dans l’index

  1. Dans la fenêtre Documentation de Business Desk, cliquez sur l’onglet Index.
  2. Dans la zone Entrez le mot clé à rechercher, entrez un mot clé ou une expression à rechercher. L’index affiche automatiquement la correspondance la plus proche du mot.
  3. Si vous trouvez une correspondance, cliquez sur Afficher. Une zone Rubriques trouvées s’affiche, répertoriant les rubriques contenant ce mot.
  4. Pour trouver l’information souhaitée, sélectionnez la rubrique puis cliquez sur Afficher. La rubrique s’affiche dans le volet de contenu.

Onglet Recherche

Pour rechercher des mots clés ou des expressions spécifiques dans l’aide de Business Desk, cliquez sur l’onglet Recherche.

Pour rechercher un mot clé ou une expression

  1. Dans la fenêtre Documentation de Business Desk, cliquez sur l’onglet Recherche.
  2. Dans la zone Rechercher, entrez un mot clé ou une expression à rechercher, puis cliquez sur Rechercher. La liste des résultats s’affiche dans le volet de contenu.

    Vous pouvez utiliser la zone Sélectionnez le type de recherche pour sélectionner un type de recherche spécifique. Par défaut, la recherche porte sur l’expression exacte saisie. Vous pouvez sélectionner l’un des types de recherche suivants :

    Type de recherche | Description
    Phrase exacte | Recherche la séquence exacte des mots que vous tapez. Par exemple, si vous tapez Business Desk, la recherche renvoie uniquement les rubriques contenant « Business Desk ».
    Recherche standard | Recherche toutes les formes des mots que vous tapez. Par exemple, si vous tapez Business Desk, la recherche renvoie toutes les rubriques contenant « business » et toutes les rubriques contenant « desk ».
  3. Pour afficher la rubrique que vous voulez consulter, cliquez sur son titre.

La rubrique s’affiche dans le volet de contenu.

Termes du glossaire

Lorsqu’une rubrique d’aide de Business Desk s’affiche dans le volet de contenu, vous pouvez voir que certains mots sont surlignés en vert, Commerce Server Business Desk par exemple. En cliquant sur un ou plusieurs mots surlignés, vous pouvez afficher la définition correspondante. Vous pouvez également trouver une liste alphabétique de ces termes à la fin de la table des matières de Business Desk sous Glossaire.


Pour obtenir un supplément d'aide

Envoyer des commentaires sur cette page Commerce Server 2002

Pour obtenir un supplément d’aide

Pour obtenir un supplément d’aide et utiliser ou personnaliser Commerce Server Business Desk selon vos besoins, contactez votre administrateur système ou votre développeur de site. Le tableau suivant répertorie les tâches effectuées par chaque personne.

Contact Pour faire cela
Administrateur système
  • Créer un dossier partagé pour vous permettre d’importer et d’exporter les catalogues
  • Convertir les catalogues externes au format de fichier XML (Extensible Markup Language) ou CSV (valeurs séparées par une virgule) pour permettre leur importation.
  • Définir des partenaires commerciaux pour vous permettre de leur envoyer ou d’échanger des catalogues, à l’aide de BizTalk Server
  • Importer des données vers le Data Warehouse pour vous permettre d’exécuter des rapports
  • Ajouter de nouvelles définitions de profils et sources de données pour vous permettre de collecter des données de profil supplémentaires
  • Sécuriser les modules Business Desk
  • Planifier les travaux de publipostage
  • Assurer la maintenance de Business Desk
  • Assurer la maintenance de l’environnement du site Web
Développeur de site
  • Intégrer votre site Web aux systèmes existants
  • Personnaliser la fonctionnalité de Business Desk
  • Ajouter de nouveaux modules à Business Desk
  • Ajouter une fonctionnalité vente associée à votre site, telle que la vente croisée et l’offre de lancement des articles
  • Activer une page Web pour la publicité pour vous permettre de cibler des groupes de pages
  • Créer des rapports personnalisés


Analyse Business Desk

Les modules d’analyse vous permettent d’analyser les données relatives à l’activité des utilisateurs sur votre site. Vous pouvez analyser des informations spécifiques sur les utilisateurs inscrits, ainsi que leur comportement durant la visite de votre site, notamment le temps qu’ils ont passé sur une page particulière, ou les liens sur lesquels ils ont cliqué.

Vous pouvez exécuter des rapports pour consulter les données. Les informations fournies dans ces rapports peuvent vous aider à prendre les bonnes décisions en matière de tarifs, de marketing et de publicité ou concernant d’autres aspects de votre commerce.

Avant d’exécuter des rapports d’analyse, votre administrateur système doit installer Microsoft Commerce Server 2002. En outre, il doit également importer les données d’utilisation et de transaction du site Web dans le Data Warehouse, puis exécuter le processus de préparation des rapports.

Cette section contient les rubriques suivantes :

  • Déroulement des opérations pour la gestion des rapports. Présente la marche à suivre pour exécuter, modifier et gérer des rapports.
  • À propos des rapports dynamiques et statiques. Décrit les composants du module Analyse de Business Desk, vous indique comment sécuriser les rapports et explique les propriétés d’un rapport. Fournit une vue d’ensemble des différents types de définitions de rapport.
  • Rapports Commerce Server 2002. Décrit les rapports et les propriétés de rapports fournis avec Commerce Server 2002.
  • Analyse de parcours . Explique comment utiliser les rapports de Commerce Server 2002 pour l’analyse de parcours.
  • Avant d’analyser les données Commerce Server. Décrit les étapes nécessaires à l’exécution des fonctions analytiques de Commerce Server 2002.
  • Recherche de rapports. Explique comment trouver un rapport dans la liste des rapports.
  • Exécution de rapports. Explique comment exécuter des rapports dynamiques et statiques.
  • Affichage de rapports dynamiques. Explique comment afficher les rapports dynamiques finalisés et utiliser la fonctionnalité d’extraction.
  • Affichage de rapports statiques. Explique comment ouvrir et afficher des rapports statiques dans le module Rapports finalisés.
  • Impression de rapports. Explique comment imprimer des rapports dynamiques et statiques à partir de la fenêtre du navigateur.
  • Exportation d’un rapport dynamique. Explique comment exporter un rapport dynamique vers Microsoft Excel.
  • Création d’une nouvelle définition de rapport dynamique. Explique comment créer une nouvelle définition de rapport dynamique.
  • Suppression de rapports. Explique comment supprimer des définitions de rapports dynamiques personnalisés finalisés et des rapports statiques finalisés.
  • Affichage des propriétés de rapport. Explique comment afficher les propriétés d’un rapport.


Déroulement des opérations pour la gestion des rapports

La figure suivante illustre un exemple de scénario permettant d’exécuter, de modifier et de gérer des rapports. Ce scénario considère que votre administrateur système vous a accordé les autorisations requises pour exécuter des rapports et accéder aux bases de données du Data Warehouse.

Diagramme de déroulement des opérations pour la gestion des rapports

Exemple de scénario d’exécution de rapports dynamiques

  1. Dans le module Rapports, vous pouvez exécuter des rapports dynamiques pour analyser l’efficacité de votre site Web et vous procurer des données sur les ventes et l’utilisation de votre site Web.
  2. Dans le module Rapports, affichez un rapport dynamique par défaut, Ventes produits par exemple.
  3. Dans la fenêtre du navigateur, modifiez une définition de rapport dynamique existante en changeant l’intervalle de date ou en ajoutant des données au rapport. Vous pouvez utiliser la liste du tableau croisé dynamique pour ajouter d’autres dimensions et indicateurs au rapport existant.
  4. Dans la fenêtre du navigateur, enregistrez le rapport dynamique modifié sous forme de nouvelle définition de rapport.
  5. Dans le module Rapports, exécutez la nouvelle définition de rapport dynamique à une fréquence hebdomadaire ou aussi souvent que nécessaire.

Exemple de scénario d’exécution de rapports statiques

  1. Dans le module Rapports, exécutez un rapport statique, comme le rapport Analyse des chemins d’entrée. (Lorsque vous cliquez sur Exécuter, la boîte de dialogue Exécuter un rapport s’affiche.)
  2. Modifiez les définitions de la boîte de dialogue Exécuter un rapport selon vos besoins.
  3. Dans le module Rapports finalisés, ouvrez le rapport statique et affichez-le dans une fenêtre du navigateur. Le rapport apparaît avec toutes les informations spécifiées. Vous pouvez imprimer le rapport si nécessaire.

Voir aussi

Sécurisation des rapports

Listes d’utilisateurs et listes de publipostage

Importation et exportation de listes


À propos des rapports dynamiques et statiques

Les modules d’analyse vous permettent d’exécuter des rapports sur les données utilisateur et de site stockées dans le Data Warehouse ; à partir des résultats de ces rapports, vous effectuez une analyse commerciale pour en apprendre plus sur la façon dont les clients actuels et potentiels utilisent votre site Web. Par exemple, vous pouvez exécuter des rapports qui montrent les caractéristiques et le comportement antérieur des utilisateurs, puis mettre à jour votre site en ciblant des publicités ou des produits sur des utilisateurs correspondant à un profil spécifique.

Dans le module Rapports d’analyse, vous pouvez également exécuter des rapports multidevises pour les sites utilisant des devises différentes. Ceci s’avère utile, par exemple, dans les sites qui comportent des transactions effectuées dans plusieurs devises. Lorsque vous exécutez des rapports, vous déterminez si vous voulez que le rapport soit exécuté pour un site spécifique ou pour tous les sites.

Avant de pouvoir exécuter un rapport, l’administrateur système doit importer les données de votre site dans le Data Warehouse. Ces données proviennent de fichiers journaux Web, de bases de données Commerce Server et d’autres sources de données. Une fois les données importées, vous pouvez les analyser en exécutant des rapports à partir de Business Desk. Votre administrateur système utilise les tâches de transformation de données (DTS, Data Transformation Services) de Commerce Server pour importer les données. Pour plus d’informations, consultez Avant d’analyser les données Commerce Server.

Pour plus d’informations sur l’utilisation des tâches DTS à l’aide de scripts, consultez Exécution de tâches DTS à l’aide de scripts. Pour plus d’informations sur l’exécution de tâches DTS, consultez Exécution du Data Warehouse.

Cette section contient les rubriques suivantes :

  • Fonctionnalités des rapports dynamiques et statiques
  • Rapports dynamiques
  • Rapports d’extraction
  • Rapports statiques
  • Utilisation de rapports entre les domaines
  • Définitions de rapport
  • Dimensions et indicateurs
  • Tableaux croisés dynamiques
  • Liste de champs d’un tableau croisé dynamique
  • Dimensions réduites
  • Graphiques croisés dynamiques
  • Sécurisation des rapports

Voir aussi

Rapports accédant aux cubes OLAP et à SQL Server

Scripts de sécurisation des bases de données accessibles aux rapports


Fonctionnalités des rapports dynamiques et statiques

Le tableau suivant répertorie les différences entre les rapports statiques et dynamiques.

Fonctionnalité | Rapport dynamique | Rapport statique
Contrôler la taille des résultats du rapport | Vous pouvez contrôler la taille des résultats du rapport en n’affichant pas les données détaillées. | Vous pouvez contrôler la taille des résultats du rapport en limitant le nombre de lignes de la définition de rapport.
Modifier le contenu du rapport | La fonctionnalité de tableau croisé dynamique vous permet d’ajouter et de supprimer des dimensions et des indicateurs des résultats du rapport et de développer ou réduire les niveaux de dimensions. | L’administrateur système modifie les rapports statiques par programmation.
Exporter les résultats du rapport directement vers le Gestionnaire de listes | Vous ne pouvez pas exporter les résultats d’un rapport dynamique vers le Gestionnaire de listes. | Vous pouvez exporter un rapport statique sous forme de liste dynamique ou statique vers le Gestionnaire de listes.
Exporter les résultats du rapport vers Microsoft Excel | Vous pouvez exporter les résultats d’un rapport dynamique vers Microsoft Excel. | Vous ne pouvez pas exporter un rapport statique vers Microsoft Excel.
Créer des définitions de rapport | Vous pouvez modifier des rapports dynamiques existants ou en créer de nouveaux basés sur une requête SQL Server ou sur un cube OLAP. Pour obtenir des instructions sur la création de nouveaux rapports dynamiques, consultez Création d’une nouvelle définition de rapport dynamique. | L’administrateur système peut modifier les rapports statiques par programmation.
Supprimer des définitions de rapport | Vous pouvez supprimer des définitions de rapport dynamique personnalisé. Vous ne pouvez pas supprimer des définitions de rapport dynamique par défaut. | Vous pouvez supprimer des définitions de rapport statique personnalisé. Vous ne pouvez pas supprimer des définitions de rapport statique par défaut.
Enregistrer des rapports finalisés | Vous ne pouvez pas enregistrer des rapports dynamiques finalisés contenant des données dans Business Desk. | Les rapports statiques finalisés sont stockés avec leurs données dans le module Rapports finalisés de Business Desk jusqu’à ce qu’ils soient supprimés.
Afficher les résultats du rapport sous forme de graphique | Vous pouvez afficher les rapports dynamiques finalisés sous forme de graphiques croisés dynamiques. | Vous ne pouvez pas afficher les rapports statiques finalisés sous forme de graphiques.
Utiliser la fonctionnalité d’extraction pour afficher des données de rapport supplémentaires relatives aux rapports sélectionnés | Dans les rapports dynamiques OLAP, vous pouvez double-cliquer sur une cellule dans la zone de données du tableau croisé dynamique pour obtenir les données détaillées de cette cellule. | La fonctionnalité d’extraction n’est pas disponible pour les rapports statiques.

Voir aussi

Rapports accédant aux cubes OLAP et à SQL Server

Scripts de sécurisation des bases de données accessibles aux rapports


Rapports dynamiques

Un rapport dynamique est un rapport créé lors de l’exécution. Chaque fois que le rapport est exécuté, il récupère les données les plus récentes dans le Data Warehouse. Seule la définition du rapport, qui ne change jamais, est stockée. (C’est la différence avec un rapport statique, pour lequel le rapport et ses données sont stockés dans le Data Warehouse.) Utilisez le module Rapports pour exécuter des rapports dynamiques.

Lorsque vous exécutez un rapport dynamique, il s’affiche dans une nouvelle fenêtre du navigateur Internet Explorer en tant que tableau croisé dynamique et/ou graphique croisé dynamique. Vous pouvez masquer ou afficher le tableau croisé dynamique et/ou le graphique croisé dynamique dans chaque rapport dynamique.

Les tableaux croisés dynamiques comprennent des filtres, des lignes, des colonnes, des dimensions et des indicateurs qui contiennent les détails du rapport.

Les graphiques croisés dynamiques sont des représentations graphiques des données du rapport.

Dans le tableau croisé dynamique et le graphique croisé dynamique, vous pouvez afficher les détails de vos données et déplacer les dimensions et les indicateurs pour obtenir une perspective différente de ces données. Le tableau croisé dynamique et le graphique croisé dynamique sont synchronisés de façon à afficher les mêmes données.

Pour plus d’informations sur l’utilisation des tableaux ou des graphiques croisés dynamiques, cliquez sur Aide dans l’écran Tableau croisé dynamique ou Graphique croisé dynamique, afin d’afficher l’aide correspondante.

Exportation d’un rapport dynamique

Les contrôles du tableau croisé dynamique vous permettent d’exporter un rapport dynamique finalisé vers Microsoft Excel. Utilisez Microsoft Excel pour enregistrer, modifier et imprimer les rapports dynamiques finalisés. Pour exporter un rapport dynamique finalisé vers Microsoft Excel, Microsoft Excel doit être installé sur l’ordinateur sur lequel se trouve votre rapport dynamique.

Vous ne pouvez pas exporter les résultats d’un rapport dynamique vers le module Gestionnaire de listes comme c’est le cas avec un rapport statique.

Création de nouveaux rapports dynamiques

Vous pouvez créer de nouvelles définitions de rapport dynamique basées sur l’un des rapports par défaut inclus dans Business Desk.

Voir aussi

Rapports accédant aux cubes OLAP et à SQL Server

Scripts de sécurisation des bases de données accessibles aux rapports

Fonctionnalités des rapports dynamiques et statiques

Tableaux croisés dynamiques

Liste de champs d’un tableau croisé dynamique

Graphiques croisés dynamiques

Rapports d’extraction

Création d’une nouvelle définition de rapport dynamique

Exportation d’un rapport dynamique

Dimensions réduites

Rapports statiques


Rapports d'extraction

Envoyer des commentaires sur cette page Commerce Server 2002

Rapports d’extraction

Un rapport d’extraction est un rapport dynamique dans lequel vous pouvez afficher des informations détaillées concernant toutes les dimensions du cube qui contient la dimension sur laquelle vous avez cliqué.

Dans Commerce Server, le rapport dynamique suivant prend en charge la fonctionnalité d’extraction : Ventes produits.

Vous pouvez configurer par programmation les limites d’extraction pour un nombre maximal d’enregistrements et activer l’extraction pour des rapports supplémentaires.

Voir aussi

Fonctionnalités des rapports dynamiques et statiques

Rapports dynamiques

Rapports statiques


Rapports statiques

Un rapport statique est un rapport exécuté immédiatement après la requête puis stocké, ainsi que ses données, dans le Data Warehouse. (C’est la différence avec un rapport dynamique, pour lequel seules les informations nécessaires à la création du rapport sont stockées dans le Data Warehouse.) Vous pouvez publier des rapports statiques sur votre site Web et exporter les données d’un rapport statique vers le module Gestionnaire de listes de Business Desk.

Utilisez le module Rapports pour exécuter des rapports statiques et le module Rapports finalisés pour les afficher.

Les rapports statiques vous permettent de visualiser des informations sur de très grands ensembles de données ; leur exécution peut alors prendre du temps. Pendant l’exécution du rapport, son statut est affiché comme étant « En attente » dans le module Rapports finalisés. Lorsque vous ouvrez un rapport statique finalisé, celui-ci s’ouvre sous forme de document HTML dans une nouvelle fenêtre du navigateur Microsoft Internet Explorer.

Personnalisation des résultats d’un rapport statique

Les propriétés du rapport statique dans la boîte de dialogue Exécuter un rapport vous permettent de personnaliser les résultats d’un rapport statique. Vous pouvez modifier chacun des paramètres sur lesquels le rapport est basé ou entrer de nouvelles valeurs pour ces paramètres. Par exemple :

  • Si vous exécutez un rapport possédant un paramètre de date, vous pouvez sélectionner une date exacte, un intervalle de date, ou une date relative, telle que l’année dernière.
  • Si vous exécutez un rapport statique possédant un paramètre d’expression, vous pouvez créer l’expression souhaitée en choisissant parmi un ensemble complet d’opérandes.

Après avoir exécuté un rapport statique, vous ne pouvez pas modifier les résultats de ce rapport dans la fenêtre du navigateur. Cependant, vous pouvez utiliser les fonctions de Internet Explorer pour imprimer le rapport ou l’enregistrer en tant que fichier, comme n’importe quel fichier HTML. Pour plus d’informations sur les fonctionnalités de Microsoft Internet Explorer, consultez l’aide de Microsoft Internet Explorer.

Remarque

  • Pour créer un rapport statique personnalisé, vous, ou votre développeur de site, utilisez des scripts SQL. Pour plus d’informations sur les exemples de scripts et les outils des rapports statiques, consultez « Business Analytics Samples » (en anglais) dans l’aide de Commerce Server 2002.

Voir aussi

Rapports accédant aux cubes OLAP et à SQL Server

Scripts de sécurisation des bases de données accessibles aux rapports

Rapports Commerce Server 2002

Exécution de rapports

Exportation d’un rapport dynamique

Création d’une nouvelle définition de rapport dynamique

Affichage de rapports dynamiques

Affichage de rapports statiques


Utilisation de rapports entre les domaines

Si vous exploitez plusieurs sites Web dans un seul Data Warehouse Commerce Server, vous pouvez exécuter des rapports dynamiques ou statiques sur un site, sur plusieurs sites ou sur tous les sites du Data Warehouse.

Remarque

  • Si vous avez plusieurs sites Web et plusieurs applications Business Desk, vous pouvez créer des rapports statiques à partir de données provenant de plusieurs sites. Cependant, vous ne pouvez afficher les rapports statiques qu’à partir de l’application Business Desk utilisée pour les créer.


Définitions de rapport

Une définition de rapport spécifie les dimensions en ligne, les dimensions en colonne et les indicateurs à inclure dans le rapport, et contient des informations sur la présentation des rapports. À chaque fois qu’un rapport est exécuté, il interroge la base de données SQL Server ou les cubes OLAP du serveur d’analyse pour obtenir les données actuelles.

Le module Rapports contient des définitions pour deux types de rapports : les rapports statiques et les rapports dynamiques. Les rapports statiques fournissent un enregistrement HTML des données. Les rapports dynamiques utilisent des contrôles Web Microsoft Office pour fournir une capture instantanée des données.

Voir aussi

Rapports accédant aux cubes OLAP et à SQL Server

Scripts de sécurisation des bases de données accessibles aux rapports

Fonctionnalités des rapports dynamiques et statiques

Rapports Commerce Server 2002


Dimensions et indicateurs

Les données renvoyées dans un rapport sont déterminées par les dimensions et les indicateurs contenus dans sa définition. Vous utilisez les indicateurs et les dimensions pour afficher les rapports :

  • Les indicateurs sont des entités numériques regroupées d’une certaine façon : minimum, maximum, count, somme et moyenne. Les indicateurs peuvent également être des mesures calculées en fonction d’opérations mathématiques effectuées sur plusieurs mesures.
  • Les dimensions sont des entités commerciales, telles que la couleur, la taille, le produit ou l’heure. En associant les dimensions aux indicateurs, les définitions de rapport Commerce Server 2002 fournissent des informations basées sur la quantité et le temps.

Dans certains rapports, les valeurs numériques (indicateurs) représentent des moyennes calculées sur une certaine période de temps. Dans ces cas, il est important de comprendre comment le calcul de la moyenne, l’intervalle de temps et l’emplacement physique de la valeur dans le rapport influencent la valeur. Prenons comme exemple les indicateurs suivants :

  • Nombre moyen de demandes par heure
  • Nombre moyen de demandes par jour de la semaine
  • Nombre moyen de visites par heure
  • Nombre moyen de visites par jour de la semaine

Lorsqu’elles sont calculées, ces valeurs sont basées sur l’intervalle de temps qui est délimité par la cellule active dans le tableau croisé dynamique. Lorsque plusieurs dimensions de temps sont ajoutées au rapport, le cube OLAP calcule leur intersection pour déterminer la période de temps sur laquelle il convient de calculer la moyenne.

Considérons par exemple une cellule qui contient un indicateur de type moyenne horaire (comme le Nombre moyen de demandes par heure) dans une colonne qui coupe une ligne contenant la période de temps Date = juin 2000 et Heure du jour = 12:00. Cette cellule contiendra la somme de toutes les activités qui, en juin 2000, ont eu lieu entre 12:00 et 13:00, divisée par 30. (En effet, il y a 30 jours dans le mois de juin, et chaque jour contient l’heure 12:00.)

Lorsque vous exécutez un rapport statique, vous pouvez modifier les paramètres des données renvoyées. Par exemple, vous ne pouvez demander des données que pour les 25 utilisateurs ayant effectué des achats, cependant, vous ne pouvez pas modifier les dimensions et les indicateurs du rapport.

Lorsque vous exécutez un rapport dynamique, une liste des dimensions et des indicateurs disponibles s’affiche dans un tableau croisé dynamique or a graphique croisé dynamique.

Vous pouvez utiliser la liste de champs du tableau croisé dynamique pour modifier les dimensions et les indicateurs dans un rapport dynamique en ajoutant, en supprimant ou en modifiant l’orientation des dimensions et des indicateurs, mais également en modifiant le niveau de détail affiché par le rapport finalisé.

Si vous modifiez une définition de rapport dynamique finalisé, vous pouvez enregistrer la définition de rapport avec les modifications sous forme de nouvelle définition ou de définition de rapport dynamique personnalisé.

Voir aussi

Fonctionnalités des rapports dynamiques et statiques

Rapports Commerce Server 2002

Tableaux croisés dynamiques

Liste de champs d’un tableau croisé dynamique

Graphiques croisés dynamiques


Tableaux croisés dynamiques

Un tableau croisé dynamique est un tableau interactif utilisé pour afficher des rapports dynamiques.

Vous pouvez apporter les modifications suivantes à un tableau croisé dynamique ou à un graphique croisé dynamique dans un rapport dynamique :

  • Ajouter ou supprimer des dimensions sous forme de lignes ou de colonnes, et ajouter ou supprimer des indicateurs.
  • Développer ou réduire le niveau de détail affiché pour les dimensions.
  • Ajouter ou supprimer des dimensions de filtre.

Une fois ces modifications effectuées, vous pouvez enregistrer le rapport sous forme d’une nouvelle définition de rapport dynamique. Cette nouvelle définition de rapport dynamique sera disponible dans le module Rapports de Business Desk.

Voir aussi

Création d’une nouvelle définition de rapport dynamique

Graphiques croisés dynamiques

Liste de champs d’un tableau croisé dynamique

Dimensions réduites


Liste de champs d'un tableau croisé dynamique

Envoyer des commentaires sur cette page Commerce Server 2002

Liste de champs d’un tableau croisé dynamique

Une liste de champs d’un tableau croisé dynamique contient une liste des dimensions et indicateurs pouvant être utilisés dans un rapport dynamique. La liste de champs d’un tableau croisé dynamique vous permet d’ajouter des dimensions et des indicateurs à un tableau croisé dynamique. Cette liste apparaît lorsque le rapport dynamique s’affiche dans une fenêtre du navigateur. Si la liste de champs n’apparaît pas automatiquement, cliquez dans la barre d’outils sur Liste de champs.

La liste de champs affiche les dimensions et indicateurs qui peuvent être inclus dans un rapport dynamique. Les dimensions et les indicateurs affichés en gras sont inclus dans l’affichage par défaut d’un rapport ; les dimensions et indicateurs qui ne sont pas en gras peuvent être utilisés dans le rapport. Vous pouvez utiliser le glisser-déplacer pour ajouter d’autres dimensions et indicateurs à un rapport.

La figure suivante montre les éléments d’écran d’une liste de champs d’un tableau croisé dynamique.

Liste de champs d'un tableau croisé dynamique

Remarque

  • La figure précédente montre les champs de tableau croisé dynamique pour un rapport qui n’est disponible que dans Commerce Server 2002 Enterprise Edition.

Voir aussi

Tableaux croisés dynamiques

Graphiques croisés dynamiques

Dimensions réduites


Dimensions réduites

Une dimension est l’attribut descriptif d’un indicateur. Par exemple, Totaux est une dimension et Fréquence l’un de ses indicateurs.

Vous pouvez développer et réduire les dimensions pour modifier le niveau de détail des informations affichées dans un rapport.

Les dimensions réduites s’affichent dans le tableau croisé dynamique avec un signe plus (+) situé à gauche du nom de la dimension. Lorsqu’une dimension est réduite, le total affiché dans le rapport est un total cumulé de l’ensemble de la dimension. Vous pouvez cliquer sur le signe plus situé en regard du nom d’une dimension pour afficher ses membres individuels.

Les dimensions réduites sont triées au niveau où est effectuée la réduction.

Voir aussi

Tableaux croisés dynamiques

Graphiques croisés dynamiques

Liste de champs d’un tableau croisé dynamique


Graphiques croisés dynamiques

Un graphique croisé dynamique est un graphique interactif utilisé pour afficher un rapport dynamique. Le bouton Bouton Type de graphique permet d’afficher votre rapport dynamique sous la forme d’un des nombreux types de graphiques disponibles dans Commerce Server 2002.

Chaque définition de rapport dynamique Commerce Server 2002 se voit attribuer un format de graphique par défaut, mais vous pouvez choisir d’autres formats de graphiques correspondant mieux à vos besoins. La liste de champs d’un graphique croisé dynamique vous permet d’ajouter des dimensions et des indicateurs à un graphique croisé dynamique.

La figure suivante montre les éléments d’écran d’un graphique croisé dynamique dans le rapport Synthèse de l’utilisation par jour de la semaine.

Exemple de graphique croisé dynamique

Remarque

  • La figure précédente montre un graphique croisé dynamique pour un rapport qui n’est disponible que dans Commerce Server 2002 Enterprise Edition.

Le graphique croisé dynamique affiche tous les indicateurs de la vue actuelle du tableau croisé dynamique. Si le graphique comporte trop d’éléments et devient difficile à lire, supprimez des indicateurs, réduisez des dimensions ou ajoutez une dimension de filtre.

Le graphique croisé dynamique prend en charge de nombreux formats de graphiques que vous pouvez visualiser et sélectionner en cliquant sur le bouton Type de graphique du graphique croisé dynamique.

Remarque

  • Le graphique n’est connecté au tableau croisé dynamique que si le rapport affiche un graphique ou si l’opérateur appuie sur le bouton « Afficher le graphique », car l’affichage initial de certains rapports volumineux peut prendre du temps.

Voir aussi

Affichage de rapports dynamiques

Tableaux croisés dynamiques

Liste de champs d’un tableau croisé dynamique

Dimensions réduites


Sécurisation des rapports

Votre administrateur système et vous-même devez sécuriser les modules Analyse de Business Desk utilisés pour créer les rapports ainsi que les bases de données du Data Warehouse qui contiennent les données des rapports. Dans les deux cas, votre administrateur système crée des groupes Windows pour les utilisateurs Business Desk devant utiliser la fonctionnalité d’analyse, puis accorde à ces groupes les autorisations appropriées.

Sécurisation des modules Analyse

Sécurisation des bases de données du Data Warehouse

Sécurisation des modules Analyse

Utilisez le module Autorisations de Business Desk pour accorder et refuser aux utilisateurs Business Desk l’autorisation d’exécuter des rapports d’analyse. Vous pouvez sécuriser des zones du module Analyse de Business Desk pour que des fonctions de création de rapport spécifiques ne soient disponibles que pour les utilisateurs ou groupes d’utilisateurs sélectionnés.

Par exemple, vous pouvez désactiver le bouton Exécuter du module Rapports pour qu’un groupe d’utilisateurs ne puisse pas exécuter de rapports dynamiques dans Business Desk.

Le seul compte d’utilisateur par défaut de Business Desk est le groupe des administrateurs Business Desk. Après l’installation d’une application Business Desk, ce compte de groupe comporte initialement les utilisateurs du groupe des administrateurs Windows pour le serveur Web sur lequel l’application Business Desk est installée.

Un membre du groupe des administrateurs Business Desk possède toutes les autorisations et peut ajouter d’autres utilisateurs et leur accorder des autorisations de création de rapport. Les autorisations de création de rapport permettent aux utilisateurs de créer et d’enregistrer des rapports.

Important

  • Les autorisations de création de rapport permettent à un utilisateur Business Desk de créer de nouvelles requêtes SQL pour élaborer des rapports et de les enregistrer dans le Data Warehouse. Il se peut que les utilisateurs qui exécutent des rapports ne réalisent pas qu’ils exécutent une nouvelle requête, susceptible de provoquer des dommages. Il est donc nécessaire d’évaluer le risque potentiel lorsque vous déterminez à qui octroyer les privilèges de Création de rapport.

Pour obtenir des instructions sur l’application des autorisations Business Desk, consultez Définition d’autorisations Business Desk pour des comptes Windows.

Remarques

  • Si les utilisateurs sont autorisés à utiliser le module Gestionnaire de campagnes, ils peuvent utiliser ce dernier pour exporter un rapport vers le Gestionnaire de listes et accéder ensuite aux données utilisateur de la liste.

    Pour sécuriser les données utilisateur dans ce cas, refusez explicitement aux utilisateurs l’autorisation d’exporter des rapports vers le Gestionnaire de listes.

  • Lorsqu’un utilisateur exécute un rapport dynamique, les boutons Nouveau (Nouveau rapport) et Enregistrer (Enregistrer le rapport) sont activés, quelles que soient les autorisations accordées à ces utilisateurs dans Business Desk. Ces boutons ne sont pas contrôlés directement par la fonctionnalité de sécurité de Business Desk.

    L’utilisateur peut exécuter un rapport dynamique en dehors de Business Desk à l’aide de l’adresse URL que Business Desk utilise pour exécuter des rapports.

Sécurisation des bases de données du Data Warehouse

Votre administrateur système sécurise les bases de données du Data Warehouse contenant les données utilisées dans les rapports. Si les utilisateurs n’ont pas accès aux bases de données du Data Warehouse, ils ne peuvent pas exécuter de rapports.

Votre administrateur système peut créer un rôle de « création de rapport » dans SQL Server puis attribuer des groupes de comptes Windows à ce rôle. Pour plus d’informations, consultez Scripts de sécurisation des bases de données accessibles aux rapports.

Pour obtenir la liste des rapports qui accèdent à chacune des bases de données du Data Warehouse, consultez Rapports accédant aux cubes OLAP et à SQL Server.

Commerce Server 2002 permet à un utilisateur Business Desk d’exécuter des rapports dynamiques en se connectant à la base de données OLAP par l’intermédiaire des services IIS. Lorsque cette méthode de connexion est configurée, le service Tableau croisé dynamique peut créer une connexion tunnel via des pare-feu ou des serveurs proxy vers le serveur Analysis Services. Pour plus d’informations, consultez Accès au serveur d’analyse via HTTPS.

Voir aussi

Scripts de sécurisation des bases de données accessibles aux rapports

Rapports accédant aux cubes OLAP et à SQL Server

Accès au serveur d’analyse via HTTPS

Définition d’autorisations Business Desk pour des comptes Windows

Affichage des autorisations de compte


Rapports Commerce Server2002

Envoyer des commentaires sur cette page Commerce Server 2002

Rapports Commerce Server 2002

Commerce Server 2002 offre un ensemble de 35 définitions de rapport. Vous pouvez modifier les définitions de rapport dynamique pour créer de nouveaux rapports et ajouter vos nouvelles définitions de rapport dynamique au module Rapports de Commerce Server Business Desk. Pour plus d’informations sur la création d’une nouvelle définition de rapport dynamique, consultez Création d’une nouvelle définition de rapport dynamique.

Remarque

  • Votre système administrateur doit exécuter plusieurs tâches pour que vous puissiez exécuter des rapports. Pour plus d’informations, consultez Avant d’analyser les données Commerce Server.

Cette section contient les rubriques suivantes :

  • Rapports sur les ventes de produits
  • Rapports sur l’utilisation du Web
  • Rapports d’utilisateur
  • Rapports de visite
  • Rapports de diagnostic
  • Rapports de chaîne de requête
  • Propriétés de rapport
  • Gestion du temps dans les rapports

Voir aussi

Rapports accédant aux cubes OLAP et à SQL Server

Sécurisation des bases de données du Data Warehouse

Scripts de sécurisation des bases de données accessibles aux rapports

(en anglais)


Rapports sur les ventes de produits

Vous pouvez utiliser le module Rapports pour exécuter des rapports et analyser les données sur les ventes de produits.

Ventes produits

Ventes produits (dynamique)

Utilisez le rapport Ventes produits pour connaître le volume et le chiffre d’affaires des ventes de produits par date. Ce rapport affiche la quantité et le chiffre d’affaires total, triés par catégorie de produit. Pour chaque catégorie de produit affichée, le rapport indique les informations de vente de tous les produits de cette catégorie et des catégories descendantes.

Par exemple, si vous avez une hiérarchie de catégories de produit dont le premier niveau est « Électronique », cette catégorie peut contenir deux catégories enfants : « Réveils » et « Radios ». Une seule vente d’un seul produit (un radio-réveil) que vous avez classé comme appartenant aux catégories « Réveils » et « Radios » s’affichera dans le rapport comme une quantité de un dans la catégorie « Électronique » car ce produit appartient à une catégorie enfant de « Électronique ».

Cependant, si vous développez la catégorie « Électronique », la vente s’affichera comme une quantité de un sous « Réveils » et une quantité de un sous « Radios » car le radio-réveil appartient aux deux catégories. Même si la vente du produit apparaît dans les deux catégories enfants de « Électronique », le produit n’est inclus qu’une seule fois dans le total de la catégorie « Électronique ».

Le tableau suivant répertorie les indicateurs contenus dans ce rapport.

Indicateur | Description
Quantité | Nombre d’unités de l’article vendues.
Chiffre d’affaire | Produit total des ventes de l’article.

Le tableau suivant répertorie les dimensions contenues dans ce rapport.

Dimension | Description
Date | Date de chaque vente.
Site | Site sur lequel la vente a eu lieu.
Catégorie de produit | Hiérarchie de catégories de produit de l’article vendu.
Devise | Devise dans laquelle chaque vente a été effectuée.

Remarque

  • La dimension Catégorie de produit ne peut pas comporter plusieurs filtres de sélection.

Revenir aux rapports sur les ventes de produits

Voir aussi

Rapports accédant aux cubes OLAP et à SQL Server

À propos des rapports dynamiques et statiques

Rapports Commerce Server 2002

Avant d’analyser les données Commerce Server

Recherche de rapports

Exécution de rapports

Affichage de rapports dynamiques

Affichage de rapports statiques

Impression de rapports

(en anglais)


Rapports sur l'utilisation du Web

Envoyer des commentaires sur cette page Commerce Server 2002

Rapports sur l’utilisation du Web

Le module Rapports vous permet d’exécuter des rapports pour analyser l’utilisation du site, les adresses URL de référence et les demandes de données.

Activité par navigateur

Répertoires

Analyse des chemins d’entrée

Domaines de référence les plus demandés par nombre de demandes

Pages les plus demandées

Synthèse de l’utilisation par jour de la semaine

Synthèse de l’utilisation par heure de la journée

Synthèse de l’utilisation par semaine de l’année

Tendances d’utilisation

Activité par navigateur (dynamique)

Le rapport Activité par navigateur vous permet de consulter l’activité par type de navigateur utilisé pour accéder à votre site Web.

Vous utilisez les informations de ce rapport pour examiner les tendances dans la technologie des navigateurs, dont vous devez tenir compte dans le cadre du développement Web.

Le tableau suivant répertorie les indicateurs contenus dans ce rapport.

Indicateur | Description
Visites | Nombre de visites terminées dans lesquelles l’utilisateur s’est servi d’un navigateur particulier durant la période du rapport. Une visite est une valeur arbitraire basée sur le temps que passe un utilisateur sur un site Web. La valeur par défaut d’une visite est de 30 minutes.

Le tableau suivant répertorie les dimensions contenues dans ce rapport.

Dimension | Description
Catégorie de navigateur de l’agent | Type de logiciel de navigateur Web employé par l’utilisateur pour visiter le site Web.
Version de l’agent | Version du logiciel de navigateur Web employé par l’utilisateur pour visiter le site Web.
Système d’exploitation | Système d’exploitation employé par l’utilisateur durant sa visite du site.
Agent utilisateur | Chaîne User-agent tirée du fichier journal Web.
Date | Date à laquelle un utilisateur a visité le site.
Site | Site visité par l’utilisateur.

Remarque

  • Votre administrateur système peut utiliser la procédure stockée CSDW_MakeUserAgentDate pour ajouter d’autres systèmes d’exploitation à la dimension Système d’exploitation.

Revenir aux rapports sur l’utilisation du Web

Répertoires (dynamique)

Utilisez le rapport Répertoires pour déterminer les niveaux de répertoires d’URI (Uniform Resource Identifier) les plus visités sur un total de 1 000. Ce rapport affiche l’activité des six premiers niveaux de répertoires d’URI.

Remarque

  • Un rapport contient toujours les 1 000 premières pages visitées et éventuellement d’autres pages. En effet, la dimension URI comporte les 1 000 premières pages d’entrée, les pages de sortie et les pages les plus demandées pour chaque site.
  • Pour voir d’autres URI d’informations que les 1 000 URI les plus demandés, par exemple, les URI les moins demandés, demandez à votre administrateur système de modifier la procédure stockée CSDW_MakeAggRequestsByUri dans la base de données du site.

Le tableau suivant répertorie les indicateurs contenus dans ce rapport.

Indicateur | Description
Comptage des accès | Nombre total d’accès qui ont eu lieu durant la période du rapport.

Le tableau suivant répertorie les dimensions contenues dans ce rapport.

Dimension | Description
Date | Date à laquelle un accès a eu lieu.
Directory Level | Niveau de répertoire qui correspond au site. (Commerce Server gère une profondeur allant jusqu’à six niveaux de répertoire.)
Is Request | Précise si l’accès était une demande (par exemple une demande de livraison d’une publicité).
Site | Site sur lequel un accès a eu lieu.

Revenir aux rapports sur l’utilisation du Web

Analyse des chemins d’entrée (statique)

Utilisez le rapport Analyse des chemins d’entrée pour déterminer les chemins d’entrée les plus fréquemment utilisés pour accéder à votre site. Ce rapport affiche les six premiers niveaux des répertoires du chemin d’accès.

Remarque

  • Le rapport Analyse des chemins d’entrée effectue une analyse approfondie du mode d’entrée des utilisateurs sur votre site. Il s’agit d’une tâche intensive qui peut demander beaucoup de temps pour s’exécuter.

Le tableau suivant répertorie les indicateurs contenus dans ce rapport.

Indicateur | Description
Count | Nombre de pages auxquelles des utilisateurs ont accédé en visitant le site.

Le tableau suivant répertorie les dimensions contenues dans ce rapport.

Dimension | Description
URI 1 | Identificateur de ressource universel (URI, Universal Resource Identifier) du premier chemin vers une page du site Web à laquelle un utilisateur a accédé. (Commerce Server permet d’enregistrer jusqu’à six URI.)
URI 2 | URI du deuxième chemin vers une page du site Web à laquelle un utilisateur a accédé. (Commerce Server permet d’enregistrer jusqu’à six URI.)
URI 3 | URI du troisième chemin vers une page du site Web à laquelle un utilisateur a accédé. (Commerce Server permet d’enregistrer jusqu’à six URI.)
URI 4 | URI du quatrième chemin vers une page du site Web à laquelle un utilisateur a accédé. (Commerce Server permet d’enregistrer jusqu’à six URI.)
URI 5 | URI du cinquième chemin vers une page du site Web à laquelle un utilisateur a accédé. (Commerce Server permet d’enregistrer jusqu’à six URI.)
URI 6 | URI du sixième chemin vers une page du site Web à laquelle un utilisateur a accédé. (Commerce Server permet d’enregistrer jusqu’à six URI.)

Revenir aux rapports sur l’utilisation du Web

Domaines de référence les plus demandés par nombre de demandes (dynamique)

Utilisez le rapport Domaines de référence les plus demandés par nombre de demandes pour connaître les sites à partir desquels les utilisateurs accèdent à votre site. Ce rapport affiche une liste des domaines de référence les plus demandés par nombre de demandes.

Le tableau suivant répertorie les indicateurs contenus dans ce rapport.

Indicateur | Description
% de demandes | Pourcentage de demandes calculé en divisant le nombre de demandes actuel par le nombre total de demandes émanant de tous les noms de domaine de référence.
Requests Count | Nombre total de demandes qui ont eu lieu durant la période du rapport.

Le tableau suivant répertorie les dimensions contenues dans ce rapport.

Dimension | Description
Nom de domaine du point d’accès | Domaine à partir duquel un utilisateur a accédé au site.
Site | Site que l’utilisateur a visité.

Revenir aux rapports sur l’utilisation du Web

Pages les plus demandées (dynamique)

Utilisez le rapport Pages les plus demandées pour connaître les pages les plus demandées. Ce rapport affiche une liste des 1 000 pages les plus demandées, y compris les chaînes de requête, par nombre de demandes.

Le rapport Pages les plus demandées fournit des statistiques par page. Il en va différemment du rapport Répertoires, qui fournit des statistiques pour toutes les pages d’un répertoire d’adresses URL.

Remarque

  • Un rapport contient toujours les 1 000 premières pages visitées et éventuellement d’autres pages. En effet, la dimension URI comporte les 1 000 premières pages d’entrée, les pages de sortie et les pages les plus demandées pour chaque site.
  • Pour voir d’autres pages que les 1 000 pages les plus demandées, par exemple les pages les moins demandées, demandez à votre administrateur système de modifier la procédure stockée CSDW_MakeAggRequestsByUri dans le Data Warehouse.

Le tableau suivant répertorie les indicateurs contenus dans ce rapport.

Indicateur | Description
% de demandes | Pourcentage de demandes calculé en divisant le nombre de demandes concernant les pages les plus actives par le nombre total de demandes pour la période du rapport.
Requests Count | Nombre total de demandes qui ont eu lieu durant la période du rapport.

Le tableau suivant répertorie les dimensions contenues dans ce rapport.

Dimension | Description
Is Request | Précise si l’événement est une demande.
Site | Site sur lequel une demande a eu lieu.
URI | URI de chaque page demandée.

Revenir aux rapports sur l’utilisation du Web

Synthèse de l’utilisation par jour de la semaine (dynamique)

Utilisez le rapport Synthèse de l’utilisation par jour de la semaine pour afficher un graphique croisé dynamique indiquant le nombre moyen de demandes de page et le nombre moyen de visites d’utilisateur par jour de la semaine.

Le tableau suivant répertorie les indicateurs contenus dans ce rapport.

Indicateur | Description
Nombre moyen de demandes par jour | Nombre moyen de demandes qui ont eu lieu par jour durant la période du rapport (nombre total de demandes divisé par le nombre de jours de la période du rapport).
Nombre moyen de visites par jour | Nombre moyen de visites qui ont eu lieu par jour durant la période du rapport (nombre total de visites divisé par le nombre de jours de la période du rapport). Une visite est une valeur arbitraire basée sur le temps que passe un utilisateur sur un site Web. La valeur par défaut d’une visite est de 30 minutes.

Le tableau suivant répertorie les dimensions contenues dans ce rapport.

Dimension | Description
Date | Date à laquelle une visite ou une demande a eu lieu.
Jour de la semaine | Jour de la semaine auquel une visite ou une requête a eu lieu.
Site | Site sur lequel une visite ou une demande a eu lieu.

Revenir aux rapports sur l’utilisation du Web

Synthèse de l’utilisation par heure de la journée (dynamique)

Utilisez le rapport Synthèse de l’utilisation par heure de la journée pour afficher un graphique croisé dynamique indiquant le nombre moyen de demandes de page et le nombre moyen de visites d’utilisateur par heure de la journée.

Le tableau suivant répertorie les indicateurs contenus dans ce rapport.

Indicateur | Description
Nombre moyen de demandes par heure | Nombre moyen de demandes qui ont eu lieu par heure durant la période du rapport.
Nombre moyen de visites par heure | Nombre moyen de visites qui ont eu lieu par heure durant la période du rapport.

Le tableau suivant répertorie les dimensions contenues dans ce rapport.

Dimension | Description
Date | Date à laquelle une visite ou une demande a eu lieu.
Heure de la journée | Heure à laquelle une visite ou une demande a eu lieu.
Site | Site sur lequel une visite ou une demande a eu lieu.

Revenir aux rapports sur l’utilisation du Web

Synthèse de l’utilisation par semaine de l’année (dynamique)

Utilisez le rapport Synthèse de l’utilisation par semaine de l’année pour afficher un graphique croisé dynamique indiquant le nombre moyen de demandes de page et le nombre moyen de visites d’utilisateur par semaine de l’année.

Remarque

  • Pour les années qui commencent un samedi, la dimension Semaine de l’année renvoie la semaine 53 pour la dernière semaine.

Le tableau suivant répertorie les indicateurs contenus dans ce rapport.

Indicateur | Description
Nombre moyen de demandes par semaine | Nombre moyen de demandes qui ont eu lieu par semaine durant la période du rapport.
Nombre moyen de visites par semaine | Nombre moyen de visites qui ont eu lieu par semaine durant la période du rapport. Une visite est une valeur arbitraire basée sur le temps que passe un utilisateur sur un site Web. La valeur par défaut d’une visite est de 30 minutes.

Le tableau suivant répertorie les dimensions contenues dans ce rapport.

Dimension | Description
Date | Date à laquelle une visite ou une demande a eu lieu.
Site | Site sur lequel une visite ou une demande a eu lieu.
Semaine de l’année | Semaine de l’année dans laquelle une visite ou une demande a eu lieu.

Revenir aux rapports sur l’utilisation du Web

Tendances d’utilisation (dynamique)

Utilisez le rapport Tendances d’utilisation pour obtenir une synthèse des demandes de page, des utilisateurs distincts et des visites au quotidien.

Le tableau suivant répertorie les indicateurs contenus dans ce rapport.

Indicateur | Description
Demandes | Nombre de demandes soumises par chaque utilisateur durant sa visite du site.
Utilisateurs distincts | Nombre d’utilisateurs uniques durant la période du rapport. Commerce Server ne compte un utilisateur comme unique qu’une seule fois, même s’il a visité le site à plusieurs reprises durant la période du rapport.
Visites | Nombre de visites terminées qui ont eu lieu durant la période du rapport.

Le tableau suivant répertorie les dimensions contenues dans ce rapport.

Dimension | Description
Date | Date à laquelle chaque demande a eu lieu.
Site | Site sur lequel chaque demande a eu lieu.
Type d’utilisateur | Type d’utilisateur qui a visité le site. Par exemple un utilisateur inscrit ou un utilisateur anonyme.

Revenir aux rapports sur l’utilisation du Web

Voir aussi

À propos des rapports dynamiques et statiques

Rapports Commerce Server 2002

Avant d’analyser les données Commerce Server

Recherche de rapports

Exécution de rapports

Affichage de rapports dynamiques

Affichage de rapports statiques

Impression de rapports

Rapports accédant aux cubes OLAP et à SQL Server

(en anglais)


Rapports d'utilisateur

Envoyer des commentaires sur cette page Commerce Server 2002

Rapports d’utilisateur

Vous pouvez utiliser le module Rapports pour exécuter des rapports et analyser les données utilisateur.

Utilisateurs distincts par période

Tendances des utilisateurs

Utilisateurs distincts par période (dynamique)

Utilisez le rapport Utilisateurs distincts par période pour déterminer si un petit nombre d’utilisateurs visitent votre site à de nombreuses reprises, ou si de nombreux utilisateurs visitent votre site à une seule reprise. Ce rapport affiche le nombre d’utilisateurs uniques visitant votre site, et la fréquence à laquelle votre site a été visité au cours d’une période particulière. Ce rapport établit une corrélation entre le nombre d’utilisateurs distincts et le nombre de visites effectuées par chacun d’eux. Le nombre d’utilisateurs distincts est calculé pour la période sélectionnée.

Le tableau suivant répertorie les indicateurs contenus dans ce rapport.

Indicateur | Description
Utilisateurs distincts | Nombre d’utilisateurs uniques durant la période du rapport. Commerce Server ne compte un utilisateur comme unique qu’une seule fois, même s’il a visité le site à plusieurs reprises durant la période du rapport.
Visites | Nombre de visites terminées qui ont eu lieu sur le site durant la période du rapport.

Le tableau suivant répertorie les dimensions contenues dans ce rapport.

Dimension | Description
Site | Site dont le rapport mentionne les visites.
Date | Date à laquelle chaque visite a eu lieu.
Type d’utilisateur | Type d’utilisateur qui a visité le site. Par exemple un utilisateur inscrit ou un utilisateur anonyme.

Revenir aux rapports d’utilisateur

Tendances des utilisateurs (dynamique)

Utilisez le rapport Tendances des utilisateurs pour déterminer si vous avez réussi à fidéliser les utilisateurs. Ce rapport affiche par date les types d’utilisateurs (nouveaux et habitués) qui visitent votre site.

Le tableau suivant répertorie les indicateurs contenus dans ce rapport.

Indicateur | Description
Utilisateurs distincts | Nombre d’utilisateurs uniques durant la période du rapport. Commerce Server ne compte un utilisateur comme unique qu’une seule fois, même s’il a visité le site à plusieurs reprises durant la période du rapport.
Nouveaux utilisateurs | Nombre d’utilisateurs qui ont visité le site pour la première fois durant la période du rapport.
% de répétition des utilisateurs | Nombre d’utilisateurs qui ont visité le site pour la deuxième fois ou davantage durant la période du rapport (utilisateurs fidèles) divisé par le nombre d’utilisateurs distincts.
Répétition des utilisateurs | Nombre d’utilisateurs qui ont visité le site pour la deuxième fois ou davantage durant la période du rapport.

Le tableau suivant répertorie les dimensions contenues dans ce rapport.

Dimension | Description
Date | Date à laquelle un utilisateur a visité le site.
Site | Nom du site qu’un utilisateur a visité.
Semaine de l’année | Semaine de l’année dans laquelle un utilisateur a visité un site.

Revenir aux rapports d’utilisateur

Voir aussi

À propos des rapports dynamiques et statiques

Rapports Commerce Server 2002

Avant d’analyser les données Commerce Server

Recherche de rapports

Exécution de rapports

Affichage de rapports dynamiques

Affichage de rapports statiques

Impression de rapports


Rapports de visite

Vous pouvez utiliser le module Rapports pour exécuter des rapports et analyser les données sur les visites.

Pages d’entrée

Pages de sortie

Statistiques d’activités générales

Pages d’entrée (dynamique)

Utilisez le rapport Pages d’entrée pour déterminer les 1 000 pages de votre site que les utilisateurs sont susceptibles de visiter en premier. Ce rapport affiche les 1 000 URI les plus fréquemment utilisés pour entrer sur votre site ainsi que le nombre d’utilisations de chacun d’eux.

Remarques

  • Le rapport contient toujours les 1 000 premières pages visitées et éventuellement d’autres pages. En effet, la dimension URI comporte les 1 000 premières pages d’entrée, les pages de sortie et les pages les plus demandées pour chaque site.
  • Pour voir d’autres URI d’informations que les 1 000 URI les plus fréquemment utilisés, par exemple, les URI les moins utilisés, demandez à votre administrateur système de modifier la procédure stockée CSDW_MakeAggRequestsByUri dans la base de données du site.

Le tableau suivant répertorie les indicateurs contenus dans ce rapport.

Indicateur | Description
Comptage des visites | Nombre de visites terminées qui ont eu lieu sur le site durant la période du rapport.

Le tableau suivant répertorie les dimensions contenues dans ce rapport.

Dimension | Description
Date | Date à laquelle une visite a eu lieu.
Site | Site qu’un utilisateur a visité.
URI | URI de la page à laquelle un utilisateur a accédé en entrant sur le site.

Revenir aux rapports de visite

Pages de sortie (dynamique)

Utilisez le rapport Pages de sortie pour déterminer les pages à partir desquelles les utilisateurs sont susceptibles de quitter votre site. Ce rapport affiche les 1 000 URI les plus fréquemment utilisés pour quitter votre site ainsi que le nombre d’utilisations de chacun d’eux.

Remarques

  • Le rapport contient toujours les 1 000 premières pages visitées et éventuellement d’autres pages. En effet, la dimension URI comporte les 1 000 premières pages d’entrée, les pages de sortie et les pages les plus demandées pour chaque site.
  • Pour voir autre chose que les 1 000 URI les plus fréquemment utilisés, par exemple, les pages les moins demandées, demandez à votre administrateur système de modifier la procédure stockée CSDW_MakeAggRequestsByUri dans la base de données du site.

Le tableau suivant répertorie les indicateurs contenus dans ce rapport.

Indicateur | Description
Comptage des visites | Nombre total de visites terminées qui ont eu lieu sur le site durant la période du rapport.

Le tableau suivant répertorie les dimensions contenues dans ce rapport.

Dimension | Description
Date | Date à laquelle une visite a eu lieu.
Site | Site qu’un utilisateur a visité.
URI | URI de la page à partir de laquelle un utilisateur a quitté le site.

Revenir aux rapports de visite

Statistiques d’activités générales (dynamique)

Utilisez le rapport Statistiques d’activités générales pour connaître rapidement l’activité de votre site. Ce rapport affiche les demandes moyennes par visite, la durée de visite moyenne ainsi que le nombre de demandes et de visites dans le temps.

Le tableau suivant répertorie les indicateurs contenus dans ce rapport.

Indicateur | Description
Durée moyenne (secondes) par visite | Temps moyen passé par l’utilisateur sur un site, exprimé en secondes.
Nombre moyen de demandes par visite | Nombre moyen de demandes soumises par un utilisateur durant sa visite d’un site.
Demandes | Nombre de demandes soumises sur un site durant la période du rapport.
Visites | Nombre de visites terminées qui ont eu lieu sur un site durant la période du rapport.

Le tableau suivant répertorie les dimensions contenues dans ce rapport.

Dimension | Description
Date | Date à laquelle une visite a eu lieu.
Site | Site qu’un utilisateur a visité.

Revenir aux rapports de visite

Voir aussi

À propos des rapports dynamiques et statiques

Rapports Commerce Server 2002

Avant d’analyser les données Commerce Server

Recherche de rapports

Exécution de rapports

Affichage de rapports dynamiques

Affichage de rapports statiques

Impression de rapports

Rapports accédant aux cubes OLAP et à SQL Server

(en anglais)


Rapports de diagnostic

Vous pouvez utiliser le module Rapports pour exécuter des rapports et analyser les données de diagnostic.

Synthèse de la bande passante

Tendances de la bande passante

Nombre d’accès par état HTTP

Nombre d’accès par état Win32

Synthèse de la bande passante (dynamique)

Utilisez le rapport Synthèse de la bande passante pour afficher un graphique croisé dynamique de la consommation hebdomadaire de bande passante pour votre site.

Le tableau suivant répertorie les indicateurs contenus dans ce rapport.

Indicateur | Description
Bande passante (Mo) | Quantité de bande passante utilisée durant la période du rapport.

Le tableau suivant répertorie les dimensions contenues dans ce rapport.

Dimension | Description
Date | Date de la mesure de bande passante. Il s’agit par défaut d’une mesure hebdomadaire.
Site | Site pour lequel la bande passante est mesurée.

Revenir aux rapports de diagnostic

Tendances de la bande passante (dynamique)

Utilisez le rapport Tendances de la bande passante pour connaître la consommation quotidienne de bande passante pour votre site.

Le tableau suivant répertorie les indicateurs contenus dans ce rapport.

Indicateur | Description
Bande passante (Mo) | Quantité de bande passante utilisée durant la période du rapport.

Le tableau suivant répertorie les dimensions contenues dans ce rapport.

Dimension | Description
Date | Date de la mesure de bande passante. Il s’agit par défaut d’une mesure hebdomadaire.
Jour de la semaine | Jour de la semaine pour lequel la bande passante est mesurée.
Site | Site pour lequel la bande passante est mesurée.

Revenir aux rapports de diagnostic

Nombre d’accès par état HTTP (dynamique)

Utilisez le rapport Nombre d’accès par état HTTP pour connaître et diagnostiquer les problèmes auxquels les utilisateurs peuvent être confrontés avec les 1 000 pages les plus demandées sur votre site. Ce rapport affiche les codes HTTP associés aux 1 000 pages les plus demandées sur votre site Web.

Remarques

  • Le rapport contient toujours les 1 000 premières pages visitées et éventuellement d’autres pages. En effet, la dimension URI comporte les 1 000 premières pages d’entrée, les pages de sortie et les pages les plus demandées pour chaque site.
  • Pour voir d’autres pages que les 1 000 pages les plus demandées, par exemple, les pages les moins demandées, demandez à votre administrateur système de modifier la procédure stockée CSDW_MakeAggRequestsByUri dans la base de données du site.

Le tableau suivant répertorie les indicateurs contenus dans ce rapport.

Indicateur | Description
Count | Nombre total d’accès à des pages d’un site durant la période du rapport.

Le tableau suivant répertorie les dimensions contenues dans ce rapport.

Dimension | Description
Date | Date à laquelle un accès à une page a eu lieu.
État HTTP | État HTTP de la page à laquelle l’utilisateur a accédé. (Exemple : 200, 404 ou 500. Pour plus d’informations sur les états HTTP, consultez la documentation des normes W3C.)
Site | Site qui a fait l’objet d’accès.
URI | URI de la page du site à laquelle des accès ont eu lieu.

Revenir aux rapports de diagnostic

Nombre d’accès par état Win32 (dynamique)

Utilisez le rapport Nombre d’accès par état Win32 pour connaître et diagnostiquer les problèmes auxquels les utilisateurs peuvent être confrontés avec les 1 000 pages les plus demandées sur votre site. Ce rapport affiche les codes Win32 associés aux 1 000 pages les plus demandées sur votre site Web.

Remarques

  • Le rapport contient toujours les 1 000 premières pages visitées et éventuellement d’autres pages. En effet, la dimension URI comporte les 1 000 premières pages d’entrée, les pages de sortie et les pages les plus demandées pour chaque site.
  • Pour voir d’autres pages que les 1 000 pages les plus demandées, par exemple, les pages les moins demandées, demandez à votre administrateur système de modifier la procédure stockée CSDW_MakeAggRequestsByUri dans la base de données du site.

Le tableau suivant répertorie les indicateurs contenus dans ce rapport.

Indicateur | Description
Count | Nombre d’accès à un site durant la période du rapport.

Le tableau suivant répertorie les dimensions contenues dans ce rapport.

Dimension | Description
Date | Jour auquel un accès a eu lieu.
Site | Site qui a fait l’objet d’un accès.
URI | URI de la page du site à laquelle un accès a eu lieu.
État Win32 | État Win32 de la page à laquelle l’utilisateur a accédé. (Exemple : 0=succès. Pour plus d’informations sur les états Win32, consultez la documentation des normes W3C.)

Revenir aux rapports de diagnostic

Voir aussi

À propos des rapports dynamiques et statiques

Rapports Commerce Server 2002

Avant d’analyser les données Commerce Server

Recherche de rapports

Exécution de rapports

Affichage de rapports dynamiques

Affichage de rapports statiques

Impression de rapports

Rapports accédant aux cubes OLAP et à SQL Server

(en anglais)


Rapports de chaîne de requête

Vous pouvez utiliser le module Rapports pour exécuter des rapports et analyser les données sur la chaîne de requête.

Chaînes de requête (valeurs multiples)

Chaînes de requête (valeur unique)

Chaînes de requête (valeurs multiples) (statique)

Utilisez le rapport Chaînes de requête (valeurs multiples) pour déterminer les informations recherchées par les utilisateurs sur votre site. Ce rapport affiche le nombre de demandes de chaînes de requête configurées pour être analysées par le système. Par exemple, l’administrateur système peut configurer une chaîne de requête à valeurs multiples pour suivre les stocks auxquels les utilisateurs s’intéressent le plus.

Le tableau suivant répertorie les indicateurs contenus dans ce rapport.

Indicateur | Description
Demandes | Nombre de demandes qui ont eu lieu sur un site durant la période du rapport.

Le tableau suivant répertorie les dimensions contenues dans ce rapport.

Dimension | Description
Nom | Nom de la chaîne de requête qui a été exécutée sur le site.
Valeur | Valeur de la chaîne de requête. Exemple : http://mondomaine/mon.asp?Query1=Value1.

Revenir aux rapports de chaîne de requête

Chaînes de requête (valeur unique) (statique)

Utilisez le rapport Chaînes de requête (valeur unique) pour déterminer les informations recherchées par les utilisateurs sur votre site. Ce rapport affiche le nombre de demandes de chaînes de requête configurées pour être analysées par le système. Par exemple, l’administrateur système peut configurer une chaîne de requête à valeur unique pour suivre la fréquence à laquelle les utilisateurs entrent une chaîne de recherche particulière sur votre site. Vous pouvez ensuite utiliser ce rapport pour analyser les chaînes de recherche les plus usuelles sur votre site.

Le tableau suivant répertorie les indicateurs contenus dans ce rapport.

Indicateur | Description
Demandes | Nombre de fois que la chaîne de requête a été demandée sur un site durant la période du rapport.

Le tableau suivant répertorie les dimensions contenues dans ce rapport.

Dimension | Description
Nom | Nom de la chaîne de requête.
Valeur | Valeur de la chaîne de requête. Exemple : http://mondomaine/mon.asp?Query1=Value1.

Revenir aux rapports de chaîne de requête

Voir aussi

À propos des rapports dynamiques et statiques

Rapports Commerce Server 2002

Avant d’analyser les données Commerce Server

Recherche de rapports

Exécution de rapports

Affichage de rapports dynamiques

Affichage de rapports statiques

Impression de rapports

Rapports accédant aux cubes OLAP et à SQL Server

(en anglais)


Propriétés de rapport

Vous utilisez les Propriétés du rapport pour rechercher des détails sur un rapport avant de l’exécuter. L’affichage d’une requête d’un rapport, à partir des propriétés du rapport, permet de déterminer si une définition de rapport particulière va renvoyer les données souhaitées. Les rapports statiques exécutés sur de vastes ensembles de données peuvent parfois nécessiter un temps de traitement très long.

Les propriétés d’un rapport rassemblent des informations utiles, telles que le nom, la description, le type, la date de création et la requête sur laquelle le rapport est basé. Vous ne pouvez pas modifier les propriétés d’un rapport. Pour plus d’informations sur l’affichage des propriétés d’un rapport, consultez Affichage des propriétés de rapport.

Le tableau suivant décrit les propriétés qui peuvent être affichées dans le module Rapports.

Propriété | Description
Nom | Nom du rapport.
Description | Description du rapport.
Type de rapport | Type du rapport.
Date de création | Date à laquelle le rapport a été créé.
Créé par | Nom de la personne qui a créé le rapport.
Date de modification | Date à laquelle le rapport a été modifié pour la dernière fois.
Modifié par | Nom de la personne qui a effectué la dernière modification.
Requête | Requête en langage de requête structuré (SQL, Structured Query Language) ou requête d’expressions multidimensionnelles (MDX, multidimensional expression) à exécuter pour le rapport. La propriété Requête n’est pas disponible pour les rapports dynamiques.

Voir aussi

À propos des rapports dynamiques et statiques

Rapports Commerce Server 2002

Création d’une nouvelle définition de rapport dynamique

Rapports accédant aux cubes OLAP et à SQL Server

(en anglais)


Gestion du temps dans les rapports

Tous les rapports Commerce Server 2002 présentent des données sur le comportement de l’utilisateur en fonction de la notion de temps. Les rapports sur l’activité hebdomadaire utilisent toujours le jour de démarrage par défaut de la semaine (dimanche généralement) dans la version localisée de SQL Server.

Tous les fichiers journaux du W3C (World Wide Web Consortium) sont enregistrés à l’heure GMT et sont convertis à votre fuseau horaire lorsque la tâche DTS d’importation de journal Web est exécutée. Pour plus d’informations, consultez Exécution du Data Warehouse.

Voir aussi

Rapports accédant aux cubes OLAP et à SQL Server

(en anglais)


Analyse de parcours

Vous pouvez utiliser les rapports de Commerce Server 2002 pour analyser des données enregistrées qui capturent l’activité utilisateur pas à pas sur votre site Web. Vous pouvez segmenter les utilisateurs en fonction d’activités similaires, classer les visiteurs en fonction de critères démographiques, découvrir les contenus qu’ils affichent, identifier les sites Web dont ils viennent, et ainsi de suite.

L’analyse des données de parcours des clients vous fournit de nombreuses informations sur le comportement des clients, par exemple leurs préférences et leurs aversions, et, par conséquent, vous permet d’augmenter l’efficacité des campagnes marketing.

Vous utilisez les rapports suivants pour analyser les données de parcours de vos utilisateurs :

Activité par navigateur

Répertoires

Analyse des chemins d’entrée

Domaines de référence les plus demandés par nombre de demandes

Pages les plus demandées

Synthèse de l’utilisation par jour de la semaine

Synthèse de l’utilisation par heure de la journée

Synthèse de l’utilisation par semaine de l’année

Tendances d’utilisation

Pages d’entrée

Pages de sortie

Statistiques d’activités générales


Avant d'analyser les données Commerce Server

Envoyer des commentaires sur cette page Commerce Server 2002

Avant d’analyser les données Commerce Server

Les modules Analyse de Business Desk vous permettent d’exécuter des rapports et d’afficher des modèles de segments pour analyser l’activité des utilisateurs sur votre site Web. Plusieurs tâches doivent être effectuées pour permettre l’analyse des données sur l’activité des utilisateurs. La figure suivante montre les étapes nécessaires pour pouvoir soumettre les données aux processus d’analyse de Commerce Server 2002.

Avant d'analyser les données Commerce Server

Avant d’analyser les données Commerce Server

  1. Votre administrateur système doit installer Commerce Server 2002. Pour plus d’informations sur l’installation de Commerce Server 2002, consultez le Guide d’installation de Commerce Server 2002.
  2. Installez le client Commerce Server Business Desk sur les ordinateurs qui doivent servir à effectuer les tâches d’analyse commerciale.
  3. Votre administrateur système configure le Data Warehouse et exécute la tâche DTS de suppression des données, si nécessaire. Pour plus d’informations sur la configuration du Data Warehouse, consultez Exécution du Data Warehouse.
  4. Votre administrateur système peut également attribuer aux utilisateurs des rôles spécifiques de base de données SQL Server pour permettre à certains utilisateurs de lire et d’enregistrer des rapports tandis que les autres utilisateurs ne peuvent que les lire. Pour plus d’informations sur la création de ces rôles, consultez Scripts de sécurisation des bases de données accessibles aux rapports.
  5. Votre administrateur système importe les données sur l’activité des utilisateurs dans le Data Warehouse. Pour plus d’informations sur l’importation de données dans le Data Warehouse, consultez Importation de données dans le Data Warehouse dans l’aide de Commerce Server 2002.
  6. Votre administrateur système exécute la tâche DTS de résolution IP, si nécessaire.
  7. Votre administrateur système exécute la tâche DTS de préparation du rapport pour charger les cubes OLAP contenant les données dans le Data Warehouse. Les cubes OLAP sont installés lors de la décompression d’un site. Ces cubes OLAP organisent et stockent les données pour optimiser leur récupération par les processus d’analyse. Pour plus d’informations sur l’exécution du processus Préparation du rapport, consultez Exécution de la tâche DTS Préparation du rapport dans l’aide de Commerce Server 2002.
  8. Analysez l’activité des utilisateurs sur votre site Web en exécutant les rapports d’analyse. Pour plus d’informations sur l’exécution de rapports, consultez Exécution de rapports.

Voir aussi

Recherche de rapports

Exécution de rapports


Recherche de rapports

Le module Rapports permet de rechercher des rapports dynamiques et statiques.

Vous pouvez rechercher un rapport ou un groupe de rapports particulier dans la liste des rapports. Utilisez le volet Rechercher pour obtenir une liste de tous les rapports disponibles, ou pour affiner votre recherche à l’aide des propriétés du rapport. La liste résultante contient tous les rapports qui répondent à vos critères de recherche. Cette liste contient quatre colonnes (Nom, Catégorie, Créé par et Type), qui correspondent aux quatre propriétés de rapport possédant ces noms. Vous pouvez trier la liste résultante par propriété de rapport (Nom, Catégorie, Créé par et Type).

Lorsque vous recherchez des rapports, le module Rapports renvoie toutes les entrées qui correspondent ou commencent par la chaîne de recherche spécifiée dans le volet Rechercher.

Pour afficher une liste de tous les rapports disponibles

Pour rechercher un rapport à partir de ses propriétés

Pour trier la liste des rapports

Pour afficher une liste de tous les rapports disponibles

  1. Dans Analyse, cliquez sur Rapports, puis cliquez dans la barre d’outils sur Rechercher.
  2. Dans la liste déroulante Rechercher par, sélectionnez Tous les rapports, puis cliquez sur Rechercher.

Une liste de tous les rapports disponibles s’affiche dans l’écran Rapports.

Pour rechercher un rapport à partir de ses propriétés

  1. Dans Analyse, cliquez sur Rapports, puis cliquez dans la barre d’outils sur Rechercher.
  2. Dans la liste déroulante Rechercher par, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Rechercher un rapport en fonction de son nom.
    Catégorie | Rechercher un rapport en fonction de la catégorie qui l’inclut.
    Créé par | Rechercher un rapport en fonction de son créateur.
    Type | Rechercher un rapport en fonction de son type (dynamique ou statique).
    Toute information | Rechercher un rapport en fonction de n’importe quelle combinaison de critères de recherche (Nom, Catégorie, Créé par et Type).
    Tous les rapports | Inclure tous les rapports disponibles.
  3. Dans la zone de saisie de la valeur de la propriété qui s’affiche ensuite, tapez ou sélectionnez dans la liste la valeur spécifique d’une ou plusieurs des propriétés sélectionnées (Nom, Catégorie, Créé par et Type).

    Si vous avez sélectionné l’option Toute information, des zones de texte s’affichent pour quatre propriétés : Nom, Catégorie, Créé par et Type.

  4. Dans les zones de valeurs de propriétés appropriées, tapez ou sélectionnez des valeurs spécifiques pour une ou plusieurs des propriétés.
  5. Cliquez sur Rechercher.

Une liste de tous les rapports correspondant à vos critères de recherche s’affiche dans l’écran Rapports.

Pour trier la liste des rapports

  • Dans Analyse, cliquez sur Rapports, puis effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Cliquer pour effectuer un tri selon le nom du rapport. Par défaut, la liste des rapports est triée dans l’ordre alphabétique.
    Catégorie | Trier par catégorie de rapport.
    Créé par | Trier selon la personne qui a créé le rapport.
    Type | Trier par type de rapport.

Voir aussi

À propos des rapports dynamiques et statiques

Rapports Commerce Server 2002

Exécution de rapports

Affichage des propriétés de rapport


Exécution de rapports

Le module Rapports permet d’exécuter à la fois des rapports dynamiques et des rapports statiques.

Votre système administrateur doit exécuter plusieurs tâches pour que vous puissiez exécuter des rapports. Par exemple, l’administrateur système doit importer à intervalles réguliers les données dans le Data Warehouse et exécuter la tâche de transformation de données (DTS, Data Transformation Services) de préparation du rapport pour assurer que les données les plus actuelles se trouvent dans le rapport exécuté. (Si nécessaire, votre administrateur système vous attribue également les autorisations appropriées pour enregistrer et visualiser un rapport.) Pour plus d’informations, consultez Avant d’analyser les données Commerce Server.

Remarque

  • Lorsque vous ouvrez le module Rapports pour la première fois, l’affichage par défaut propose une recherche de « Tous les rapports ». Vous pouvez réduire la liste des rapports en utilisant des critères de recherche plus spécifiques.

Cette section contient les rubriques suivantes :

  • Exécution de rapports dynamiques et statiques
  • Exécution plus rapide des rapports


Exécution de rapports dynamiques et statiques

Utilisez les procédures suivantes pour exécuter un rapport.

  • Pour exécuter un rapport dynamique
  • Pour exécuter un rapport statique

Pour exécuter un rapport dynamique

  1. Contactez votre administrateur système si vous souhaitez importer des données dans le Data Warehouse et exécuter la tâche DTS de préparation de rapport pour que les données puissent être utilisées dans des rapports.
  2. Dans Analyse, cliquez sur Rapports. Dans la liste des rapports disponibles, sélectionnez la définition de rapport dynamique à exécuter, puis cliquez dans la barre d’outils sur Exécuter.

Le rapport dynamique finalisé s’affiche sous forme de tableau croisé dynamique dans une nouvelle fenêtre du navigateur.

Remarques

  • Si votre tableau croisé dynamique n’est pas visible, cliquez sur Afficher/Masquer le tableau croisé dynamique dans la barre d’outils.
  • Commerce Server 2002 prend en charge jusqu’à 250 000 membres par dimension dans les rapports dynamiques. Si l’ensemble de données du rapport possède plus de 250 000 membres dans une dimension, le rapport s’affiche dans la fenêtre du navigateur sans contenir de données.

Pour exécuter un rapport statique

  1. Contactez votre administrateur système si vous souhaitez importer des données dans le Data Warehouse et exécuter la tâche DTS de préparation de rapport pour que les données puissent être utilisées dans des rapports.
  2. Dans Analyse, cliquez sur Rapports. Dans la liste des rapports disponibles, sélectionnez le rapport statique à exécuter, puis cliquez dans la barre d’outils sur Exécuter.
  3. Dans la boîte de dialogue Exécuter un rapport, dans la section Nom du site, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Opérande | Déterminer le site pour lequel le rapport doit s’exécuter, en sélectionnant dans la liste déroulante un opérande (Tous, Égal à, Différent de, Identique à, Non identique à).
    Valeur du paramètre | Par défaut, cette zone contient le nom du site actuel. Si vous souhaitez exécuter le rapport pour un autre site, tapez le nom de ce site. Si le nom que vous tapez ne correspond pas à un nom de site Commerce Server 2002, le rapport échoue ou ne contient aucune donnée.
  4. Dans la boîte de dialogue Exécuter un rapport, ajustez les paramètres du rapport selon vos besoins. Tous les paramètres sont spécifiques au rapport.

    Remarque

    • Pour afficher la requête, les balises de paramètre du nom du site, le nom du champ, et le nombre de balises de paramètre des utilisateurs, cliquez sur le bouton Options avancées dans la boîte de dialogue Exécuter un rapport.
  5. Cliquez sur OK.

    Attention

    • Si de nombreux rapports statiques s’exécutent simultanément, cela peut ralentir le temps de traitement, voire bloquer Business Desk.

Le rapport statique s’exécute et, lorsqu’il est terminé, s’affiche dans le module Rapports finalisés.

Voir aussi

Sécurisation des rapports

Exécution plus rapide des rapports

Rapports accédant aux cubes OLAP et à SQL Server

Scripts de sécurisation des bases de données accessibles aux rapports

Accès au serveur d’analyse via HTTPS

À propos des rapports dynamiques et statiques

Rapports Commerce Server 2002

Recherche de rapports


Exécution plus rapide des rapports

À mesure que la taille de votre base de données Data Warehouse augmente, le temps de restitution d’un rapport est plus long. Pour que vos rapports dynamiques s’exécutent plus rapidement, demandez à votre administrateur système d’exécuter la tâche DTS Mise en cache du rapport sur le Data Warehouse. Cette tâche DTS pré-exécute les rapports. Ainsi, lorsque vous décidez d’exécuter les rapports, une partie du travail est déjà faite.

Les rapports statiques suivants peuvent mettre plus de quatre heures à être restitués lorsque vous disposez d’une base de données Data Warehouse volumineuse :

  • Chaînes de requête (valeurs multiples)
  • Chaînes de requête (valeur unique)
  • Analyse des chemins d’entrée

Voir aussi

Exécution de rapports dynamiques et statiques

Impression de rapports

Affichage des propriétés de rapport


Affichage de rapports dynamiques

Vous pouvez afficher un rapport dynamique finalisé sous forme de tableau croisé dynamique ou de graphique croisé dynamique dans une fenêtre du navigateur. Vous pouvez également utiliser la fonctionnalité de rapport d’extraction des rapports dynamiques OLAP pour obtenir les données détaillées d’une cellule.

La fonctionnalité de rapport d’extraction est activée pour les rapports Ventes produits et Événements du panier d’achat. Votre administrateur système configure la fonctionnalité d’extraction pour les autres rapports et le nombre maximal d’enregistrements. Votre administrateur système peut ajuster le nombre d’enregistrements en modifiant les valeurs constantes spécifiées dans le fichier drillthrough.htc. Pour plus d’informations, consultez Activation de l’extraction dans les rapports dynamiques dans l’aide de Commerce Server 2002.

Remarques

  • Pour pouvoir utiliser la fonctionnalité d’extraction, Microsoft Office 2002 XP doit être installé sur votre ordinateur local.
  • Microsoft Office XP Web Components et les fichiers de prise en charge qui comprennent Microsoft Data Access Components (MDAC) 2.7 et les services de tableau croisé dynamique sont requis pour exécuter les rapports dynamiques dans Analyse. L’installation de Microsoft Office XP, Microsoft Excel XP, Microsoft Access XP ou Microsoft FrontPage XP installe automatiquement Microsoft Office XP Web Components et tous les fichiers de prise en charge requis. Si vous avez déjà installé Microsoft Office XP ou l’une des applications mentionnées ci-dessus, vous n’avez pas besoin d’installer Microsoft Office XP Web Components (inclus sur le CD-ROM de Commerce Server 2002).

Pour afficher votre rapport dynamique en tant que graphique croisé dynamique, effectuez votre sélection à partir des graphiques et des propriétés proposés, en utilisant les boutons de barre d’outils du Graphique croisé dynamique. Par exemple, vous pouvez sélectionner un graphique à barres, un graphique à secteurs ou un graphique en bulles.

Remarques

  • Lorsque vous modifiez les données ou la présentation dans le graphique croisé dynamique ou le tableau croisé dynamique, les données sont modifiées dans les deux.
  • Vous ne pouvez pas additionner des indicateurs de compte distincts si une dimension de filtre a été définie pour le rapport contenant les différents éléments sélectionnés. Le contrôle du tableau croisé dynamique ne peut pas calculer le nombre d’entités distinctes résultant de l’union de plusieurs ensembles de données définis par le filtre. Si un rapport est filtré de cette façon, les cellules contenant les indicateurs de compte distincts s’affichent en tant que #VALUE!. Vous devez définir une dimension de filtre pour inclure un membre unique ou tous les membres afin d’afficher l’indicateur de compte distinct.

Cette section contient les rubriques suivantes :

  • Affichage d’un rapport dynamique sous forme de graphique croisé dynamique
  • Affichage d’un rapport dynamique sous forme de tableau croisé dynamique
  • Utilisation de la fonctionnalité d’extraction


Affichage d'un rapport dynamique sous forme de graphique croisé dynamique

Envoyer des commentaires sur cette page Commerce Server 2002

Affichage d’un rapport dynamique sous forme de graphique croisé dynamique

Vous utilisez le module Rapports pour exécuter un rapport dynamique et l’afficher sous forme de graphique croisé dynamique.

Pour exécuter un rapport dynamique et l’afficher sous forme de graphique croisé dynamique

  1. Contactez votre administrateur système si vous souhaitez importer des données dans le Data Warehouse et exécuter la tâche DTS de préparation de rapport pour que les données puissent être utilisées dans des rapports.
  2. Dans Analyse, cliquez sur Rapports, puis sélectionnez la définition de rapport dynamique à exécuter.
  3. Dans l’écran Rapports, cliquez sur Exécuter dans la barre d’outils pour exécuter le rapport dynamique.

    Le rapport finalisé s’affiche dans une nouvelle fenêtre du navigateur sous forme de tableau croisé dynamique ou de graphique croisé dynamique.

    Remarque

    • Si vous n’avez pas installé une copie de Microsoft Office 2002 XP, Microsoft Access 2000 ou Microsoft FrontPage 2002 sur l’ordinateur client sur lequel vous exécutez Business Desk, vous ne pourrez pas exporter de rapports dynamiques vers Microsoft Excel, modifier les définitions de rapport ou créer de nouvelles définitions de rapports dynamiques. Vous pourrez cependant obtenir l’affichage standard des données du rapport et développer et réduire les dimensions.
  4. Dans la fenêtre <rapport finalisé> du navigateur, cliquez sur Afficher le graphique dans la barre d’outils pour afficher le graphique croisé dynamique. Cliquez de nouveau pour masquer le graphique croisé dynamique.
  5. Une fois que vous avez terminé la consultation ou l’impression du rapport, fermez la fenêtre du navigateur.

Voir aussi

Affichage d’un rapport dynamique sous forme de tableau croisé dynamique

Utilisation de la fonctionnalité d’extraction

Affichage de rapports statiques

Affichage des propriétés de rapport

Activation de l’extraction dans les rapports dynamiques


Affichage d'un rapport dynamique sous forme de tableau croisé dynamique

Envoyer des commentaires sur cette page Commerce Server 2002

Affichage d’un rapport dynamique sous forme de tableau croisé dynamique

Vous utilisez le module Rapports pour exécuter un rapport dynamique et l’afficher sous forme de tableau croisé dynamique.

Pour exécuter un rapport dynamique et l’afficher sous forme de tableau croisé dynamique

  1. Contactez votre administrateur système si vous souhaitez importer des données dans le Data Warehouse et exécuter la tâche DTS de préparation de rapport pour que les données puissent être utilisées dans des rapports.
  2. Dans Analyse, cliquez sur Rapports, puis sélectionnez la définition de rapport dynamique à exécuter.
  3. Dans l’écran Rapports, cliquez sur Exécuter dans la barre d’outils pour exécuter le rapport dynamique.

    Le rapport finalisé s’affiche dans une nouvelle fenêtre du navigateur sous forme de tableau croisé dynamique ou de graphique croisé dynamique.

  4. Dans la fenêtre < Rapport finalisé > du navigateur, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Afficher le tableau croisé dynamique | Afficher le tableau croisé dynamique. Masquer le tableau croisé dynamique.
    Afficher la description | Afficher la description du rapport.
  5. Une fois que vous avez terminé la consultation ou l’impression du rapport, fermez la fenêtre du navigateur.

Maintenant que le rapport est à l’écran, vous pouvez utiliser la fonctionnalité d’extraction.

Remarque

  • La fonctionnalité d’extraction n’est disponible que pour le rapport Ventes produits.

Voir aussi

Affichage d’un rapport dynamique sous forme de graphique croisé dynamique

Utilisation de la fonctionnalité d’extraction

Affichage de rapports statiques

Affichage des propriétés de rapport

Activation de l’extraction dans les rapports dynamiques


Utilisation de la fonctionnalité d'extraction

Envoyer des commentaires sur cette page Commerce Server 2002

Utilisation de la fonctionnalité d’extraction

Vous utilisez le module Rapports pour exécuter un rapport dynamique, l’afficher sous forme de tableau croisé dynamique et utiliser la fonctionnalité d’extraction pour analyser plus précisément vos données.

Pour exécuter un rapport dynamique et utiliser la fonctionnalité d’extraction

  1. Contactez votre administrateur système si vous souhaitez importer des données dans le Data Warehouse et exécuter la tâche DTS de préparation de rapport pour que les données puissent être utilisées dans des rapports.
  2. Dans Analyse, cliquez sur Rapports, puis sélectionnez le rapport Ventes produits
  3. Dans l’écran Rapports, cliquez sur Exécuter dans la barre d’outils pour exécuter le rapport dynamique.

    Le rapport Ventes produit finalisé s’affiche dans une nouvelle fenêtre du navigateur sous forme de tableau croisé dynamique ou de graphique croisé dynamique.

  4. Dans la fenêtre Ventes produits du navigateur, cliquez sur Annuler pour fermer la liste de champs du tableau croisé dynamique, si elle est ouverte.
  5. Double-cliquez sur l’une des cellules du tableau croisé dynamique ou sélectionnez Afficher/Masquer les détails dans la barre d’outils du tableau croisé dynamique.

    Les détails du cube de cette dimension s’affichent.

  6. Une fois que vous avez terminé la consultation ou l’impression du rapport, fermez la fenêtre du navigateur.

Voir aussi

Affichage d’un rapport dynamique sous forme de graphique croisé dynamique

Affichage d’un rapport dynamique sous forme de tableau croisé dynamique

Affichage de rapports statiques

Affichage des propriétés de rapport

Activation de l’extraction dans les rapports dynamiques


Affichage de rapports statiques

Après avoir exécuté un rapport statique, vous pouvez consulter le rapport statique finalisé dans la liste des rapports du module Rapports finalisés. Vous pouvez vérifier le statut du rapport, rechercher des rapports finalisés et trier la liste Rapports finalisés. Vous pouvez également ouvrir un ou plusieurs rapports et les fermer.

Remarque

  • Si vous avez plusieurs sites Web et applications Business Desk, vous pouvez créer des rapports statiques à partir de données provenant de plusieurs sites. Cependant, vous ne pouvez afficher les rapports statiques qu’à partir de l’application Business Desk utilisée pour les créer.

Cette section contient les rubriques suivantes :

  • Contrôle du statut d’un rapport statique
  • Recherche de rapports statiques finalisés
  • Tri de la liste des rapports finalisés
  • Ouverture d’un rapport statique
  • Ouverture de plusieurs rapports statiques
  • Fermeture d’un rapport statique


Contrôle du statut d'un rapport statique

Envoyer des commentaires sur cette page Commerce Server 2002

Contrôle du statut d’un rapport statique

Vous utilisez le module Rapports finalisés pour afficher le statut d’un rapport statique.

Pour afficher le statut d’un rapport statique

  • Dans Analyse, cliquez sur Rapports finalisés.

    Le statut du rapport s’affiche dans la colonne Statut de la liste des rapports. Les différents statuts possibles sont les suivants :

    • Terminé. Le rapport est terminé. Vous pouvez l’ouvrir pour le visualiser.
    • En attente. Le rapport est en cours d’exécution.
    • Échec. Le rapport ne s’est pas terminé correctement. En cas d’échec d’un rapport, demandez à votre administrateur système de consulter les messages d’erreur du fichier journal de l’application dans l’Observateur d’événements.

Remarque

  • La colonne Statut du module Rapports finalisés trie l’Identificateur du statut dans l’ordre suivant : Terminé, En attente et Échec.

Voir aussi

Recherche de rapports statiques finalisés

Tri de la liste des rapports finalisés

Ouverture d’un rapport statique

Ouverture de plusieurs rapports statiques

Fermeture d’un rapport statique

Impression de rapports

Exportation d’un rapport dynamique


Recherche de rapports statiques finalisés

Vous utilisez le module Rapports finalisés pour rechercher des rapports statiques finalisés.

Pour rechercher un rapport statique finalisé

  1. Dans Analyse, cliquez sur Rapports finalisés, puis cliquez dans la barre d’outils sur Rechercher.
  2. Dans la liste déroulante Rechercher par, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Rechercher un rapport en fonction de son nom.
    Exécuté par | Rechercher un rapport en fonction du nom de la personne l’ayant exécuté.
    Date d’exécution | Rechercher un rapport en fonction d’une plage de dates dans laquelle il a été exécuté.
    État | Rechercher un rapport en fonction de son état : Terminé, En attente ou Échec.
    Toute information | Rechercher un rapport en fonction de n’importe quelle combinaison de critères de recherche (Nom, Catégorie, Créé par et Type).
    Tous les rapports | Rechercher l’ensemble des rapports disponibles.
  3. Dans la zone Valeur de la propriété qui s’affiche ensuite, tapez ou sélectionnez dans la liste la valeur spécifique du critère sélectionné (par exemple, Nom, Date d’exécution, Exécuté par et État), puis cliquez sur Rechercher.

La liste de rapports résultante contient tous les rapports statiques qui répondent à vos critères de recherche.

Voir aussi

Contrôle du statut d’un rapport statique

Tri de la liste des rapports finalisés

Ouverture d’un rapport statique

Ouverture de plusieurs rapports statiques

Fermeture d’un rapport statique

Impression de rapports

Exportation d’un rapport dynamique


Tri de la liste des rapports finalisés

Vous utilisez le module Rapports finalisés pour trier la liste des rapports statiques finalisés.

Pour trier la liste des rapports finalisés

  1. Dans Analyse, cliquez sur Rapports finalisés, puis cliquez dans la barre d’outils sur Rechercher.
  2. Dans la liste déroulante Rechercher par, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Effectuer un tri en fonction du nom du rapport.
    Date d’exécution | Effectuer un tri selon la date d’exécution du rapport. Par défaut, les rapports sont triés par Date d’exécution dans l’ordre décroissant.
    Heure d’exécution | Effectuer un tri selon l’heure d’exécution du rapport.
    Exécuté par | Effectuer un tri en fonction du nom de la personne ayant exécuté le rapport.
    Statut | Effectuer un tri selon le statut du rapport : Terminé, En attente ou Échec.

Remarques

  • La colonne Statut du module Rapports finalisés effectue un tri dans l’ordre suivant : Échec, En attente et Terminé.
  • La colonne Heure d’exécution du module Rapports finalisés effectue un tri selon la date d’exécution du rapport. Vous ne pouvez pas trier par Heure d’exécution indépendamment de la Date d’exécution.

Voir aussi

Contrôle du statut d’un rapport statique

Recherche de rapports statiques finalisés

Ouverture d’un rapport statique

Ouverture de plusieurs rapports statiques

Fermeture d’un rapport statique

Impression de rapports

Exportation d’un rapport dynamique


Ouverture d'un rapport statique

Envoyer des commentaires sur cette page Commerce Server 2002

Ouverture d’un rapport statique

Vous utilisez le module Rapports finalisés pour ouvrir un rapport statique.

Pour ouvrir un rapport statique

  1. Dans Analyse, cliquez sur Rapports finalisés.
  2. Dans la liste des rapports, sélectionnez le rapport à ouvrir, puis cliquez dans la barre d’outils sur Ouvrir.

    Remarque

    • Vous ne pouvez ouvrir que les rapports dont le statut est Terminé.

Le rapport statique s’affiche dans une nouvelle fenêtre du navigateur sous forme de document HTML.

Voir aussi

Contrôle du statut d’un rapport statique

Recherche de rapports statiques finalisés

Tri de la liste des rapports finalisés

Ouverture de plusieurs rapports statiques

Fermeture d’un rapport statique

Impression de rapports

Exportation d’un rapport dynamique


Ouverture de plusieurs rapports statiques

Vous utilisez le module Rapports finalisés pour ouvrir plusieurs rapports statiques.

Pour ouvrir plusieurs rapports statiques

  1. Dans Analyse, cliquez sur Rapports finalisés.
  2. Dans la liste des rapports finalisés, sélectionnez les rapports à ouvrir, puis cliquez dans la barre d’outils sur Ouvrir.

Les rapports statiques s’affichent dans de nouvelles fenêtres du navigateur sous forme de documents HTML.

Remarques

  • Si vous cliquez sur le bouton Sélectionner tout pour sélectionner tous les rapports de la liste, vous ne pouvez pas les ouvrir. Pour ouvrir tous les rapports de votre liste, vous devez sélectionner individuellement chaque rapport.
  • L’ouverture de plusieurs rapports statiques peut saturer la mémoire du navigateur et provoquer l’arrêt du module Rapports finalisés.

Voir aussi

Contrôle du statut d’un rapport statique

Recherche de rapports statiques finalisés

Tri de la liste des rapports finalisés

Ouverture d’un rapport statique

Fermeture d’un rapport statique

Impression de rapports

Exportation d’un rapport dynamique


Fermeture d'un rapport statique

Envoyer des commentaires sur cette page Commerce Server 2002

Fermeture d’un rapport statique

Vous fermez la fenêtre du navigateur pour fermer un rapport statique.

Pour fermer un rapport statique

  • Fermez la fenêtre du navigateur qui contient le rapport.

Voir aussi

Contrôle du statut d’un rapport statique

Recherche de rapports statiques finalisés

Tri de la liste des rapports finalisés

Ouverture d’un rapport statique

Ouverture de plusieurs rapports statiques

Impression de rapports

Exportation d’un rapport dynamique


Impression de rapports

Les rapports Commerce Server 2002 sont conçus pour être affichés dans une fenêtre de navigateur. Vous pouvez imprimer des rapports dynamiques et statiques à partir du navigateur. Des limites de taille existent lorsque vous imprimez et affichez des rapports volumineux.

Lorsque vous imprimez un tableau croisé dynamique de rapport dynamique, le navigateur n’imprime que les parties visibles du tableau croisé dynamique dans la fenêtre du navigateur, sans défilement. Si vous développez les nœuds du tableau croisé dynamique et que le tableau résultant dépasse la capacité de mémoire du navigateur, le tableau croisé dynamique ne s’imprime pas.

Pour imprimer un grand tableau croisé dynamique dans son intégralité, exportez-le vers Microsoft Excel. Pour plus d’informations sur l’exportation d’un tableau croisé dynamique vers Microsoft Excel, consultez Exportation d’un rapport dynamique. Pour plus d’informations sur l’impression à partir de Microsoft Excel, consultez l’aide de Microsoft Excel.

Lorsque vous exécutez un rapport statique, le rapport finalisé est limité à un affichage de 1 000 lignes dans la fenêtre du navigateur.

Pour imprimer un rapport

  1. Contactez votre administrateur système si vous souhaitez importer des données dans le Data Warehouse et exécuter la tâche DTS de préparation de rapport pour que les données puissent être utilisées dans des rapports.
  2. Exécutez un rapport statique ou dynamique.
  3. Dans la fenêtre du navigateur, dans le menu Fichier, cliquez sur Imprimer.
  4. Dans la boîte de dialogue Imprimer, cliquez sur Imprimer.

Le rapport s’imprime sur l’imprimante sélectionnée.

Voir aussi

Affichage de rapports dynamiques

Affichage des propriétés de rapport

Exportation d’un rapport dynamique


Exportation d'un rapport dynamique

Envoyer des commentaires sur cette page Commerce Server 2002

Exportation d’un rapport dynamique

Les contrôles du tableau croisé dynamique vous permettent d’exporter un rapport dynamique finalisé vers Microsoft Excel. Utilisez Microsoft Excel pour enregistrer, modifier et imprimer les rapports dynamiques finalisés. Pour exporter un rapport dynamique finalisé vers Microsoft Excel, Microsoft Excel doit être installé sur l’ordinateur sur lequel se trouve votre rapport dynamique.

Remarque

  • Dans Commerce Server 2002 Enterprise Edition, vous pouvez exporter un rapport statique sous forme de liste vers le module Gestionnaire de listes.

Pour exporter un rapport dynamique finalisé vers Microsoft Excel

  1. Contactez votre administrateur système si vous souhaitez importer des données dans le Data Warehouse et exécuter la tâche DTS de préparation de rapport pour que les données puissent être utilisées dans des rapports.
  2. Dans Analyse, cliquez sur Rapports. Dans la liste des rapports disponibles, sélectionnez la définition de rapport dynamique à exécuter, puis cliquez dans la barre d’outils sur Exécuter.

    Le rapport dynamique finalisé s’affiche sous forme de tableau croisé dynamique dans une nouvelle fenêtre du navigateur.

    Remarque

    • Si le tableau croisé dynamique n’est pas visible, cliquez sur Afficher/Masquer le tableau croisé dynamique dans la barre d’outils.
  3. Pour ouvrir votre rapport dans Microsoft Excel, dans l’écran Tableau croisé dynamique, cliquez sur Exporter vers Excel dans la barre d’outils du Tableau croisé dynamique.

Le rapport s’affiche à présent sous forme de feuille de calcul Microsoft Excel.

Voir aussi

À propos des rapports dynamiques et statiques

Rapports Commerce Server 2002

Exécution de rapports


Création d'une nouvelle définition de rapport dynamique

Envoyer des commentaires sur cette page Commerce Server 2002

Création d’une nouvelle définition de rapport dynamique

Le module Rapports vous permet de créer de nouvelles définitions de rapport dynamique, de modifier le tableau croisé dynamique d’un rapport et d’enregistrer le nouveau rapport en tant que nouvelle définition de rapport. Le rapport enregistré est ensuite disponible dans la liste des rapports.

Remarque

  • Microsoft Office XP Web Components et les fichiers de prise en charge qui comprennent Microsoft Data Access Components (MDAC) 2.7 et les services de tableau croisé dynamique sont requis pour exécuter les rapports dynamiques dans Analyse. L’installation de Microsoft Office XP, Microsoft Excel XP, Microsoft Access XP ou Microsoft FrontPage XP installe automatiquement Microsoft Office XP Web Components et tous les fichiers de prise en charge requis. Si vous avez déjà installé Microsoft Office XP ou l’une des applications mentionnées ci-dessus, vous n’avez pas besoin d’installer Microsoft Office XP Web Components (inclus sur le CD-ROM de Commerce Server 2002).

Pour créer une nouvelle définition de rapport dynamique

Pour ajouter des champs à un tableau croisé dynamique

Pour afficher votre nouveau rapport dans la liste des rapports

Pour actualiser la liste des rapports

Pour créer une nouvelle définition de rapport dynamique

  1. Contactez votre administrateur système si vous souhaitez importer des données dans le Data Warehouse et exécuter la tâche DTS de préparation de rapport pour que les données puissent être utilisées dans des rapports.
  2. Dans Analyse, cliquez sur Rapports.
  3. Cliquez sur Nouveau dans la barre d’outils du rapport pour créer votre nouveau rapport.
  4. Dans la boîte de dialogue Créer un nouveau rapport — Page Web, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Type de rapport | Sélectionner OLAP ou SQL, en fonction du type de rapport que vous voulez créer.
    Nom de cube | Pour les rapports OLAP uniquement. Sélectionner le nom du cube dans la liste déroulante. Seuls les cubes traités pouvant faire l’objet d’un rapport s’affichent.
    Requête MDX | Pour les rapports OLAP uniquement. Taper une chaîne de requête si vous voulez créer ce rapport à partir d’une requête et cliquer ensuite sur OK. (Cette zone est facultative.)
    Requête SQL | Pour les rapports SQL uniquement. Taper une requête SQL pour spécifier les champs à renvoyer et cliquer ensuite sur OK.

    Remarque

    • Si la liste de champs du tableau croisé dynamique ne s’affiche pas automatiquement lorsque vous ouvrez le tableau, cliquez dans la barre d’outils du tableau croisé dynamique sur le bouton Liste de champs d'un tableau croisé dynamique pour l’afficher.
  5. Faites glisser les champs de la liste de champs du tableau croisé dynamique et déplacez-les vers le tableau croisé dynamique.

    Dans le tableau croisé dynamique, les éléments situés sous Totaux dans la liste de champs du tableau croisé dynamique sont des indicateurs ; les éléments situés au même niveau que Totaux sont des dimensions. Les indicateurs peuvent être ajoutés à la zone de données (en l’occurrence, les cellules du centre) du tableau croisé dynamique. Les dimensions peuvent servir de lignes, de colonnes ou de filtres.

    Outre le glisser-déplacer de champs à partir de la liste de champs du tableau croisé dynamique, vous pouvez cliquer sur le bouton Ajouter à situé au bas de la liste de champs du tableau croisé dynamique. Pour plus d’informations sur l’utilisation de la liste de champs du tableau croisé dynamique, cliquez dans la barre d’outils du tableau croisé dynamique sur le bouton Aide.

  6. Dans la fenêtre Rapports finalisés, cliquez sur Enregistrer dans la barre d’outils.
  7. Dans la boîte de dialogue Enregistrer un rapport — Page Web, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Enregistrer le rapport | Sélectionner par défaut Enregistrer sous si le rapport est un rapport par défaut et Enregistrer s’il ne s’agit pas d’un rapport par défaut.
    Nom du rapport | Taper le nom du nouveau rapport.
    Catégorie de rapport | Taper la catégorie de rapport.
    Description du rapport | Taper une description pour le nouveau rapport.
    Description détaillée du rapport | Taper une description plus longue du rapport. Cette description est visible dans la fenêtre du navigateur au-dessus des contrôles du tableau croisé dynamique lorsque vous cliquez sur [image] dans la barre d’outils.
  8. Cliquez sur OK.

    Important

    • Lorsque vous enregistrez un nouveau rapport, vous enregistrez la définition du rapport, pas les données. La prochaine fois que vous exécuterez le rapport, il possédera les mêmes lignes, colonnes et filtres ; et les données actuelles seront interrogées à partir de Microsoft SQL Server 2000 Analysis Services (OLAP), comme le spécifie la définition de rapport.
  9. Pour revenir à l’écran Rapports, fermez la fenêtre du rapport.

Pour obtenir des informations sur l’utilisation des tableaux croisés dynamiques, cliquez dans la barre d’outils du tableau croisé dynamique sur Aide.

Pour ajouter des champs à un tableau croisé dynamique

  1. Contactez votre administrateur système si vous souhaitez importer des données dans le Data Warehouse et exécuter la tâche DTS de préparation de rapport pour que les données puissent être utilisées dans des rapports.
  2. Dans Analyse, cliquez sur Rapports, puis sélectionnez la définition de rapport dynamique sur laquelle vous voulez baser votre nouveau rapport.
  3. Dans l’écran Rapports, cliquez sur Exécuter dans la barre d’outils pour exécuter le rapport dynamique.

    Le rapport finalisé s’affiche dans une nouvelle fenêtre du navigateur sous forme de tableau croisé dynamique. La liste de champs du tableau croisé dynamique s’affiche au-dessus du tableau croisé dynamique.

    Remarque

    • Si la liste de champs du tableau croisé dynamique ne s’affiche pas automatiquement lorsque vous ouvrez le tableau, cliquez dans la barre d’outils du tableau croisé dynamique sur Error! Filename not specified. Liste de champs pour afficher celui-ci.
  4. Faites glisser les champs de la liste de champs du tableau croisé dynamique et déplacez-les vers le tableau croisé dynamique.

    Dans le tableau croisé dynamique, les éléments situés sous Totaux dans la liste de champs du tableau croisé dynamique sont des indicateurs ; les éléments situés au même niveau que Totaux sont des dimensions. Les indicateurs peuvent être ajoutés à la zone de données (en l’occurrence, les cellules du centre) du tableau croisé dynamique. Les dimensions peuvent servir de lignes, de colonnes ou de filtres.

    Outre le glisser-déplacer de champs à partir de la liste de champs du tableau croisé dynamique, vous pouvez cliquer sur le bouton Ajouter à situé au bas de la liste de champs du tableau croisé dynamique. Pour plus d’informations sur l’utilisation de la liste de champs du tableau croisé dynamique, cliquez dans la barre d’outils du tableau croisé dynamique sur le bouton Aide.

  5. Dans la fenêtre du rapport finalisé, cliquez sur Enregistrer juste au-dessus du tableau croisé dynamique. La boîte de dialogue Enregistrer un rapport — Page Web s’affiche.
  6. Dans la boîte de dialogue Enregistrer un rapport — Page Web, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom du rapport | Taper le nom de votre nouveau rapport.
    Catégorie de rapport | Taper la catégorie du nouveau rapport.
    Description du rapport | Taper une description pour votre nouveau rapport.
    Description détaillée du rapport | Taper une description plus longue pour votre rapport. Cette description est visible dans la fenêtre du navigateur au-dessus des contrôles du tableau croisé dynamique lorsque vous cliquez sur [image] dans la barre d’outils.
  7. Cliquez sur OK. Votre nouveau rapport est enregistré.
  8. Pour revenir à l’écran Rapports, fermez la fenêtre du rapport.

Pour plus d’informations sur l’utilisation de tableaux croisés dynamiques, consultez l’aide en cliquant dans la barre d’outils de tableau croisé dynamique sur le bouton Aide.

Important

  • Lorsque vous enregistrez un nouveau rapport, vous enregistrez la définition du rapport, pas les données. La prochaine fois que vous exécuterez le rapport, il possédera les mêmes lignes, colonnes et filtres ; et les données actuelles seront interrogées à partir de Microsoft SQL Server 2000 Analysis Services (OLAP), comme le spécifie la définition de rapport.

Pour afficher votre nouveau rapport dans la liste des rapports

  1. Dans Analyse, cliquez sur Rapports.
  2. Dans l’écran Rapports, cliquez dans la barre d’outils sur Rechercher, sélectionnez les critères de recherche permettant de trouver votre rapport, puis cliquez sur Rechercher.

Votre nouveau rapport s’affiche dans la liste des rapports.

Pour actualiser la liste des rapports

  1. Dans Analyse, cliquez sur Rapports.
  2. Dans l’écran Rapports, cliquez sur Rechercher dans la barre d’outils.
  3. Dans la zone Rechercher par, sélectionnez Tous les rapports, puis cliquez sur Rechercher.

Une nouvelle liste des rapports s’affiche avec tous les rapports.

Voir aussi

À propos des rapports dynamiques et statiques

Rapports Commerce Server 2002


Suppression de rapports

Le module Rapports vous permet de supprimer des définitions de rapport personnalisé. Grâce au module Rapports finalisés, vous pouvez supprimer des rapports statiques finalisés. Vous ne pouvez pas supprimer les définitions de rapports statiques ou dynamiques incluses dans Commerce Server. Il s’agit de rapports système. Les rapports système affichent « Système » dans la colonne Créé par de la liste des rapports du module Rapports.

Suppression de définitions de rapport personnalisé

Suppression de rapports statiques finalisés

Suppression de définitions de rapport personnalisé

Le module Rapports vous permet de supprimer des définitions de rapport personnalisé. Vous ne pouvez pas supprimer de rapports système. Les rapports système affichent « Système » dans la colonne Créé par.

Pour supprimer un rapport personnalisé

  1. Dans Analyse, cliquez sur Rapports, puis sélectionnez le rapport personnalisé à supprimer.
  2. Cliquez dans la barre d’outils sur Supprimer.
  3. Dans la boîte de dialogue Supprimer les rapports ?, cliquez sur Oui.

Le rapport sélectionné est alors supprimé de la liste des rapports.

Attention

  • Lorsque vous supprimez un rapport personnalisé dans le module Rapports, vous supprimez la définition du rapport, ce qui vous empêche d’exécuter à nouveau ce rapport.

Suppression de rapports statiques finalisés

Grâce au module Rapports finalisés, vous pouvez supprimer des rapports statiques finalisés. Lorsque vous supprimez un rapport statique du module Rapports finalisés, vous ne supprimez que le rapport finalisé ; la définition de rapport est conservée dans le module Rapports.

Remarques

  • Vous pouvez supprimer un rapport ayant échoué de la même façon qu’un rapport finalisé.
  • La suppression d’un rapport en cours d’exécution (En attente) de la liste des rapports ne met pas fin au rapport. Le rapport continue de s’exécuter.

Pour supprimer un rapport statique finalisé

  1. Dans Analyse, cliquez sur Rapports finalisés.
  2. Dans la liste des rapports, sélectionnez le rapport à supprimer, puis cliquez dans la barre d’outils sur Supprimer.

Le rapport statique sélectionné est alors supprimé de la liste des rapports.

Voir aussi

À propos des rapports dynamiques et statiques

Rapports Commerce Server 2002


Affichage des propriétés de rapport

Le module Rapports permet d’afficher les propriétés des rapports dynamiques et statiques.

Vous ne pouvez pas modifier les propriétés d’un rapport. Si vous ne pouvez pas trouver de définition de rapport avec une requête qui renvoie les données que vous recherchez, vous pouvez modifier une définition de rapport dynamique et l’enregistrer sous forme de nouvelle définition de rapport dynamique, ou demander à votre administrateur système de créer une définition de rapport statique ou dynamique qui réponde à vos besoins.

Pour plus d’informations sur la modification d’une définition de rapport dynamique pour créer une définition de rapport dynamique, consultez Création d’une nouvelle définition de rapport dynamique.

Pour afficher les propriétés d’un rapport

  1. Dans Analyse, cliquez sur Rapports.
  2. Dans la liste des rapports, sélectionnez celui qui contient les propriétés à afficher, puis cliquez dans la barre d’outils sur Ouvrir.

Une liste des propriétés du rapport s’affiche.

Voir aussi

À propos des rapports dynamiques et statiques

Rapports Commerce Server 2002

Recherche de rapports


Campagnes marketing Business Desk

Les modules Campagnes marketing permettent de créer et de gérer les campagnes marketing. Ces modules fournissent une interface facile à utiliser pour vous aider à créer et à gérer la planification de vos campagnes marketing. Vous pouvez utiliser les campagnes marketing Business Desk pour offrir aux acheteurs une expérience personnalisée à l’aide d’une commercialisation ciblée en déterminant le type de contenu qui sera proposé à l’utilisateur et le moment où il sera proposé. Vous pouvez créer une campagne de publicité, une campagne de publipostage ou une campagne de remise, puis spécifier le moment où le contenu sera diffusé à un groupe d’utilisateurs ciblés.

Cette section contient les rubriques suivantes :

  • Déroulement des opérations pour la gestion des campagnes marketing. Présente la marche à suivre pour créer, cibler et gérer des campagnes marketing.
  • À propos des campagnes marketing. Décrit les publicités, les remises et le publipostage ainsi que la manière d’utiliser le ciblage quantitatif de la campagne marketing. Explique comment créer des expressions de ciblage.
  • Méthodes conseillées et astuces pour les campagnes marketing. Fournit des recommandations et des astuces pour créer et gérer vos campagnes marketing.
  • Définition des tables de références. Explique comment définir des tailles de contenu, des codes d’activité et des groupes de pages conformes à votre modèle d’entreprise.
  • Création d’une campagne marketing. Explique comment ajouter des informations sur les clients, ajouter et planifier une campagne marketing, créer un élément de la campagne, puis l’envoyer en production.
  • Création des expressions de la campagne marketing. Décrit le but et l’utilisation des expressions de ciblage et des expressions de catalogue, et explique comment créer un groupe cible.
  • Création d’une publicité. Explique comment créer une publicité, spécifier sa taille et la cibler en fonction des pages Web et des groupes d’utilisateurs.
  • Création d’une remise. Explique comment créer et gérer une campagne de remise.
  • Exemples de remises. Propose des exemples qui expliquent comment définir des remises avec différents types de conditions, de remises et de conditions d’éligibilité.
  • Stratégies d’application des remises. Propose des informations sur la façon de déterminer les remises à appliquer dans une campagne de remise complexe.
  • Publication des modifications de la campagne marketing sur votre site Web. Explique comment mettre à jour votre site avec de nouvelles informations ajoutées à l’aide de Commerce Server Business Desk.
  • Gestion des listes des enregistrements utilisateur. Explique comment utiliser le Gestionnaire de listes pour créer et gérer des listes de publipostage et des listes d’utilisateurs.
  • Création de publipostage. Explique comment ajouter un publipostage et comment planifier et personnaliser le message du publipostage.
  • Recherche de campagnes marketing. Explique comment rechercher les campagnes marketing sur votre site en utilisant des critères de filtre.
  • Suppression et restauration de clients, de campagnes marketing et d’éléments de la campagne. Explique comment supprimer et restaurer des campagnes marketing.
  • Extension des campagnes marketing. Explique comment le développeur de votre site peut apporter au site des modifications personnalisées afin d’étendre votre fonctionnalité Campagnes marketing.


Déroulement des opérations pour la gestion des campagnes marketing

La figure suivante illustre un exemple de scénario permettant de créer, de gérer et de cibler des campagnes marketing.

Campaign Workflow for Commerce Server Standard Edition Creating a Marketing CampaignCreating Campaign ExpressionSetting Up Your Reference Tables
  1. Dans le module Tables de références, vous spécifiez les tailles de contenu et ajoutez les codes d’activité ainsi que les groupes de pages. N’effectuez cette étape que si vous souhaitez ajouter ou modifier les tables fournies par le développeur de votre site.
  2. Dans le module Expressions de la campagne marketing, créez une expression de ciblage pour spécifier les utilisateurs auxquels vous souhaitez offrir la remise.
  3. Dans le module Gestionnaire de campagnes, créez un nouveau client (tel que Chaussures Arbor) et créez une campagne (telle que Vente d’automne), puis ajoutez une remise (telle que Remise membre).

Voir aussi

À propos des campagnes marketing


À propos des campagnes marketing

Vous utilisez les modules Campagnes marketing pour créer et planifier les campagnes marketing et fournir un contenu ciblé pour les sites Web. Commerce Server offre plusieurs mécanismes de production de vos campagnes marketing en ligne. Par exemple, vous pouvez créer des campagnes marketing pour des publicités, des remises et du publipostage. Vous pouvez également analyser vos campagnes, ce qui vous permet de prendre des décisions concernant la tarification, le ciblage de contenu et d’autres aspects de votre commerce. Après avoir analysé vos données utilisateur, vous pouvez mettre à jour votre site pour mieux cibler vos utilisateurs.

Les modules Campagnes marketing ont été conçus pour vous permettre de travailler avec vos clients de manière à optimiser l’effet des publicités, remises et publipostage. Avec les modules Campagnes marketing, vous pouvez :

  • Cibler des publicités ou des remises en fonction d’utilisateurs présentant un certain profil. Vous définissez un profil utilisateur à l’aide du module Définitions de profil, puis vous l’intégrez dans une campagne marketing. Pour chaque page de publicité individuelle, vous pouvez spécifier si le profil de l’utilisateur qui visite cette page doit être pris en compte pour le contenu ciblé, ou s’il doit être ignoré.
  • Exécuter des campagnes marketing pour des clients concurrents travaillant dans le même domaine d’activité. Les publicités concurrentes ne sont jamais affichées sur la même page.
  • Facturer vos clients en fonction du nombre de demandes de publicité qu’ils souhaitent pour leurs publicités.

Cette section contient les rubriques suivantes :

  • Structure d’une campagne marketing
  • Ciblage quantitatif de la campagne marketing
  • Tables de références
  • Publicités
  • Remises
  • Listes d’utilisateurs et listes de publipostage
  • Service de publipostage
  • Ciblage et personnalisation


Structure d'une campagne marketing

Envoyer des commentaires sur cette page Commerce Server 2002

Structure d’une campagne marketing

Une campagne marketing est un programme de publicité qui représente un ou plusieurs contrats ou commandes d’un client. Par exemple, une campagne marketing peut viser à présenter de nouveaux produits, fidéliser les utilisateurs existants ou augmenter les parts de marché. Chaque campagne marketing peut être composée de plusieurs éléments de la campagne : publicités, remises ou messages de publipostage.

Le module Gestionnaire de campagnes permet de créer et de gérer les clients, leurs campagnes marketing et les éléments de campagne de chaque campagne.

La figure suivante présente la structure hiérarchique de l’arborescence du Gestionnaire de campagnes.

Structure hiérarchique de l'arborescence du Gestionnaire de campagnes

Les informations sur les clients, telles que l’adresse de facturation, sont utilisées pour toutes les campagnes marketing créées pour ce client. Vous pouvez afficher tous vos clients par ordre alphabétique dans le module Gestionnaire de campagnes.

Tous les éléments de campagne d’une campagne marketing ont un client et une plage de dates communs. Par exemple, dans la section Voyages du site d’un journal, un annonceur peut demander la livraison de 10 000 demandes en l’espace d’une semaine pour les utilisateurs du Nord-Ouest. L’annonceur peut décider d’exécuter trois publicités différentes pour ces 10 000 demandes, puis voir laquelle de ces trois publicités attire le plus grand nombre de visiteurs. Chaque publicité est un élément de la campagne.


Ciblage quantitatif de la campagne marketing

Le ciblage quantitatif de la campagne marketing constitue le processus qui permet de spécifier le nombre de publicités à fournir (quantité) dans un laps de temps déterminé. L’infrastructure de sélection de contenu (CSF) traite la variable de ciblage quantitatif de la campagne de publicité, puis détermine les publicités qui devront être affichées. Vous pouvez définir un ciblage quantitatif en termes de clics sur une publicité ou de demandes pour une publicité. Vous pouvez définir des ciblages quantitatifs pour une campagne marketing au niveau de la campagne marketing ou au niveau des éléments de la publicité.

  • Le ciblage quantitatif de niveau campagne marketing permet d’appliquer les ciblages quantitatifs à tous les éléments de la campagne (publicités) d’une campagne marketing, en utilisant une distribution pondérée du nombre total des demandes.

    Par exemple, vous décidez de réaliser un ciblage quantitatif de niveau campagne marketing pour un client. Ce client vous donne deux publicités et commande 25 000 demandes de publicité. Au niveau de la campagne, vous attribuez un poids de 80 à l’une des publicités et un poids de 20 à l’autre, soit 100 pour cent du nombre total de publicités spécifié pour la campagne. Si le client décide de changer le nombre de demandes de publicité pour passer à 40 000, vous n’avez pas à modifier manuellement le nombre d’affichages des publicités : les proportions de 80 % et de 20 % sont conservées. La première publicité s’affichera 32 000 fois et la deuxième 8 000 fois, pour un total de 40 000 publicités.

    Le ciblage quantitatif des publicités peut ne pas être strictement un pourcentage pondéré. Par exemple, vous pouvez pondérer vos publicités à 800 et 20 respectivement, ce qui aura pour effet d’afficher la première publicité 39 024 fois, contre 976 fois pour la deuxième, pour un total de 40 000 publicités.

  • Le ciblage quantitatif de niveau éléments de la publicité permet d’appliquer les ciblages quantitatifs au niveau de l’élément de la campagne. Le nombre total de demandes pour la campagne marketing sera égal au nombre total de demandes commandées pour chaque élément de la campagne. Par exemple, un client commande 50 000 demandes à livrer en un mois. L’élément de publicité doit être livré 50 000 fois.

Vous pouvez passer du ciblage quantitatif de niveau campagne marketing au ciblage quantitatif de niveau éléments de publicité et inversement. Le ciblage quantitatif de la campagne marketing détermine comment le poids des publicités sera calculé. Par exemple, dans le Gestionnaire de campagnes, vous pouvez définir des ciblages quantitatifs au niveau de la campagne marketing et attribuer à chaque élément un poids équivalant à 1. Ensuite, vous pouvez changer le ciblage quantitatif en ciblage quantitatif de niveau publicité et commander d’autres demandes de publicité pour l’un des éléments de la campagne. La quantité totale commandée pour la campagne marketing comprend maintenant des demandes de publicité supplémentaires.

Si vous ajoutez une publicité à une campagne marketing qui est passée d’un ciblage quantitatif de niveau publicité à un ciblage quantitatif de niveau campagne marketing, le poids payé de toutes les publicités doit être modifié, faute de quoi la livraison des publicités sera erronée. Pour plus d’informations sur le passage d’un ciblage quantitatif de niveau campagne marketing à un ciblage de niveau éléments de publicité, consultez Changement entre le ciblage quantitatif de niveau campagne marketing et de niveau éléments de la publicité.

Voir aussi

Changement entre le ciblage quantitatif de niveau campagne marketing et de niveau éléments de la publicité

Ciblage quantitatif d’une campagne marketing

Traitement des éléments de la campagne de publicité


Tables de références

Le module Tables de références de Business Desk vous permet de définir la taille du contenu affiché sur votre site, de gérer les noms des groupes de pages, ainsi que d’établir des codes d’activité que vous pouvez utiliser afin d’éviter l’affichage simultané sur une même page de deux publicités pour le même secteur d’activité. Les propriétés contenues dans le module Tables de références garantissent la cohérence du contenu publicitaire sur votre site.

  • La taille du contenu correspond à la taille que vous voulez attribuer à votre contenu (publicités et remises). Commerce Server 2002 fournit plusieurs tailles de contenu par défaut. Ces tailles de contenu proviennent d’une liste de tailles fréquemment utilisées approuvée par le bureau Internet Advertising Bureau (IAB). Les tailles de contenu sont validées par l’intermédiaire de la section Taille du contenu du module Tables de références.

    Les tailles de contenu des tables de références sont disponibles lorsque vous sélectionnez la taille souhaitée pour le contenu d’un élément de la campagne. Vous pouvez afficher, modifier et supprimer n’importe laquelle des tailles prédéfinies. Vous pouvez également créer une taille de contenu adaptée à vos besoins.

  • Les codes d’activité sont les codes utilisés pour identifier différents secteurs d’activité, par exemple le secteur automobile, aéronautique ou agroalimentaire. Les codes d’activité permettent d’identifier le secteur d’activité associé à une publicité, afin d’éviter que deux publicités de sociétés concurrentes d’un même secteur d’activité s’affichent sur la même page. Les codes d’activité ne s’appliquent pas aux remises.

    Vous pouvez mettre à jour vos codes d’activité, par exemple pour inclure plusieurs codes pour les boissons, tels qu’un code pour du café et un autre pour du lait, de sorte que des publicités pour différentes boissons puissent s’afficher sur la même page. Il est par exemple tolérable de mettre sur la même page une publicité pour du café et une publicité pour du lait. Vous pouvez définir le niveau d’analyse des conflits du secteur d’activité en contrôlant le nombre d’entrées de cette table.

    Commerce Server fournit plusieurs codes d’activité courants. Les codes d’activité utilisés dans les publicités sont validés par l’intermédiaire de la section Code d’activité du module Tables de références. Les codes d’activité des tables de références sont disponibles lorsque vous sélectionnez le code d’activité souhaité pour un élément de la campagne. Vous pouvez afficher une liste de tous les codes d’activité disponibles, ajouter de nouveaux codes, modifier des codes existants et supprimer des codes dans la section Codes d’activité du module Tables de références.

  • Les groupes de pages représentent un ensemble de pages Web apparentées, indiquées par un nom de groupe de pages particulier et qui sont utilisées pour le ciblage des publicités. Par exemple, pour le site d’un journal, vous pouvez créer un groupe de pages pour les sports, un autre pour les nouvelles principales et un autre pour les nouvelles locales. Vous pouvez ensuite cibler les publicités pour qu’elles s’affichent uniquement sur les pages de certains groupes de pages.

    Lorsque vous facturez à vos clients l’affichage de publicités sur votre site, vous pouvez établir les taux de publicité par groupe de pages. Par exemple, vous pouvez faire payer le montant maximal pour les publicités affichées sur votre page d’accueil, et un montant moins important pour les publicités affichées sur les autres pages.

Remarque
  • Pour que vous puissiez utiliser un groupe de pages, contactez votre développeur de site pour qu’il active d’abord la page pour la publicité.

Voir aussi

À propos des campagnes marketing

Définition des tables de références

Spécification des tailles de contenu

Ajout de codes d’activité

Ajout de Groupes de pages


Publicités

Commerce Server prend en charge deux types de publicités : les publicités payées et les publicités maison.

  • Les publicités payées sont un contenu que Commerce Server délivre en fonction d’une formule de livraison spécifique appelée estimation de livraison (EDL).
  • Les publicités maison sont un contenu fourni lorsque les publicités payées ont pris de l’avance sur leur planification d’estimation de livraison. Par exemple, un client commande 1 000 publicités payées à livrer sur quatre mois, mais au cours des deux premiers mois, la publicité a été affichée 850 fois. Dans ce cas, pour rééquilibrer la planification d’estimation de livraison, des publicités maison sont affichées.

    Les publicités maison sont essentielles pour garantir une livraison uniforme des publicités payées. Des publicités maison sont également affichées lorsque aucune publicité payée ne convient pour la demande. Par exemple, une publicité maison est affichée si aucune publicité payée ne convient à une cible donnée.

    Les publicités maison peuvent également permettre de vendre le stock invendu à prix réduit. Elles peuvent également être utilisées si les publicités du site n’ont pas d’objectif de livraison spécifique, mais que vous souhaitez exécuter des publicités selon des poids spécifiés.

Cette section contient les rubriques suivantes :

  • Composants d’une publicité
  • Ciblage des publicités
  • Traitement des éléments de la campagne de publicité
  • Publicités multilingues


Composants d'une publicité

Envoyer des commentaires sur cette page Commerce Server 2002

Composants d’une publicité

Dans Commerce Server, les publicités se composent de quatre éléments :

  • Les propriétés de la publicité comprennent le nom de la publicité, son type (publicité payée ou publicité maison), son poids ou le nombre de demandes ou de clics qu’il est prévu de livrer (publicité payée et publicité maison), sa limite d’exposition et le secteur d’activité qui y est associé.
  • La planification de la publicité correspond à la date/heure de début et la date/heure de fin de la publicité. Vous pouvez sélectionner les jours de la semaine pendant lesquels la publicité doit être affichée, et les heures correspondant à chaque jour.
  • La cible publicitaire identifie les pages et les groupes cibles auxquels la remise doit être appliquée.
  • L’affichage de la publicité identifie la taille de la publicité, son type (par exemple, image, texte ou HTML), et si nécessaire, l’image et/ou l’adresse URL sur laquelle l’utilisateur peut cliquer pour aller sur une autre page (ou un autre site Web). Vous pouvez afficher les publicités sous forme d’images, de texte, de pages HTML, d’images non associées à un lien hypertexte, de publicités Acheter, de Services Windows Media ou de vignette. (Une vignette publicitaire est composée d’un texte affiché à côté de l’image correspondant à la publicité.)
Vous pouvez afficher une publicité avec une devise différente de la devise par défaut du site. Par exemple, si un utilisateur sélectionne le yen comme étant sa devise par défaut et que le dollar américain est la devise du site, la publicité s’affiche en dollar américain. Lorsque l’utilisateur parcourt le site, il voit le prix des produits en yen, mais la devise des publicités s’affiche en dollar américain.

Voir aussi

À propos des campagnes marketing

Publicités

Ajout d’un élément de la campagne

Création d’une publicité

Ajout des propriétés d’une publicité


Ciblage des publicités

Commerce Server vous permet de déterminer le moment où une publicité doit être affichée, son emplacement et son destinataire. Lorsque vous créez une publicité, vous spécifiez les éléments suivants :

  • Limite d’affichage. Nombre de fois où la publicité peut être affichée à un utilisateur au cours d’une session. Si votre site utilise des profils utilisateur pour stocker l’historique de la campagne marketing, la limite d’exposition est le nombre de fois où la publicité peut être présentée à l’utilisateur dans l’ensemble de ces sessions.
  • Poids. Moyen permettant de déterminer la fréquence à laquelle une publicité doit être affichée, par rapport à tous les éléments de la campagne d’un client donné. Dans une campagne marketing, le poids s’applique uniquement aux publicités dont le ciblage quantitatif a été défini au niveau de la campagne. Si les publicités ont un ciblage quantitatif de niveau élément, le poids n’est pas utilisé pour les publicités payées.

    Pour les publicités maison, le poids est déterminé en fonction de toutes les autres publicités maison pour tous les clients et toutes les campagnes marketing. Pour les publicités payées, le poids est déterminé en fonction des autres publicités payées de la même campagne marketing. Le poids d’un élément de la campagne est calculé par rapport au poids de tous les autres éléments de la campagne.

    Supposons que vous ayez quatre publicités pour vendre de la peinture et que vous définissiez le poids de la manière suivante :

    Publicité | Poids | Pourcentage d’affichage
    Peinture bleue | 1 | 10
    Peinture verte | 2 | 20
    Peinture rouge | 3 | 30
    Peinture jaune | 4 | 40
    Poids total | 10 | 100

    Le poids total de toutes les publicités est de 100 (10+20+30+40 = 100). La publicité pour la peinture bleue ayant un poids de 1, elle sera affichée une fois toutes les dix demandes de publicité.

    Pour les publicités payées, le poids correspond au rapport entre une publicité et la somme des éléments de la campagne de cette campagne marketing. Pour les publicités maison, le poids correspond à la somme des poids de toutes les autres publicités maison de la campagne marketing.

    Pour les publicités dont le ciblage quantitatif est défini au niveau de l’élément de la campagne, le poids n’est pas utilisé pour déterminer la livraison de la publicité. Vous spécifiez directement le nombre de demandes ou de clics à fournir.

  • Groupes de pages. Ensemble de pages Web apparentées, indiquées par un nom de groupe de pages particulier, et utilisées pour le ciblage des publicités. Par exemple, pour le site d’un journal, vous pouvez créer un groupe de pages pour les sports, un autre pour les nouvelles principales et un autre pour les nouvelles locales. Vous pouvez ensuite cibler les publicités pour qu’elles s’affichent uniquement sur les pages de certains groupes de pages.

    Les groupes de pages sont créés à l’aide du module Tables de références.

  • Groupes cibles. Ensemble de cibles où du contenu sera affiché. Dans un groupe cible, vous associez les expressions en spécifiant l’action à entreprendre lorsque chaque expression prend la valeur « True ». Pour plus d’informations sur les groupes cibles, consultez Création d’un groupe cible.

Voir aussi

Création d’un groupe cible

Création d’une expression de ciblage

Création d’une publicité

Ciblage basé sur des expressions


Traitement des éléments de la campagne de publicité

L’infrastructure de sélection de contenu (CSF) traite les variables spécifiées pour une publicité : ciblage quantitatif de la campagne marketing, limite d’affichage, planification, poids, groupes de pages et groupes cibles. Chaque fois qu’un utilisateur visite votre site, l’infrastructure détermine si la publicité doit être affichée.

L’infrastructure de sélection de contenu pour la publicité utilise une formule appelée estimation de livraison (EDL) pour attribuer initialement aux publicités un score définissant leur état d’avancement par rapport à la planification. Cette formule tient compte de la quantité totale de contenu à livrer et de la période sur laquelle cette quantité doit être livrée. L’estimation de livraison est calculée par l’infrastructure de sélection de contenu pour chaque demande de publicité, une fois la demande de publicité traitée. L’estimation de livraison est appliquée aux publicités payées uniquement ; elle n’est pas appliquée aux publicités maison.

Si vous possédez plusieurs publicités et que vous vouliez savoir sur quelle base elles sont affichées, contactez votre développeur de site. Commerce Server comprend un outil appelé TraceScores que votre développeur de site peut utiliser pour suivre le processus de sélection des publicités. Utilisez TraceScores pour connaître le fonctionnement exact du processus de décision de contenu interne.

Si vous envisagez d’exécuter plusieurs campagnes marketing simultanément, à l’aide du même groupe cible et de la même priorité, l’infrastructure de sélection de contenu (CSF) sélectionne la publicité à afficher en fonction de son type. Si les publicités sont des publicités maison, la sélection de publicité est effectuée de manière aléatoire en utilisant les poids comme probabilités relatives. Si les publicités sont des publicités payées, la sélection s’effectue en fonction du calcul de l’estimation de livraison (qui prend en compte la date de début, la date de fin, le nombre d’événements planifiés et le nombre d’événements qui se sont produits à ce jour). La pénalité d’historique est un moyen de modifier le score ; elle applique une pénalité décroissante aux publicités récemment affichées par l’utilisateur. Lorsque la pénalité d’historique est activée, les publicités font l’objet de « rotations » dans le temps.

Voir aussi

À propos des campagnes marketing

Création d’une publicité

Ciblage quantitatif de la campagne marketing

Traitement des expressions


Publicités multilingues

Si vous souhaitez utiliser les publicités en plusieurs langues, vous devez recréer chaque publicité dans la langue appropriée. Pour plus d’informations sur la création d’une publicité, consultez Création d’une publicité.

Remarque

  • Lorsque vous créez des publicités en plusieurs langues, notez que la longueur du nom de la publicité est limitée à 50 caractères.

Voir aussi

À propos des campagnes marketing

Création d’une publicité


Remises

Les remises constituent une partie cruciale du système de marchandisage de Commerce Server. La fonctionnalité de remises de Commerce Server donne au responsable de la campagne la possibilité de créer et de proposer des prix promotionnels sur des produits ou des groupes de produits à des utilisateurs répondant à des critères spécifiés. Vous pouvez appliquer des remises à tous les éléments de votre catalogue. Vous pouvez appliquer une remise sur une commande entière (remise au niveau de la commande), ou sur les articles spécifiques d’une commande (remise au niveau de l’article).

Commerce Server 2002 permet aux gestionnaires de campagnes d’appliquer plusieurs remises à un article ou à une commande et de conserver un contrôle sur l’ordre d’application des remises. Commerce Server 2002 offre également aux gestionnaires de campagnes la possibilité de combiner des remises au niveau de l’article et au niveau de la commande dans une même commande. Pour plus d’informations sur l’ordre dans lequel apparaissent plusieurs types de remises, consultez Ordre de tri des remises. Pour plus d’informations sur l’application de plusieurs remises, consultez Remises multiples.

  • Les remises au niveau de l’article s’appliquent à des produits spécifiques du panier. Vous pouvez appliquer plusieurs remises à un seul élément de commande ou à une seule commande.
  • Les remises au niveau de la commande s’appliquent à tous les produits d’un panier d’achat. Par exemple, la livraison gratuite est un type de remise au niveau de la commande ; vous pouvez accorder aux utilisateurs une livraison gratuite pour tous les produits de leur panier. Les remises au niveau de la commande fournies avec Commerce Server sont la livraison gratuite et une remise en pourcentage ou en euros sur le coût total. Vous ne pouvez pas appliquer plusieurs remises à une remise au niveau de la commande. Les remises au niveau de la commande ont une limite implicite de 1.

Vous pouvez utiliser Commerce Server pour créer et appliquer les types de remises suivants :

  • Les remises sur clic ne sont appliquées que si l’utilisateur clique sur l’adresse URL de la remise, qui peut être représentée par une image du produit indiquant, par exemple, « 10 pour cent de remise ». Les développeurs de site peuvent étendre ce type de remise à d’autres usages, tels que des coupons de réduction, que les utilisateurs doivent posséder pour bénéficier de la remise.
  • Les remises supplémentaires sont basées sur l’achat d’autres produits. Par exemple, lorsque les utilisateurs ajoutent un téléphone dans leur panier, lors de la totalisation de leurs achats, vous pouvez leur offrir un casque mains libres, qu’ils peuvent accepter en l’ajoutant dans leur panier. Vous pouvez également leur proposer un autre accessoire à un prix remisé.
  • Les remises en pourcentage réduisent le prix des produits en fonction d’un pourcentage, plutôt que d’un montant monétaire. Par exemple, vous pouvez appliquer une remise de 10 pour cent à des produits, puis modifier le prix de ces produits, si besoin est. Lorsque vous modifiez le prix des produits, le montant de la remise est mis à jour automatiquement.
  • Les remises en euros réduisent le prix des produits selon un montant fixe. Par exemple, vous pouvez offrir une remise de 4,5 € sur certains produits. Même si vous modifiez le prix des produits, le montant de la remise (4,5 €) reste le même.
  • Les remises « planifiées » réduisent le prix des produits à certaines dates ou heures. Pour planifier l’application de remises à certaines heures, vous pouvez créer des expressions qui évaluent la propriété Heure actuelle. Par exemple, vous pouvez utiliser une expression du type si Heure actuelle > 17:00 et Heure actuelle < 21:00, appliquer une remise de 10 pour cent au produit.

Vous pouvez appliquer ces remises à des produits individuels, à tous les produits d’une catégorie ou vous pouvez créer une expression pour appliquer une remise aux produits répondant à des critères spécifiques, par exemple, offrir une remise de 10 pour cent sur tous les articles d’un fabricant particulier.

Vous pouvez par exemple créer des remises qui s’appliquent dans les situations suivantes :

  • Le prix du produit est supérieur à 22,45 euros. Il s’agit d’une expression de condition de remise. Les expressions de condition de remise se basent sur une propriété de produit.
  • L’utilisateur achète deux unités du même produit. Il s’agit d’un critère obligatoire de condition de remise.
  • L’utilisateur clique sur une publicité de remise dans la page des sports. Il s’agit de la partie de la remise sur clic.
  • L’utilisateur est inscrit. Il s’agit d’une expression d’éligibilité pour la remise. Les expressions d’éligibilité pour la remise sont basées sur les profils utilisateur et les profils de contexte.

Remarque

  • Pour obtenir des exemples expliquant comment définir des remises pour diverses tâches commerciales, consultez Exemples de remises.

Cette section contient les rubriques suivantes :

  • Composants d’une remise
  • Priorité d’une remise
  • Conditions de remise
  • Avantages liés à la remise
  • Limites de remise
  • Remises distinctes
  • Remises conditionnées par un clic
  • Conditions d’éligibilité pour les remises
  • Remises multiples
  • Ordre de tri des remises
  • Traitement des remises
  • Répartition des remises au niveau de la commande
  • Remises multilingues


Composants d'une remise

Envoyer des commentaires sur cette page Commerce Server 2002

Composants d’une remise

Une remise possède les composants suivants : propriétés de la remise, définition de la remise, cible de la remise et affichage de la remise. Le module Gestionnaire de campagnes vous permet de définir ces composants lorsque vous créez la remise.

Propriétés de la remise

Les propriétés de la remise correspondent au nom de la remise, à son statut, à sa priorité, à sa date de début et à sa date de fin.

Statut

Statut est un indicateur qui détermine si la remise est active ou inactive. Les remises ne sont appliquées que si cet indicateur est actif. Par exemple, un chef d’entreprise crée une remise sur des pulls, valable pendant les fêtes de fin d’année. Passée cette période, il désactive la remise, qui reste toutefois dans le système. Le chef d’entreprise peut ainsi réactiver la remise à la même époque l’année suivante.

Priorité

Priorité détermine l’ordre dans lequel les remises s’appliquent relativement à d’autres remises qui peuvent également s’appliquer. Pour plus d’informations sur la priorité des remises, consultez Priorité d’une remise.

Date de début

Date de début détermine la date de début de la remise. La remise ne peut s’appliquer que si la date de début est antérieure à la date du jour.

Date de fin

Date de fin détermine la date de fin de la remise. La remise ne peut s’appliquer que si la date de fin est ultérieure à la date du jour.

Définition de la remise

La définition de la remise spécifie l’objet de la remise, son montant et son bénéficiaire. Une définition de la remise possède les composants suivants : condition (Acheter), remise (Obtenir), limite, remises distinctes, clic obligatoire, conditions d’éligibilité et stratégies d’interaction pour les remises.

Condition (Acheter)

Condition (Acheter) spécifie si la remise sera proposée à l’utilisateur. La condition Acheter inclut une condition Acheter n’importe quoi, un type de condition, une valeur de condition et une expression de catalogue.

  • Acheter n’importe quoi spécifie que si le panier contient un produit auquel vous associez un avantage, la remise s’appliquera toujours.
  • Type de condition détermine le type de la condition Acheter. Il existe deux types de conditions Acheter : Quantité et Valeur.
  • Valeur de la condition spécifie la valeur en euros ou la valeur de l’unité de la condition.
  • Expression de catalogue s’évalue pour chaque article contenu dans le panier de l’utilisateur. Vous pouvez créer une expression de condition Acheter en fonction du catalogue de produits. L’expression doit prendre la valeur « True » au moins une fois pour que la remise s’applique.

Pour plus d’informations sur les conditions de remise, consultez Conditions de remise.

Remise (Obtenir)

Remise (Obtenir) identifie ce que l’utilisateur reçoit, par exemple, une remise de 10 pour cent ou une livraison gratuite. La remise Obtenir inclut un type de cible, un type de valeur et une expression de catalogue.

  • Type de cible définit la cible de la remise. Il existe trois types de remises : les remises au niveau de l’article, les remises au niveau de la commande et les livraisons gratuites (qui constituent des remises au niveau de la commande).
  • Maximum de la remise détermine le nombre d’articles remise que l’utilisateur reçoit si la remise est appliquée. Si le panier de l’utilisateur contient moins d’articles que le maximum de la remise, seuls les articles du panier bénéficient de la remise.
  • Expression de catalogue applique l’avantage lié à la remise uniquement si l’expression prend la valeur « True ». L’expression de catalogue de remise s’évalue pour chaque article contenu dans le panier de l’utilisateur. L’expression doit prendre la valeur « True » au moins une fois pour que la remise s’applique.
  • Type de valeur définit la valeur de la remise. Les valeurs de remise sont des remises en pourcentage ou en euros.

Pour plus d’informations sur les avantages liés aux remises, consultez Avantages liés à la remise.

Limite

La limite détermine le nombre maximal de fois que la remise peut être appliquée au panier. Pour plus d’informations sur les limites de remise, consultez Limites de remise.

Remises distinctes

Les remises distinctes sont des remises qui s’appliquent si les clauses Obtenir et Acheter font référence au même produit. Cette propriété détermine si l’article condition doit être réutilisé en tant qu’avantage lié à la remise. Les deux remises distinctes sont :

  • Appliquer l’offre à la réservation du produit uniquement. Utilisée par les chefs d’entreprise pour promouvoir modérément un produit.
  • Appliquer l’offre à la réservation et à l’achat du produit. Utilisée par les chefs d’entreprise pour promouvoir un produit de manière agressive.

Pour plus d’informations sur les remises distinctes, consultez Remises distinctes.

Clic obligatoire

Le clic obligatoire applique la remise uniquement lorsque l’utilisateur clique effectivement sur la remise. Pour plus d’informations sur les remises conditionnées par un clic, consultez Remises conditionnées par un clic.

Conditions d’éligibilité

Les conditions d’éligibilité spécifient à qui s’applique la remise. Les conditions d’éligibilité peuvent également être appelées expressions de ciblage. Si l’expression de ciblage prend la valeur « True », la remise est appliquée. Pour plus d’informations sur les conditions d’éligibilité, consultez Conditions d’éligibilité pour les remises.

Stratégies d’interaction pour les remises

Les stratégies d’interaction pour les remises déterminent si un article peut faire l’objet de plusieurs remises ou bénéficier de différents avantages. Commerce Server prend en charge quatre stratégies d’interaction différentes pour les remises.

  • Autoriser la réutilisation des conditions de cette remise pour les autres remises
  • Autoriser les conditions de cette remise à profiter des remises offertes par d’autres remises
  • Autoriser la réutilisation des conditions de cette remise pour d’autres remises
  • Autoriser les bénéficiaires de cette remise à profiter d’autres remises

Remarque

  • Cette propriété se justifie uniquement si plusieurs remises répondant aux conditions de qualification sont applicables au panier de l’utilisateur.

Pour plus d’informations sur les stratégies d’interaction des remises, consultez Remises multiples.

Cible de l’affichage de la remise

La cible de la remise identifie les pages et les groupes cibles sur lesquels la remise doit s’afficher. Pour plus d’informations sur la cible de l’affichage de la remise, consultez Ciblage d’une remise pour des groupes de pages et des groupes cibles.

Affichage de la remise

L’affichage de la remise identifie le nombre de fois que la remise est affichée à un utilisateur, l’image et/ou l’adresse URL sur laquelle l’utilisateur doit cliquer pour obtenir la remise, ainsi que les informations de remise affichées dans le panier lorsque l’utilisateur procède à la validation de ses achats.

Vous pouvez afficher une remise avec une devise différente de la devise par défaut du site. Par exemple, si un utilisateur sélectionne le yen comme étant sa devise par défaut et que le dollar américain est la devise du site, la remise s’affiche en dollar américain. Lorsque l’utilisateur parcourt le site, il voit le prix des produits en yen, mais la devise des remises s’affiche en dollar américain.

Remarque

  • Il est recommandé que le site Web utilise un système de comptabilité tiers pour traiter les conversions de devises. Le taux de conversion facturé par la banque de l’utilisateur pouvant être différent du taux stocké dans le code du site, un montant légèrement différent de celui qui est présenté sur la page de reçu du site peut être facturé à l’utilisateur (c’est pourquoi tous les prix du site portent la mention « approximatif »). Lorsque l’utilisateur soumet sa commande, il obtient un total approximatif dans sa devise par défaut et dans la devise de réservation du site.

Pour plus d’informations sur l’affichage d’une remise, consultez Spécification de l’affichage d’une remise.

Voir aussi

Priorité d’une remise

Remises distinctes

Remises multiples

Conditions de remise

Avantages liés à la remise

Limites de remise

Remises conditionnées par un clic

Conditions d’éligibilité pour les remises


Priorité d'une remise

Envoyer des commentaires sur cette page Commerce Server 2002

Priorité d’une remise

Vous attribuez à chaque remise une priorité qui détermine le moment où elle doit être appliquée, par rapport à d’autres remises qui peuvent également s’appliquer à un produit. (À la différence des publicités, les remises n’utilisent pas de poids pour déterminer le moment où elles sont appliquées.) Les remises sont appliquées par ordre de priorité, du plus petit au plus grand nombre. Par exemple, une remise assortie d’une priorité 10 s’appliquera avant une remise dont la priorité est 20. Cette règle reste vraie même si les remises s’appliquent au même article remise.

Supposons que le rayon boissons de votre boutique en ligne propose une offre spéciale pour l’été : pour un pack de jus de fruits acheté, le second est à moitié prix. Votre boutique en ligne propose en outre une autre offre spéciale : une remise de 10 pour cent sur tous les produits de la catégorie des boissons. Supposons que vous attribuiez des priorités à ces remises, comme l’illustre le tableau suivant.

Remise | Priorité
Pour un pack de jus de fruits acheté, le second est à moitié prix. | 10
Remise de 10 pour cent sur chaque produit de la catégorie boissons. | 20

Si un utilisateur achète quatre packs de jus de fruits, les remises sont appliquées comme suit :

  • Pack 1 : Aucune remise
  • Pack 2 : 50 pour cent de remise
  • Pack 3 : Aucune remise
  • Pack 4 : 50 pour cent de remise, seulement si aucune limite n’a été fixée pour la remise « Pour un pack de jus de fruits acheté, le second est à moitié prix ». La remise de 50 pour cent s’appliquera de nouveau au lieu des 10 pour cent car vous lui avez attribué une priorité supérieure.

Plusieurs remises peuvent être combinées si elles ont la même priorité (par exemple, 10), sont du même type (par exemple, remise en pourcentage au niveau de l’article) et bénéficient d’une stratégie d’interaction des remises autorisant la réutilisation des avantages de la remise pour d’autres remises. Par exemple, dans le scénario suivant, deux remises sont combinées en une seule remise de 30 pour cent.

Dans cet exemple, vous créez deux remises en attribuant une priorité 10 à chacune d’elles, comme l’illustre le tableau suivant.

Remise | Priorité
Acheter un téléphone, obtenir 10 pour cent de réduction sur une radio. | 10
Acheter un jeu vidéo, obtenir 20 pour cent de réduction sur une radio. | 10

Les deux remises seront combinées en une remise unique de 30 pour cent, car elles présentent le même niveau de priorité (10), sont du même type (remise en pourcentage au niveau de l’article) et que la stratégie définie est Autoriser la réutilisation des conditions de cette remise pour d’autres remises. Pour plus d’informations sur les stratégies d’interaction des remises, consultez Remises multiples.

Panier de l’utilisateur :

Produit | Prix | Remise | Total ajusté
Téléphone | 40 |  | 40
Jeu vidéo | 50 |  | 50
Radio | 30 | 9 (30*0,30) | 21
 |  | Total | 111

Les priorités des remises en euros fonctionnent de la même façon. Les remises seront combinées si les priorités sont les mêmes.

Remarque

  • Les remises sont d’abord triées en fonction de leur priorité. Si des remises présentent le même niveau de priorité, elles sont ensuite triées par stratégie d’interaction (si Autoriser la réutilisation des conditions de cette remise pour d’autres remises a la valeur False, elle sera triée en premier). Si les remises ont la même priorité, mais ne sont pas du même type (remise en pourcentage ou remise en euros), le composant de pipeline OrderDiscount détermine le type de remise qui doit s’appliquer en premier. Pour plus d’informations sur le composant de pipeline OrderDiscount, consultez How Discounts are Applied Programmatically (en anglais).

Voir aussi

Remises multiples

Remises distinctes

Création d’une remise

Exemples de remises

Ordre de tri des remises


Conditions de remise

La condition de remise (Acheter) spécifie si une remise sera proposée à l’utilisateur. La remise est fonction de ce que l’utilisateur achète. La condition Acheter doit être vraie pour permettre l’application de la remise. La condition est évaluée pour chaque article du bon de commande. Une condition peut être une expression spécifiant que la remise s’applique à un article en particulier ou à l’ensemble des articles. La condition Acheter inclut une propriété Acheter n’importe quoi, un type de condition, une valeur et une expression de catalogue.

  • Acheter n’importe quoi spécifie que si le panier contient un produit auquel vous pouvez associer un avantage, la remise s’appliquera toujours. Par exemple, achetez n’importe quoi et obtenez une ceinture gratuite. La propriété Acheter n’importe quoi indique également qu’un article du panier ne sera pas utilisé en tant que condition.

    Remarque

    • Si le panier est vide, la propriété Acheter n’importe quoi indique que les remises s’appliqueront toujours. « Acheter n’importe quoi » équivaut à « Acheter n’importe quel produit pour une quantité nulle (0) ».

    Pour obtenir un exemple de remise Acheter n’importe quoi, consultez Acheter C, obtenir 10,00 € sur le total et acheter n’importe quoi, obtenir B avec une réduction de 10 pour cent, dans la rubrique « Exemples de remises ».

  • Type de condition détermine le type de la condition Acheter. Il existe deux conditions Acheter pour une remise : quantité et valeur. Vous pouvez appliquer des remises en fonction de la quantité ou de la valeur des achats effectués par les utilisateurs. Par exemple, vous pouvez créer une remise qui s’applique lorsqu’un utilisateur achète trois packs de jus de fruits (quantité), ou une remise qui s’applique lorsqu’un utilisateur achète du jus de fruits pour une somme de 22,45 € (valeur).
  • Valeur de la condition spécifie la valeur en euros ou la valeur de l’unité de la condition.
  • Expression de catalogue est une expression basée sur le catalogue de produits. L’expression de catalogue s’évalue pour chaque article contenu dans le panier de l’utilisateur. L’expression doit prendre la valeur « True » au moins une fois pour que la remise s’applique. Vous trouverez ci-dessous des exemples d’expressions de catalogue dans la colonne Condition (Acheter) et les remises correspondantes dans la colonne Remise (Obtenir).
    Condition (Acheter) | Remise (Obtenir)
    Acheter un jean | Obtenir un maillot avec 50 pour cent de réduction
    Acheter deux produits de la catégorie Appareil photo numérique | Obtenir une pellicule avec 30 pour cent de réduction
    Acheter deux produits de la catégorie Appareil photo numérique
    OR
    acheter un caméscope     		Obtenir une radio avec une réduction de 20,00 €

Pour plus d’informations sur la création d’une expression de catalogue, consultez Création d’une expression de catalogue.

Remarques

  • La remise ne s’appliquera pas nécessairement, car la disponibilité de l’avantage lié à la remise n’est pas connue.
  • Les conditions cumulatives AND et OR sont toutes deux autorisées dans le Générateur d’expressions de catalogue, mais seule la condition OR est prise en charge pour les remises. La condition AND n’est pas prise en charge et son utilisation est déconseillée.

Voir aussi

Remises multiples

Exemples de remises

Création d’une remise

Avantages liés à la remise


Avantages liés à la remise

L’avantage lié à la remise (Obtenir) identifie ce que l’utilisateur reçoit. L’avantage lié à la remise inclut un type de cible, un maximum de remise, une expression de catalogue et un type de valeur.

  • Type de cible définit la cible de la remise. Il existe trois types de remises : les remises au niveau de l’article, les remises au niveau de la commande et les remises sur la livraison. La seule remise sur la livraison prise en charge par Commerce Server 2002 tel qu’il est fourni est la livraison gratuite. Pour permettre les variations en pourcentage et en euros de la remise sur la livraison, le développeur du site doit apporter des modifications personnalisées.
  • Maximum de la remise détermine le nombre d’articles remise que l’utilisateur reçoit si la remise est appliquée. Si le panier de l’utilisateur contient moins d’articles que le maximum de la remise, seuls les articles du panier bénéficient de la remise.
  • Expression de catalogue applique l’avantage lié à la remise uniquement si l’expression prend la valeur « True ». L’expression de catalogue est basée sur le catalogue de produits. L’expression de catalogue de remise s’évalue pour chaque article contenu dans le panier de l’utilisateur. L’expression doit prendre la valeur « True » au moins une fois pour que la remise s’applique. Par exemple :
    Condition (Acheter) | Remise (Obtenir) | Offre
    Acheter un jean | Obtenir un T-shirt col montant | Avec 50 pour cent de réduction
    Acheter pour plus de 500,00 € en une commande | Obtenir un short de la catégorie Blue Jean | Gratuit
    Acheter un caméscope modèle 123 Obtenir une carte de mémoire
    OR
    deux pieds de caméscope     		Avec 40 pour cent de réduction

Pour plus d’informations sur la création d’expressions de catalogue, consultez Création d’une expression de catalogue.

  • Type de valeur définit la valeur de la remise. Les valeurs de remise sont des remises en pourcentage ou en euros.

    Remarque

    • Vous pouvez créer des remises en euros égales à zéro (0) ; cependant, Commerce Server 2002 ne prend pas en charge les remises en pourcentage égales à zéro (0).

Remarque

  • Les conditions cumulatives AND et OR sont toutes deux autorisées dans le générateur d’expressions de catalogue, mais seule la condition OR est prise en charge pour les remises. La condition AND n’est pas prise en charge et son utilisation est déconseillée.

Vous pouvez accorder la remise à l’utilisateur de différentes façons. Commerce Server prend en charge trois types de remises :

  • Les remises au niveau de l’article s’appliquent à des produits spécifiques du panier. Vous pouvez appliquer plusieurs remises à un seul élément de commande ou à une seule commande.
  • Les remises au niveau de la commande s’appliquent à tous les produits d’un panier d’achat.
  • Les remises sur la livraison s’appliquent aux frais de livraison que l’utilisateur doit acquitter pour que les articles qu’il a commandés lui parviennent à son adresse. La seule remise sur la livraison prise en charge par Commerce Server 2002 est la livraison gratuite. Pour permettre les variations en pourcentage et en euros de la remise sur la livraison, le développeur du site doit apporter des modifications personnalisées.

Les sections suivantes décrivent les types disponibles d’avantages liés aux remises :

Remise sur le sous-total de la commande

Livraison gratuite

Remise sur le sous-total de la commande

La remise sur le sous-total de la commande s’applique au sous-total de la commande. Une remise sur le sous-total de la commande est une remise au niveau de la commande qui s’applique à tous les produits d’un panier d’achat. Par exemple, la livraison gratuite est un type de remise au niveau de la commande : vous pouvez accorder aux utilisateurs une livraison gratuite pour tous les produits de leur panier. Les remises au niveau de la commande fournies avec Commerce Server sont la livraison gratuite et une remise en pourcentage ou en euros sur le coût total. Vous ne pouvez pas appliquer plusieurs remises à une remise au niveau de la commande. Les remises au niveau de la commande ont une limite implicite de 1.

Pour gérer correctement les remboursements, les gestionnaires de campagnes préfèrent répartir les remises au niveau de la commande sur les différents articles qui la composent. Commerce Server 2002 répartit les remises en pourcentage et les remises en euros. Pour plus d’informations sur la façon dont les remises au niveau de la commande sont réparties, consultez Répartition des remises au niveau de la commande.

Remarque

  • Si vous souhaitez qu’un article donné ne puisse pas faire l’objet d’une remise au niveau de la commande (par exemple, un article très demandé), consultez le composant « OrderLevelDiscountApply » à l’emplacement <lecteur>:\Program Files\Microsoft Commerce Server 2002\SDK\Samples\Order Processing\OrderLevelDiscountComponents. Ce composant vous permet d’indiquer le nom d’une clé qui spécifie si l’article peut faire l’objet d’une offre.

    Cette fonctionnalité ne s’applique pas aux remises au niveau de l’article, mais peut être ajoutée moyennant un travail de configuration personnalisée.

Livraison gratuite

La propriété Livraison gratuite applique la livraison gratuite en tant qu’avantage lié à la remise pour tous les produits commandés. Les remises sur la livraison peuvent être assimilées à une remise au niveau de la commande, puisqu’elles s’appliquent à l’ensemble d’une commande et non au niveau d’un article donné. Pour permettre les variations en pourcentage et en euros de la remise sur la livraison, le développeur du site doit apporter des modifications personnalisées.

Adresses de livraison multiples

Commerce Server 2002 prend en charge les adresses de livraison multiples. Par exemple, un utilisateur peut acheter un certain nombre d’articles et les faire livrer à plusieurs adresses.

Remises sur la livraison et stratégies d’interaction

L’exemple suivant explique en quoi les stratégies d’interaction de la remise sur la livraison et de la remise au niveau de la commande sont liées. Pour plus d’informations sur les stratégies d’interaction des remises, consultez Remises multiples.

Remise | Condition (Acheter) | Remise (Obtenir) | Priorité
Remise 1 | Acheter pour un sous-total de commande supérieur à 300,00 € | Obtenir une remise au niveau de la commande de 20,00 € | 10
Remise 2 | Acheter un caméscope | Obtenir la livraison gratuite | 20

Le panier de l’utilisateur contient les articles suivants :

Article | Quantité | Prix unitaire | Total courant
Caméscope | 1 | 200,00 | 200,00
Appareil photo numérique | 1 | 300,00 | 500,00
Total |  |  | 700,00

La remise 1 s’appliquera en premier, car elle est assortie d’une priorité 10. La remise sur la livraison étant une remise cumulative, elle est liée à la remise au niveau de la commande à l’aide des stratégies d’interaction courantes de Commerce Server pour les remises. Par conséquent, la remise 1 bloque les autres avantages et la remise 2 ne sera pas appliquée.

Voir aussi

Remises multiples

Création d’une remise

Exemples de remises

Conditions de remise


Limites de remise

Vous pouvez limiter le nombre de remises applicables à un panier. Si la valeur de la limite de remise est égale à zéro (0), les remises sont illimitées : la remise peut être appliquée plusieurs fois, si les conditions requises sont satisfaites à plusieurs reprises dans le panier. Une limite de remise est spécifique à un panier et ne s’applique pas à un ensemble de paniers. Par exemple, si un utilisateur valide ses achats, revient sur le site et achète les mêmes articles remisés, il bénéficie de la même remise.

Voir aussi

Création d’une remise

Exemples de remises


Remises distinctes

Les remises distinctes sont des remises qui s’appliquent si les clauses Obtenir et Acheter font référence au même produit. Cette propriété détermine si l’article condition doit être réutilisé en tant qu’avantage lié à la remise. Les deux remises distinctes sont :

  • Appliquer l’offre à la réservation du produit uniquement. La condition Acheter ne peut pas être réutilisée comme remise. Utilisée par les chefs d’entreprise pour promouvoir modérément un produit.
  • Appliquer l’offre à la réservation et à l’achat du produit. La condition Acheter peut être réutilisée comme remise. Utilisée par les chefs d’entreprise pour promouvoir un produit de manière agressive.

La remise suivante donnera des résultats différents en fonction de la remise distincte que vous sélectionnez. Les résultats du panier sont affichés pour chaque remise distincte :

  • Condition : Acheter deux maillots unisexes.
  • Remise : Obtenir un maillot unisexe avec 40 pour cent de réduction.
  • Remises distinctes : Appliquer l’offre à l’obtention du produit uniquement

Le panier suivant affiche une remise de 40 pour cent sur le troisième maillot unisexe du panier. La propriété de remise distincte Appliquer l’offre à la réservation du produit uniquement a été sélectionnée ; par conséquent, l’article condition n’a pas pu être réutilisé comme remise. Les premier et deuxième maillots ont été utilisés comme condition ; en outre, la remise de 40 pour cent est appliquée au troisième maillot unisexe. Le quatrième maillot ne bénéficie d’aucune condition ou remise.

Panier de l'utilisateur

  • Condition : Acheter deux maillots unisexes.
  • Remise : Obtenir un maillot unisexe avec 40 pour cent de réduction.
  • Remises distinctes : Appliquer l’offre à la réservation et à l’achat du produit

Le panier suivant affiche une remise de 40 pour cent sur les deuxième et quatrième maillots unisexes du panier. La propriété de remise distincte Appliquer l’offre à la réservation et à l’achat du produit a été sélectionnée ; par conséquent, les articles condition ont été réutilisés comme remises. Les premier et deuxième maillots unisexes du panier ont été utilisés comme condition et le deuxième maillot a bénéficié d’une remise de 40 pour cent. Les troisième et quatrième maillots du panier ont été utilisés comme condition et le quatrième maillot a bénéficié d’une remise de 40 pour cent.

Panier de l'utilisateur

Voir aussi

Remises multiples

Ordre de tri des remises

Création d’une remise

Exemples de remises


Remises conditionnées par un clic

Les remises conditionnées par un clic s’appliquent uniquement lorsque l’utilisateur clique sur la remise. Si la propriété de remise conditionnée par un clic a la valeur « True », l’utilisateur doit cliquer sur la publicité associée à la remise pour pouvoir bénéficier de cette remise. Cette propriété lie les fonctionnalités de publicité et de marchandisage de votre activité commerciale.

Remarque

  • Les développeurs de site peuvent étendre ce type de remise à d’autres usages, tels que des coupons de réduction, que les utilisateurs doivent posséder pour bénéficier de la remise. Pour plus d’informations sur les bons de réduction, consultez Bons de réduction.

Voir aussi

Création d’une remise

Exemples de remises


Conditions d'éligibilité pour les remises

Envoyer des commentaires sur cette page Commerce Server 2002

Conditions d’éligibilité pour les remises

Les Conditions d’éligibilité spécifient à qui s’applique une remise. Les conditions d’éligibilité sont des expressions de ciblage. Si l’expression de ciblage prend la valeur « True », la remise est appliquée. Par exemple, si sport favori = escalade, appliquer la remise.

Les conditions d’éligibilité sont créées à l’aide des propriétés de contexte, telles que Objet utilisateur, Contexte de ciblage et Évaluateur Intrinsics (données actuelles, heure actuelle). En créant une expression de ciblage, vous pouvez cibler les utilisateurs qui recevront cette remise. Par exemple, vous pouvez cibler les utilisateurs mélomanes et leur offrir une remise de 20 pour cent sur un CD de Jazz. Pour plus d’informations sur la création d’expressions de ciblage, consultez Création d’une expression de ciblage.

Vous pouvez également utiliser des groupes cibles pour déterminer les utilisateurs auxquels vous allez afficher une remise. Pour plus d’informations sur la création de groupes cibles, consultez Création d’un groupe cible.

Voir aussi

Création d’une expression de ciblage

Ciblage basé sur des expressions

Création d’un groupe cible

Création d’une remise

Exemples de remises


Remises multiples

Les stratégies d’interaction des remises sont des règles qui déterminent si un article peut faire l’objet de plusieurs remises ou bénéficier de plusieurs avantages. Commerce Server 2002 prend en charge quatre stratégies d’interaction différentes pour les remises.

  • Un article condition peut être réutilisé pour une autre offre. Indique à Commerce Server 2002 qu’un article servant de condition pour pouvoir bénéficier d’une offre peut être réutilisé pour bénéficier d’une autre offre.
  • Un article condition peut être réutilisé comme article remise. Indique à Commerce Server 2002 qu’un article servant de condition pour pouvoir bénéficier d’une remise peut toujours être éligible pour recevoir une offre.
  • Un article remise peut être réutilisé comme article condition. Indique à Commerce Server 2002 qu’un article ayant fait l’objet d’une remise peut toujours servir à se qualifier pour d’autres offres.
  • Un article remise peut être réutilisé pour une autre offre. Indique à Commerce Server 2002 qu’un article ayant fait l’objet d’une remise peut recevoir d’autres offres, par exemple, un article peut bénéficier de plusieurs avantages.

Les quatre stratégies d’interaction pour les remises peuvent toutes être sélectionnées en même temps. Ensemble, elles vous permettent de mieux contrôler la façon dont les remises sont appliquées. L’effet de chacune de ces stratégies est décrit plus en détail dans les exemples suivants.

Un article condition peut être réutilisé pour une autre offre

Un article condition peut être réutilisé comme article remise

Un article remise peut être réutilisé comme article condition

Un article remise peut être réutilisé pour une autre offre

Un article condition peut être réutilisé pour une autre offre

Cette stratégie d’interaction vous permet d’utiliser un article du panier d’achat pour satisfaire à plusieurs conditions.

Dans l’exemple suivant, les shorts font partie de la condition pour la remise 1 et la remise 2. Dans la mesure où la stratégie Autoriser la réutilisation des conditions de la remise en tant que conditions des autres remises est définie, les shorts peuvent servir à se qualifier pour les deux remises.

Remise 1

Articles condition | Articles remise | Limite de remise | Offre | Priorité
Acheter un short | Obtenir une ceinture | 1 | Avec 50 pour cent de réduction | 10

Remise 2

Articles condition | Articles remise | Limite de remise | Offre | Priorité
Acheter deux shorts | Obtenir un maillot | 1 | Avec 50 pour cent de réduction | 20

Le tableau suivant représente un exemple du panier de l’utilisateur :

Article | Prix unitaire | Remise | Prix ajusté
Premier short | 50,00 | 0,00 | 50,00
Deuxième short | 50,00 | 0,00 | 50,00
Premier maillot | 30,00 | 15,00 | 15,00
Deuxième maillot | 30,00 | 0,00 | 30,00
Ceinture | 10,00 | 5,00 | 5,00
TOTAL | 170,00 | 20,00 | 150,00

Le premier short est utilisé pour se qualifier pour la remise de 50 pour cent sur la ceinture. Le premier short est également utilisé avec le deuxième pour se qualifier pour la remise de 50 pour cent sur le maillot. Par conséquent, le premier short a été utilisé pour se qualifier pour les deux remises. Dans la mesure où la limite de la remise 1 est 1, le deuxième maillot ne bénéficie pas de la remise.

Un article condition peut être réutilisé comme article remise

Cette stratégie d’interaction permet d’utiliser un article du panier d’achat pour se qualifier pour une remise. L’article en question peut alors être réutilisé pour se qualifier comme remise supplémentaire.

Dans l’exemple suivant, les shorts font partie de la condition pour la première remise. Dans la deuxième remise, les shorts font partie de l’avantage. Dans la mesure où la stratégie Autoriser les conditions de cette remise à profiter des remises exceptionnelles offertes par d’autres remises est définie sur la première remise, l’offre de réduction de 50 pour cent s’applique à l’un des deux shorts contenus dans le panier.

Remise 1

Articles condition | Articles remise | Offre | Priorité
Acheter un short | Obtenir une ceinture | Avec 50 pour cent de réduction | 20

Remise 2

Articles condition | Articles remise | Offre | Priorité
Acheter deux maillots | Obtenir un short | Avec 50 pour cent de réduction | 20

Le tableau suivant représente un exemple du panier de l’utilisateur :

Article | Prix unitaire | Remise | Prix ajusté
Premier short | 50,00 | 25,00 | 25,00
Premier maillot | 30,00 | 0,00 | 30,00
Deuxième maillot | 30,00 | 0,00 | 30,00
Ceinture | 10,00 | 5,00 | 5,00
TOTAL | 120,00 | 30,00 | 90,00

Un article remise peut être réutilisé comme article condition

Cette stratégie d’interaction permet d’utiliser un article du panier ayant bénéficié d’un avantage d’être également utilisé en tant que condition.

Dans la remise 1 de l’exemple suivant, le maillot est l’article remise. Dans la remise 2, le maillot est la condition. Dans la mesure où la stratégie Autoriser la réutilisation des conditions de cette remise pour d’autres remises est définie pour la remise 1, la remise 2 s’appliquera. Si cette stratégie n’était pas définie, la remise 2 ne s’appliquerait pas, car, par défaut, Commerce Server 2002 n’autorise pas l’utilisation d’un article remise pour satisfaire à une condition.

Remise 1

Articles condition | Articles remise | Offre | Priorité
Acheter deux shorts | Obtenir un maillot | Avec 50 pour cent de réduction | 10

Remise 2

Articles condition | Articles remise | Offre | Priorité
Acheter un maillot | Obtenir une ceinture | Avec 50 pour cent de réduction | 20

Le tableau suivant représente un exemple du panier de l’utilisateur :

Article | Prix unitaire | Remise | Prix ajusté
Premier short | 50,00 | 0,00 | 50,00
Deuxième short | 50,00 |  | 50,00
Premier maillot | 30,00 | 15,00 | 15,00
Ceinture | 10,00 | 5,00 | 5,00
TOTAL | 140,00 | 20,00 | 120,00

Un article remise peut être réutilisé pour une autre offre

Cette stratégie d’interaction permet à un article du panier de recevoir plusieurs avantages, ce qui autorise la combinaison de plusieurs remises sur le même article.

Dans l’exemple suivant, dans la mesure où la stratégie Autoriser les bénéficiaires de cette remise à profiter d’autres remises est définie pour la remise 1, les offres des remises 1 et 2 s’appliquent à la ceinture, ce qui donne une remise totale de 50 pour cent (25 pour cent + 25 pour cent). Les remises ayant le même niveau de priorité, elles seront combinées en une seule remise. Dans la mesure où la stratégie Autoriser la réutilisation des conditions de cette remise pour d’autres remises est définie pour la remise 1, la remise 2 s’appliquera. Si cette stratégie n’était pas définie, la remise 2 ne s’appliquerait pas, car, par défaut, Commerce Server 2002 n’autorise pas l’utilisation d’un article remise pour satisfaire à une condition.

Remise 1

Articles condition | Articles remise | Offre | Priorité
Acheter un short | Obtenir une ceinture | Avec 25 pour cent de réduction | 10

Remise 2

Articles condition | Articles remise | Offre | Priorité
Acheter un maillot | Obtenir une ceinture | Avec 25 pour cent de réduction | 10

Le tableau suivant représente un exemple du panier de l’utilisateur :

Article | Prix unitaire | Remise | Prix ajusté
Short | 50,00 | 0,00 | 50,00
Maillot | 30,00 | 0,00 | 0,00
Ceinture | 10,00 | 5,00 | 5,00
TOTAL | 90,00 | 5,00 | 85,00

Voir aussi

Exemples de remises

Ordre de tri des remises

Remises distinctes

Création d’une remise


Ordre de tri des remises

L’ordre dans lequel les articles remise du panier sont traités a une incidence sur la remise totale que reçoit l’utilisateur. L’ordre de tri par défaut de Commerce Server 2002 applique la remise à l’article le plus cher du panier, ce qui favorise l’utilisateur. Si la remise s’applique d’abord à l’article le moins cher, la remise pénalise l’utilisateur. Pour changer l’ordre de tri par défaut, contactez le développeur de votre site.

Remarque

  • L’ordre dans lequel les articles du panier sont traités relativement aux conditions de remise a également une incidence sur la remise totale dont bénéficiera l’utilisateur. Toutefois, cet ordre de tri ne peut pas être modifié.

Voir aussi

Remises multiples

Exemples de remises


Traitement des remises

Le pipeline de l’infrastructure de sélection de contenu (CSF) des remises utilise le composant de pipeline OrderDiscount pour traiter les remises. Le pipeline de sélection de contenu pour les remises vous permet de présenter la remise la plus appropriée à un utilisateur, et le pipeline Panier vous permet d’appliquer des remises au panier d’achat.

  • Le pipeline de sélection de contenu pour les remises vérifie les dates de début et de fin des remises, puis ajuste les scores figurant dans la liste des remises possibles. Il garantit que les remises les plus appropriées pour l’utilisateur en cours reçoivent la priorité la plus élevée.
  • Le composant de pipeline Remise de commande applique d’abord les conditions préalables aux remises disponibles. En fonction de la remise concernée, il utilise les informations de profil utilisateur et de profil de contexte pour évaluer les expressions de ciblage. En outre, si une remise nécessite qu’un clic soit effectué, il vérifie la liste des identificateurs des éléments de la campagne de tous les éléments sur lesquels un clic a été exécuté. Ensuite, le pipeline des commandes traite chaque élément, en testant les conditions et les remises. Les remises sont appliquées par ordre de priorité, de la plus élevée à la moins élevée. Si deux remises ont la même priorité, les propriétés qui ne sont pas de type prioritaire déterminent l’ordre d’application des remises.

Voir aussi

Création d’une remise

Création des expressions de la campagne marketing


Répartition des remises au niveau de la commande

Pour gérer correctement les remboursements, les gestionnaires de campagnes préfèrent répartir les remises au niveau de la commande sur les différents articles qui la composent. Commerce Server 2002 répartit les remises en pourcentage et les remises en euros.

Par exemple, un gestionnaire de campagnes offre une remise de 10 pour cent à des utilisateurs privilégiés sur la commande suivante :

  • 4 livres à 25 € chacun = 100 €

Si la remise ne s’appliquait qu’au prix final, le reçu ressemblerait au suivant :

Article | Montant
Livre 1 | 25,00
Livre 2 | 25,00
Livre 3 | 25,00
Livre 4 | 25,00
Sous-total | 100,00
Remise | (10,00)
Total | 90,00

Dans cet exemple, la remise de 10 pour cent est appliquée au prix final (100,00). Si un utilisateur renvoie l’un des livres, il recevra un remboursement de 25,00 €. Toutefois, l’utilisateur n’a pas payé chaque livre 25,00 € ; il n’a effectivement payé que 22,50 € par livre.

L’exemple suivant montre le montant de la remise réparti entre les différents articles qui composent la commande.

Article | Remise | Montant
Livre 1 | 2,50 | 22,50
Livre 2 | 2,50 | 22,50
Livre 3 | 2,50 | 22,50
Livre 4 | 2,50 | 22,50
Total | 10,00 | 90,00

Dans l’exemple ci-dessus, le prix ajusté de chaque article est enregistré à 22,50 €, et le prix de vente final est le même que pour la remise appliquée au prix final. Cet exemple reflète correctement la remise. Si l’utilisateur renvoie l’un des livres, il ne recevra pas un remboursement supérieur au prix effectivement payé.

Répartition des remises en pourcentage

Commerce Server 2002 répartit les remises en pourcentage en appliquant l’offre à chaque article de la commande. Les remises en pourcentage utilisent l’algorithme suivant :

PercentageDiscount = Round((ItemAdjustedPrice*DiscountFraction),2;

, ce qui revient à :

arrondir la valeur : ItemAdjustedPrice*DiscountFraction à deux chiffres après la virgule, où ItemAdjustedPrice est le prix de l’article ajusté en fonction des remises appliquées avant la remise au niveau de la commande.

L’exemple suivant illustre deux remises en pourcentage et la façon dont elles sont appliquées au panier de l’utilisateur :

 | Remise 1 | Remise 2
Condition | Acheter un maillot | Acheter n’importe quoi
Remise | Obtenir un maillot avec 30 pour cent de réduction | Obtenir une remise au niveau de la commande de 10 pour cent
Remise distincte | Appliquer l’offre à la réservation et à l’achat du produit | Appliquer l’offre à l’obtention du produit uniquement
Limite | Aucune | Aucune
Priorité | 10 | 20

Le tableau ci-dessous représente le panier de l’utilisateur avant application des remises :

Panier de l’utilisateur (avant application des remises)

Article | Quantité | Prix unitaire | Remise | Prix ajusté | Prix total
Maillot | 2 | 12,36 | 0 | 24,72 |
Sous-total ajusté de la commande |  |  |  | 24,72 |

Le tableau ci-dessous représente le panier de l’utilisateur après application de la première remise :

Panier de l’utilisateur (après application de la remise 1)

Article | Quantité | Prix unitaire | Remise | Prix ajusté | Prix total
Maillot | 2 | 12,36 | 7,42 | 17,30 |
Sous-total ajusté de la commande |  |  |  | 17,30 (0,3*12,36) |

Le tableau ci-dessous représente le panier de l’utilisateur après application de la deuxième remise :

Panier de l’utilisateur (après application de la remise 2)

Article | Quantité | Prix unitaire | Remise | Prix ajusté | Prix total
Maillot | 2 | 12,36 | 9,15 (7,42+1,73) | 15,57 | 15,57
Sous-total ajusté de la commande |  |  |  | 15,57 | 15,57

Lorsque la deuxième remise est appliquée, la remise de 10 pour cent est appliquée à 17,30 (le prix ajusté après application de la première remise), et non à 24,72 (qui correspondait au prix ajusté après application de la première remise).

Remarque

  • Dans les exemples ci-dessus, les remises en pourcentage sont arrondies à deux chiffres après la virgule.

Dans la mesure où Commerce Server applique l’offre de remise à chaque article de la commande et où les remises en pourcentage sont arrondies à deux chiffres après la virgule, cela peut générer un problème de comptabilité.

La remise au niveau de la commande suivante illustre une situation où le prix ajusté de l’article diffère du sous-total ajusté de la commande en raison de l’arrondi.

Condition : Acheter n’importe quoi

Remise : Remise au niveau de la commande, de 15 pour cent

Le tableau ci-dessous représente le panier de l’utilisateur après application de la remise au niveau de la commande :

Panier de l’utilisateur

Article | Quantité | Prix unitaire | Remise | Prix ajusté | Prix total
Maillot | 2 | 12,36 | 3,708 (arrondi à 3,71) | 21,01 |
Short | 1 | 7,64 | 1,146 (arrondi à 1,15) | 6,49 |
Sous-total ajusté de la commande |  | 32,36 | 4,854 (arrondi à 4,85) | 27,51 |

Notez que la somme du prix ajusté (21,01+6,49=27,50) diffère du sous-total ajusté de la commande (32,36+4,85=27,51). Le Kit de développement de logiciel (SDK) de Commerce Server contient le code qui permet d’appliquer les remises en pourcentage au niveau de la commande. Ce code peut être modifié en vue de son adaptation à vos besoins.

Pour plus d’informations sur la modification du code permettant d’appliquer des remises au niveau de la commande, consultez « BaseOrderDiscountEngine.cpp » dans le SDK, à l’emplacement <lecteur>:\Program Files\Microsoft Commerce Server 2002\SDK\Samples\Order Processing\OrderLevelDiscountComponents.

Répartition des remises en euros

Pour répartir des remises en euros, le montant de la remise sur chaque article est calculé et la remise est répartie entre tous les articles du panier. Les remises en euros utilisent l’algorithme suivant :

ItemDiscount = Truncate(((ItemAdjustedPrice/OrderAdjustedSubtotal)*DiscountAmount),2);

, ce qui revient à :

tronquer la valeur : ItemAdjustedPrice/OrderAdjustedSubtotal à deux chiffres après la virgule, où ItemAdjustedPrice est le prix de l’article ajusté en fonction des remises appliquées avant la remise au niveau de la commande, et OrderAdjustedSubtotal est le sous-total ajusté de la commande totale en fonction des remises appliquées avant la remise au niveau de la commande.

Remarque

  • Les remises en euros sont arrondies à deux chiffres après la virgule.

L’exemple suivant illustre la répartition des remises en euros entre les éléments de commande du panier. Un gestionnaire de campagnes offre une remise de 25,00 € à des utilisateurs privilégiés sur la commande suivante :

  • 2 maillots à 30,00 € chacun
  • 2 shorts à 50,00 € chacun
  • 1 ceinture à 10,00 €

Le tableau ci-dessous représente le panier de l’utilisateur avant application de la remise de 25,00 € :

Panier de l’utilisateur

Article | Quantité | Prix unitaire | Prix total
Maillot | 2 | 30,00 | 60,00
Shorts | 2 | 50,00 | 100,00
Ceinture | 1 | 10,00 | 10,00
Total |  |  | 170,00

Le tableau ci-dessous représente le panier de l’utilisateur après application de la remise de 25,00 € :

Panier de l’utilisateur

Article | Prix unitaire | Remise | Prix ajusté
Premier maillot | 30,00 | 4,41 | 25,59
Deuxième maillot | 30,00 | 4,41 | 25,59
Premier short | 50,00 | 7,35 | 42,65
Deuxième short | 50,00 | 7,35 | 42,65
Ceinture | 10,00 | 1,47 | 8,52
Total | 170,00 | 24,99 | 145,00

Notez que la somme des remises est égale à 24,99 €, contre 25,00 € pour la remise totale de la commande.

Pour corriger ce problème d’arrondi, vous disposez de deux approches :

Approche 1

L’approche 1 applique la différence au dernier article de la liste pouvant bénéficier d’une remise :

Si (ArticleCourant = DernierArticlePouvantRecevoirUneRemise)

Si (RemiseTotaleAppliquée < MontantRemise)

RemiseArticle = (MontantRemise – RemiseTotaleAppliquée)

Remarque

  • Dans la mesure où les valeurs sont tronquées, la RemiseTotaleAppliquée sera toujours <=MontantRemise.

Approche 2

L’approche 2 fait appel aux opérations suivantes :

  1. Calculer le prix le plus bas en fonction des décimales. Par exemple, si le nombre de chiffres après la virgule est de deux, alors le prix le plus bas possible est 0,01 €.
  2. Ajouter d’abord le « prix le plus bas » aux remises accordées aux articles, en commençant par les articles les plus chers. Si deux articles ont le même « prix le plus cher », accorder la remise à celui qui possède le « numéro d’index le plus bas dans le panier ».
  3. Soustraire ce montant de la remise erronée.
  4. Répéter les étapes 2 et 3 jusqu’à ce que la remise erronée soit égale à zéro (0).

L’exemple ci-dessous représente la remise de 25,00 € appliquée avec l’approche 1.

  • 2 maillots à 30,00 € chacun
  • 2 shorts à 50,00 € chacun
  • 1 ceinture à 10,00 €

Panier de l’utilisateur

Article | Prix unitaire | Remise | Prix ajusté
Premier maillot | 30,00 | 4,41 | 25,59
Deuxième maillot | 30,00 | 4,41 | 25,59
Premier short | 50,00 | 7,35 | 42,65
Deuxième short | 50,00 | 7,35 | 42,65
Ceinture | 10,00 | 1,48 | 8,52
Total | 170,00 | 25,00 | 145,00

Dans l’exemple ci-dessus, la ceinture est le dernier article pouvant bénéficier d’une remise. Par conséquent, le 0,01 € de trop (erreur de remise) est ajouté à la remise sur la ceinture pour un total de 1,48 € (1,47+0,01), ce qui fait passer la remise totale de la commande à 25,00 €.

Voici un autre exemple d’application de remises en euros avec l’approche 1.

  • Acheter n’importe quoi
  • Obtenir une remise au niveau de la commande de 5,00 €

Panier de l’utilisateur

Index dans le panier | Article | Prix unitaire | Remise | Prix ajusté
1 | Article 1 | 7,50 | 2,49 | 5,01
2 | Article 1 | 7,50 | 2,49 | 5,01
3 | Article 3 | 0,01 | 0,00 | 0,01
Total |  | 15,01 | 4,98 | 10,03

Dans cet exemple, notez que la somme des remises est égale à 4,98 €, contre 5,00 € pour la remise totale de la commande.

Le tableau suivant montre comment la remise de l’exemple ci-dessus sera appliquée avec l’approche 1.

Panier de l’utilisateur

Index dans le panier |  | Prix unitaire | Remise | Prix ajusté
1 | Article 1 | 7,50 | 2,49 | 5,01
2 | Article 1 | 7,50 | 2,51 | 4,99
3 | Article 3 | 0,01 | 0,00 | 0,01
Total |  | 15,01 | 5,00 | 10,01

Dans l’exemple ci-dessus, l’article 1 de l’index de panier 2 est le dernier article pouvant bénéficier d’une remise (l’article 3 ne peut pas recevoir une remise de 0,02 €, puisque son prix n’est que de 0,01 €). Par conséquent, les 0,02 € de trop (erreur de remise) sont ajoutés à l’article 1 de l’index 2 pour un total de 2,51 €, ce qui fait passer la remise totale de la commande à 5,00 €.

Vous trouverez ci-dessous quelques inférences liées à l’utilisation de l’approche 1 :

  • Les index de panier 1 et 2 contiennent le même numéro d’article (avec le même prix). Toutefois, ils ont des remises différentes.
  • Aucune remise n’est appliquée à l’article 3.
  • Les articles 1 et 2 étant au même prix, si l’utilisateur vous retourne l’article 1, allez-vous lui rembourser 5,01 € ou 4,99 € ?

Le tableau suivant montre comment la remise de l’exemple ci-dessus sera appliquée avec l’approche 2.

Panier de l’utilisateur

Index dans le panier | Article | Prix unitaire | Remise | Prix ajusté
1 | Article 1 | 7,50 | 2,50 | 5,00
2 | Article 1 | 7,50 | 2,50 | 5,00
3 | Article 3 | 0,01 | 0,00 | 0,01
Total |  | 15,01 | 5,00 | 10,01

Le prix ajusté de chaque article est enregistré, et l’utilisateur bénéficiera de la remise de 5,00 €. Les deux articles des index de panier 1 et 2 reçoivent la même remise. De cette façon, si l’un des articles est retourné, le remboursement sera le même pour les deux articles.

Remarque

  • Dans l’exemple ci-dessus, le composant de pipeline OrderDiscountApply est utilisé pour appliquer la remise. Pour plus d’informations sur le composant OrderDiscountApply, consultez la rubrique « OrderDiscount » dans le Programmer’s Reference (en anglais), de l’aide de Commerce Server 2002.

Voir aussi

Traitement des remises

Composants d’une remise

Création d’une remise


Remises multilingues

Si vous souhaitez utiliser les remises en plusieurs langues, vous devez recréer chaque remise dans la langue appropriée. Pour plus d’informations sur la création d’une remise, consultez Création d’une remise.

Remarque

  • Lorsque vous créez des remises en plusieurs langues, notez que la longueur du nom de la remise est limitée à 50 caractères.

Voir aussi

Création d’une remise

Exemples de remises


Listes des utilisateurs et listes de publipostage

Le module Gestionnaire de listes de Commerce Server Business Desk vous permet d’importer et d’exporter des listes des utilisateurs et des listes de publipostage. Le Gestionnaire de listes nécessite que les listes aient un format spécifique. Pour plus d’informations sur le format des listes de publipostage, consultez Listes de publipostage. Pour plus d’informations sur le format des listes des utilisateurs, consultez Listes des utilisateurs.

  • Ajout de listes au Gestionnaire de listes. Vous pouvez importer dans le Gestionnaire de listes une liste créée dans une autre application, telle que SQL Server (pour créer une table SQL), le Bloc-notes (pour créer un fichier texte ASCII), Microsoft Excel (pour créer une feuille de calcul) ou Microsoft Outlook (pour exporter un fichier .pst contenant une liste d’adresses).

    Par exemple, si vous possédez une liste d’adresses dans une feuille de calcul Microsoft Excel, vous pouvez utiliser le Gestionnaire de listes pour importer cette liste dans Business Desk, puis utiliser la liste dans une campagne de publipostage. Pour plus d’informations sur la création de listes de publipostage, consultez Création d’une liste de publipostage.

    Pour plus d’informations sur l’importation d’une liste dans le Gestionnaire de listes, consultez Importation et exportation de listes.

  • Utilisation de listes du Gestionnaire de listes. Vous pouvez mettre à jour vos profils utilisateur en utilisant une liste des utilisateurs du module Gestionnaire de listes. Ensuite, dans le module Utilisateurs, vous mettez à jour les profils utilisateur de la liste en attribuant une valeur spéciale à une propriété de profil des profils utilisateur. Vous utilisez cette valeur pour cibler des campagnes de publicité ou de remise spécifiques, destinées aux utilisateurs dont vous avez modifié les profils. Pour plus d’informations sur l’importation d’une liste dans le module Utilisateurs, consultez Recherche de profils utilisateur dans une liste de publipostage. Pour plus d’informations sur la modification de plusieurs profils utilisateur, consultez Modification de plusieurs profils utilisateur.

    Vous avez également la possibilité d’exporter la liste vers une autre application. Pour plus d’informations sur l’exportation d’une liste vers un fichier, consultez Importation et exportation de listes.

Cette section contient les rubriques suivantes :

  • Listes de publipostage
  • Listes des utilisateurs
  • Listes génériques
  • Listes dynamiques et listes statiques


Listes de publipostage

Les listes de publipostage contiennent des lignes d’adresses de messagerie destinées à une campagne de publipostage. Chaque ligne de la liste représente un destinataire unique et contient les éléments suivants dans un format délimité par des virgules.

Élément
Adresse de messagerie | Nom ou nom@domaine.
GUID | Identificateur global unique. Identificateur d’utilisateur utilisé pour fournir le contenu d’un message électronique personnalisé.
Format du message Contrôle le type de format du message dans lequel l’objet de données de collaboration (CDO, Collaboration Data Object) traduit le résultat. Les valeurs prises en charge sont :
  • Texte (1)
  • MIME (2)
  • MHTML (3)

Pour plus d’informations sur les formats des messages, consultez Formats des messages.
Langue | Les valeurs de page de codes qui sont utilisées dans les listes de publipostage, telles que US-ASCII et ISO-8859-1.
URL | Permet de transmettre des adresses URL individuelles au niveau de chaque utilisateur à CDO.

Vous pouvez créer une liste à l’aide d’un éditeur de texte, comme le Bloc-notes. Vous pouvez ajouter une liste de publipostage à Business Desk à l’aide du module Gestionnaire de listes qui permet d’importer des fichiers texte ASCII, des fichiers provenant de Microsoft Excel ou Microsoft Outlook, ou des tables issues de bases de données SQL Server. Pour plus d’informations sur la création de listes de publipostage, consultez Création d’une liste de publipostage.

Pour plus d’informations sur l’importation de listes de publipostage pour une campagne de publipostage, consultez Importation d’une liste de publipostage.

Voir aussi

Création d’une liste de publipostage

Importation d’une liste de publipostage

Gestion des listes des enregistrements utilisateur

Listes des utilisateurs

Listes génériques


Listes des utilisateurs

Les listes des utilisateurs contiennent des lignes d’identificateurs d’utilisateurs et, facultativement, d’autres propriétés de profil utilisateur. Une liste des utilisateurs est une liste contenant une colonne rcp_guid. Vous pouvez exporter des listes des utilisateurs du module Gestionnaire de listes vers le module Utilisateurs, puis effectuer des mises à jour en bloc des propriétés ayant trait à des utilisateurs spécifiques.

Voir aussi

Création d’une liste de publipostage

Importation d’une liste de publipostage

Recherche de profils utilisateur dans une liste de publipostage

Importation et exportation de listes

Gestion des listes des enregistrements utilisateur

Listes génériques


Listes génériques

Contrairement aux listes des utilisateurs et listes de publipostage, les listes génériques ne sont soumises à aucune exigence en matière de contenu. Un développeur de site doit personnaliser votre application pour permettre l’utilisation des listes génériques.

Les listes génériques peuvent contenir toutes sortes d’éléments et peuvent inclure des en-têtes, comme dans l’exemple suivant :

ProductID | Nom du produit | Unité
1 | Chaussettes | 100
2 | Maillots | 20

Vous pouvez utiliser les listes génériques pour définir des propriétés de produits. Vous exécutez le rapport Ventes produits de Commerce Server pour identifier les produits qui ont le plus de succès (en termes de ventes) sur votre site Web. Vous utilisez ensuite le module Gestionnaire de listes pour importer les résultats de ce rapport sous la forme d’une liste de produits, puis vous utilisez le module Éditeur de catalogue pour définir une propriété pour ces produits, les identifiant comme des produits qui se vendent bien. Vous pouvez alors utiliser cette propriété pour créer des expressions de ciblage ou pour augmenter le prix de ces produits de cinq pour cent.

Voir aussi

Listes de publipostage

Listes des utilisateurs

Importation et exportation de listes

Gestion des listes des enregistrements utilisateur


Listes dynamiques et listes statiques

Les listes d’utilisateurs, les listes de publipostage et les listes génériques peuvent être dynamiques ou statiques :

  • Les listes dynamiques sont créées au moment de l’exécution, par exemple lors de l’exportation de la liste à partir du Gestionnaire de listes, pour une utilisation dans une campagne de publipostage. Chaque fois que cette liste est demandée, le Gestionnaire de listes récupère les données les plus récentes dans le Data Warehouse. Seules les informations nécessaires à la création de la liste sont stockées dans la base de données utilisée par le Gestionnaire de listes. Utilisez des listes dynamiques pour les campagnes de publipostage que vous exécutez fréquemment ou pour les listes de destinataires qui sont souvent mises à jour.
  • Les listes statiques sont immédiatement créées sur demande, puis stockées dans la base de données utilisée par le Gestionnaire de listes. Utilisez des listes statiques pour les campagnes de publipostage que vous n’exécutez pas fréquemment ou pour les listes de destinataires qui ne sont pas souvent mises à jour.

Voir aussi

Importation et exportation de listes

Gestion des listes des enregistrements utilisateur

Création d’une liste de publipostage


Publipostage

Vous créez un publipostage pour diffuser des publicités sous forme de messages électroniques à un groupe d’utilisateurs ciblé. L’objectif est d’obtenir un taux de réponse élevé à ces publipostages. Vous pouvez envoyer des messages électroniques personnalisés à partir d’une page Web, ou des messages non personnalisés à partir d’un fichier texte simple. Vous pouvez créer des messages de publipostage qui comprennent des pièces jointes, telles que des images, remises ou adresses URL. Le service de publipostage est conçu pour envoyer en bloc des messages électroniques personnalisés à des millions d’utilisateurs.

Pour créer un publipostage, vous devez utiliser le module Gestionnaire de campagnes dans Business Desk. Le publipostage est traité par le service de publipostage, qui est un puissant moteur capable d’envoyer un important volume de messages électroniques très rapidement.

Pour créer un publipostage, vous devez effectuer les étapes suivantes :

  • Créer le message. Pour pouvoir créer des messages électroniques personnalisés, votre développeur de site doit au préalable créer des pages ASP comportant le texte personnalisé, puis les ajouter au serveur Web. Il doit vous donner l’adresse URL correspondant à l’emplacement des pages ASP. Pour créer un message non personnalisé, vous pouvez taper le texte dans un fichier texte simple à l’aide d’un éditeur de texte tel que le Bloc-notes.
  • Générer une liste de destinataires. Vous pouvez générer une liste de destinataires pour la campagne de publipostage grâce aux puissants outils d’analyse de Commerce Server. Par exemple, à l’aide du module Rapports de Business Desk, vous pouvez exécuter un rapport sur les données du Data Warehouse et obtenir une liste d’utilisateurs spécifiques. Vous pouvez ensuite exporter la liste résultante vers le Gestionnaire de listes. Une fois qu’une liste a été exportée vers le Gestionnaire de listes, elle est disponible pour le service de publipostage.

    Vous ne pouvez pas utiliser de groupes cibles pour envoyer directement le publipostage aux adresses de messagerie des utilisateurs.

  • Créer et planifier la campagne de publipostage. Utilisez le module Gestionnaire de campagnes pour spécifier le nom de la campagne marketing, le nom de la liste de destinataires, l’heure et la date de début de l’élément de la campagne, ainsi que l’adresse URL (pour les messages personnalisés) ou le fichier statique où le service de publipostage doit trouver le corps du message.

Pour plus d’informations sur l’ajout de publipostage, consultez Création de publipostage.

Cette section contient les rubriques suivantes :

  • Formats des messages
  • Listes des annulations d’abonnements
  • Traitement du publipostage


Formats des messages

Plusieurs méthodes permettent de développer un contenu dans lequel envoyer votre message de publipostage. Le format d’un message contrôle le type de format dans lequel l’objet de données de collaboration (CDO, Collaboration Data Object) traduit le résultat. Le service de publipostage prend en charge trois types de formats de messages : texte, MIME et MHTML.

  • Texte. Applique un format ASCII au message.
  • MIME (Multipurpose Internet Mail Extensions) Norme Internet officielle qui spécifie la façon dont les messages doivent être formatés pour pouvoir être échangés sur différents systèmes de messagerie. MIME est un format souple, qui étend le protocole SMTP (Simple Mail Transfer Protocol) pour permettre la transmission de données telles que des fichiers vidéo, son ou binaires par messagerie Internet sans conversion préalable dans un format ASCII.
  • MHTML (MIME Encapsulation of Aggregate HTML Documents) Envoie des parties d’une page Web ou l’intégralité d’une page sous forme de message. Le message peut inclure tout ou partie de la mise en forme, des graphiques et d’autres éléments HTML contenus dans la page Web d’origine.
MHTML se base sur MIME pour permettre une communication plus souple des documents HTML. Le message peut inclure d’autres documents liés dans un corps MIME de type multipart/related. Les liens de la partie HTML vers d’autres parties incluses peuvent être fournis par des URL CID (ID de contenu) ou tout autre type d’URL. La partie corps liée est identifiée dans son en-tête, soit par un ID de contenu (lien par URL de type CID), soit par un emplacement de contenu (lien par un autre type d’URL).

Si vous ne souhaitez pas que le service de publipostage formate les messages électroniques en MHTML, mais envoie la sortie HTML de la page ASP sans apporter le moindre changement au message, consultez le composant de publipostage ComposeDMLMessage dans la phase « Composer-courier » du fichier DMLPipe.pcf à l’emplacement <lecteur>: \Program Files\Microsoft Commerce Server 2002. Le composant ComposeDMLMessage est chargé du formatage du corps des messages.

Les figures ci-dessous représentent des messages électroniques dans les trois formats de messages (texte, MIME et MHTML) lorsqu’ils rencontrent du contenu HTML pour la page ASP suivante :

<html>

<body>

<h1>SPRING SALE !!!</h1>

<img src=http://<server name>/SKY.JPG height=100 width=100 />

</body>

</html>

La figure suivante représente un message envoyé au format texte. Les objets HTML sont enlevés et seul le texte est envoyé.

Remarque

Les captures d’écran suivantes proviennent de Outlook Express. Leur aspect peut varier en fonction du client de messagerie utilisé.

Message au format texte

La figure suivante représente un message envoyé au format MIME. Les objets HTML sont codés au format MIME, l’image SKY.jpg est récupérée à partir de son emplacement dans la page ASP, puis ajoutée en tant que pièce jointe. Le message lui-même ne contient que le texte du message.

Message au format MIME

La figure suivante représente un message envoyé au format MHTML. Les objets HTML sont codés en tant qu’images au format MHTML et l’image SKY.jpg est récupérée à partir de son emplacement dans la page ASP. L’image est codée en BASE-64, et l’image est associée à un CID, auquel est lié en interne l’attribut SRC de l’image.

Message au format MHTML

Important

  • Les trois formats de messages (texte, MIME et MHTML) qui sont disponibles dans Business Desk lorsque vous créez votre campagne de publipostage sont les valeurs par défaut, et ne sont utilisés que si le format de messagerie propre à l’utilisateur est NULL. Si un format de messagerie propre à l’utilisateur a été spécifié lorsque vous avez créé ou importé la liste de publipostage, le format propre à l’utilisateur sera utilisé lors de l’envoi du publipostage.

Voir aussi

À propos des campagnes marketing

Service de publipostage

Création de publipostage

Ajout des propriétés du publipostage

Gestion des listes des enregistrements utilisateur


Listes des annulations d'abonnements

Envoyer des commentaires sur cette page Commerce Server 2002

Listes des annulations d’abonnements

Le service de publipostage prend en charge la fonctionnalité d’annulation d’abonnement. Pour les travaux de publipostage s’exécutant dans le cadre d’un élément de la campagne, les destinataires individuels peuvent demander d’annuler l’abonnement à un élément de la campagne de publipostage. Les pages ASP (Active Server Page) d’annulation d’abonnement permettent aux utilisateurs de s’ajouter à une liste des annulations d’abonnements.

La page exemple ASP d’annulation d’abonnement est utilisée conjointement avec la page exemple ASP ServiceReminder, qui est utilisée pour créer le contenu de publipostage. Lorsqu’elle est implémentée, cette page ASP envoie des messages électroniques personnalisés rappelant à chacun de vos utilisateurs de venir sur votre site Web pour s’informer sur les nouveaux produits. Cette page ASP comprend également un lien d’annulation d’abonnement qui servira aux utilisateurs s’ils souhaitent être supprimés de votre liste de publipostage.

Le développeur chargé de créer la page ASP pour les travaux de publipostage peut fournir des liens vers une page ASP d’annulation d’abonnement, permettant ainsi au destinataire d’annuler son abonnement à tous les publipostages du site ou à l’élément de la campagne de publipostage en cliquant sur le lien approprié. Lorsqu’un travail du service de publipostage s’exécute dans le cadre d’un élément de la campagne, le service de publipostage recherche la présence de la liste des annulations d’abonnements au niveau du site et de celle au niveau de l’élément de la campagne. Si l’une des listes existe, elle est retirée de la liste de publipostage d’origine laissant ainsi à la liste résultante le rôle de nouvelle liste de publipostage.

Voir aussi

À propos des campagnes marketing

Service de publipostage

Création de publipostage


Traitement du publipostage

Le service de publipostage fournit une interface de ligne de commande qui permet de créer, d’exécuter, d’analyser et de supprimer des travaux du service de publipostage, mais également d’effectuer des tâches de démarrage et de récupération de travaux. Pour configurer les propriétés du service de publipostage, vous devez utiliser le Gestionnaire Commerce Server.

Le service de publipostage effectue les tâches suivantes :

  • il envoie des messages électroniques aux destinataires ;
  • il gère les messages électroniques récurrents en tant que travaux de publipostage ;
  • il prépare les corps des messages non personnalisés à partir d’un fichier texte simple ;
  • il génère les messages personnalisés à partir d’une page ASP ;
  • il met en forme les en-têtes de messages électroniques ;
  • il définit la valeur de la page de codes (valeur utilisée dans les listes de publipostage, telles que US-ASCII et ISO-8859-1) et convertit les corps des messages selon le type de message approprié : texte, MIME (Multipurpose Internet Mail Extensions) ou MHTML (MIME Encapsulation of Aggregate HTML Documents) ;
  • il traite rapidement de longues listes de destinataires auxquels vous souhaitez envoyer des messages électroniques ;
  • il autorise les pièces jointes.

Le pipeline du service de publipostage sert à traiter des listes de destinataires. Vous pouvez ajouter de nouveaux composants au pipeline, intégrer les composants à des systèmes professionnels de gestion d’activité ou les remplacer par des composants de fournisseurs tiers.

Voir aussi

À propos des campagnes marketing

Service de publipostage

Création de publipostage

Gestion des listes des enregistrements utilisateur


Concepts de ciblage et de personnalisation

Le ciblage et la personnalisation sont des processus de fourniture de contenu personnalisé à un ou plusieurs utilisateurs, ou à n’importe quelle autre entité commerciale dotée d’un profil. Par exemple, si vous gérez un site Web sur le sport, vous pouvez fournir des informations axées sur le tennis uniquement aux joueurs de tennis ou aux utilisateurs intéressés par le tennis. Vous pouvez réaliser des annonces concernant les prochains tournois de tennis ou des publicités et des promotions pour les produits liés au tennis.

    Vous pouvez utiliser Commerce Server 2002 pour effectuer un ciblage basé sur des expressions, également appelé ciblage explicite. Ce type de ciblage s’utilise lorsque vous connaissez les propriétés de profil des utilisateurs auxquels vous fournissez du contenu ou lorsque le contexte vous est familier et que vous savez quel est le contenu à offrir.

    Les modules Campagnes marketing de Commerce Server Business Desk vous permettent de spécifier ce type d’informations et de fournir le contenu souhaité aux utilisateurs. Le ciblage basé sur des expressions améliore votre capacité à fournir un contenu intéressant les utilisateurs qui le reçoivent. Les utilisateurs sont plus enclins à revenir sur votre site lorsqu’ils s’attendent à recevoir un contenu personnalisé.

    Cette section contient les rubriques suivantes :

    • Utilisation des méthodes de ciblage dans la gestion d’un site Web
    • Ciblage basé sur des expressions
    • Le Générateur d’expressions
    • Traitement des expressions


Utilisation des méthodes de ciblage dans la gestion d'un site Web

Envoyer des commentaires sur cette page Commerce Server 2002

Utilisation des méthodes de ciblage dans la gestion d’un site Web

Vous pouvez cibler un contenu en fonction de n’importe quel élément à caractère commercial possédant un profil. Par exemple, vous pouvez cibler un contenu en fonction d’utilisateurs anonymes, d’utilisateurs inscrits, de sociétés ou de contextes. Pour obtenir des informations conceptuelles sur les profils, consultez À propos des profils.

Business Desk vous permet de cibler un contenu en fonction d’éléments à caractère commercial. Par exemple, vous pouvez effectuer les actions suivantes :

  • Créer une campagne de publipostage pour adresser des messages électroniques personnalisés aux utilisateurs.
  • Fournir aux utilisateurs un contenu tel que de la publicité, d’après certaines propriétés de profil utilisateur. Par exemple, vous avez la possibilité d’afficher des publicités pour des vélos aux utilisateurs dont la propriété Sport favori est « Cyclisme ».
  • Identifier des groupes de pages Web, puis cibler le contenu à afficher uniquement sur ces pages, ou seulement lorsque des utilisateurs possédant des propriétés spécifiques accèdent à ces pages.
  • Afficher un contenu sur une page en fonction des propriétés d’un autre contenu sur cette page. Par exemple, si votre site Web propose des actualités, vous pouvez attribuer des profils au contenu en spécifiant si la propriété « Type_Temps » est « Chaud » ou « Froid ». Si Type_temps = Chaud, vous pouvez afficher une publicité pour des climatiseurs.
  • Appliquer des remises à certains produits de votre catalogue d’après leurs caractéristiques ou en fonction du profil utilisateur.
  • Choisir le moment où une remise doit être affichée et celui où elle doit être appliquée à la commande. Par exemple, vous pouvez appliquer une remise au moment où les utilisateurs placent l’article dans leur panier ou lorsqu’ils procèdent à la validation des achats.

Voir aussi

Ciblage basé sur des expressions

Le Générateur d’expressions

Traitement des expressions


Ciblage basé sur des expressions

Le ciblage basé sur des expressions est un processus de création d’expressions qui définissent les utilisateurs ou le contexte à cibler, ainsi que le contenu à fournir. Une expression est une condition qui est évaluée par rapport à des profils afin de déterminer si un contenu doit être fourni ou si une autre action doit être effectuée. Par exemple, user.totalvisit > 100 est un exemple d’expression. Si cette expression prend la valeur « True », un contenu spécifique s’affiche pour l’utilisateur.

Les modules Campagnes marketing Business Desk vous permettent de créer des expressions, puis d’associer ces expressions à l’action à effectuer une fois l’expression évaluée. Vous pouvez créer deux types d’expressions :

  • Expressions de ciblage. Elles identifient l’emplacement, le moment et le destinataire du contenu à afficher. Par exemple, vous pouvez cibler un contenu pour des utilisateurs possédant des propriétés de profil spécifiques. Vous pouvez également cibler un contenu en fonction des sections spécifiques d’un site Web, appelées groupes de pages. Par exemple, vous pouvez créer une expression de ciblage qui affiche certaines publicités uniquement sur les pages de sport.
  • Expressions de catalogue. Elles indiquent les produits d’un catalogue auxquels il est possible d’appliquer une remise. Par exemple, Prix.produit = 120,00 peut être une expression de catalogue. Par exemple, si cette expression est « True » pour un produit donné, une remise de 10 pour cent est appliquée au prix du produit lorsque les utilisateurs l’ajoutent à leur panier d’achat.

Groupes cibles

Après avoir créé des expressions de ciblage, vous pouvez les associer pour former un groupe cible. Un groupe cible est un ensemble d’expressions et d’actions. Par exemple, vous créez une expression destinée à afficher un contenu spécifique aux utilisateurs ayant visité le site dix fois et une autre expression pour afficher un contenu aux utilisateurs ayant acheté un maillot de football. Vous pouvez associer les deux expressions en un groupe cible à l’aide des instructions AND ou OR. Par exemple :

Si l’utilisateur a visité le site 10 fois et (AND) l’utilisateur a acheté un maillot de football, afficher une publicité pour un produit en relation avec le football.

Dans un groupe cible, vous associez les expressions en spécifiant l’action à entreprendre lorsque chaque expression prend la valeur « True ». Chaque action possède deux multiplicateurs : un multiplicateur à appliquer si l’expression prend la valeur « True », et un multiplicateur à appliquer si l’expression prend la valeur « False ». Lorsque le multiplicateur est appliqué, l’expression reçoit un score qui détermine si le contenu peut être fourni ou non. Vous pouvez spécifier les actions suivantes :

  • Cibler. Si l’expression prend la valeur « True », le score augmente, de même que la probabilité d’affichage du contenu. Si l’expression prend la valeur « False », le score n’est pas modifié. Dans ces deux scénarios, le contenu peut être fourni.
  • Exiger. Si l’expression prend la valeur « True », le contenu peut être fourni ; si la valeur est « False », le contenu ne peut pas être fourni.
  • Exclure. Si l’expression prend la valeur « True », le contenu ne peut pas être fourni ; si la valeur est « False », le contenu peut être fourni.
  • Sponsoriser. Si l’expression prend la valeur « True », le contenu peut être fourni et aucun autre contenu n’est possible sauf s’il possède également une expression avec action = Sponsoriser. (Sponsoriser ne possède qu’un seul multiplicateur.) Par exemple, si Microsoft sponsorise une publicité sur une page d’accueil, seules les publicités de Microsoft s’affichent ; cependant, s’il existe plusieurs publicités d’autres sociétés sponsorisant la page d’accueil, ces publicités peuvent également être affichées.

Un développeur de site peut modifier les valeurs des multiplicateurs livrés avec Commerce Server. Cette opération se justifie si vous voulez donner aux expressions comportant un type d’action donné une priorité plus élevée qu’aux expressions comportant un autre type d’action.

Voir aussi

Utilisation des méthodes de ciblage dans la gestion d’un site Web

Le Générateur d’expressions

Traitement des expressions


Générateur d'expressions

Envoyer des commentaires sur cette page Commerce Server 2002

Générateur d’expressions

La fonctionnalité de Commerce Server qui permet aux chefs d’entreprise de créer, modifier et afficher des expressions s’appelle le Générateur d’expressions. Le Générateur d’expressions fournit l’interface utilisateur nécessaire à la création d’expressions. Il accède aux propriétés appropriées pour créer une expression, la nommer et la stocker dans les bases de données Commerce Server.

Le Générateur d’expressions est conçu de telle sorte que les développeurs de site peuvent facilement incorporer sa fonctionnalité et son interface utilisateur dans d’autres modules Business Desk. En outre, il peut être appelé par n’importe quelle application Web qui utilise et manipule des expressions, ce qui vous permet de l’intégrer à d’autres processus. Par exemple, si vous possédez déjà un processus de gestion de contenu, vous pouvez y incorporer la fonctionnalité du Générateur d’expressions, puis cibler le contenu en fonction des utilisateurs.

Pour créer des applications qui utilisent le Générateur d’expressions, vous effectuez les actions suivantes :

  • Définir des profils. Vous spécifiez les profils à utiliser par l’expression, et le Générateur d’expressions charge ces définitions de profils pour élaborer l’expression. Vous pouvez également spécifier un filtre de propriétés de profil pour limiter les propriétés du profil qui seront à la disposition d’un utilisateur du Générateur d’expressions.
  • Enregistrer des expressions. Vous pouvez spécifier l’utilisation d’une banque d’expressions/de profils, dans laquelle le Générateur d’expressions charge et enregistre les expressions.
  • Afficher des messages aux utilisateurs. Vous pouvez personnaliser les messages affichés dans l’interface utilisateur du Générateur d’expressions. Par exemple, le message de titre par défaut est « Créer une expression », mais pour les besoins de votre implémentation, vous pouvez modifier ce message en « Créer une expression de ciblage publicitaire ».

Le Générateur d’expressions utilise le langage DHTML (Dynamic Hypertext Markup Language) pour son interface utilisateur, aussi les feuilles de style de l’application s’appliquent-elles à l’interface utilisateur du Générateur d’expressions, donnant ainsi à votre application un aspect uniforme.

Voir aussi

Ciblage basé sur des expressions

Utilisation des méthodes de ciblage dans la gestion d’un site Web

Traitement des expressions


Traitement des expressions

Commerce Server effectue plusieurs étapes pour spécifier le contenu qui doit être affiché à l’utilisateur. Les composants suivants sont utilisés lors du processus :

  • ExpressionEval. Cet objet COM (Component Object Model) prend l’expression et les données utilisateur comme entrée, puis traite l’expression pour déterminer si elle prend la valeur « True » ou « False ».
  • Infrastructure de sélection de contenu (CSF, Content Selection Framework). Cette infrastructure au niveau de la plate-forme comprend un ensemble de composants et de pipelines (le pipeline de sélection de contenu et le pipeline de traitement des événements) qui détermine l’action à exécuter comme résultat de l’expression.

La figure suivante illustre la manière dont les expressions de ciblage, les expressions de catalogue, les données utilisateur et les données de contexte sont entrées dans l’Évaluateur d’expressions, ce qui produit des résultats ayant une valeur True, False ou non définie. Le résultat est entré dans l’infrastructure CSF, qui détermine alors l’action à exécuter.

Figure illustrant la manière dont les expressions de ciblage, les expressions de catalogue, les données utilisateur et les données de contexte sont entrées dans l'Évaluateur d'expressions.

Voir aussi

À propos des profils

Création des expressions de la campagne marketing

Création d’une expression de catalogue

Création d’une expression de ciblage

Création d’un groupe cible


Méthodes conseillées et astuces pour les campagnes marketing

Cette rubrique présente les recommandations et astuces pour la création et la gestion de vos campagnes marketing.

Cette section contient les rubriques suivantes :

  • Méthodes conseillées pour les campagnes marketing
  • Astuces pour les campagnes marketing


Méthodes conseillées pour les campagnes marketing

Les rubriques suivantes sont des recommandations pour créer et gérer vos campagnes marketing.

Méthodes conseillées pour les publicités

Méthodes conseillées pour les remises

Méthodes conseillées pour les publicités

  • Utiliser les paramètres par défaut de l’infrastructure de sélection de contenu (CSF).

    Ne modifiez pas les paramètres par défaut des composants CSF, à moins que les stratégies de votre entreprise ne l’imposent.

  • Essayer d’utiliser des groupes de pages chaque fois que possible au lieu d’expressions de ciblage.

    L’évaluation des expressions demande davantage de temps que l’élimination des groupes de pages.

Méthodes conseillées pour les remises

  • Une priorité différente doit être attribuée à chaque remise du site.

    L’attribution d’une priorité différente à chaque remise du site permet au chef d’entreprise de déterminer le moment où une remise spécifique sera appliquée. Si plusieurs remises possèdent la même priorité, le système utilise son algorithme interne pour déterminer les remises à appliquer. Bien que cette méthode soit cohérente, elle n’est pas facilement prévisible et peut ne pas répondre aux souhaits du chef d’entreprise.

  • Déterminer ce qui est attendu d’une remise avant de la créer.

    Il est important de comprendre les résultats que vous attendez de chaque remise avant de la créer. Créer une remise est une procédure complexe, et les résultats dépendent de chacun des composants de la remise, comme la priorité, la condition, l’avantage et les stratégies d’interaction des remises.

  • Lire attentivement la documentation relative aux remises avant d’exécuter les remises sur votre site.
  • Afficher un aperçu de vos remises sur un serveur de test avant le stade de la production.

    Dans la mesure où il existe une multitude de scénarios de remise et où vous ne pouvez pas anticiper sur les articles que l’utilisateur placera dans son panier, il est recommandé de créer vos remises sur un serveur de test, qui vous permettra précisément de tester vos scénarios de remise avant le stade de la production.

  • Éviter d’enregistrer toutes les remises (orderform)._discounts comme faisant partie du formulaire de commande.

    L’objet ContentList n’est pas conçu pour la sérialisation en bloc et, par conséquent, l’enregistrement de toutes les remises (orderform)._discounts comme faisant partie du formulaire de commande peut se traduire par une pénalité en termes de performances.


Astuces pour les campagnes marketing

Les rubriques suivantes sont des astuces pour créer et gérer vos campagnes marketing.

Astuces pour les campagnes de publipostage

Astuces pour les publicités

Astuces pour les expressions de campagne marketing

Astuces pour les remises

Astuces pour l’importation et l’exportation de listes

Astuces pour la publication des campagnes marketing

Astuces pour les campagnes de publipostage

  • Avant de créer une campagne de publipostage, assurez-vous que l’Agent SQL Server est en cours d’exécution.

    Si ce n’est pas le cas, vous ne pourrez pas enregistrer votre campagne de publipostage. Pour plus d’informations sur l’Agent SQL Server, contactez votre administrateur système.

  • Si l’Agent SQL Server s’arrête pendant l’exécution d’un travail de publipostage planifié, le travail arrête de s’exécuter et ne peut pas être redémarré.

    Lorsqu’un travail planifié est arrêté de cette manière, aucun élément n’indique que le travail a échoué. Vous devez redémarrer l’Agent SQL Server puis redémarrer le travail de publipostage.

Astuces pour les publicités

  • Pour que vous puissiez cibler une publicité vers un groupe de pages, votre développeur de site doit préalablement activer la page pour la publicité.

    Pour activer une page pour la publicité, consultez l’exemple Ad Sitelet dans le Kit de développement (SDK) de Commerce Server 2002.

Astuces pour les expressions de campagne marketing

  • Dans les expressions de campagne marketing, utilisez un point-virgule ( ;) pour séparer les valeurs.

    N’utilisez pas la virgule, car elle n’est pas reconnue en tant que séparateur. Par exemple, une liste de nombres doit être entrée sous la forme 2 534; 3 485; 6 982. Le caractère d’échappement à utiliser pour entrer un point-virgule est la barre oblique inverse (\). Par exemple, la valeur ABC;12 doit être entrée ainsi : ABC\;12.

Astuces pour les remises

  • Si vous souhaitez spécifier une limite du nombre de remises qu’un utilisateur peut recevoir sur des paniers multiples, contactez votre développeur de site.

Astuces pour l’importation et l’exportation de listes

  • Lorsque vous spécifiez le chemin d’accès d’un fichier que vous importez ou exportez (par exemple, <lettre lecteur>:\<nomfichier.txt>), <lettre lecteur> fait référence au serveur (et pas au client).
  • Seule une liste de distribution par messagerie (liste contenant une colonne rcp_email) peut être exportée dans un fichier.
  • Si l’exportation de votre liste échoue, consultez le journal des événements de Windows NT sur le serveur Business Desk

    Le journal des événements répertorie les informations détaillées sur les pannes. Vous pouvez aussi contacter votre administrateur système pour plus d’informations.

  • Pour trier ou rechercher des enregistrements spécifiques dans une liste exportée vers un fichier CSV (valeurs séparées par des virgules), vous pouvez ouvrir le fichier dans une application dotée des fonctionnalités de tri et de recherche.

Astuces pour la publication des campagnes marketing

  • Si vous ne disposez pas des autorisations appropriées ou si vous rencontrez des problèmes de connectivité, le site ne sera pas mis à jour avec les nouveaux éléments de la campagne.

    En outre, pour publier une campagne, une page ASP appelée BDRefresh.asp doit être présente dans le répertoire racine du site sur chaque serveur Web. Contactez votre administrateur système si vous ne pouvez pas mettre à jour votre site.


Définition des tables de références

En définissant vos tables de références, vous pouvez refléter précisément votre modèle d’entreprise. Les tables de références maintiennent la validité des codes d’activité, des groupes de pages et des tailles de contenu de la publicité. Si un groupe de pages utilisé par un élément de la campagne n’est pas validé par rapport aux groupes de pages des tables de références, l’élément de la campagne ne sera pas mis en production.

Le module Tables de références permet d’ajouter des codes d’activité, des groupes de pages et des tailles de contenu en plus de ceux fournis par Commerce Server 2002. Vous pouvez aussi supprimer les codes d’activité, les groupes de pages et les tailles de contenu que vous n’utilisez pas.

Cette section contient les rubriques suivantes :

  • Spécification des tailles de contenu
  • Ajout de codes d’activité
  • Ajout de Groupes de pages


Spécification des tailles de contenu

Vous pouvez spécifier la taille souhaitée pour le contenu d’un élément de la campagne. Commerce Server 2002 fournit plusieurs tailles de contenu par défaut. Les tailles de contenu proviennent d’une liste de tailles fréquemment utilisées approuvée par le comité Standards & Pratiques de l’IAB (Internet Advertising Bureau). Les tailles de contenu sont validées par l’intermédiaire de la section Taille du contenu du module Tables de références.

Les tailles de contenu des tables de références sont disponibles lorsque vous sélectionnez la taille souhaitée pour le contenu d’un élément de la campagne. Vous pouvez afficher, modifier et supprimer n’importe laquelle des tailles prédéfinies. Vous pouvez également créer une taille de contenu adaptée à vos besoins.

Pour spécifier une taille de contenu

  1. Dans Campagnes marketing, cliquez sur Tables de références.
  2. Dans l’écran Tables de références, dans la section Tailles du contenu, cliquez sur Nouvelle, puis effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Balise Taper le nom de la balise.

    Une balise est une valeur de paramètre à transmettre dans une demande de contenu sur une page qui spécifie comment le document ou une partie de celui-ci doivent être mis en forme.
    Nom | Taper un nom pour la nouvelle taille de contenu.
    Largeur | Taper la largeur (en pixels) de la taille du contenu.
    Hauteur | Taper la hauteur (en pixels) de la taille du contenu.
  3. Cliquez sur Accepter.

    La nouvelle taille de contenu est ajoutée à la liste de tailles de contenu. Les éléments de taille de contenu apparaissent dans la liste en ordre alphabétique par attribut de Balise.

  4. Pour enregistrer la nouvelle taille de contenu et revenir à l’écran Gestionnaire de campagnes, cliquez sur Enregistrer et retour dans la barre d’outils.

La nouvelle taille de contenu est enregistrée et est maintenant disponible lorsque vous sélectionnez les tailles de contenu pour les éléments de la campagne.

Voir aussi

Définition de la taille d’une publicité

Définition de la taille d’une remise

Création d’une publicité

Création d’une remise

Spécification des tailles de contenu

Spécification de l’affichage d’une publicité


Ajout de codes d'activité

Envoyer des commentaires sur cette page Commerce Server 2002

Ajout de codes d’activité

Les codes d’activité fournissent un type de définition des secteurs d’activité, par exemple le secteur automobile, aéronautique ou agroalimentaire. Les codes d’activité permettent d’identifier le secteur d’activité associé à une publicité, afin d’éviter que deux publicités de sociétés concurrentes d’un même secteur d’activité s’affichent sur la même page. Vous pouvez aussi mettre à jour vos codes d’activité, par exemple pour ajouter des codes de boissons pour du café et des boissons non alcoolisées, de sorte que des publicités pour différentes boissons puissent s’afficher sur la même page.

Commerce Server fournit plusieurs codes d’activité courants. Les codes d’activité utilisés dans les publicités sont validés par l’intermédiaire de la section Code d’activité du module Tables de références. Les codes d’activité des tables de références sont disponibles lorsque vous sélectionnez le code d’activité souhaité pour une publicité. Vous pouvez afficher une liste de tous les codes d’activité disponibles, ajouter de nouveaux codes, modifier des codes existants et supprimer des codes de la section Codes d’activité du module Tables de références.

Pour créer un code d’activité

  1. Dans Campagnes marketing, cliquez sur Tables de références.
  2. Dans l’écran Tables de références, dans la section Codes d’activité, cliquez sur Nouvelle, puis effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Code d’activité | Taper un nom pour le nouveau code d’activité.
  3. Cliquez sur Accepter.

    Le nouveau code d’activité est ajouté à la liste de codes d’activité par ordre alphabétique.

  4. Pour enregistrer le nouveau code d’activité et revenir à l’écran Gestionnaire de campagnes, cliquez sur Enregistrer et retour dans la barre d’outils.

Le nouveau code d’activité est enregistré et est disponible lorsque vous sélectionnez les codes d’activité pour les éléments de la campagne.

Voir aussi

Création d’une publicité

Tables de références


Ajout de groupes de pages

Vous utilisez les groupes de pages pour spécifier les pages sur lesquelles vos publicités apparaissent sur votre site Web. À l’aide des groupes de pages, vous pouvez placer des publicités ciblées sur toutes les pages de votre site ou seulement sur une page particulière. Par exemple, le site d’un journal peut comporter un groupe de pages Sports pour lesquelles vous ciblez des publicités relatives au sport. En outre, vous pouvez facturer aux annonceurs différents taux en fonction du groupe de pages contenant la publicité. Les groupes de pages sont validés par l’intermédiaire de la section Groupes de pages du module Tables de références.

Les groupes de pages des tables de références sont disponibles lorsque vous sélectionnez la page souhaitée pour un élément de la campagne. Une fois que le groupe de pages utilisé par l’élément de la campagne est validé par rapport à la propriété Groupe de pages, l’élément de la campagne peut être mis en production. Vous pouvez afficher une liste de tous les groupes de pages actuels, ajouter des groupes de pages, les modifier et les supprimer de la section Groupe de pages du module Tables de références.

Remarque

  • Pour que vous puissiez cibler une publicité vers un groupe de pages, votre développeur de site doit préalablement activer la page pour la publicité. Pour activer une page pour la publicité, consultez l’exemple Ad Sitelet dans le Kit de développement (SDK) de Commerce Server 2002.

Pour ajouter un groupe de pages

  1. Dans Campagnes marketing, cliquez sur Tables de références.
  2. Dans l’écran Tables de références, dans la section Groupes de pages, cliquez sur Nouvelle, puis effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Groupe de pages | Taper un nom pour le nouveau groupe de pages.
    Description | Taper une description pour le groupe de pages.
  3. Cliquez sur Accepter.

    Le nouveau groupe de pages est ajouté à la liste des groupes de pages par ordre alphabétique.

  4. Pour enregistrer le nouveau groupe de pages et revenir à l’écran Gestionnaire de campagnes, cliquez sur Enregistrer et retour dans la barre d’outils.

Le nouveau groupe de pages est enregistré et est disponible lorsque vous sélectionnez les groupes de pages pour les éléments de la campagne.

Voir aussi

Tables de références

Ciblage d’une publicité pour un groupe de pages


Création d'une campagne marketing

Envoyer des commentaires sur cette page Commerce Server 2002

Création d’une campagne marketing

Une campagne marketing utilise différents types de supports de communication (par exemple, publicités et publipostage) pour parvenir à un résultat spécifique, par exemple, l’augmentation des parts de marché, l’introduction de nouveaux produits ou la fidélisation des clients. Une campagne marketing représente un ou plusieurs contrats ou commandes d’un client. Chaque client peut avoir plusieurs campagnes marketing telles qu’une campagne de sensibilisation à la marque et une campagne de fidélisation du client. Chaque campagne marketing peut être composée de plusieurs éléments de la campagne tels que des publicités, des remises ou des publipostages. Le module Gestionnaire de campagnes permet de créer et de gérer les clients, leurs campagnes marketing et les éléments de la campagne.

Pour créer une campagne marketing, vous devez d’abord ajouter le client au module Gestionnaire de campagnes. Dans le Gestionnaire de campagnes, vous devez ensuite créer une campagne marketing pour votre client, par exemple, une campagne de sensibilisation à la marque. Il faut définir le ciblage quantitatif de votre campagne marketing pour déterminer le nombre de publicités que vous souhaitez diffuser pendant une durée spécifique. Après avoir créé une campagne marketing, vous pouvez créer un ou plusieurs éléments de la campagne et spécifier l’affichage de la publicité. Après avoir défini l’affichage de la publicité, vous pouvez afficher un aperçu de la publicité avant de l’envoyer en production.

La figure suivante illustre un exemple de scénario permettant de créer une campagne marketing et de la publier sur votre site Web.

Create a Marketing Campaign scenario Publishing Campaign Changes on your WebsiteAdding a Campaign ItemGoaling a CampaignAdding a CampaignAdding a Customer
  1. Dans le module Gestionnaire de campagnes, ajoutez un nouveau client (tel que Chaussures Arbor).
  2. Dans le module Gestionnaire de campagnes, ajoutez une nouvelle campagne (telle que Vente d’automne).
  3. Planifiez la campagne marketing (par exemple, ciblage quantitatif au niveau de la campagne).
  4. Créez une publicité (telle que Sandales d’été).
  5. Dans le module Publier les campagnes marketing, mettez à jour votre site avec la nouvelle publicité.

Cette section contient les rubriques suivantes :

  • Ajout d’un client
  • Ajout d’une campagne
  • Ajout d’un élément de la campagne


Ajout d'un client

Envoyer des commentaires sur cette page Commerce Server 2002

Ajout d’un client

Pour créer une campagne marketing, vous devez d’abord ajouter des informations sur le client qui a commandé la campagne. Chaque client peut avoir plusieurs campagnes représentant un programme marketing différent. Par exemple, un client peut avoir une vente d’automne, d’une nouvelle campagne de produit et d’une remise de printemps. Chaque campagne marketing peut comporter plusieurs éléments de la campagne tels que des publicités, des remises et des publipostages.

Vous pouvez utiliser le module Gestionnaire de campagnes pour ajouter des clients, modifier les propriétés des clients et supprimer des clients.

Pour ajouter un nouveau client

  1. Dans Campagnes marketing, cliquez sur Gestionnaire de campagnes.
  2. Dans l’écran Gestionnaire de campagnes, cliquez sur Nouvelle dans la barre d’outils, puis sélectionnez Nouveau client dans la liste déroulante.
  3. Dans l’écran Gestionnaire de campagnes – Nouveau (client), dans la section Propriétés du client, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper le nom du client.
    Adresse | Taper l’adresse du client, y compris la rue, la ville, le département, le code postal et le pays/la région.
    Type Sélectionner dans la liste déroulante le type de relation avec le client. Les types de relation sont les suivants :
    • Particulier
    • Annonceur
    • Agence
    URL | Taper l’adresse URL associée au client.
    Activité Sélectionner le secteur d’activité du client.

    Les codes d’activité sont créés à l’aide du module Tables de références. Pour plus d’informations, consultez Définition des tables de références.

    Supprimé Il s’agit d’une zone non modifiable.

    Cette zone spécifie si le client a été supprimé. Pour plus d’informations sur la suppression et la restauration de clients, consultez Suppression et restauration d’un client.
    Commentaires | Taper tout commentaire nécessaire concernant le client.
  4. Dans la section Informations sur le contact, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Contact | Taper les informations de contact du client.
    Adresse de messagerie | Taper l’adresse de messagerie du contact.
    Téléphone | Taper le numéro de téléphone du contact.
    Télécopie | Taper le numéro de télécopie du contact.
  5. Pour enregistrer les informations sur le client et revenir à l’écran Gestionnaire de campagnes, cliquez sur Enregistrer et retour dans la barre d’outils.

Les informations sur le client sont enregistrées. Vous pouvez maintenant ajouter une campagne marketing pour le client.

Voir aussi

Déroulement des opérations pour la gestion des campagnes marketing

À propos des campagnes marketing

Ajout d’une campagne


Ajout d'une campagne marketing

Envoyer des commentaires sur cette page Commerce Server 2002

Ajout d’une campagne marketing

Après avoir ajouté des informations sur le client, vous pouvez ajouter une campagne marketing pour le client. Chaque client peut avoir plusieurs campagnes. Par exemple, un client peut avoir une campagne de sensibilisation à la marque et une campagne de fidélisation du client. Le module Gestionnaire de campagnes permet d’ajouter la campagne marketing et ses propriétés pour un client spécifique. Vous pouvez définir le ciblage quantitatif de la campagne marketing pour déterminer le nombre de publicités à diffuser et la durée pendant laquelle vous souhaitez les diffuser. Vous pouvez aussi utiliser le module Gestionnaire de campagnes pour copier une campagne marketing, en modifier les propriétés, la localiser, la supprimer et la restaurer.

Cette section contient les rubriques suivantes :

  • Ajout des propriétés d’une campagne marketing
  • Ciblage quantitatif d’une campagne marketing


Ajout des propriétés d'une campagne marketing

Envoyer des commentaires sur cette page Commerce Server 2002

Ajout des propriétés d’une campagne marketing

Le module Gestionnaire de campagnes permet d’ajouter les propriétés d’une campagne marketing, telles que le nom ou les dates de début et de fin d’une campagne. Vous pouvez également établir le statut, actif ou inactif, de la campagne.

Pour ajouter les propriétés d’une campagne marketing

  1. Dans Campagnes marketing, cliquez sur Gestionnaire de campagnes.
  2. Dans l’écran Gestionnaire de campagnes, sélectionnez le client pour lequel vous souhaitez créer une campagne marketing, cliquez sur Nouvelle dans la barre d’outils, puis sélectionnez Nouvelle campagne marketing dans la liste déroulante.
  3. Dans l’écran Gestionnaire de campagnes <Client> Nouvelle (campagne marketing), dans la section Propriétés de la campagne marketing, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom de la campagne marketing | Taper le nom de la nouvelle campagne marketing.
    Date de début | Sélectionner la date de début de la campagne marketing dans le calendrier déroulant.
    Date de fin Sélectionner la date de fin de la campagne marketing dans le calendrier déroulant.

    Les dates de la campagne marketing sont utilisées comme dates par défaut pour les dates des éléments de la campagne. Cependant, les dates des éléments de la campagne annulent les dates de la campagne marketing. Il est possible de définir, pour un élément de la campagne, une date ultérieure aux dates de la campagne marketing.
    Statut | Sélectionner le statut de la campagne marketing dans la liste déroulante. Le statut peut être Actif ou Inactif.
    Supprimé Il s’agit d’une zone non modifiable.

    Cette zone spécifie si la campagne marketing a été supprimée. Pour plus d’informations sur la suppression et la restauration de campagnes marketing, consultez Suppression et restauration d’une campagne marketing.
    Commentaires | Taper tout commentaire nécessaire concernant la campagne marketing.

Les propriétés de la campagne marketing sont créées.

Pour déterminer le nombre de publicités à diffuser et la durée pendant laquelle vous souhaitez les diffuser, vous devez définir un ciblage quantitatif au niveau de la campagne marketing ou au niveau des éléments de la publicité. Pour plus d’informations sur le ciblage quantitatif d’une campagne marketing, consultez Ciblage quantitatif d’une campagne marketing.

Voir aussi

Déroulement des opérations pour la gestion des campagnes marketing

À propos des campagnes marketing

Ajout d’un client


Ciblage quantitatif d'une campagne marketing

Envoyer des commentaires sur cette page Commerce Server 2002

Ciblage quantitatif d’une campagne marketing

Vous pouvez déterminer le nombre de publicités à diffuser et la durée pendant laquelle vous souhaitez les diffuser à l’aide du ciblage quantitatif de la campagne marketing. Vous pouvez effectuer le ciblage au niveau de la campagne marketing ou au niveau des éléments de la publicité. Lorsque vous créez une campagne marketing dont le ciblage quantitatif a été défini au niveau de la campagne, vous devez commander le nombre total de demandes pour toute la campagne. Supposons que vous définissiez un ciblage quantitatif au niveau de la campagne et que votre client commande 25 000 demandes de publicité. Au niveau de l’élément de la campagne, une publicité est définie pour afficher 60 pour cent des demandes de publicité et une autre publicité est définie pour afficher 40 pour cent des demandes de publicité. Si le client décide de changer le nombre de demandes de publicité pour passer à 40 000, vous n’avez pas besoin de modifier manuellement le nombre d’affichages des publicités : les proportions de 60 % et de 40 % sont conservées. Lors d’une planification au niveau des éléments de la publicité, vous devez définir individuellement le ciblage quantitatif des demandes de chacune des publicités. Pour plus d’informations sur le ciblage quantitatif d’une campagne marketing, consultez Ciblage quantitatif d’une campagne marketing.

Dans une campagne marketing, le poids s’applique uniquement aux publicités dont le ciblage quantitatif a été défini au niveau de la campagne. Pour les publicités maison, le poids est déterminé en fonction de toutes les autres publicités maison pour tous les clients et toutes les campagnes marketing. Pour les publicités payées, le poids est déterminé en fonction des autres publicités payées de la même campagne marketing.

Vous pouvez définir le ciblage quantitatif de la campagne marketing en termes de clics ou de demandes. Lorsque vous définissez un ciblage quantitatif pour une campagne marketing en termes de clics, les objectifs sont atteints lorsque l’utilisateur clique réellement sur la publicité. Lorsque vous définissez un ciblage quantitatif pour une campagne marketing en termes de demandes, les objectifs sont atteints lorsque la publicité est affichée dans le groupe de pages spécifié.

Pour définir le ciblage quantitatif d’une campagne marketing

  1. Dans Campagnes marketing, cliquez sur Gestionnaire de campagnes.
  2. Dans le Gestionnaire de campagnes, développez le client pour lequel vous souhaitez planifier une campagne marketing, sélectionnez la campagne, puis cliquez sur Ouvrir dans la barre d’outils.
  3. Dans l’écran Gestionnaire de campagnes <Nom du client> <Nom de la campagne marketing> (campagne marketing), dans la section Ciblage quantitatif de la campagne/publicité, effectuez les opérations suivantes :
    Utilisez ceci Pour faire cela
    Définir les objectifs par Sélectionner le ciblage quantitatif dans la liste déroulante. Vous pouvez effectuer le ciblage quantitatif d’une campagne marketing au niveau de la campagne marketing ou au niveau des éléments de la publicité.

    Si vous sélectionnez Campagne marketing, vous pouvez modifier le paramètre Quantité commandée dans le champ situé sous la zone Définir les objectifs par. Une fois que les éléments de la campagne de publicité ont été ajoutés à la campagne marketing dans le module Gestionnaire de campagnes, vous pouvez modifier la table dynamique située au bas de la section Ciblage quantitatif de la campagne marketing / publicité. Sélectionnez dans la table l’élément de la publicité, puis cliquez sur Modifier pour modifier le poids de chaque publicité. Les quantités correspondant à chaque publicité sont redistribuées en fonction des poids entrés.

    Si vous sélectionnez Éléments de la publicité, la zone indiquant la quantité commandée disparaît. Les quantités relatives aux campagnes marketing dont les ciblages quantitatifs ont été définis au niveau des éléments de la publicité sont entrées dans l’élément de la campagne de publicité. Une fois que les éléments de la campagne de publicité ont été ajoutés à la campagne marketing dans le module Gestionnaire de campagnes, vous pouvez modifier la table dynamique située au bas de la section Ciblage quantitatif de la campagne marketing / publicité. Sélectionnez dans la table l’élément de la publicité, puis cliquez sur Modifier pour modifier les quantités de chaque publicité.

    Cette zone n’est pas obligatoire pour les remises et les éléments de la campagne de publipostage.

    Remarques

    • Vous pouvez changer le type du ciblage en transformant un ciblage quantitatif au niveau de la campagne en ciblage quantitatif au niveau des éléments de la publicité, et inversement. Pour plus d’informations sur le changement du type de ciblage, consultez Changement entre le ciblage quantitatif de niveau campagne marketing et de niveau éléments de la publicité.
    Quantité commandée Taper le nombre de demandes commandées pour cette campagne marketing.

    Cette zone n’est disponible que si Campagne marketing a été choisi dans la zone Définir les objectifs par.
    Planifié par Sélectionner Demandes ou Clics dans la liste déroulante.

    Demandes indique que les objectifs de la campagne marketing sont atteints lorsque la publicité est affichée dans le groupe ou les groupes de pages spécifié(s).

    Clics indique que les ciblages quantitatifs de la campagne marketing sont atteints lorsque l’utilisateur clique sur la publicité.
  4. Pour enregistrer la campagne marketing et revenir à l’écran Gestionnaire de campagnes, cliquez sur Enregistrer et retour dans la barre d’outils.

La campagne est enregistrée. Vous pouvez maintenant créer un élément de la campagne pour la campagne marketing.

Changement entre le ciblage quantitatif de niveau campagne marketing et de niveau éléments de la publicité

Les campagnes marketing sont planifiées à l’aide du ciblage quantitatif de la campagne. Vous pouvez planifier au niveau de la campagne marketing ou au niveau des éléments de la publicité. Dans une campagne marketing, le poids s’applique aux publicités dont le ciblage quantitatif a été défini au niveau de la campagne. Pour les publicités maison, le poids est déterminé en fonction de toutes les autres publicités maison pour tous les clients et toutes les campagnes marketing. Pour les publicités payées, le poids est déterminé en fonction des autres publicités payées de la même campagne marketing. Après avoir planifié une campagne, vous pouvez passer du ciblage quantitatif au niveau de la campagne marketing au ciblage quantitatif au niveau des éléments de la publicité pour déterminer comment le poids des publicités sera calculé.

Le ciblage quantitatif des publicités payées est illustré par les trois scénarios suivants : Dans le premier scénario, le client commande deux publicités dont le ciblage est défini au niveau de la campagne marketing. Dans le deuxième scénario, le client souhaite ajouter des demandes pour la première publicité et passe donc à un ciblage quantitatif au niveau des éléments de la publicité. Dans le troisième scénario, le client souhaite afficher la première publicité à un taux de trois pour un par rapport à la deuxième publicité et revient, par conséquent, à un ciblage de niveau campagne marketing.

Scénario 1 : Un client commande, pour sa vente d’automne, l’exécution à proportion égale de deux publicités payées pour une quantité totale commandée de 1000 demandes. La quantité commandée pour chaque publicité est de 500. La campagne marketing a un ciblage quantitatif au niveau de la campagne.

Scénario 2 : Le client souhaite maintenant 500 demandes supplémentaires pour la première publicité. La campagne marketing est donc passée à un ciblage quantitatif au niveau des éléments de la publicité et 500 demandes supplémentaires sont ajoutées à la quantité commandée pour la première publicité pour un total de 1 000 demandes. La deuxième publicité reste à 500 demandes.

Scénario 3 : Le client veut répartir la distribution de la commande de telle sorte que la première publicité soit affichée selon un taux de 3 pour 1 par rapport à la deuxième publicité. La campagne marketing est revenue à un ciblage quantitatif au niveau de la campagne avec une quantité totale commandée de 1 500. Une fois que le poids des éléments de la campagne de publicité est passé à un rapport de 3 pour 1 (respectivement pour la première publicité et la deuxième publicité), les nouveaux poids payés pour la campagne correspondent à 1 125 pour la première publicité et à 375 pour la deuxième.

Attention

  • Dans le deuxième scénario, si le client décide de répartir la distribution de la commande et ajoute une troisième publicité avec un poids de 1, il faut modifier le poids de toutes les publicités. La publicité de la campagne marketing étant passée d’un ciblage quantitatif de niveau publicité à un ciblage quantitatif de niveau campagne, le poids payé de toutes les publicités doit être modifié, sans quoi la livraison des publicités sera erronée.

Voir aussi

Déroulement des opérations pour la gestion des campagnes marketing

À propos des campagnes marketing

Ciblage quantitatif de la campagne marketing

Ajout d’une campagne


Ajout d'un élément de la campagne

Envoyer des commentaires sur cette page Commerce Server 2002

Ajout d’un élément de la campagne

Pour planifier la diffusion du contenu, vous devez créer un élément de la campagne. Il existe trois types d’éléments de campagne dans Commerce Server : publicités, remises et publipostage. Outre ces trois éléments de la campagne, votre développeur de site peut ajouter une fonctionnalité vente associée à votre site, telle que la vente croisée intelligente et l’offre de lancement des articles.

    Pour plus d’informations sur la création d’un élément de la campagne, consultez les rubriques suivantes :

    • Création d’une publicité
    • Création d’une remise
    • Création de publipostage


Création des expressions de la campagne marketing

Vous pouvez créer les expressions de la campagne marketing pour définir les produits ou les catégories de produits auxquels vous souhaitez appliquer une remise et pour spécifier les utilisateurs pour lesquels vous souhaitez cibler vos publicités et remises. Par exemple, vous pouvez appliquer une remise de 30 pour cent sur des chaussures de randonnée à des utilisateurs dont le sport préféré est l’escalade. Vous pouvez utiliser le module Expressions de la campagne marketing pour définir les catégories, les produits ou les propriétés de produit que vous souhaitez diffuser aux utilisateurs qui répondent aux critères de votre cible. Les types d’expressions suivants peuvent être créés :

  • Expressions de catalogue. Définissez les catégories, les produits ou les propriétés de produit auxquels vous appliquez vos publicités ou remises. Par exemple, « Si Prix_livre est supérieur à 22 €, appliquer la remise ». Après avoir créé une expression de catalogue, vous pouvez cibler vos publicités et remises sur les produits qui correspondent à vos critères d’expressions de campagne marketing.
  • Expressions de ciblage. Ciblez l’élément de la campagne en fonction des propriétés de profil. Commerce Server prend en charge les profils utilisateur et les profils de contexte. Les profils utilisateur permettent de cibler des utilisateurs sur votre site. Par exemple, « si l’utilisateur est une femme, diffusez la publicité pour la peinture bleue ». Les profils de contexte permettent de cibler des informations qui représentent le contexte d’une demande de contenu. Par exemple, vous pouvez cibler un contenu pour un groupe de pages spécifique.
  • Groupes cibles : Associez plusieurs expressions de ciblage qui vous permettent de cibler vos campagnes de publicité et de remises sur des groupes d’utilisateurs qui correspondent à vos critères d’expressions de ciblage. Vous pouvez aussi utiliser des expressions de ciblage pour cibler des groupes de pages sur votre site Web. Après avoir défini vos expressions de ciblage, vous pouvez associer plusieurs d’entre elles pour créer des groupes cibles. Par exemple, les expressions « si l’utilisateur est une femme » et « si l’utilisateur a acheté de la peinture auparavant » peuvent être associées pour créer le groupe cible « Utilisateurs de peinture féminins ». Vous pouvez ensuite diffuser une publicité ou une remise sur le papier peint pour le groupe « Utilisateurs de peinture féminins ».
Vous associez les expressions en spécifiant l’action à entreprendre lorsque chaque expression prend la valeur « True ». Chaque action possède deux multiplicateurs : un multiplicateur à appliquer si l’expression prend la valeur « True », et un multiplicateur à appliquer si l’expression prend la valeur « False ». Lorsque le multiplicateur est appliqué, l’expression reçoit un score qui détermine si le contenu peut être fourni ou non. Pour plus d’informations sur les groupes cibles, consultez Groupes cibles.

Cette section contient les rubriques suivantes :

  • Création d’une expression de catalogue
  • Création d’une expression de ciblage
  • Création d’un groupe cible


Création d'une expression de catalogue

Envoyer des commentaires sur cette page Commerce Server 2002

Création d’une expression de catalogue

Vous pouvez créer des expressions de catalogue pour spécifier les catégories ou les produits auxquels vous souhaitez appliquer une remise. Vous créez une expression en sélectionnant dans une liste un produit, une propriété de produit (ou une catégorie dans un catalogue), un opérateur et, le cas échéant, en entrant la valeur qui doit être évaluée par l’expression. Par exemple, « Livres dont le prix est supérieur à 22 € » ou « Catégorie est égal à Fiction » peuvent être des expressions de catalogue. Si l’expression a la valeur « True », la remise est appliquée au produit ou à la catégorie.

Dans l’écran Expressions de catalogue, vous pouvez créer une expression de catalogue en sélectionnant l’une des options suivantes :

  • Nouveau dans le sélecteur de produits. Sélectionnez cette option pour rechercher le catalogue, le produit, la propriété du produit ou la catégorie utilisés dans les critères d’expressions.
  • Nouvelle expression de catalogue. Sélectionnez cette option pour ouvrir le Générateur d’expressions.

Nouveau dans le sélecteur de produits

Le Sélecteur de produits permet de trouver et de sélectionner le produit ou la catégorie pour laquelle vous souhaitez cibler une campagne de remise.

Pour ouvrir le Sélecteur de produits

Pour parcourir un catalogue

Pour effectuer une recherche par mots clés

Pour rechercher par propriétés de produit

Pour ouvrir le Sélecteur de produits

  1. Dans Campagnes marketing, cliquez sur Expressions de la campagne marketing.
  2. Dans l’écran Expressions de la campagne marketing : Expressions de ciblage, cliquez sur Afficher dans la barre d’outils, puis sélectionnez Expressions de catalogue dans la liste déroulante.
  3. Dans l’écran Expressions de la campagne marketing : Expressions de catalogue, cliquez sur Nouvelle dans la barre d’outils, puis sélectionnez Nouveau dans le sélecteur de produits dans la liste déroulante.

Pour parcourir un catalogue

  1. Dans la boîte de dialogue Sélecteur de produits, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Méthode de recherche | Sélectionner Parcourir le catalogue.
    Catalogue | Sélectionner dans la liste déroulante le catalogue à rechercher.
    Catégories | Sélectionner la catégorie que vous recherchez.
  2. Cliquez sur OK.
La catégorie sélectionnée s’affiche dans la zone Expression de catalogue.

Pour effectuer une recherche par mots clés

  1. Dans la boîte de dialogue Sélecteur de produits, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Méthode de recherche | Sélectionner Recherche par mots clés.
    Catalogue | Sélectionner dans la liste déroulante le catalogue à rechercher.
    Mots clés | Taper le(s) mot(s) à rechercher, puis cliquer sur Rechercher.
    Produits | Sélectionner le produit que vous souhaitez cibler.
  2. Cliquez sur OK.
Le produit sélectionné s’affiche dans la zone Expression de catalogue.

Pour rechercher par propriétés de produit

  1. Dans la boîte de dialogue Sélecteur de produits, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Méthode de recherche | Sélectionner Recherche par propriétés.
    Catalogue | Sélectionner dans la liste déroulante le catalogue à rechercher.
    Cible basée sur les conditions suivantes Cliquez sur Nouvelle.

    Dans la zone Cible basée sur les conditions suivantes, la première des trois zones d’édition est activée afin que vous puissiez sélectionner ou taper les clauses de l’expression.
    Cible basée sur les conditions suivantes :
    • Première zone. Sélectionner le groupe de propriétés dans la liste déroulante, puis sélectionner la propriété que vous souhaitez utiliser pour créer la nouvelle expression de catalogue.
    • Deuxième zone. Sélectionner dans la liste déroulante l’opérateur à utiliser avec cette expression de catalogue.
    • Troisième zone. Taper la propriété ou la valeur qui doit être évaluée par l’expression de catalogue.

    Remarque

    • Dans les expressions de campagne marketing, utilisez un point-virgule ( ;) pour séparer les valeurs. N’utilisez pas la virgule, car elle n’est pas reconnue en tant que séparateur. Par exemple, une liste de nombres doit être entrée sous la forme 2 534; 3 485; 6 982. Le caractère d’échappement à utiliser pour entrer un point-virgule est la barre oblique inverse (\). Par exemple, la valeur ABC;12 doit être entrée ainsi : ABC\;12.

    Par exemple, dans un catalogue de livres, l’expression Auteur (propriété) contient (opérateur) Penn (chaîne), applique une remise aux livres écrits par Daniel Penn.

    Sélecteur de produits

  2. Cliquez sur Appliquer.

    Les produits correspondant aux critères de sélection s’affichent dans la zone Produits.

    Remarque

    • Dans la boîte de dialogue Sélecteur de produits, Commerce Server tronque les noms de produits dépassant 30 caractères. Si vous avez plusieurs produits dont les 30 premiers caractères sont identiques, ils s’afficheront en double.
  3. Cliquez sur OK.
  4. Pour enregistrer l’expression et revenir à l’écran Gestionnaire de campagnes, cliquez sur Enregistrer et retour dans la barre d’outils.

L’expression est ajoutée à l’écran Expressions de la campagne marketing : Expressions de catalogue dans le module Expressions de la campagne marketing. Vous pouvez maintenant utiliser l’expression pour cibler une campagne de remise sur un groupe d’utilisateurs.

Nouvelle expression de catalogue

Dans l’écran Expressions de catalogue, le Générateur d’expressions permet de créer des expressions de catalogue.

Pour créer une expression de catalogue

  1. Dans Campagnes marketing, cliquez sur Expressions de la campagne marketing, puis sur Afficher dans la barre d’outils et sélectionnez Expressions de catalogue dans la liste déroulante.
  2. Dans l’écran Expressions de la campagne marketing : Expressions de catalogue, cliquez sur Nouvelle dans la barre d’outils, puis sélectionnez Nouvelle expression de catalogue.
  3. Dans la boîte de dialogue Expression de ciblage, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper un nom pour la nouvelle expression de catalogue.
    Description Taper une description pour la nouvelle expression de catalogue, avant de cliquer sur Nouvelle.

    Dans la zone Cible basée sur les conditions suivantes, la première des trois zones d’édition est activée. Sélectionner ou taper les clauses de l’expression.
    Cible basée sur les conditions suivantes :
    • Première zone. Sélectionner dans la liste déroulante l’option qui est associée à cette expression. Les valeurs figurant dans cette zone sont les suivantes : Produit et Expressions (le cas échéant).
      • Si vous sélectionnez Produit, une liste des propriétés de produit s’affiche. Sélectionnez la propriété que vous souhaitez utiliser pour créer la nouvelle expression de catalogue.
      • Si vous sélectionnez Expressions, une liste des expressions de catalogue en cours s’affiche. Sélectionner l’expression de catalogue que vous souhaitez utiliser pour créer la nouvelle expression de catalogue, puis cliquer sur OK.
    • Deuxième zone. Sélectionner dans la liste déroulante l’opérateur à utiliser avec cette expression de catalogue.
    • Troisième zone. Taper la propriété ou la valeur qui doit être évaluée par l’expression de catalogue.

    Remarque

    • Dans les expressions de campagne marketing, utilisez un point-virgule ( ;) pour séparer les valeurs. N’utilisez pas la virgule, car elle n’est pas reconnue en tant que séparateur. Par exemple, une liste de nombres doit être entrée sous la forme 2 534; 3 485; 6 982. Le caractère d’échappement à utiliser pour entrer un point-virgule est la barre oblique inverse (\). Par exemple, la valeur ABC;12 doit être entrée ainsi : ABC\;12.

    Par exemple, dans un catalogue de livres, l’expression Artiste (propriété de produit) contient (opérateur) Penn (propriété), applique une remise aux livres écrits uniquement par Daniel Penn.

  4. Cliquez sur Appliquer.

    La nouvelle expression de catalogue est ajoutée à la zone Cible basée sur les conditions suivantes.

    Remarque

    • Pour ajouter d’autres conditions à l’expression de catalogue que vous venez de créer, répétez les étapes 2 à 4, puis sélectionnez Et ou Ou dans la liste déroulante.
  5. Pour enregistrer l’expression de catalogue et revenir à l’écran Expressions de la campagne marketing, cliquez sur Enregistrer.

L’expression est ajoutée à l’écran Expressions de la campagne marketing : Expressions de catalogue. Vous pouvez maintenant utiliser l’expression pour cibler une campagne de remise sur un groupe d’utilisateurs.

Voir aussi

Création d’une remise


Création d'une expression de ciblage

Envoyer des commentaires sur cette page Commerce Server 2002

Création d’une expression de ciblage

Vous pouvez créer des expressions de ciblage pour spécifier les utilisateurs sur lesquels vous souhaitez cibler des publicités et des remises. Les expressions de ciblage peuvent aussi cibler le contexte des demandes. Par exemple, les expressions de ciblage peuvent cibler le site Web que l’utilisateur visite, le groupe de page actuel, l’heure ou un cookie HTTP. Les expressions sont une combinaison de propriétés, d’opérateurs et de valeurs dont l’évaluation produit un résultat. Vous pouvez créer une expression en sélectionnant dans une liste de cibles prédéfinies, des opérateurs et le cas échéant, en entrant la valeur qui doit être évaluée par l’expression, telle qu’un nombre. Par exemple, « Classe du compte est égal à 10 » ou « Utilisateur féminin est True » peut être une expression de ciblage. Vous pouvez utiliser le Générateur d’expressions de l’écran Expressions de ciblage pour créer vos expressions de ciblage.

Vous pouvez créer des expressions de ciblage pour cibler des publicités et des remises pour des langues et des devises spécifiques. Le Générateur d’expressions permet de sélectionner la langue pour laquelle vous souhaitez cibler votre publicité ou remise.

Pour créer une nouvelle expression de ciblage

Pour cibler une langue spécifique

Pour créer une nouvelle expression de ciblage

  1. Dans Campagnes marketing, cliquez sur Expressions de la campagne marketing.
  2. Dans l’écran Expressions de la campagne marketing : Expressions de ciblage, cliquez sur Afficher dans la barre d’outils, puis sélectionnez Expressions de ciblage dans la liste déroulante.
  3. Dans l’écran Expressions de la campagne marketing : Expressions de ciblage, cliquez sur Nouvelle dans la barre d’outils.
  4. Dans la boîte de dialogue Expression de ciblage, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper un nom pour la nouvelle expression cible.
    Description Taper un nom pour la nouvelle expression cible, avant de cliquer sur Nouvelle.

    Dans la zone Cible basée sur les conditions suivantes, la première des trois zones d’édition est activée afin que vous puissiez sélectionner ou taper les clauses de l’expression.
    Cible basée sur les conditions suivantes :
    • Première zone. Sélectionner dans la liste déroulante l’option qui est associée à cette expression. Les valeurs figurant dans cette zone sont les suivantes : Objet utilisateur, Contexte de ciblage, Évaluateur Intrinsics et Expressions (le cas échéant).

      Remarque

      • Si un élément objet ou fonction ne figure pas dans la liste, il n’est pas valide dans le contexte où vous avez démarré le Générateur d’expressions. Par exemple, l’ensemble d’opérateurs qui s’affiche est différent selon que la cible est basée sur une expression ou sur un objet utilisateur.

      Si vous sélectionnez Objet utilisateur, une liste déroulante contenant des groupes de propriétés d’objet utilisateur s’affiche. Sélectionnez le groupe de propriétés d’objet utilisateur puis le type d’objet utilisateur que vous souhaitez utiliser dans cette expression.

      Si vous sélectionnez Contexte de ciblage, la propriété Groupe de pages s’affiche et toutes les propriétés supplémentaires créées pour le profil Contexte de ciblage. Sélectionnez la propriété que vous souhaitez utiliser dans cette expression. Pour plus d’informations sur l’ajout de propriétés de profil, consultez Ajout de propriétés à une définition de profil.

      Si vous sélectionnez Évaluateur Instrinsics, sélectionnez l’intervalle de temps que vous souhaitez utiliser dans cette expression.

      Si vous sélectionnez Expressions, la boîte de dialogue Choisir une expression s’affiche. Sélectionnez l’expression que vous souhaitez utiliser dans la liste correspondante, puis cliquez sur OK.

      Les expressions n’apparaissent que si elles ont été créées avant l’ouverture de la boîte de dialogue Expressions de ciblage.

    • Deuxième zone. Sélectionner un type d’opérateur pour l’expression à partir des types disponibles dans la liste déroulante.
    • Troisième zone. Taper la propriété ou la valeur qui doit être évaluée par l’expression.

    Remarque

    • Dans les expressions de la campagne marketing, pour entrer des valeurs multiples, dans une liste, par exemple, utilisez le point virgule (;) pour séparer les valeurs. N’utilisez pas la virgule, car elle n’est pas reconnue en tant que séparateur. Par exemple, une liste de nombres doit être entrée sous la forme 2 534; 3 485; 6 982. Le caractère d’échappement à utiliser pour entrer un point-virgule est la barre oblique inverse (\). Par exemple, la valeur ABC;12 doit être entrée ainsi : ABC\;12.

      Par exemple, l’expression Département (propriété du produit) est égal à (opérateur) Paris (chaîne), applique une remise aux clients qui habitent le département de Paris uniquement.

  5. Cliquez sur Appliquer.

    La nouvelle expression de ciblage est ajoutée à la zone Cible basée sur les conditions suivantes.

    Remarque

    • Pour ajouter d’autres conditions à l’expression de catalogue que vous venez de créer, répétez les étapes 3 à 5, puis sélectionnez Et ou Ou dans la liste déroulante.
  6. Pour enregistrer l’expression de catalogue et revenir à l’écran Expressions de la campagne marketing : Expressions de ciblage, cliquez sur Enregistrer.

L’expression est ajoutée à l’écran Expressions de la campagne marketing : Expressions de ciblage. Vous pouvez maintenant regrouper plusieurs expressions de ciblage pour créer un groupe cible pour cibler vos publicités ou remises.

Pour cibler une langue spécifique

  1. Dans Campagnes marketing, cliquez sur Expressions de la campagne marketing.
  2. Dans l’écran Expressions de la campagne marketing : Expressions de ciblage, cliquez sur Afficher dans la barre d’outils, puis sélectionnez Expressions de ciblage dans la liste déroulante.
  3. Dans l’écran Expressions de la campagne marketing : Expressions de ciblage, cliquez sur Nouvelle dans la barre d’outils.
  4. Dans la boîte de dialogue Expression de ciblage, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper un nom pour la nouvelle expression cible.
    Description Taper un nom pour la nouvelle expression cible, avant de cliquer sur Nouvelle.

    Dans la zone Cible basée sur les conditions suivantes, la première des trois zones d’édition est activée afin que vous puissiez sélectionner ou taper les clauses de l’expression.
    Cible basée sur les conditions suivantes :
    • Première zone. Sélectionner Objet utilisateur, Informations générales, faire défiler l’écran puis sélectionner Langue par défaut.
    • Deuxième zone. Sélectionner Égal à dans la liste déroulante proposant les types disponibles.
    • Troisième zone. Cliquer sur le bouton de sélection […]. Dans la boîte de dialogue Choisir une entrée du glossaire du site, Sélectionnez la langue que vous souhaitez cibler dans la liste des entrées du glossaire du site, puis cliquez sur OK.
  5. Cliquez sur Appliquer.

    La nouvelle expression de ciblage est ajoutée à la zone Cible basée sur les conditions suivantes.

    Remarque

    • Pour ajouter d’autres conditions à l’expression de catalogue que vous venez de créer, répétez les étapes 3 à 5, puis sélectionnez Et ou Ou dans la liste déroulante.
  6. Pour enregistrer l’expression de catalogue et revenir à l’écran Expressions de la campagne marketing : Expressions de ciblage, cliquez sur Enregistrer.

L’expression est ajoutée à la zone Expressions de ciblage. Vous pouvez maintenant regrouper plusieurs expressions de ciblage pour créer un groupe cible pour cibler vos publicités ou remises.

Voir aussi

Création d’une publicité

Création d’un groupe cible

Ciblage basé sur des expressions


Création d'un groupe cible

Envoyer des commentaires sur cette page Commerce Server 2002

Création d’un groupe cible

Le module Groupe cible permet de regrouper plusieurs expressions pour afficher une publicité ou une remise à un groupe d’utilisateurs. Vous pouvez spécifier si certains utilisateurs sont requis ou exclus du groupe. Par exemple, dans un groupe cible constitué de propriétaires d’animaux, vous pouvez spécifier que les propriétaires de chats sont inclus, mais que les propriétaires de chiens sont exclus en appliquant des actions aux expressions de ciblage. Vous définissez des groupes cibles pour créer des règles commerciales qui déterminent pour quels groupes d’utilisateurs vous affichez vos publicités ou remises.

Dans un groupe cible, vous associez les expressions en spécifiant l’action à entreprendre lorsque chaque expression prend la valeur « True ». Chaque action possède deux multiplicateurs : un multiplicateur à appliquer si l’expression prend la valeur « True », et un multiplicateur à appliquer si l’expression prend la valeur « False ». Lorsque le multiplicateur est appliqué, l’expression reçoit un score qui détermine si le contenu peut être fourni ou non.

Vous pouvez spécifier les actions suivantes :

Action |
Cibler | L’action de ciblage peut s’utiliser dans des situations où le nombre de propriétés disponibles est limité, mais que l’utilisateur souhaite acheter plusieurs demandes. Si l’expression prend la valeur « True », le score augmente, de même que la probabilité d’affichage du contenu. Si l’expression prend la valeur « False », le score n’est pas modifié. Dans ces deux scénarios, le contenu peut être fourni.
Sponsoriser | La publicité associée au groupe cible s’affichera exclusivement sur le site. Si l’expression prend la valeur « True », le contenu peut être fourni et aucun autre contenu n’est possible sauf s’il possède également une expression avec action = Sponsoriser. (Sponsoriser ne possède qu’un seul multiplicateur.)
Requérir | Le groupe d’utilisateurs de l’expression de ciblage sera inclus dans le groupe cible. Si l’expression prend la valeur « True », le contenu peut être fourni ; si la valeur est « False », le contenu ne peut pas être fourni.
Exclure | Le groupe d’utilisateurs de l’expression de ciblage sera exclu du groupe cible. Si l’expression prend la valeur « True », le contenu ne peut pas être fourni ; si la valeur est « False », le contenu peut être fourni.

Pour créer un groupe cible

  1. Dans Campagnes marketing, cliquez sur Groupe cible.
  2. Dans l’écran Groupe cible, cliquez sur Nouveau dans la barre d’outils.
  3. Dans l’écran Groupe cible : Nouveau, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom du groupe cible | Taper un nom pour le nouveau groupe cible.
    Expression Sélectionner dans la liste déroulante l’expression à utiliser pour créer le groupe cible.

    Si vous voulez créer une expression, cliquez sur Créer une nouvelle expression. Pour plus d’informations sur la création d’expressions de ciblage, consultez Création d’une expression de ciblage.
    Action Sélectionner dans la liste déroulante une action pour le nouveau groupe cible.

    Les actions disponibles sont les suivantes :

    • Cibler
    • Sponsoriser
    • Requérir
    • Exclure

    Attention

    • Les actions Requérir et Exclure empêchent l’affichage d’une publicité pour les utilisateurs ayant la propriété exclue. En outre, un utilisateur qui n’a pas défini une propriété requise ou exclue ne reçoit pas la publicité. Par exemple, si vous créez un groupe cible qui exclut les utilisateurs hotmail, le groupe cible exclut également les utilisateurs dont le compte e-mail n’est pas défini. Par conséquent, la publicité s’affiche pour tous les utilisateurs dont les comptes e-mail sont définis et qui ne disposent pas de comptes hotmail.
  4. Cliquez sur Accepter.
  5. Pour enregistrer le groupe cible et revenir à l’écran Groupe cible, cliquez sur Enregistrer et retour dans la barre d’outils.

Le nouveau groupe cible est enregistré dans la liste de groupes cibles disponibles. Vous pouvez maintenant utiliser le groupe cible pour cibler vos publicités ou remises.

Voir aussi

Création d’une publicité

Création d’une remise

Création des expressions de la campagne marketing

Création d’une expression de ciblage


Création d'une publicité

Envoyer des commentaires sur cette page Commerce Server 2002

Création d’une publicité

L’infrastructure de sélection de contenu (CSF) traite les variables spécifiées pour une publicité : ciblage quantitatif de la campagne marketing, limite d’affichage, planification, poids, groupes de pages et groupes cibles. Chaque fois qu’un utilisateur visite votre site, l’infrastructure détermine si la publicité doit être affichée. Pour plus d’informations sur l’infrastructure CSF, consultez Content Selection Framework Concepts (en anglais).

Vous pouvez créer une publicité pour planifier la diffusion de vos publicités. Une publicité est un élément de la campagne qui a généralement un objectif de livraison, des plages de dates et des attributs cibles. Après avoir créé une publicité, vous pouvez la planifier, spécifier les pages Web sur lesquelles celle-ci s’affichera et la cibler sur un groupe spécifique d’utilisateurs. Vous pouvez aussi spécifier l’affichage de votre publicité. Par exemple, une publicité peut contenir du texte et une image ou du texte seulement. Après avoir spécifié l’aspect de la publicité, vous pouvez afficher un aperçu de celle-ci.

Si vous souhaitez utiliser les publicités en plusieurs langues, vous devez recréer chaque publicité dans la langue appropriée.

Cette section contient les rubriques suivantes :

  • Ajout des propriétés d’une publicité
  • Planification d’une publicité
  • Ciblage d’une publicité pour un groupe de pages
  • Ciblage d’une publicité pour un groupe d’utilisateurs
  • Spécification de l’affichage d’une publicité
  • Affichage d’un aperçu d’une publicité
  • Copie d’une publicité


Ajout des propriétés d'une publicité

Envoyer des commentaires sur cette page Commerce Server 2002

Ajout des propriétés d’une publicité

Le module Gestionnaire de campagnes permet de créer une publicité pour une campagne marketing spécifique. Sélectionnez le type de publicité, qui peut être une publicité payée ou une publicité maison en fonction de la planification d’estimation de livraison (EDL). Vous pouvez aussi définir le nombre de fois où un contenu doit être affiché à un utilisateur au cours d’une session. Vous pouvez sélectionner un secteur d’activité pour la publicité, afin d’éviter que deux publicités de sociétés concurrentes d’un même secteur d’activité s’affichent sur la même page.

Pour créer une publicité

Pour définir l’affichage de la publicité

Pour créer une publicité

  1. Dans Campagnes marketing, cliquez sur Gestionnaire de campagnes.
  2. Dans l’écran Gestionnaire de campagnes, développez le client pour lequel vous souhaitez créer une publicité. Sélectionnez la campagne marketing pour laquelle vous souhaitez créer une publicité, cliquez sur Nouvelle dans la barre d’outils, puis sélectionnez Nouvelle publicité dans la liste déroulante.
  3. Dans l’écran Gestionnaire de campagnes <Client> <campagne marketing> Nouvelle (publicité), dans l’écran Propriétés de la publicité, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom de la publicité Taper le nom de la publicité.

    Pour faire la distinction entre les publicités maison et les publicités payées, utilisez une convention d’affectation des noms distincte pour les deux types de publicités. Par exemple, Livres sur le commerce_PM pour une publicité maison et Logiciel de commerce_PP pour une publicité payée.

    Remarque

    • Lorsque vous créez des publicités en plusieurs langues, notez que la longueur du nom de la publicité est limitée à 50 caractères.
    Statut Sélectionner le statut de la campagne de publicité dans la liste déroulante.

    Le statut peut être Actif ou Inactif.
    Supprimé Il s’agit d’une zone non modifiable.

    Cette zone spécifie si la publicité a été supprimée. Pour plus d’informations sur la suppression et la restauration d’éléments de campagne, consultez Suppression et restauration d’un élément de la campagne.
    Type Sélectionner le type de publicité voulu.

    Le type peut correspondre à Publicité payée ou Publicité maison. Pour plus d’informations sur le changement entre les publicités payées et les publicités maison, consultez Changement entre les publicités payées et les publicités maison.
    Demandes ou Clics/Poids Sélectionner le paramètre Poids pour le type Publicité maison ou Publicité payée, si la campagne marketing a un ciblage quantitatif de niveau Campagne marketing.

    Effectuer les opérations suivantes si la campagne marketing a un ciblage quantitatif de niveau Éléments de la publicité via des demandes :

    • Si le type Publicité payée est sélectionné en tant que type de publicité, taper le nombre correspondant au ciblage quantitatif des demandes de publicité pour la publicité.
    • Si le type Publicité maison est sélectionné en tant que type de publicité, taper la valeur correspondant au poids de la publicité maison. Le poids par défaut des publicités maison est 1.

    Effectuer les opérations suivantes, si la campagne marketing a un ciblage quantitatif de niveau Éléments de la publicité via des clics :

    • Si le type Publicité payée est sélectionné en tant que type de publicité, taper le nombre correspondant au ciblage quantitatif des clics sur publicité pour la publicité.
    • Si le type Publicité maison est sélectionné en tant que type de publicité, taper la valeur correspondant au poids de la publicité maison. Le poids par défaut des publicités maison est 1.
    Limite d’affichage Sélectionner dans la liste déroulante le nombre de fois où la publicité peut être affichée à un utilisateur au cours d’une session.

    Une publicité peut être affichée au maximum 10 fois à un utilisateur au cours d’une session.
    Date de réception Cette zone contient la date du jour en tant que valeur par défaut. Entrer ou sélectionner la date de réception de la publicité dans le calendrier déroulant.

    Une fois la publicité enregistrée, la date ne peut pas être modifiée.

    Activité | Sélectionner le secteur d’activité de la publicité.
    Commentaires | Taper tout commentaire nécessaire concernant cette publicité.

Remarque

  • Avant d’enregistrer la publicité, vous devez définir les paramètres de l’affichage de la publicité.

Pour définir l’affichage de la publicité

  1. Dans la section Affichage de la publicité, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Taille | Sélectionner la taille du contenu de la publicité dans la liste déroulante.
    Type | Sélectionner le type de publicité dans la liste déroulante.

    Remarque

    • Différentes zones de liste s’affichent sous la zone Type de contenu en fonction du type de publicité sélectionné. Vous devez entrer les informations requises dans la section Affichage de la publicité avant d’enregistrer la publicité. Pour plus d’informations sur la configuration de l’affichage de votre campagne de publicité pour un type spécifique de publicité, consultez Définition d’un type de publicité.
  2. Pour enregistrer la publicité et revenir à l’écran Gestionnaire de campagnes, cliquez sur Enregistrer et retour dans la barre d’outils.

La nouvelle publicité s’affiche dans l’arborescence du Gestionnaire de campagnes sous le client et la campagne marketing spécifiés.

Important

  • Toute modification d’une publicité doit être publiée en production pour pouvoir apparaître sur le site Web. Pour plus d’informations sur la publication des modifications de votre site Web, consultez Publication des modifications de la campagne marketing sur votre site Web.

Changement entre les publicités payées et les publicités maison

Les publicités payées sont un contenu à diffuser en fonction d’une planification d’estimation de livraison (EDL), alors que les publicités maison sont un contenu fourni lorsque les publicités payées ont pris de l’avance sur leur planification d’estimation de livraison.

Vous pouvez passer d’une publicité payée à une publicité maison et vice versa. Par exemple, si un client souhaite plus de livraisons de publicité qu’il ne peut en payer, vous garantissez que vous publierez un sous-ensemble des publicités. Cependant, s’il souhaite recevoir une remise pour les publicités dont vous ne garantissez pas la livraison, à la fin de la période garantie, vous pouvez passer d’une publicité payée à une publicité maison. Les demandes de publicité maison sont automatiquement remises à zéro. Pour revenir à la publicité payée, vous devez ajuster la planification manuellement en entrant à nouveau le nombre de demandes de publicités que vous souhaitez.

Voir aussi

Ajout d’une campagne

Ajout de codes d’activité

Spécification des tailles de contenu

Spécification de l’affichage d’une publicité

Planification d’une publicité

Ciblage d’une publicité pour un groupe de pages

Ciblage d’une publicité pour un groupe d’utilisateurs


Planification d'une publicité

Envoyer des commentaires sur cette page Commerce Server 2002

Planification d’une publicité

Après avoir créé une publicité, vous pouvez sélectionner les dates de début et de fin d’exécution de celle-ci. Lors de l’exécution d’une publicité, vous pouvez modifier la date de fin, par exemple, ajouter ou supprimer un jour. L’estimation de livraison (EDL) est ensuite recalculée en fonction de la quantité et du temps restants dans la planification.

Pour planifier une publicité

  1. Dans Campagnes marketing, cliquez sur Gestionnaire de campagnes.
  2. Dans l’écran Gestionnaire de campagnes, développez le client, puis la campagne pour laquelle la publicité a été créée, sélectionnez la publicité à planifier et cliquez sur Ouvrir dans la barre d’outils.
  3. Dans l’écran Gestionnaire de campagnes <Client> <Campagne marketing> <Ad Campaign Item>(ID de publicité : <nombre>), dans la section Planification de la publicité, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Date de début | Taper ou sélectionner dans le calendrier déroulant la date de début de la publicité.
    Date de fin | Taper ou sélectionner dans le calendrier déroulant la date de fin de la publicité.
    Jours | Cocher chaque jour de la semaine pendant lequel vous voulez exécuter la publicité.
    Heure de début | Taper ou sélectionner dans la liste déroulante l’heure à laquelle la publicité doit commencer, en fonction de l’heure du serveur.
    Heure de fin | Taper ou sélectionner dans la liste déroulante l’heure à laquelle la publicité doit finir, en fonction de l’heure du serveur.

    Remarques

    • Si vous définissez l’heure de début après l’heure de fin, la publicité commencera à l’heure la plus avancée et s’exécutera jusqu’à l’heure de fin. Par exemple, si l’heure de début est définie à 11:00 et l’heure de fin à 9:00, la publicité s’exécutera pendant 22 heures.
    • Si l’heure de début est la même que l’heure de fin, la publicité s’exécutera pendant 24 heures.
  4. Pour enregistrer la publicité et revenir à l’écran Gestionnaire de campagnes, cliquez sur Enregistrer et retour dans la barre d’outils.

La planification est enregistrée avec la publicité.

Important

  • Toute modification d’une publicité doit être publiée en production pour pouvoir apparaître sur le site Web. Pour plus d’informations sur la publication des modifications de votre site Web, consultez Publication des modifications de la campagne marketing sur votre site Web.

Voir aussi

Ciblage quantitatif d’une campagne marketing

Création d’une publicité


Ciblage d'une publicité pour un groupe de pages

Envoyer des commentaires sur cette page Commerce Server 2002

Ciblage d’une publicité pour un groupe de pages

Vous pouvez spécifier qu’une publicité s’affichera sur toutes les pages du site ou qu’elle ne s’affichera que sur les groupes de pages attribués. Les groupes de pages permettent de spécifier les pages Web sur lesquelles une publicité s’affichera. Par exemple, si votre site Web est un journal en ligne, il est possible d’affecter une publicité pour les clubs de golf afin qu’elle ne paraisse que sur les pages de sports.

Vous pouvez afficher des publicités sur tous les groupes de pages ou sélectionner des groupes de pages créés dans la section Groupes de pages du module Tables de références.

Remarque

  • Pour que vous puissiez cibler une publicité vers un groupe de pages, votre développeur de site doit préalablement activer la page pour la publicité. Pour activer une page pour la publicité, consultez l’exemple Ad Sitelet dans le Kit de développement (SDK) de Commerce Server 2002.

Pour cibler une publicité vers un groupe de pages

  1. Dans Campagnes marketing, cliquez sur Gestionnaire de campagnes.
  2. Dans l’écran Gestionnaire de campagnes, développez le client, puis la campagne pour laquelle la publicité a été créée, sélectionnez la publicité pour laquelle vous souhaitez créer un groupe de pages et cliquez sur Ouvrir dans la barre d’outils.
  3. Dans l’écran Gestionnaire de campagnes <Client> <Campagne marketing> <Ad Campaign Item>(ID de publicité : <nombre>), dans la section Cible publicitaire, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Afficher sur tous les groupes de pages Afficher la publicité sur tous les groupes de pages du site Web. Dans ce cas, activez la case à cocher.

    Attribuer la campagne de publicité à un groupe de pages spécifique. Dans ce cas, désactivez la case à cocher, puis suivez les autres étapes de cette procédure.
    Groupes de pages : Disponibles | Sélectionner le groupe ou les groupes de pages que vous voulez attribuer.
    Groupes cibles : Disponibles Sélectionner le(s) groupe(s) cible(s) que vous voulez attribuer.

    Pour plus d’informations sur les groupes cibles, consultez Groupes cibles et Création d’un groupe cible.
  4. Cliquez sur Ajouter.

    La page sélectionnée est placée dans la zone Attribués.

  5. Pour enregistrer la publicité et revenir à l’écran Gestionnaire de campagnes, cliquez sur Enregistrer et retour dans la barre d’outils.

La publicité s’affiche maintenant sur les groupes de pages sélectionnés.

Important

  • Toute modification d’une publicité doit être publiée en production pour pouvoir apparaître sur le site Web. Pour plus d’informations sur la publication des modifications de votre site Web, consultez Publication des modifications de la campagne marketing sur votre site Web.

Voir aussi

Création d’une publicité

Ajout de Groupes de pages


Ciblage d'une publicité pour un groupe d'utilisateurs

Envoyer des commentaires sur cette page Commerce Server 2002

Ciblage d’une publicité pour un groupe d’utilisateurs

Les groupes cibles sont des expressions associées à une action utilisée pour cibler une publicité pour un groupe spécifique d’utilisateurs. Un groupe cible peut être composé de plusieurs expressions et actions. Les groupes cibles peuvent inclure des utilisateurs spécifiés dans un groupe ou les exclure d’un groupe. Vous pouvez sélectionner le groupe d’utilisateurs que vous souhaitez cibler dans une liste de groupes existante créée à l’aide du module Groupe cible. Pour plus d’informations sur la création de groupes cibles, consultez Création d’un groupe cible.

Pour cibler une publicité vers un groupe d’utilisateurs

  1. Dans Campagnes marketing, cliquez sur Gestionnaire de campagnes.
  2. Dans l’écran Gestionnaire de campagnes, développez le client, puis la campagne pour laquelle la publicité a été créée, sélectionnez la publicité à laquelle vous souhaitez attribuer un nouveau groupe cible et cliquez sur Ouvrir dans la barre d’outils.
  3. Dans l’écran Gestionnaire de campagnes <Client> <Campagne marketing> <Ad Campaign Item>(ID de publicité : <nombre>), dans la section Cible publicitaire, effectuez les opérations suivantes :
    Utilisez ceci Pour faire cela
    Groupes cibles : Disponibles Sélectionner le groupe cible que vous voulez attribuer.

    Pour plus d’informations sur les groupes cibles, consultez Groupes cibles et Création d’un groupe cible.
  4. Cliquez sur Ajouter.

    Le groupe cible est placé dans la zone Attribués.

  5. Pour enregistrer la publicité et revenir à l’écran Gestionnaire de campagnes, cliquez sur Enregistrer et retour dans la barre d’outils.

La publicité est ciblée maintenant sur le groupe cible sélectionné.

Important

  • Toute modification d’une publicité doit être publiée en production pour pouvoir apparaître sur le site Web. Pour plus d’informations sur la publication des modifications de votre site Web, consultez Publication des modifications de la campagne marketing sur votre site Web.

Voir aussi

Création d’une publicité

Création d’une expression de ciblage

Création d’un groupe cible


Spécification de l'affichage d'une publicité

Envoyer des commentaires sur cette page Commerce Server 2002

Spécification de l’affichage d’une publicité

Vous pouvez spécifier comment et sous quelle forme une publicité est diffusée à l’utilisateur. Par exemple, vous pouvez afficher une grande publicité sur votre page d’accueil pour sensibiliser les utilisateurs. Pour afficher une publicité, les deux étapes principales sont les suivantes :

  • Définition de la taille d’une publicité
  • Définition d’un type de publicité

Définition de la taille d’une publicité

Commerce Server 2002 comprend un ensemble de tailles de contenu standard que vous pouvez appliquer à vos publicités. Vous pouvez aussi spécifier des tailles de contenu personnalisées. Pour appliquer une taille standard ou personnalisée à une publicité, utilisez la procédure :

Remarque

  • Pour spécifier des tailles de contenu personnalisées, utilisez le module Tables de références. Pour plus d’informations, consultez Spécification des tailles de contenu.

Pour définir la taille d’une publicité

  1. Dans Campagnes marketing, cliquez sur Gestionnaire de campagnes.
  2. Dans l’écran Gestionnaire de campagnes, développez le client, puis la campagne pour laquelle la publicité a été créée, sélectionnez la publicité dont vous souhaitez définir la taille et cliquez sur Ouvrir dans la barre d’outils.
  3. Dans l’écran Gestionnaire de campagnes <Client> <Campagne marketing> <Ad Campaign Item>(ID de publicité : <nombre>), dans la section Affichage de la publicité, dans la zone Taille, sélectionnez la taille de publicité souhaitée dans la liste déroulante.

Vous avez spécifié la taille du contenu de la publicité. Vous pouvez maintenant définir le type de celle-ci.

Définition d’un type de publicité

Il est possible d’exiger un type spécifique de publicité pour votre campagne de publicité. Par exemple, une publicité peut contenir une image ou contenir uniquement du texte.

Pour définir un type de publicité

  1. Dans Campagnes marketing, cliquez sur Gestionnaire de campagnes.
  2. Dans l’écran Gestionnaire de campagnes, développez le client, puis la campagne pour laquelle la publicité a été créée, sélectionnez la publicité dont vous souhaitez définir le type et cliquez sur Ouvrir dans la barre d’outils.
  3. Dans l’écran Gestionnaire de campagnes <Client> <Campagne marketing> <Ad Campaign Item>(ID de publicité : <nombre>), dans la section Affichage de la publicité, dans la zone Type, sélectionnez le type de publicité souhaité dans la liste déroulante.

    Remarque

    • Différentes zones de liste s’affichent sous la zone Type en fonction du type de publicité sélectionné. Pour plus d’informations sur la configuration de l’affichage de votre campagne de publicité pour un type spécifique de publicité, consultez les autres procédures de cette section.

    Les types de publicité suivants peuvent être définis :

    Image publicitaire

    Texte publicitaire

    Page HTML publicitaire

    Image publicitaire non associée à un lien hypertexte

    Publicité Acheter

    Publicité Services Windows Media

    Vignette publicitaire hypertexte

  4. Pour enregistrer la publicité et revenir à l’écran Gestionnaire de campagnes, cliquez sur Enregistrer et retour dans la barre d’outils.

La publicité est enregistrée avec la campagne marketing.

Important

  • Toute modification d’une remise doit être publiée en production pour pouvoir apparaître sur le site Web. Pour plus d’informations sur la publication des modifications de votre site Web, consultez Publication des modifications de la campagne marketing sur votre site Web.

Image publicitaire

Vous pouvez lier une image publicitaire à une ou plusieurs pages Web sur lesquelles celle-ci doit apparaître. L’image s’affiche lorsque les utilisateurs visitent les pages Web contenant la publicité.

Pour définir une image publicitaire

  • Dans la section Affichage de la publicité, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Taille | Sélectionner la taille voulue pour la publicité.
    Type | Sélectionner Image.
    URL d’image Taper l’adresse URL correspondant à l’image à afficher dans la publicité.

    Remarque

    Vous devez taper une URL absolue, par exemple, http://www.microsoft.com.

    Adresse URL pointée Taper l’adresse URL vers laquelle la publicité affichée établit un lien.

    Remarque

    Vous devez taper une URL absolue, par exemple, http://www.microsoft.com.
    Texte de légende | Taper le texte de légende que les utilisateurs voient lorsque les graphismes ne sont pas activés sur leur ordinateur.

La publicité est définie comme image publicitaire.

Texte publicitaire

Un texte publicitaire est composé de texte uniquement. Le texte s’affiche lorsque les utilisateurs visitent les pages Web contenant la publicité.

Pour définir un texte publicitaire

  • Dans la section Affichage de la publicité, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Taille | Sélectionner la taille voulue pour la publicité.
    Type | Sélectionner Texte.
    Texte | Taper le texte à afficher avec la publicité.
    Adresse URL pointée Taper l’adresse URL vers laquelle la publicité affichée établit un lien.

    Remarque

    Vous devez taper une URL absolue, par exemple, http://www.microsoft.com.

La publicité est définie comme texte publicitaire.

Page HTML publicitaire

Une page HTML publicitaire est composée de code HTML. Le texte résultant s’affiche lorsque les utilisateurs visitent les pages Web contenant la publicité.

Pour définir une page HTML publicitaire

  • Dans la section Affichage de la publicité, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Taille | Sélectionner la taille voulue pour la publicité.
    Type | Sélectionner HTML.
    Texte HTML | Taper le texte HTML (au format HTML) à afficher dans la publicité.

La publicité est définie comme page HTML publicitaire.

Image publicitaire non associée à un lien hypertexte

Une image publicitaire non associée à un lien hypertexte est une image graphique qui s’affiche lorsque les utilisateurs visitent les pages Web sur lesquelles la publicité doit apparaître. La publicité n’est pas liée à une page Web.

Pour définir une image publicitaire non associée à un lien hypertexte

  • Dans la section Affichage de la publicité, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Taille | Sélectionner la taille voulue pour la publicité.
    Type | Sélectionner Image non associée à un lien hypertexte.
    URL d’image Taper l’adresse URL correspondant à l’image à afficher dans la publicité.

    Remarque

    Vous devez taper une URL absolue, par exemple, http://www.microsoft.com.
    Texte de légende | Taper le texte de légende que les utilisateurs voient lorsque les graphismes ne sont pas activés sur leur ordinateur.

La publicité est définie comme image publicitaire non associée à un lien hypertexte.

Publicité Acheter

Les publicités Acheter permettent aux utilisateurs d’acheter des articles à partir de n’importe quelle page Web sur Internet. Lorsqu’un utilisateur clique sur une image du produit, la boîte de dialogue qui s’affiche l’invite à entrer une adresse de livraison et des informations sur sa carte de crédit.

Pour définir une publicité Acheter

  • Dans la section Affichage de la publicité, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Taille | Sélectionner la taille voulue pour la publicité.
    Type | Sélectionner Acheter.
    URL d’image Taper l’URL correspondant à l’image à afficher dans la publicité.

    Remarque

    Vous devez taper une URL absolue, par exemple, http://www.microsoft.com.
    Adresse URL pointée Taper l’adresse URL vers laquelle la publicité affichée établit un lien.

    Remarque

    Vous devez taper une URL absolue, par exemple, http://www.microsoft.com.
    Texte de légende | Taper le texte de légende que l’utilisateur voit lorsque les graphismes ne sont pas activés sur leur ordinateur.
    Largeur de fenêtre | Taper la largeur (en pixels) de la publicité.
    Hauteur de fenêtre | Taper la hauteur (en pixels) de la publicité.

La publicité est définie comme publicité Acheter.

Publicité Services Windows Media

Une publicité Services Windows Media affiche des publicités audio et vidéo de haute qualité.

Pour définir une publicité Services Windows Media

  • Dans la section Affichage de la publicité, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Taille | Sélectionner la taille voulue pour la publicité.
    Type | Sélectionner Services Windows Media.
    Format ASF (Advanced Streaming Format) de Services Windows Media | Taper le format ASF de Services Windows Media pour la publicité.
    Adresse URL pointée Taper l’adresse URL vers laquelle la publicité affichée établit un lien.

    Remarque

    Vous devez taper une URL absolue, par exemple, http://www.microsoft.com.

La publicité est définie comme publicité Services Windows Media.

Vignette publicitaire hypertexte

Une vignette publicitaire est composée d’un texte affiché à côté de l’image correspondant à la publicité.

Pour définir une vignette publicitaire hypertexte

  • Dans la section Affichage de la publicité, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Taille | Sélectionner la taille voulue pour la publicité.
    Type Sélectionner Vignette gauche, Vignette droite ou Vignette supérieure.

    Gauche - place la publicité à gauche du texte.

    Droite - place la publicité à droite du texte.

    Supérieure - place la publicité en haut du texte.
    URL d’image Taper l’URL correspondant à l’image à afficher dans la publicité.

    Remarque

    Vous devez taper une URL absolue, par exemple, http://www.microsoft.com.
    Texte | Taper le texte à afficher à côté de la publicité.
    Adresse URL pointée Taper l’adresse URL vers laquelle la publicité affichée établit un lien.

    Remarque

    Vous devez taper une URL absolue, par exemple, http://www.microsoft.com.
    Texte de légende | Taper le texte de légende que les utilisateurs voient lorsque les graphismes ne sont pas activés sur leur ordinateur.

La publicité est définie comme vignette publicitaire hypertexte.

Voir aussi

Création d’une publicité

Spécification des tailles de contenu

Affichage d’un aperçu d’une publicité

Publication des modifications de la campagne marketing sur votre site Web


Affichage d'un aperçu d'une publicité

Envoyer des commentaires sur cette page Commerce Server 2002

Affichage d’un aperçu d’une publicité

Après avoir défini l’affichage d’une publicité, vous pouvez en afficher l’aperçu avant de la publier sur votre site Web. Vous pouvez aussi afficher l’aperçu de la page Web qui s’ouvre lorsque l’utilisateur clique sur une publicité associée à un lien hypertexte.

Remarque

  • Si votre Business Desk est basé sur le site solution SupplierActiveDirectory et que le filtre AuthFilter est activé, le code d’authentification ne vous permettra pas d’afficher un fichier image. Pour afficher l’aperçu d’un fichier image dans Business Desk, vous devez activer l’accès anonyme à tout fichier image stocké dans le dossier racine virtuel Business Desk. Pour plus d’informations sur l’activation de l’accès anonyme, consultez « Activation d’AuthFilter pour le site solution Supplier » dans l’aide de Commerce Server 2002.

Pour afficher un aperçu de la publicité

Pour afficher la page Web de la publicité

Pour afficher un aperçu de la publicité

  1. Dans Campagnes marketing, cliquez sur Gestionnaire de campagnes.
  2. Dans l’écran Gestionnaire de campagnes, sélectionnez la publicité contenant l’image dont vous souhaitez afficher l’aperçu, puis cliquez sur Ouvrir dans la barre d’outils.
  3. Dans l’écran Gestionnaire de campagnes <Client> <Campagne marketing> <Campaign item>(ID de publicité : <nombre>), dans la section Affichage de la publicité, vérifiez que les informations sont entrées dans les champs requis, puis cliquez sur Aperçu.
  4. Dans la boîte de dialogue Aperçu, cliquez sur Oui pour enregistrer la publicité.

Une copie de la publicité s’affiche dans la zone d’affichage en dessous du bouton Aperçu.

Pour plus d’informations sur la configuration du type de publicité dans la section Affichage de la publicité, consultez Définition d’un type de publicité.

Pour afficher la page Web de la publicité

  1. Dans Campagnes marketing, cliquez sur Gestionnaire de campagnes.
  2. Dans l’écran Gestionnaire de campagnes, sélectionnez la publicité contenant l’image dont vous souhaitez afficher l’aperçu, puis cliquez sur Ouvrir dans la barre d’outils.
  3. Dans l’écran Gestionnaire de campagnes <Client> <Campagne marketing> <Campaign item>(ID de publicité : <nombre>), dans la section Affichage de la publicité, vérifiez que les informations sont entrées dans les champs requis, puis cliquez sur la publicité dans la zone d’affichage en dessous du bouton Aperçu.

La page Web associée à la publicité s’affiche dans une nouvelle fenêtre de Microsoft Internet Explorer. Vous utilisez le module Publier les campagnes marketing pour mettre votre site à jour immédiatement avec de nouvelles informations. Pour plus d’informations sur la publication des modifications sur votre site Web, consultez Publication des modifications de la campagne marketing sur votre site Web.

Voir aussi

Création d’une publicité

Définition de la taille d’une publicité

Définition d’un type de publicité

Publication des modifications de la campagne marketing sur votre site Web


Copie d'une publicité

Envoyer des commentaires sur cette page Commerce Server 2002

Copie d’une publicité

Vous pouvez copier une publicité existante déjà créée pour ajouter rapidement des publicités supplémentaires à une campagne marketing. En utilisant une publicité existante comme modèle, vous pouvez modifier les propriétés de la publicité existante pour répondre aux objectifs des éléments de la campagne de la nouvelle publicité.

Pour copier une publicité

  1. Dans Campagnes marketing, cliquez sur Gestionnaire de campagnes.
  2. Dans l’écran Gestionnaire de campagnes, sélectionnez la publicité que vous souhaitez copier, puis cliquez sur Copier dans la barre d’outils.
  3. Dans la boîte de dialogue Copy Ad item, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Sélectionner un client | Sélectionner dans la liste déroulante le client dont vous souhaitez copier la publicité.
    Sélectionner une campagne marketing | Sélectionner dans la liste déroulante la campagne marketing dont vous souhaitez copier la publicité.
  4. Cliquez sur OK.
  5. Dans l’écran Gestionnaire de campagnes <Client> <campagne marketing> Nouvelle (publicité), dans la zone Nom de la publicité de la section Propriétés de la publicité, tapez le nom de la nouvelle publicité.
  6. Modifiez les propriétés restantes, le cas échéant.
  7. Pour enregistrer la publicité et revenir à l’écran Gestionnaire de campagnes, cliquez sur Enregistrer et retour dans la barre d’outils.

La nouvelle publicité s’affiche dans l’arborescence du Gestionnaire de campagnes sous le client et la campagne marketing sélectionnés.

Voir aussi

Création d’une publicité


Création d'une remise

Envoyer des commentaires sur cette page Commerce Server 2002

Création d’une remise

Après avoir créé une campagne marketing, vous pouvez créer une remise. Une remise est un élément de la campagne que vous créez pour appliquer des remises sur un article ou une catégorie de votre catalogue. Par exemple, vous pouvez appliquer une remise de 20 pour cent à la catégorie Clavier d’un catalogue Matériel informatique. Lors de la création d’une remise, vous spécifiez comment et sous quelle forme la remise sera diffusée à l’utilisateur.

Le module Gestionnaire de campagnes permet de créer des remises, de planifier le moment où elles seront affichées sur le site, de déterminer à quels produits, groupes de pages ou groupes cibles la remise s’applique et de spécifier comment celle-ci sera affichée. Vous pouvez aussi afficher un aperçu de la remise sur le site Web ou le groupe de pages désigné.

Les expressions de ciblage permettent de cibler la remise pour des utilisateurs spécifiques. Par exemple, vous pouvez offrir à des utilisateurs privilégiés du site une remise de dix pour cent sur les deux articles les plus chers de leur panier d’achat. Vous pouvez aussi spécifier le nombre de fois qu’une remise particulière sera affichée à un utilisateur au cours d’une session. Après avoir spécifié les paramètres d’affichage de la remise, vous pouvez en afficher un aperçu avant de l’enregistrer dans le module Gestionnaire de campagnes.

Si vous souhaitez utiliser les remises en plusieurs langues, vous devez recréer chaque remise dans la langue appropriée.

Remarques

  • Pour obtenir des exemples expliquant comment créer différents types de remises, consultez Exemples de remises. Ces exemples affichent l’écran Business Desk de chaque remise et les résultats de la remise dans chaque panier d’utilisateur.
  • Toute modification d’une remise doit être publiée à la production avant d’être affiché sur le site Web. Pour plus d’informations sur la publication des modifications de votre site Web, consultez Publication des modifications de la campagne marketing sur votre site Web.

Cette section contient les rubriques suivantes :

  • Ajout des propriétés de la campagne de remise
  • Ciblage d’une remise et définition de ses conditions et avantages
  • Ciblage d’une remise pour des groupes de pages et des groupes cibles
  • Spécification de l’affichage d’une remise
  • Affichage d’un aperçu d’une remise
  • Copie d’une remise


Ajout des propriétés d'une remise

Envoyer des commentaires sur cette page Commerce Server 2002

Ajout des propriétés d’une remise

Vous pouvez attribuer un ordre prioritaire aux remises consenties lorsque plusieurs remises sont appliquées au panier d’achat d’un utilisateur et spécifier les dates de début et de fin d’une remise. Vous pouvez également établir le statut, actif ou inactif, de la remise.

La figure suivante est un écran Propriétés de la remise interactif. Cliquez sur l’écran pour obtenir des informations détaillées sur chacun des composants Propriétés de la remise affichés en surbrillance.

Remarque

  • Avant d’enregistrer la remise, vous devez définir les paramètres de l’affichage de la remise. Pour plus d’informations sur la définition de l’affichage d’une remise, consultez Spécification de l’affichage d’une remise.

Pour ajouter les propriétés d’une campagne de remise

  1. Dans Campagnes marketing, cliquez sur Gestionnaire de campagnes.
  2. Dans l’écran Gestionnaire de campagnes, développez le client pour lequel vous souhaitez créer la remise. Sélectionnez la campagne marketing pour laquelle vous souhaitez créer une remise, cliquez sur Nouvelle dans la barre d’outils, puis sélectionnez Nouvelle remise dans la liste déroulante.
  3. Dans l’écran Gestionnaire de campagnes <Nom du client> <Nom de la campagne marketing> Nouvelle (remise), dans la section Propriétés de la remise, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom de la remise Taper le nom de la remise.

    Remarque

    • Lorsque vous créez des remises en plusieurs langues, notez que la longueur du nom de la remise est limitée à 50 caractères.
    Statut Sélectionner le statut de la campagne de remise dans la liste déroulante.

    Le statut peut être Actif ou Inactif.
    Supprimé Il s’agit d’une zone non modifiable.

    Cette zone spécifie si la remise a été supprimée. Pour plus d’informations sur la suppression et la restauration d’éléments de campagne, consultez Suppression et restauration d’un élément de la campagne.
    Priorité Sélectionner la priorité de la remise dans la liste déroulante.

    La priorité de la remise détermine les remises pouvant être appliquées au panier. Par exemple, une remise avec une priorité 10 est appliquée de manière prioritaire par rapport à une remise de priorité 20.
    Commentaires | Taper tout commentaire concernant cette remise.
    Date de début | Taper ou sélectionner la date de début de la remise dans le calendrier déroulant.
    Date de fin | Taper ou sélectionner la date de fin de la remise dans le calendrier déroulant.

Vous pouvez maintenant définir et cibler votre remise. Pour plus d’informations sur la définition et le ciblage de votre remise, consultez Ciblage d’une remise et définition de ses conditions et avantages.

Remarque

  • Avant d’enregistrer la remise, vous devez définir les paramètres de l’affichage de la remise. Pour plus d’informations sur la définition de l’affichage d’une remise, consultez Spécification de l’affichage d’une remise.

Important

  • Toute modification d’une remise doit être publiée en production pour pouvoir apparaître sur le site Web. Pour plus d’informations sur la publication des modifications de votre site Web, consultez Publication des modifications de la campagne marketing sur votre site Web.

Voir aussi

Exemples de remises

Ciblage d’une remise et définition de ses conditions et avantages

Ciblage d’une remise pour des groupes de pages et des groupes cibles

Spécification de l’affichage d’une remise

Publication des modifications de la campagne marketing sur votre site Web


Ciblage d'une remise et définition de ses conditions et avantages

Envoyer des commentaires sur cette page Commerce Server 2002

Ciblage d’une remise et définition de ses conditions et avantages

Vous identifiez dans le catalogue le produit ou la catégorie auxquels vous souhaitez appliquer la remise et indiquez le montant de la remise (en euros ou valeur de l’unité). Vous pouvez appliquer une remise sur une commande entière (remise au niveau de la commande), ou sur les articles spécifiques d’une commande (remise au niveau de l’article).

Pour créer la définition d’une remise, vous devez définir les conditions de la remise, l’avantage et les conditions d’éligibilité. Les conditions d’éligibilité déterminent les utilisateurs auxquels la remise doit s’appliquer.

Remarque

  • Pour obtenir exemples qui expliquent comment définir les différents types de conditions de remise, les avantages et les conditions d’éligibilité, consultez Exemples de remises. Ces exemples affichent l’écran Business Desk Définition de la remise pour chaque remise et les résultats de la remise pour chaque panier d’utilisateur.

Cliquez sur l’écran suivant, interactif, pour obtenir des informations détaillées sur chacun des composants Définition de la remise affichés en surbrillance.

?????????

Remarques

  • Avant d’enregistrer la remise, vous devez définir les paramètres de l’affichage de la remise. Pour plus d’informations sur la définition de l’affichage d’une remise, consultez Spécification de l’affichage d’une remise.

Important

  • Toute modification d’une remise doit être publiée en production pour pouvoir apparaître sur le site Web. Pour plus d’informations sur la publication des modifications de votre site Web, consultez Publication des modifications de la campagne marketing sur votre site Web.

Pour créer la définition d’une remise

  • Dans l’écran Gestionnaire de campagnes <Nom du client> <Nom de la campagne marketing> Nouvelle (remise), dans la section Définition de la remise, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Acheter : N’importe quelle Indiquer qu’il n’existe aucune condition. Si cette case à cocher est activée et que le panier contient un produit auquel vous pouvez associer un avantage, la remise s’appliquera toujours. Pour plus d’informations sur la condition Acheter n’importe quoi, consultez Conditions de remise.

    Appliquer la remise à des produits ou des catégories spécifiques achetés. Dans ce cas, n’activez pas cette case à cocher, puis suivez les autres étapes indiquées dans cette procédure.
    Acheter : Zone de la condition Acheter
    • Zone Type. Sélectionner le type de condition Acheter.

      Le type peut être Valeur ou Quantité. Par exemple, l’utilisateur peut acheter 3 CD (quantité) ou dépenser 40,00 € (valeur) pour recevoir un avantage.

    • Zone Valeur. Entrer la valeur en euros ou la valeur de l’unité de la remise, en fonction de la mesure sélectionnée dans la zone Type de la remise.
    • Expression de catalogue. Sélectionner l’option associée à cette remise dans la liste déroulante. Les valeurs possibles pour cette zone sont [tout produit], [Sélecteur de produits] et [Générateur d’expressions] :

      [Tout produit]. Appliquer la remise à n’importe quel produit. Dans ce cas, activer cette option.

      [Sélecteur de produits]. Sélectionner cette option si la remise concerne un produit ou une catégorie de produits spécifique de votre catalogue. Utilisez la boîte de dialogue Sélecteur de produits pour rechercher des produits ou des catégories spécifiques dans vos catalogues. Pour plus d’informations sur l’utilisation du Sélecteur de produits, consultez Nouveau dans le sélecteur de produits.

      - ou -

      Cliquer sur le bouton de sélection […] ou activer l’option [Générateur d’expressions] pour ouvrir la boîte de dialogue Expressions de catalogue. Les expressions de catalogue permettent de spécifier un produit ou une catégorie de produits qui déclenche l’application de la remise. Pour plus d’informations sur la création d’expressions de catalogue, consultez Création d’une expression de catalogue.

      Remarques

      • Les conditions cumulatives AND et OR sont toutes deux autorisées dans le générateur d’expressions de catalogue, mais seule la condition OR est prise en charge pour les remises. La condition AND n’est pas prise en charge et son utilisation est déconseillée.
      • Des produits et des catégories supplémentaires s’affichent dans la liste déroulante s’ils ont été sélectionnés antérieurement.

    Pour plus d’informations sur les conditions de remise, consultez Conditions de remise.
    Obtenir comme remise : Livraison gratuite Proposer une livraison gratuite en tant qu’avantage lié à la remise pour tous les produits commandés. Dans ce cas, activez la case à cocher.

    Spécifier les produits ou catégories de produits qui recevront des avantages liés à la remise. Dans ce cas, n’activez pas la case à cocher Livraison gratuite, puis suivez les autres étapes indiquées dans cette procédure.

    Pour plus d’informations sur la livraison gratuite comme avantage lié à la remise, consultez Livraison gratuite.
    Obtenir comme remise : Remise sur le sous-total de la commande Activer cette case à cocher pour appliquer la remise au sous-total de la commande.

    Le montant du sous-total de la commande est réparti entre les différents éléments de commande contenus dans le panier de l’utilisateur.

    Pour plus d’informations sur les remises sur le sous-total de la commande, consultez Remises sur le sous-total de la commande.
    Obtenir comme remise : Zone de la condition Obtenir comme remise
    • Nombre. Taper le nombre d’unités de l’article du catalogue que l’utilisateur reçoit comme avantage lorsque les critères de la remise sont remplis.
    • Expression de catalogue. Sélectionner l’option associée à cette remise dans la liste déroulante. Les valeurs possibles pour cette zone sont [tout produit], [Sélecteur de produits] et [Générateur d’expressions].

      [Tout produit]. Sélectionner cette option si l’avantage lié à la remise concerne n’importe quel produit du catalogue.

      [Sélecteur de produits]. Sélectionner cette option si la remise concerne un produit ou une catégorie spécifique de votre catalogue. L’interface figurant dans la boîte de dialogue Sélecteur de produits permet de rechercher des produits ou catégories spécifiques dans les catalogues. Pour plus d’informations sur l’utilisation du Sélecteur de produits, consultez Nouveau dans le sélecteur de produits.

      - ou -

      Cliquer sur le bouton de sélection […] ou activer l’option [Générateur d’expressions] pour ouvrir la boîte de dialogue Expressions de catalogue. Vous pouvez créer une expression de catalogue pour spécifier les catégories ou les produits auxquels vous souhaitez appliquer la remise. Pour plus d’informations sur la création d’expressions de catalogue, consultez Création d’une expression de catalogue.

      Remarques

      • Les conditions cumulatives AND et OR sont toutes deux autorisées dans le générateur d’expressions de catalogue, mais seule la condition OR est prise en charge pour les remises. La condition AND n’est pas prise en charge et son utilisation est déconseillée.
      • Des produits et des catégories supplémentaires s’affichent dans la liste déroulante s’ils ont été sélectionnés antérieurement.
    • Type. Sélectionner l’unité de mesure de l’avantage lié à la remise dans la liste déroulante.

      L’unité de mesure peut être Prix ou Pourcentage.

    • Valeur. Entrer la valeur en euros ou la valeur de l’unité de l’avantage lié à la remise, correspondant soit à un prix, soit à un pourcentage en fonction de la mesure sélectionnée pour cet avantage.

    Pour plus d’informations sur les avantages liés aux remises, consultez Avantages liés à la remise.
    Limite Sélectionner une limite de remise dans la liste déroulante. Aucune indique l’absence de limite pour la remise. La limite de remise est de 10 attributions par panier.

    Remarque

    • Si vous souhaitez spécifier une limite du nombre de remises qu’un utilisateur peut recevoir sur des paniers multiples, contactez votre développeur de site.

    Pour plus d’informations sur les limites de remise, consultez Limites de remise.
    Appliquer l’offre à l’obtention du produit uniquement Sélectionner cette option de remise distincte si vous ne souhaitez pas que la condition Acheter soit réutilisée comme remise.

    Pour plus d’informations sur les remises distinctes, consultez Remises distinctes.
    Appliquer l’offre à la réservation et à l’achat du produit Sélectionner cette remise distincte si vous souhaitez que la condition Acheter soit réutilisée comme remise.

    Pour plus d’informations sur les remises distinctes, consultez Remises distinctes.
    La remise est conditionnée par un clic de souris. Appliquer la remise uniquement lorsque le client clique sur une publicité de remise Appliquer la remise uniquement lorsque l’utilisateur clique sur la remise, en activant cette case à cocher.

    Si vous ne voulez pas que la remise soit conditionnée par un clic, n’activez pas cette case à cocher.

    Remarque

    • Les développeurs de site peuvent étendre ce type de remise à d’autres usages, tels que des coupons de réduction, que les utilisateurs doivent posséder pour bénéficier de la remise.

    Pour plus d’informations sur les remises conditionnées par un clic, consultez Remises conditionnées par un clic.
    Conditions d’éligibilité : Expression disponible | Sélectionner une ou plusieurs expressions pour la remise dans la liste des expressions disponibles, puis cliquer sur Ajouter. Par exemple, vous pouvez sélectionner les expressions de ciblage créées pour cibler les utilisateurs ou groupes d’utilisateurs qui recevront la remise. Pour plus d’informations sur la création d’expressions de ciblage, consultez Création d’une expression de ciblage.
    Discount Interactions:

    Autoriser la réutilisation des conditions de cette remise en tant que conditions des autres remises

             Sélectionner cette case à cocher si vous souhaitez qu’un article condition soit réutilisé comme un autre article condition.

    Pour plus d’informations sur les stratégies d’interaction des remises, consultez Remises multiples.
    Interactions entre les remises

    Autoriser les conditions de cette remise à profiter des remises exceptionnelles offertes par d’autres remises

             Sélectionner cette case à cocher si vous souhaitez qu’un article condition soit réutilisé comme article remise.

    Pour plus d’informations sur les stratégies d’interaction des remises, consultez Remises multiples.
    Interactions entre les remises

    Autoriser la réutilisation des conditions de cette remise pour d’autres remises

             Sélectionner cette case à cocher si vous souhaitez qu’un article remise soit réutilisé comme article condition.

    Pour plus d’informations sur les stratégies d’interaction des remises, consultez Remises multiples.
    Interactions entre les remises

    Autoriser les bénéficiaires de cette remise à profiter d’autres remises

             Sélectionner cette case à cocher si vous souhaitez qu’un article remise soit utilisé comme un autre article remise.

    Pour plus d’informations sur les stratégies d’interaction des remises, consultez Remises multiples.

La condition, la remise et les conditions d’éligibilité sont spécifiées pour la remise.

Avant d’enregistrer la remise, vous devez définir les paramètres de l’affichage de la remise. Pour plus d’informations sur la définition de l’affichage d’une remise, consultez Spécification de l’affichage d’une remise.

Important

  • Toute modification d’une remise doit être publiée en production pour pouvoir apparaître sur le site Web. Pour plus d’informations sur la publication des modifications de votre site Web, consultez Publication des modifications de la campagne marketing sur votre site Web.

Voir aussi

Exemples de remises

Ajout des propriétés d’une remise

Ciblage d’une remise pour des groupes de pages et des groupes cibles

Spécification de l’affichage d’une remise

Publication des modifications de la campagne marketing sur votre site Web


Ciblage d'une remise pour des groupes de pages et des groupes cibles

Envoyer des commentaires sur cette page Commerce Server 2002

Ciblage d’une remise pour des groupes de pages et des groupes cibles

Vous pouvez spécifier qu’une remise s’affichera sur toutes les pages du site ou qu’elle ne s’affichera que sur les groupes de pages attribués. Les groupes de pages permettent de spécifier les pages Web sur lesquelles une remise s’affichera. Par exemple, si votre site Web est un journal en ligne, il est possible d’affecter une remise pour les clubs de golf afin qu’elle ne paraisse que sur les pages de sports.

Vous pouvez afficher vos remises sur tous les groupes de pages ou sélectionner des groupes de pages créés dans la section Groupes de pages du module Tables de références. Pour plus d’informations sur la création des groupes de pages, consultez Ajout de groupes de pages.

Remarque

  • Pour que vous puissiez cibler une remise vers un groupe de pages, votre développeur de site doit préalablement activer la page pour la publicité. Pour activer une page pour la publicité, consultez l’exemple Discount Sitelet dans le Kit de développement (SDK) de Commerce Server 2002.

Vous pouvez aussi spécifier les groupes cibles pour lesquels la remise doit s’afficher. Les groupes cibles sont un ensemble de deux ou plusieurs expressions utilisées pour cibler un groupe d’utilisateurs spécifiques. Les groupes cibles peuvent inclure des utilisateurs spécifiés dans un groupe ou les exclure d’un groupe. Pour plus d’informations sur la création de groupes cibles, consultez Création d’un groupe cible.

Remarque

Pour obtenir exemples qui expliquent comment définir les différents types de conditions de remise, les avantages et les conditions d’éligibilité, consultez Exemples de remises. Ces exemples affichent l’écran Business Desk Définition de la remise pour chaque remise et les résultats de la remise pour chaque panier d’utilisateur.

  • Avant d’enregistrer la remise, vous devez définir les paramètres de l’affichage de la remise.
  • Toute modification d’une remise doit être publiée en production pour pouvoir apparaître sur le site Web. Pour plus d’informations sur la publication des modifications de votre site Web, consultez Publication des modifications de la campagne marketing sur votre site Web.

Pour cibler une remise vers un groupe de pages

Pour cibler une remise vers un groupe cible

Pour cibler une remise vers un groupe de pages

  1. Dans Campagnes marketing, cliquez sur Gestionnaire de campagnes marketing, sélectionnez la remise pour laquelle vous souhaitez spécifier la cible de la remise, puis cliquez sur Ouvrir dans la barre d’outils.
  2. Dans l’écran Gestionnaire de campagnes <Client> <Campagne marketing> <Campaign Discount Item>(ID de la remise : <nombre>), dans la section Cible de l’affichage de la remise, effectuez les opérations suivantes :
    Utilisez ceci Pour faire cela
    Utiliser ces cibles en plus des cibles admissibles sélectionnées Activer cette option pour utiliser un ou plusieurs groupes de pages et/ou un ou plusieurs groupes cibles en plus des expressions d’éligibilité de la remise qui sont sélectionnées dans l’écran Définition de la remise. Par exemple, outre les utilisateurs dont le cyclisme est le sport favori, vous pouvez cibler la remise à afficher sur un certain groupe de pages, tel que les pages de sport du site d’un journal.

    Pour plus d’informations sur les groupes de pages, consultez Ajouter Groupes de pages. Pour plus d’informations sur les groupes cibles, consultez Création d’un groupe cible.
    Utiliser ces cibles à la place des cibles admissibles sélectionnées Activer cette option pour utiliser un ou plusieurs groupes de pages et/ou un ou plusieurs groupes cibles à la place des expressions d’éligibilité de la remise, qui sont sélectionnées dans l’écran Définition de la remise.

    Pour plus d’informations sur les groupes de pages, consultez Ajouter Groupes de pages. Pour plus d’informations sur les groupes cibles, consultez Création d’un groupe cible.
    Afficher sur tous les groupes de pages Afficher la publicité sur tous les groupes de pages du site Web. Dans ce cas, activez la case à cocher.

    Attribuer la remise à un groupe de pages spécifique. Dans ce cas, désactivez cette case à cocher, puis suivez les autres étapes de cette procédure.
    Groupes de pages : Disponibles Sélectionner le groupe ou les groupes de pages à attribuer, puis cliquer sur Ajouter.

    Le groupe de pages est placé dans la zone Attribués. Pour supprimer un groupe de pages de la zone Attribués, cliquez sur Supprimer. Le groupe de pages est déplacé vers la zone Disponibles.

Le ou les groupes de pages sélectionnés et les informations sur les cibles de la campagne de remise sont spécifiés pour la remise.

Pour cibler une remise vers un groupe cible

  1. Dans Campagnes marketing, cliquez sur Gestionnaire de campagnes marketing, sélectionnez la remise pour laquelle vous souhaitez spécifier la cible de la remise, puis cliquez sur Ouvrir dans la barre d’outils.
  2. Dans l’écran Gestionnaire de campagnes <Client> <Campagne marketing> <Campaign Discount Item>(ID de la remise : <nombre>), dans la section Cible de l’affichage de la remise, effectuez les opérations suivantes :
    Utilisez ceci Pour faire cela
    Utiliser ces cibles en plus des cibles admissibles sélectionnées Activer cette option pour utiliser un ou plusieurs groupes de pages et/ou un ou plusieurs groupes cibles en plus des expressions d’éligibilité de la remise qui sont sélectionnées dans l’écran Définition de la remise. Par exemple, outre les utilisateurs dont le cyclisme est le sport favori, vous pouvez cibler la remise à afficher sur un certain groupe de pages, tel que les pages de sport du site d’un journal.

    Pour plus d’informations sur les groupes de pages, consultez Ajouter Groupes de pages. Pour plus d’informations sur les groupes cibles, consultez Création d’un groupe cible.
    Utiliser ces cibles à la place des cibles admissibles sélectionnées Activer cette option pour utiliser un ou plusieurs groupes de pages et/ou un ou plusieurs groupes cibles à la place des expressions d’éligibilité de la remise, qui sont sélectionnées dans l’écran Définition de la remise.

    Pour plus d’informations sur les groupes de pages, consultez Ajouter Groupes de pages. Pour plus d’informations sur les groupes cibles, consultez Création d’un groupe cible.
    Groupes cibles : Disponibles Sélectionner le groupe ou les groupes cibles au(x)quel(s) cette remise s’applique, puis cliquer sur Ajouter.

    Le groupe cible est placé dans la zone Attribués. Pour supprimer un groupe cible de la zone Attribués, cliquez sur Supprimer. Le groupe cible est déplacé vers la zone Disponibles.

    Pour plus d’informations sur les groupes cibles, consultez Groupes cibles et Création d’un groupe cible.

Le ou les groupes cibles sélectionnés et les informations sur les cibles de la campagne de remise sont spécifiés pour la remise.

Avant d’enregistrer la remise, vous devez définir les paramètres de l’affichage de la remise. Pour plus d’informations sur la définition de l’affichage d’une remise, consultez Spécification de l’affichage d’une remise.

Important

  • Toute modification d’une remise doit être publiée en production pour pouvoir apparaître sur le site Web. Pour plus d’informations sur la publication des modifications de votre site Web, consultez Publication des modifications de la campagne marketing sur votre site Web.

Voir aussi

Exemples de remises

Ajout des propriétés d’une remise

Ciblage d’une remise et définition de ses conditions et avantages

Spécification de l’affichage d’une remise

Publication des modifications de la campagne marketing sur votre site Web


Spécification de l'affichage d'une remise

Envoyer des commentaires sur cette page Commerce Server 2002

Spécification de l’affichage d’une remise

Une remise comporte deux types distincts d’affichages : un affichage du panier et un affichage de la publicité.

  • Affichage du panier. L’affichage du panier explique aux utilisateurs, au format texte ou HTML, la remise qui leur est offerte. La clarté de cette explication est essentielle, car l’utilisateur peut abandonner le panier s’il ne comprend pas.
  • Affichage de la publicité. L’affichage de la publicité spécifie comment et sous quelle forme une remise est diffusée à l’utilisateur. L’infrastructure de sélection de contenu (CSF) détermine si la publicité doit être affichée pour promouvoir la remise. Par exemple, vous pouvez afficher une grande publicité sur votre page d’accueil pour offrir une remise de 20 pour cent sur l’achat de tous les produits de votre catalogue. Vous pouvez aussi spécifier le nombre de fois qu’une remise particulière doit être affichée à un utilisateur au cours d’une session.

Pour spécifier l’affichage du panier

Pour spécifier l’affichage de la publicité

Pour spécifier l’affichage du panier

  • Dans l’écran Gestionnaire de campagnes <Client> <Campagne marketing> <Discount Campaign Item>(ID de la remise : <nombre>), dans la section Affichage de la remise, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Limite d’affichage Sélectionner dans la liste déroulante le nombre de fois où la publicité peut être affichée à un utilisateur au cours d’une session.

    Une publicité peut être affichée au maximum 10 fois à un utilisateur au cours d’une session.
    Affichage du panier | Taper le texte ou le texte HTML (au format HTML) expliquant la remise à l’utilisateur.

Pour spécifier l’affichage de la publicité

Pour afficher une publicité afin de promouvoir la remise, les deux étapes principales sont les suivantes :

  • Définition de la taille d’une remise
  • Définition d’un type de remise

Important

  • Toute modification d’une remise doit être publiée en production pour pouvoir apparaître sur le site Web. Pour plus d’informations sur la publication des modifications de votre site Web, consultez Publication des modifications de la campagne marketing sur votre site Web.

Définition de la taille d’une remise

Commerce Server 2002 comprend un ensemble de tailles de contenu standard que vous pouvez appliquer à vos remises. Vous pouvez aussi spécifier des tailles de contenu personnalisées. Que vous souhaitiez appliquer une taille standard ou personnalisée, utilisez la procédure suivante pour appliquer la taille de contenu à une remise.

Remarque

  • Pour spécifier des tailles de contenu personnalisées, utilisez le module Tables de références. Pour plus d’informations, consultez Spécification des tailles de contenu.

Pour définir la taille d’une remise

  1. Dans Campagnes marketing, cliquez sur Gestionnaire de campagnes.
  2. Dans l’écran Gestionnaire de campagnes, développez le client, puis développez la campagne marketing pour laquelle la remise a été créée. Sélectionnez la remise dont vous souhaitez définir la taille, puis cliquez sur Ouvrir dans la barre d’outils.
  3. Dans l’écran Gestionnaire de campagnes <Client> <Campagne marketing> <Discount Campaign Item>(ID de la remise : <nombre>), dans la section Affichage de la remise, dans la zone Taille, sélectionnez la taille de remise souhaitée dans la liste déroulante.

Vous avez spécifié la taille du contenu de la remise. Vous pouvez maintenant définir le type de celle-ci.

Définition d’un type de remise

Il est possible d’exiger un type spécifique de remise pour votre campagne marketing. Par exemple, une remise peut contenir une image ou contenir uniquement du texte.

Pour définir un type de remise

  1. Dans Campagnes marketing, cliquez sur Gestionnaire de campagnes.
  2. Dans l’écran Gestionnaire de campagnes, développez le client, puis la campagne pour laquelle la remise a été créée, sélectionnez la remise dont vous souhaitez définir le type et cliquez sur Ouvrir dans la barre d’outils.
  3. Dans l’écran Gestionnaire de campagnes <Client> <Campagne marketing> <Discount Campaign Item>(ID de la remise : <nombre>), dans la section Affichage de la remise, dans la zone Type, sélectionnez le type de publicité souhaité dans la liste déroulante.

    Remarque

    • Différentes zones de liste s’affichent sous la zone Type en fonction du type de publicité sélectionné. Pour plus d’informations sur la configuration de l’affichage de votre campagne de publicité pour un type spécifique de publicité, consultez les autres procédures de cette section.

    Les types de remises suivants peuvent être définis :

    Image de remise

    Texte de remise

    Page HTML de remise

    Image de remise non associée à un lien hypertexte

    Remise Acheter

    Remise Services Windows Media

    Vignette de remise hypertexte

  4. Pour enregistrer la remise et revenir à l’écran Gestionnaire de campagnes, cliquez sur Enregistrer et retour dans la barre d’outils.

    La remise est enregistrée avec la campagne marketing.

Important

  • Toute modification d’une remise doit être publiée en production pour pouvoir apparaître sur le site Web. Pour plus d’informations sur la publication des modifications de votre site Web, consultez Publication des modifications de la campagne marketing sur votre site Web.

Image de remise

Vous pouvez lier l’image d’une remise à une ou plusieurs pages Web sur lesquelles la remise doit apparaître. L’image s’affiche lorsque les utilisateurs visitent les pages Web contenant la remise.

Pour définir une image de remise

  • Dans la section Affichage de la remise, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Taille | Sélectionner la taille voulue pour la remise.
    Type | Sélectionner Image.
    URL d’image Taper l’adresse URL correspondant à l’image à afficher dans la remise.

    Remarque

    • Vous devez taper une URL absolue, par exemple, http://www.microsoft.com.
    Adresse URL pointée Taper l’URL vers laquelle la remise affichée établit un lien.

    Remarque

    • Vous devez taper une URL absolue, par exemple, http://www.microsoft.com.
    Texte de légende | Taper le texte de légende que les utilisateurs voient lorsque les graphismes ne sont pas activés sur leur ordinateur.

La remise est définie comme image de remise.

Texte de remise

Un texte de remise est composé de texte uniquement. Le texte s’affiche lorsque les utilisateurs visitent les pages Web contenant la remise.

Pour définir un texte de remise

  • Dans la section Affichage de la remise, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Taille | Sélectionner la taille voulue pour la remise.
    Type | Sélectionner Texte.
    Texte | Taper le texte à afficher avec la remise.
    Adresse URL pointée Taper l’URL vers laquelle la remise affichée établit un lien.

    Remarque

    Vous devez taper une URL absolue, par exemple, http://www.microsoft.com.

La remise est définie comme texte de remise.

Page HTML de remise

Une page HTML de remise est composée de code HTML. Le texte résultant s’affiche lorsque les utilisateurs visitent les pages Web contenant la remise.

Pour définir une page HTML de remise

  • Dans la section Affichage de la remise, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Taille | Sélectionner la taille voulue pour la remise.
    Type | Sélectionner HTML.
    Texte HTML | Taper le texte HTML (au format HTML) à afficher dans la remise.

La remise est définie comme page HTML de remise.

Image de remise non associée à un lien hypertexte

Une image de remise non associée à un lien hypertexte est une image graphique qui s’affiche lorsque les utilisateurs visitent les pages Web sur lesquelles la remise doit apparaître. La remise n’est pas liée à une page Web.

Pour définir une image de remise non associée à un lien hypertexte

  • Dans la section Affichage de la remise, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Taille | Sélectionner la taille voulue pour la remise.
    Type | Sélectionner Image non associée à un lien hypertexte.
    URL d’image Taper l’adresse URL correspondant à l’image à afficher dans la remise.

    Remarque

    Vous devez taper une URL absolue, par exemple, http://www.microsoft.com.
    Texte de légende | Taper le texte de légende que les utilisateurs voient lorsque les graphismes ne sont pas activés sur leur ordinateur.

La publicité est définie comme image publicitaire non associée à un lien hypertexte.

Remise Acheter

Les remises Acheter permettent aux utilisateurs d’acheter des articles à partir de n’importe quelle page Web sur Internet. Lorsqu’un utilisateur clique sur une image du produit, la boîte de dialogue qui s’affiche l’invite à entrer une adresse de livraison et des informations sur sa carte de crédit.

Pour définir une remise Acheter

  • Dans la section Affichage de la remise, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Taille | Sélectionner la taille voulue pour la publicité.
    Type | Sélectionner Acheter.
    URL d’image Taper l’URL correspondant à l’image à afficher dans la publicité.

    Remarque

    Vous devez taper une URL absolue, par exemple, http://www.microsoft.com.
    Adresse URL pointée Taper l’adresse URL vers laquelle la publicité affichée établit un lien.

    Remarque

    Vous devez taper une URL absolue, par exemple, http://www.microsoft.com.
    Texte de légende | Taper le texte de légende que l’utilisateur voit lorsque les graphismes ne sont pas activés sur leur ordinateur.
    Largeur de fenêtre | Taper la largeur (en pixels) de la publicité.
    Hauteur de fenêtre | Taper la hauteur (en pixels) de la publicité.

La remise est définie comme remise Acheter.

Remise Services Windows Media

Une remise Services Windows Media affiche des publicités audio et vidéo de haute qualité.

Pour définir une remise Services Windows Media

  • Dans la section Affichage de la remise, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Taille | Sélectionner la taille voulue pour la remise.
    Type | Sélectionner Services Windows Media.
    Format ASF (Advanced Streaming Format) de Services Windows Media | Taper le format ASF de Services Windows Media pour la remise.
    Adresse URL pointée Taper l’URL vers laquelle la remise affichée établit un lien.

    Remarque

    Vous devez taper une URL absolue, par exemple, http://www.microsoft.com.

La remise est définie comme remise Services Windows Media.

Vignette de remise hypertexte

Une vignette de remise est composée d’un texte affiché à côté de l’image correspondant à la remise.

Pour définir une vignette de remise hypertexte

  • Dans la section Affichage de la remise, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Taille | Sélectionner la taille voulue pour la remise.
    Type Sélectionner Vignette gauche, Vignette droite ou Vignette supérieure.

    Gauche - place la remise à gauche du texte.

    Droite - place la remise à droite du texte.

    Supérieure - place la remise en haut du texte.
    URL d’image Taper l’URL correspondant à l’image à afficher dans la remise.

    Remarque

    Vous devez taper une URL absolue, par exemple, http://www.microsoft.com.
    Texte | Taper le texte à afficher à côté de la remise.
    Adresse URL pointée Taper l’URL vers laquelle la remise affichée établit un lien.

    Remarque

    Vous devez taper une URL absolue, par exemple, http://www.microsoft.com.
    Texte de légende | Taper le texte de légende que les utilisateurs voient lorsque les graphismes ne sont pas activés sur leur ordinateur.

La remise est définie comme vignette de remise hypertexte.

Voir aussi

Spécification des tailles de contenu

Affichage d’un aperçu d’une remise

Publication des modifications de la campagne marketing sur votre site Web


Affichage d'un aperçu d'une remise

Envoyer des commentaires sur cette page Commerce Server 2002

Affichage d’un aperçu d’une remise

Après avoir défini les paramètres d’affichage d’une remise, vous pouvez en afficher l’aperçu avant de la publier sur votre site Web. L’aperçu affiche la remise dans la section Affichage de la remise dans Business Desk. Vous pouvez aussi afficher l’aperçu de la page Web qui s’ouvre lorsque l’utilisateur clique sur une remise associée à un lien hypertexte.

Remarques

  • Vous ne pouvez pas afficher la véritable remise appliquée au panier dans Business Desk. Elle ne peut être vue que sur le site Web. Pour obtenir des exemples de remises et les résultats qui s’affichent dans le panier de l’utilisateur, consultez Exemples de remises.
  • Si votre Business Desk est basé sur le site solution SupplierActiveDirectory et que le filtre AuthFilter est activé, le code d’authentification ne vous permettra pas d’afficher un fichier image. Pour afficher l’aperçu d’un fichier image dans Business Desk, vous devez activer l’accès anonyme à tout fichier image stocké dans le dossier racine virtuel Business Desk. Pour plus d’informations sur l’activation de l’accès anonyme, consultez « Activation d’AuthFilter pour le site solution Supplier » dans l’aide de Commerce Server 2002.

Pour afficher un aperçu de la remise

Pour afficher la page Web de la remise

Pour afficher un aperçu de la remise

  1. Dans Campagnes marketing, cliquez sur Gestionnaire de campagnes.
  2. Dans l’écran Gestionnaire de campagnes, sélectionnez la remise dont vous souhaitez afficher un aperçu de la campagne, puis cliquez sur Ouvrir dans la barre d’outils.
  3. Dans l’écran Gestionnaire de campagnes <Client> <Campagne marketing> <Campaign Discount Item>(ID de la remise : <nombre>), dans la section Affichage de la remise, cliquez sur Aperçu.
  4. Dans la boîte de dialogue Aperçu, cliquez sur Oui pour enregistrer la remise.

Une copie de la remise s’affiche dans la zone d’affichage en dessous du bouton Aperçu.

La page Web associée à la remise s’affiche dans une nouvelle fenêtre de Microsoft Internet Explorer.

Pour afficher la page Web de la remise

  1. Dans Campagnes marketing, cliquez sur Gestionnaire de campagnes.
  2. Dans l’écran Gestionnaire de campagnes, sélectionnez la remise contenant l’image dont vous souhaitez afficher l’aperçu, puis cliquez sur Ouvrir dans la barre d’outils.
  3. Dans l’écran Gestionnaire de campagnes <Client> <Campagne marketing> <Campaign item>(ID de la remise : <nombre>), dans la section Affichage de la remise, vérifiez que les informations sont entrées dans les champs requis, puis cliquez sur la remise dans la zone d’affichage en dessous du bouton Aperçu.

La page Web associée à la remise s’affiche dans une nouvelle fenêtre de Microsoft Internet Explorer.

Important

  • Toute modification d’une remise doit être publiée en production pour pouvoir apparaître sur le site Web. Pour plus d’informations sur la publication des modifications de votre site Web, consultez Publication des modifications de la campagne marketing sur votre site Web.

Voir aussi

Création d’une remise

Spécification de l’affichage d’une publicité

Affichage d’un aperçu d’une publicité


Copie d'une remise

Envoyer des commentaires sur cette page Commerce Server 2002

Copie d’une remise

Vous pouvez copier une remise existante pour ajouter rapidement des remises supplémentaires pour une campagne marketing. En utilisant une remise existante comme modèle, vous pouvez modifier les propriétés de la remise existante pour répondre aux objectifs des éléments de la campagne de la nouvelle remise.

Pour copier une remise

  1. Dans Campagnes marketing, cliquez sur Gestionnaire de campagnes.
  2. Dans l’écran Gestionnaire de campagnes, sélectionnez la remise que vous souhaitez copier, puis cliquez sur Copier dans la barre d’outils.
  3. Dans la boîte de dialogue Copy Discount item, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Sélectionner un client | Sélectionner dans la liste déroulante le client dont vous souhaitez copier la remise.
    Sélectionner une campagne marketing | Sélectionner dans la liste déroulante la campagne marketing dont vous souhaitez copier la remise.
  4. Cliquez sur OK.
  5. Dans l’écran Gestionnaire de campagnes <Client> <campagne marketing> Nouvelle (remise), dans la zone Nom de la remise de la section Propriétés de la remise, tapez le nom de la nouvelle remise.
  6. Modifiez les propriétés restantes, le cas échéant. Pour enregistrer la remise et revenir à l’écran Gestionnaire de campagnes, cliquez sur Enregistrer et retour dans la barre d’outils.

La nouvelle remise s’affiche dans l’arborescence du Gestionnaire de campagnes sous le client et la campagne marketing.

Voir aussi

Création d’une remise


Exemples de remises

Les exemples suivants affichent l’écran Business Desk Définition de la remise pour chaque remise et les résultats de la remise dans chaque panier d’utilisateur. Ces exemples identifient dans un catalogue les produits ou les catégories auxquels la remise s’applique, le montant de la remise et les avantages dont bénéficie l’utilisateur. Pour obtenir des instructions pas à pas sur la création d’une remise, consultez Création d’une remise.

À mesure que vous progressez dans les exemples suivants, il est important de comprendre les mécanismes de chaque remise. Les résultats de chaque remise dépendent de chacun des composants de la remise, comme la priorité, la condition, l’avantage et les stratégies d’interaction des remises. Pour plus d’informations sur la façon dont les remises sont appliquées lorsqu’il y en a plusieurs, consultez Stratégies d’application des remises.

Remarques

  • Dans la mesure où il existe une multitude de scénarios de remise et où vous ne pouvez pas anticiper sur les articles que l’utilisateur placera dans son panier, il est recommandé de créer vos remises sur un serveur de test, qui vous permettra précisément de tester vos scénarios de remise avant le stade de la production.

Important

  • Toute modification d’une remise doit être publiée en production pour pouvoir apparaître sur le site Web. Pour plus d’informations sur la publication des modifications de votre site Web, consultez Publication des modifications de la campagne marketing sur votre site Web.

Cliquez sur l’écran suivant, interactif, pour obtenir des informations détaillées sur chacun des composants Définition de la remise affichés en surbrillance.

Buy ConditionsFree ShippingOrder Subtotal DiscountGet ConditionsDiscount LimitDisjoint DiscountsClick RequiredEligibility RequirementsDiscount Interactions

Cette section contient des exemples pour les types de remises suivants :

  • Exemples de remises au niveau de l’article
  • Exemples de remises au niveau de la commande
  • Application de plusieurs remises
  • Exemples de remises complexes


Exemples de remises au niveau de l'article

Envoyer des commentaires sur cette page Commerce Server 2002

Exemples de remises au niveau de l’article

Les remises au niveau de l’article s’appliquent à des produits spécifiques du panier. Vous pouvez appliquer plusieurs remises à un seul élément de commande ou à une seule commande. Vous pouvez créer des remises au niveau de l’article qui réduisent le prix de vos produits d’un certain pourcentage ou d’une certaine somme.

Au niveau de l’article : acheter A, obtenir B avec une réduction de 10 pour cent

Au niveau de l’article : acheter A, obtenir une réduction de 20,00 € sur B

Au niveau de l’article : acheter A, obtenir B avec une réduction de 10 pour cent

L’écran Définition de la remise suivant montre comment créer une remise au niveau de l’article qui offre une remise de 10 pour cent sur un article de catalogue si l’utilisateur achète un article de la catégorie Sac à dos.

Condition : Acheter un article de catalogue appartenant à la catégorie Sac à dos

Remise : Obtenir 10 pour cent sur le sac à dos University (AW140-13)

Stratégie d’interaction pour la remise : Aucune

Priorité : 10

Remise au niveau de l'article - Acheter A, obtenir B avec une réduction de 10pour cent

Le panier suivant affiche une remise de 10 pour cent sur le sac à dos University. La condition de remise est remplie, puisque l’utilisateur a placé le sac à dos Aces (AW325-13), de la catégorie Sac à dos, dans le panier. Par conséquent, la remise de 10 pour cent sur le sac à dos University (AW140-13) s’applique.

Panier de l'utilisateur pour le scénario de remise1

Au niveau de l’article : acheter A, obtenir une réduction de 20,00 € sur B

L’écran Définition de la remise suivant montre comment créer une remise au niveau de l’article qui offre une remise de 20,00 € sur un article du catalogue.

Condition : Acheter un sac de couchage Big Sur (AW200-12)

Remise : Obtenir 20,00 € sur un sac à dos Pacific (AW151-13)

Stratégie d’interaction pour la remise : Aucune

Priorité : 10

Écran Définition de la remise

Le panier suivant affiche une remise de 20,00 € sur le sac à dos Pacific. La condition de remise est remplie, puisque l’utilisateur a placé le sac de couchage Big Sur dans le panier. Par conséquent, la remise de 20,00 € sur le sac à dos Pacific s’applique.

Panier de l'utilisateur

Voir aussi

Création d’une remise

Ciblage d’une remise et définition de ses conditions et avantages

Remises

Conditions de remise

Avantages liés à la remise

Conditions d’éligibilité pour les remises

Voir aussi

Création d’une remise

Ciblage d’une remise et définition de ses conditions et avantages

Remises

Conditions de remise

Avantages liés à la remise

Conditions d’éligibilité pour les remises


Exemples de remises au niveau de la commande

Les remises au niveau de la commande s’appliquent à tous les produits d’un panier d’achat. Par exemple, la livraison gratuite est un type de remise au niveau de la commande : vous pouvez accorder aux utilisateurs une livraison gratuite pour tous les produits de leur panier. Les remises au niveau de la commande proposées par Commerce Server sont la livraison gratuite et un pourcentage ou une réduction d’un certain montant sur le prix total d’une commande.

Au niveau de la commande : acheter 300,00 € de A et obtenir la livraison gratuite

Au niveau de la commande : acheter 200,00 € de A et obtenir 10 pour cent sur le sous-total de la commande

Au niveau de la commande : acheter deux A et obtenir 10,00 € sur le sous-total de la commande

Au niveau de la commande : acheter 300,00 € de A et obtenir la livraison gratuite

L’écran Définition de la remise suivant montre comment créer une remise sur la livraison qui propose une livraison gratuite si l’utilisateur achète des articles de catalogue appartenant à la catégorie Mousqueton pour un montant total d’au moins 300,00 €.

Condition : Acheter des articles de catalogue appartenant à la catégorie Mousqueton pour une valeur minimale de 300,00 €

Remise : Obtenir la livraison gratuite

Stratégie d’interaction pour la remise : Aucune

Priorité : 10

Écran Définition de la remise - Remise sur la livraison

Le panier suivant affiche une remise de type livraison gratuite. La condition de remise est remplie, puisque l’utilisateur a placé 22 Petzl Spirits (AW014-08) dans le panier, pour une valeur de plus de 300,00 € dans la catégorie Mousqueton. Par conséquent, la livraison gratuite s’applique au sous-total de la commande.

Panier avec remise

Au niveau de la commande : acheter 200,00 € de A et obtenir 10 pour cent sur le sous-total de la commande

L’écran Définition de la remise suivant montre comment créer une remise au niveau de la commande qui offre une remise de 10 pour cent sur le sous-total de la commande si l’utilisateur achète des articles du catalogue pour un total d’au moins 200,00 €.

Condition : Acheter des articles de catalogue appartenant à la catégorie Bottes pour une valeur minimale de 200,00 €

Remise : 10 pour cent sur le sous-total de la commande

Stratégie d’interaction pour la remise : Aucune

Priorité : 10

Remise au niveau de la commande

Le panier suivant affiche une remise de 10 pour cent sur le sous-total de la commande. La condition de remise est remplie, puisque l’utilisateur a placé des bottes pour une valeur de 200,00 € dans le panier. Par conséquent, l’avantage de 10 pour cent lié à la remise s’applique au sous-total de la commande. Le montant de la remise est réparti entre les trois éléments de commande contenus dans le panier. Si l’utilisateur demande un remboursement, ce dernier sera correctement géré, car la remise est appliquée à chaque élément de la commande, et non au sous-total de la commande.

Remise de 10pour cent sur le sous-total de la commande

Au niveau de la commande : acheter deux A et obtenir 10,00 € sur le sous-total de la commande

L’écran Définition de la remise suivant montre comment créer une remise au niveau de la commande qui offre une remise de 10,00 € sur le sous-total de la commande si l’utilisateur achète deux articles du catalogue.

Condition : Acheter deux paires de bottes Dunes (AW074-04)

Remise : 10,00 € sur le sous-total de la commande

Stratégie d’interaction pour la remise : Aucune

Priorité : 10

Remise de 10euros sur le sous-total de la commande

Le panier suivant affiche une remise de 10,00 € sur le sous-total de la commande. La condition de remise est remplie, puisque l’utilisateur a placé deux paires de bottes Dunes dans le panier. Par conséquent, l’avantage de 10,00 € lié à la remise s’applique au sous-total de la commande. Le montant de la remise est réparti entre sur l’élément de commande contenu dans le panier. Si l’utilisateur demande un remboursement, ce dernier sera correctement géré, car la remise est appliquée à chaque élément de la commande, et non au prix final.

Panier de l'utilisateur - sous-total de la commande - remise en euros

Voir aussi

Création d’une remise

Ciblage d’une remise et définition de ses conditions et avantages

Remises

Conditions de remise

Avantages liés à la remise

Conditions d’éligibilité pour les remises


Exemples de remises multiples

Commerce Server 2002 permet d’appliquer plusieurs remises à un article ou à une commande et de conserver un contrôle sur l’ordre dans lequel les remises sont appliquées. Vous pouvez également combiner dans une même commande des remises au niveau de l’article et des remises au niveau de la commande.

Au niveau de l’article/Au niveau de l’article : Acheter A, obtenir B avec 50 pour cent de réduction et acheter A, obtenir C avec une réduction de 10,00 €

Au niveau de l’article/Au niveau de l’article : Acheter X, obtenir A avec 50 pour cent de réduction et acheter B, obtenir X avec une réduction de 50 pour cent

Au niveau de l’article/Au niveau de l’article : Acheter A, obtenir X avec 50 pour cent de réduction et acheter X, obtenir B avec une réduction de 50 pour cent

Au niveau de l’article/Au niveau de l’article : Acheter A, obtenir X avec 10,00 € de réduction et acheter B, obtenir X avec une réduction de 20,00 €

Au niveau de la commande/Au niveau de la commande : Acheter pour plus de 100,00 € de A, obtenir 10,00 € de réduction sur le total et acheter 10 A, obtenir 10 pour cent de réduction sur le total

Au niveau de l’article/Au niveau de la commande : Acheter A, obtenir B avec 10 pour cent de réduction et acheter C, obtenir 10,00 € de réduction sur le total

Au niveau de l’article/Au niveau de l’article : Acheter A, obtenir B avec 50 pour cent de réduction et acheter A, obtenir C avec une réduction de 10,00 €

Les écrans Définition de la remise suivants montrent comment créer une remise utilisant la stratégie d’interaction pour les remises qui autorise la réutilisation de la condition d’une remise comme condition d’une autre remise. Pour plus d’informations sur les stratégies d’interaction des remises, consultez Remises multiples.

Condition : Acheter un harnais Petzl (QW072-10)

Remise : Obtenir une remise de 50 pour cent sur le harnais El Captain (AW053-10) et 10,00 € sur le harnais Black Diamond Bod (AW032-32).

Stratégie d’interaction pour la remise : Autoriser la réutilisation des conditions de cette remise en tant que conditions des autres remises

Priorité : 10

Écran Définition de la remise - Application de plusieurs remises

Écran Définition de la remise - Application de plusieurs remises

Le panier suivant affiche une remise de 50 pour cent sur le harnais El Capitan et une remise de 10,00 € sur le harnais Black Diamond Bod. La condition des remises est remplie, puisque l’utilisateur a placé le harnais Petzl Mercury dans le panier. La politique d’interaction des remises autorise l’utilisation du harnais Petzl Mercury comme condition d’une autre remise. Par conséquent, l’avantage de 50 pour cent lié à la remise s’applique au harnais El Capitan et l’avantage de 10,00 € lié à la remise s’applique au harnais Black Diamond Bod.

Panier avec remise

Au niveau de l’article/Au niveau de l’article : Acheter X, obtenir A avec 50 pour cent de réduction et acheter B, obtenir X avec une réduction de 50 pour cent

Les écrans Définition de la remise suivants montrent comment créer une remise utilisant la stratégie d’interaction pour les remises qui autorise la réutilisation de la condition d’une remise comme avantage d’une autre remise. Pour plus d’informations sur les stratégies d’interaction des remises, consultez Remises multiples.

Condition : Acheter un short 4 poches pour femme (AW032-01).

Remise : Obtenir une remise de 50 pour cent sur le short de randonnée unisexe (AW055-01).

Stratégie d’interaction pour la remise : Autoriser les conditions de cette remise à profiter des remises exceptionnelles offertes par d’autres remises.

Priorité : 10

Écran Définition de la remise - Application de plusieurs remises

Condition : Acheter un short 8 poches transformable pour homme (AW046-01).

Remise : Obtenir 50 pour cent sur le short 4 poches pour femme (AW032-01).

Stratégie d’interaction pour la remise : Aucune.

Priorité : 20

Écran Définition de la remise - Application de plusieurs remises

Le panier suivant affiche une remise de 50 pour cent sur le short 4 poches pour femme et une remise de 50 pour cent sur le short de randonnée unisexe. Les conditions des remises sont remplies, puisque l’utilisateur a placé le short 4 poches pour femme et le short 8 poches transformable pour homme dans le panier. La stratégie d’interaction des remises autorise la réutilisation du short 4 poches pour femme comme remise. Par conséquent, l’avantage de 50 pour cent lié à la remise s’applique au short 4 poches pour femme et au short de randonnée unisexe.

Panier de l'utilisateur

Au niveau de l’article/Au niveau de l’article : Acheter A, obtenir X avec 50 pour cent de réduction et acheter X, obtenir B avec une réduction de 50 pour cent

Les écrans Définition de la remise suivants montrent comment créer une remise utilisant la stratégie d’interaction pour les remises qui autorise la réutilisation de l’avantage lié à une remise comme condition. Pour plus d’informations sur les stratégies d’interaction des remises, consultez Remises multiples.

Condition : Acheter une parka Crystal (AW125-06).

Remise : Obtenir une remise de 50 pour cent sur la parka Sahara (AW114-06).

Stratégie d’interaction pour la remise : Autoriser la réutilisation des conditions de cette remise pour d’autres remises.

Priorité : 10

Écran Définition de la remise

Condition : Acheter une parka Sahara (AW114-06).

Remise : Obtenir une remise de 50 pour cent sur la parka Alpine (AW188-06).

Stratégie d’interaction pour la remise : Aucune.

Priorité : 20

Définition de la remise

Le panier suivant affiche une remise de 50 pour cent sur la parka Sahara et une remise de 50 pour cent sur la parka Alpine. Les conditions des remises sont remplies, puisque l’utilisateur a placé la parka Crystal et la parka Sahara dans le panier. La stratégie d’interaction des remises autorise l’utilisation de l’avantage de la parka Sahara comme condition de remise, ce qui permet l’application à la parka Alpine de l’avantage de 50 pour cent lié à la remise.

Panier avec remise

Au niveau de l’article/Au niveau de l’article : Acheter A, obtenir X avec 10,00 € de réduction et acheter B, obtenir X avec une réduction de 20,00 €

Les écrans Définition de la remise suivants montrent comment créer une remise utilisant la stratégie d’interaction pour les remises qui autorise la réutilisation de la remise comme autre remise. Pour plus d’informations sur les stratégies d’interaction des remises, consultez Remises multiples.

Condition : Acheter une paire de chaussures de marche Morro (AW084-05).

Remise : Obtenir une remise de 10,00 € sur une paire de chaussures de marche Tuscany (AW086-06).

Stratégie d’interaction pour la remise : Autoriser les bénéficiaires de cette remise à profiter d’autres remises.

Priorité : 10

Écran Définition de la remise

Condition : Acheter une paire de chaussures de marche Plymouth (AW125-05).

Remise : Obtenir une remise de 20,00 € sur une paire de chaussures de marche Tuscany (AW086-06).

Stratégie d’interaction pour la remise : Aucune.

Priorité : 20

Écran Définition de la remise

Le panier suivant affiche une remise de 30,00 € sur les chaussures de marche Tuscany. Les conditions des remises sont remplies, puisque l’utilisateur a placé les chaussures de marche Morro et les chaussures de marche Plymouth dans le panier. La stratégie d’interaction des remises autorise la réutilisation de l’avantage des chaussures de marche Tuscany comme avantage pour les deux remises. Par conséquent, les chaussures de marche Tuscany bénéficient de la remise de 10,00 € et de la remise de 20,00 €, soit un montant de remise total de 30,00 €.

Panier avec remise

Au niveau de la commande/Au niveau de la commande : Acheter pour plus de 100,00 € de A, obtenir 10,00 € de réduction sur le total et acheter 10 A, obtenir 10 pour cent de réduction sur le total

Les écrans Définition de la remise suivants montrent comment créer une remise au niveau de la commande utilisant la stratégie d’interaction pour les remises qui autorise la réutilisation de la remise comme autre remise. Pour plus d’informations sur les stratégies d’interaction des remises, consultez Remises multiples.

Condition : Acheter des articles de catalogue appartenant à la catégorie Maillots pour une valeur minimale de 100,00 €

Remise : Obtenir une remise de 10,00 € sur le sous-total de la commande

Stratégie d’interaction pour la remise : Autoriser les bénéficiaires de cette remise à profiter d’autres remises.

Priorité : 10

Écran Définition de la remise

Condition : Acheter 10 maillots à boutons pour homme.

Remise : Obtenir une remise de 10 pour cent sur le sous-total de la commande.

Stratégie d’interaction pour la remise : Aucune.

Priorité : 20

Écran Définition de la remise

Le panier suivant affiche une remise de 10,00 € sur le sous-total de la commande et une remise de 10 pour cent sur le sous-total. Les conditions de la remise sont remplies, puisque l’utilisateur a placé 3 maillots, pour un total de plus de 100,00 €, et 10 maillots à boutons pour homme dans le panier. La stratégie d’interaction des remises autorise la réutilisation de la remise sur le sous-total de la commande comme remise. Par conséquent, les deux remises, celle de 10,00 € et celle de 10 pour cent, s’appliquent au sous-total de la commande. Le montant de la remise sur le sous-total de la commande est réparti entre les différents éléments de commande contenus dans le panier.

Panier de l'utilisateur

Au niveau de l’article/Au niveau de la commande : Acheter A, obtenir B avec 10 pour cent de réduction et acheter C, obtenir 10,00 € de réduction sur le total

Les écrans Définition de la remise suivants montrent comment créer une remise qui contienne une remise au niveau de l’article et une remise au niveau de la commande.

Condition : Acheter un sac de couchage Polar Star (AW310-12)

Remise : Obtenir une remise de 10 pour cent sur un sac de couchage North Face Sunspot (AW390-12).

Stratégie d’interaction pour la remise : Aucune.

Priorité : 10

Écran Définition de la remise

Condition : Acheter un sac de couchage Big Sur (AW200-12)

Remise : Obtenir 10,00 € sur le sous-total de la commande.

Stratégie d’interaction pour la remise : Aucune.

Priorité : 20

Écran Définition de la remise

Le panier suivant affiche une remise de 10 pour cent sur le sac de couchage North Face Sunspot et une remise de 10 pour cent sur le sous-total de la commande. Les conditions des remises sont remplies, puisque l’utilisateur a placé le sac de couchage Polar Star et le sac de couchage Big Sur dans le panier. Par conséquent, la remise de 10 pour cent s’applique au sac de couchage North Face Sunspot et la remise de 10,00 € s’applique au sous-total de la commande. Le montant de la remise sur le sous-total de la commande est réparti entre les trois éléments de commande contenus dans le panier.

Panier de l'utilisateur

Voir aussi

Création d’une remise

Ciblage d’une remise et définition de ses conditions et avantages

Remises

Conditions de remise

Avantages liés à la remise

Conditions d’éligibilité pour les remises


Exemples de remises complexes

Commerce Server 2002 offre la possibilité d’appliquer plusieurs remises à un article ou à une commande et vous permet de combiner des remises au niveau de l’article et des remises au niveau de la commande sur une même commande. Les exemples suivants représentent des écrans Définition de la remise et les paniers utilisateur pour des remises multiples, ainsi que pour des remises à la fois au niveau de l’article et au niveau de la commande.

Au niveau de la commande/Au niveau de l’article : Acheter C, obtenir 10,00 € sur le total et obtenir A avec une réduction de 10 pour cent

Au niveau de la commande/Au niveau de l’article : Acheter C, obtenir 10,00 € sur le total et acheter n’importe quoi, obtenir B avec une réduction de 10 pour cent

Au niveau de la commande : Acheter 2 A, obtenir 1 A gratuit

Au niveau de l’article : Acheter 2 A, obtenir 1 A avec une réduction de 10 pour cent

Au niveau de la commande/Au niveau de l’article : Acheter C, obtenir 10,00 € sur le total et obtenir A avec une réduction de 10 pour cent

Les écrans Définition de la remise suivants représentent une remise qui contient une remise au niveau de la commande et une remise au niveau de l’article.

Condition : Acheter un sac de couchage Big Sur (AW200-12).

Remise : Obtenir 10,00 € sur le sous-total de la commande.

Stratégie d’interaction pour la remise : Aucune

Priorité : 20

Définition de la remise

Condition : Acheter n’importe quel produit

Remise : Obtenir 10,00 € sur des ustensiles Scoutpride

Stratégie d’interaction pour la remise : Aucune

Priorité : 10

Écran Définition de la remise

Le panier suivant affiche une remise de 10 pour cent appliquée aux ustensiles Scoutpride. Les conditions des remises sont remplies, puisque l’utilisateur a placé le sac de couchage Big Sur dans le panier. La remise de 10 pour cent est appliquée aux ustensiles Scoutpride. La priorité de la remise sur les ustensiles Scoutpride (10) est supérieure à celle de la remise de 10,00 € sur le sous-total de la commande (20). Par conséquent, la remise n’est pas appliquée au sous-total de la commande.

Panier de l'utilisateur

Au niveau de la commande/Au niveau de l’article : Acheter C, obtenir 10,00 € sur le total et acheter n’importe quoi, obtenir B avec une réduction de 10 pour cent

Les écrans Définition de la remise suivants montrent comment créer une remise qui contienne une remise au niveau de la commande et une remise au niveau de l’article de type Acheter n’importe quoi.

Condition : Acheter un sac de couchage Big Sur (AW200-12).

Remise : Obtenir 10,00 € sur le sous-total de la commande.

Stratégie d’interaction pour la remise : Aucune

Priorité : 20

Écran Définition de la remise

Condition : Acheter n’importe quoi

Remise : Obtenir 10 pour cent sur une poêle Wolfgang (AW051-14)

Stratégie d’interaction pour la remise : Aucune

Priorité : 10

Écran Définition de la remise

Le panier suivant affiche une remise de 10 pour cent appliquée aux ustensiles Scoutpride et une remise de 10 pour cent appliquée au sous-total de la commande. La remise de 10 pour cent a été appliquée lorsque l’utilisateur a placé les ustensiles Scoutpride dans le panier. La propriété Acheter n’importe quoi ne requérant pas pour condition qu’un article particulier soit placé dans le panier, le sac de couchage Big Sur n’a pas été utilisé comme condition pour les ustensiles. Par conséquent, il a été utilisé comme condition d’application de la remise de 10,00 € sur le sous-total de la commande.

Panier de l'utilisateur

Order-level: Acheter 2 A, obtenir 1 A gratuit

L’écran Définition de la remise suivant montre comment créer une remise qui offre à l’utilisateur un article du catalogue gratuit s’il achète deux unités de l’article en question. Ce scénario de remise utilise la propriété de remise distincte, qui détermine si l’article condition doit être réutilisé en tant qu’avantage lié à la remise. Pour plus d’informations sur les remises distinctes, consultez Remises distinctes.

Condition : Acheter deux tentes Aptos (AW335-11)

Remise : Obtenir une tente Aptos gratuite

Remises distinctes : Appliquer l’offre à la réservation et à l’achat du produit.

Stratégie d’interaction pour la remise : Aucune

Priorité : 10

Écran Définition de la remise

Le panier suivant affiche une tente Aptos gratuite après que l’utilisateur a placé deux tentes Aptos dans le panier. La propriété de remise distincte Appliquer l’offre à la réservation et à l’achat du produit a autorisé la réutilisation de l’article condition comme avantage lié à la remise. Dans ce scénario, la première tente a été utilisée comme condition, et la deuxième tente a été utilisée comme condition, qui autorisera la remise de 100 pour cent. Pour plus d’informations sur les remises distinctes, consultez Remises distinctes.

Panier de l'utilisateur

Au niveau de l’article : Acheter 2 A, obtenir 1 A avec une réduction de 10 pour cent

L’écran Définition de la remise suivant montre qui si vous n’utilisez pas la propriété de remise distincte, qui réutilise l’article condition en tant qu’avantage (Appliquer l’offre à la réservation et à l’achat du produit), le panier ne produira pas les résultats souhaités. Pour plus d’informations sur les remises distinctes, consultez Remises distinctes.

Condition : Acheter deux tentes Starlight (AW425-11)

Remise : Obtenir 10 pour cent sur une tente Starlight

Remises distinctes : Appliquer l’offre à l’obtention du produit uniquement

Stratégie d’interaction pour la remise : Aucune

Priorité : 10

Écran Définition de la remise

Le panier suivant n’affiche aucune remise dans le panier pour la deuxième tente Starlight. La propriété de remise distincte Appliquer l’offre à la réservation et à l’achat du produit n’a pas été sélectionnée ; par conséquent, l’article condition n’a pas pu être réutilisé comme remise. Dans ce scénario, la première et la deuxième tentes ont été utilisées comme condition, et n’étaient pas éligibles pour la remise. Pour plus d’informations sur les remises distinctes, consultez Remises distinctes.

Panier de l'utilisateur

Le panier suivant montre trois tentes Starlight placées dans le panier. Une remise de 10 pour cent a été accordée à la troisième tente Starlight du panier. Dans ce scénario, la première et la deuxième tentes ont été utilisées comme condition, mais pas la troisième, qui a ainsi pu bénéficier de la remise de 10 pour cent.

Panier de l'utilisateur

L’écran Définition de la remise suivant montre qui si vous utilisez la propriété de remise distincte, qui réutilise l’article condition en tant qu’avantage (Appliquer l’offre à la réservation et à l’achat du produit) pour la même remise au niveau de l’article que ci-dessus (Remise au niveau de l’article : Acheter 2 A, obtenir 1 A avec une réduction de 10 pour cent), le panier produira le résultat souhaité.

Condition : Acheter deux tentes Starlight (AW425-11)

Remise : Obtenir 10 pour cent sur une tente Starlight

Remise distincte : Appliquer l’offre à la réservation et à l’achat du produit

Stratégie d’interaction pour la remise : Aucune

Priorité : 10

Écran Définition de la remise

Le panier suivant affiche une remise de 10 pour cent sur la deuxième tente Starlight du panier. La propriété de remise distincte Appliquer l’offre à la réservation et à l’achat du produit a autorisé la réutilisation de l’article condition comme avantage lié à la remise. Dans ce scénario, la première et la deuxième tentes ont été utilisées comme condition ; en outre, l’avantage de 10 pour cent lié à la remise est appliqué à la deuxième tente. Pour plus d’informations sur les remises distinctes, consultez Remises distinctes.

Panier de l'utilisateur

Voir aussi

Création d’une remise

Ciblage d’une remise et définition de ses conditions et avantages

Remises

Conditions de remise

Avantages liés à la remise

Conditions d’éligibilité pour les remises


Stratégies d'application des remises

Envoyer des commentaires sur cette page Commerce Server 2002

Stratégies d’application des remises

Les gestionnaires de campagnes peuvent créer et offrir plusieurs remises, telles que des remises au niveau de l’article, des remises au niveau de la commande ou encore, des remises sur la livraison, combinées les unes aux autres. Par exemple, un panier peut se qualifier pour plusieurs offres au niveau de l’article et au niveau de la commande, et ces offres qualifiantes peuvent être assorties d’une ou de plusieurs stratégies de remise.

Commerce Server utilise les stratégies suivantes lorsque les priorités et les stratégies d’interaction ne suffisent pas à déterminer l’ordre d’application des remises.

Stratégies d’application des conditions

  • Si disjoint = False, Commerce Server attribue des conditions aux articles qui reçoivent également des remises.
  • Commerce Server épuise les articles qui ne peuvent plus être utilisés comme remises, sauf si cela va à l’encontre de la stratégie précédente.
  • Si disjoint = True, Commerce Server empêche les articles attribués en tant que remises de l’être également en tant que conditions.

Stratégies d’application des remises

  • Commerce Server satisfait la stratégie d’interaction des remises spécifiée par le gestionnaire de la campagne.
  • Si plusieurs articles présentent le même degré d’éligibilité pour une remise, Commerce Server choisit l’article qui a fait l’objet de la plus grosse remise, ce qui favorise le marchand.

Voir aussi

Remises

Priorité d’une remise

Conditions de remise

Avantages liés à la remise

Remises multiples

Application de plusieurs remises

Remises distinctes


Publication des modifications de la campagne marketing sur votre site Web

Vous utilisez le module Publier les campagnes marketing pour mettre votre site à jour immédiatement avec de nouvelles informations. Dans la plupart des activités d’e-commerce, les modifications sont tout d’abord apportées sur un site de test, puis publiées sur un site de production à un moment bien précis. Contactez votre administrateur système pour savoir quand et comment des modifications sont publiées sur votre site de production.

Le module Publier les campagnes marketing contient un mécanisme de recherche qui permet de trouver des sites sur vos serveurs Web par type d’élément de la campagne. Vous pouvez afficher les sites et les caches de la campagne marketing qu’ils contiennent. Si vous ne voulez pas publier le cache de campagne d’un site, vous pouvez le supprimer de la liste des résultats de la recherche.

Remarque

  • Si vos serveurs ou sites Web n’apparaissent pas dans la liste des résultats de la recherche, c’est peut-être parce qu’aucun utilisateur du site n’a affiché une page qui utilise le système de la campagne marketing. Le système de la campagne marketing inscrit automatiquement chaque serveur et site Web lorsqu’il charge les informations sur la campagne marketing. La table virtual_directory de la base de données Campagnes marketing est mise à jour après la première interrogation des données du cache par un utilisateur. Après mise à jour de la table virtual_directory, le cache de la campagne marketing apparaîtra dans le module Publier les campagnes marketing.

Pour rechercher des caches de campagne marketing

Pour supprimer un cache de campagne marketing

Pour publier un élément de la campagne

Pour rechercher des caches de campagne marketing

  1. Dans Campagnes marketing, cliquez sur Publier les campagnes marketing.
  2. Dans l’écran Publier les campagnes marketing, cliquez sur Rechercher dans la barre d’outils.
  3. Dans le volet Rechercher, dans la zone Rechercher, sélectionnez dans la liste déroulante le type de cache de campagne recherché, puis cliquez sur Rechercher.

Les sites contenant des caches du type spécifié correspondant aux critères de recherche s’affichent dans la zone Éléments de production.

Pour supprimer un cache de campagne marketing

  1. Dans Campagnes marketing, cliquez sur Publier les campagnes marketing.
  2. Dans l’écran Publier les campagnes marketing, cliquez sur Rechercher dans la barre d’outils.
  3. Dans le volet Rechercher, dans la zone Rechercher, sélectionnez dans la liste déroulante le type de cache de campagne que vous souhaitez supprimer, puis cliquez sur Rechercher.

    Les sites contenant des caches du type spécifié correspondant aux critères de recherche s’affichent dans la zone Éléments de production.

  4. Sélectionnez le site et son cache de campagne à supprimer, puis cliquez sur Supprimer dans la barre d’outils.
  5. Dans la boîte de dialogue Voulez-vous supprimer, cliquez sur Oui pour supprimer le cache de la campagne marketing pour le site sélectionné.

Le cache de campagne pour le site sélectionné est supprimé de la liste Éléments de production.

Pour publier un élément de la campagne

  1. Dans Campagnes marketing, cliquez sur Publier les campagnes marketing.
  2. Dans l’écran Publier les campagnes marketing, sélectionnez l’élément de la campagne que vous souhaitez publier, puis cliquez sur Publier dans la barre d’outils.

L’élément de la campagne est envoyé en production. Le site mis à jour inclut le nouvel élément de la campagne.

Remarque

  • Si vous ne disposez pas des autorisations appropriées ou si vous rencontrez des problèmes de connectivité, le site ne sera pas mis à jour avec les nouveaux éléments de la campagne. En outre, pour publier une campagne, une page ASP appelée BDRefresh.asp doit être présente dans le répertoire racine du site sur chaque serveur Web. Contactez votre administrateur système si vous ne pouvez pas mettre à jour votre site.

Voir aussi

Création d’une publicité

Création d’une remise


Gestion des listes des enregistrements utilisateur

Le Gestionnaire de listes permet de créer et gérer des listes. Il existe deux types de listes : les listes génériques et les listes de distribution par messagerie. Les listes génériques sont des listes importées dans le Gestionnaire de listes à partir du module Rapports, ou d’une table SQL Server. Les listes de distribution par messagerie sont une sous-classification d’une liste générique. Une liste de distribution par messagerie contient une colonne d’adresses de messagerie nommée rcp_email, et d’autres colonnes d’une liste de publipostage. Pour plus d’informations sur les listes de publipostage, consultez Listes de publipostage.

Le service de publipostage utilise les listes de publipostage pour créer et envoyer des messages à des destinataires sélectionnés dans une liste. Si la liste générique ne contient pas d’adresses de messagerie, elle est importée sous forme d’une liste des utilisateurs, si les critères de liste des utilisateurs sont remplis. Pour plus d’informations sur les critères de liste des utilisateurs, consultez Listes des utilisateurs.

Les listes sont créées dans le Gestionnaire de listes en important des listes créées par d’autres applications, telles que Microsoft SQL Server (pour créer une table SQL) et le Bloc-notes (pour créer un fichier texte ASCII).

Une fois que les listes sont importées dans le Gestionnaire de listes, vous pouvez les utiliser pour exécuter des travaux du service de publipostage, afin de mieux cibler les utilisateurs.

Des destinataires individuels peuvent demander à être placés dans une liste des annulations d’abonnements au niveau de la campagne ou au niveau du site. Les destinataires qui ne souhaitent pas recevoir les messages de publipostage créés en tant que parties d’un élément particulier de la campagne sont placés sur une liste des annulations au niveau de la campagne. La liste des annulations au niveau de la campagne est nommée Annulation d’abonnement <Identificateur de l’élément de la campagne>. Les utilisateurs qui souhaitent être placés sur la liste des annulations du site ne reçoivent pas de messages de publipostage créés par des campagnes de publipostage sur votre site. Dans l’écran Gestionnaire de campagnes, la liste des annulations d’abonnements au niveau du site est appelée Annulation d’abonnement. Pour plus d’informations sur les listes des annulations, consultez Listes des annulations d’abonnements.

Vous pouvez également utiliser le Gestionnaire de listes pour exporter des listes vers un fichier ou une base de données SQL Server, les ajouter ou les supprimer, ou les copier.

Cette section contient les rubriques suivantes :

  • Importation et exportation de listes
  • Affichage des listes exportées
  • Ajout et suppression de listes
  • Modification des noms de listes
  • Copie d’une liste de publipostage
  • Extraction de listes de publipostage
  • Suppression de listes


Importation et exportation de listes

Les listes sont créées dans le Gestionnaire de listes en important des listes créées par d’autres applications, telles que Microsoft SQL Server (pour créer une table SQL) et le Bloc-notes (pour créer un fichier texte ASCII). Le gestionnaire de listes nécessite que les fichiers aient un format de liste de publipostage spécifique. Pour plus d’informations sur le format d’une liste de publipostage, consultez Création d’une liste de publipostage.

Vous pouvez aussi exporter des listes du Gestionnaire de listes vers un fichier ou une table de base de données SQL Server, puis rechercher et afficher les membres de la liste exportée.

Pour importer une liste

Pour exporter une liste

Pour importer une liste

  1. Dans Campagnes marketing, cliquez sur Gestionnaire de listes.
  2. Dans l’écran Gestionnaire de listes, cliquez sur Importer dans la barre d’outils.
  3. Sélectionnez la source à partir de laquelle la liste a été créée.

    Les options disponibles sont Fichier et Table SQL.

    • Sélectionnez Fichier si la liste a été créée dans une application telle que le Bloc-notes où la liste est un fichier texte simple.
    • Sélectionnez Table SQL si la liste a été créée dans une table SQL.
  4. Dans la boîte de dialogue Importer une liste, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Type de liste
    • Sélectionner l’option Statique pour importer une liste statique.
    • Sélectionner l’option Dynamique pour importer une liste dynamique.
    Taper le nom de la liste vers laquelle effectuer la copie | Taper un nom pour la liste importée.
    Spécifier un fichier sur le serveur
    • Si la liste que vous souhaitez importer est un fichier texte simple, taper le chemin d’accès, le nom de fichier et l’extension de la liste.
      Remarque
      • Lorsque vous spécifiez le chemin d’accès (par exemple, <lettre lecteur>:\<nomfichier.txt>), <lettre lecteur> fait référence au serveur (et pas au client). Pour importer à partir du client, tapez le chemin d’accès UNC (Universal Naming Convention, convention d’affectation des noms).
      • Si la liste que vous souhaitez importer a été créée dans une table SQL, effectuez les opérations suivantes :
      1. Dans la zone Chaîne de connexion, tapez la chaîne de connexion de base de données qui définit l’emplacement d’une base de données et la façon de s’y connecter.

        Exemple : Chaîne de connexion OLEDB :

        Fournisseur=SQLOLEDB.1;Sécurité intégrée='SSPI';Catalogue initial=”Retail_Commerce”;
Source de données=<nom ordinateur>”
      2. Dans la zone Requête SQL, tapez la requête SQL qui doit retourner les informations souhaitées. Dans toutes les requêtes, les noms complets des membres doivent être spécifiés.

        Exemple : Requête de base de données SQL Server 7.0 :

        SELECT u_email_address AS rcp_email FROM retail_commerce.dbo.UserObject WHERE d_date_registered >= '03/01/2000'

        Exemple : Requête de base de données SQL Server distante

        SELECT u_email_address AS rcp_email FROM <Nom serveur>.retail_commerce.dbo.UserObject WHERE d_date_registered >= '03/01/2000'

        Pour plus d’informations sur les conventions d’utilisation des noms de champs dans le Gestionnaire de listes, consultez Création d’une liste de publipostage.

      Remarque

      • Contactez votre administrateur système pour obtenir des informations sur les propriétés de base de données et les requêtes SQL. Pour plus d’informations sur la création de requêtes SQL, consultez Principes de base des requêtes dans la documentation en ligne de SQL.
  5. Cliquez sur OK.

La nouvelle liste s’affiche dans le Gestionnaire de listes. Vous pouvez maintenant utiliser cette liste dans une campagne de publipostage.

Pour exporter une liste

  1. Dans Campagnes marketing, cliquez sur Gestionnaire de listes.
  2. Dans l’écran Gestionnaire de listes, sélectionnez la liste que vous souhaitez exporter, puis cliquez sur Exporter dans la barre d’outils.
  3. Sélectionner la source de la liste que vous voulez exporter.

    Les options disponibles sont Fichier et Table SQL.

    • Sélectionnez Fichier si la liste a été créée dans une application telle que le Bloc-notes où la liste est un fichier texte simple.
    • Sélectionnez Table SQL si la liste a été créée dans une table SQL.
  4. Dans la boîte de dialogue Exporter une liste, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Spécifier un fichier sur le serveur
    • Si la liste que vous souhaitez exporter est un fichier texte simple, taper le chemin d’accès, le nom de fichier et l’extension vers lesquels vous souhaitez exporter la liste.
      Remarque
      • Lorsque vous spécifiez le chemin d’accès (par exemple, <lettre lecteur>:\<nomfichier.txt>), <lettre lecteur> fait référence au serveur (et pas au client). Pour exporter à partir du client, tapez le chemin d’accès UNC (Universal Naming Convention, convention d’affectation des noms).
      • Si la liste que vous souhaitez exporter a été créée dans une table SQL, effectuez les opérations suivantes :
      1. Dans la zone Chaîne de connexion, tapez la chaîne de connexion de base de données qui définit l’emplacement d’une base de données et la façon de s’y connecter.

        Exemple : Chaîne de connexion OLEDB :

        Fournisseur=SQLOLEDB.1;
Sécurité intégrée='SSPI';
Catalogue initial=”Retail_Commerce”;
Source de données=<nom ordinateur>”
      2. Dans la zone Nom de la table, tapez le nom de la table vers laquelle vous voulez exporter la liste.
      Remarques
      • Seule une liste de distribution par messagerie (liste contenant une colonne rcp_email) peut être exportée dans un fichier.
      • Contactez votre administrateur système pour obtenir des informations sur les propriétés de base de données.
    Remplacer la table existante | Activer cette case pour remplacer une table existante par la liste que vous exportez.
  5. Cliquez sur OK.

La liste est exportée vers la source sélectionnée.

Remarque

  • Si l’exportation échoue, consultez le journal des événements de Windows NT sur le serveur Business Desk pour obtenir des informations détaillées sur la panne ou contactez votre administrateur système.

Voir aussi

Recherche de profils utilisateur dans une liste de publipostage


Affichage des listes exportées

Vous pouvez rechercher et afficher les membres d’une liste de publipostage exportée. Vous pouvez localiser une adresse de messagerie individuelle et afficher toutes les adresses d’une liste particulière.

Pour afficher une liste exportée vers une table SQL Server

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Microsoft SQL Server, puis cliquez sur Enterprise Manager.
  2. Dans le volet gauche, développez Serveurs Microsoft SQL>Groupe SQL Server>(NomServeur)>Bases de données, puis développez la base de données à laquelle appartient la table contenant la liste.
  3. Dans le volet des informations, cliquez avec le bouton droit sur la table, pointez sur Ouvrir une table, puis cliquez sur Renvoyer toutes les lignes pour afficher toutes les données de la table.

Pour plus d’informations sur la recherche dans des tables SQL Server, consultez « Spécification de critères de recherche », dans la documentation en ligne de SQL Server Enterprise Manager.

Remarque

  • Pour trier ou rechercher des enregistrements spécifiques dans une liste exportée vers un fichier CSV (valeurs séparées par des virgules), vous pouvez ouvrir le fichier dans une application dotée des fonctionnalités de tri et de recherche.

Voir aussi

Création de publipostage


Ajout et suppression de listes

Dans le Gestionnaire de listes, vous pouvez associer plusieurs listes pour former une nouvelle liste. Ou si plusieurs listes sont déjà associées dans le Gestionnaire de listes, vous pouvez en supprimer une de la liste combinée. Le Gestionnaire de listes permet de gérer plusieurs listes.

Les deux listes doivent être des listes de distribution par messagerie pour pouvoir les ajouter ou les supprimer. Par exemple, chaque liste doit contenir une colonne rcp_email. Pour plus d’informations sur les conventions d’utilisation des listes de publipostage, consultez Création d’une liste de publipostage.

Pour ajouter une liste à une autre liste

  1. Dans Campagnes marketing, cliquez sur Gestionnaire de listes.
  2. Dans l’écran Gestionnaire de listes, sélectionnez la liste que vous souhaitez associer à une autre liste et cliquez sur Ajouter/Supprimer la liste dans la barre d’outils.
  3. Dans la boîte de dialogue Ajouter/supprimer des listes, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Opération | Sélectionner Ajouter à dans la liste déroulante.
    Liste cible | Sélectionner la liste à laquelle vous voulez ajouter la liste initiale.
    Nom pour la nouvelle liste | Taper le nom de la nouvelle liste.
    Description | Taper une description pour la nouvelle liste.
  4. Cliquez sur OK.

La nouvelle liste s’affiche dans le Gestionnaire de listes.

Pour supprimer une liste d’une autre liste

  1. Dans Campagnes marketing, cliquez sur Gestionnaire de listes.
  2. Dans l’écran Gestionnaire de listes, sélectionnez la liste dont vous souhaitez supprimer des informations et cliquez sur Ajouter/Supprimer la liste dans la barre d’outils.
  3. Dans la boîte de dialogue Ajouter/supprimer la liste, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Opération | Sélectionner Supprimer de dans la liste déroulante.
    Liste cible | Sélectionner la liste dont vous voulez supprimer les informations.
    Nom pour la nouvelle liste | Taper le nom de la nouvelle liste.
    Description | Taper une description pour la nouvelle liste.
  4. Cliquez sur OK.

La nouvelle liste s’affiche dans le Gestionnaire de listes, en excluant la liste supprimée.

Voir aussi

Gestion des listes des enregistrements utilisateur


Modification des noms de listes

Le Gestionnaire de listes permet d’affecter à une liste un nouveau nom, plus descriptif.

Pour renommer une liste

  1. Dans Campagnes marketing, cliquez sur Gestionnaire de listes.
  2. Dans l’écran Gestionnaire de listes, sélectionnez la liste que vous souhaitez renommer, puis cliquez sur Ouvrir dans la barre d’outils.
  3. Dans la boîte de dialogue Mettre à jour la liste '<nom de la liste>', effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper le nouveau nom de la liste.
    Description | Taper une description de la liste.
  4. Pour enregistrer la liste et revenir à l’écran Gestionnaire de listes, cliquez sur Enregistrer et retour dans la barre d’outils.

La liste est renommée et s’affiche dans l’écran Gestionnaire de listes par ordre alphabétique.

Voir aussi

Gestion des listes des enregistrements utilisateur

Listes des utilisateurs

Listes d’utilisateurs et listes de publipostage

Listes génériques


Copie des listes de publipostage

Vous pouvez utiliser les listes existantes pour créer des listes supplémentaires. Dans le Gestionnaire de listes, vous pouvez copier des listes génériques et des listes de publipostage déjà créées et modifier rapidement la liste copiée. Par exemple, vous pouvez associer une liste copiée à une liste existante pour créer une plus grande liste.

Pour copier une liste de publipostage

  1. Dans Campagnes marketing, cliquez sur Gestionnaire de listes.
  2. Dans l’écran Gestionnaire de listes, sélectionnez la liste que vous souhaitez copier, puis cliquez sur Copier dans la barre d’outils.
  3. Dans la boîte de dialogue Copier la liste, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Sélectionner une liste existante vers laquelle effectuer la copie | Sélectionner la liste existante vers laquelle vous souhaitez copier la liste.
    Taper le nom de la liste vers laquelle effectuer la copie | Taper le nom d’une nouvelle liste vers laquelle vous souhaitez copier la liste.
  4. Cliquez sur OK.

La liste est copiée et vous pouvez maintenant modifier la liste copiée.

Voir aussi

Gestion des listes des enregistrements utilisateur

Listes des utilisateurs

Listes d’utilisateurs et listes de publipostage

Listes génériques


Extraction de listes de publipostage

Le Gestionnaire de listes permet de supprimer des adresses de messagerie en double et vides d’une liste générique, en ne laissant que les champs nécessaires pour le publipostage. La liste résultante contient un inventaire plus précis des adresses de messagerie uniques, ce qui augmente l’utilité de cette liste et les performances pendant l’exécution.

Pour extraire une liste de publipostage

  1. Dans Campagnes marketing, cliquez sur Gestionnaire de listes.
  2. Dans l’écran Gestionnaire de listes, sélectionnez la liste que vous souhaitez extraire, puis cliquez sur Extraire la liste de publipostage dans la barre d’outils.
  3. Dans la boîte de dialogue Extraire la liste de publipostage, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Taper le nom de la liste vers laquelle effectuer la copie | Taper le nom d’une nouvelle liste vers laquelle vous souhaitez extraire la liste de publipostage.
    Description | Taper une description de la liste extraite.
  4. Cliquez sur OK.

La liste est extraite avec des adresses de publipostage uniques.

Voir aussi

Gestion des listes des enregistrements utilisateur

Listes des utilisateurs

Listes d’utilisateurs et listes de publipostage

Listes génériques


Suppression de listes

Le Gestionnaire de listes permet de supprimer des listes que vous n’utilisez plus.

Pour supprimer une liste

  1. Dans Campagnes marketing, cliquez sur Gestionnaire de listes.
  2. Dans l’écran Gestionnaire de listes, sélectionnez la liste que vous souhaitez supprimer, puis cliquez sur Supprimer dans la barre d’outils.
  3. Dans la boîte de dialogue Supprimer la liste, cliquez sur OK pour supprimer la liste.

La liste est supprimée du Gestionnaire de listes.

Voir aussi

Gestion des listes des enregistrements utilisateur

Listes des utilisateurs

Listes d’utilisateurs et listes de publipostage

Listes génériques


Création de publipostage

Le module Gestionnaire de campagnes permet de créer et de gérer des campagnes de publipostage. Le publipostage est un élément de la campagne qui peut être adressé à des utilisateurs spécifiques grâce aux listes de publipostage du Gestionnaire de listes. Le module Gestionnaire de campagnes permet de créer des campagnes de publipostage, de personnaliser des messages, d’ajouter des pièces-jointes à vos messages de publipostage et de modifier les propriétés du publipostage. Vous pouvez également tester vos listes de publipostage avant de les envoyer en production. Pour obtenir des instructions pas à pas, consultez le Didacticiel Service de publipostage.

Le déroulement des opérations ci-dessous illustre un exemple de scénario permettant de créer et de gérer une campagne de publipostage :

Workflow for creating and managing a direct mail campaign
  1. Dans le module Gestionnaire de listes, importez une liste de publipostage (par exemple une liste des utilisateurs les plus réguliers).
  2. Dans le module Gestionnaire de campagnes, créez une campagne de publipostage pour cibler la liste des utilisateurs les plus réguliers.
  3. Entrez le nom d’une page HTML faisant figurer un contenu personnalisé.
  4. Ajoutez une pièce jointe à la campagne de publipostage.
  5. Planifiez les heures de début et de fin de la campagne de publipostage et spécifiez la fréquence à laquelle le travail de publipostage doit être envoyé.
  6. Testez le publipostage envoyé à l’aide d’une liste de test et affichez vos pages personnalisées.

Cette section contient les rubriques suivantes :

  • Création d’une liste de publipostage
  • Importation d’une liste de publipostage
  • Ajout des propriétés du publipostage
  • Personnalisation d’un message de publipostage
  • Ajout de pièces jointes à un publipostage
  • Planification du publipostage
  • Test du publipostage
  • Copie du publipostage


Création d'une liste de publipostage

Envoyer des commentaires sur cette page Commerce Server 2002

Création d’une liste de publipostage

Pour que vous puissiez créer une campagne de publipostage, le module Gestionnaire de listes doit contenir une liste de publipostage valide. Une liste de publipostage valide doit contenir une colonne d’adresses de messagerie nommée rcp_email et comprenant une ou plusieurs lignes de destinataires. Le service de publipostage utilise les listes de publipostage pour envoyer des messages à des destinataires sélectionnés dans une liste.

Vous pouvez créer une liste de publipostage à l’aide d’un éditeur de texte. Vous pouvez aussi importer dans le Gestionnaire de listes une liste créée dans une autre application, telle que SQL Server (pour créer une table SQL), le Bloc-notes (pour créer un fichier texte ASCII), Microsoft Excel (pour créer une feuille de calcul) ou Microsoft Outlook (pour exporter des informations provenant d’un fichier de dossiers personnels (fichier .pst)).

Le Gestionnaire de listes requiert des noms de champs dans la table suivante lors de l’importation des listes à partir de SQL Server. Chaque ligne de la liste contient un destinataire unique et se compose des éléments suivants dans un format délimité par des virgules :

Nom du champ | Paramètre
rcp_email | Adresse de messagerie | Obligatoire. Nom ou nom@domaine.
rcp_guid | GUID | Facultatif. Identificateur global unique. Identificateur d’utilisateur unique utilisé pour fournir le contenu d’un message électronique personnalisé.
rcp_fmt Format du message Facultatif. Contrôle le type de format du message dans lequel l’objet de données de collaboration (CDO, Collaboration Data Object) traduit le résultat. Les valeurs prises en charge sont :
  • Texte (1)
  • MIME (2)
  • MHTML (3)

Pour plus d’informations sur les formats des messages, consultez Formats des messages.
rcp_locale | Langue | Facultatif. Les valeurs de page de codes qui sont utilisées dans les listes de publipostage, telles que US-ASCII et ISO-8859-1.
rcp_url | URL | Facultatif. Permet de transmettre des adresses URL individuelles au niveau de chaque utilisateur à CDO.

Remarques

  • Les noms de champs sont limités à l’ordre présenté dans la table. Vous devez fournir le délimiteur en cas d’omission d’un paramètre facultatif pour permettre le bon agencement des autres paramètres facultatifs.

L’exemple suivant représente une liste de publipostage (fichier texte ASCII) créée à l’aide d’un éditeur de texte, comme le Bloc-notes :

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

Pour exporter des informations de Microsoft Outlook sous forme de liste de publipostage vers le Gestionnaire de listes, vous devez effectuer les étapes suivantes :

  1. Dans Microsoft Outlook, dans l’écran Contacts, dans le menu Fichier, cliquez sur Importer et exporter.
  2. Cliquez sur Exporter des données vers un fichier, puis sur Suivant.
  3. Sélectionnez le type de fichiers Valeurs séparées par des tabulations ou Valeurs séparées par des virgules, puis cliquez sur Suivant.
  4. Sélectionnez le dossier à partir duquel l’exportation doit avoir lieu, puis cliquez sur Suivant.
  5. Tapez le chemin et le nom du fichier ou cliquez sur Parcourir pour rechercher l’emplacement vers lequel vous allez exporter le fichier, puis cliquez sur Suivant.
  6. Cliquez sur Mappage des champs personnalisés, puis, dans le volet À situé à droite, cliquez sur Effacer Mappage.
  7. Faites glisser la valeur Email du volet De situé à gauche vers le volet À de droite, cliquez sur OK, puis sur Terminer.

Le fichier a été exporté à partir de Microsoft Outlook. Vous pouvez maintenant importer le fichier en tant que liste de publipostage valide vers le Gestionnaire de listes. Pour plus d’informations sur l’exportation de fichiers à partir de Microsoft Outlook, consultez la rubrique « Exportation d’éléments vers un fichier ou vers un fichier de dossiers personnels » dans l’aide en ligne de Microsoft Outlook.

Voir aussi

Gestion des listes des enregistrements utilisateur

Listes des utilisateurs

Listes d’utilisateurs et listes de publipostage

Listes génériques


Importation d'une liste de publipostage

Envoyer des commentaires sur cette page Commerce Server 2002

Importation d’une liste de publipostage

Pour que vous puissiez créer une campagne de publipostage, le module Gestionnaire de listes doit contenir une liste de publipostage valide. Le module Gestionnaire de Listes permet d’importer des listes d’utilisateurs que vous pouvez cibler lors d’une campagne de publipostage. Vous pouvez importer des fichiers texte ASCII, des fichiers provenant de Microsoft Excel ou des tables issues de bases de données SQL Server.

Pour importer une liste de publipostage

  1. Dans Campagnes marketing, cliquez sur Gestionnaire de listes.
  2. Dans l’écran Gestionnaire de listes, cliquez sur Importer dans la barre d’outils.
  3. Dans la boîte de dialogue Importer une liste, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Type de liste Sélectionner le type de liste.

    Les options disponibles sont Statique et Dynamique.

    • Sélectionner Statique pour importer une liste statique de fichiers texte simples.
    • Sélectionner Dynamique pour importer une liste dynamique (liste qui change, telle qu’une liste issue d’une base de données SQL Server).
    Taper le nom de la liste vers laquelle effectuer la copie | Taper un nom pour la liste importée.
    source de la liste Sélectionner le type de source pour la liste.

    Les options disponibles sont À partir d’un fichier ou À partir d’une base de données SQL.

    • Sélectionner À partir d’un fichier pour une liste statique.
    • Si vous sélectionnez À partir d’une base de données SQL, effectuez les opérations suivantes :
      1. Dans la zone Chaîne de connexion, tapez la chaîne de connexion de base de données qui définit l’emplacement d’une base de données et la façon de s’y connecter.
      2. Dans la zone Requête SQL, tapez la requête SQL qui doit retourner les informations souhaitées.

        Exemple : Requête SQL :

        SELECT u_email_address AS rcp_email
FROM UserObject
WHERE d_date_registered >= '03/01/2000'

        Pour plus d’informations sur les conventions d’utilisation des noms de champs dans le Gestionnaire de listes, consultez Création d’une liste de publipostage.

      Remarque

      • Contactez votre administrateur système pour obtenir des informations sur les propriétés de base de données et les requêtes SQL. Pour plus d’informations sur la création de requêtes SQL, consultez « Principes de base des requêtes » dans la documentation en ligne de SQL.
    Nom du fichier | Taper le chemin d’accès, le nom de fichier et l’extension de la liste à importer.
  4. Cliquez sur OK.

La nouvelle liste est importée et s’affiche dans le Gestionnaire de listes. Vous pouvez maintenant utiliser cette liste dans une campagne de publipostage.

Voir aussi

Gestion des listes des enregistrements utilisateur

Importation et exportation de listes

Listes d’utilisateurs et listes de publipostage


Ajout des propriétés du publipostage

Les campagnes de publipostage permettent aux utilisateurs de voir vos publicités. Un publipostage peut être adressé à des utilisateurs spécifiques grâce aux listes de publipostage du Gestionnaire de listes. Vous pouvez importer des fichiers texte ASCII et des tables issues de bases de données SQL Server. Vous pouvez utiliser ces listes pour exécuter des travaux de publipostage afin de mieux cibler vos utilisateurs.

Remarque

  • Avant de créer une campagne de publipostage, assurez-vous que l’Agent SQL Server est en cours d’exécution. Si ce n’est pas le cas, vous ne pourrez pas enregistrer votre campagne de publipostage. Pour plus d’informations sur l’Agent SQL Server, contactez votre administrateur système.

Pour ajouter des propriétés de publipostage

  1. Dans Campagnes marketing, cliquez sur Gestionnaire de campagnes.
  2. Dans l’écran Gestionnaire de campagnes, développez le client pour lequel vous souhaitez créer un publipostage, sélectionnez la campagne pour laquelle vous voulez le créer, cliquez sur Nouvelle dans la barre d’outils, puis sélectionnez Nouveau publipostage dans la liste déroulante.
  3. Dans l’écran Gestionnaire de campagnes <Client> <campagne marketing> Nouveau (publipostage), dans la section Propriétés du publipostage, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom de publipostage | Taper un nom pour le travail de publipostage.
    Message en provenance de l’adresse de messagerie | Taper l’adresse à partir de laquelle le publipostage est envoyé.
    Adresse de messagerie de réponse Taper l’adresse à laquelle le destinataire doit répondre, si celle-ci diffère de l’adresse par défaut.

    La valeur par défaut de cette zone correspond à l’adresse à partir de laquelle le publipostage est envoyé.
    Objet du message | Taper le texte de l’objet pour le travail de publipostage.
    Chemin d’accès à un fichier ou URL contenant le corps du message Taper le chemin d’accès au fichier ou l’adresse URL que vous utilisez pour afficher le message de publipostage.

    L’adresse URL du corps du message personnalisé doit posséder une extension de type de contenu HTML valide, telle que .htm ou .asp. Les extensions qui ne sont pas valides, telles que .xml, génèrent une erreur d’objets de données de collaboration (CDO, Collaboration Data Objects) et le message n’est pas envoyé.

    Pour afficher des pages personnalisées, consultez Test du publipostage.

    Attention

    • Tout fichier dont la taille dépasse deux mégaoctets est tronqué. Seuls les deux premiers mégaoctets de données sont utilisés dans le publipostage.
    Pièce jointe Taper le chemin d’accès au fichier et le nom de fichier de la pièce jointe envoyée avec le message.

    Si aucune pièce jointe n’est envoyée, laissez cette zone vide.
    Liste de publipostage | Sélectionner dans la liste déroulante la liste de publipostage qui sera utilisée par cette campagne de publipostage.
    Personnaliser le publipostage par utilisateur Permettre de personnaliser cette campagne de publipostage. Dans ce cas, activez la case à cocher.

    Si la case à cocher est activée, pour chaque utilisateur, la page ASP du corps du message est appelée et le résultat est envoyé sous forme de courrier électronique.

    Si la case à cocher est désactivée, la page ASP du corps du message est appelée une fois et le même contenu est employé pour tous les utilisateurs.

    Remarque

    • Cette option permet une économie considérable en termes de puissance de traitement, en particulier pour les envois en nombre.
    Format du message Sélectionner le format de ce message.

    Les options sont les suivantes :

    • Texte – Applique un format ASCII au message.
    • MIME - Applique un format MIME au message.
    • MHTML - Applique au message un format d’encapsulation de type MIME du contenu HTML pour que le message soit envoyé en tant que message électronique.

    Important

    • Ces formats de messages sont les valeurs par défaut et ne sont utilisés que si le format de messagerie propre à l’utilisateur est NULL Si un format de messagerie propre à l’utilisateur a été spécifié (lorsque vous avez créé et/ou importé la liste de publipostage), le format propre à l’utilisateur sera utilisé lors de l’envoi du publipostage.

    Pour plus d’informations sur les formats des messages, consultez Formats des messages.
    Commentaires (non inclus dans le message) | Taper tout commentaire nécessaire concernant le travail de publipostage.
  4. Pour enregistrer le publipostage et revenir à l’écran Gestionnaire de campagnes, cliquez sur Enregistrer et retour dans la barre d’outils.

Le publipostage est ajouté au module Gestionnaire de campagnes. Vous pouvez maintenant planifier et tester le publipostage.

Remarque

  • Dans la zone Chemin d’accès à un fichier ou URL contenant le corps du message, pour vérifier que le chemin de l’adresse URL contenant le corps du message est valide, sélectionnez le chemin d’accès et le fichier ou l’adresse URL, puis appuyez sur [CTRL C] pour copier la sélection. Ouvrez votre navigateur, appuyez sur [CTRL P] pour coller la sélection dans la ligne Adresse, puis appuyez sur [ENTRÉE]. Si le fichier ou l’adresse URL sont corrects, la page appropriée s’affiche dans votre navigateur.

Pour plus d’informations sur la planification du publipostage, consultez Planification du publipostage. Pour plus d’informations sur le test du publipostage, consultez Test du publipostage.

Voir aussi

Ajout d’une campagne

Gestion des listes des enregistrements utilisateur

Importation et exportation de listes


Personnalisation d'un message de publipostage

Envoyer des commentaires sur cette page Commerce Server 2002

Personnalisation d’un message de publipostage

Vous pouvez personnaliser les messages électroniques adressés aux utilisateurs à l’aide d’une page ASP conçue pour la personnalisation. Par exemple, vous pouvez inclure le prénom de l’utilisateur dans un message d’accueil personnel. Un texte spécial peut être ajouté à la page ASP pour la livraison. Si la personnalisation n’est pas spécifiée, le message de publipostage est affiché sur une page HTML de texte brut.

Pour personnaliser un message de publipostage

  1. Dans Campagnes marketing, cliquez sur Gestionnaire de campagnes.
  2. Dans l’écran Gestionnaire de campagnes, sélectionnez la campagne de publipostage que vous souhaitez personnaliser, puis cliquez sur Ouvrir dans la barre d’outils.
  3. Dans l’écran Gestionnaire de campagnes <Client> <Campagne marketing> <Élément de publipostage>(ID du publipostage : <nombre>), effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Chemin d’accès à un fichier ou URL contenant le corps du message | Taper le nom de la page HTML contenant le contenu personnalisé.
    Personnaliser le publipostage par utilisateur Permettre de personnaliser cette campagne de publipostage. Dans ce cas, activez la case à cocher.

    Si la case à cocher est activée, pour chaque utilisateur, la page ASP du corps du message est appelée et le résultat est envoyé sous forme de courrier électronique.

    Si la case à cocher est désactivée, la page ASP du corps du message est appelée une fois et le même contenu est employé pour tous les utilisateurs.

    Remarque

    Cette option permet une économie considérable en termes de puissance de traitement, en particulier pour les envois en nombre.
    Format du message Sélectionner le format de ce message.

    Les options sont les suivantes :

    • Texte – Applique un format ASCII au message.
    • MIME - Applique un format MIME au message.
    • MHTML – Applique un format HTML multilingue au message.
  4. Pour enregistrer la campagne de publipostage avec la personnalisation et revenir à l’écran Gestionnaire de campagnes, cliquez sur Enregistrer et retour dans la barre d’outils.

Le message de publipostage est envoyé avec la personnalisation.

Pour afficher vos pages personnalisées, consultez Test du publipostage.

Voir aussi

Création de publipostage

Test du publipostage


Ajout de pièces jointes à un publipostage

Vous pouvez ajouter des pièces jointes à un publipostage à l’aide de la section Propriétés du publipostage de l’écran Gestionnaire de campagnes. Une pièce jointe peut être n’importe quel fichier contenant les informations que vous souhaitez envoyer avec le publipostage.

Pour ajouter une pièce jointe à un publipostage

  1. Dans Campagnes marketing, cliquez sur Gestionnaire de campagnes.
  2. Dans l’écran Gestionnaire de campagnes, sélectionnez le publipostage auquel vous souhaitez ajouter une pièce jointe, puis cliquez sur Ouvrir dans la barre d’outils.
  3. Dans l’écran Gestionnaire de campagnes <Client> <Campagne marketing> <Élément de publipostage>(ID du publipostage : <numéro>), dans la zone Pièce jointe, tapez le chemin d’accès de la pièce jointe à envoyer avec le message électronique.
  4. Pour enregistrer la pièce jointe avec la campagne de publipostage et revenir à l’écran Gestionnaire de campagnes, cliquez sur Enregistrer et retour dans la barre d’outils.

La pièce jointe est enregistrée avec ce travail de publipostage.

Voir aussi

Ajout des propriétés du publipostage


Planification du publipostage

Vous pouvez planifier les heures de début et de fin du publipostage et spécifier la fréquence d’envoi de celui-ci en utilisant la section Planification du message de l’écran Gestionnaire de campagnes.

Pour planifier le publipostage

  1. Dans Campagnes marketing, cliquez sur Gestionnaire de campagnes.
  2. Dans l’écran Gestionnaire de campagnes, sélectionnez le publipostage que vous souhaitez planifier, puis cliquez sur Ouvrir dans la barre d’outils.
  3. Dans l’écran Gestionnaire de campagnes <Client> <Campagne marketing> <Élément de publipostage>(ID du publipostage : <nombre>), dans la section Planification du message, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Date de début | Taper ou sélectionner dans le calendrier déroulant la date de début du publipostage.
    Date de fin Taper ou sélectionner dans le calendrier déroulant la date de fin du publipostage.

    La zone Date de fin n’est pas disponible si l’intervalle de publipostage est défini pour n’avoir lieu qu’une seule fois.
    Heure de début | Sélectionner une heure de début dans la liste déroulante pour la campagne marketing.
    Intervalle de publipostage | Sélectionner dans la liste déroulante la fréquence à laquelle vous voulez envoyer le message.

    Remarque

    • Plusieurs options sont disponibles pour l’intervalle de publipostage. Différentes zones de liste permettant de sélectionner la périodicité de la campagne marketing s’affichent en fonction de l’option activée.
  4. Pour enregistrer la planification avec le publipostage et revenir à l’écran Gestionnaire de campagnes, cliquez sur Enregistrer et retour dans la barre d’outils.

La planification est enregistrée avec le publipostage.

Remarque

  • Si l’Agent SQL Server s’arrête pendant l’exécution d’un travail de publipostage planifié, le travail arrête de s’exécuter et ne peut pas être redémarré. Lorsqu’un travail planifié est arrêté de cette manière, aucun élément n’indique que le travail a échoué. Vous devez redémarrer l’Agent SQL Server puis redémarrer le travail de publipostage.

Voir aussi

Création de publipostage


Test du publipostage

Vous pouvez également tester votre publipostage à l’aide d’une liste de test avant de l’envoyer vers une plus grande liste de publipostage. Le message de test permet aussi de vérifier l’exactitude de vos pages personnalisées.

Pour tester le publipostage

  1. Dans Campagnes marketing, cliquez sur Gestionnaire de campagnes.
  2. Dans l’écran Gestionnaire de campagnes, sélectionnez la campagne de publipostage que vous souhaitez tester, puis cliquez sur Ouvrir dans la barre d’outils.
  3. Dans l’écran Gestionnaire de campagnes <Client> <Campagne marketing> <Élément de publipostage>(ID du publipostage : <numéro>), dans la section Test, dans la zone Liste de test, sélectionnez la liste de messagerie avec laquelle vous allez tester le publipostage.
  4. Cliquez sur Envoyer le message de test.

Le service de publipostage envoie les messages en fonction de la liste de test sélectionnée.

Voir aussi

Création de publipostage


Copie du publipostage

Vous pouvez copier un publipostage existant déjà créé pour ajouter rapidement un publipostage supplémentaire pour une campagne marketing. En utilisant un publipostage existant comme modèle, vous pouvez modifier les propriétés du publipostage existant pour répondre aux objectifs de la nouvelle campagne de publipostage.

Pour copier un publipostage

  1. Dans Campagnes marketing, cliquez sur Gestionnaire de campagnes.
  2. Dans l’écran Gestionnaire de campagnes, sélectionnez le publipostage que vous souhaitez copier, puis cliquez sur Copier dans la barre d’outils.
  3. Dans la boîte de dialogue Copy Direct Mail item, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Sélectionner un client | Sélectionner dans la liste déroulante le client dont vous souhaitez copier le publipostage.
    Sélectionner une campagne marketing | Sélectionner dans la liste déroulante la campagne marketing dont vous souhaitez copier le publipostage.
  4. Cliquez sur OK.
  5. Dans l’écran Gestionnaire de campagnes <Client> <Campagne marketing> Nouveau (publipostage), dans la zone Nom de publipostage de la section Propriétés du publipostage, tapez le nom du nouveau publipostage.
  6. Modifiez les propriétés restantes, le cas échéant.
  7. Pour enregistrer le publipostage et revenir à l’écran Gestionnaire de campagnes, cliquez sur Enregistrer et retour dans la barre d’outils.

Le nouveau publipostage s’affiche dans l’arborescence du Gestionnaire de campagnes sous le client et la campagne marketing sélectionnés.


Recherche de campagnes marketing

La structure de l’arborescence du Gestionnaire de campagnes peut être étendue. Vous pouvez utiliser le volet Rechercher du module Gestionnaire de panier pour rechercher les campagnes marketing en utilisant des critères de filtre. L’utilisation de critères de filtre réduit le nombre d’éléments affichés dans l’arborescence du Gestionnaire de campagnes, ce qui facilite la localisation et la gestion de vos campagnes marketing.

Vous pouvez rechercher des campagnes marketing par élément de la campagne, nom du client ou statut (actif ou inactif). Vous pouvez également rechercher des campagnes marketing supprimées. Lorsqu’une campagne marketing est supprimée, celle-ci et les éléments de la campagne sont archivés et peuvent être restaurés, si nécessaire.

Pour rechercher un élément de la campagne

Pour rechercher une remise supprimée

Pour rechercher un élément de la campagne

  1. Dans Campagnes marketing, cliquez sur Gestionnaire de campagnes.
  2. Dans l’écran Gestionnaire de campagnes, cliquez sur Rechercher dans la barre d’outils.
  3. Dans le volet Rechercher, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Type d’élément | Sélectionnez le type d’élément de campagne dans la liste déroulante ou sélectionnez Tous pour inclure tous les éléments.
    Client | Taper le nom du client de la campagne marketing que vous voulez rechercher.
    Statut | Sélectionner Actif ou Tous dans la liste déroulante.
    Supprimé | Sélectionner Non ou Les deux dans la liste déroulante.
    Du | Taper ou sélectionner la date de début de la campagne marketing dans le calendrier déroulant.
    Au | Taper ou sélectionner la date de fin de la campagne marketing dans le calendrier déroulant.
  4. Cliquez sur Rechercher.

Les éléments de la campagne qui correspondent aux critères de recherche s’affichent dans la liste Affichage filtré.

Remarque

  • Pour restaurer les critères de recherche par défaut, cliquez sur Réinitialiser.

Pour rechercher une remise supprimée

  1. Dans Campagnes marketing, cliquez sur Gestionnaire de campagnes.
  2. Dans l’écran Gestionnaire de campagnes, cliquez sur Rechercher dans la barre d’outils.
  3. Dans le volet Rechercher, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Type d’élément | Sélectionner Remise dans la liste déroulante.
    Client | Taper le nom du client de la remise.
    Statut | Sélectionner Tous dans la liste déroulante.
    Supprimé | Sélectionner Les deux dans la liste déroulante.
    Du | Taper ou sélectionner la date de début de la remise dans le calendrier déroulant.
    Au | Taper ou sélectionner la date de fin de la remise dans le calendrier déroulant.
  4. Cliquez sur Rechercher.

Les éléments de la campagne qui correspondent aux critères de recherche s’affichent dans la liste Affichage filtré.

Remarque

  • Pour restaurer les critères de recherche par défaut, cliquez sur Réinitialiser.

Voir aussi

À propos des campagnes marketing

Suppression et restauration de clients, de campagnes et d’éléments de la campagne


Suppression et restauration de clients, de campagnes et d'éléments de la campagne

Envoyer des commentaires sur cette page Commerce Server 2002

Suppression et restauration de clients, de campagnes et d’éléments de la campagne

Vous pouvez supprimer des clients, des campagnes marketing ou des éléments de la campagne du module Gestionnaire de campagnes lorsqu’ils ne sont plus nécessaires. Le Gestionnaire de campagnes est organisé de manière hiérarchique par client, campagne marketing et élément de la campagne. Lorsque vous supprimez des clients, des campagnes marketing ou des éléments de la campagne, vous devez supprimer l’arborescence. Par exemple, si vous supprimez un client, les campagnes marketing ou les éléments de la campagne de ce client sont supprimés également. Lorsque vous restaurez les éléments de la campagne, vous devez restaurer l’arborescence. Par exemple, si vous restaurez un élément de la campagne, vous devez vous assurer que la campagne marketing et les enregistrements du client subordonnés sont restaurés également.

Lorsque vous supprimez un client, celui-ci est archivé avec les campagnes et les éléments de la campagne. Après la suppression d’un client, d’une campagne ou d’un élément de la campagne, vous pouvez les restaurer à l’aide du Gestionnaire de campagnes.

Cette section contient les rubriques suivantes :

  • Suppression et restauration d’un client
  • Suppression et restauration d’une campagne marketing
  • Suppression et restauration d’une campagne marketing


Suppression et restauration d'un client

Envoyer des commentaires sur cette page Commerce Server 2002

Suppression et restauration d’un client

Vous pouvez supprimer un client à l’aide du module Gestionnaire de campagnes. Après la suppression d’un client, celui-ci est archivé avec sa campagne et les éléments de la campagne et peut être restauré à l’aide du module Gestionnaire de campagnes.

Pour supprimer un client

  1. Dans Campagnes marketing, cliquez sur Gestionnaire de campagnes.
  2. Dans l’écran Gestionnaire de campagnes, sélectionnez le client que vous souhaitez supprimer, puis cliquez sur Supprimer dans la barre d’outils.
  3. Dans la boîte de dialogue Voulez-vous supprimer, cliquez sur Oui.

Le client est supprimé du Gestionnaire de campagnes et archivé avec ses campagnes marketing et les éléments de la campagne.

Pour restaurer un client

  1. Dans Campagnes marketing, cliquez sur Gestionnaire de campagnes.
  2. Dans l’écran Gestionnaire de campagnes, cliquez sur Rechercher dans la barre d’outils.
  3. Dans le volet Rechercher, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Client Taper le nom du client que vous voulez restaurer.

    Remarque

    • Vous pouvez taper une chaîne de lettres pour affiner votre recherche. Par exemple, « ar » n’extrait que les clients dont le nom contient « ar », tels que Chaussures Arbor et École d’art.
    Supprimé | Sélectionner Les deux dans la liste déroulante.
  4. Cliquez sur Rechercher.

    Le client s’affiche dans la liste Affichage filtré, avec le statut Supprimé.

  5. Sélectionnez le Client dans la liste Affichage filtré, puis cliquez sur Restaurer dans la barre d’outils.
  6. Dans la boîte de dialogue Voulez-vous restaurer ?, cliquez sur Oui.
  7. Cliquez sur Réinitialiser dans le volet Rechercher pour restaurer l’affichage filtré, puis cliquez sur le bouton Fermer le volet de recherche.

Le client est restauré et s’affiche dans la liste Affichage filtré.

Voir aussi

À propos des campagnes marketing

Suppression et restauration d’une campagne marketing

Suppression et restauration d’une campagne marketing

Recherche de campagnes marketing


Suppression et restauration d'une campagne marketing

Envoyer des commentaires sur cette page Commerce Server 2002

Suppression et restauration d’une campagne marketing

Vous pouvez supprimer une campagne marketing à l’aide du module Gestionnaire de campagnes. Après la suppression d’une campagne marketing, celle-ci est archivée avec les éléments de la campagne et peut être restaurée à l’aide du module Gestionnaire de campagnes.

Pour supprimer une campagne marketing

  1. Dans Campagnes marketing, cliquez sur Gestionnaire de campagnes.
  2. Dans l’écran Gestionnaire de campagnes, sélectionnez la campagne marketing que vous souhaitez supprimer, puis cliquez sur Supprimer dans la barre d’outils.
  3. Dans la boîte de dialogue Voulez-vous supprimer, cliquez sur Oui.

La campagne marketing est supprimée du Gestionnaire de campagnes et archivée avec les éléments de la campagne.

Pour restaurer une campagne marketing

  1. Dans Campagnes marketing, cliquez sur Gestionnaire de campagnes.
  2. Dans l’écran Gestionnaire de campagnes, cliquez sur Rechercher dans la barre d’outils.
  3. Dans le volet Rechercher, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Client | Taper le nom du client de la campagne marketing que vous voulez restaurer.
    Supprimé | Sélectionner Les deux dans la liste déroulante.
    Du | Taper ou sélectionner dans le calendrier déroulant la date de création de la campagne marketing.
    Au | Taper ou sélectionner dans le calendrier déroulant la date de suppression de la campagne marketing.
  4. Cliquez sur Rechercher.

    La campagne marketing s’affiche dans la liste Affichage filtré, avec le statut Supprimé.

  5. Sélectionnez la Campagne marketing dans la liste Affichage filtré, puis cliquez sur Restaurer dans la barre d’outils pour que la campagne revienne au statut actif.
  6. Dans la boîte de dialogue Voulez-vous restaurer ?, cliquez sur Oui.
  7. Cliquez sur Réinitialiser dans le volet Rechercher pour restaurer l’affichage filtré, puis cliquez sur le bouton Fermer le volet de recherche.

La campagne marketing est restaurée et s’affiche dans la liste Affichage filtré.

Voir aussi

À propos des campagnes marketing

Suppression et restauration d’un client

Suppression et restauration d’une campagne marketing

Recherche de campagnes marketing


Suppression et restauration d'un élément de la campagne

Envoyer des commentaires sur cette page Commerce Server 2002

Suppression et restauration d’un élément de la campagne

Vous pouvez supprimer un élément de la campagne à l’aide du module Gestionnaire de campagnes. Après la suppression d’un élément de la campagne, celui-ci est archivé et peut être restauré à l’aide du module Gestionnaire de campagnes.

Pour supprimer un élément de la campagne

  1. Dans Campagnes marketing, cliquez sur Gestionnaire de campagnes.
  2. Dans l’écran Gestionnaire de campagnes, sélectionnez l’élément de la campagne que vous souhaitez supprimer, puis cliquez sur Supprimer dans la barre d’outils.
  3. Dans la boîte de dialogue Voulez-vous supprimer ?, cliquez sur Oui.

L’élément de la campagne est alors supprimé du Gestionnaire de campagnes.

Pour restaurer un élément de la campagne

  1. Dans Campagnes marketing, cliquez sur Gestionnaire de campagnes.
  2. Dans l’écran Gestionnaire de campagnes, cliquez sur Rechercher dans la barre d’outils.
  3. Dans le volet Rechercher, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Type d’élément | Sélectionner le type d’élément de campagne que vous voulez restaurer.
    Client | Taper le nom du client de l’élément de la campagne que vous voulez restaurer.
    Supprimé | Sélectionner Les deux dans la liste déroulante.
    Du | Taper ou sélectionner dans le calendrier déroulant la date de création de l’élément de la campagne.
    Au | Taper ou sélectionner dans le calendrier déroulant la date de suppression de l’élément de la campagne.
  4. Cliquez sur Rechercher.

    L’élément de la campagne s’affiche dans la liste Affichage filtré, avec le statut Supprimé.

  5. Sélectionnez la campagne dans la liste Affichage filtré, puis cliquez sur Restaurer pour que l’élément de la campagne revienne au statut actif.
  6. Dans la boîte de dialogue Voulez-vous restaurer ?, cliquez sur Oui.
  7. Cliquez sur Réinitialiser dans le volet Rechercher pour restaurer l’affichage filtré, puis cliquez sur le bouton Fermer le volet de recherche.

L’élément de la campagne est restauré et s’affiche dans la liste Affichage filtré.

Voir aussi

À propos des campagnes marketing

Suppression et restauration d’un client

Suppression et restauration d’une campagne marketing

Recherche de campagnes marketing


Extension des campagnes marketing

Le développeur de votre site peut apporter au site des modifications personnalisées afin d’étendre la fonctionnalité de vos campagnes marketing. Cette section contient des informations sur des fonctionnalités qui ne sont pas incluses dans Commerce Server 2002, mais peuvent être ajoutées à l’aide de code personnalisé.

Cette section contient les rubriques suivantes :

  • Trace de remise
  • Bons de réduction
  • Cadeau à l’achat
  • Variantes de la remise sur la livraison, par réductions en pourcentage ou en euros
  • Ciblage en fonction de listes d’utilisateurs


Trace de remise

Plusieurs remises peuvent s’appliquer à un même article du panier. Ces remises peuvent être des remises au niveau de l’article, des remises au niveau de la commande ou des remises sur la livraison. Commerce Server permet de conserver une trace de remise par le stockage des informations relatives aux différentes remises appliquées à un même article de la commande. Pour plus d’informations sur l’activation de la fonctionnalité de trace de remise, consultez l’exemple « Discount Sitelet » du Kit de développement logiciel (SDK) de Commerce Server 2002.

Voir aussi

À propos des campagnes marketing

Remises

Remises multiples


Bons de réduction

Le développeur de votre site peut étendre les remises conditionnées par un clic pour proposer des bons de réduction. L’une des méthodes pour implémenter des bons de réduction liés à une remise consiste à évaluer le code du bon de réduction, puis à récupérer le campaign_item_id approprié. L’élément de la campagne est alors ajouté à l’objet Simplelist Discounts_clicked. Vous pouvez aussi activer la fonctionnalité bons de réduction en utilisant des bannières publicitaires. Lorsque l’utilisateur clique sur la bannière, un bon de réduction multi-usage est ajouté au panier, avec l’article dont vous faites la promotion.

Voir aussi

À propos des campagnes marketing

Remises

Spécification de l’affichage d’une remise


Cadeau à l'achat

Envoyer des commentaires sur cette page Commerce Server 2002

Cadeau à l’achat

Le cadeau offert avec un achat est une technique de marchandisage très répandue, par laquelle les utilisateurs se voient offrir un cadeau (article gratuit), si leur panier satisfait à une condition donnée. Par exemple :

Acheter <quelque chose>, obtenir 100 pour cent de réduction sur <un produit>.

Il existe deux types de cadeaux à l’achat :

  • Cadeaux non référencés dans le catalogue du site

    Ces articles remise ne figurent pas et ne sont pas proposés à l’achat dans le catalogue du site. Par exemple, si un utilisateur achète un lot de 10 savonnettes, il reçoit gratuitement un échantillon de shampoing. L’échantillon de shampoing ne figure pas dans le catalogue du site, mais est offert en cadeau. Par conséquent, le prix de l’article non référencé dans le catalogue du site est de zéro (0) euro.

  • Cadeaux référencés dans le catalogue du site

    Ces articles remise apparaissent dans le catalogue du site et sont tarifés. Par conséquent, lorsqu’un cadeau référencé dans le catalogue du site est ajouté au panier, le système de remise applique la remise de 100 pour cent.

Les remises de type cadeau à l’achat s’appliquent uniquement lorsque l’article remise est placé dans le panier de l’utilisateur. Bien que l’article soit gratuit, le système de remise n’ajoute pas automatiquement l’article au panier. C’est pourquoi il vous faut personnaliser le système de remise si vous souhaitez implémenter cette fonctionnalité.

Pour implémenter la fonctionnalité cadeaux à l’achat, vous devez effectuer les opérations suivantes :

  • Étape 1 : Déterminer les articles qui serviront de cadeaux pour un panier donné.
  • Étape 2 : Ajouter au panier les articles identifiés en tant que cadeaux.
  • Étape 3 : Réappliquer les remises au panier modifié (cette étape est nécessaire uniquement pour les cadeaux référencés dans le catalogue du site).
  • Étape 4 : Pour des raisons de cohérence, outre les étapes visant à gérer l’ajout automatique d’articles au panier, d’autres éléments doivent être pris en compte.

Les étapes suivantes expliquent les procédures des étapes 1 à 4 précédemment citées :

Étape 1 : Déterminer les articles qui serviront de cadeaux pour un panier donné

Le code suivant explique comment déterminer les articles qui serviront de cadeaux pour un panier donné.

' -----------------------------------------------------------------------------
' 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

Étape 2 : Ajouter au panier les articles identifiés en tant que cadeaux

Ajoutez au panier les articles que vous avez identifiés en tant que cadeaux.

Étape 3 : Réappliquer les remises au panier modifié

Le pseudo-code suivant explique comment actualiser une nouvelle fois la page du panier. L’actualisation de la page du panier entraînera une nouvelle exécution du pipeline Discount (remise), avec pour effet l’application de la remise à l’article nouvellement ajouté.

If(free gifts added to the basket) {

  Refresh the current page

}

Remarque

  • Pour voir si les cadeaux sont ajoutés au panier, utilisez l’étape 1.

Étape 4 : Autres éléments à prendre en compte

Les étapes 1 à 3 gèrent l’ajout automatique au panier des articles. Les éléments suivants doivent être pris en compte pour des raisons de cohérence :

  • Lorsque l’article condition est supprimé, les remises sont automatiquement supprimées.
  • Si l’utilisateur ajoute l’article cadeau au panier, le cadeau n’est pas supprimé du panier (même si l’article condition est supprimé).
  • L’utilisateur doit avoir la possibilité de choisir s’il souhaite que l’article cadeau soit ajouté à son panier. L’implémentation de la fonctionnalité cadeau à l’achat ne doit pas prévoir un ajout systématique de l’article. En effet, si le cadeau est volumineux, par exemple, l’utilisateur peut préférer ne pas se le faire livrer.

Voir aussi

À propos des campagnes marketing

Remises

Spécification de l’affichage d’une remise


Variantes de la remise sur la livraison, par réductions en pourcentage ou en euros

Similaires à des remises au niveau de la commande, les remises en pourcentage ou en euros sont réparties entre différentes livraisons. Les composants OrderLevelDiscountApply et ShippingDiscountAdjust utilisant le même code, les développeurs de sites peuvent apporter des modifications personnalisées à votre site pour la prise en charge de ce type de remise. Pour plus d’informations sur le composant OrderLevelDiscountApply, consultez OrderLevelDiscountApply. Pour plus d’informations sur le composant ShippingDiscountAdjust, consultez ShippingDiscountAdjust.

Voir aussi

À propos des campagnes marketing

Remises

Spécification de l’affichage d’une remise


Ciblage en fonction de listes d'utilisateurs

Envoyer des commentaires sur cette page Commerce Server 2002

Ciblage en fonction de listes d’utilisateurs

Vous pouvez utiliser le système de ciblage de Commerce Server pour offrir aux acheteurs une expérience personnalisée à l’aide d’une commercialisation ciblée, et fournir un contenu optimal à un utilisateur particulier, dans un contexte particulier. Par exemple, vous pouvez cibler des publicités pour les femmes qui visitent votre site trois fois par semaine et qui ont acheté au moins trois produits. Pour plus d’informations sur le ciblage en fonction de listes d’utilisateurs, consultez le didacticiel Fermeture de la boucle à l’aide des systèmes Commerce Server.

Voir aussi

À propos des campagnes marketing

Remises

Service de publipostage

Listes des utilisateurs

Profils utilisateur

Ciblage des publicités

Ciblage et personnalisation

Création de publipostage

Targeting Smart Campaigns Tutorial (en anglais)


Catalogues Business Desk

Les modules Catalogues permettent de créer des catalogues de produits, ainsi que d’ajouter et de mettre à jour les données sur les produits. En tant que chef d’entreprise, il n’est pas nécessaire de posséder des connaissances particulières sur les bases de données qui stockent vos données sur les produits, même si vous assemblez un catalogue de produits à partir de différentes sources, par exemple à partir de plusieurs fournisseurs.

Cette section contient les rubriques suivantes :

  • Déroulement des opérations pour la création d’un catalogue de base. Présente le déroulement des opérations pour créer un catalogue de base.
  • Déroulement des opérations pour la création d’un catalogue virtuel. Présente le déroulement des opérations pour créer un catalogue virtuel.
  • À propos des catalogues. Décrit les composants d’un catalogue et présente une vue d’ensemble de la procédure permettant de créer une définition de catalogue.
  • Restrictions concernant le nom et la taille des catalogues. Répertorie les caractères qui ne sont pas autorisés lors de l’attribution de noms à des catalogues, des propriétés, des produits et des catégories.
  • Méthodes conseillées pour les catalogues. Fournit des informations importantes concernant la création et la gestion des catalogues.
  • Importation et exportation de catalogues. Explique comment valider et importer un fichier de catalogue XML (Extensible Markup Language), comment importer un fichier de catalogue CSV (valeurs séparées par une virgule) et comment exporter un catalogue sur un partage.
  • Création d’une définition de catalogue. Explique comment déterminer des définitions de catégories, de produits et de propriétés pour un catalogue.
  • Création d’un catalogue de base. Explique comment créer un catalogue de base. Les catalogues de base peuvent être multilingues.
  • Ajout d’une catégorie à un catalogue. Explique comment ajouter une catégorie à un catalogue.
  • Ajout d’un produit à un catalogue. Explique comment ajouter un produit à un catalogue.
  • Ajout de composants produit à un produit. Explique comment ajouter des composants produit à un produit.
  • Ajout d’une langue à un catalogue. Explique comment ajouter plusieurs langues à un catalogue de manière à créer un catalogue multilingue.
  • Création d’un catalogue virtuel. Explique comment créer un catalogue virtuel afin de regrouper plusieurs catalogues qui apparaissent sous la forme d’un seul catalogue aux utilisateurs, d’établir une tarification des produits dans plusieurs devises et de fournir une tarification ou des sous-ensembles de produits spéciaux à des groupes spécifiés d’utilisateurs.
  • Création d’un catalogue multilingue. Explique comment créer un catalogue affichant des informations sur le produit dans plusieurs langues.
  • Traduction d’un catalogue avec Business Desk. Explique comment utiliser le module Éditeur de catalogue pour traduire quelques produits d’un catalogue multilingue en d’autres langues.
  • Traduction d’un catalogue par exportation/importation. Explique comment traduire de nombreux produits multilingues en d’autres langues en exportant le catalogue au format XML, en envoyant ce catalogue XML à un traducteur, puis en important le catalogue traduit dans la base de données du catalogue utilisée par Microsoft Commerce Server 2002.
  • Création d’un groupe de catalogues. Explique comment créer un groupe de catalogues en associant plusieurs catalogues, puis en attribuant l’accès Utilisateur au groupe de catalogues.
  • Tarification d’un produit dans un catalogue de base. Explique comment définir le prix des produits dans votre catalogue à la fois au niveau du produit et du composant produit, comment tarifer les groupes de produits, comment définir les prix dans un catalogue virtuel et comment tarifer les produits dans plusieurs devises.
  • Création de hiérarchies pour les catégories. Explique comment créer des hiérarchies pour les catégories au sein d’un catalogue de manière à permettre l’organisation des catégories et des produits sur votre site.
  • Création de relations de catégorie et de produit. Explique comment créer des relations au sein d’un catalogue de manière à permettre l’organisation des produits dans votre catalogue et faciliter la navigation des utilisateurs vers les produits de leur choix.
  • Actualisation et publication d’un catalogue. Explique comment publier des mises à jour du catalogue sur votre site Web et comment actualiser les index de texte intégral de sorte que les nouvelles données du catalogue soient disponibles pour la fonctionnalité de recherche.
  • Envoi d’un catalogue à un partenaire commercial. Explique comment envoyer un catalogue à un partenaire commercial.
  • Gestion des définitions de catalogues. Explique comment modifier et supprimer des définitions de propriétés, de produits et de catégories.
  • Recherche d’éléments dans un catalogue. Explique comment rechercher des produits dans un catalogue à l’aide d’une recherche par mots-clés ou d’une recherche par propriétés.
  • Gestion des produits, des catégories, des catalogues et des groupes de catalogues. Explique comment modifier et supprimer des produits, des catégories, des catalogues et des groupes de catalogues.
  • Gestion des relations de catégorie et de produit. Explique comment modifier et supprimer des relations de catégorie et de produit.


Déroulement des opérations pour la création d'un catalogue de base

Envoyer des commentaires sur cette page Commerce Server 2002

Déroulement des opérations pour la création d’un catalogue de base

La figure suivante illustre un exemple de scénario pour la création d’un catalogue de base. Elle montre comment créer un catalogue en important un fichier de catalogue XML (Extensible Markup Language) ou CSV (valeurs séparées par une virgule) ou en créant une définition de catalogue. Elle explique comment, une fois que vous avez créé votre définition de catalogue, vous pouvez ajouter une catégorie, un produit et des composants produit au produit. Après avoir créé un ou plusieurs catalogues, vous pouvez constituer un groupe de catalogues. Enfin, après avoir apporté les modifications souhaitées à votre catalogue, vous pouvez le publier sur votre site Web.

La figure suivante illustre le déroulement des opérations pour la création d’un catalogue de base.

A figure that illustrates the workflow for creating a catalog. Importing a CSV Catalog FileRefreshing and Publishing a CatalogCreating Category and Product RelationshipsCreating Category HierarchiesPricing at the Product Variant LevelAdding Product Variants to a ProductPricing a ProductAdd ProductsPricing a Products in a CategoryAdding a Category to a CatalogCreating a CatalogAdding Category DefinitionsAdd Product DefinitionsAdd Property DefintionsImporting an XML Catalog File


Déroulement des opérations pour la création d'un catalogue virtuel

Envoyer des commentaires sur cette page Commerce Server 2002

Déroulement des opérations pour la création d’un catalogue virtuel

La figure suivante illustre le déroulement des opérations pour la création d’un catalogue virtuel. Une fois que vous avez modifié le contenu d’un catalogue virtuel (en changeant par exemple les règles de tarification ou les règles d’inclusion et d’exclusion), vous devez le reconstruire.

A figure that illustrates the workflow for creating a virtual catalog. Refreshing and Publishing a CatalogCreating Category and Product RelationshipsCreating Category HierarchiesDiscounting Product PricesPricing Products in Multiple CurrenciesAdding Price Rules to a Virtual CatalogIncluding Base Catalogs in a Virtual CatalogCreating a Virtual Catalog


À propos des catalogues

A Un catalogue est une méthode d’organisation des produits que vous voulez vendre. Vous utilisez les catalogues pour organiser et gérer les données sur les produits de votre base de données afin de les afficher sur votre site et de cibler les produits pour les utilisateurs.

Pour vous aider à organiser vos catalogues, Commerce Server Business Desk conserve dans une définition de catalogue une description des propriétés définies pour chacun des catalogues. Cette définition répertorie l’intégralité des catégories, produits et propriétés contenus dans un catalogue donné.

Cette section contient les rubriques suivantes :

  • Utilisation de catalogues pour la gestion du site Web
  • Vue d’ensemble de la structure d’un catalogue
  • Catalogues : produits et catégories
  • Définition de catalogue : description des produits et des catégories
  • Identificateurs uniques dans un catalogue
  • Hiérarchies et relations de catalogue
  • Catalogues de base et catalogues virtuels
  • Catalogues de fournisseurs multiples
  • Catalogues de synthèse
  • Catalogues multilingues
  • Catalogues externes : utilisation de clés de jointure
  • Groupes de catalogues
  • Méthodes de tarification des produits


Utilisation de catalogues pour la gestion du site Web

Les modules Catalogues de Commerce Server Business Desk permettent de créer et de gérer vos catalogues. Vous pouvez utiliser d’autres modules Business Desk pour promouvoir les produits de vos catalogues. Par exemple, lorsque votre site est en production, vous pouvez exécuter des rapports à l’aide des modules Analyse pour identifier les produits qui ne se vendent pas, puis utiliser les modules Campagnes marketing pour créer une campagne de remise pour augmenter les ventes de ces produits.

À l’aide de Business Desk, vous pouvez :

  • Importer des catalogues à partir d’autres sources de données. Vous pouvez importer des catalogues au format XML (Extensible Markup Language) ou CSV (valeurs séparées par une virgule). Par exemple, si des catalogues se trouvent dans d’autres bases de données, vous pouvez les importer dans la base de données du catalogue Commerce Server, puis utiliser Business Desk pour les gérer.

    Pour convertir un catalogue au format XML ou CSV, vous pouvez utiliser votre système de gestion de base de données existant pour enregistrer le catalogue au format XML ou CSV, ou bien un développeur de site peut écrire un script pour convertir le catalogue à votre place.

  • Exporter des catalogues. Vous pouvez exporter vos catalogues au format XML. Vous pouvez exporter un catalogue si, par exemple, vous vendez des produits en gros et que vous souhaitez exporter votre catalogue à l’usage de détaillants. Vous pouvez également exporter un catalogue vers une autre application, par exemple, un système d’inventaire ou de tarification.

    Si vous souhaitez que Commerce Server importe ou exporte des catalogues selon une planification, vous pouvez demander à un développeur de site d’ajouter cette fonctionnalité.

  • Appliquer des remises aux produits. Vous pouvez appliquer des remises à tous les produits d’une catégorie ou à certains produits répondant à des critères spécifiques. Par exemple, si Product.price > 20,00, vous pouvez spécifier qu’une remise de 10 pour cent soit appliquée au prix de ce produit lorsque les utilisateurs l’ajoutent à leur panier d’achat.
  • Modifier des produits dans le catalogue. Vous pouvez modifier le nom, le prix, la description, ainsi que d’autres propriétés du produit si nécessaire.
  • Mettre à jour les informations sur un produit en temps réel. Vous pouvez mettre à jour les informations sur un produit, par exemple son prix, puis publier immédiatement les modifications sur votre site Web. Par exemple, si des utilisateurs ont ajouté un produit à leur panier et que votre site est mis à jour avant la validation des achats, Commerce Server applique le nouveau prix aux produits du panier. Si des utilisateurs ont enregistré leur panier, puis le reprennent après la mise à jour du prix, ils voient le nouveau prix affiché.
  • Identifier les produits qui se vendent bien. Vous pouvez exécuter des rapports Commerce Server pour identifier les produits les plus vendus par unité et par total des ventes, ainsi que les catégories les plus vendues par unité et par total des ventes. Vous pouvez par exemple utiliser le résultat de votre analyse pour appliquer une remise aux produits qui ne se vendent pas bien ou proposer des accessoires pour les produits qui se vendent bien. En outre, votre développeur de site peut personnaliser votre site pour permettre la prise en charge des ventes associées, telles que les offres de lancement et les ventes croisées intelligentes.
  • Rechercher des produits. Vous pouvez trouver des produits en effectuant une recherche par propriétés ou une recherche en texte libre.

La figure suivante montre une vue d’ensemble des processus du système de catalogue de produits intervenant dans l’importation et l’exportation des catalogues, la mise à jour de la base de données du catalogue, ainsi que l’importation des données de catalogue dans le Data Warehouse à des fins de création de rapport.

Vue d'ensemble du système de catalogue de produits

Voir aussi

Importation d’un fichier de catalogue XML

Importation d’un fichier de catalogue CSV

Exportation d’un catalogue

Concepts des remises

Création d’une remise

Remise sur les prix d’un produit dans un catalogue virtuel

Actualisation et publication d’un catalogue


Vue d'ensemble de la structure d'un catalogue

Envoyer des commentaires sur cette page Commerce Server 2002

Vue d’ensemble de la structure d’un catalogue

Un catalogue Commerce Server 2002 se compose de trois éléments principaux :

  • Définition de catalogue : il s’agit d’une description des catégories et des propriétés du produit d’un catalogue. Cette définition répertorie l’intégralité des catégories, produits et propriétés autorisés dans un catalogue donné. La définition de catalogue est disponible pour tous les catalogues d’un site.
  • Catalogue de base : il s’agit d’une instance de la définition de catalogue qui contient des données.
  • Catalogue virtuel : il s’agit d’un catalogue référençant les données sur les produits d’un ou plusieurs catalogues de base. Les produits ne sont représentés qu’une seule fois dans la base de données, quel que soit le nombre de catalogues virtuels où ils figurent.

Le tableau suivant montre un exemple de définition de catalogue appelé Vêtements, puis une instance unique de la définition du catalogue Vêtements qui comporte des données pour le catalogue Vêtements de sport.

Définition de catalogue Catalogue de base :Vêtements de sport
Définition de catégorie : Rayon
Propriétés de catégorie
Nom
Description
Fichier_image
Largeur_image
Hauteur_image
 Catégorie : Rayon des maillots de sport

Rayon des maillots de sport
Catalogue 2002 des maillots de sport
Sports_shirts.gif
100
200
Définition de produit : Maillots
Propriétés du produit :
Nom
Fabricant
Prix
Propriétés du composant produit :
Taille
Couleur
Référence
 Produit : Maillots de football

Maillots de football Ace
Maillots Ace
22,45 EUR

M
Vert
23354

Pour comprendre le fonctionnement des catalogues Commerce Server, les rubriques suivantes décrivent les catalogues en commençant par ce qui est visible sur un site Web, par exemple un catalogue de vêtements de sport, puis en approfondissant l’analyse jusqu’à la structure sous-jacente, en d’autres termes, la définition de catalogue.

Voir aussi

Catalogues de base et catalogues virtuels

Définition de catalogue : description des produits et des catégories

Catalogues : produits et catégories


Catalogues: produits et catégories

Envoyer des commentaires sur cette page Commerce Server 2002

Catalogues : produits et catégories

Un catalogue Commerce Server est une instance d’une définition de catalogue qui contient des données sur des produits individuels et des catégories permettant de classer ces produits. Les modules Catalogues de Commerce Server Business Desk vous permettent d’importer un catalogue externe ou de créer un catalogue, puis de le publier sur votre site Web.

Catalogue

Catégories

Produits

Familles de produits et composants produit

Catalogue

Un catalogue se compose de catégories, de produits, de composants produit et de propriétés. Les utilisateurs qui visitent votre site Web naviguent dans des catégories, lisent les descriptions des produits et achètent des produits ou composants produit spécifiques. Les propriétés fournissent des mots clés qui permettent aux utilisateurs de rechercher des produits.

Catégories

Les catégories sont des instances individuelles d’une définition de catégorie. Par exemple, vous pouvez utiliser une définition de catégorie nommée Rayon pour créer la catégorie Maillots de football.

Chaque catégorie et chaque produit peut avoir une seule catégorie parent primaire. La catégorie parent primaire fournit un chemin d’accès canonique à une catégorie ou un produit enfant. Par ailleurs, si un produit figure dans plusieurs catégories et que la tarification est définie au niveau de la catégorie, seule la tarification de la catégorie parent primaire est appliquée aux catégories et produits enfants. (Vous pouvez définir la tarification au niveau de la catégorie en utilisant la tarification de niveau catégorie ou une règle de tarification de catalogue virtuel sur la catégorie.)

Produits

Les produits sont des éléments d’un catalogue. Un produit est une combinaison de définitions de propriétés. Par exemple, si vous disposez d’une définition de produit nommée Maillots de football, qui possède les propriétés Nom, Couleur et Taille, vous créez un produit pour chaque combinaison de nom, couleur et taille à inclure dans votre catalogue.

Familles de produits et composants produit

Une famille de produits est un produit qui contient des composants produit. Une famille de produits ne se distingue d’un produit que par cette caractéristique.

Dans la figure de la rubrique Définition de catalogue : description des produits et des catégories suivante, Maillots de football Ace constitue une famille de produits qui inclut le même type de maillot dans toutes les combinaisons de couleurs et de tailles disponibles. Chaque combinaison de type, de taille et de couleur correspond à un composant produit. Un maillot vert, de taille Large avec la référence 115 est un composant produit du produit Maillots de football ; la taille, la couleur et la référence forment un composant.

Une famille de produits comprend toujours un identificateur unique, tel que le nom du produit.

Un composant produit comprend toujours un identificateur unique, tel que la référence, ainsi qu’un prix. Chaque composant produit est basé sur la même définition de produit.

Voir aussi

Catalogues de base et catalogues virtuels

Catalogues de synthèse

Catalogues multilingues

Groupes de catalogues

Création d’un catalogue de base

Restrictions concernant le nom et la taille des catalogues

Identificateurs uniques dans un catalogue


Définition de catalogue: description des produits et des catégories

Envoyer des commentaires sur cette page Commerce Server 2002

Définition de catalogue : description des produits et des catégories

La définition de catalogue décrit les caractéristiques des catégories et des produits d’un type de catalogue donné. Par exemple, la définition de catalogue d’un catalogue de Vêtements de sport peut contenir les définitions de produits suivantes : Maillots, Shorts et Chaussures. Pour créer une définition de catalogue, vous utilisez le module Concepteur de définitions de catalogues dans Commerce Server Business Desk.

La figure suivante montre les différentes parties d’une définition de catalogue et la manière dont elles sont mappées vers les parties du catalogue. Les propriétés sont utilisées dans la définition de catégorie et la définition de produit. La définition de catégorie « Rayon » est utilisée pour la catégorie « Maillots de football ». La définition de produit « Maillots de football » est utilisée pour le produit « Maillots de football Ace ».

Partie d'une définition de catalogue

Définition de catalogue

Définitions de catégories

Définitions de produits

Définitions de propriétés

Définition de catalogue

La définition de catalogue se compose des définitions de catégories, des définitions de produits et des définitions de propriétés. Les définitions de catégories et les définitions de produits sont créées à l’aide des définitions de propriétés.

La figure suivante montre les différentes parties d’un exemple de définition de catalogue.

Exemple de définition de catalogue

Vous pouvez modifier la définition de catalogue même lorsqu’un catalogue contient déjà des données. Par exemple, vous pouvez effectuer les actions suivantes :

  • renommer une définition de produit ou de catégorie ;
  • modifier les propriétés incluses dans une définition de catégorie ou une définition de produit.

Vous ne pouvez pas effectuer les opérations suivantes :

  • renommer une définition de propriété ;
  • modifier le type de données d’une propriété, par exemple le changer de nombre en chaîne.

Définitions de catégories

Les définitions de catégories décrivent les caractéristiques spécifiques des catégories de votre catalogue. Ces caractéristiques sont appelées propriétés de catégorie. Vous créez une définition de catégorie en lui attribuant des propriétés de catégorie. Par exemple, la définition de catégorie Rayon peut avoir les propriétés de catégorie suivantes : Nom, Description, Nom du fichier image, Hauteur d’image et Largeur d’image. Lorsque vous créez une catégorie basée sur la définition de catégorie Rayon, vous entrez les valeurs des propriétés de catégorie. Par exemple, la propriété de catégorie Nom peut correspondre à « Rayon des maillots de sport ».

Définitions de produits

Les définitions de produits décrivent les caractéristiques spécifiques d’un produit donné. Ces caractéristiques sont appelées propriétés du produit. Vous créez une définition de produit en lui attribuant des propriétés du produit. Par exemple, vous pouvez créer une définition de produit appelée Maillots qui comprend trois propriétés de produit : Nom, Fabricant et Prix. Lorsque vous créez un produit basé sur la définition de produit Maillots, vous entrez les valeurs des propriétés de produit. Par exemple, la propriété de produit Nom peut correspondre à « Maillots de football Ace ».

Définitions de propriétés

Les propriétés de catégorie et de produit sont basées sur des définitions de propriétés. Une définition de propriété décrit les informations relatives à cette propriété comme le type de données de la propriété (par exemple, nombre, texte, texte multilingue et décimal), le nom de la propriété et une valeur minimale pour la propriété. Par exemple, vous pouvez créer une propriété appelée Taille_maillot avec les valeurs Small, Medium et Large ou une propriété appelée Longueur avec une valeur minimale de 10 et une valeur maximale de 120.

Voir aussi

Création d’une définition de catalogue

Catalogues : produits et catégories

Restrictions concernant le nom et la taille des catalogues

Méthodes conseillées pour les catalogues


Identificateurs uniques dans un catalogue

Lorsque vous créez un catalogue de base, vous spécifiez les propriétés qui constituent les identificateurs uniques des produits et des composants produit. Les produits et les composants produit ont tous deux des identificateurs uniques. Les identificateurs uniques sont soit un type de propriété texte, soit un type de propriété nombre.

Remarque

  • Pour un catalogue virtuel, l’identificateur de produit correspond toujours à « ProductID » et l’identificateur de composant correspond toujours à « VariantID ». Il n’est pas nécessaire de spécifier l’identificateur de produit et l’identificateur de composant lors de la création d’un catalogue virtuel.

Par exemple, si vous avez un catalogue de livres, le titre du livre peut être l’identificateur unique du produit et la référence ISBN l’identificateur unique du composant produit. Pour le livre Le futur de l’e-commerce, la version reliée représente un composant, la version brochée représente un deuxième composant, et la version audio un troisième composant. Ces trois composants produit appartiennent à la famille de produits Le futur de l’e-commerce.

L’exemple suivant illustre les composants de la famille de produits Le futur de l’e-commerce :

Famille de produits = Le futur de l’e-commerce
Identificateur unique = Titre : Le futur de l’e-commerce

Composant produit = Le futur de l’e-commerce en version reliée
Identificateur unique = ISBN : 1102334
Prix = 22,45 €
Composant produit = Le futur de l’e-commerce en version brochée
Identificateur unique = ISBN : 1102335
Prix = 11,23 €
Composant produit = Le futur de l’e-commerce en version audio
Identificateur unique = ISBN : 1102336
Prix = 16,84 €

Pour obtenir une liste des méthodes conseillées pour l’attribution d’identificateurs uniques, consultez Méthodes conseillées pour les catalogues.


Hiérarchies et relations de catalogue

Alors que la définition de catalogue fournit la structure sous-jacente du catalogue, vous créez des hiérarchies de catalogues et des relations pour organiser les produits au sein de votre catalogue, et faciliter la navigation des utilisateurs vers les produits de leur choix. Vous pouvez créer des hiérarchies de catégories, ainsi que des relations entre les catégories et les produits d’un même catalogue ou de catalogues différents. Par exemple, si vous disposez d’un catalogue de grande taille, vous pouvez créer une catégorie parent qui comprend plusieurs autres catégories, également appelées catégories enfants. Lorsque les utilisateurs naviguent vers la catégorie parent, les catégories enfants s’affichent, ce qui permet aux utilisateurs de naviguer rapidement vers la catégorie contenant les produits qui les intéressent.

Catégorie parent primaire

Chaque catégorie et chaque produit peut avoir une seule catégorie parent primaire. La catégorie parent primaire fournit un chemin d’accès canonique à une catégorie ou un produit enfant. Par ailleurs, si un produit figure dans plusieurs catégories et que la tarification est définie au niveau de la catégorie, seule la tarification de la catégorie parent primaire est appliquée aux catégories et produits enfants. (Vous pouvez définir la tarification au niveau de la catégorie en utilisant la tarification de niveau catégorie ou une règle de tarification de catalogue virtuel sur la catégorie.)

La figure suivante illustre la manière dont une catégorie parent peut posséder plusieurs catégories enfants, et comment chaque catégorie enfant peut également être une catégorie parent.

Structure du catalogue

Dans la figure précédente, le catalogue Vêtements de sport possède deux catégories : Maillots et Shorts. La catégorie Maillots possède deux catégories enfants : Maillots de football et Survêtements deux-pièces. Cette organisation propose aux utilisateurs deux voies d’accès à la catégorie Survêtements deux pièces. Ils peuvent naviguer vers les survêtements via la catégorie Maillots ou la catégorie Shorts.

La figure précédente illustre également une relation accessoire entre Maillots de football Ace et Shorts de football Ace. Si les utilisateurs sont intéressés par les maillots, ils peuvent également l’être par les shorts.

Voir aussi

Création de hiérarchies pour les catégories

Création de relations de catégorie et de produit

Méthodes conseillées pour les catalogues

Restrictions concernant le nom et la taille des catalogues


Catalogues de base et catalogues virtuels

Avant de créer et d’organiser vos catalogues, vous devez bien comprendre qu’il est possible de créer deux types de catalogues : les catalogues de base et les catalogues virtuels. Ces deux types de catalogues sont décrits ci-dessous ; ils sont accompagnés de trois exemples d’utilisation des catalogues virtuels.

Catalogues de base

Catalogues virtuels

Catalogue virtuel, exemple 1 : définition d’une tarification spéciale

Catalogue virtuel, exemple 2 : tarification des produits dans d’autres devises

Catalogue virtuel, exemple 3 : proposition d’un sous-ensemble de produits

Catalogues de base

Un catalogue de base contient des catégories et des produits, mais ne comporte pas de règles de tarification spécifiques. Ils contiennent également des données sur les produits, qui sont stockées dans la base de données du catalogue.

Catalogues virtuels

Les catalogues virtuels référencent les données sur les produits d’un ou de plusieurs catalogues de base. Si vous ajoutez un produit à un catalogue de base, le produit peut aussi apparaître dans le catalogue virtuel associé, en fonction des règles d’ajout qui ont été définies. Les produits d’un catalogue virtuel ne sont représentés qu’une seule fois dans la base de données, quel que soit le nombre de catalogues virtuels où ils figurent.

Les catalogues virtuels sont principalement utilisés pour effectuer les trois opérations suivantes :

  • regrouper plusieurs catalogues afin qu’ils apparaissent sous la forme d’un seul catalogue pour les utilisateurs ;
  • tarifer des produits dans plusieurs devises ;
  • et fournir une tarification spéciale, ou des sous-ensembles de produits, pour des groupes d’utilisateurs spécifiques.

Les catalogues virtuels prennent en charge les règles de tarification. Cela signifie en d’autres termes que vous pouvez spécifier si le prix pour la catégorie ou le produit est identique au prix figurant dans le catalogue de base ou s’il est différent. Par exemple, le prix peut correspondre à un pourcentage ou à un montant défini en plus ou en moins.

Catalogue virtuel, exemple 1 : définition d’une tarification spéciale

Dans la figure suivante, deux sociétés européennes fictives (une vendant des roues et l’autre vendant des motos en grande quantité) ont conclu un contrat. La société vendant des roues vendra des roues de moto avec une remise de 20 pour cent aux clients de la société qui vend les motos. Tous les produits sont tarifés en euros.

Exemple de catalogue virtuel

Catalogue virtuel, exemple 2 : tarification des produits dans d’autres devises

La figure suivante montre un catalogue virtuel qui inclut des produits d’un catalogue de base, dont les prix sont définis en dollars américains. Les prix du catalogue virtuel sont multipliés par 160 pour cent, de sorte que les prix des produits vendus au Canada s’affichent en dollars canadiens.

Exemple de catalogue virtuel

Catalogue virtuel, exemple 3 : proposition d’un sous-ensemble de produits

La figure suivante montre un catalogue virtuel qui inclut un sous-ensemble de produits d’un catalogue de base. Le sous-ensemble de produits est destiné à une vente en France. Tous les produits sont tarifés en euros.

Exemple de catalogue virtuel

Voir aussi

Création d’un catalogue de base

Création d’un catalogue virtuel

Tarification des produits dans plusieurs devises

Remise sur les prix d’un produit dans un catalogue virtuel

Catalogues de synthèse

Catalogues multilingues

Groupes de catalogues


Catalogues de fournisseurs multiples

Vous pouvez importer des catalogues de fournisseurs multiples, les afficher sur votre site Web sous la forme d’un catalogue unique, puis, lorsque les utilisateurs achètent un produit du catalogue, vous pouvez transmettre les commandes directement aux fournisseurs pour qu’ils les traitent.

Chaque catalogue Commerce Server comporte un attribut d’identificateur du fournisseur. Cet attribut est rempli lorsque votre administrateur système utilise Microsoft BizTalk Server pour définir un accord de partenariat commercial avec un fournisseur (et configure la ressource Configuration par défaut de l’application de sorte que la propriété Options de BizTalk ait la valeur « 1 »). Si l’attribut d’identificateur du fournisseur est vide, Commerce Server suppose que vous êtes le fournisseur de ce catalogue.

Lorsque vous procédez à une intégration à BizTalk Server, l’attribut d’identificateur du fournisseur est utilisé pour envoyer automatiquement les bons de commande au fournisseur des articles achetés dans le catalogue. Une fois que votre administrateur système a défini un accord avec un fournisseur, ce nouveau fournisseur est ajouté à la liste déroulante des fournisseurs dans Commerce Server Business Desk et vous pouvez alors le sélectionner dans la liste.

Deux principales étapes permettent d’implémenter ce scénario :

  1. La création d’un catalogue virtuel dans lequel vous regroupez le contenu des catalogues des fournisseurs. Cette étape est décrite dans Création d’un catalogue virtuel.
  2. L’intégration de Commerce Server à BizTalk Server pour transmettre les commandes à vos partenaires commerciaux. Cette étape est décrite dans la rubrique « Integrating with BizTalk Server » (en anglais) de l’aide de Commerce Server 2002.

Vous trouverez ci-après une vue d’ensemble des étapes que vous et vos fournisseurs devez effectuer pour échanger des catalogues à l’aide de BizTalk Server :

  1. Installez et configurez BizTalk Server de sorte que vous puissiez recevoir les catalogues des fournisseurs.
  2. Configurez la ressource Configuration par défaut de l’application de sorte que la propriété Options de BizTalk ait la valeur 1.
  3. Définissez un accord avec un fournisseur.
  4. Un fournisseur vous envoie ses catalogues par courrier électronique ou à l’aide de BizTalk Server, puis vous les importez dans votre base de données du catalogue Commerce Server à l’aide du module Éditeur de catalogue de Business Desk.
  5. Vous pouvez envoyer des catalogues au fournisseur à partir de Business Desk en cliquant dans la barre d’outils du module Éditeur de catalogue sur le bouton Envoyer. Une boîte de dialogue s’affiche ; elle répertorie les fournisseurs qui sont définis avec des accords dans BizTalk Server et auxquels vous pouvez envoyer le catalogue.

Plusieurs catalogues peuvent être associés à un fournisseur donné. Vous pouvez aussi spécifier un fournisseur au niveau du produit ; dans ce cas cependant, votre développeur de site doit personnaliser la page _additem.asp de votre site Web. Pour plus d’informations sur la personnalisation de la page _additem.asp, consultez Commerce Server Solution Sites (en anglais).

Voir aussi

Catalogues de base et catalogues virtuels

Catalogues de synthèse

Catalogues multilingues

Groupes de catalogues


Catalogues de synthèse

Un catalogue de synthèse affiche le contenu de plusieurs catalogues. Par exemple, si vous vendez le contenu de différents fournisseurs et que chacun d’eux vous envoie un ou plusieurs catalogues, vous pouvez regrouper le contenu dans un seul catalogue de synthèse.

Pour regrouper plusieurs catalogues, vous devez créer en premier lieu un catalogue virtuel, puis inclure le contenu des catalogues de base. Pour l’utilisateur qui visite votre site, un catalogue de synthèse apparaît comme un seul catalogue.

Un catalogue de synthèse se distingue d’un groupe de catalogues dans la mesure où il est constitué de différents composants et propose une disponibilité différente. Voici certaines différences qu’il existe entre eux :

  • Un catalogue de synthèse constitue la combinaison de plusieurs catalogues dans un catalogue virtuel.
  • Un groupe de catalogues rassemble un ou plusieurs catalogues que vous rendez disponibles selon les différents utilisateurs ou organisations. Vous pouvez ensuite créer un groupe de catalogues incluant des catalogues de synthèse et d’autres catalogues de votre base de données.

Vous spécifiez les utilisateurs ou organisations pouvant consulter les catalogues d’un groupe de catalogues ; un catalogue de synthèse peut être à la disposition de tous les utilisateurs, s’il n’est pas un membre d’un groupe de catalogues.

Voir aussi

Catalogues de base et catalogues virtuels

Catalogues multilingues

Groupes de catalogues


Catalogues multilingues

Un catalogue multilingue affiche le texte des catégories et des produits dans plusieurs langues. Il se peut par exemple que vous vouliez afficher les informations sur le produit en anglais, en français et en japonais.

Vous trouverez ci-après une vue d’ensemble des étapes que vous devez effectuer pour créer un catalogue multilingue :

  1. Ajouter des définitions de propriétés multilingues pour les éléments à afficher dans plusieurs langues.

    La définition de catalogue inclut par défaut un ensemble de propriétés multilingues, telles que les suivantes :

    • Nom du produit – Texte multilingue
    • Description – Texte multilingue
    • Couleur – Choix multiple multilingue
  2. Ajouter des définitions de produits qui utilisent les propriétés multilingues. Attribuez par exemple Nom du produit, Description et Couleur à chaque définition de produit.
  3. Créer le catalogue et spécifier les langues qu’il prendra en charge, par exemple l’anglais, le français et le japonais.
  4. Ajouter des produits et ajouter des catégories qui incluent les propriétés multilingues, comme Nom du produit et Description.
  5. Traduire les produits et catégories multilingues dans les langues que le catalogue prend en charge. Vous pouvez traduire le catalogue à l’aide de l’une des méthodes suivantes :
    • Traduction d’un catalogue par exportation/importation. Si vous devez traduire de nombreux produits, utilisez le module Éditeur de catalogue pour exporter le catalogue au format XML, puis l’envoyer à un traducteur. Une fois que le catalogue est traduit, vous pouvez l’importer dans la base de données du catalogue utilisée par Commerce Server. Vous pouvez ensuite utiliser Commerce Server Business Desk pour mettre à jour le catalogue et le publier selon les besoins.
    • Traduction d’un catalogue avec Business Desk. Si vous ne devez traduire que quelques produits, utilisez le module Éditeur de catalogue de Business Desk pour ajouter manuellement les données sur les produits dans une langue différente.

Voir aussi

Tarification des produits dans plusieurs devises

Ajout d’une définition de propriété multilingue de catalogue

Ajout d’une définition de produit de catalogue

Création d’un catalogue de base

Ajout d’un produit à un catalogue

Ajout d’une catégorie à un catalogue

Traduction d’un catalogue par exportation/importation

Traduction d’un catalogue avec Business Desk


Catalogues externes: utilisation de clés de jointure

Envoyer des commentaires sur cette page Commerce Server 2002

Catalogues externes : utilisation de clés de jointure

Une nouvelle fonctionnalité de Commerce Server 2002 permet de prendre en charge les clés de jointure. Un développeur utilise des clés de jointure pour établir des liaisons à des tables externes en vue de récupérer des données d’inventaire au moment de l’exécution et d’associer plusieurs valeurs à un produit.

Les deux scénarios courants pour l’utilisation des clés de jointure sont les suivants :

  • Récupération au moment de l’exécution des données de catalogue changeantes, comme les données d’inventaire. Vous ne pouvez pas inclure de données d’inventaire dans le catalogue lui-même, car le site n’écrit jamais dans la base de données du catalogue. En outre, pour pouvoir utiliser l’équilibrage de charge réseau, la base de données du catalogue doit être en lecture seule.
  • Association de plusieurs valeurs à un produit, comme une liste de titres de chansons pour un CD, une liste des interprètes pour un titre de film ou une liste des révisions du client pour un produit.

La figure suivante montre comment utiliser des clés de jointure pour récupérer les données d’une table externe et de la base de données du catalogue Commerce Server.

Exemple de clés de jointure


Groupes de catalogues

Vous déterminez le catalogue que l’utilisateur voit sur votre site en créant des groupes de catalogues. Un groupe de catalogues rassemble un ou plusieurs catalogues que vous rendez disponibles selon les différents utilisateurs ou organisations.

Un groupe de catalogues se distingue d’un catalogue de synthèse dans la mesure où il est constitué de différents composants et propose une disponibilité différente. Voici certaines différences qu’il existe entre eux :

  • Un catalogue de synthèse constitue la combinaison de plusieurs catalogues dans un catalogue virtuel.
  • Un groupe de catalogues rassemble un ou plusieurs catalogues que vous rendez disponibles selon les différents utilisateurs ou organisations. Vous pouvez ensuite créer un groupe de catalogues incluant des catalogues de synthèse et d’autres catalogues de votre base de données.

Vous spécifiez les utilisateurs ou organisations pouvant consulter les catalogues d’un groupe de catalogues ; un catalogue de synthèse peut être à la disposition de tous les utilisateurs, s’il n’est pas un membre d’un groupe de catalogues.

Par exemple, pour créer un groupe de catalogues, vous pouvez créer deux catalogues de base et un catalogue virtuel, définir un groupe de catalogues qui inclut les deux catalogues de base et le catalogue virtuel, puis afficher ce groupe de catalogues aux membres d’une organisation spécifique.

La figure suivante illustre la manière dont les membres d’un club de football peuvent consulter le catalogue Vêtements de l’équipe doté d’une tarification spéciale.

Catalogue doté d'une tarification spéciale

Voir aussi

Création d’un groupe de catalogues

Catalogues de base et catalogues virtuels

Catalogues de synthèse

Catalogues multilingues


Méthodes de tarification des produits

Vous serez probablement amené à mettre à jour les prix des produits à intervalles réguliers. Toutefois, vous pouvez définir initialement le prix d’un produit dans un catalogue à l’aide de l’une des méthodes suivantes : tarification directe, tarification indirecte et tarification personnalisée (règles de tarification).

Tarification directe

Tarification indirecte

Tarification personnalisée (règles de tarification dans un catalogue virtuel)

Campagnes de remise

Tarification directe

Vous définissez le prix d’un produit dans le produit lui-même. Vous pouvez réaliser cette opération lors de la création du produit ou lorsque vous le modifiez pour changer son prix. Pour plus d’informations, consultez Tarification d’un produit dans un catalogue de base et Tarification au niveau du composant produit.

Tarification indirecte

Le prix est déterminé par son association avec une catégorie de tarification spécifique. Si un produit est associé à une catégorie de tarification, le prix indiqué sur le produit est remplacé par le prix défini dans cette catégorie. Le prix d’origine du produit est restauré lorsqu’il n’est plus associé à cette catégorie de tarification particulière.

La tarification indirecte est généralement utilisée pour appliquer le même prix à un groupe de produits, par exemple pour créer une catégorie spéciale dans laquelle tous les produits coûtent 2,13 €. Pour appliquer une tarification indirecte aux produits, consultez Tarification des produits d’une catégorie.

Tarification personnalisée (règles de tarification dans un catalogue virtuel)

Dans un catalogue virtuel, vous pouvez appliquer des règles de tarification à une catégorie, un produit ou un composant produit.

Vous appliquez des règles de tarification lorsque vous créez un catalogue virtuel dans une devise secondaire ou lorsque vous créez un catalogue virtuel qui ne sera affiché qu’à un groupe spécifique d’utilisateurs, par exemple, des membres d’un club qui bénéficient de prix avec remise.

Une catégorie, un produit ou un composant produit ne peuvent avoir qu’une seule règle de tarification.

Vous pouvez appliquer les règles de tarification suivantes aux catégories et produits d’un catalogue virtuel :

  • Prix défini. vous spécifiez le prix exact du produit. Par exemple, le produit est vendu pour exactement 11,23 €.
  • Ajouter : vous spécifiez le montant exact qui doit être ajouté au prix de base.
  • Ajouter un pourcentage : vous spécifiez le pourcentage du prix de base qui doit être ajouté au prix.
  • Remise : vous spécifiez le montant exact qui doit être soustrait du prix de base.
  • Pourcentage de remise : vous spécifiez le pourcentage à soustraire au prix. Pour réduire un prix de 20 pour cent, vous spécifiez 20 pour cent.

Pour plus d’informations sur la tarification personnalisée, consultez Tarification des produits dans plusieurs devises.

Campagnes de remise

Pour effectuer une remise sur le prix des produits, vous pouvez, outre l’utilisation des catalogues virtuels, créer un élément de la campagne de remise. La création d’un élément de la campagne de remise présente l’avantage de pouvoir planifier la période pendant laquelle la remise est applicable et de pouvoir exécuter des rapports sur l’efficacité de la campagne de remise. Pour plus d’informations sur l’application d’une remise à des produits, consultez Création d’une remise.

Voir aussi

Using Current Product Prices vs Original Product Prices (en anglais)

Tarification d’un produit dans un catalogue de base

Tarification au niveau du composant produit

Tarification des produits d’une catégorie

Tarification des produits dans plusieurs devises

Création d’une remise


Restrictions concernant le nom et la taille des catalogues

Cette rubrique répertorie les restrictions concernant le nom et la taille des catalogues au niveau de Commerce Server Business Desk et au niveau de l’interface de programmation d’applications (API, Application Programming Interface) Catalog. Pour plus d’informations sur les valeurs pouvant être utilisées pour les identificateurs uniques, consultez Méthodes conseillées pour les catalogues.

Business Desk et l’API Catalog

Restrictions relatives à la tâche DTS d’importation des données du catalogue de produits

Données chiffrées concernant les catalogues de produits

Cette section répertorie les restrictions concernant le nom et la taille des catalogues au niveau de Commerce Server Business Desk et au niveau de l’interface de programmation d’applications (API, Application Programming Interface) Catalog.

Business Desk et l’API Catalog

Les restrictions suivantes relatives aux caractères s’appliquent aux propriétés indiquées :

Article | Restrictions concernant le nom et la taille
Nom de définition de propriété
  • Un nom de définition de propriété peut comporter 100 caractères au maximum.
  • Les chiffres ne sont pas autorisés en première position.
  • Vous ne devez pas utiliser les caractères « , » (virgule) ou « . » (point).
  • Vous ne devez pas utiliser de caractères qui ne sont pas acceptés dans un nom de balise XML. Pour obtenir une liste des ressources concernant XML, consultez le site suivant :

    http://go.microsoft.com/fwlink/?LinkId=6769

  • Vous ne devez pas utiliser « ProductID » ou « VariantID » dans les noms de définition de propriété.
Nom de définition de produit | Un nom de définition de produit peut comporter 128 caractères au maximum.
Nom de définition de catégorie | Un nom de définition de catégorie peut comporter 128 caractères au maximum.
Nom du catalogue (nom interne, et non celui affiché sur le site Web)
  • Il doit s’agir d’un nom unique.
  • Un nom de catalogue peut comporter 85 caractères au maximum.
  • Vous ne devez pas utiliser les caractères « [ », « ] » (crochets), ' (apostrophe), « ( », « ) » (parenthèses) ou « # ». Vous ne devez pas utiliser de virgule ou de point.
  • Il n’existe aucune restriction concernant le nom complet du catalogue.
  • Si vous disposez de plusieurs sites Commerce Server avec des bases de données distinctes stockant les données sur les catalogues, et qu’ils partagent le même Data Warehouse, n’affectez pas le même nom aux différents catalogues sur les différents sites. Si deux catalogues portent le même nom, le Data Warehouse les traite comme s’il s’agissait d’un seul catalogue.
Nom de catégorie
  • Il doit s’agir d’un nom unique.
  • Vous ne devez pas utiliser les caractères « / » (barre oblique), « , » (virgule) ou « " » (guillemets). Vous ne devez pas utiliser de virgule.
  • Vous ne devez pas utiliser un nom comportant plus de 100 caractères.
Nom du produit
  • La longueur maximale du nom du produit dépend de la valeur spécifiée dans la définition de produit. Commerce Server n’impose pas de limite de longueur.
  • Vous devez utiliser un nom unique pour chaque produit.
  • Vérifiez l’absence de répétition des combinaisons de nom de catégorie et de produit.
    • Si vous créez un catalogue pour un site et que des noms de produits ne sont pas uniques dans des catégories, un produit inapproprié risque d’être ajouté au panier d’achat lorsque l’utilisateur sélectionne un produit à acheter. Ceci est dû au fait que le nom de produit est ajouté au nom de catégorie. Par exemple, le produit 1A de la catégorie B et le produit A de la catégorie B1 sont tous deux stockés sous la forme « B1A ».
Identificateur du produit
  • Vous devez utiliser un entier ou du texte.
  • Vous ne devez pas utiliser de date/heure ou de devise.
  • Vous ne devez pas utiliser de guillemets.
Identificateur du composant
  • Vous ne devez pas utiliser de guillemets.

Restrictions relatives à la tâche DTS d’importation des données du catalogue de produits

Si vous importez des données de catalogue dans le Data Warehouse, vous ne devez pas créer de propriétés du catalogue contenant des caractères spéciaux. Les caractères spéciaux entraînent l’échec de la tâche DTS d’importation des données du catalogue de produits. Les propriétés du catalogue ne doivent par exemple pas contenir les caractères suivants : « ! », « " », « % », « & », « ( », « ) », « * », « + », « , », « - », « . », « / », « : », « ; », « < », « = », « > », « ? », « \\ », « ] », « ^ », « ` », « { », « | », « } », « ~ ». Elles ne doivent pas contenir de caractères de contrôle, comme 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, etc.

Données chiffrées concernant les catalogues de produits

Le tableau suivant répertorie les données chiffrées concernant les catalogues Commerce Server.

Article | Taille ou nombre pris en charge
Nombre de catalogues 10 000 catalogues de base ou 10 000 catalogues virtuels

Vous pouvez aussi utiliser une combinaison de catalogues de base et de catalogues virtuels
Nombre de produits par catalogue Cinq millions

Remarque

  • Commerce Server n’a pas été testé avec 10 000 catalogues contenant chacun cinq millions de produits.
Nombre de définitions de propriétés par catalogue | 1 000
Nombre de catalogues de base par catalogue virtuel | 80
Nombre de produits par catalogue virtuel | Un million
Nombre de règles de tarification par catalogue virtuel | 10 000
Nombre de produits par catégorie | 10 000
Nombre de catégories imbriquées | Cinq

De plus, Commerce Server prend en charge le type de données texte SQL, qui n’est pas soumis à la limite de taille de ligne Microsoft SQL Server qui est de 8 060 octets. Plusieurs catalogues de produits peuvent partager un catalogue de texte intégral SQL Server unique.

Voir aussi

Méthodes conseillées pour les catalogues


Méthodes conseillées pour les catalogues

Vous trouverez ci-après des méthodes conseillées destinées à une implémentation par le développeur de site, par l’administrateur système et par le chef d’entreprise.

Développement avec les composants de catalogue

Définition d’un catalogue

Attribution d’identificateurs de produit et d’identificateurs de composant

Importation d’un catalogue

Déploiement de catalogues

Développement avec les composants de catalogue

Les méthodes conseillées suivantes sont destinées à une implémentation par le développeur de site :

  • Lorsque vous utilisez l’identificateur du produit, l’identificateur du composant ou une autre colonne indexée de la table CatalogProducts comme clé de jointure, il est recommandé d’indexer la colonne de clé de jointure dans la table externe.

    Par exemple, si vous utilisez l’API GetProductProperties (dans laquelle l’identificateur du produit constitue la clé de jointure), les performances sont meilleures lorsque la clé de jointure est indexée dans la table externe. Les performances sont identiques à une situation où vous n’utilisez pas de table jointe.

    Dans ce scénario, lorsque l’identificateur du produit n’est pas un index de la table externe, les performances sont moins élevées. Pour plus d’informations sur les clés de jointure, consultez Code to Join an External Table to Product Recordsets (en anglais).

  • Utilisez des clés de jointure pour établir des liaisons à des tables externes en vue de récupérer des données d’inventaire au moment de l’exécution et d’associer plusieurs valeurs à un produit.

    Les deux scénarios courants pour l’utilisation des clés de jointure sont les suivants :

    • Récupération au moment de l’exécution des données de catalogue changeantes, comme les données d’inventaire. Vous ne devez pas inclure de données d’inventaire dans le catalogue lui-même, car le site n’écrit jamais dans la base de données du catalogue. Par ailleurs, en traitant la base de données du catalogue comme base en lecture seule, vous pouvez utiliser l’équilibrage de charge réseau de la base de données du catalogue de manière à dimensionner et ajuster la charge d’utilisation de votre site.
    • Association de plusieurs valeurs à un produit, comme une liste de titres de chansons pour un CD, une liste des interprètes pour un titre de film ou une liste des révisions du client pour un produit.

    Pour plus d’informations sur les clés de jointure, consultez Code to Join an External Table to Product Recordsets, CatalogManager.SetJoinTable Method et CatalogContext.SetJoinTable Method (BCL) (en anglais).

  • Lors du développement d’un site .NET, implémentez le traçage à l’aide de CatalogContext.DebugContext.

    Pour plus d’informations sur l’utilisation de DebugContext, consultez CatalogContext.DebugContext (en anglais).

Définition d’un catalogue

Les méthodes conseillées suivantes sont destinées à une implémentation par le développeur de site et le chef d’entreprise :

  • Lorsque vous définissez un catalogue destiné à s’accroître, gardez à l’esprit les données chiffrées suivantes :
    • Plusieurs catalogues de produits peuvent partager un catalogue de texte intégral SQL Server unique.
    • Commerce Server prend en charge au moins 10 000 catalogues : 10 000 catalogues de base, 10 000 catalogues virtuels, ou une combinaison des catalogues de base et virtuels.
    • Un catalogue prend en charge au moins cinq millions de produits. (Commerce Server n’a pas été testé avec 10 000 catalogues contenant chacun cinq millions de produits.)
    • Un catalogue peut prendre en charge jusqu’à 1 000 définitions de propriétés.
    • Un catalogue virtuel peut comporter du contenu de 80 catalogues de base au maximum, mais il ne peut pas comporter de contenu d’autres catalogues virtuels.
    • Un catalogue virtuel peut répertorier jusqu’à un million de produits.
    • Un catalogue virtuel peut prendre en charge jusqu’à 10 000 règles de tarification.
    • Une catégorie peut prendre en charge jusqu’à 10 000 produits.
    • Les catégories peuvent être imbriquées jusqu’à cinq niveaux.
    • Commerce Server prend en charge le type de données texte SQL, qui n’est pas soumis à la limite de taille de ligne SQL Server qui est de 8 060 octets.
  • Utilisez des noms uniques pour chaque catalogue, catégorie et produit. Vérifiez que toutes les combinaisons de nom de catégorie et de produit sont uniques.

    Si vous créez un catalogue pour un site et que des noms de produits ne sont pas uniques dans des catégories, un produit inapproprié risque d’être ajouté au panier d’achat lorsque l’utilisateur sélectionne un produit à acheter. Ceci est dû au fait que le nom de produit est ajouté au nom de catégorie.

    Par exemple, le produit 1A de la catégorie B et le produit A de la catégorie B1 sont tous deux stockés sous la forme « B1A ».

  • Après avoir créé un produit, vous ne pouvez pas lui attribuer une définition de produit différente.
  • Une fois qu’une propriété est créée, vous ne pouvez pas changer son type de données.

    Supposons que vous créiez ce qui suit :

    • DéfinitionProduit1, qui contient Propriété1 et Propriété2
    • DéfinitionProduit2, qui contient Propriété2 et Propriété3

    Si vous créez un produit qui se base sur DéfinitionProduit1, vous ne pouvez pas modifier par la suite le produit pour qu’il se base sur DéfinitionProduit2. Vous pouvez toutefois modifier DéfinitionProduit1 en ajoutant par exemple Propriété4.

    Vous ne pouvez pas attribuer une nouvelle définition de produit ou changer un type de données une fois qu’il est en cours d’utilisation, car d’autres produits ou propriétés risquent d’être affectés par cette modification.

  • Vérifiez qu’un nom de propriété ne comporte pas de parenthèses dépareillées dans son nom.

    Par exemple :

    • Correct : pointure de chaussures (hommes)
    • Incorrect : pointure de chaussures hommes)

    Commerce Server ne vérifie pas les parenthèses pour vous. Vous pouvez créer un nom de propriété dans lequel il manque une parenthèse, mais il vous sera impossible de le récupérer de la base de données Commerce Server.

  • Pour afficher un seul catalogue contenant plusieurs devises, créez un catalogue virtuel pour chaque devise.

    Utilisez les propriétés de devise ; n’utilisez pas les propriétés multilingues pour plusieurs devises.

    Vous pouvez utiliser l’un des procédés suivants :

    • Créez un catalogue virtuel pour chaque pays/région, puis utilisez des règles de tarification pour définir le prix de chaque produit pour le pays ou la région en question.
    • Créez un catalogue virtuel pour chaque pays/région, puis utilisez des règles de tarification pour appliquer un taux de conversion de devise (pourcentage) à l’ensemble des produits.
    • Créez une propriété de devise pour chaque devise prise en charge, par exemple Prix_catalogue_en_devises_US, Prix_catalogue_en_devises_CN et Prix_catalogue_en_devises_JP. Écrivez du code d’interrogation du catalogue pour sélectionner la propriété de devise adéquate pour le pays ou la région en cours.

    La tarification de base est appliquée aux produits d’un catalogue virtuel, sauf spécification contraire à l’aide des règles de tarification.

    (Les valeurs propres aux langues ne peuvent pas être automatiquement appliquées aux autres langues. Si cette fonction vous est nécessaire, vous pouvez créer votre propre code d’exécution pour récupérer la valeur par défaut si la valeur renvoyée est vide. Vous avez également la possibilité d’écrire du code pour remplir les valeurs vides des catalogues avec les valeurs par défaut.)

  • Utilisez l’attribut « Afficher dans la liste de produits » d’une définition de propriété afin de déterminer si une propriété est affichée dans la liste de produits de Commerce Server Business Desk.

    L’attribut Afficher dans la liste de produits n’affecte pas votre site Web.

  • Utilisez la propriété intégrée « OriginalPrice » pour afficher le premier prix attribué à un produit.

    La propriété OriginalPrice est définie lorsque le prix du produit est initialisé et n’est jamais changée. Commerce Server ne conserve pas d’historique du prix d’un produit.

    Pour plus d’informations, consultez Using Current Product Prices vs Original Product Prices (en anglais).

  • Ajoutez vos propres attributs définis par l’utilisateur au niveau du catalogue et/ou au niveau de la propriété selon les besoins.

    Business Desk inclut des attributs de catalogue, tels que la devise, l’unité de mesure de poids, les paramètres régionaux et le nom du catalogue. Il inclut des attributs de propriété, tels que la longueur minimale et la valeur minimale, la longueur maximale et la valeur maximale, la valeur par défaut et le nom complet. Vous pouvez ajouter vos propres attributs de catalogue, par exemple pour stocker des informations sur le fournisseur qui propose les produits d’un catalogue. Vous pouvez ajouter vos propres attributs de propriété, par exemple pour décrire le mode de rendu d’une propriété donnée sur les pages Web (liste déroulante, bouton ou étiquette).

    Pour ajouter des attributs de catalogue et/ou des attributs de propriété définis par l’utilisateur, votre développeur de site doit en premier lieu ajouter les attributs à Commerce Server en utilisant l’API Catalog. Une fois cette opération effectuée, vous pouvez importer un fichier de catalogue XML qui inclut les nouveaux attributs de catalogue, puis utiliser le module Concepteur de définitions de catalogues afin de définir des valeurs pour les attributs.

Attribution d’identificateurs de produit et d’identificateurs de composant

Pour les catalogues de base, vous devez attribuer des identificateurs de produit et des identificateurs de composant. Dans un catalogue virtuel, l’identificateur de produit correspond toujours à « ProductID » et l’identificateur de composant correspond toujours à « VariantID ». Il n’est pas nécessaire de spécifier l’identificateur de produit et l’identificateur de composant lors de la création d’un catalogue virtuel.

Les méthodes conseillées suivantes sont destinées à une implémentation par le développeur de site et le chef d’entreprise :

  • Dans chaque catalogue, utilisez la même propriété pour l’identificateur unique.

    Lorsque vous répertoriez les produits d’un catalogue dans Business Desk, Commerce Server crée une colonne pour chaque propriété d’identificateur unique. Par exemple, si vous incluez 20 catalogues dans un catalogue virtuel et que chaque catalogue utilise une propriété différente pour l’identificateur unique, Commerce Server affiche 20 colonnes d’identificateur unique. Si chaque catalogue utilise la même propriété pour l’identificateur unique, une seule colonne est affichée.

  • Lors de l’attribution d’un identificateur de produit à un produit, utilisez un entier ou du texte.

    Vous ne devez pas utiliser de date, d’heure ou de devise.

  • N’ajoutez pas comme propriété de composant produit des propriétés destinées à servir d’identificateurs de produits.

    Par exemple, si vous utilisez NuméroModèle comme identificateur pour les produits de votre catalogue, ne créez pas de définition de produit dans laquelle NuméroModèle figure comme propriété de composant produit. Si vous le faites, vous serez dans l’incapacité de créer des instances de la définition de produit dans ce catalogue.

  • N’utilisez pas la même valeur pour les identificateurs uniques de produit et les identificateurs uniques de composant.

    Si une propriété de composant d’un produit correspond à l’identificateur unique de produit du catalogue, vous ne pouvez pas enregistrer le produit. Par exemple, vous ne pouvez pas attribuer une référence (SKU) comme identificateur unique du produit et comme identificateur unique du composant produit.

Importation d’un catalogue

Les méthodes conseillées suivantes sont destinées à une implémentation par le chef d’entreprise :

  • Avant d’importer un fichier de catalogue XML à l’aide de Business Desk, sélectionnez l’option Valider le fichier XML (ne pas importer) dans la boîte de dialogue Importer le catalogue afin de vous assurer que toutes les données de votre fichier XML sont valides.

    Business Desk affiche un nombre maximal de 20 erreurs détectées dans une importation de fichier de catalogue XML. Vous ne devez pas importer le fichier de catalogue XML tant qu’il n’est pas validé sans erreurs.

  • Pour que vous puissiez importer un catalogue dans la base de données du catalogue, votre administrateur système doit préalablement démarrer le service d’indexation de texte intégral (service Microsoft Search).

    L’index de texte intégral est créé au même moment que l’importation d’un catalogue dans la base de données du catalogue Commerce Server.

  • Si les performances sont peu élevées lorsque vous importez dans un catalogue de base entre 100 000 et 1 million de produits ou lorsque vous publiez un catalogue virtuel d’une taille similaire, votre développeur de site doit utiliser deux instructions DBCC (Database Console Commands) SQL Server pour améliorer les performances.

    Utilisez l’Analyseur de requêtes SQL Server pour exécuter DBCC FREEPROCCACHE et sp_updatestats. Ces commandes permettent d’améliorer les performances des API Catalog, telles que GetProduct et GetProductProperties :

    • DBCC FREEPROCCACHE permet de supprimer tous les éléments du cache de procédure.

      Syntaxe : DBCC FREEPROCCACHE

    • sp_updatestats permet d’exécuter UPDATE STATISTICS sur toutes les tables définies par l’utilisateur dans la base de données en cours.

      Syntaxe : sp_updatestats [[@resample =] 'resample']

    Pour plus d’informations sur ces commandes, consultez la documentation en ligne de SQL Server.

  • Pour importer un catalogue selon une planification régulière, par exemple pour importer des catalogues des partenaires commerciaux, demandez à votre développeur d’écrire le code approprié.

    Pour plus d’informations sur l’utilisation de l’API CatalogManager pour écrire du code afin d’importer un catalogue, consultez CatalogManager Object (en anglais).

Déploiement de catalogues

Les méthodes conseillées suivantes sont destinées à une implémentation par l’administrateur système :

  • Si votre site utilise des adresses URL relatives vers des images dans les propriétés de nom de fichier de catalogue, vous devez créer un répertoire virtuel pour les graphiques pour permettre l’affichage de ces images dans l’Éditeur de catalogue.

    Vous devez créer un répertoire virtuel sous le répertoire virtuel BizDesk, puis mapper l’URL au répertoire contenant les images.

    Pour créer un répertoire virtuel

    1. Cliquez sur Démarrer, pointez sur Programmes, sur Outils d’administration, puis cliquez sur Gestionnaire des services Internet.
    2. Dans l’écran Gestionnaire des services Internet, développez <nom du serveur>, puis <votre site Web>.
    3. Cliquez avec le bouton droit sur votre application Business Desk (par exemple retailbizdesk), cliquez sur Nouveau, puis sélectionnez Répertoire virtuel.

      L’Assistant Création de répertoire virtuel démarre.

    4. Dans la boîte de dialogue Assistant Création de répertoire virtuel, cliquez sur Suivant.
    5. Dans la boîte de dialogue Alias du répertoire virtuel, dans la zone Alias, tapez le nom du sous-répertoire dans lequel sont stockées les images de votre site, puis cliquez sur Suivant.
    6. Dans la boîte de dialogue Répertoire de contenu du site Web, tapez le chemin d’accès adéquat dans le champ Répertoire (la valeur par défaut est C:\inetpub\wwwroot\images), puis cliquez sur Suivant.
    7. Dans l’écran Autorisations d’accès, désactivez la case à cocher Exécuter les scripts (tels que ASP), puis cliquez sur Suivant.
    8. Dans la boîte de dialogue Assistant Création de répertoire virtuel, cliquez sur Terminer.
  • Configurez en tant que partage le dossier ProductCatalogs sous le dossier BizDesk sur le serveur.

    Lors de l’importation ou l’exportation et de la spécification d’un fichier côté serveur, si les utilisateurs indiquent uniquement le nom du fichier, le fichier sera importé à partir du dossier ProductCatalogs ou exporté vers ce dossier sous le dossier BizDesk sur le serveur. Par exemple, si vous exportez un fichier sous la forme output.xml, il sera exporté sur le serveur sous la forme d:\inetpub\wwwroot\retailbizdesk\productcatalogs\output.xml. Vous pouvez configurer ce dossier en tant que partage.

  • Activez la fonctionnalité de suivi des modifications SQL Server pour mettre à jour automatiquement les index de texte intégral de vos tables de catalogue.

    L’utilisation de la fonctionnalité de suivi des modifications vous permet de mettre à jour l’index de texte intégral en fonction des modifications immédiatement, à des intervalles planifiés, ou au moment où les modifications ont lieu, en utilisant l’option de mise à jour de l’index en arrière-plan. Cependant, lorsque SQL Server met à jour régulièrement les index de texte intégral, les performances de votre site sont affectées.

    La fonctionnalité de suivi des modifications est désactivée par défaut sur les tables de catalogue Commerce Server. Vous devez donc mettre à jour manuellement les index de texte intégral (à l’aide de Business Desk) chaque fois que les données du catalogue sont modifiées, mais au moment de votre choix.

    Pour plus d’informations sur l’activation de la fonctionnalité de suivi des modifications, consultez la documentation en ligne de SQL Server.

  • Si vous créez un package .pup contenant un catalogue virtuel matérialisé, vous devez de nouveau matérialiser le catalogue virtuel une fois que vous l’avez décompressé.

    Lorsque Commerce Server décompresse un catalogue virtuel matérialisé, il utilise les vues au lieu des tables matérialisées. Pour plus d’informations sur l’utilisation du script MaterializeVC.vbs, consultez Matérialisation des catalogues virtuels.

  • Utilisez le script CatalogCleanup.vbs pour supprimer les tables temporaires de la base de données MSCS_CatalogScratch.

    le système de catalogue de produits utilise la base de données MSCS_CatalogScratch pour le stockage des tables de catalogue temporaires. Planifiez une exécution hebdomadaire automatique du script CatalogCleanup.vbs.

    Le script CatalogCleanup.vbs se trouve dans le dossier \Program Files\Microsoft Commerce Server 2002\Support. Pour exécuter le script CatalogCleanup.vbs, fournissez la chaîne de connexion à la base de données MSCS_CatalogScratch.

  • Reconstruisez un catalogue virtuel de sorte que les produits qui sont inclus à partir des catalogues de base soient disponibles pour définir des règles de tarification.

    Vous devez reconstruire un catalogue virtuel dans les situations suivantes :

    • Si un catalogue virtuel est matérialisé, vous devez le reconstruire lorsque des données sont modifiées dans les catalogues de base associés.
    • Si le catalogue virtuel n’est pas matérialisé, vous devez le reconstruire lorsque des données des catalogues de base associés sont modifiées (par exemple, des modifications de tarification et des changements de hiérarchie et de relation).
    • Vous devez reconstruire un catalogue virtuel lorsque vous modifiez les règles d’inclusion/exclusion ou les règles de tarification.
  • Ne reconstruisez pas un catalogue virtuel sur un serveur de production. Les utilisateurs ne pourront pas accéder au catalogue.

    Vous ne devez reconstruire les catalogues virtuels que sur votre serveur de test. Une fois que les catalogues sont matérialisés, vous pouvez les répliquer sur les serveurs de production sans que les transactions des utilisateurs ne soient affectées.

  • Ne supprimez pas des produits du catalogue lorsque le service d’indexation de texte intégral (service Microsoft Search) est arrêté.

    Le service Microsoft Search crée des index de texte intégral du contenu et des propriétés des catalogues, ce qui permet d’effectuer des recherches linguistiques rapides sur ces données. Si le service Microsoft Search est arrêté et que vous supprimez des données des catalogues, ces derniers seront endommagés. Votre administrateur système vous informera de la planification d’un temps d’immobilisation du service Microsoft Search.

  • Utilisez le script Updatefulltextcatalogs.vbs pour mettre à jour les index de texte intégral de l’ensemble des catalogues de produits d’un catalogue de texte intégral.

    Lorsque plusieurs catalogues se trouvent dans un catalogue de texte intégral, vous pouvez utiliser le script Updatefulltextcatalog.vbs pour mettre simultanément à jour les index de texte intégral de l’ensemble des catalogues. Il est plus efficace d’utiliser le script Updatefulltextcatalog.vbs que l’objet ProductCatalog.RegenerateFullTextIndex, qui peut consommer beaucoup de ressources sur SQL Server.

    Le script Updatefulltextcatalog.vbs se trouve dans le dossier \Program Files\Microsoft Commerce Server 2002\Support. Pour exécuter le script Updatefulltextcatalog.vbs, passez-lui la chaîne de connexion à la base de données du catalogue, ainsi que deux autres paramètres. Pour connaître les instructions à suivre, consultez Exécution du script Updatefulltextcatalogs.

  • Utilisez la commande SP_FULLTEXT_SERVICE pour définir l’utilisation des ressources pour le service de texte intégral (service Microsoft Search).

    La commande suivante affecte 3 (valeur par défaut) à l’utilisation des ressources :

    EXEC sp_fulltext_service 'resource_usage', '3'

    Si vous affectez la valeur 5 à l’utilisation des ressources, le remplissage des index de texte intégral est plus rapide, mais l’utilisation de l’UC par le service est de 100 pour cent.

    Pour plus d’informations, consultez l’article de la Base de connaissances Microsoft « Procédures pour transférer, copier et sauvegarder des dossiers et des fichiers de catalogue de texte intégral SQL 7.0 », à l’adresse suivante :

    http://go.microsoft.com/fwlink/?LinkId=6770.

  • Utilisez le script UpdateLanguageInfo.vbs pour remplir la table CatalogLanguageMap. Configurez la coupure de mots pour chaque colonne indexée en texte intégral dans la table neutre.

    Pour une expression de recherche de texte intégral telle que « Ceci est un nouveau livre », une coupure de mots analyse l’expression en mots individuels. Le comportement de la coupure de mots dépend de la langue pour laquelle elle est configurée. Par exemple, pour prendre en charge les recherches dans un catalogue anglais, vous devez spécifier la coupure de mots 1033, où 1033 correspond à l’identificateur des paramètres régionaux de l’anglais.

    Vous pouvez configurer la coupure de mots pour la langue d’un catalogue. Par exemple, pour un catalogue uniquement en japonais, toutes les propriétés de texte comportent du texte en japonais, que les propriétés aient ou non été définies en tant que propriétés multilingues. Dans ce cas, la coupure de mots par défaut ne convient pas ; il est nécessaire de configurer la coupure de mots pour le japonais.

    Pour spécifier la coupure de mots pour un catalogue, vous pouvez ajouter manuellement une ligne pour les paramètres régionaux dans la table CatalogLanguageMap (par exemple « fr-FR », 1036). Vous avez aussi la possibilité de remplir la table CatalogLanguageMap à l’aide du script UpdateLanguageInfo.vbs, qui se trouve dans le dossier \Program Files\Microsoft Commerce Server 2002\Support.

    Pour configurer la coupure de mots pour la table neutre, <Nom_catalogue>_CatalogProducts, utilisez une ligne de la table CatalogLanguageMap {"neutral", <identificateur_paramètres_régionaux>}. Lorsque vous modifiez la coupure de mots neutre, seuls les catalogues créés par la suite sont affectés. Cette modification concerne tous les catalogues, ceux existants comme les nouveaux.


Importation et exportation de catalogues

Vous pouvez importer et exporter des catalogues Commerce Server dans les situations suivantes :

  • Vous exportez vers un fichier XML ou CSV des données de catalogue stockées dans une base de données Oracle, puis vous procédez à une importation dans Commerce Server. Vous pouvez demander à votre administrateur système de configurer une tâche planifiée pour effectuer cette opération de manière régulière.
  • Vous exportez un catalogue multilingue Commerce Server vers un fichier XML, vous l’envoyez à un traducteur pour qu’il le traduise, puis vous importez le catalogue dans Commerce Server.
  • Vous exportez des données de catalogue stockées dans une feuille de calcul Microsoft Excel, puis vous les importez dans Commerce Server.

Commerce Server Business Desk vous permet d’importer un catalogue dans ces trois situations.

Pour importer un catalogue selon une planification régulière, par exemple pour importer des catalogues des partenaires commerciaux, demandez à votre développeur d’écrire le code approprié. Pour plus d’informations sur l’utilisation de l’API CatalogManager pour écrire du code afin d’importer un catalogue, consultez CatalogManager Object (en anglais).

Cette section contient les rubriques suivantes :

  • Importation d’un fichier de catalogue XML
  • Importation d’un fichier de catalogue CSV
  • Exportation d’un catalogue
  • Exportation d’un fichier de catalogue CSV vers Excel


Importation d'un fichier de catalogue XML

Envoyer des commentaires sur cette page Commerce Server 2002

Importation d’un fichier de catalogue XML

Un catalogue Commerce Server au format de fichier XML (Extensible Markup Language) contient à la fois des définitions de catalogues et des données sur les produits. Vous pouvez importer un fichier de catalogue XML Commerce Server, puis utiliser le module Éditeur de catalogue pour modifier les données sur les produits.

Remarques

  • Pour que vous puissiez importer un catalogue dans la base de données du catalogue, votre administrateur système doit préalablement démarrer le service d’indexation de texte intégral (service Microsoft Search).
  • Vous ne pouvez pas importer un catalogue qui contient une définition de produit portant le même nom qu’une définition de produit existante, mais ayant des propriétés différentes.
  • Votre catalogue peut inclure des attributs de catalogue et des attributs de propriété personnalisés.
  • Si votre catalogue contient des composants produit, vous devez utiliser un fichier XML pour préserver ceux-ci. Les fichiers CSV (valeurs séparées par une virgule) ne prennent pas en charge les composants produit.
  • Après avoir effectué l’importation d’un catalogue, votre administrateur système ou vous-même devez consulter le journal des événements de l’application sur le serveur afin de rechercher les erreurs éventuelles.
  • Pour importer des fichiers de catalogue XML dont la taille est supérieure à 1 Go, MSXML 4.0 doit être installé sur le serveur.

Pour importer un fichier de catalogue XML

  1. Dans Catalogues, cliquez sur Éditeur de catalogue.
  2. Dans l’écran Catalogues, cliquez sur Importer dans la barre d’outils, puis sélectionnez Importer XML dans la liste déroulante.
  3. Dans la boîte de dialogue Importer le catalogue XML, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Spécifier un fichier XML sur le serveur | Taper le nom du fichier de catalogue XML à importer. Ce fichier de catalogue XML et Commerce Server doivent se trouver sur le même ordinateur.
    Spécifier un fichier XML localement accessible Accéder à un fichier de catalogue XML situé sur votre ordinateur client Business Desk, en cliquant sur Parcourir.

    Si le catalogue est volumineux, l’importation prendra plusieurs minutes. L’importation d’un catalogue stocké sur le serveur est beaucoup plus rapide.
    Supprimer les données existantes de ce catalogue | Supprimer les données du catalogue existant avant d’importer la nouvelle version en activant cette case à cocher, si vous importez un catalogue qui existe déjà dans votre base de données du catalogue Commerce Server.
    Valider le fichier XML (ne pas importer) | Valider les données contenues dans le fichier XML avant de l’importer, en activant cette case à cocher. Si les données ne sont pas valides, un message d’erreur s’affiche et le catalogue n’est pas importé.
  4. Cliquez sur OK.

    Un message indiquant que le processus d’importation du catalogue a démarré s’affiche. L’importation du catalogue peut nécessiter plusieurs minutes, selon sa taille. Pendant ce temps, vous pouvez utiliser Business Desk pour exécuter d’autres tâches ou quitter Business Desk.

    Si vous recevez un message indiquant que le fichier XML n’est pas valide, contactez votre administrateur système pour déterminer l’origine du problème.

  5. Pour voir le catalogue une fois qu’il est importé, cliquez sur Éditeur de catalogue. Cette opération permet d’actualiser l’écran Éditeur de catalogue.
  6. Pour publier le catalogue sur votre site Web, cliquez sur Éditeur de catalogue, puis cliquez sur Publier un catalogue dans la barre d’outils.

    Pour plus d’informations sur la publication d’un catalogue, consultez Actualisation et publication d’un catalogue.

Voir aussi

Méthodes conseillées pour les catalogues

Traduction d’un catalogue par exportation/importation

Importation d’un fichier de catalogue CSV

Impossible d’importer un catalogue

CatalogManager Object (en anglais)


Importation d'un fichier de catalogue CSV

Envoyer des commentaires sur cette page Commerce Server 2002

Importation d’un fichier de catalogue CSV

Vous pouvez utiliser des fichiers de catalogue CSV (valeurs séparées par une virgule), par exemple pour importer des données à partir d’une feuille de calcul Microsoft Excel. Dans Microsoft Excel, vous pouvez enregistrer une feuille de calcul sous la forme d’un fichier CSV.

Notez qu’un fichier CSV présente les caractéristiques suivantes :

  • Un fichier de catalogue CSV contient des données sur les produits, mais ne contient pas de définitions de catalogues.
  • Dans un fichier CSV, les produits ne sont pas organisés en catégories.
  • Le fichier de catalogue CSV doit posséder un identificateur du produit et une colonne de prix.
  • Les fichiers de catalogue CSV contiennent uniquement des produits autonomes et ne prennent pas en charge les composants produit.
  • Le type de données string est le seul type de données pris en charge par un fichier de catalogue CSV.

Lorsque les produits d’un fichier de catalogue CSV sont importés, ils sont mappés vers une seule définition de produit.

Lorsqu’un fichier de catalogue CSV est importé, une définition de produit est automatiquement créée à partir des colonnes répertoriées dans le fichier. Chaque produit est importé en tant qu’instance de la définition de produit créée automatiquement. Le nom donné à la définition de produit est identique au nom du catalogue en cours d’importation.

Après avoir importé un fichier de catalogue CSV, vous pouvez utiliser le module Éditeur de catalogue pour créer des catégories et ajouter des produits à ces catégories.

Remarques

  • Pour que vous puissiez importer un catalogue dans la base de données du catalogue, votre administrateur système doit préalablement démarrer le service d’indexation de texte intégral (service Microsoft Search).
  • Pour importer un catalogue contenant des composants produit, vous devez utiliser un fichier XML pour préserver ceux-ci. Les fichiers CSV ne prennent pas en charge les composants produit.
  • L’importation d’un catalogue portant le même nom qu’une définition de produit écrase la définition de produit d’origine.
  • Vous ne pouvez pas importer un catalogue qui contient une définition de produit dont les propriétés sont différentes de celles d’une définition de produit existante portant le même nom.
  • Après avoir effectué l’importation d’un catalogue, votre administrateur système ou vous-même devez consulter le journal des événements de l’application sur le serveur afin de rechercher les erreurs éventuelles.

Pour importer un fichier de catalogue CSV

  1. Dans Catalogues, cliquez sur Éditeur de catalogue.
  2. Dans l’écran Catalogues, cliquez sur Importer dans la barre d’outils, puis sélectionnez Importer CSV dans la liste déroulante.
  3. Dans la boîte de dialogue Importer le catalogue CSV, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Spécifier un fichier CSV sur le serveur | Taper le nom du fichier de catalogue CSV à importer. Ce fichier et Commerce Server doivent se trouver sur le même ordinateur.
    Spécifier un fichier CSV localement accessible Accéder à un fichier de catalogue CSV situé sur votre ordinateur client Business Desk, en cliquant sur Parcourir.

    Si le catalogue est volumineux, l’importation prendra plusieurs minutes. L’importation d’un catalogue stocké sur le serveur est beaucoup plus rapide.
    Langue | Sélectionner la langue qui doit être associée au catalogue importé.
    Nom du catalogue | Taper un nom unique pour le catalogue importé. Ce nom sera également utilisé pour la définition de produit créée au cours de l’importation.
    Identificateur du produit | Taper le nom de la colonne d’identificateur du fichier CSV.
    Colonne de prix | Taper le nom de la colonne de prix du fichier CSV.
    Supprimer toutes les données existantes contenues dans ce catalogue | Supprimer les données du catalogue existant avant d’importer la nouvelle version en activant cette case à cocher, si vous importez un catalogue qui existe déjà dans votre base de données du catalogue Commerce Server.
  4. Cliquez sur OK.

    Un message indiquant que le processus d’importation du catalogue a démarré s’affiche. L’importation du catalogue peut nécessiter plusieurs minutes, selon sa taille. Pendant ce temps, vous pouvez utiliser Business Desk pour exécuter d’autres tâches ou quitter Business Desk.

    Si vous recevez un message indiquant que le fichier CSV n’est pas valide, contactez votre administrateur système pour déterminer l’origine du problème.

  5. Pour voir le catalogue une fois qu’il est importé, cliquez sur Éditeur de catalogue. Cette opération permet d’actualiser l’écran Éditeur de catalogue.
  6. Pour publier le catalogue sur votre site Web, cliquez sur Éditeur de catalogue, puis cliquez sur Publier un catalogue dans la barre d’outils.

    Pour plus d’informations sur la publication d’un catalogue, consultez Actualisation et publication d’un catalogue.

Voir aussi

Méthodes conseillées pour les catalogues

Exportation d’un fichier de catalogue CSV vers Excel

Importation d’un fichier de catalogue XML

Impossible d’importer un catalogue

CatalogManager Object (en anglais)

Traduction d’un catalogue par exportation/importation

Ajout d’une catégorie à un catalogue

Ajout d’un produit à un catalogue


Exportation d'un catalogue

Envoyer des commentaires sur cette page Commerce Server 2002

Exportation d’un catalogue

L’exportation d’un catalogue peut rendre ce dernier portable. Par exemple, vous pouvez partager votre catalogue avec votre partenaire commercial ou sous-traiter le développement et la maintenance de vos catalogues.

Pour obtenir des instructions sur l’exportation d’un catalogue qui sera ensuite traduit dans une autre langue, consultez Traduction d’un catalogue par exportation/importation.

Vous pouvez exporter les catalogues de base et les catalogues virtuels au format XML ou CSV.

Remarques

  • Un catalogue virtuel qui est exporté devient un catalogue de base. Par exemple, vous pouvez exporter un catalogue virtuel, puis l’importer en tant que catalogue de base sur un serveur différent ou après avoir modifié le nom du catalogue.

    Vous ne pouvez pas exporter un catalogue virtuel, puis l’importer de nouveau en tant que catalogue virtuel.

  • Lorsque vous exportez un catalogue virtuel, les règles de tarification ne sont pas exportées.
  • Si vous exportez un catalogue au format de fichier XML, vous pouvez l’exporter dans une ou plusieurs langues.
  • Si vous exportez un catalogue au format de fichier CSV, vous ne pouvez l’exporter que dans une seule langue.

Pour exporter un catalogue

  1. Dans Catalogues, cliquez sur Éditeur de catalogue.
  2. Dans l’écran Catalogues, sélectionnez le catalogue que vous souhaitez exporter, puis cliquez sur Exporter dans la barre d’outils.
  3. Sélectionnez le format XML ou CSV dans la liste déroulante pour l’exportation du catalogue.
  4. Si vous sélectionnez l’exportation d’un fichier CSV, passez à l’étape 5. Si vous avez sélectionné l’exportation d’un fichier XML, effectuez les opérations suivantes :
    • Dans la boîte de dialogue Exporter le catalogue XML, sélectionnez Exportation incrémentielle si vous voulez exporter uniquement les modifications appliquées au catalogue depuis la date spécifiée dans la zone Date de début.
    • Dans la zone Date de début, tapez la date de début de l’exportation incrémentielle.
  5. Dans la zone Langue, spécifiez la langue dans laquelle exporter les propriétés multilingues. Par exemple, si la propriété Description contient des valeurs en anglais et en chinois, vous pouvez exporter le catalogue uniquement en anglais, uniquement en chinois, ou dans les deux langues.
  6. Dans la zone Spécifiez l’emplacement où le fichier est enregistré sur le serveur, tapez le chemin d’accès complet et le nom de fichier d’un catalogue sur lequel le serveur peut écrire, puis cliquez sur OK.

    Lors de la spécification d’un fichier côté serveur, si vous indiquez uniquement le nom du fichier, le fichier sera exporté vers le dossier ProductCatalogs sous le dossier BizDesk sur le serveur. Par exemple, si vous exportez un fichier sous la forme output.xml, il sera exporté sur le serveur sous la forme d:\inetpub\wwwroot\retailbizdesk\productcatalogs\output.xml. Vous pouvez configurer ce dossier en tant que partage.

Ce catalogue est exporté à l’emplacement spécifié, depuis lequel vous pouvez le copier et l’utiliser ailleurs.

Voir aussi

Exportation d’un fichier de catalogue CSV vers Excel

Traduction d’un catalogue par exportation/importation

Envoi d’un catalogue à un partenaire commercial

Catalogues de fournisseurs multiples

CatalogManager Object (en anglais)


Exportation d'un fichier de catalogue CSV vers Excel

Envoyer des commentaires sur cette page Commerce Server 2002

Exportation d’un fichier de catalogue CSV vers Excel

Vous pouvez exporter un catalogue d’une base de données Commerce Server, puis l’importer dans une feuille de calcul Microsoft Excel.

Remarques

  • Un catalogue virtuel qui est exporté devient un catalogue de base. Par exemple, vous pouvez exporter un catalogue virtuel, puis l’importer en tant que catalogue de base.
  • Si vous exportez un catalogue au format de fichier CSV, vous ne pouvez l’exporter que dans une seule langue.
  • Lorsque vous exportez un catalogue virtuel, les règles de tarification ne sont pas exportées.

Pour exporter un catalogue au format de fichier CSV

  1. Dans Catalogues, cliquez sur Éditeur de catalogue.
  2. Dans l’écran Catalogues, sélectionnez le catalogue que vous souhaitez exporter, puis cliquez sur Exporter dans la barre d’outils.
  3. Sélectionnez Exporter CSV dans la liste déroulante.
  4. Dans la boîte de dialogue Exporter le catalogue CSV, dans la zone Date de début, tapez la date de début de l’exportation incrémentielle.
  5. Dans la zone Langue, spécifiez la langue dans laquelle exporter les propriétés multilingues. Par exemple, si la propriété Description contient des valeurs en anglais et en chinois, vous pouvez exporter le catalogue uniquement en anglais, uniquement en chinois, ou dans les deux langues.
  6. Dans la zone Spécifiez l’emplacement où le fichier est enregistré sur le serveur, tapez le chemin d’accès complet et le nom de fichier d’un catalogue sur lequel le serveur peut écrire, puis cliquez sur OK.

    Lors de la spécification d’un fichier côté serveur, si vous indiquez uniquement le nom du fichier, le fichier sera exporté vers le dossier ProductCatalogs sous le dossier BizDesk sur le serveur. Par exemple, si vous exportez un fichier sous la forme output.xml, il sera exporté sur le serveur sous la forme d:\inetpub\wwwroot\retailbizdesk\productcatalogs\output.xml. Vous pouvez configurer ce dossier en tant que partage.

Le catalogue est exporté à l’emplacement spécifié.

Pour importer un fichier de catalogue CSV dans Excel

  1. Dans Microsoft Excel, cliquez sur Ouvrir.
  2. Dans la liste Regarder dans, localisez le lecteur, le dossier ou l’emplacement Internet qui contient le fichier que vous voulez ouvrir.
  3. Dans la liste Types de fichiers, sélectionnez Fichiers texte (*.prn; *.txt; *.csv) dans la liste déroulante, puis cliquez sur Ouvrir.

    L’Assistant Importation de texte démarre.

  4. Dans l’écran Assistant Importation de texte – Étape 1 sur 3, acceptez les entrées par défaut, puis cliquez sur Suivant.
  5. Dans l’écran Assistant Importation de texte – Étape 2 sur 3, sélectionnez Virgule en tant que séparateur, acceptez les autres entrées par défaut, puis cliquez sur Suivant.
  6. Dans l’écran Assistant Importation de texte – Étape 3 sur 3, sélectionnez le format de colonne voulu, puis cliquez sur Terminer.

    Le fichier de catalogue est importé dans Excel.

Voir aussi

Importation d’un fichier de catalogue CSV

Méthodes conseillées pour les catalogues

Traduction d’un catalogue par exportation/importation

Envoi d’un catalogue à un partenaire commercial

Catalogues de fournisseurs multiples

CatalogManager Object (en anglais)


Création d'une définition de catalogue

Envoyer des commentaires sur cette page Commerce Server 2002

Création d’une définition de catalogue

Si vous décidez de créer votre propre catalogue au lieu d’en importer un, vous devez d’abord créer une définition de catalogue. Après avoir créé la définition de catalogue, vous pouvez ajouter des catégories, des produits et des propriétés au catalogue.

La création d’une définition de catalogue se fait en trois étapes :

  1. Ajout d’une définition de propriété de catalogue. Nom, Description, Artiste, Titre et Prix catalogue sont des exemples de définitions de propriétés. Les définitions de propriétés sont utilisées dans les définitions de produits et de catégories.
  2. Ajout d’une définition de produit de catalogue. Par exemple, un vendeur de disques en ligne peut avoir une définition de produit pour le produit « CD » contenant les propriétés Artiste, Titre et Prix catalogue. Tous les produits de votre catalogue sont des instances de définitions de produits. Une définition de produit spécifie les propriétés associées à un type de produit donné.
  3. Ajout d’une définition de catégorie de catalogue. Nom et Description sont des exemples de propriétés d’une catégorie définies dans une définition de catégorie.

La figure suivante illustre la manière dont les définitions de produits et de catégories sont basées sur les définitions de propriétés.

Figure illustrant la manière dont les définitions de produits et de catégories sont basées sur les définitions de propriétés.

Cette section contient les rubriques suivantes :

  • Ajout d’une définition de propriété de catalogue
  • Ajout d’une définition de propriété multilingue de catalogue
  • Ajout d’attributs de catalogue et d’attributs de propriété personnalisés
  • Ajout d’une définition de produit de catalogue
  • Ajout d’une définition de catégorie de catalogue


Ajout d'une définition de propriété de catalogue

Envoyer des commentaires sur cette page Commerce Server 2002

Ajout d’une définition de propriété de catalogue

Une définition de propriété spécifie une seule caractéristique d’une définition de catégorie ou d’une définition de produit de votre catalogue.

Une même définition de propriété peut être utilisée par plusieurs définitions de catégories et définitions de produits et peut être partagée entre plusieurs catalogues. Par exemple, la définition de propriété Description peut être utilisée dans chaque définition de produit et définition de catégorie pour ajouter des descriptions aux catégories et aux produits.

Une fois que vous avez ajouté la définition de propriété à la définition de catalogue, vous pouvez l’ajouter à une définition de catégorie ou une définition de produit.

Remarques

  • Un nom de définition de propriété peut comporter 100 caractères au maximum.
  • Un nom de définition de propriété ne peut pas contenir les caractères suivants : [, ] ou “. Il ne peut pas non plus contenir de points ou de virgules.
  • Un nom de définition de propriété ne peut pas commencer par un numéro.
  • Si vous importez des données de catalogue dans le Data Warehouse, consultez Restrictions concernant le nom et la taille des catalogues pour connaître les restrictions de nom dans le cadre de la tâche DTS d’importation des données du catalogue de produits.
  • Vous ne devez pas utiliser « ProductID » ou « VariantID » dans le nom de définition de propriété.
  • Vérifiez qu’un nom de définition de propriété ne comporte pas de parenthèses dépareillées dans son nom. Par exemple, si vous entrez une propriété nommée « pointure de chaussures hommes) » au lieu de « pointure de chaussures (hommes) », Commerce Server stocke la propriété, mais il vous sera impossible de la récupérer de la base de données Commerce Server.
  • Si vous sélectionnez l’option Attribuer à tous les types de produits, toutes les définitions de produits que vous créerez hériteront automatiquement de cette propriété. Si vous importez un catalogue XML dans lequel cette propriété a été définie, celle-ci affectera toutes les définitions de produits que vous créerez par la suite.
  • Utilisez la zone Est nécessaire pour spécifier qu’une valeur de la propriété est requise. Lorsqu’une propriété est requise, Requis s’affiche en regard de la propriété.

Pour ajouter une définition de propriété à la définition de catalogue

  1. Dans Catalogues, cliquez sur Concepteur de définitions de catalogues.
  2. Dans l’écran Concepteur de définitions de catalogues : Définitions de catégories, cliquez sur Afficher dans la barre d’outils, puis sélectionnez Définitions de propriétés dans la liste déroulante.
  3. Dans l’écran Concepteur de définitions de catalogues : Définitions de propriétés, cliquez sur Nouvelle dans la barre d’outils, puis sélectionnez le type de propriété que vous souhaitez utiliser pour créer une définition de propriété.

    Vous pouvez ajouter vos propres attributs de propriété personnalisés si les attributs inclus dans Commerce Server ne répondent pas à vos besoins. Pour plus d’informations, consultez Ajout d’attributs de catalogue et d’attributs de propriété personnalisés.

  4. Les zones affichées dans l’écran Définition de propriété : Nouvelle dépendent du type de définition de propriété que vous avez sélectionné. Effectuez les opérations suivantes :
    Utilisez ceci | Pour le type de propriété | Pour faire cela
    Nom Tous Taper un nom interne pour la propriété.

    Remarque

    • Une fois que la propriété est enregistrée, vous ne pouvez pas changer son nom.
    Nom complet | Tous | Taper le nom qui sera affiché sur votre site Web sous la forme d’un libellé pour cette propriété. Par exemple, pour une propriété nommée « CouleurChemise », vous pouvez choisir le nom complet « Couleur ».
    Afficher sur le site Tous Afficher la propriété spécifiée sur le site Web afin que les utilisateurs la voient, en activant cette case à cocher. Si vous souhaitez garder certaines propriétés privées pour usage interne, n’activez pas cette case à cocher.

    Par défaut, cette case à cocher est activée pour les propriétés de texte long.
    Possibilité de recherche en texte libre Texte, choix multiple Appliquer la fonction de recherche en texte libre dans votre catalogue aux valeurs stockées dans cette propriété, en activant cette case à cocher.

    Lorsque vous sélectionnez l’option Possibilité de recherche en texte libre, la définition de propriété est ajoutée à l’index de texte intégral du catalogue. Vous devez mettre à jour l’index de texte intégral après avoir modifié des éléments de vos catalogues qui sont marqués comme pouvant faire l’objet d’une recherche. Pour plus d’informations sur la mise à jour de l’index de texte intégral, consultez Actualisation et publication d’un catalogue.
    Possibilité de recherche avec propriété Texte, nombre, décimal, monnaie/devise, date/heure, choix multiple, multilingue Utiliser cette propriété dans les recherches avec propriété, en activant cette case à cocher.

    Par défaut cette case à cocher n’est pas activée pour les propriétés de texte long, car le texte de description long ne convient pas à la recherche avec propriété.
    Longueur minimale Texte, multilingue Taper le nombre définissant la longueur minimale de la valeur pour ce type de propriété.

    Si vous spécifiez une longueur différente de zéro, cette propriété devient une propriété requise pour une définition de produit ou de catégorie et Requis s’affiche en regard de la propriété.
    Longueur maximale | Texte, multilingue | Taper le nombre définissant la longueur maximale de la valeur pour ce type de propriété.
    Valeur minimale | Nombre, décimal, monnaie/devise | Taper le nombre définissant la valeur minimale pour ce type de propriété.
    Valeur maximale Nombre, décimal, monnaie/devise Taper le nombre définissant la valeur maximale pour ce type de propriété.

    Par exemple, pour ajouter une propriété pour la monnaie, entrez un nombre décimal et indiquez dans la partie décimale le nombre de chiffres pouvant s’adapter à la valeur monétaire la plus élevée à appliquer à un produit.
    Date au plus tôt | Date/Heure | Taper la date à laquelle vous voulez que cette propriété soit valide au plus tôt. Par exemple, la date à laquelle les utilisateurs peuvent commander un nouveau livre au plus tôt.
    Heure au plus tôt | Date/Heure | Taper l’heure au format 00:00 correspondant à l’heure au plus tôt qui doit être associée à la propriété. Par exemple, une heure de début.
    Date au plus tard | Date/Heure | Taper la date à laquelle vous voulez que cette propriété soit valide au plus tard.
    Heure au plus tard | Date/Heure | Taper l’heure au format 00:00 (par exemple, 22:00) à laquelle vous voulez que cette propriété soit valide au plus tard.
    Valeur par défaut | Texte, nombre, décimal, monnaie/devise, date/heure, choix multiple, multilingue | Taper la valeur par défaut pour le type de propriété. Le format varie en fonction du type de propriété ajouté.
    Attribuer à tous les types de produits Tous Attribuer la propriété à tous les types de produits, en activant cette case à cocher. Vous pouvez par exemple activer cette case à cocher pour les propriétés de produit génériques, telles que le nom, la description ou le poids.

    Si vous sélectionnez l’option Attribuer à tous les types de produits, toutes les définitions que vous créez héritent automatiquement de cette propriété.
    Stocker les données en vue d’une analyse | Tous, sauf texte long et texte long multilingue | Exporter la propriété vers le Data Warehouse, en activant cette case à cocher. L’exportation de données vers le Data Warehouse rend les données disponibles à des fins de création de rapports.
    Afficher dans la liste de produits | Tous | Afficher cette propriété dans la liste de produits sur votre site, en activant cette case à cocher.
    Est nécessaire | Tous, sauf choix multiple multilingue | Spécifier que cette propriété doit obligatoirement contenir une valeur, en activant cette case à cocher. Lorsqu’une propriété est requise, Requis s’affiche en regard de la propriété.
  5. Pour enregistrer la définition de propriété, cliquez sur Enregistrer dans la barre d’outils.
  6. Pour sécuriser la propriété afin que d’autres utilisateurs Business Desk ne puissent pas la modifier ou la supprimer, cliquez sur Autorisations dans la section Sécurité.
  7. Spécifiez les comptes Windows des utilisateurs auxquels ont été accordées des autorisations de sécurité pour mettre à jour ce catalogue, puis cliquez sur Fermer.
  8. Pour enregistrer les autorisations de la définition de propriété et revenir à l’écran Concepteur de définitions de catalogues : Définitions de propriétés, cliquez sur Enregistrer et retour dans la barre d’outils.

Vous pouvez maintenant ajouter la définition de propriété à une définition de catégorie et/ou à une définition de produit.

Voir aussi

Restrictions concernant le nom et la taille des catalogues

Ajout d’une définition de propriété multilingue de catalogue

Ajout d’une définition de produit de catalogue

Ajout d’une définition de catégorie de catalogue


Ajout d'une définition de propriété multilingue de catalogue

Envoyer des commentaires sur cette page Commerce Server 2002

Ajout d’une définition de propriété multilingue de catalogue

Vous pouvez créer dans votre catalogue des propriétés qui prennent en charge plusieurs langues. Vous pouvez par exemple spécifier que la propriété Description est de type texte multilingue, puis spécifier que Description peut prendre en charge l’anglais, l’allemand, le japonais et le français. La création de propriétés multilingues vous permet de créer des catalogues qui prennent en charge plusieurs langues.

Vous pouvez créer les types de propriétés multilingues suivants :

  • Texte multilingue
  • Texte long multilingue
  • Nom de fichier multilingue. Il s’agit du nom d’un fichier qui sera unique pour chaque langue. Vous pouvez par exemple avoir un fichier image d’un produit différent pour chaque langue, particulièrement si l’image contient du texte. Possibilité de recherche en texte libre
  • Choix multiple multilingue

Les propriétés multilingues ne prennent pas en charge l’option Possibilité de recherche en texte libre.

Remarques

  • Si vous sélectionnez l’option Attribuer à tous les types de produits, toutes les définitions de produits que vous créerez hériteront automatiquement de cette propriété. Si vous importez un catalogue XML dans lequel cette propriété a été définie, celle-ci affectera toutes les définitions de produits que vous créerez par la suite.
  • Un nom de propriété ne peut pas commencer par un numéro.
  • Utilisez la zone Est nécessaire pour spécifier si une valeur de la propriété est requise. Lorsqu’une propriété est requise, Requis s’affiche en regard de la propriété.

Pour ajouter une définition de propriété multilingue à la définition de catalogue

  1. Dans Catalogues, cliquez sur Concepteur de définitions de catalogues.
  2. Dans l’écran Concepteur de définitions de catalogues : Définitions de catégories, cliquez sur Afficher dans la barre d’outils, puis sélectionnez Définitions de propriétés dans la liste déroulante.
  3. Dans l’écran Concepteur de définitions de catalogues : Définitions de propriétés, cliquez sur Nouvelle dans la barre d’outils, puis sélectionnez le type de propriété multilingue que vous souhaitez utiliser pour créer une définition de propriété.
  4. Les zones affichées dans l’écran Définition de propriété : Nouvelle dépendent du type de définition de propriété que vous avez sélectionné. Dans la section Propriétés, effectuez les opérations suivantes :
    Utilisez ceci | Pour le type de propriété | Pour faire cela
    Nom Tous Taper un nom interne pour la propriété. Pour taper le nom qui s’affiche sur votre site Web, consultez l’étape 5.

    Remarque

    • Une fois que la propriété est enregistrée, vous ne pouvez pas changer son nom interne.
    Afficher sur le site | Tous | Afficher la propriété spécifiée sur le site Web afin que les utilisateurs la voient, en activant cette case à cocher. Si vous souhaitez garder certaines propriétés privées pour usage interne, n’activez pas cette case à cocher.
    Possibilité de recherche avec propriété | Tous | Utiliser cette propriété dans les recherches avec propriété, en activant cette case à cocher.
    Longueur minimale | Texte multilingue | Taper le nombre définissant la longueur minimale de la valeur pour ce type de propriété. Si vous spécifiez une longueur différente de zéro, cette propriété devient une propriété requise pour une définition de produit ou de catégorie et Requis s’affiche en regard de la propriété.
    Longueur maximale | Texte multilingue | Taper le nombre définissant la longueur maximale de la valeur pour ce type de propriété.
    Attribuer à tous les types de produits Tous Attribuer la propriété à tous les types de produits, en activant cette case à cocher. Vous pouvez par exemple ajouter la propriété à des propriétés de produit génériques, telles que le nom, la description ou le poids.

    Si vous sélectionnez l’option Attribuer à tous les types de produits, toutes les définitions que vous créez héritent automatiquement de cette propriété.
    Stocker les données en vue d’une analyse | Tous, sauf texte long multilingue | Exporter la propriété vers le Data Warehouse, en activant cette case à cocher. L’exportation de données vers le Data Warehouse rend les données disponibles à des fins de création de rapports.
    Afficher dans la liste de produits | Tous | Afficher cette propriété dans la liste de produits, en activant cette case à cocher.
  5. Dans la section Noms complets, cliquez sur Nouvelle, puis sélectionnez une langue dans la liste déroulante.
  6. Dans la zone Nom complet, tapez le nom de propriété dans la langue adéquate, puis cliquez sur Accepter.

    Il s’agit du nom, affiché dans la langue adéquate, que les utilisateurs voient lorsqu’ils visitent votre site.

  7. Dans la section Valeurs par défaut, cliquez sur Nouvelle, puis sélectionnez une langue dans la liste déroulante.
  8. Dans la zone Valeur par défaut, tapez la valeur applicable à cette propriété à l’aide de la langue spécifiée, puis cliquez sur Accepter.
  9. Pour sécuriser la propriété afin que d’autres utilisateurs Business Desk ne puissent pas la modifier ou la supprimer, cliquez sur Autorisations dans la section Sécurité.
  10. Spécifiez les comptes Windows des utilisateurs auxquels ont été accordées des autorisations de sécurité pour mettre à jour ce catalogue, puis cliquez sur Fermer.
  11. Pour enregistrer la définition de propriété et revenir à l’écran Concepteur de définitions de catalogues : Définitions de propriétés, cliquez sur Enregistrer et retour dans la barre d’outils.

Vous pouvez maintenant ajouter la définition de propriété multilingue à une définition de catégorie et/ou à une définition de produit.

Voir aussi

Restrictions concernant le nom et la taille des catalogues

Ajout d’une définition de produit de catalogue

Ajout d’une définition de catégorie de catalogue


Ajout d'attributs de catalogue et d'attributs de propriété personnalisés

Envoyer des commentaires sur cette page Commerce Server 2002

Ajout d’attributs de catalogue et d’attributs de propriété personnalisés

Commerce Server Business Desk inclut des attributs de catalogue, tels que la devise, l’unité de mesure de poids, les paramètres régionaux et le nom du catalogue. Il inclut des attributs de propriété, tels que la longueur minimale et la valeur minimale, la longueur maximale et la valeur maximale, la valeur par défaut et le nom complet.

Vous pouvez ajouter vos propres attributs de catalogue pour stocker des informations sur le fournisseur qui propose les produits d’un catalogue.

Vous pouvez ajouter vos propres attributs de propriété pour décrire la manière dont une propriété donnée doit être affichée sur votre site Web. Vous pouvez par exemple spécifier qu’une propriété doit s’afficher dans une liste déroulante, sous la forme d’une case d’option ou d’une étiquette.

Pour ajouter des attributs de catalogue et/ou des attributs de propriété définis par l’utilisateur

  1. Contactez votre développeur de site pour ajouter les nouveaux attributs à Commerce Server à l’aide de l’API Catalog.
  2. Importez un fichier de catalogue XML qui inclut les nouveaux attributs de catalogue et attributs de propriété que vous souhaitez utiliser dans vos catalogues et propriétés.
  3. Utilisez Concepteur de définitions de catalogues pour affecter les attributs aux catalogues et propriétés, puis affectez-leur des valeurs.

Voir aussi

Importation d’un fichier de catalogue XML

Modification d’une définition de propriété de catalogue


Ajout d'une définition de produit de catalogue

Envoyer des commentaires sur cette page Commerce Server 2002

Ajout d’une définition de produit de catalogue

Une définition de produit spécifie les propriétés associées à un type de produit donné. Par exemple, un vendeur de disques en ligne peut créer une définition de produit pour le produit CD. Cette définition de produit contient les propriétés suivantes : Artiste, Titre et Prix catalogue.

Remarques

  • La propriété Prix catalogue est automatiquement incluse dans chaque définition de produit.
  • N’ajoutez pas comme propriété de composant produit des propriétés destinées à servir d’identificateurs de produits.

Pour ajouter une définition de produit à une définition de catalogue

  1. Vérifiez que vous avez déjà créé les définitions de propriétés à ajouter à votre définition de produit. Pour plus d’informations sur la création de définitions de propriétés, consultez Ajout d’une définition de propriété de catalogue.
  2. Dans Catalogues, cliquez sur Concepteur de définitions de catalogues.
  3. Dans l’écran Concepteur de définitions de catalogues : Définitions de catégories, cliquez sur Afficher dans la barre d’outils, puis sélectionnez Définitions de produits dans la liste déroulante.
  4. Dans l’écran Concepteur de définitions de catalogues : Définitions de produits, cliquez sur Nouvelle dans la barre d’outils.
  5. Dans l’écran Définition de produit : Nouveau, dans la zone Nom, tapez un nom pour la nouvelle définition de produit.
  6. Dans la section Propriétés du produit, sélectionnez les propriétés souhaitées pour la nouvelle définition de produit dans la liste Propriétés disponibles, puis cliquez sur Ajouter.

    Remarque

    • Vous ne pouvez pas supprimer les propriétés attribuées mise en surbrillance en jaune. Il s’agit de propriétés possédant l’attribut Attribuer à tous les types de produits.
  7. Si le nouveau produit a différents composants, dans la liste Propriétés disponibles de la section Propriétés du composant produit, sélectionnez les propriétés souhaitées, puis cliquez sur Ajouter.

    Remarque

    • N’ajoutez pas comme propriété de composant produit des propriétés destinées à servir d’identificateurs de produits.
  8. Pour changer l’ordre des propriétés, sélectionnez la propriété que vous souhaitez déplacer, puis cliquez sur Monter ou Descendre jusqu’à ce que la propriété se trouve à l’emplacement voulu.

    L’ordre dans lequel les propriétés s’affichent dans la zone Propriétés attribuées est également l’ordre dans lequel elles s’afficheront dans le catalogue.

  9. Pour enregistrer la définition de produit et revenir à l’écran Concepteur de définitions de catalogues : Définitions de produits, cliquez sur Enregistrer et retour dans la barre d’outils.

Après avoir créé vos définitions de propriétés, définitions de produits et définitions de catégories, vous pouvez créer un catalogue et placer des catégories et des produits dans celui-ci. Pour connaître les instructions à suivre, consultez Création d’un catalogue de base.

Voir aussi

Ajout d’une définition de propriété de catalogue

Ajout d’une définition de catégorie de catalogue

Création d’un catalogue de base

Ajout d’un produit à un catalogue

Ajout d’une catégorie à un catalogue


Ajout d'une définition de catégorie de catalogue

Envoyer des commentaires sur cette page Commerce Server 2002

Ajout d’une définition de catégorie de catalogue

Une catégorie peut avoir une ou plusieurs propriétés comme le nom, la description et l’image. Ces propriétés sont définies dans la définition de catégorie. Par exemple, si vous souhaitez stocker des informations sur les fabricants, puis organiser les produits par fabricant, vous pouvez créer une définition de catégorie Fabricant qui contiendra différentes propriétés telles que Nom du fabricant, Pays/région, Adresse et Personne à contacter.

Après avoir créé une définition de catégorie, vous pouvez créer des catégories reposant sur cette définition de catégorie.

Pour vous aider à la mise en route, Commerce Server fournit une définition de catégorie appelée Rayon que vous pouvez utiliser en l’état ou modifier. La définition de catégorie Rayon comporte les propriétés suivantes : description, nom du fichier image, largeur d’image et hauteur d’image. Vous pouvez utiliser la définition de catégorie Rayon telle quelle ou vous pouvez adapter ses propriétés à vos besoins professionnels.

Pour ajouter une définition de catégorie à la définition de catalogue

  1. Vérifiez que vous avez déjà créé les définitions de propriétés à ajouter à votre définition de catégorie. Pour plus d’informations sur la création de définitions de propriétés, consultez Ajout d’une définition de propriété de catalogue.
  2. Dans Catalogues, cliquez sur Concepteur de définitions de catalogues.
  3. Dans l’écran Concepteur de définitions de catalogues : Définitions de catégories, cliquez sur Afficher dans la barre d’outils, puis sélectionnez Définitions de catégories dans la liste déroulante.
  4. Dans l’écran Concepteur de définitions de catalogues : Définitions de catégories, cliquez sur Nouvelle dans la barre d’outils.
  5. Dans l’écran Définition de catégorie : Nouvelle, dans la zone Nom, tapez un nom pour la nouvelle définition de catégorie.
  6. Dans la section Propriétés de la catégorie, sélectionnez les propriétés souhaitées pour la nouvelle définition de catégorie dans la liste Propriétés disponibles, puis cliquez sur Ajouter.

    L’ordre dans lequel les propriétés s’affichent dans la zone Propriétés attribuées est également l’ordre dans lequel elles s’afficheront dans le catalogue.

  7. Pour changer l’ordre des propriétés, sélectionnez la propriété que vous souhaitez déplacer, puis cliquez sur Monter ou Descendre jusqu’à ce que la propriété se trouve à l’emplacement voulu.
  8. Pour enregistrer la nouvelle définition de catégorie et revenir à l’écran Concepteur de définitions de catalogues : Définitions de catégories, cliquez sur Enregistrer et retour dans la barre d’outils.

Après avoir créé vos définitions de propriétés, définitions de produits et définitions de catégories, vous pouvez créer un catalogue et placer des catégories et des produits dans celui-ci.

Voir aussi

Création d’un catalogue de base

Création d’un catalogue virtuel

Ajout d’une définition de propriété de catalogue

Ajout d’une définition de produit de catalogue

Ajout d’un produit à un catalogue

Ajout d’une catégorie à un catalogue


Création d'un catalogue de base

Envoyer des commentaires sur cette page Commerce Server 2002

Création d’un catalogue de base

Après que votre développeur de site ou vous avez créé la définition de catalogue (définitions de propriétés, définitions de produits et définitions de catégories), vous l’utilisez pour créer un catalogue.

Vous pouvez créer deux types de catalogues : un catalogue de base ou un catalogue virtuel. Pour obtenir des instructions sur la création d’un catalogue virtuel, consultez Création d’un catalogue virtuel.

Lors de la création d’un catalogue, vous spécifiez les éléments suivants :

  • la devise qui sera utilisée pour le prix des produits (par exemple, vous spécifiez l’abréviation EUR pour l’euro) ;
  • l’identificateur unique qui sera utilisé pour identifier les produits dans le catalogue (par exemple, le nom du produit) ;
  • l’identificateur unique qui sera utilisé pour identifier les composants produit (par exemple, la référence) ;
  • les langues prises en charge par le catalogue (par exemple l’anglais, l’espagnol, le français et le japonais).

Les valeurs de ces propriétés dépendent de votre définition de catalogue. Vous pouvez par exemple spécifier dans la définition de catalogue que l’identificateur unique sera le numéro de référence du produit.

Remarques

  • Si vous ne spécifiez pas de langue par défaut pour un catalogue, Commerce Server utilise la même langue que celle utilisée par le système d’exploitation Microsoft Windows sur votre serveur Web Business Desk.
  • Le nombre de catalogues Commerce Server figurant dans votre base de données influe sur le temps nécessaire à la création d’un nouveau catalogue. Par exemple, quelques secondes peuvent suffire à la création de votre premier catalogue vide. Si vos bases de données contiennent déjà plus de 300 catalogues, chacun d’eux comportant 5 000 produits, la création d’un catalogue supplémentaire peut durer 10 minutes.

Pour créer un catalogue de base

  1. Il est supposé dans cette procédure que votre développeur de site ou vous avez déjà créé votre définition de catalogue. Si ce n’est pas le cas, consultez Création d’une définition de catalogue.
  2. Dans Catalogues, cliquez sur Éditeur de catalogue.
  3. Dans l’écran Catalogues, cliquez sur Nouveau dans la barre d’outils, puis sélectionnez Nouveau catalogue de base dans la liste déroulante.
  4. Dans l’écran Propriétés du catalogue - Nouveau catalogue de base, dans la section Propriétés du catalogue, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom Taper un nom interne unique pour le nouveau catalogue. Ce nom interne ne peut pas correspondre à un nom de catalogue existant dans la base de données du catalogue Commerce Server.

    Ce nom interne est utilisé dans les rapports de catalogue. Il peut comporter jusqu’à 85 caractères.

    Il est impossible de changer ce nom une fois que le catalogue est créé, mais vous pouvez modifier le nom du catalogue qui est affiché sur votre site ; pour ce faire, consultez l’étape 4.
    Date de début | Taper la date de début pour le catalogue. Cette date n’a aucune incidence sur votre site Web. Cependant, si vous échangez des catalogues avec un partenaire commercial, cette date permet à votre partenaire commercial de connaître la date de début de validité du catalogue.
    Date de fin | Taper la date de fin pour le catalogue. Cette date permet à vos partenaires commerciaux de connaître la date de fin de validité du catalogue. Par défaut, il s’agit de la date du jour plus trois mois. Par exemple, si vous créez le catalogue en décembre, la date de fin de validité du catalogue sera en mars.
    Devise | Sélectionner dans la liste déroulante une devise pour le catalogue. La valeur par défaut est USD.
    Unité de mesure de poids | Afficher l’unité de mesure du poids pour les produits de ce catalogue. L’administrateur système spécifie cette valeur lors de la configuration de Commerce Server. Contactez votre administrateur système si cette valeur doit être modifiée.
    Identificateur unique du produit Sélectionner un identificateur unique dans la liste déroulante. Si les produits ne possèdent pas de composants, il peut par exemple s’agir du numéro de référence. Si les produits possèdent des composants, il peut s’agir du Nom ou du Titre et Identificateur unique du composant produit sera alors la Référence.

    Il est impossible de changer cette valeur une fois que le catalogue est créé.

    Pour plus d’informations sur l’attribution d’identificateurs uniques, consultez Méthodes conseillées pour les catalogues.
    Identificateur unique du composant produit Sélectionner un identificateur unique dans la liste déroulante pour les composants produit. Par exemple, il peut s’agir de la référence ou d’un autre identificateur unique. Si les produits ne possèdent pas de composants, sélectionnez ici la même propriété que celle sélectionnée pour Identificateur unique du produit.

    Il est impossible de changer cette valeur une fois que le catalogue est créé.

    Pour plus d’informations sur l’attribution d’identificateurs uniques, consultez Méthodes conseillées pour les catalogues.
  5. Dans la section Langues du catalogue, effectuez les opérations suivantes :
    Utilisez ceci Pour faire cela
    Ajouter Sélectionner les langues que le catalogue prendra en charge.

    Vous pouvez ajouter cinq langues à la fois. Vous devez enregistrer le catalogue, puis vous pouvez ajouter cinq autres langues. Le nombre de langues que vous pouvez ajouter à un catalogue est illimité.
    Langue par défaut Sélectionner dans la liste déroulante la langue par défaut de votre catalogue.

    Si vous ne spécifiez pas de langue par défaut, Commerce Server utilise la même langue que celle utilisée par le système d’exploitation Microsoft Windows sur votre serveur Web Business Desk.
    Langue de création de rapport Sélectionner dans la liste déroulante la langue à utiliser pour les propriétés qui seront stockées dans le Data Warehouse.

    Il s’agit de la langue qui sera employée dans les rapports et les analyses.
  6. Pour entrer le nom complet du catalogue, dans la zone Langue, sélectionnez une langue, puis cliquez sur Modifier.
  7. Dans la zone Nom complet, tapez le nom du catalogue dans la langue sélectionnée. Il s’agit du nom de catalogue qui sera affiché sur votre site Web.
  8. Dans la section Catalogues dépendants, Business Desk répertorie les catalogues virtuels associés au catalogue de base. Pour plus d’informations sur l’inclusion d’un catalogue de base dans un catalogue virtuel, consultez Inclusion de catalogues de base dans un catalogue virtuel.
  9. Dans la section Sécurité, cliquez sur Autorisations, puis spécifiez les comptes Windows des utilisateurs auxquels ont été accordées des autorisations de sécurité pour mettre à jour ce catalogue. Pour plus d’informations sur l’octroi d’autorisations de sécurité, consultez À propos de la sécurité Business Desk.
  10. Pour enregistrer le catalogue et revenir à l’écran Catalogues, cliquez sur Enregistrer et retour dans la barre d’outils.
  11. Pour ajouter des produits et des catégories à votre catalogue, consultez Ajout d’une catégorie à un catalogue et Ajout d’un produit à un catalogue.

Voir aussi

Méthodes conseillées pour les catalogues

Création d’une définition de catalogue

Ajout d’attributs de catalogue et d’attributs de propriété personnalisés

Création d’un catalogue virtuel

Inclusion de catalogues de base dans un catalogue virtuel

Ajout d’un produit à un catalogue

Ajout d’une catégorie à un catalogue


Ajout d'une catégorie à un catalogue

Envoyer des commentaires sur cette page Commerce Server 2002

Ajout d’une catégorie à un catalogue

Vous utilisez le module Éditeur de catalogue pour ajouter une catégorie à un catalogue. Lorsque vous ajoutez des produits à un catalogue, vous pouvez changer de manière dynamique la langue de modification pour un produit ou une catégorie.

Si vous avez importé un catalogue au format de fichier CSV (valeurs séparées par une virgule), vous devez créer les catégories du catalogue et leur attribuer des produits.

Lorsque vous ajoutez une catégorie à un catalogue, vous passez par les étapes suivantes :

  1. Pour ajouter une catégorie à un catalogue ;
  2. Pour attribuer des catégories parents et enfants, si nécessaire ;
  3. Pour créer une relation de catégorie, si nécessaire ;
  4. Pour sécuriser la catégorie, si nécessaire.

Remarques

  • Les noms de catégories doivent être uniques dans chaque catalogue de base. Les noms de catégories doivent être uniques pour les nouvelles catégories (et non les catégories héritées) dans un catalogue virtuel.
  • Lorsque vous ajoutez une catégorie à un catalogue de base, cette catégorie est automatiquement ajoutée aux catalogues virtuels associés, selon les règles d’inclusion.
  • Le module Éditeur de catalogue vous permet d’accorder des autorisations aux utilisateurs Business Desk pouvant modifier cette catégorie. N’utilisez pas le module Autorisations Business Desk.

Pour ajouter une catégorie à un catalogue

  1. Vérifiez que la définition de catégorie sur laquelle doit reposer la catégorie a été définie. Pour plus d’informations sur l’ajout de définitions de catégories, consultez Ajout d’une définition de catégorie de catalogue.
  2. Dans Catalogues, cliquez sur Éditeur de catalogue.
  3. Dans l’écran Catalogues, sélectionnez le catalogue auquel vous souhaitez ajouter une nouvelle catégorie, puis cliquez sur Ouvrir le catalogue dans la barre d’outils.
  4. Dans l’écran Contenu du catalogue - <Nom du catalogue>, dans la section Catégories, cliquez sur Nouvelle.
  5. Dans la boîte de dialogue Nouvelle catégorie, sélectionnez la définition de catégorie sur laquelle doit reposer la catégorie, puis cliquez sur Continuer. (S’il n’existe qu’une seule définition de catégorie, cette boîte de dialogue n’est pas affichée.)

    Vous utilisez le module Concepteur de définitions de catalogues pour ajouter des définitions de catégories. Pour connaître les instructions à suivre, consultez Ajout d’une définition de catégorie de catalogue.

  6. S’il s’agit d’un catalogue multilingue, en haut de l’écran Éditeur de catalogue – <Nom du catalogue> - nouveau (catégorie), sélectionnez la langue à utiliser pour les propriétés multilingues, avec Multilingue affiché en regard.
  7. Dans l’écran Éditeur de catalogue - <Nom du catalogue> - nouveau (catégorie), les zones qui s’affichent sont basées sur la définition de catégorie que vous sélectionnez. Des zones supplémentaires, outre celles répertoriées ici, peuvent s’afficher. Effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom Taper un nom interne unique pour la nouvelle catégorie. Ce nom est limité à 100 caractères. Les noms de catégories doivent être uniques dans chaque catalogue.

    Ce nom est utilisé dans les rapports de catalogue.
    Nom complet | Taper le nom de catégorie qui doit s’afficher sur votre site Web.
    Description | Taper une description de la catégorie qui doit s’afficher sur votre site Web.
    Prix Taper un prix pour la catégorie. Le prix est attribué à tous les produits de cette catégorie.

    Pour plus d’informations sur l’attribution directe de prix au produit ou au composant produit, consultez Tarification d’un produit dans un catalogue de base et Tarification au niveau du composant produit.
    Possibilité de recherche | Définir cette catégorie comme point de départ d’une recherche avec propriété, en activant cette case à cocher. Si cette case à cocher est activée, cette catégorie est répertoriée sur la page Recherche approfondie du site Web.
  8. À ce stade, vous pouvez cliquer sur Enregistrer et retour dans la barre d’outils pour enregistrer le catalogue.

    Vous pouvez également passer aux sections suivantes de l’écran Éditeur de catalogue et attribuer des catégories parents et enfants ou sécuriser la catégorie.

Pour attribuer des catégories parents et enfants

  1. Dans la section Catégories, sélectionnez la catégorie à laquelle vous souhaitez attribuer des catégories parents ou enfants, puis cliquez sur Modifier.
  2. Dans la section Catégories attribuées, sélectionnez la catégorie que vous souhaitez attribuer en tant que catégorie parent primaire, puis cliquez sur Définir.
  3. Dans la zone Catégories enfants disponibles, sélectionnez la catégorie que vous voulez ajouter au parent, puis cliquez sur Ajouter.

    Cette catégorie passe de la liste Catégories enfants disponibles à la liste Catégories enfants attribuées.

  4. À ce stade, vous pouvez cliquer sur Enregistrer et retour dans la barre d’outils pour enregistrer le catalogue. Vous pouvez également passer à la section suivante de l’écran Éditeur de catalogue et attribuer des relations de catégorie.

Pour créer une relation de catégorie

  1. Dans la section Relations de la catégorie, cliquez sur Nouvelle, puis effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Relation Taper le nom de la relation. Ce nom n’est pas affiché sur votre site Web.

    (Vous ajoutez des relations aux catégories ou aux produits.)

    Article | Cliquer sur le bouton de sélection […] pour ouvrir la boîte de dialogue Sélecteur de produits.
  2. Dans la boîte de dialogue Sélecteur de produits, sélectionnez le catalogue qui contient la catégorie que vous voulez utiliser.
  3. Sélectionnez la catégorie avec laquelle vous souhaitez créer une relation dans la liste Catégories, puis cliquez sur OK.

    La catégorie choisie s’affiche dans la zone Élément de la section Relations de la catégorie.

  4. Cliquez sur Accepter pour enregistrer la relation de catégorie.
  5. Pour enregistrer les modifications et revenir à l’écran Catalogue, cliquez sur Enregistrer et retour dans la barre d’outils.

Pour sécuriser la catégorie

  1. Dans la section Sécurité, cliquez sur Autorisations.
  2. Dans la boîte de dialogue Comptes, cliquez sur Autoriser pour accorder l’accès aux utilisateurs Business Desk pouvant modifier cette catégorie, puis cliquez sur Fermer.
  3. Pour enregistrer les modifications et revenir à l’écran Catalogue, cliquez sur Enregistrer et retour dans la barre d’outils.
  4. Pour publier le nouveau produit sur votre site Web, cliquez sur Publier un catalogue dans la barre d’outils.

Le catalogue mis à jour est publié sur votre site Web.

Voir aussi

Création de hiérarchies pour les catégories

Création de relations de catégorie et de produit

Méthodes conseillées pour les catalogues

Modification d’une catégorie dans un catalogue de base

Ajout d’un produit à un catalogue

Actualisation et publication d’un catalogue

Ajout d’une définition de catégorie de catalogue


Ajout d'un produit à un catalogue

Envoyer des commentaires sur cette page Commerce Server 2002

Ajout d’un produit à un catalogue

Vous utilisez le module Éditeur de catalogue pour ajouter de nouveaux produits aux catalogues existants. Lorsque vous ajoutez des produits à un catalogue, vous pouvez changer de manière dynamique la langue de modification pour un produit ou une catégorie.

Pour ajouter un nouveau produit à un catalogue

  1. Vérifiez que vous avez déjà créé une définition de produit ainsi qu’un catalogue de base et que vous y avez ajouté une ou plusieurs catégories. Si ce n’est pas le cas, consultez Ajout d’une définition de produit de catalogue, Création d’un catalogue de base et Ajout d’une catégorie à un catalogue.
  2. Si vous voulez que le produit comporte des composants produit, vérifiez que la définition de produit sur laquelle le produit se base a été définie pour inclure des composants produit. Pour plus d’informations sur la modification des définitions de produits, consultez Modification d’une définition de produit de catalogue.
  3. Dans Catalogues, cliquez sur Éditeur de catalogue.
  4. Dans l’écran Catalogues, sélectionnez le catalogue auquel vous souhaitez ajouter un nouveau produit, puis cliquez sur Ouvrir le catalogue dans la barre d’outils.
  5. Dans l’écran Contenu du catalogue - <Nom du catalogue>, dans la section Produits, cliquez sur Nouveau.
  6. Dans la boîte de dialogue Nouveau produit, sélectionnez la définition de produit à utiliser pour ce produit, puis cliquez sur OK.

    Remarque

    • Les définitions de produits disponibles dépendent de définitions de produits que vous avez ajoutées à la définition de catalogue. Pour plus d’informations, consultez Ajout d’une définition de produit de catalogue.
  7. S’il s’agit d’un catalogue multilingue, en haut de l’écran Éditeur de catalogue – <Nom du catalogue> - nouveau (catégorie), sélectionnez la langue à utiliser pour les propriétés multilingues, avec Multilingue affiché en regard.
  8. Dans l’écran Éditeur de catalogue – <Nom du catalogue> nouveau (produit), dans la section Propriétés du produit, entrez les informations pour les propriétés disponibles. Les zones suivantes sont requises :
    Utilisez ceci | Pour faire cela
    Nom Taper le nom du produit tel qu’il sera affiché sur votre site Web.

    Ce nom est utilisé dans les rapports de catalogue.
    Description | Taper la description du produit telle qu’elle sera affichée sur votre site Web.
  9. Dans la section Composant produit, cliquez sur Nouvelle, puis tapez les informations pour les propriétés disponibles. Lorsque vous avez fini, cliquez sur Terminé.

    Remarque

    • Vous ne pouvez ajouter des composants produit que si la définition de produit a été définie pour en inclure. Pour modifier la définition de produit de sorte qu’elle inclue des composants produit, consultez Modification d’une définition de produit de catalogue.
  10. Dans la section Catégories attribuées, effectuez les opérations suivantes :
    Utilisez ceci Pour faire cela
    Catégories disponibles Sélectionner la catégorie à laquelle vous voulez attribuer le produit, puis cliquer sur Ajouter.

    Si vous voulez supprimer une catégorie attribuée, cliquez sur Supprimer.
    Catégories attribuées Sélectionner la catégorie attribuée, puis cliquer sur Modifier pour modifier la catégorie.

    Cliquez sur Nouvelle pour créer une catégorie.
    Catégorie parent primaire Sélectionner la catégorie qui doit être la catégorie parent primaire, puis cliquer sur Définir.

    La catégorie parent primaire permet de déterminer le chemin d’accès canonique au produit ou à la catégorie en question ou d’appliquer au produit des règles de tarification de niveau catégorie.
  11. Dans la section Relations de la famille de produits, cliquez sur Nouvelle, tapez un nom pour la relation (par exemple, accessoire), puis cliquez sur le bouton de sélection […] afin d’afficher la boîte de dialogue Sélecteur de produits.
  12. Dans la boîte de dialogue Sélecteur de produits, sélectionnez la catégorie ou le produit souhaité dans la relation, puis cliquez sur OK. Pour trouver les catégories ou les produits souhaités, vous pouvez les parcourir ou effectuer une recherche par mots-clés.
    Remarque
    • Dans la boîte de dialogue Sélecteur de produits, Commerce Server tronque les noms de produits dépassant 30 caractères. Si vous avez plusieurs produits dont les 30 premiers caractères sont identiques, ils s’afficheront en double.
  13. Dans la section Relations de la famille de produits, cliquez sur Accepter. Cliquez sur Nouvelle afin de poursuivre l’ajout de relations.
  14. Pour enregistrer le produit et revenir à l’écran Catalogues, cliquez sur Enregistrer et retour dans la barre d’outils.
  15. Pour publier le nouveau produit sur votre site Web, cliquez sur Publier un catalogue dans la barre d’outils.

Le catalogue mis à jour est publié sur votre site Web.

Voir aussi

À propos des catalogues

Création de relations de catégorie et de produit

Personnalisation des modes de livraison


Ajout de composants produit à un produit

Vous pouvez attribuer des composants produit aux produits de votre catalogue. Pour un t-shirt par exemple, les composants produit peuvent inclure la couleur et la taille. Dans ce cas, un t-shirt bleu de taille Large serait un composant de la famille de produits t-shirt. Un t-shirt bleu de taille Small serait un autre composant.

Remarques

  • Pour pouvoir ajouter un composant produit à un produit, vous devez au préalable spécifier dans la définition de produit que le produit inclura des composants. Pour plus d’informations, consultez Modification d’une définition de produit de catalogue.
  • Chaque composant produit doit posséder un identificateur unique. Pour plus d’informations sur les identificateurs uniques, consultez Méthodes conseillées pour les catalogues.

Pour ajouter des composants produit à un produit

  1. Vérifiez que la définition de produit sur laquelle le produit se base a été définie pour inclure des composants produit. Chaque composant produit doit posséder un identificateur unique. Pour plus d’informations sur la modification des définitions de produits, consultez Modification d’une définition de produit de catalogue.
  2. Dans Catalogues, cliquez sur Éditeur de catalogue.
  3. Dans l’écran Catalogues, sélectionnez le catalogue auquel vous souhaitez ajouter des composants produit, puis cliquez sur Ouvrir le catalogue dans la barre d’outils.
  4. Dans l’écran Éditeur de catalogue - <Nom du catalogue>, dans la section Produits, cliquez sur Rechercher pour afficher tous les produits.
  5. Sélectionnez le produit auquel vous voulez ajouter des composants produit, puis cliquez sur Modifier.
  6. Dans l’écran Éditeur de catalogue - <Nom du catalogue> (produit), dans la section Composant produit, cliquez sur Nouvelle.
  7. Dans la section Composant produit, tapez le prix du produit dans la zone Prix du composant.
  8. Entrez les propriétés dans les différentes zones, notamment une valeur unique pour la propriété d’identificateur unique, telle que le numéro de référence, puis cliquez sur Terminé.

    Les informations sur le composant produit s’affichent dans le tableau Composant produit.

  9. Pour enregistrer les modifications et revenir à l’écran Catalogues, cliquez sur Enregistrer et retour dans la barre d’outils.
  10. Pour publier les nouveaux composants produit, cliquez sur Publier un catalogue dans la barre d’outils.

Le catalogue mis à jour est publié sur votre site Web.

Voir aussi

Méthodes conseillées pour les catalogues

Tarification au niveau du composant produit


Ajout d'une langue à un catalogue

Envoyer des commentaires sur cette page Commerce Server 2002

Ajout d’une langue à un catalogue

Lorsque vous créez un catalogue de base, vous spécifiez les langues qu’il prend en charge. Vous spécifiez les éléments suivants :

  • Langue par défaut : Si vous ne spécifiez pas de langue par défaut pour un catalogue, Commerce Server utilise la même langue que celle utilisée par le système d’exploitation Microsoft Windows sur le serveur Web Business Desk.
  • Langue de création de rapport : spécifiez la langue du catalogue qui doit être utilisée pour remplir le Data Warehouse. Il s’agit de la langue qui s’affichera dans les rapports.

    Si vous changez la langue de création de rapport, la prochaine fois que votre administrateur système importera des données de catalogue dans le Data Warehouse, il utilisera cette nouvelle langue. Au niveau du Data Warehouse, il peut en résulter des données dans une langue et d’autres données dans une langue différente.

    Votre administrateur système doit alors effectuer une importation complète à l’aide de la tâche de transformation de données (DTS, Data Transformation Services) Importation du catalogue de produits pour que toutes les données soient dans la même langue. (Une importation complète met à jour les propriétés du produit, car les clés de produits sont identiques dans toutes les langues.)

Une fois qu’un catalogue est créé, vous pouvez à tout moment lui ajouter d’autres langues.

Remarque

  • Un catalogue peut prendre en charge jusqu’à 10 langues.

Pour ajouter une langue à un catalogue

  1. Dans Catalogues, cliquez sur Éditeur de catalogue.
  2. Dans l’écran Catalogues, sélectionnez le catalogue auquel vous souhaitez ajouter une langue, puis cliquez sur Modifier les propriétés dans la barre d’outils.
  3. Dans l’écran Propriétés du catalogue - <Nom du catalogue>, dans la section Langues du catalogue, cliquez sur Ajouter.
  4. Dans la boîte de dialogue Sélectionner les langues, sélectionnez la langue à ajouter, puis cliquez sur Ajouter.
  5. Si vous ajoutez plusieurs langues au catalogue, spécifiez la langue par défaut dans la zone Langue par défaut.
  6. Dans la zone Langue de création de rapport, spécifiez la langue à utiliser pour les données qui doivent être stockées dans le Data Warehouse. Il s’agit de la langue qui sera employée dans les rapports et les analyses.
  7. Pour enregistrer les modifications et revenir à l’écran Catalogues, cliquez sur Enregistrer et retour dans la barre d’outils.
  8. Pour publier les modifications, cliquez sur Publier un catalogue dans la barre d’outils.

Le catalogue mis à jour est publié sur votre site Web.

Voir aussi

Création d’un catalogue multilingue


Création d'un catalogue virtuel

Envoyer des commentaires sur cette page Commerce Server 2002

Création d’un catalogue virtuel

Un catalogue virtuel est un catalogue référençant les données sur les produits d’un ou de plusieurs catalogues de base. Les produits ne sont représentés qu’une seule fois dans la base de données, quel que soit le nombre de catalogues virtuels où ils figurent.

Les catalogues virtuels sont principalement utilisés pour effectuer les trois opérations suivantes :

  • regrouper plusieurs catalogues afin qu’ils apparaissent sous la forme d’un seul catalogue pour les utilisateurs ;
  • tarifer des produits dans plusieurs devises ;
  • fournir une tarification spéciale, ou des sous-ensembles de produits, pour des groupes d’utilisateurs spécifiques.

Vous pouvez créer jusqu’à 10 000 catalogues virtuels. Lors de la création d’un catalogue virtuel, vous spécifiez les éléments suivants :

  • le nom du catalogue ;
  • la devise qui sera utilisée pour le prix des produits (par exemple, EUR).

Une fois qu’un catalogue virtuel est créé, vous ajoutez des règles d’inclusion qui spécifient les points suivants :

  • Les produits et les catégories des catalogues de base que vous voulez inclure dans le catalogue virtuel. Vous pouvez inclure dans un catalogue virtuel jusqu’à un million de produits.
  • Les règles de tarification que vous voulez appliquer aux produits et aux catégories. Vous pouvez créer jusqu’à 10 000 règles de tarification dans un seul catalogue.

Pour plus d’informations sur l’inclusion d’un catalogue de base dans un catalogue virtuel, consultez Inclusion de catalogues de base dans un catalogue virtuel. Pour plus d’informations sur l’ajout de catégories à un catalogue virtuel, consultez Ajout de catégories à un catalogue virtuel.

Remarques

  • Un catalogue virtuel peut comporter du contenu de 80 catalogues de base au maximum, mais il ne peut pas comporter de contenu d’autres catalogues virtuels.
  • Vous pouvez modifier les propriétés d’un catalogue virtuel pour spécifier la langue de création de rapport et la langue par défaut. Il n’est pas nécessaire de modifier le catalogue de base.

Cette section contient les rubriques suivantes :

  • Création d’un catalogue virtuel
  • Inclusion de catalogues de base dans un catalogue virtuel
  • Reconstruction d’un catalogue virtuel
  • Ajout de règles de tarification à un catalogue virtuel
  • Ajout de catégories à un catalogue virtuel


Création d'un catalogue virtuel

Envoyer des commentaires sur cette page Commerce Server 2002

Création d’un catalogue virtuel

La section suivante décrit comment créer un catalogue virtuel.

Pour créer un catalogue virtuel

  1. Dans Catalogues, cliquez sur Éditeur de catalogue.
  2. Dans l’écran Catalogues, cliquez sur Nouveau dans la barre d’outils, puis sélectionnez Nouveau catalogue virtuel dans la liste déroulante.
  3. Dans l’écran Propriétés du catalogue - Nouveau catalogue virtuel, dans la section Propriétés du catalogue, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper un nom pour le nouveau catalogue. Ce nom doit être unique ; il ne peut pas correspondre à un nom de catalogue existant dans la base de données du catalogue Commerce Server.
    Date de début | Taper la date de début pour le catalogue. Cette date n’a aucune incidence sur votre site Web. Cependant, si vous échangez des catalogues avec un partenaire commercial, cette date lui permet de connaître la date de début de validité du catalogue.
    Date de fin | Taper la date de fin pour le catalogue. Cette date permet à vos partenaires commerciaux de connaître la date de fin de validité du catalogue. Par défaut, il s’agit de la date du jour plus trois mois. Par exemple, si vous créez le catalogue en décembre, la date de fin de validité du catalogue sera en mars.
    Devise | Sélectionner dans la liste déroulante la devise pour le catalogue.
    Unité de mesure de poids | Afficher l’unité de mesure de poids pour les produits de ce catalogue. L’administrateur système spécifie cette valeur lors de la configuration de Commerce Server. Contactez votre administrateur système si cette valeur doit être modifiée.
  4. Dans la section Langues du catalogue, cliquez sur Ajouter pour sélectionner les langues que le catalogue prendra en charge.
  5. Dans la zone Langue par défaut, spécifiez la langue par défaut de votre catalogue.

    Si vous ne spécifiez pas de langue par défaut, Commerce Server utilise la même langue que celle utilisée par le système d’exploitation Microsoft Windows sur le serveur Web Business Desk.

  6. Si le catalogue prend en charge plusieurs langues, spécifiez dans la zone Langue de création de rapport la langue à utiliser pour les propriétés qui seront stockées dans le Data Warehouse.

    Il s’agit de la langue qui sera employée dans les rapports et les analyses.

  7. Pour enregistrer le catalogue virtuel et revenir à l’écran Catalogues, cliquez sur Enregistrer et retour dans la barre d’outils.
  8. Pour inclure des catalogues de base dans le catalogue virtuel, consultez Inclusion de catalogues de base dans un catalogue virtuel. Vous devez effectuer cette opération pour pouvoir inclure des produits et des catégories dans le catalogue virtuel.

Voir aussi

Inclusion de catalogues de base dans un catalogue virtuel

Ajout de règles de tarification à un catalogue virtuel

Ajout de catégories à un catalogue virtuel

Tarification des produits dans plusieurs devises


Inclusion de catalogues de base dans un catalogue virtuel

Une fois que vous avez créé un catalogue virtuel, vous devez inclure un ou plusieurs catalogues de base dans celui-ci. Lorsque vous incluez un catalogue de base dans un catalogue virtuel, ce dernier hérite des catégories et produits, comme le spécifient les règles d’inclusion.

Une fois que vous avez spécifié les catégories et produits à inclure dans le catalogue virtuel ou à exclure de celui-ci, vous spécifiez le prix à appliquer aux produits et aux catégories.

Pour plus d’informations sur l’ajout de nouvelles catégories et de nouveaux produits à un catalogue virtuel, consultez Ajout de catégories à un catalogue virtuel.

Remarques

  • Un catalogue virtuel peut comporter du contenu de 80 catalogues de base au maximum, mais il ne peut pas comporter de contenu d’autres catalogues virtuels.
  • Un catalogue virtuel peut répertorier jusqu’à un million de produits.
  • Un catalogue virtuel peut prendre en charge jusqu’à 10 000 règles de tarification.
  • Une catégorie ou un produit ne peuvent avoir qu’une seule règle d’inclusion. Si vous en ajoutez une seconde, elle remplace automatiquement la première.
  • Vous pouvez modifier les propriétés d’un catalogue virtuel pour spécifier la langue de création de rapport et la langue par défaut. Il n’est pas nécessaire de modifier le catalogue de base.
  • Lorsque vous modifiez la valeur d’une catégorie ou d’un produit d’un catalogue de base, elle est automatiquement modifiée dans le catalogue virtuel, si le catalogue de base est inclus.
  • Lorsque vous supprimez un catalogue de base inclus dans un catalogue virtuel, aucun message n’est affiché. Une fois que vous avez supprimé le catalogue de base, dans l’écran Éditeur de catalogue, l’indicateur Nécessite une reconstruction s’affiche en regard du catalogue virtuel.

Pour inclure des catalogues de base dans un catalogue virtuel

  1. Créez les catalogues de base que vous voulez inclure dans le catalogue virtuel. Pour connaître les instructions à suivre, consultez Création d’un catalogue de base.
  2. Dans Catalogues, cliquez sur Éditeur de catalogue.
  3. Dans l’écran Catalogues, sélectionnez le catalogue virtuel que vous voulez utiliser, puis cliquez sur Ouvrir le catalogue dans la barre d’outils.
  4. Dans l’écran Contenu du catalogue - <catalogue virtuel>, dans la section Inclure / exclure, cliquez sur Nouvelle.
  5. Dans la zone Catalogue, cliquez sur le bouton de sélection [...].
  6. Dans la boîte de dialogue Sélecteur de produits, sélectionnez le catalogue de base à inclure dans le catalogue virtuel, puis cliquez sur Sélectionner.
  7. Dans la zone Règle, sélectionnez si vous voulez inclure tous les produits du catalogue de base ou si vous voulez inclure ou exclure des catégories ou produits spécifiques.
  8. Si vous avez choisi d’inclure ou d’exclure un produit ou une catégorie, cliquez sur le bouton de sélection[…] dans la zone Élément. Dans la boîte de dialogue Sélecteur de produits, sélectionnez le produit ou la catégorie à inclure ou à exclure, puis cliquez sur OK.
    Remarque
    • Dans la boîte de dialogue Sélecteur de produits, Commerce Server tronque les noms de produits dépassant 30 caractères. Si vous avez plusieurs produits dont les 30 premiers caractères sont identiques, ils s’afficheront en double.
  9. Pour enregistrer la règle d’inclusion, cliquez sur Terminé.

    Le catalogue de base est à présent inclus dans le catalogue virtuel. Répétez ce processus pour inclure dans le catalogue virtuel autant de catalogues de base que nécessaire.

Pour ajouter une règle de tarification au produit ou à la catégorie du catalogue

  1. Dans l’écran Contenu du catalogue - <catalogue virtuel>, dans la section Règles de tarification, cliquez sur Nouvelle.
  2. Dans la zone Élément, cliquez sur le bouton de sélection [...].
  3. Dans la boîte de dialogue Sélecteur de produits, sélectionnez la catégorie ou le produit pour lequel vous souhaitez définir un prix, puis cliquez sur OK.
  4. Dans la zone Type, sélectionnez l’une des options suivantes :
    Type | Description
    Prix défini | Spécifiez le prix de l’élément.
    Ajouter | Spécifiez le montant à ajouter au prix de base de l’élément.
    Ajouter un pourcentage | Spécifiez le pourcentage à ajouter au prix de base de l’élément.
    Remise | Spécifiez le montant de la remise du prix de base de l’élément.
    Pourcentage de remise | Spécifiez le pourcentage de la remise du prix de base de l’élément.
  5. Dans la zone Montant, spécifiez le montant du prix voulu ou le montant que vous souhaitez pour modifier le prix du catalogue de base.
  6. Pour enregistrer la règle de tarification, cliquez sur Terminé.

La règle de tarification est ajoutée au catalogue virtuel. Répétez ce processus afin de définir le prix du nombre de catégories et de produits requis.

Voir aussi

Création d’un catalogue virtuel

Ajout de catégories à un catalogue virtuel


Reconstruction d'un catalogue virtuel

Envoyer des commentaires sur cette page Commerce Server 2002

Reconstruction d’un catalogue virtuel

Vous devez reconstruire un catalogue virtuel après avoir inclus un catalogue de base, des catégories ou des produits, ainsi qu’après avoir supprimé un catalogue de base inclus dans ce catalogue virtuel. Lorsque vous reconstruisez un catalogue virtuel, les catégories et produits sont mis à disposition dans le catalogue virtuel et vous pouvez définir des règles de tarification.

Une reconstruction du catalogue virtuel est nécessaire chaque fois que vous ajoutez, modifiez ou supprimez des produits et des catégories.

Remarque

  • Ne reconstruisez pas un catalogue virtuel se trouvant sur un serveur de production. Les utilisateurs ne pourront pas accéder au catalogue. Reconstruisez plutôt les catalogues virtuels sur votre serveur de test uniquement. Une fois que les catalogues sont matérialisés, vous pouvez les répliquer sur les serveurs de production sans que les transactions des utilisateurs ne soient affectées.

Pour reconstruire un catalogue virtuel

  1. Dans l’écran Catalogues, sélectionnez le catalogue, puis cliquez sur Reconstruire dans la barre d’outils.

    Le message, « Le processus de reconstruction du ou des catalogue(s) a démarré correctement… » s’affiche.

  2. Cliquez sur OK, puis sur Éditeur de catalogue pour actualiser la liste des catalogues.

    Le catalogue sélectionné s’affiche dans la liste avec la mention Mis à jour de la section État.

    Si Reconstruction s’affiche dans la section État, attendez quelques secondes, puis cliquez de nouveau sur Éditeur de catalogue.

Voir aussi

Méthodes conseillées pour les catalogues


Ajout de règles de tarification à un catalogue virtuel

Une règle de tarification correspond à une augmentation, une remise ou à un prix défini qui remplace le prix de l’article dans le catalogue de base.

Les règles de tarification sont appliquées dans la devise du catalogue virtuel. Par exemple, si vous avez un catalogue de base contenant des produits dont le prix est défini en dollars américains (USD), puis un catalogue virtuel avec des produits tarifés en euros (EUR), lorsque vous appliquez la règle de tarification, elle sera appliquée en euros.

Remarque

  • Une catégorie ou un produit ne peuvent avoir qu’une seule règle de tarification. Si vous en ajoutez une seconde, elle remplace automatiquement la première.

Pour ajouter des règles de tarification à un catalogue virtuel

  1. Incluez un ou plusieurs catalogues de base dans le catalogue virtuel. Pour connaître les instructions à suivre, consultez Inclusion de catalogues de base dans un catalogue virtuel.
  2. Dans Catalogues, cliquez sur Éditeur de catalogue.
  3. Dans l’écran Catalogues, sélectionnez le catalogue virtuel auquel vous souhaitez ajouter des règles de tarification, puis cliquez sur Ouvrir le catalogue dans la barre d’outils.
  4. Dans l’écran Contenu du catalogue - <catalogue virtuel>, dans la section Règles de tarification, cliquez sur Nouvelle.
  5. Dans la zone Élément, cliquez sur le bouton de sélection [...].
  6. Dans la boîte de dialogue Sélecteur de produits, sélectionnez la catégorie ou le produit pour lequel vous souhaitez définir un prix, puis cliquez sur OK.

Remarque

  • Dans la boîte de dialogue Sélecteur de produits, Commerce Server tronque les noms de produits dépassant 30 caractères. Si vous avez plusieurs produits dont les 30 premiers caractères sont identiques, ils s’afficheront en double.
  1. Dans la zone Type, sélectionnez l’une des options suivantes :
    Type | Description
    Prix défini | Spécifiez le prix de l’élément.
    Ajouter | Spécifiez le montant à ajouter au prix de base de l’élément.
    Ajouter un pourcentage | Spécifiez le pourcentage à ajouter au prix de base de l’élément.
    Remise | Spécifiez le montant de la remise du prix de base de l’élément.
    Pourcentage de remise | Spécifiez le pourcentage de la remise du prix de base de l’élément.
  2. Dans la zone Montant, spécifiez le montant du prix voulu ou le montant que vous souhaitez pour modifier le prix du catalogue de base.
  3. Pour enregistrer la règle de tarification, cliquez sur Terminé.

La règle de tarification est ajoutée au catalogue virtuel. Répétez ce processus afin de définir le prix du nombre de catégories et de produits requis.

Voir aussi

Inclusion de catalogues de base dans un catalogue virtuel

Ajout de catégories à un catalogue virtuel


Ajout de catégories à un catalogue virtuel

La procédure permettant d’ajouter des catégories à un catalogue virtuel est identique à celle pour les ajouter à un catalogue de base. Pour connaître les instructions à suivre, consultez Ajout d’une catégorie à un catalogue.

Chaque nom de catégorie d’un catalogue doit être unique. Lorsqu’un catalogue virtuel hérite de catégories issues de plusieurs catalogues de base, il est possible que des noms de catégories soient en double. Pour éviter cette situation, lorsqu’une catégorie est ajoutée à un catalogue virtuel, le nom du catalogue de base dont elle est issue est ajouté au nom de la catégorie.

Par exemple, supposons que les catégories suivantes se trouvent dans un catalogue de base d’un fabricant fictif nommé Vêtements Ace :

Vêtements Ace (nom du catalogue de base)

Maillots
Shorts

Lorsque ces catégories sont ajoutées à un catalogue virtuel, le nom des catégories du catalogue virtuel apparaissent sous la forme suivante :

Vêtements de tous les fabricants (nom du catalogue virtuel)

Maillots (Vêtements Ace)
Shorts (Vêtements Ace)

Voir aussi

Méthodes conseillées pour les catalogues

Ajout d’une catégorie à un catalogue

Ajout d’un produit à un catalogue


Création d'un catalogue multilingue

Envoyer des commentaires sur cette page Commerce Server 2002

Création d’un catalogue multilingue

Vous pouvez créer sur votre site Web un catalogue qui stocke des informations sur le produit dans plusieurs langues. Il se peut par exemple que vous vouliez afficher les informations sur le produit en anglais, en espagnol et en chinois.

Vous trouverez ci-après une vue d’ensemble des étapes que vous devez effectuer pour créer un catalogue multilingue :

  1. Ajouter des définitions de propriétés multilingues pour les éléments à afficher dans plusieurs langues. Par exemple, vous pouvez créer les propriétés multilingues suivantes :
    • Nom du produit – Texte multilingue
    • Description – Texte multilingue
    • Couleur – Choix multiple multilingue

    (Par défaut, le nom complet de catégorie est de type Texte multilingue.)

  2. Ajouter des définitions de produits qui utilisent les propriétés multilingues.

    Attribuez par exemple Nom du produit, Description et Couleur à chaque définition de produit.

  3. Créer le catalogue et spécifier les langues que le catalogue doit prendre en charge, par exemple l’anglais, l’espagnol et le chinois.
  4. Ajouter des produits et ajouter des catégories qui incluent les propriétés multilingues, comme Nom du produit et Description.
  5. Traduire les produits et catégories multilingues dans les langues que le catalogue prend en charge. Vous pouvez traduire le catalogue à l’aide des méthodes suivantes :
    • Si vous devez traduire de nombreux produits, utilisez le module Éditeur de catalogue pour exporter le catalogue au format XML, puis l’envoyer à un traducteur. Une fois le catalogue traduit, vous pouvez l’importer dans la base de données du catalogue utilisée par Commerce Server. Vous pouvez ensuite utiliser Commerce Server Business Desk pour mettre à jour le catalogue et le publier selon les besoins. Pour connaître les instructions à suivre, consultez Traduction d’un catalogue par exportation/importation.
    • Si vous ne devez traduire que quelques produits, utilisez le module Éditeur de catalogue de Business Desk pour ajouter manuellement les données sur les produits dans une langue différente. Pour connaître les instructions à suivre, consultez Traduction d’un catalogue avec Business Desk.


Traduction d'un catalogue avec Business Desk

Envoyer des commentaires sur cette page Commerce Server 2002

Traduction d’un catalogue avec Business Desk

Lorsque vous ne devez traduire que quelques produits, utilisez le module Éditeur de catalogue de Commerce Server Business Desk pour ajouter manuellement les données sur les produits dans une langue différente. La procédure est décrite dans cette rubrique.

Lorsque vous devez traduire de nombreux produits, utilisez le module Éditeur de catalogue pour exporter le catalogue vers un fichier XML, que vous pouvez ensuite traduire en interne ou envoyer à un service de traduction. Pour connaître les instructions à suivre, consultez Traduction d’un catalogue par exportation/importation.

Pour traduire un catalogue à l’aide de Business Desk

  1. Vérifiez que les propriétés de produit et de catégorie que vous souhaitez traduire sont des définitions de propriétés multilingues. Votre développeur de site peut convertir des propriétés en propriétés multilingues par programmation. Pour plus d’informations, consultez Création d’un catalogue multilingue.
  2. Si nécessaire, ajoutez la nouvelle langue à votre catalogue. Pour connaître les instructions à suivre, consultez Ajout d’une langue à un catalogue.
  3. Dans Catalogues, cliquez sur Éditeur de catalogue.
  4. Dans l’écran Catalogues, sélectionnez le catalogue que vous voulez utiliser, puis cliquez sur Ouvrir le catalogue dans la barre d’outils.
  5. Dans l’écran Contenu du catalogue - <catalogue>, dans la section Produits, cliquez sur Rechercher pour afficher tous les produits ou utilisez l’une des méthodes de recherche pour répertorier uniquement les produits que vous voulez traduire.
  6. Sélectionnez le produit que vous voulez à traduire, puis cliquez sur Modifier.
  7. Dans la zone de langue de la barre d’outils, sélectionnez la langue à modifier dans la liste déroulante. Vous ne pouvez sélectionner que les langues prises en charge par le catalogue.
  8. Tapez le texte traduit dans les zones multilingues, avec Multilingue affiché en regard. La valeur que vous tapez s’applique uniquement à la langue actuellement sélectionnée.

    Remarques

    • Si vous changez du texte ou des valeurs dans les zones qui ne sont pas multilingues, le changement s’applique au produit dans toutes les langues.
    • Si votre clavier ne prend pas en charge les caractères de la langue que vous entrez, vous devez utiliser un éditeur de méthode d’entrée (IME) pour taper le texte.
  9. Pour enregistrer le texte traduit et revenir à l’écran Contenu du catalogue, cliquez sur Enregistrer et retour dans la barre d’outils.
  10. Sélectionnez un autre produit à modifier ou cliquez sur Retour dans la barre d’outils.

Voir aussi

Traduction d’un catalogue par exportation/importation

Création d’un catalogue multilingue

Ajout d’une langue à un catalogue

Importation d’un fichier de catalogue XML

Exportation d’un catalogue

Exportation d’un fichier de catalogue CSV vers Excel


Traduction d'un catalogue par exportation/importation

Envoyer des commentaires sur cette page Commerce Server 2002

Traduction d’un catalogue par exportation/importation

Lorsque vous devez traduire de nombreux produits, utilisez le module Éditeur de catalogue pour exporter le catalogue vers un fichier XML, que vous pouvez ensuite traduire en interne ou envoyer à un service de traduction. Une fois que le catalogue est traduit, vous pouvez l’importer dans la base de données du catalogue utilisée par Commerce Server.

Lorsque vous ne devez traduire que quelques produits, utilisez le module Éditeur de catalogue de Business Desk pour ajouter manuellement les données sur les produits dans une langue différente. Pour connaître les instructions à suivre, consultez Traduction d’un catalogue avec Business Desk.

Quatre principales étapes permettent de traduire un catalogue exporté vers un fichier XML :

  1. Préparation du fichier XML à la traduction : une fois que vous avez exporté le catalogue dans la langue par défaut, ajoutez le code de langue de la langue cible. Contactez votre administrateur système pour avoir une liste des codes de langue. Les codes sont stockés dans le fichier languages.xml situé dans le dossier config de Business Desk.
  2. Traduction de la définition de catalogue (également appelée schéma du catalogue dans le fichier XML) : effectuez les étapes indiquées ci-dessous s’il s’agit de la première traduction du catalogue dans une langue donnée ou si la définition de catalogue a été modifiée depuis la dernière traduction.
    1. Pour chaque catalogue de la définition, ajoutez des attributs de nom complet de catalogue pour la nouvelle langue.
    2. Pour chaque catégorie de la définition, ajoutez des attributs de nom complet de catégorie pour la nouvelle langue.
    3. Pour chaque propriété de la définition, ajoutez des attributs de nom complet de propriété pour la nouvelle langue.
  3. Traduction du contenu du catalogue : à cette étape, à l’endroit où Language=<cible>, les traducteurs doivent traduire pour chaque balise Property l'attribut Value du DisplayName correspondant. Notez que les valeurs à choix multiple du contenu du catalogue doivent être traduites exactement de la même manière que dans la définition de catalogue.
  4. Importation d’un catalogue : lorsque vous importez le catalogue traduit, dans la boîte de dialogue Importer le catalogue XML, sélectionnez en premier lieu l’option Valider le fichier XML (ne pas importer) afin de valider le contenu. Une fois que vous avez validé le fichier et qu’aucune erreur n’est signalée, vous pouvez l’importer.

    Ne sélectionnez pas Supprimer les données existantes de ce catalogue dans la boîte de dialogue Importer le catalogue XML. Si vous sélectionnez cette option, seule la langue cible sera stockée dans la base de données du catalogue.

Voir aussi

Traduction d’un catalogue avec Business Desk

Exportation d’un fichier de catalogue CSV vers Excel


Traduction de la définition de catalogue

Vous traduisez la définition de catalogue la première fois que le catalogue est traduit dans une langue donnée ou lorsque la définition de catalogue a été modifiée.

Si la définition de catalogue a déjà été traduite dans plusieurs langues et que vous ajoutez à présent une autre langue, la sortie contient toutes les langues et pas seulement la langue de base lorsque vous exportez le catalogue vers un fichier XML.

Sérialisation de la traduction de la définition de catalogue dans plusieurs langues

Pour traduire la définition de catalogue

Sérialisation de la traduction de la définition de catalogue dans plusieurs langues

Lorsque vous traduisez la définition de catalogue dans plusieurs langues, vous devez la traduire dans une langue à la fois, puis importer le fichier de catalogue et ensuite l’exporter de nouveau pour la traduire dans une autre langue.

Par exemple, si vous exportez un fichier de catalogue en anglais, que vous le traduisez en français, puis que vous l’importez, vous avez à présent deux langues. Lorsque vous exportez de nouveau le fichier de catalogue, le français et l’anglais sont affichés. Traduisez uniquement l’anglais dans une troisième langue, le japonais par exemple, puis effectuez une importation. Lorsque vous procédez à une nouvelle exportation, vous obtenez trois langues.

La figure suivante présente le processus de traduction de la définition de catalogue dans plusieurs langues.

Figure présentant un processus de traduction sérialisé.

Pour traduire la définition de catalogue

  1. Vérifiez que les propriétés de produit et de catégorie que vous souhaitez traduire sont des définitions de propriétés multilingues. Votre développeur de site peut convertir des propriétés en propriétés multilingues par programmation.

    Pour plus d’informations sur la création de propriétés multilingues, consultez Création d’un catalogue multilingue.

  2. Exportez le fichier de catalogue XML dans la langue à partir de laquelle vous voulez effectuer la traduction.
  3. Dans la section <CatalogSchema> du fichier de sortie XML, ajoutez les balises de langue pour le nom complet du catalogue, ainsi que pour chacune des balises DisplayName des balises Property. Les traducteurs traduiront les informations « dupliquées ».

    Par exemple, la balise <DisplayName> suivante spécifie le nom complet en anglais (États-Unis) (en-US) pour la définition de propriété ProductColor :

    <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" />

    Pour préparer le fichier à une traduction en français, vous ajoutez une balise de langue (Language) fr-FR afin de spécifier un nom complet en français pour cette propriété, comme le montre l’exemple suivant :

    <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="fr-FR" />

  4. Une fois que vous avez ajouté les balises de langue nécessaires, envoyez le fichier de catalogue XML au traducteur.
  5. Dans la section <CatalogSchema> du fichier de sortie XML, à l’endroit où Language=<cible>, les traducteurs doivent traduire dans les balises Property les valeurs Value de chacune des balises DisplayName correspondantes.

    Voici un exemple de la définition de propriété ProductColor après qu’elle a été traduite en français :

    <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="Couleur" Language="fr-FR" />

  6. Validez le contenu du fichier de catalogue XML avant d’importer ce dernier. Dans la boîte de dialogue Importer le catalogue XML, sélectionnez Valider le fichier XML (ne pas importer).
  7. Une fois que le fichier de catalogue XML a été validé sans erreur, importez le fichier pour ajouter la définition de catalogue traduite dans la base de données du catalogue.

    Dans la boîte de dialogue Importer le catalogue XML, ne sélectionnez pas Supprimer les données existantes de ce catalogue. Si vous sélectionnez cette option, les données de catalogue existantes figurant dans la base de données du catalogue seront supprimées et seules les données de la langue cible seront stockées.

Une fois que vous avez effectué ces étapes, un traducteur peut traduire le contenu du catalogue. Pour plus d’informations, consultez Traduction du contenu du catalogue.

Voir aussi

Traduction d’un catalogue avec Business Desk

Création d’un catalogue multilingue

Ajout d’une langue à un catalogue

Importation d’un fichier de catalogue XML

Exportation d’un catalogue

Exportation d’un fichier de catalogue CSV vers Excel


Traduction du contenu du catalogue

Pour traduire le contenu du catalogue, à l’endroit où Language=<cible>, les traducteurs doivent traduire dans les balises Property les valeurs Value de chacune des balises DisplayName correspondantes. Notez que les valeurs à choix multiple du contenu du catalogue doivent être traduites exactement de la même manière que dans la définition de catalogue.

Pour traduire le contenu du catalogue

  1. Vérifiez que les propriétés de produit et de catégorie que vous souhaitez traduire sont des définitions de propriétés multilingues. Votre développeur de site peut convertir des propriétés en propriétés multilingues par programmation.

    Pour plus d’informations, consultez Création d’un catalogue multilingue.

  2. Exportez le fichier de catalogue XML dans la langue à partir de laquelle vous voulez effectuer la traduction.
  3. Modifiez le fichier de sortie XML pour changer l’attribut de langue (languages) de la balise <Catalog name> de manière à inclure la langue cible.

    Par exemple, la balise <Catalog name> suivante affiche en-US comme langue pour le catalogue :

    <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">

    Pour préparer le fichier à une traduction en français, vous ajoutez fr-FR à l’attribut de langue (languages), comme le montre l’exemple suivant :

    <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,fr-FR">

  4. Pour que les traducteurs puissent identifier le texte à traduire dans les autres sections de données du catalogue, remplacez Language="<base>" par Language="<cible>". Vous ne devez effectuer cette opération que pour le contenu qui apparaît après la première balise <Catalog name>.

    Si, par exemple, vous traduisez du contenu anglais en français, vous changez Language="en-US" en Language="fr-FR", comme le montre l’exemple suivant :

    Avant modification, l’attribut language ressemble à ce qui suit :

    <DisplayName Value="Adventure Works Catalog" Language="en-US" />
    <Description Value="Catalog Section for Sleeping Bags" Language="en-US" />

    Après modification, l’attribut language ressemble à ce qui suit :

    <DisplayName Value="Adventure Works Catalog" Language="fr-FR" />
    <Description Value="Catalog Section for Sleeping Bags" Language="fr-FR" />

  5. Envoyez le fichier de catalogue XML au traducteur.
  6. Dans le fichier de catalogue XML, à l’endroit où Language=<cible>, les traducteurs doivent traduire l’attribut Value correspondant.

    Vous trouverez ci-dessous un exemple de la catégorie Bottes du fichier AdvWorksCatalog.xml telle qu’elle apparaît en anglais :

    <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>

    Après sa traduction en français, cette section ressemble à ce qui suit :

    <Category name="Boots" isSearchable="1" Definition="AdvWorkCatDef"
    Image_height="120" Image_width="120"
    Image_filename="./images/boots.gif"
    id="Item110">
    <Description Value="Section Chaussures de randonnée du catalogue"
    Language="fr-FR" />
    <DisplayName Value="Chaussures de randonnée" Language="fr-FR" />
    </Category>

  7. Lorsque les traducteurs vous envoient le catalogue traduit, vérifiez que le nom du catalogue (par opposition au nom complet) n’a pas été traduit et que le contenu autre a été traduit. Lorsque vous importez le catalogue traduit, le nom du catalogue doit correspondre à ce qui figure déjà dans votre base de données du catalogue.
  8. Validez le contenu du fichier de catalogue XML avant d’importer ce dernier. Dans la boîte de dialogue Importer le catalogue XML, sélectionnez Valider le fichier XML (ne pas importer).
  9. Une fois que le fichier de catalogue XML a été validé sans erreur, importez le fichier pour ajouter le nouveau contenu de langue au catalogue existant dans la base de données.

    Dans la boîte de dialogue Importer le catalogue XML, ne sélectionnez pas Supprimer les données existantes de ce catalogue. Si vous sélectionnez cette option, les données de catalogue existantes figurant dans la base de données du catalogue seront supprimées et seules les données de la langue cible seront stockées.

Voir aussi

Traduction de la définition de catalogue

Traduction d’un catalogue avec Business Desk

Création d’un catalogue multilingue

Ajout d’une langue à un catalogue

Importation d’un fichier de catalogue XML

Exportation d’un catalogue

Exportation d’un fichier de catalogue CSV vers Excel


Création d'un groupe de catalogues

Envoyer des commentaires sur cette page Commerce Server 2002

Création d’un groupe de catalogues

Vous utilisez des groupes de catalogues pour créer un ensemble de catalogues spécifiques, puis attribuez à l’ensemble un nom unique. Par exemple, si vous disposez d’un programme destiné aux clients fidèles et que vous proposez aux membres de ce programme des remises ou des promotions que vous n’offrez pas au public, vous pouvez créer un groupe de catalogues contenant des catalogues spécifiques, auxquels seuls les membres du programme peuvent accéder.

Si vous souhaitez proposer à un nombre restreint d’utilisateurs des produits se trouvant dans différents catalogues, vous pouvez intégrer ces catalogues à un groupe de catalogues spécial auquel seuls ces utilisateurs auront accès.

Si vous créez un groupe de catalogues, les catalogues faisant partie de ce groupe ne sont pas modifiés.

Remarque

  • Après que vous avez créé un groupe de catalogues, vous devez spécifier les utilisateurs qui y auront accès. Pour plus d’informations sur l’ajout d’utilisateurs et la spécification des catalogues auxquels ils peuvent accéder, consultez Ajout d’un profil utilisateur.

Pour créer un groupe de catalogues

  1. Dans Catalogues, cliquez sur Groupes de catalogues, puis sur Nouveau dans la barre d’outils.
  2. Dans l’écran Nouveau groupe de catalogues, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper un nom pour le groupe de catalogues.
    Description | Taper une description pour le groupe de catalogues.
    Ajouter tous les catalogues | Faire en sorte que ce groupe de catalogues représente tous les catalogues, même lorsque de nouveaux catalogues sont ajoutés, en activant cette case à cocher. N’activez pas cette case à cocher si vous souhaitez spécifier les catalogues individuels à ajouter à ce groupe de catalogues.
    Catalogues disponibles Sélectionner les catalogues individuels à ajouter au groupe de catalogues, puis cliquer sur Ajouter.

    Les catalogues que vous avez sélectionnés passent de la zone Catalogues disponibles à la zone Catalogues attribués.
    Catalogues attribués | Afficher les catalogues ajoutés à ce groupe de catalogues. Si vous retirez un catalogue de la zone Catalogues attribués, il passe automatiquement dans la zone Catalogues disponibles.
  3. Pour enregistrer le groupe de catalogues et revenir à l’écran Groupes de catalogues, cliquez sur Enregistrer et retour dans la barre d’outils.
  4. Pour publier le nouveau groupe de catalogues, dans le module Éditeur de catalogue, cliquez sur Publier un catalogue dans la barre d’outils.

    Le groupe de catalogues est publié sur votre site Web.

  5. Spécifiez les utilisateurs qui auront accès au groupe de catalogues. Pour plus d’informations sur l’ajout d’utilisateurs et la spécification des catalogues auxquels ils peuvent accéder, consultez Ajout d’un profil utilisateur.

Voir aussi

À propos des catalogues

Modification d’un groupe de catalogues

Suppression d’un groupe de catalogues


Tarification d'un produit dans un catalogue de base

Envoyer des commentaires sur cette page Commerce Server 2002

Tarification d’un produit dans un catalogue de base

Vous définissez les prix des produits au moment de la création des propriétés des produits. Vous pouvez toutefois aussi modifier les prix de vos produits lorsque que vous recevez une notification de changement de prix. Par exemple, si le prix d’une veste en cuir noir augmente et passe de 447,86 EUR à 481,53 EUR, vous pouvez apporter cette modification dans les propriétés du produit.

Les procédures permettant de définir les prix des produits dans des catalogues virtuels sont sensiblement différentes de celles pour définir les prix des produits dans des catalogues de base. Pour connaître les instructions à suivre, consultez Tarification d’un produit dans un catalogue virtuel.

Remarque

  • Vous pouvez créer une campagne de remise pour changer temporairement le prix d’un produit pendant une période spécifique ou pour une groupe spécifique d’utilisateurs. Pour plus d’informations, consultez Création d’une remise.

Pour tarifer un produit dans un catalogue de base

  1. Dans Catalogues, cliquez sur Éditeur de catalogue.
  2. Dans l’écran Catalogues, sélectionnez le catalogue contenant le produit que vous souhaitez tarifer, puis cliquez sur Ouvrir le catalogue dans la barre d’outils.
  3. Dans l’écran Contenu du catalogue - <Nom du catalogue>, dans la section Produits, recherchez le produit dont vous voulez définir le prix. Pour répertorier l’ensemble des produits, cliquez sur Rechercher tout.
  4. Dans la liste Produits, sélectionnez le produit que vous souhaitez tarifer, puis cliquez sur Modifier.
  5. Dans l’écran Éditeur de catalogue - <Nom du catalogue> - <Nom du produit>, tapez le prix du produit dans la zone Prix par défaut.
  6. Pour revenir à l’écran Contenu du catalogue - <Nom du catalogue> (produit), cliquez sur Enregistrer et retour dans la barre d’outils.
  7. Pour revenir à l’écran Catalogues, cliquez sur Enregistrer et retour dans la barre d’outils.
  8. Pour appliquer la tarification mise à jour sur votre site Web, cliquez sur Publier un catalogue dans la barre d’outils.

Le catalogue mis à jour est publié sur votre site Web.


Tarification d'un produit dans un catalogue virtuel

Envoyer des commentaires sur cette page Commerce Server 2002

Tarification d’un produit dans un catalogue virtuel

Une fois que vous avez inclus des produits et des catégories à partir d’un catalogue de base et que vous avez reconstruit le catalogue virtuel, vous pouvez tarifer les produits du catalogue virtuel. Pour tarifer un produit dans un catalogue virtuel, vous appliquez une règle de tarification.

Remarques

  • La reconstruction du catalogue virtuel permet de mettre à disposition les catégories et les produits des catalogues de base associés, de manière à pouvoir appliquer des règles de tarification. Une fois que vous avez complété la section Inclure / exclure, cliquez sur Enregistrer et retour puis, dans l’écran Catalogues, cliquez sur Reconstruire dans la barre d’outils.
  • Un catalogue virtuel peut prendre en charge jusqu’à 10 000 règles de tarification.

Pour tarifer un produit dans un catalogue virtuel

  1. Dans Catalogues, cliquez sur Éditeur de catalogue.
  2. Dans l’écran Catalogues, sélectionnez le catalogue virtuel contenant le produit que vous souhaitez tarifer, puis cliquez sur Ouvrir le catalogue dans la barre d’outils.
  3. Dans l’écran Contenu du catalogue - <Nom du catalogue> (produit), dans la section Règles de tarification, cliquez sur Nouvelle, puis effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Article | Afficher la boîte de dialogue Sélecteur de produits en cliquant sur le bouton de sélection […]. Sélectionnez les catégories ou les produits auxquels vous voulez appliquer la règle de tarification, puis cliquez sur OK.
    Type Sélectionner l’une des options suivantes dans la liste déroulante :
    • Prix défini pour spécifier le prix de l’article.
    • Ajouter pour spécifier le montant à ajouter au prix de base de l’article.
    • Ajouter un pourcentage pour spécifier le pourcentage à ajouter au prix de base de l’article.
    • Remise pour spécifier le montant de la remise du prix de base de l’article.
    • Pourcentage de remise pour spécifier le pourcentage de la remise du prix de base de l’article.
    Montant | Spécifier le montant du prix voulu ou le montant que vous souhaitez pour modifier le prix du catalogue de base.
  4. Pour revenir à l’écran Catalogues, cliquez sur Enregistrer et retour dans la barre d’outils.
  5. Pour appliquer la tarification mise à jour sur votre site Web, cliquez sur Publier un catalogue dans la barre d’outils.

Le catalogue mis à jour est publié sur votre site Web.

Voir aussi

Tarification au niveau du composant produit

Tarification des produits d’une catégorie

Tarification des produits dans plusieurs devises

Remise sur les prix d’un produit dans un catalogue virtuel

Création d’une remise


Tarification au niveau du composant produit

Vous pouvez définir différents prix pour chaque composant produit d’une famille de produits. De même, vous pouvez modifier le prix des composants de manière à refléter la tendance du marché.

Supposons par exemple qu’une famille de produits Vestes contienne des composants produit pour les vestes noires et les vestes marron. Vous exécutez un rapport d’analyse des ventes et déterminez que les vestes noires se vendent mieux que les marron. Vous pouvez utiliser ces informations pour baisser le prix des vestes marron au niveau du composant de manière à augmenter leurs ventes, tout en conservant le prix actuel des vestes noires.

Pour attribuer une tarification de niveau composant

  1. Dans Catalogues, cliquez sur Éditeur de catalogue.
  2. Dans l’écran Catalogues, sélectionnez le catalogue contenant le composant produit que vous souhaitez tarifer, puis cliquez sur Ouvrir le catalogue dans la barre d’outils.
  3. Dans l’écran Contenu du catalogue - <Nom du catalogue>, dans la section Produits, recherchez la famille de produits. Pour répertorier l’ensemble des produits, cliquez sur Rechercher tout.
  4. Dans la liste Produits, sélectionnez la famille de produits que vous souhaitez tarifer, puis cliquez sur Modifier.
  5. Dans la section Composant produit, sélectionnez le composant produit que vous voulez tarifer.
  6. Dans la zone Prix du composant, tapez le prix, puis cliquez sur Terminé.
  7. Pour revenir à l’écran Catalogues, cliquez sur Enregistrer et retour dans la barre d’outils.
  8. Pour enregistrer vos modifications et revenir à l’écran Éditeur de catalogue, cliquez sur Enregistrer et retour dans la barre d’outils.
  9. Pour appliquer la tarification mise à jour sur votre site Web, cliquez sur Publier un catalogue dans la barre d’outils.

Le catalogue mis à jour est publié sur votre site Web.

Voir aussi

Tarification d’un produit dans un catalogue de base

Tarification des produits d’une catégorie

Tarification des produits dans plusieurs devises

Remise sur les prix d’un produit dans un catalogue virtuel

Création d’une remise


Tarification des produits d'une catégorie

Envoyer des commentaires sur cette page Commerce Server 2002

Tarification des produits d’une catégorie

Vous pouvez définir un seul prix pour tous les produits appartenant à la même catégorie. Ceci est utile lorsqu’une gamme de produits utilise la même gamme de prix par exemple. Vous pouvez utiliser cette tarification pour modifier le prix de tout le groupe de produits plutôt que de changer individuellement le prix de chaque produit.

Chaque catégorie et chaque produit peut avoir une seule catégorie parent primaire. La catégorie parent primaire fournit un chemin d’accès canonique à une catégorie ou un produit enfant. Par ailleurs, si un produit figure dans plusieurs catégories et que la tarification est définie au niveau de la catégorie, le prix de la catégorie parent primaire remplace le prix de toutes les autres catégories.

Remarque

  • Un prix attribué au niveau de la catégorie remplace le prix de tous les produits et composants produit de cette catégorie.

Pour attribuer un seul prix à un groupe de produits

  1. Dans Catalogues, cliquez sur Éditeur de catalogue.
  2. Dans l’écran Catalogues, sélectionnez le catalogue contenant le produit que vous souhaitez tarifer, puis cliquez sur Ouvrir le catalogue dans la barre d’outils.
  3. Dans l’écran Contenu du catalogue - <Nom du catalogue>, dans la section Catégories, sélectionnez la catégorie que vous souhaitez tarifer, puis cliquez sur Modifier.
  4. Dans l’écran Éditeur de catalogue - <Nom du catalogue> - <Nom de catégorie>, dans la section Propriétés de catégorie, tapez le prix du groupe de produits dans la zone Prix.
  5. Cliquez sur Enregistrer et retour pour enregistrer la modification apportée à la catégorie et revenir à l’écran Contenu du catalogue - <Nom du catalogue>.
  6. Pour revenir à l’écran Catalogues, cliquez sur Retour dans la barre d’outils.
  7. Pour afficher le nouveau prix sur votre site Web, cliquez sur Publier un catalogue dans la barre d’outils.

Le catalogue mis à jour est publié sur votre site Web.

Voir aussi

Tarification d’un produit dans un catalogue de base

Tarification des produits dans plusieurs devises

Remise sur les prix d’un produit dans un catalogue virtuel

Création d’une remise


Tarification des produits dans plusieurs devises

Vous pouvez stocker les prix des produits dans plusieurs devises et afficher plusieurs devises sur votre site Web. Vous pouvez par exemple afficher les prix des produits à la fois en euros et en dollars américains.

Vous trouverez ci-après une vue d’ensemble des étapes que vous devez effectuer pour tarifer les produits dans plusieurs devises :

  1. Créez un catalogue de base dans lequel les produits sont tarifés dans la devise de base.
  2. Créez un catalogue virtuel pour chaque devise supplémentaire que vous voulez afficher sur votre site.
  3. Spécifiez une règle de tarification pour chaque produit, catégorie ou catalogue que vous ajoutez au catalogue virtuel.

Les règles de tarification permettent de définir le taux de conversion (pourcentage) ou la différence entre le prix de l’article dans le catalogue de base (et la devise de base) et le prix de l’article dans la devise secondaire.

Lorsque vous spécifiez des règles de tarification, Commerce Server stocke les prix des produits dans une devise, puis recalcule de manière dynamique les prix dans d’autres devises, selon les besoins. La règle de tarification ajuste le prix du catalogue de base en fonction du taux de change. Le prix est calculé lorsque le catalogue virtuel est publié.

Remarque

  • Les règles de tarification au niveau du composant sont prises en charge dans les catalogues virtuels.

Pour tarifer des produits dans plusieurs devises

  1. Créez un catalogue de base dans lequel les produits sont tarifés dans la devise de base. Pour connaître les instructions à suivre, consultez Création d’un catalogue de base.
  2. Incluez un ou plusieurs catalogues de base dans le catalogue virtuel. Pour connaître les instructions à suivre, consultez Inclusion de catalogues de base dans un catalogue virtuel.
  3. Dans Catalogues, cliquez sur Éditeur de catalogue.
  4. Dans l’écran Catalogues, sélectionnez le catalogue virtuel que vous voulez utiliser, puis cliquez sur Ouvrir le catalogue dans la barre d’outils.
  5. Dans l’écran Contenu du catalogue - <catalogue virtuel>, dans la section Règles de tarification, cliquez sur Nouvelle.
  6. Dans la zone Élément, cliquez sur le bouton de sélection [...].
  7. Dans la boîte de dialogue Sélecteur de produits, sélectionnez la catégorie ou le produit pour lequel vous souhaitez définir un prix, puis cliquez sur OK.

    Remarque

    • Dans la boîte de dialogue Sélecteur de produits, Commerce Server tronque les noms de produits dépassant 30 caractères. Si vous avez plusieurs produits dont les 30 premiers caractères sont identiques, ils s’afficheront en double.
  8. Dans la zone Type, sélectionnez l’une des options suivantes :
    Type | Description
    Prix défini | Spécifiez le prix de l’élément.
    Ajouter | Spécifiez le montant à ajouter au prix de base de l’élément.
    Ajouter un pourcentage | Spécifiez le pourcentage à ajouter au prix de base de l’élément.
    Remise | Spécifiez le montant de la remise du prix de base de l’élément.
    Pourcentage de remise | Spécifiez le pourcentage de la remise du prix de base de l’élément.
  9. Dans la zone Montant, spécifiez le montant du prix voulu ou le montant que vous souhaitez pour modifier le prix du catalogue de base.
  10. Pour enregistrer la règle de tarification, cliquez sur Terminé.
  11. Répétez ce processus afin de définir le prix du nombre de catégories et de produits requis.

Voir aussi

Inclusion de catalogues de base dans un catalogue virtuel

Ajout de catégories à un catalogue virtuel

Tarification au niveau du composant produit

Tarification d’un produit dans un catalogue de base

Tarification des produits d’une catégorie

Remise sur les prix d’un produit dans un catalogue virtuel

Création d’une remise


Remise sur les prix d'un produit dans un catalogue virtuel

Envoyer des commentaires sur cette page Commerce Server 2002

Remise sur les prix d’un produit dans un catalogue virtuel

Il existe deux manières d’appliquer une remise sur les prix des produits :

  • Créez une campagne de remise. Vous pouvez par exemple créer des campagnes de remise pour appliquer des remises dans les situations suivantes :
    • Le prix du produit est supérieur à 22,45 €. Il s’agit d’une expression de condition de remise. Les expressions de condition de remise se basent sur une propriété de produit.
    • L’utilisateur achète 2 articles. Il s’agit d’une condition de remise obligatoire.
    • L’utilisateur clique sur une publicité de remise dans la page des sports. Il s’agit de la partie de la remise sur clic.

    Pour plus d’informations sur la création d’une campagne de remise, consultez Création d’une remise.

  • Créez un catalogue virtuel, puis appliquez une règle de tarification. Cette méthode est expliquée dans cette rubrique.

Lorsque vous créez un catalogue virtuel, vous pouvez appliquer des remises à des produits individuels, à tous les produits d’une catégorie, ou vous pouvez créer une expression pour appliquer une remise aux produits répondant à des critères spécifiques.

Remarque

  • Les règles de tarification au niveau du composant sont prises en charge dans les catalogues virtuels.

Pour créer un catalogue virtuel et appliquer une règle de tarification de remise

  1. Créez un catalogue virtuel. Pour connaître les instructions à suivre, consultez Création d’un catalogue virtuel.
  2. Incluez un ou plusieurs catalogues de base dans le catalogue virtuel. Pour connaître les instructions à suivre, consultez Inclusion de catalogues de base dans un catalogue virtuel.
  3. Dans Catalogues, cliquez sur Éditeur de catalogue.
  4. Dans l’écran Catalogues, sélectionnez le catalogue virtuel que vous voulez utiliser, puis cliquez sur Ouvrir le catalogue dans la barre d’outils.
  5. Dans l’écran Contenu du catalogue - <catalogue virtuel>, dans la section Règles de tarification, cliquez sur Nouvelle.
  6. Dans la zone Élément, cliquez sur le bouton de sélection [...].
  7. Dans la boîte de dialogue Sélecteur de produits, sélectionnez la catégorie ou le produit pour lequel vous souhaitez définir un prix, puis cliquez sur OK.

Remarque

  • Dans la boîte de dialogue Sélecteur de produits, Commerce Server tronque les noms de produits dépassant 30 caractères. Si vous avez plusieurs produits dont les 30 premiers caractères sont identiques, ils s’afficheront en double.
  1. Dans la zone Type, sélectionnez Remise ou Pourcentage de remise.
  2. Dans la zone Montant, spécifiez le montant de la remise du prix de base de l’article.
  3. Pour enregistrer la règle de tarification, cliquez sur Terminé.
  4. Répétez ce processus afin de définir la remise du nombre de catégories et de produits requis.

Voir aussi

Création d’une remise

Inclusion de catalogues de base dans un catalogue virtuel

Ajout de catégories à un catalogue virtuel

Tarification au niveau du composant produit

Tarification d’un produit dans un catalogue de base

Tarification des produits d’une catégorie

Concepts des remises


Création de hiérarchies pour les catégories

Vous utilisez le module Éditeur de catalogue pour créer des hiérarchies de catégories. La création de hiérarchies pour les catégories vous permet d’organiser les produits dans vos catalogues et facilite la navigation des utilisateurs sur votre site Web.

Vous pouvez créer une catégorie disposant de catégories parents et/ou de catégories enfants.

Par exemple, la catégorie CD peut contenir les catégories enfants Rock, Blues et Classique. Les catégories enfants peuvent elles-mêmes contenir des catégories enfants. Par exemple, la catégorie Rock peut contenir les catégories enfants Pop et Alternatif.

Chaque catégorie et chaque produit peut avoir une seule catégorie parent primaire. La catégorie parent primaire fournit un chemin d’accès canonique à une catégorie ou un produit enfant. Par ailleurs, si un produit figure dans plusieurs catégories et que la tarification est définie au niveau de la catégorie, le prix de la catégorie parent primaire remplace le prix de toutes les autres catégories utilisant la tarification de niveau catégorie.

Remarque

  • Les catégories peuvent être imbriquées jusqu’à cinq niveaux.

Pour attribuer des catégories parents et enfants

  1. Dans Catalogues, cliquez sur Éditeur de catalogue.
  2. Dans l’écran Catalogues, sélectionnez le catalogue contenant les catégories auxquelles vous souhaitez attribuer des catégories parents ou enfants, puis cliquez sur Ouvrir le catalogue dans la barre d’outils.
  3. Dans l’écran Contenu du catalogue - <Nom du catalogue>, dans la section Catégories, sélectionnez la catégorie à laquelle vous souhaitez attribuer des catégories parents ou enfants, puis cliquez sur Modifier.
  4. Dans la section Catégories attribuées, sélectionnez la catégorie que vous souhaitez attribuer en tant que catégorie parent primaire, puis cliquez sur Définir.
  5. Dans la zone Catégories enfants disponibles, sélectionnez la catégorie que vous voulez ajouter au parent, puis cliquez sur Ajouter.

    Cette catégorie passe de la liste Catégories enfants disponibles à la liste Catégories enfants attribuées.

  6. Pour enregistrer les attributions parents et enfants et revenir à l’écran Catalogues, cliquez sur Enregistrer et retour dans la barre d’outils.
  7. Pour publier le catalogue mis à jour, cliquez sur Publier un catalogue dans la barre d’outils.

Le catalogue mis à jour est publié sur votre site Web.

Voir aussi

À propos des catalogues

Création de relations de catégorie et de produit


Création de relations de catégorie et de produit

Vous pouvez créer des relations de type produit à catégorie et des relations de type catégorie à produit. Ces relations peuvent être établies entre des produits et des catégories du même catalogue ou de différents catalogues. Par exemple, dans une relation entre produits, si un utilisateur achète un film, vous souhaiterez peut-être lui proposer la bande originale de ce film. Il s’agit d’une relation explicite.

Dans une relation entre catégories, vous pouvez avoir une relation entre des catégories. Par exemple, vous pouvez avoir des catégories pour les CD et les Biographies. Si vous avez des CD de compositeurs classiques, vous avez peut-être également des biographies de compositeurs classiques.

Les étapes permettant de créer une relation de famille de produits sont identiques à celles permettant de créer une relation de produit. Toutefois, une relation de famille de produits est créée pour des produits disposant de composants.

Remarque

  • Les sites solutions Commerce Server n’affichent pas les relations. Si votre développeur de site a utilisé un site solution pour créer votre site, vous ne pourrez sans doute pas créer des relations de catégorie et de produit. Pour plus d’informations sur l’affichage des relations sur votre site Web, contactez votre développeur de site.

Pour créer une relation de catégorie

Pour créer une relation de produit

Pour créer une relation de catégorie

  1. Dans Catalogues, cliquez sur Éditeur de catalogue.
  2. Dans l’écran Catalogues, sélectionnez le catalogue dans lequel vous souhaitez créer une relation, puis cliquez sur Ouvrir le catalogue dans la barre d’outils.
  3. Dans l’écran Contenu du catalogue - <Nom du catalogue>, dans la section Catégories, sélectionnez la catégorie à laquelle vous souhaitez ajouter une relation, puis cliquez sur Modifier.
  4. Dans l’écran Éditeur de catalogue - <Nom du catalogue> (catégorie), dans la section Relations de la catégorie, cliquez sur Nouvelle puis effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Relation | Taper le nom de la relation.
    Article | Cliquer sur le bouton de sélection […] pour ouvrir la boîte de dialogue Sélecteur de produits.
  5. Dans la boîte de dialogue Sélecteur de produits, sélectionnez le catalogue qui contient la catégorie que vous voulez utiliser.
  6. Sélectionnez la catégorie avec laquelle vous souhaitez créer une relation dans la liste Catégories, puis cliquez sur OK.

    La catégorie choisie s’affiche dans la zone Élément de la section Relations de la catégorie.

  7. Cliquez sur Accepter pour enregistrer la relation de catégorie.
  8. Pour enregistrer les modifications et revenir à l’écran Catalogues, cliquez sur Enregistrer et retour dans la barre d’outils.

Pour créer une relation de produit

  1. Dans Catalogues, cliquez sur Éditeur de catalogue.
  2. Dans l’écran Catalogues, sélectionnez le catalogue contenant le produit pour lequel vous souhaitez créer une relation, puis cliquez sur Ouvrir le catalogue dans la barre d’outils.
  3. Dans l’écran Contenu du catalogue - <Nom du catalogue>, dans la section Produits, sélectionnez le produit auquel vous souhaitez ajouter une relation, puis cliquez sur Modifier.
  4. Dans l’écran Éditeur de catalogue - <Nom du catalogue> (produit), dans la section Relations du produit, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Relation | Taper le nom de la relation.
    Article | Cliquer sur le bouton de sélection […] pour ouvrir la boîte de dialogue Sélecteur de produits.
  5. Dans la boîte de dialogue Sélecteur de produits, sélectionnez le catalogue qui contient le produit que vous voulez utiliser.
  6. Sélectionnez une catégorie dans la liste Catégories, sélectionnez un produit dans la liste Produits dans la catégorie, puis cliquez sur OK.

    La catégorie choisie s’affiche dans la zone Élément de la section Relations du produit. Produit apparaît dans la zone Type d’élément pour indiquer qu’il s’agit d’une relation de produit.

  7. Cliquez sur Accepter pour enregistrer la relation de produit.
  8. Pour enregistrer les modifications et revenir à l’écran Éditeur de catalogue - <Nom du catalogue>, cliquez sur Enregistrer et retour dans la barre d’outils.


Actualisation et publication d'un catalogue

Envoyer des commentaires sur cette page Commerce Server 2002

Actualisation et publication d’un catalogue

Vous utilisez le module Éditeur de catalogue pour mettre votre site à jour avec de nouvelles informations. Dans la plupart des activités d’e-commerce, ces modifications sont tout d’abord apportées à un site de test, puis publiées sur un site de production à un moment bien précis. Contactez votre administrateur système pour savoir quand et comment des modifications sont apportées à votre site de production.

Lorsque vous actualisez et publiez un catalogue, vous mettez aussi automatiquement à jour l’index de texte intégral. L’index de texte intégral représente la partie d’un catalogue qui stocke l’ensemble des mots de texte intégral et leur emplacement pour une table donnée. Lorsque vous modifiez un catalogue (par exemple en ajoutant ou en supprimant des produits ou en modifiant les valeurs des champs avec possibilité de recherche en texte libre), vous devez mettre à jour l’index de texte intégral afin de refléter les modifications apportées et permettre ainsi aux fonctionnalités de recherche de fonctionner correctement.

Pour actualiser et publier vos catalogues

  1. Dans Catalogues, cliquez sur Éditeur de catalogue.
  2. Dans l’écran Catalogues, cliquez sur Publier un catalogue dans la barre d’outils.

Vos catalogues mis à jour sont publiés sur votre site Web, puis tous les caches de catalogues sont actualisés.


Envoi d'un catalogue à un partenaire commercial

Envoyer des commentaires sur cette page Commerce Server 2002

Envoi d’un catalogue à un partenaire commercial

Si votre société et vos partenaires commerciaux utilisent tous deux Microsoft BizTalk Server, vous pouvez échanger des catalogues, des commandes, des documents et d’autres formulaires électroniques. BizTalk Server joue le rôle d’une passerelle pour l’échange de documents commerciaux entre votre société et vos partenaires commerciaux (également appelés fournisseurs). Par exemple, des fournisseurs peuvent vous envoyer leurs catalogues, que vous pouvez publier sur votre site Web aux côtés de votre propre catalogue. Lorsque des utilisateurs passent des commandes sur votre site Web, celles-ci sont envoyées directement au fournisseur pour qu’il les traite.

Chacun de vos partenaires commerciaux peut envoyer un ou plusieurs catalogues de ses produits. Vous pouvez regrouper les catalogues des fournisseurs dans un catalogue virtuel, qui apparaît comme un seul catalogue aux utilisateurs qui visitent votre site.

Les partenaires commerciaux sont configurés à l’aide de BizTalk Messaging Manager. Ils doivent être configurés avant de pouvoir leur envoyer un catalogue. Pour plus d’informations sur la configuration de votre site pour envoyer des catalogues aux partenaires commerciaux, contactez votre administrateur système.

Pour envoyer un catalogue à un partenaire commercial

  1. Contactez votre administrateur système pour vérifier que votre partenaire commercial et vous utilisez BizTalk Server et que la ressource Configuration par défaut de l’application a été configurée de sorte que la propriété Options de BizTalk ait la valeur 1.
  2. Dans Catalogues, cliquez sur Éditeur de catalogue.
  3. Dans l’écran Catalogues, sélectionnez le catalogue que vous souhaitez envoyer, puis cliquez sur Envoyer dans la barre d’outils.
  4. Dans la boîte de dialogue Sélectionner un fournisseur, sélectionnez le fournisseur auquel envoyer le catalogue, puis cliquez sur OK.

Voir aussi

Exportation d’un catalogue


Recherche d'éléments dans un catalogue

Envoyer des commentaires sur cette page Commerce Server 2002

Recherche d’éléments dans un catalogue

Vous utilisez le module Éditeur de catalogue pour effectuer une recherche dans un catalogue. Vous pouvez effectuer les recherches suivantes :

  • Recherche par mots-clés : lorsque vous ajoutez des définitions de propriétés à votre catalogue, vous sélectionnez Possibilité de recherche en texte libre pour spécifier qu’elles sont disponibles pour la recherche en texte libre. Une recherche en texte libre permet d’extraire toutes les instances de la propriété dans votre catalogue. Ces définitions de propriétés sont consignées dans un index.

    Vous devez mettre à jour l’index de texte intégral après toute modification de vos catalogues marqués comme pouvant faire l’objet d’une recherche. Pour plus d’informations sur la mise à jour de l’index de texte intégral, consultez Actualisation et publication d’un catalogue.

  • Rechercher par propriétés : vous pouvez rechercher des propriétés ayant des valeurs spécifiques. Par exemple, Prix < 11,22 EUR et Couleur = Rouge. Par défaut, toutes les propriétés peuvent être utilisées dans les recherches par propriétés.

Pour rechercher des produits dans un catalogue par mots-clés

Pour rechercher des produits dans un catalogue par propriétés

Pour rechercher des produits dans un catalogue par mots-clés

  1. Dans Catalogues, cliquez sur Éditeur de catalogue.
  2. Dans l’écran Catalogues, sélectionnez le catalogue dans lequel vous souhaitez effectuer la recherche, puis cliquez sur Ouvrir le catalogue dans la barre d’outils. S’il s’agit d’un catalogue multilingue, le catalogue est ouvert dans la langue par défaut, sauf spécification contraire.
  3. Dans l’écran Contenu du catalogue - <Nom du catalogue>, dans la section Produits, sélectionnez Recherche par mots-clés dans la liste déroulante Méthode de recherche.
  4. Dans la zone Mots-clés, tapez le mot-clé à utiliser pour effectuer la recherche, puis cliquez sur Rechercher.

Les résultats de la recherche par mots-clés s’affichent dans le tableau Produits.

Pour rechercher des produits dans un catalogue par propriétés

  1. Dans Catalogues, cliquez sur Éditeur de catalogue.
  2. Dans l’écran Catalogues, sélectionnez le catalogue dans lequel vous souhaitez effectuer la recherche, puis cliquez sur Ouvrir le catalogue dans la barre d’outils. S’il s’agit d’un catalogue multilingue, le catalogue est ouvert dans la langue par défaut, sauf spécification contraire.
  3. Dans l’écran Contenu du catalogue - <Nom du catalogue>, dans la section Produits, sélectionnez Rechercher par propriétés dans la liste déroulante Méthode de recherche, puis cliquez sur Nouvelle.
  4. Dans le tableau Cible basée sur les conditions suivantes, effectuez les opérations suivantes :
    Zones de gauche à droite | Utilisez ceci | Pour faire cela
    Première | Sélectionnez une propriété ici | Sélectionner le type de propriété.
    Deuxième | Sélectionnez un opérateur ici | Sélectionner un opérateur de recherche.
    Troisième | Entrez une valeur de propriété | Taper la valeur à évaluer.
  5. Tapez la valeur à rechercher dans la dernière zone de texte.
  6. Cliquez sur Rechercher.

    Les résultats de la recherche s’affichent dans le tableau Produits. La figure suivante présente les résultats d’une recherche par propriétés.

    Exemple d'écran présentant les résultats d'une recherche par propriétés.

Voir aussi

Actualisation et publication d’un catalogue


Gestion des définitions de catalogues

À mesure de l’évolution de vos besoins professionnels, vous serez peut-être amené à modifier votre définition de catalogue. Vous pouvez ajouter de nouvelles définitions de propriétés, modifier des définitions de propriétés existantes ou supprimer des définitions de propriétés dont vous n’avez plus besoin. Vous pouvez également modifier ou ajouter de nouvelles définitions de produits et de catalogues.

Lorsque vous modifiez la définition de catalogue, ces modifications peuvent affecter des catégories et des produits existants associés aux définitions de propriétés que vous modifiez ou supprimez. Par exemple, si vous devez ajouter un identificateur du fournisseur à la définition de produit CD, toutes les instances de produits utilisant cette définition de produit incluront une zone pour l’identificateur du fournisseur.

Cette section contient les rubriques suivantes :

  • Recherche et affichage d’une définition de catalogue
  • Modification d’une définition de catégorie de catalogue
  • Modification d’une définition de produit de catalogue
  • Modification d’une définition de propriété de catalogue
  • Copie d’une définition de catalogue
  • Suppression d’une définition de catalogue


Recherche et affichage d'une définition de catalogue

Envoyer des commentaires sur cette page Commerce Server 2002

Recherche et affichage d’une définition de catalogue

Vous utilisez le module Concepteur de définitions de catalogues pour rechercher et afficher des définitions de propriétés, des définitions de catégories et des définitions de produits.

Pour rechercher une définition de propriété

Pour afficher une liste des définitions de propriétés

Pour afficher une liste des définitions de catégories

Pour afficher une liste des définitions de produits

Pour rechercher une définition de propriété

  1. Dans Catalogues, cliquez sur Concepteur de définitions de catalogues.
  2. Dans l’écran Concepteur de définitions de catalogues : Définitions de catégories, cliquez sur Afficher dans la barre d’outils, puis sélectionnez Définitions de propriétés dans la liste déroulante.
  3. Dans l’écran Concepteur de définitions de catalogues : Définitions de propriétés, cliquez sur Rechercher pour afficher la boîte de dialogue Rechercher.
  4. Dans la zone Rechercher, sélectionnez les caractéristiques de la définition de propriété dans la liste déroulante, puis effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper le nom (ou une partie du nom) de la propriété.
    Type | Sélectionner le type de propriété dans la liste déroulante.
    Attribués à tous les types de produits | Sélectionner Oui ou Non dans la liste déroulante. Si vous sélectionnez Oui, la recherche sera effectuée uniquement sur les propriétés communes à tous les types de produits.
    Toutes les définitions | Effectuer une recherche sur toutes les définitions existantes.

    Remarque

    • Si vous sélectionnez Toutes les définitions, l’option Rechercher uniquement dans la liste ci-dessous est désactivée, tous les filtres sont supprimés et toutes les définitions sont vérifiées.
  5. Cliquez sur Rechercher.

Les résultats de votre recherche s’affichent dans une zone de liste sous la boîte de dialogue Rechercher.

Pour afficher une liste des définitions de propriétés

  1. Dans Catalogues, cliquez sur Concepteur de définitions de catalogues.
  2. Dans l’écran Concepteur de définitions de catalogues : Définitions de catégories, cliquez sur Afficher dans la barre d’outils, puis sélectionnez Définitions de propriétés pour afficher l’écran Concepteur de définitions de catalogues : Définitions de propriétés.

Cet écran contient la liste de toutes les définitions de propriétés de votre catalogue (par ordre alphabétique) et de leur type de données.

Pour afficher une liste des définitions de catégories

  • Dans Catalogues, cliquez sur Concepteur de définitions de catalogues pour afficher l’écran Concepteur de définitions de catalogues : Définitions de catégories.

Cet écran contient la liste des toutes les définitions de catégories de votre catalogue.

Pour afficher une liste des définitions de produits

  1. Dans Catalogues, cliquez sur Concepteur de définitions de catalogues.
  2. Dans l’écran Concepteur de définitions de catalogues : Définitions de catégories, cliquez sur Afficher dans la barre d’outils, puis sélectionnez Définitions de produits pour afficher l’écran Concepteur de définitions de catalogues : Définitions de produits.

Cet écran contient la liste des toutes les définitions de produits de votre catalogue.


Modification d'une définition de catégorie de catalogue

Envoyer des commentaires sur cette page Commerce Server 2002

Modification d’une définition de catégorie de catalogue

Vous pouvez modifier les définitions de catégories après avoir rempli le catalogue de catégories, mais ces modifications affectent le catalogue que les utilisateurs voient sur votre site Web. Dans de nombreuses organisations, la création et la modification de la définition de catalogue sont confiées à une personne familiarisée avec les concepts de base de données.

Remarque

  • Vous ne pouvez pas changer le nom ni le type de propriété dans une définition de catalogue. Vous pouvez supprimer la propriété, puis la rajouter en utilisant un nouveau nom et un nouveau type.

Pour modifier une définition de catégorie

  1. Dans Catalogues, cliquez sur Concepteur de définitions de catalogues.
  2. Dans l’écran Concepteur de définitions de catalogues : Définitions de catégories, cliquez sur Afficher dans la barre d’outils, puis sélectionnez Définitions de catégories dans la liste déroulante.
  3. Sélectionnez la catégorie que vous souhaitez modifier, puis cliquez sur Ouvrir dans la barre d’outils.
  4. Dans l’écran Définition de catégorie, dans la section Propriétés de la catégorie, sélectionnez la propriété que vous souhaitez modifier dans la zone Propriétés attribuées, puis effectuez l’une des opérations suivantes :
    • Pour ajouter une propriété à une définition de catégorie, sélectionnez la propriété à ajouter dans la zone Propriétés disponibles, puis cliquez sur Ajouter. Vous pouvez créer une propriété en cliquant sur Nouvelle si la propriété n’existe pas.
    • Pour supprimer une propriété d’une définition de catégorie, sélectionnez la propriété à supprimer dans la zone Propriétés attribuées, puis cliquez sur Supprimer.
    • Pour changer l’ordre des propriétés attribuées à une catégorie, sélectionnez la propriété que vous souhaitez déplacer dans la zone Propriétés attribuées, puis cliquez sur Monter ou Descendre.
  5. Pour enregistrer vos modifications et revenir à l’écran Concepteur de définitions de catalogues : Définitions de catégories, cliquez sur Enregistrer et retour dans la barre d’outils.


Modification d'une définition de produit de catalogue

Envoyer des commentaires sur cette page Commerce Server 2002

Modification d’une définition de produit de catalogue

Vous pouvez modifier les définitions de produits après avoir rempli le catalogue de produits, mais ces modifications affectent le catalogue que les utilisateurs voient sur votre site Web. Dans de nombreuses organisations, la création et la modification de la définition de catalogue sont confiées à une personne familiarisée avec les concepts de base de données.

Remarque

  • Vous ne pouvez pas changer le nom ni le type de propriété dans une définition de catalogue. Vous pouvez supprimer la propriété, puis la rajouter en utilisant un nouveau nom et un nouveau type.

Pour modifier une définition de produit

  1. Dans Catalogues, cliquez sur Concepteur de définitions de catalogues.
  2. Dans l’écran Concepteur de définitions de catalogues : Définitions de catégories, cliquez sur Afficher dans la barre d’outils, puis sélectionnez Définitions de produits dans la liste déroulante.
  3. Sélectionnez la définition de produit que vous souhaitez modifier, puis cliquez sur Ouvrir dans la barre d’outils.
  4. Dans l’écran Concepteur de définitions de catalogues : Définition de produit, dans la section Propriétés du produit, sélectionnez la propriété que vous souhaitez modifier dans la zone Propriétés attribuées, puis effectuez l’une des opérations suivantes :
    • Pour ajouter une propriété à une définition de produit, sélectionnez la propriété à ajouter dans la zone Propriétés disponibles, puis cliquez sur Ajouter. Vous pouvez créer une propriété en cliquant sur Nouvelle si la propriété n’existe pas.
    • Pour supprimer une propriété d’une définition de produit, sélectionnez la propriété à supprimer dans la zone Propriétés attribuées, puis cliquez sur Supprimer.
    • Pour changer l’ordre des propriétés attribuées à un produit, sélectionnez la propriété que vous souhaitez déplacer dans la zone Propriétés attribuées, puis cliquez sur Monter ou Descendre.
  5. Pour enregistrer vos modifications et revenir à l’écran Concepteur de définitions de catalogues, cliquez sur Enregistrer et retour dans la barre d’outils.


Modification d'une définition de propriété de catalogue

Envoyer des commentaires sur cette page Commerce Server 2002

Modification d’une définition de propriété de catalogue

Vous pouvez modifier les définitions de propriétés après avoir rempli le catalogue de produits et de catégories, mais ces modifications affectent le catalogue que les utilisateurs voient sur votre site Web. Dans de nombreuses organisations, la création et la modification de la définition de catalogue sont confiées à une personne familiarisée avec les concepts de base de données.

Remarques

  • Vous ne pouvez pas changer le nom ni le type de propriété dans une définition de catalogue. Vous pouvez supprimer la propriété, puis la rajouter en utilisant un nouveau nom et un nouveau type.
  • Si vous sélectionnez l’option Attribuer à tous les types de produits, toutes les définitions de produits que vous créerez hériteront automatiquement de cette propriété. Si vous importez un catalogue XML dans lequel cette propriété a été définie, celle-ci affectera toutes les définitions de produits que vous créerez par la suite.
  • Utilisez la zone Est nécessaire pour spécifier qu’une valeur de la propriété est requise. Lorsqu’une propriété est requise, Requis s’affiche en regard de la propriété.

Pour modifier une définition de propriété

  1. Dans Catalogues, cliquez sur Concepteur de définitions de catalogues.
  2. Dans l’écran Concepteur de définitions de catalogues, cliquez sur Afficher dans la barre d’outils, puis sélectionnez Définitions de propriétés dans la liste déroulante.
  3. Dans l’écran Concepteur de définitions de catalogues : Définitions de propriétés, sélectionnez la propriété que vous souhaitez modifier, puis cliquez sur Ouvrir dans la barre d’outils.
  4. Les zones affichées dans l’écran Définition de propriété : <propriété> dépendent du type de définition de propriété. Effectuez les opérations suivantes :
    Utilisez ceci | Pour le type de propriété | Pour faire cela
    Nom | Tous | Il est impossible de modifier cette valeur.
    Nom complet | Tous | Taper le nom qui sera affiché sur votre site Web sous la forme d’un libellé pour cette propriété. Par exemple, pour une propriété nommée « CouleurChemise », vous pouvez choisir le nom « Couleur ».
    Afficher sur le site Tous Afficher la propriété spécifiée sur le site Web afin que les utilisateurs la voient, en activant cette case à cocher. Si vous souhaitez garder certaines propriétés privées pour usage interne, n’activez pas cette case à cocher.

    Par défaut, cette case à cocher est activée pour les propriétés de texte long.
    Possibilité de recherche en texte libre Texte, choix multiple Appliquer la fonction de recherche en texte libre dans votre catalogue aux valeurs stockées dans cette propriété, en activant cette case à cocher.

    Lorsque vous sélectionnez l’option Possibilité de recherche en texte libre, la définition de propriété est ajoutée à l’index de texte intégral du catalogue. Vous devez mettre à jour l’index de texte intégral après avoir modifié des éléments de vos catalogues qui sont marqués comme pouvant faire l’objet d’une recherche. Pour plus d’informations sur la mise à jour de l’index de texte intégral, consultez Actualisation et publication d’un catalogue.
    Possibilité de recherche avec propriété Texte, nombre, décimal, monnaie/devise, date/heure, choix multiple, multilingue Utiliser cette propriété dans les recherches avec propriété, en activant cette case à cocher.

    Par défaut cette case à cocher n’est pas activée pour les propriétés de texte long, car le texte de description long ne convient pas à la recherche avec propriété.
    Longueur minimale Texte, multilingue Taper le nombre définissant la longueur minimale de la valeur pour ce type de propriété.

    Si vous spécifiez une longueur différente de zéro, cette propriété devient une propriété requise pour une définition de produit ou de catégorie et Requis s’affiche en regard de la propriété.
    Longueur maximale | Texte, multilingue | Taper le nombre définissant la longueur maximale de la valeur pour ce type de propriété.
    Valeur minimale | Nombre, décimal, monnaie/devise | Taper le nombre définissant la valeur minimale pour ce type de propriété.
    Valeur maximale Nombre, décimal, monnaie/devise Taper le nombre définissant la valeur maximale pour ce type de propriété.

    Par exemple, pour ajouter une propriété pour la monnaie, entrez un nombre décimal et indiquez dans la partie décimale le nombre de chiffres pouvant s’adapter à la valeur monétaire la plus élevée à appliquer à un produit.
    Date au plus tôt | Date/Heure | Taper la date à laquelle vous voulez que cette propriété soit valide au plus tôt. Par exemple, la date au plus tôt à laquelle les utilisateurs peuvent commander un nouvel enregistrement.
    Heure au plus tôt | Date/Heure | Taper l’heure au format 00:00 correspondant à l’heure au plus tôt qui doit être associée à la propriété. Par exemple, une heure de début.
    Date au plus tard | Date/Heure | Taper la date à laquelle vous voulez que cette propriété soit valide au plus tard.
    Heure au plus tard | Date/Heure | Taper l’heure au format 00:00 (par exemple, 22:00) à laquelle vous voulez que cette propriété soit valide au plus tard.
    Valeur par défaut | Texte, nombre, décimal, monnaie/devise, date/heure, choix multiple, multilingue | Taper la valeur par défaut pour le type de propriété. Le format varie en fonction du type de propriété ajouté.
    Attribuer à tous les types de produits Tous Attribuer la propriété à tous les types de produits, en activant cette case à cocher. Vous pouvez par exemple activer cette case à cocher pour les propriétés de produits génériques, telles que le nom, la description ou le poids.

    Si vous activez la case à cocher Attribuer à tous les types de produits, toutes les définitions que vous créez héritent automatiquement de cette propriété.
    Stocker les données en vue d’une analyse | Tous, sauf texte long et texte long multilingue | Exporter la propriété vers le Data Warehouse, en activant cette case à cocher. L’exportation de données vers le Data Warehouse rend les données disponibles à des fins de création de rapports.
    Afficher dans la liste de produits | Tous | Afficher cette propriété dans la liste de produits sur votre site, en activant cette case à cocher.
    Est nécessaire | Tous, sauf choix multiple multilingue | Spécifier que cette propriété doit obligatoirement contenir une valeur, en activant cette case à cocher. Lorsqu’une propriété est requise, Requis s’affiche en regard de la propriété.
  5. Pour enregistrer la définition de propriété, cliquez sur Enregistrer dans la barre d’outils.
  6. Pour sécuriser la propriété afin que d’autres utilisateurs Business Desk ne puissent pas la modifier ou la supprimer, cliquez sur Autorisations dans la section Sécurité.
  7. Spécifiez les comptes Windows des utilisateurs auxquels ont été accordées des autorisations de sécurité pour mettre à jour ce catalogue, puis cliquez sur Fermer.
  8. Pour enregistrer les autorisations de la définition de propriété et revenir à l’écran Concepteur de définitions de catalogues : Définitions de propriétés, cliquez sur Enregistrer et retour dans la barre d’outils.

Toutes les catégories et tous les produits qui utilisent cette définition de propriété sont automatiquement mis à jour.

Voir aussi

Ajout d’une définition de propriété multilingue de catalogue

Ajout d’une définition de produit de catalogue

Ajout d’une définition de catégorie de catalogue


Copie d'une définition de catalogue

Envoyer des commentaires sur cette page Commerce Server 2002

Copie d’une définition de catalogue

Vous utilisez le module Concepteur de définitions de catalogues pour copier une définition de propriété, une définition de produit ou une définition de catégorie existante. Par exemple, vous pouvez copier une définition pour créer une autre définition similaire.

Pour copier une définition de catégorie

Pour copier une définition de produit

Pour copier une définition de propriété

Pour copier une définition de catégorie

  1. Dans Catalogues, cliquez sur Concepteur de définitions de catalogues.
  2. Dans l’écran Concepteur de définitions de catalogues : Définitions de catégories, cliquez sur Afficher dans la barre d’outils, puis sélectionnez Définitions de catégories dans la liste déroulante.
  3. Dans l’écran Concepteur de définitions de catalogues : Définitions de catégories, sélectionnez la catégorie que vous souhaitez copier, puis cliquez sur Copier dans la barre d’outils.
  4. Dans l’écran Définition de catégorie : Nouvelle, dans la zone Nom, tapez un nom pour la nouvelle définition de catégorie. Ce nom est limité à 128 caractères.
  5. Modifiez les propriétés dans la zone Propriétés attribuées si vous devez modifier les propriétés de catégorie en cours pour la nouvelle définition de catégorie.
  6. Pour enregistrer la nouvelle définition de catégorie et revenir à l’écran Concepteur de définitions de catalogues : Définitions de catégories, cliquez sur Enregistrer et retour dans la barre d’outils.

Pour copier une définition de produit

  1. Dans Catalogues, cliquez sur Concepteur de définitions de catalogues.
  2. Dans l’écran Concepteur de définitions de catalogues : Définitions de catégories, cliquez sur Afficher dans la barre d’outils, puis sélectionnez Définitions de produits dans la liste déroulante.
  3. Dans l’écran Concepteur de définitions de catalogues : Définitions de produits, sélectionnez la définition de produit que vous souhaitez copier, puis cliquez sur Copier dans la barre d’outils.
  4. Dans la section Propriétés de la définition du produit, dans la zone Nom, tapez le nom de la nouvelle définition de produit. Ce nom est limité à 128 caractères.
  5. Modifiez la zone Propriétés attribuées si vous devez modifier les propriétés de produit en cours pour la nouvelle définition de produit.
  6. Pour enregistrer la nouvelle définition de produit et revenir à l’écran Concepteur de définitions de catalogues : Définitions de produits, cliquez sur Enregistrer et retour dans la barre d’outils.

Pour copier une définition de propriété

  1. Dans Catalogues, cliquez sur Concepteur de définitions de catalogues.
  2. Dans l’écran Concepteur de définitions de catalogues : Définitions de catégories, cliquez sur Afficher dans la barre d’outils, puis sélectionnez Définitions de propriétés dans la liste déroulante.
  3. Dans l’écran Concepteur de définitions de catalogues : Définitions de propriétés, sélectionnez la propriété que vous souhaitez copier, puis cliquez sur Copier dans la barre d’outils.
  4. Dans l’écran Définition de propriété : Nouveau, effectuez les opérations suivantes :
    Utilisez ceci | Pour le type de propriété | Pour faire cela
    Nom Tous Taper un nom pour la propriété.

    Remarque

    • Une fois que cette propriété est enregistrée, vous ne pouvez pas changer son nom.
    Afficher sur le site | Tous | Afficher la propriété spécifiée sur le site Web afin que les utilisateurs la voient, en activant cette case à cocher. Si vous souhaitez garder certaines propriétés privées pour usage interne, n’activez pas cette case à cocher.
    Nom complet | Tous | Taper le nom qui sera affiché sur votre site Web pour cette propriété. Par exemple, pour une propriété nommée « CouleurChemise », vous pouvez choisir le nom « Couleur ».
    Possibilité de recherche en texte libre Texte, choix multiple, fichier Appliquer la fonction de recherche en texte libre dans votre catalogue aux valeurs stockées dans cette propriété, en activant cette case à cocher.

    Lorsque vous sélectionnez l’option Possibilité de recherche en texte libre, la définition de propriété est ajoutée à l’index de texte intégral du catalogue. Vous devez mettre à jour l’index de texte intégral après avoir modifié des éléments de vos catalogues qui sont marqués comme pouvant faire l’objet d’une recherche. Pour plus d’informations sur la mise à jour de l’index de texte intégral, consultez Actualisation et publication d’un catalogue.
    Possibilité de recherche avec propriété | Tous | Utiliser cette propriété dans les recherches avec propriété, en activant cette case à cocher. Une recherche avec propriété permet aux utilisateurs de sélectionner les valeurs de leur choix pour les aider à rechercher des produits particuliers.
    Longueur minimale | Texte | Taper le nombre définissant la longueur minimale de la valeur pour ce type de propriété. La longueur minimale par défaut est de zéro (0) caractère. Si vous spécifiez une longueur différente de zéro, cette propriété devient une propriété requise pour la définition de propriété.
    Longueur maximale | Texte | Taper le nombre définissant la longueur maximale de la valeur pour ce type de propriété. La longueur maximale autorisée est de 3 600 caractères.
    Valeur minimale | Nombre, décimal, monnaie/devise | Taper le nombre définissant la valeur minimale pour ce type de propriété. La valeur minimale par défaut est zéro (0).
    Valeur maximale | Nombre, décimal, monnaie/devise | Taper le nombre définissant la valeur maximale pour ce type de propriété. Par exemple, pour ajouter une propriété pour la monnaie, entrez un nombre décimal et indiquez dans la partie décimale le nombre de chiffres pouvant s’adapter à la valeur monétaire la plus élevée à appliquer à un produit.
    Date au plus tôt | Date/Heure | Taper la date à laquelle vous voulez que cette propriété soit valide au plus tôt. Par exemple, la date au plus tôt à laquelle les utilisateurs peuvent commander un nouvel enregistrement.
    Heure au plus tôt | Date/Heure | Taper l’heure au format 00:00 correspondant à l’heure au plus tôt qui doit être associée à la propriété. Par exemple, une heure de début.
    Date au plus tard | Date/Heure | Taper la date à laquelle vous voulez que cette propriété soit valide au plus tard. Par exemple, la date à laquelle les utilisateurs peuvent commander un produit en promotion au plus tard.
    Heure au plus tard | Date/Heure | Taper l’heure au format 00:00 à laquelle vous voulez que cette propriété soit valide au plus tard. Par exemple, une heure d’expiration.
    Valeur par défaut | Texte, nombre, décimal, monnaie/devise, date/heure, choix multiple | Taper la valeur par défaut pour le type de propriété. Cette valeur varie en fonction du type de propriété ajouté.
    Attribuer à tous les types de produits | Tous | Attribuer la propriété à tous les types de produits, en activant cette case à cocher.
    Exporter vers le Data Warehouse | Tous | Exporter la propriété vers le Data Warehouse, en activant cette case à cocher. L’exportation de données vers le Data Warehouse rend les données disponibles à des fins de création de rapports.
    Afficher dans la liste de produits | Tous | Afficher cette propriété dans la liste de produits, en activant cette case à cocher.
  5. Pour enregistrer vos modifications et revenir à l’écran Concepteur de définitions de catalogues : Définitions de catégories, cliquez sur Enregistrer et retour dans la barre d’outils.


Suppression d'une définition de catalogue

Envoyer des commentaires sur cette page Commerce Server 2002

Suppression d’une définition de catalogue

Vous utilisez le module Concepteur de définitions de catalogues pour supprimer des définitions de propriétés, des définitions de produits et des définitions de catégories. Avant de supprimer une définition, vérifiez qu’elle n’est pas utilisée par des propriétés, des produits ou des catégories existants dans vos catalogues. Si vous essayez de supprimer une définition de produit ou de catégorie alors que des produits ou des catégories l’utilisent, vous recevez un message d’avertissement.

Pour supprimer une définition de catégorie

Pour supprimer une définition de produit

Pour supprimer une définition de propriété

Pour supprimer une définition de catégorie

  1. Dans Catalogues, cliquez sur Concepteur de définitions de catalogues.
  2. Dans l’écran Concepteur de définitions de catalogues : Définitions de catégories, cliquez sur Afficher dans la barre d’outils, puis sélectionnez Définitions de catégories dans la liste déroulante.
  3. Dans l’écran Concepteur de définitions de catalogues : Définitions de catégories, sélectionnez la définition de catégorie que vous souhaitez supprimer, puis cliquez sur Supprimer dans la barre d’outils.
  4. Dans la boîte de dialogue Confirmer la suppression des définitions de catégories, cliquez sur Oui pour supprimer la définition.

Pour supprimer une définition de produit

  1. Dans Catalogues, cliquez sur Concepteur de définitions de catalogues.
  2. Dans l’écran Concepteur de définitions de catalogues : Définitions de catégories, cliquez sur Afficher dans la barre d’outils, puis sélectionnez Définitions de produits dans la liste déroulante.
  3. Dans l’écran Concepteur de définitions de catalogues : Définitions de produits, sélectionnez la définition de produit que vous souhaitez supprimer, puis cliquez sur Supprimer dans la barre d’outils.
  4. Dans la boîte de dialogue Confirmer la suppression des définitions de produits, cliquez sur Oui pour supprimer la définition.

Pour supprimer une définition de propriété

  1. Dans Catalogues, cliquez sur Concepteur de définitions de catalogues.
  2. Dans l’écran Concepteur de définitions de catalogues : Définitions de catégories, cliquez sur Afficher dans la barre d’outils, puis sélectionnez Définitions de propriétés dans la liste déroulante.
  3. Dans l’écran Concepteur de définitions de catalogues : Définitions de propriétés, sélectionnez la définition de propriété que vous souhaitez supprimer, puis cliquez sur Supprimer dans la barre d’outils.
  4. Dans la boîte de dialogue Confirmer la suppression des définitions de propriétés, cliquez sur Oui pour supprimer la définition.


Gestion des produits, des catégories, des catalogues et des groupes de catalogues

Vous utilisez le module Éditeur de catalogue pour visualiser, rechercher, modifier et supprimer des produits, des catégories, des catalogues et des groupes de catalogues existants.

Cette section contient les rubriques suivantes :

  • Affichage d’une liste de catalogues
  • Affichage d’une liste de catégories dans un catalogue
  • Modification des propriétés d’un catalogue
  • Modification d’une catégorie dans un catalogue de base
  • Modification d’une catégorie dans un catalogue virtuel
  • Modification d’un produit dans un catalogue de base
  • Modification d’un produit dans un catalogue virtuel
  • Modification de hiérarchies de catégories
  • Modification de composants produit
  • Modification d’un groupe de catalogues
  • Suppression d’une catégorie d’un catalogue
  • Suppression d’un produit d’un catalogue
  • Suppression d’un catalogue de base
  • Suppression d’un groupe de catalogues
  • Suppression de composants produit


Affichage d'une liste de catalogues

Envoyer des commentaires sur cette page Commerce Server 2002

Affichage d’une liste de catalogues

Vous utilisez le module Éditeur de catalogue pour afficher la liste de tous les catalogues existants. Si vous sélectionnez un catalogue et cliquez sur la flèche située à gauche de son nom, vous pouvez afficher les catalogues personnalisés qui ont été créés en utilisant le catalogue sélectionné comme catalogue de base.

Pour afficher une liste des catalogues existants

  • Dans Catalogues, cliquez sur Éditeur de catalogue.

L’écran Catalogues s’affiche. Il contient une liste de tous les catalogues existants.


Affichage d'une liste de catégories dans un catalogue

Envoyer des commentaires sur cette page Commerce Server 2002

Affichage d’une liste de catégories dans un catalogue

Vous pouvez afficher les catégories et la hiérarchie des catégories d’un catalogue sélectionné. En affichant les associations parents et enfants existant entre les catégories, vous pouvez déterminer les endroits où des catégories supplémentaires sont nécessaires et les endroits où des catégories existantes doivent être modifiées ou supprimées. Par exemple, si vous souhaitez ajouter une catégorie pour les cassettes vidéo liées à la musique, vous pouvez afficher la liste des catégories pour déterminer si cette nouvelle catégorie doit constituer ou non une catégorie parent ou si elle doit être associée à une catégorie existante.

Pour afficher une liste des catégories attribuées à un catalogue

  1. Dans Catalogues, cliquez sur Éditeur de catalogue.
  2. Dans l’écran Catalogues, sélectionnez le catalogue contenant les catégories que vous souhaitez afficher, puis cliquez sur Ouvrir le catalogue dans la barre d’outils.

    L’écran Contenu du catalogue - <Nom du catalogue> s’affiche.

Toutes les catégories attribuées au catalogue s’affichent dans la section Catégories.


Modification des propriétés d'un catalogue

Envoyer des commentaires sur cette page Commerce Server 2002

Modification des propriétés d’un catalogue

Vous utilisez le module Éditeur de catalogue pour modifier les propriétés de catalogue d’un catalogue de base ou d’un catalogue virtuel. Par exemple, vous pouvez modifier les informations sur les catégories et les propriétés d’un catalogue, ou bien les dates de début et de fin d’un catalogue.

Remarques

  • Vous ne pouvez pas modifier le nom interne d’un catalogue. Vous pouvez en revanche modifier le nom de catalogue qui est affiché sur votre site Web.
  • Pour plus d’informations sur l’inclusion de produits et de catégories d’un catalogue de base dans un catalogue virtuel, consultez Inclusion de catalogues de base dans un catalogue virtuel.
  • Si vous changez la langue de création de rapport, la prochaine fois que votre administrateur système importera des données de catalogue dans le Data Warehouse, il utilisera cette nouvelle langue. Au niveau du Data Warehouse, il peut en résulter des données dans une langue et d’autres données dans une langue différente.

    Votre administrateur système doit alors effectuer une importation complète à l’aide de la tâche de transformation de données (DTS, Data Transformation Services) Importation du catalogue de produits pour que toutes les données soient dans la même langue. (Une importation complète met à jour les propriétés du produit, car les clés de produits sont identiques dans toutes les langues.)

Pour modifier les propriétés d’un catalogue

  1. Dans Catalogues, cliquez sur Éditeur de catalogue.
  2. Dans l’écran Catalogues, sélectionnez le catalogue que vous souhaitez modifier, puis cliquez sur Modifier les propriétés dans la barre d’outils.
  3. L’écran Propriétés du catalogue - <Nom du catalogue> s’affiche. Dans cet écran, vous pouvez modifier n’importe quelle propriété qui n’est pas attribuée par Commerce Server.
    Utilisez ceci | Pour faire cela
    Nom Afficher le nom interne du catalogue. Il est impossible de changer ce nom, mais vous pouvez modifier le nom du catalogue qui est affiché sur votre site ; pour ce faire, consultez l’étape 4.

    Ce nom ne peut pas correspondre à un nom de catalogue existant dans la base de données du catalogue Commerce Server.

    Ce nom est utilisé dans les rapports de catalogue.

    Un nom de catalogue peut comporter 85 caractères au maximum.
    Date de début | Taper la date de début pour le catalogue. Cette date n’a aucune incidence sur votre site Web. Cependant, si vous échangez des catalogues avec un partenaire commercial, cette date permet à votre partenaire commercial de connaître la date de début de validité du catalogue.
    Date de fin | Taper la date de fin pour le catalogue. Cette date permet à vos partenaires commerciaux de connaître la date de fin de validité du catalogue. Par défaut, il s’agit de la date du jour plus trois mois. Par exemple, si vous créez le catalogue en décembre, la date de fin de validité du catalogue sera en mars.
    Devise | Sélectionner dans la liste déroulante une devise pour le catalogue. La valeur par défaut est USD.
    Unité de mesure de poids | Afficher l’unité de mesure du poids pour les produits de ce catalogue. L’administrateur système spécifie cette valeur lors de la configuration de Commerce Server. Contactez votre administrateur système si cette valeur doit être modifiée.
    Identificateur unique du produit Afficher l’identificateur unique des produits de ce catalogue. Si les produits ne possèdent pas de composants, il peut s’agir du numéro de référence. Si les produits possèdent des composants, il peut s’agir du Nom ou du Titre et Identificateur unique du composant produit sera alors la Référence.

    Pour plus d’informations sur l’attribution d’identificateurs uniques, consultez Méthodes conseillées pour les catalogues.
    Identificateur unique du composant produit Afficher l’identificateur unique des composants produit. Par exemple, il peut s’agir de la référence ou d’un autre identificateur unique. Si les produits ne possèdent pas de composants, cette valeur doit être identique à celle figurant dans la zone Identificateur unique du produit.

    Pour plus d’informations sur l’attribution d’identificateurs uniques, consultez Méthodes conseillées pour les catalogues.
  4. Dans la section Langues du catalogue, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Ajouter | Ajouter des langues que le catalogue prendra en charge.
    Supprimer | Supprimer des langues que le catalogue ne prend pas en charge. Si vous supprimez toutes les langues, le catalogue prendra en charge la langue par défaut, qui est identique à celle utilisée par le système d’exploitation Microsoft Windows sur le serveur Web Business Desk.
    Langue par défaut Sélectionner dans la liste déroulante la langue par défaut de votre catalogue.

    Si vous ne spécifiez pas de langue par défaut, Commerce Server utilise la même langue que celle utilisée par le système d’exploitation Microsoft Windows sur le serveur Web Business Desk.
    Langue de création de rapport Sélectionner dans la liste déroulante la langue à utiliser pour les propriétés qui seront stockées dans le Data Warehouse.

    Il s’agit de la langue qui sera employée dans les rapports et les analyses.

    Si vous modifiez la langue de création de rapport une fois que le site est en production, les données de rapport risquent d’apparaître en deux langues, selon la période que le rapport couvre.

    Votre administrateur système doit effectuer une importation complète à l’aide de la tâche DTS Importation du catalogue de produits pour que toutes les données soient dans la même langue. (Une importation complète met à jour les propriétés du produit, car les clés de produits sont identiques dans toutes les langues.)
  5. Pour entrer le nom complet du catalogue, dans la zone Langue, sélectionnez une langue, puis cliquez sur Modifier.
  6. Dans la zone Nom complet, tapez le nom du catalogue dans la langue sélectionnée. Il s’agit du nom de catalogue qui sera affiché sur votre site Web.
  7. Dans la section Catalogues dépendants, Business Desk répertorie les catalogues virtuels associés au catalogue de base. Pour plus d’informations sur l’inclusion d’un catalogue de base dans un catalogue virtuel, consultez Inclusion de catalogues de base dans un catalogue virtuel.
  8. Dans la section Sécurité, cliquez sur Autorisations, puis spécifiez les comptes Windows des utilisateurs auxquels ont été accordées des autorisations de sécurité pour mettre à jour ce catalogue. Pour plus d’informations sur l’octroi d’autorisations de sécurité, consultez À propos de la sécurité Business Desk.
  9. Pour enregistrer vos modifications et revenir à l’écran Catalogues, cliquez sur Enregistrer et retour dans la barre d’outils.
  10. Pour publier le nouveau produit sur votre site Web, cliquez sur Publier un catalogue dans la barre d’outils.

Le catalogue mis à jour est publié sur votre site Web.

Voir aussi

Méthodes conseillées pour les catalogues

Inclusion de catalogues de base dans un catalogue virtuel


Modification d'une catégorie dans un catalogue de base

Envoyer des commentaires sur cette page Commerce Server 2002

Modification d’une catégorie dans un catalogue de base

Vous utilisez le module Éditeur de catalogue pour modifier les propriétés d’une catégorie existante dans un catalogue de base. Vous pouvez par exemple modifier le prix d’une catégorie, ajouter ou supprimer des catégories parents, ainsi que modifier la catégorie parent primaire.

Remarques

  • Il est impossible de modifier les noms de catégories internes. Vous pouvez en revanche modifier le nom de la catégorie qui est affiché sur votre site Web.
  • Lorsque vous ajoutez une catégorie à un catalogue de base, cette catégorie est automatiquement ajoutée aux catalogues virtuels associés, selon les règles d’inclusion.
  • Le module Éditeur de catalogue vous permet d’accorder des autorisations aux utilisateurs Commerce Server Business Desk pouvant modifier cette catégorie. N’utilisez pas le module Autorisations Business Desk.

Pour modifier une catégorie dans un catalogue de base

  1. Dans Catalogues, cliquez sur Éditeur de catalogue.
  2. Dans l’écran Catalogues, sélectionnez le catalogue dont vous souhaitez modifier une catégorie, puis cliquez sur Ouvrir le catalogue dans la barre d’outils.
  3. Dans l’écran Contenu du catalogue - <Nom du catalogue>, dans la section Catégories, sélectionnez la catégorie que vous souhaitez modifier dans la liste Catégories, puis cliquez sur Modifier.
  4. Dans l’écran Éditeur de catalogue - <Nom du catalogue> - (catégorie), les zones qui s’affichent sont basées sur la définition de catégorie de la catégorie en question. Des zones supplémentaires, outre celles répertoriées ici, peuvent s’afficher. Effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom Afficher le nom interne de la nouvelle catégorie. Il est impossible de modifier ce nom. Ce nom est limité à 100 caractères. Les noms de catégories doivent être uniques dans chaque catalogue.

    Ce nom est utilisé dans les rapports de catalogue.
    Nom complet | Taper le nom de catégorie qui doit s’afficher sur votre site Web.
    Description | Taper une description de la catégorie qui doit s’afficher sur votre site Web.
    Prix Taper un prix pour la catégorie. Le prix est attribué à tous les produits de cette catégorie.

    Pour plus d’informations sur l’attribution directe de prix au produit ou au composant produit, consultez Tarification d’un produit dans un catalogue de base et Tarification au niveau du composant produit.
    Possibilité de recherche Définir cette catégorie comme point de départ d’une recherche avec propriété, en activant cette case à cocher.

    Si cette case à cocher est activée, cette catégorie est répertoriée sur la page Recherche approfondie du site Web.
  5. Dans la section Catégories attribuées, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Catégories de parents disponibles | Sélectionner les catégories parents auxquelles ajouter la catégorie en cours, puis cliquer sur Ajouter.
    Catégories de parents attribuées Sélectionner la catégorie parent primaire, puis cliquer sur Définir.

    La catégorie parent primaire permet de déterminer le chemin d’accès canonique à cette catégorie.
    Catégories enfants disponibles | Sélectionner les catégories enfants auxquelles ajouter la catégorie en cours, puis cliquer sur Ajouter.
  6. Dans la section Relations de la catégorie, cliquez sur Nouvelle pour ajouter une nouvelle relation de catégorie, puis effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Relation | Taper un nom pour la nouvelle relation (par exemple, accessoire).
    Article | Taper le nom du produit ou de la catégorie de la relation, ou cliquer sur le bouton de sélection […] afin d’afficher la boîte de dialogue Sélecteur de produits et sélectionner une catégorie ou un produit.
  7. Cliquez sur Accepter pour enregistrer les modifications apportées.
  8. Dans la section Sécurité, cliquez sur Autorisations.
  9. Dans la boîte de dialogue Comptes, sélectionnez un compte auquel vous voulez accorder ou refuser les autorisations pour modifier cette catégorie ou cliquez sur Ajouter un compte pour accorder l’accès à un nouveau compte de groupe Windows.
  10. Pour enregistrer vos modifications et revenir à l’écran Contenu du catalogue - <Nom du catalogue>, cliquez sur Enregistrer et retour dans la barre d’outils.
  11. Pour publier le catalogue mis à jour sur votre site Web, cliquez sur Publier un catalogue dans la barre d’outils.

Le catalogue mis à jour est publié sur votre site Web.

Voir aussi

Modification d’une catégorie dans un catalogue virtuel


Modification d'une catégorie dans un catalogue virtuel

Envoyer des commentaires sur cette page Commerce Server 2002

Modification d’une catégorie dans un catalogue virtuel

Vous utilisez le module Éditeur de catalogue pour modifier les propriétés d’une catégorie propre à un catalogue virtuel. Si la catégorie est incluse à partir d’un catalogue de base, vous devez modifier la catégorie dans le catalogue de base, puis reconstruire le catalogue virtuel.

Vous pouvez par exemple modifier le prix d’une catégorie, ajouter ou supprimer des catégories parents, ainsi que modifier la catégorie parent primaire.

Remarques

  • Lorsque vous modifiez un catalogue virtuel, il est impossible de modifier une catégorie qui est incluse à partir d’un catalogue de base. Vous ne pouvez modifier que les catégories qui sont propres au catalogue virtuel.
  • Pour obtenir des instructions sur l’inclusion et l’exclusion de catégories et de produits provenant d’un catalogue de base, consultez Inclusion de catalogues de base dans un catalogue virtuel.
  • Il est impossible de modifier les noms de catégories internes. Vous pouvez en revanche modifier le nom de la catégorie qui est affiché sur votre site Web.
  • Lorsque vous ajoutez une catégorie à un catalogue de base, cette catégorie est automatiquement ajoutée aux catalogues virtuels associés, selon les règles d’inclusion.
  • Le module Éditeur de catalogue vous permet d’accorder des autorisations aux utilisateurs Commerce Server Business Desk pouvant modifier cette catégorie. N’utilisez pas le module Autorisations Business Desk.

Pour modifier une catégorie dans un catalogue virtuel

  1. Dans Catalogues, cliquez sur Éditeur de catalogue.
  2. Dans l’écran Catalogues, sélectionnez le catalogue virtuel dont vous souhaitez modifier une catégorie, puis cliquez sur Ouvrir le catalogue dans la barre d’outils.
  3. Dans l’écran Contenu du catalogue - <Nom du catalogue>, dans la section Catégories, sélectionnez la catégorie que vous souhaitez modifier dans la liste Catégories, puis cliquez sur Modifier.

    La catégorie doit être propre au catalogue virtuel. Pour modifier une catégorie qui est incluse à partir d’un catalogue de base, vous devez modifier la catégorie dans le catalogue de base, puis reconstruire le catalogue virtuel.

  4. Dans l’écran Éditeur de catalogue - <Nom du catalogue> - (catégorie), les zones qui s’affichent sont basées sur la définition de catégorie de la catégorie en question. Des zones supplémentaires, outre celles répertoriées ici, peuvent s’afficher. Effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom Afficher le nom interne de la nouvelle catégorie. Il est impossible de modifier ce nom. Ce nom est limité à 100 caractères. Les noms de catégories doivent être uniques dans chaque catalogue.

    Ce nom est utilisé dans les rapports de catalogue.
    Nom complet | Taper le nom de catégorie qui doit s’afficher sur votre site Web.
    Description | Taper une description de la catégorie qui doit s’afficher sur votre site Web.
    Prix Taper un prix pour la catégorie. Le prix est attribué à tous les produits de cette catégorie.

    Pour plus d’informations sur l’attribution de prix, consultez Tarification d’un produit dans un catalogue virtuel et Tarification des produits dans plusieurs devises.

    Possibilité de recherche Définir cette catégorie comme point de départ d’une recherche avec propriété, en activant cette case à cocher.

    Si cette case à cocher est activée, cette catégorie est répertoriée sur la page Recherche approfondie du site Web.
  5. Dans la section Catégories attribuées, vous pouvez attribuer des catégories d’un catalogue de base ou du catalogue virtuel et faire en sorte qu’elles soient des catégories parents ou enfants de la catégorie en cours. Effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Catégories de parents disponibles | Sélectionner les catégories parents auxquelles ajouter la catégorie en cours, puis cliquer sur Ajouter.
    Catégories enfants disponibles | Sélectionner les catégories enfants auxquelles ajouter la catégorie en cours, puis cliquer sur Ajouter.
  6. Dans la section Relations de la catégorie, cliquez sur Nouvelle pour ajouter une nouvelle relation de catégorie, puis effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Relation | Taper un nom pour la nouvelle relation (par exemple, accessoire).
    Article | Taper le nom du produit ou de la catégorie de la relation, ou cliquer sur le bouton de sélection […] afin d’afficher la boîte de dialogue Sélecteur de produits et sélectionner une catégorie ou un produit.
  7. Cliquez sur Accepter pour enregistrer les modifications apportées.
  8. Dans la section Sécurité, cliquez sur Autorisations.
  9. Dans la boîte de dialogue Comptes, sélectionnez un compte auquel vous voulez accorder ou refuser les autorisations pour modifier cette catégorie ou cliquez sur Ajouter un compte pour accorder l’accès à un nouveau compte de groupe Windows.
  10. Pour enregistrer vos modifications et revenir à l’écran Contenu du catalogue - <Nom du catalogue>, cliquez sur Enregistrer et retour dans la barre d’outils.
  11. Pour publier le catalogue mis à jour sur votre site Web, cliquez sur Publier un catalogue dans la barre d’outils.

Le catalogue mis à jour est publié sur votre site Web.

Voir aussi

Modification d’une catégorie dans un catalogue de base


Modification d'un produit dans un catalogue de base

Envoyer des commentaires sur cette page Commerce Server 2002

Modification d’un produit dans un catalogue de base

Vous utilisez le module Éditeur de catalogue pour modifier un produit existant dans un catalogue. Vous pouvez par exemple changer le fichier image pour publier une nouvelle image du produit sur votre site.

Remarques

  • Vous ne pouvez pas modifier le nom interne d’un produit. Vous pouvez en revanche modifier le nom du produit qui est affiché sur votre site Web.
  • Il est possible de modifier le nom d’une relation du produit, mais pas les membres de la relation. Pour modifier les membres, vous devez supprimer la relation, puis en créer une autre.
  • Une fois que vous avez modifié un produit dans un catalogue de base, si ce produit est inclus dans un catalogue virtuel, vous devez reconstruire ce dernier.

Pour modifier un produit dans un catalogue de base

  1. Dans Catalogues, cliquez sur Éditeur de catalogue.
  2. Dans l’écran Catalogues, sélectionnez le catalogue que vous souhaitez modifier, puis cliquez sur Ouvrir le catalogue dans la barre d’outils.
  3. Dans l’écran Contenu du catalogue- <Nom du catalogue>, dans la section Produits, effectuez une recherche par mots-clés, une recherche avec propriété, ou cliquez sur Rechercher tout pour rechercher le produit que vous souhaitez modifier.

    Pour obtenir des instructions sur la recherche d’un produit, consultez Recherche d’éléments dans un catalogue.

  4. Sélectionnez le produit que vous souhaitez modifier dans la liste Produits, puis cliquez sur Modifier.
  5. Dans l’écran Éditeur de catalogue - <Nom du catalogue> - (produit), les zones qui s’affichent sont basées sur la définition de produit du produit en question. Des zones supplémentaires, outre celles répertoriées ici, peuvent s’afficher. Effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom Taper le nom du produit tel qu’il sera affiché sur votre site Web.

    Ce nom est utilisé dans les rapports de catalogue.
    Description | Taper la description du produit telle qu’elle sera affichée sur votre site Web.
    Prix | Taper le prix du produit.
  6. Dans la section Composant produit, cliquez sur Modifier, puis tapez les informations pour les propriétés disponibles. Lorsque vous avez fini, cliquez sur Terminé.

    Remarque

    • Vous ne pouvez ajouter des composants produit que si la définition de produit a été définie pour en inclure. Pour modifier la définition de produit de sorte qu’elle inclue des composants produit, consultez Modification d’une définition de produit de catalogue.
  7. Dans la section Catégories attribuées, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Catégories disponibles Sélectionner la catégorie à laquelle vous voulez ajouter le produit, puis cliquer sur Ajouter.

    Si vous voulez supprimer une catégorie attribuée, cliquez sur Supprimer.
    Catégories attribuées Sélectionner la catégorie attribuée, puis cliquer sur Modifier pour modifier la catégorie.

    Cliquez sur Nouvelle pour créer une catégorie.
    Catégorie parent primaire Sélectionner la catégorie qui doit être la catégorie parent primaire, puis cliquer sur Définir.

    La catégorie parent primaire permet de déterminer le chemin d’accès canonique au produit en question ou d’appliquer au produit des règles de tarification de niveau catégorie.
    Utiliser la tarification de la catégorie | Après avoir défini la catégorie parent primaire, sélectionner cette option afin que le produit hérite du prix de la catégorie.
    Utiliser la tarification directe | Après avoir défini la catégorie parent primaire, sélectionner cette option afin que le produit utilise son propre prix.
    Actualiser | Afficher les nouvelles catégories, une fois qu’elles sont ajoutées au catalogue, dans la zone Catégories disponibles, en cliquant sur Actualiser.
  8. Dans la section Relations de la famille de produits, sélectionnez la relation du produit à modifier, puis cliquez sur Modifier pour changer le nom de la relation.

    Pour modifier l’élément ou le catalogue dans la relation du produit, sélectionnez la relation, cliquez sur Supprimer, puis cliquez sur Nouvelle pour créer une relation.

  9. Dans la boîte de dialogue Sélecteur de produits, sélectionnez la catégorie ou le produit souhaité dans la relation, puis cliquez sur OK. Pour trouver les catégories ou les produits souhaités, vous pouvez les parcourir ou effectuer une recherche par mots-clés.

    Remarque

    • Dans la boîte de dialogue Sélecteur de produits, Commerce Server tronque les noms de produits dépassant 30 caractères. Si vous avez plusieurs produits dont les 30 premiers caractères sont identiques, ils s’afficheront en double.
  10. Dans la section Relations de la famille de produits, cliquez sur Accepter. Cliquez sur Nouvelle afin de poursuivre l’ajout de relations.
  11. Pour enregistrer le produit et revenir à l’écran Catalogues, cliquez sur Enregistrer et retour dans la barre d’outils.
  12. Si le produit est inclus dans un catalogue virtuel, sélectionnez le catalogue virtuel, puis cliquez sur Reconstruire dans la barre d’outils.
  13. Pour publier le nouveau produit sur votre site Web, cliquez sur Publier un catalogue dans la barre d’outils.

Le catalogue mis à jour est publié sur votre site Web.


Modification d'un produit dans un catalogue virtuel

Envoyer des commentaires sur cette page Commerce Server 2002

Modification d’un produit dans un catalogue virtuel

Vous utilisez le module Éditeur de catalogue pour modifier un produit existant dans un catalogue. Vous pouvez par exemple modifier les catégories qui sont attribuées au produit ou les relations du produit.

Remarques

  • Vous ne pouvez pas modifier le nom interne d’un produit. Vous pouvez en revanche modifier le nom du produit qui est affiché sur votre site Web.
  • Lorsque vous modifiez un produit dans un catalogue virtuel, les modifications apportées ne s’appliquent qu’au catalogue virtuel. Elles ne sont pas appliquées aux catalogues de base associés.

Pour modifier un produit dans un catalogue virtuel

  1. Dans Catalogues, cliquez sur Éditeur de catalogue.
  2. Dans l’écran Catalogues, sélectionnez le catalogue virtuel que vous souhaitez modifier, puis cliquez sur Ouvrir le catalogue dans la barre d’outils.
  3. Dans l’écran Contenu du catalogue- <Nom du catalogue>, dans la section Produits, effectuez une recherche par mots-clés, une recherche avec propriété, ou cliquez sur Rechercher tout pour rechercher le produit que vous souhaitez modifier.

    Pour obtenir des instructions sur la recherche d’un produit, consultez Recherche d’éléments dans un catalogue.

  4. Sélectionnez le produit que vous souhaitez modifier dans la liste Produits, puis cliquez sur l’une des options suivantes :
    • Modifier : Catalogue virtuel pour attribuer le produit aux nouvelles catégories dans le catalogue virtuel et pour afficher les attributions de catégorie que le produit a héritées du catalogue de base. Les modifications que vous apportez ne s’appliquent qu’au catalogue virtuel.
    • Modifier : Produit de base pour modifier le produit dans le catalogue de base de sorte que le catalogue de base et le catalogue virtuel aient tous deux leurs données mises à jour. Pour connaître les instructions à suivre, consultez Modification d’un produit dans un catalogue de base.
  5. Si vous avez sélectionné Modifier : Catalogue virtuel, l’écran Éditeur de catalogue - <nom du catalogue> (produit) s’affiche. Dans la section Catégories attribuées, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Catégories disponibles Sélectionner la catégorie à laquelle vous voulez ajouter le produit, puis cliquer sur Ajouter.

    Si vous voulez supprimer une catégorie attribuée, cliquez sur Supprimer.
    Catégories attribuées Sélectionner la catégorie attribuée, puis cliquer sur Modifier pour modifier la catégorie.

    Cliquez sur Nouvelle pour créer une catégorie.
    Catégorie parent primaire Sélectionner la catégorie qui doit être la catégorie parent primaire, puis cliquer sur Définir.

    La catégorie parent primaire permet de déterminer le chemin d’accès canonique au produit en question ou d’appliquer au produit des règles de tarification de niveau catégorie.
    Utiliser la tarification de la catégorie | Après avoir défini la catégorie parent primaire, sélectionner cette option afin que le produit hérite du prix de la catégorie.
    Utiliser la tarification directe | Après avoir défini la catégorie parent primaire, sélectionner cette option afin que le produit utilise son propre prix.
    Actualiser | Afficher les nouvelles catégories, une fois qu’elles sont ajoutées au catalogue, dans la zone Catégories disponibles, en cliquant sur Actualiser.
  6. Dans la section Relations de la famille de produits, sélectionnez la relation du produit à modifier, puis cliquez sur Modifier pour changer le nom de la relation.

    Pour modifier l’élément ou le catalogue dans la relation du produit, sélectionnez la relation, cliquez sur Supprimer, puis cliquez sur Nouvelle pour créer une relation.

  7. Dans la boîte de dialogue Sélecteur de produits, sélectionnez la catégorie ou le produit souhaité dans la relation, puis cliquez sur OK. Pour trouver les catégories ou les produits souhaités, vous pouvez les parcourir ou effectuer une recherche par mots-clés.

    Remarque

    • Dans la boîte de dialogue Sélecteur de produits, Commerce Server tronque les noms de produits dépassant 30 caractères. Si vous avez plusieurs produits dont les 30 premiers caractères sont identiques, ils s’afficheront en double.
  8. Dans la section Relations de la famille de produits, cliquez sur Accepter. Cliquez sur Nouvelle afin de poursuivre l’ajout de relations.
  9. Pour enregistrer le produit et revenir à l’écran Catalogues, cliquez sur Enregistrer et retour dans la barre d’outils.
  10. Pour publier le catalogue virtuel mis à jour sur votre site Web, cliquez sur Publier un catalogue dans la barre d’outils.

Le catalogue mis à jour est publié sur votre site Web.


Modification de hiérarchies de catégories

Vous pouvez modifier une hiérarchie de catégories existante pour un catalogue sélectionné. Si vous avez deux catégories parents proches et que l’une d’entre elles pourrait logiquement être subordonnée à l’autre, vous pouvez modifier l’attribution de catégorie. Par exemple, si vous avez une catégorie parent appelée Classique et une autre appelée Compositeurs, vous pouvez définir la catégorie Compositeurs comme catégorie enfant de la catégorie Classique.

Pour modifier une hiérarchie de catégories

  1. Dans Catalogues, cliquez sur Éditeur de catalogue.
  2. Dans l’écran Catalogues, sélectionnez le catalogue contenant la hiérarchie de catégories que vous souhaitez modifier, puis cliquez sur Ouvrir le catalogue dans la barre d’outils.
  3. Dans l’écran Contenu du catalogue - <Nom du catalogue>, dans la section Catégories, sélectionnez la catégorie dont vous souhaitez modifier la hiérarchie, puis cliquez sur Modifier.
  4. Dans l’écran Éditeur de catalogue - <Nom du catalogue> (catégorie), dans la section Catégories attribuées, sélectionnez la catégorie à laquelle vous souhaitez associer cette sous-catégorie dans la liste Catégories.
  5. Pour enregistrer la catégorie modifiée et revenir à l’écran Contenu du catalogue - <Nom du catalogue>, cliquez sur Enregistrer et retour dans la barre d’outils.
  6. Pour publier le catalogue mis à jour sur votre site Web, cliquez sur Publier un catalogue dans la barre d’outils.

Le catalogue mis à jour est publié sur votre site Web.


Modification de composants produit

Vous utilisez le module Éditeur de catalogue pour modifier des composants produit existants. Par exemple, si vous vendez des t-shirts et que vous devez modifier le numéro de référence, vous pouvez modifier le composant existant pour le t-shirt sélectionné.

Pour modifier un composant produit

  1. Dans Catalogues, cliquez sur Éditeur de catalogue.
  2. Dans l’écran Catalogues, sélectionnez le catalogue dont vous souhaitez modifier un composant produit, puis cliquez sur Ouvrir le catalogue dans la barre d’outils.
  3. Dans l’écran Contenu du catalogue - <Nom du catalogue>, dans la section Produits, sélectionnez le produit pour lequel vous souhaitez modifier un composant produit, puis cliquez sur Modifier.
  4. Dans l’écran Éditeur de catalogue : <Nom du catalogue> (produit), dans la section Composant produit, sélectionnez le composant produit que vous souhaitez modifier dans la zone Composant produit.

    En fonction du type de composant produit que vous modifiez, différentes zones de propriétés sont disponibles dans la section Composant produit.

  5. Modifiez les propriétés dans les différentes zones, puis cliquez sur Terminé.
  6. Pour enregistrer vos modifications et revenir à l’écran Contenu du catalogue - <Nom du catalogue>, cliquez sur Enregistrer et retour dans la barre d’outils.
  7. Pour publier le catalogue mis à jour sur votre site Web, cliquez sur Publier un catalogue dans la barre d’outils.

Le catalogue mis à jour est publié sur votre site Web.

Voir aussi

Suppression de composants produit

Tarification d’un produit dans un catalogue de base

Actualisation et publication d’un catalogue


Modification d'un groupe de catalogues

Envoyer des commentaires sur cette page Commerce Server 2002

Modification d’un groupe de catalogues

Vous pouvez modifier des groupes de catalogues existants. En supprimant ou en ajoutant des catalogues à des groupes existants, vous changez les catalogues que les utilisateurs peuvent afficher. Les modifications apportées aux groupes de catalogues n’affectent pas le contenu des catalogues.

Pour modifier un groupe de catalogues

  1. Dans Catalogues, cliquez sur Groupes de catalogues.
  2. Dans l’écran Groupes de catalogues, sélectionnez le groupe de catalogues que vous souhaitez modifier, puis cliquez sur Ouvrir dans la barre d’outils.
  3. Dans l’écran Groupes de catalogues, apportez les modifications nécessaires aux propriétés de groupe de catalogues.
  4. Si vous souhaitez supprimer un catalogue de la liste Catalogues attribués, cliquez sur Supprimer.
  5. Pour enregistrer vos modifications et revenir à l’écran Groupes de catalogues, cliquez sur Enregistrer et retour dans la barre d’outils.
  6. Pour publier le catalogue mis à jour sur votre site Web, cliquez sur Publier un catalogue dans la barre d’outils.

Le catalogue mis à jour est publié sur votre site Web.


Suppression d'une catégorie d'un catalogue

Envoyer des commentaires sur cette page Commerce Server 2002

Suppression d’une catégorie d’un catalogue

Vous utilisez le module Éditeur de catalogue pour supprimer une catégorie d’un catalogue. Lorsque vous supprimez une catégorie d’un catalogue, toute catégorie qui y est associée, soit par relation, soit par hiérarchie, est affectée. Si cette catégorie est associée à des produits par le biais d’une tarification de catégorie, ces produits seront affectés lors de la suppression de la catégorie. Par exemple, si vous souhaitez supprimer une catégorie nommée « 5,60 € seulement » et que 15 CD utilisent cette catégorie comme catégorie de tarification, ces CD reprendront le prix que vous leur avez attribué au niveau du produit une fois la catégorie supprimée.

Pour supprimer une catégorie d’un catalogue

  1. Dans Catalogues, cliquez sur Éditeur de catalogue.
  2. Dans l’écran Catalogues, sélectionnez le catalogue dont vous souhaitez supprimer une catégorie, puis cliquez sur Ouvrir le catalogue dans la barre d’outils.
  3. Dans l’écran Contenu du catalogue - <Nom du catalogue>, dans la section Catégories, sélectionnez la catégorie que vous souhaitez supprimer, puis cliquez sur Supprimer.

    Attention

    • Si vous supprimez une catégorie par erreur, vous devrez la rajouter au catalogue.
  4. Pour revenir à l’écran Catalogues, cliquez sur Retour dans la barre d’outils.
  5. Pour publier le catalogue mis à jour sur votre site Web, cliquez sur Publier un catalogue dans la barre d’outils.

Le catalogue mis à jour est publié sur votre site Web.

Voir aussi

Ajout d’une catégorie à un catalogue

Modification d’une catégorie dans un catalogue de base


Suppression d'un produit d'un catalogue

Envoyer des commentaires sur cette page Commerce Server 2002

Suppression d’un produit d’un catalogue

Vous utilisez le module Éditeur de catalogue pour supprimer un produit d’un catalogue. Par exemple, si un produit de votre catalogue n’est plus disponible en stock et que vous n’avez plus l’intention de vendre ce produit, vous pouvez le supprimer du catalogue.

Remarque

  • Lorsque vous supprimez un produit qui est intégré dans une relation de produit, cette relation est affectée.

Pour supprimer un produit

  1. Dans Catalogues, cliquez sur Éditeur de catalogue.
  2. Dans l’écran Catalogues, sélectionnez le catalogue dont vous souhaitez supprimer un produit, puis cliquez sur Ouvrir le catalogue dans la barre d’outils.
  3. Dans l’écran Contenu du catalogue - <Nom du catalogue>, dans la section Produits, sélectionnez le produit que vous souhaitez supprimer dans la liste Produits, puis cliquez sur Supprimer.

    Attention

    • Si vous supprimez un produit par erreur, vous devrez le rajouter au catalogue.
  4. Pour revenir à l’écran Catalogues, cliquez sur Retour dans la barre d’outils.
  5. Pour publier le catalogue mis à jour sur votre site Web, cliquez sur Publier un catalogue dans la barre d’outils.

Le catalogue mis à jour est publié sur votre site Web.

Voir aussi

Ajout d’un produit à un catalogue

Modification d’un produit dans un catalogue de base


Suppression d'un catalogue de base

Envoyer des commentaires sur cette page Commerce Server 2002

Suppression d’un catalogue de base

Vous utilisez le module Éditeur de catalogue pour supprimer les catalogues de base obsolètes.

Attention

  • Une fois que vous avez supprimé un catalogue, vous ne pouvez plus le récupérer.
  • Ce catalogue apparaîtra sur le site Web jusqu’à ce que vous mettiez à jour le site.
  • Lorsque vous supprimez un catalogue de base inclus dans un catalogue virtuel, aucun message n’est affiché. Une fois que vous avez supprimé le catalogue de base, dans l’écran Éditeur de catalogue, l’indicateur Nécessite une reconstruction s’affiche en regard du catalogue virtuel.

Pour supprimer un catalogue de base

  1. Dans Catalogues, cliquez sur Éditeur de catalogue.
  2. Dans l’écran Catalogues, sélectionnez le catalogue que vous souhaitez supprimer, puis cliquez sur Supprimer dans la barre d’outils.
  3. Dans la boîte de dialogue Voulez-vous supprimer ?, cliquez sur Oui pour supprimer le catalogue.
  4. Pour mettre à jour votre site Web de sorte que le catalogue n’y figure plus, cliquez sur Publier un catalogue dans la barre d’outils.

Le catalogue est supprimé de votre site Web.

Voir aussi

Exportation d’un catalogue

Création d’un catalogue de base

Modification des propriétés d’un catalogue

Modification d’un groupe de catalogues


Suppression d'un groupe de catalogues

Envoyer des commentaires sur cette page Commerce Server 2002

Suppression d’un groupe de catalogues

Si vous n’avez plus besoin d’un groupe de catalogues défini, vous pouvez le supprimer. La suppression d’un groupe de catalogues n’affecte pas les catalogues contenus dans ce groupe. Seule l’association est supprimée. Si le groupe de catalogues est associé à des utilisateurs existants, ce groupe n’est plus associé à ces utilisateurs.

Pour supprimer un groupe de catalogues

  1. Dans Catalogues, cliquez sur Groupes de catalogues.
  2. Dans l’écran Groupes de catalogues, sélectionnez le groupe de catalogues que vous souhaitez supprimer, puis cliquez sur Supprimer dans la barre d’outils.
  3. Dans la boîte de dialogue Voulez-vous supprimer ?, cliquez sur Oui pour supprimer le groupe.
  4. Pour mettre à jour votre site Web de sorte que le groupe de catalogues n’y figure plus, cliquez sur Publier un catalogue dans la barre d’outils.

Le groupe de catalogues est supprimé de votre site Web.


Suppression de composants produit

Vous pouvez supprimer des composants produit d’un produit à tout moment.

Pour supprimer un composant produit d’un produit

  1. Dans Catalogues, cliquez sur Éditeur de catalogue.
  2. Dans l’écran Catalogues, sélectionnez le catalogue dont vous souhaitez supprimer un composant produit, puis cliquez sur Ouvrir le catalogue dans la barre d’outils.
  3. Dans l’écran Contenu du catalogue - <Nom du catalogue>, dans la section Produits, sélectionnez le produit pour lequel vous souhaitez supprimer un composant produit, puis cliquez sur Modifier.
  4. Dans l’écran Éditeur de catalogue - <Nom du catalogue> (produit), dans la section Composant produit, sélectionnez le composant produit que vous souhaitez supprimer dans le tableau Composant produit, puis cliquez sur Supprimer.

    Le composant produit est supprimé du tableau Composant produit.

    Attention

    • Si vous supprimez un composant produit par erreur, vous devrez le rajouter au catalogue.
  5. Pour enregistrer les modifications et revenir à l’écran Contenu du catalogue - <Nom du catalogue>, cliquez sur Enregistrer et retour dans la barre d’outils.
  6. Pour publier le catalogue mis à jour sur votre site Web, cliquez sur Publier un catalogue dans la barre d’outils.

Le catalogue mis à jour est publié sur votre site Web.


Gestion des relations de catégorie et de produit

Les catégories et les produits peuvent être associés à d’autres catégories et à d’autres produits. Par exemple, dans une relation entre produits, si un utilisateur achète un film, il se peut qu’il souhaite également se procurer la bande originale de ce film. Dans une relation entre catégories, vous pouvez par exemple avoir une relation entre des catégories de CD et de Biographies. Si vous avez des CD de compositeurs classiques, vous avez peut-être également des biographies de compositeurs classiques.

Vous pouvez modifier ou supprimer des relations de produit ou de catégorie existantes. Par exemple, si vous souhaitez ajouter une nouvelle version d’une bande originale de film, vous pouvez modifier la relation de produit de la bande originale existante de manière à proposer aux utilisateurs une autre version de cette bande originale.

Cette section contient les rubriques suivantes :

  • Modification d’une relation de catégorie de catalogue
  • Modification d’une relation de produit de catalogue
  • Suppression d’une relation de catégorie de catalogue
  • Suppression d’une relation de produit de catalogue


Modification d'une relation de catégorie de catalogue

Envoyer des commentaires sur cette page Commerce Server 2002

Modification d’une relation de catégorie de catalogue

Vous pouvez modifier des relations de catégorie chaque fois que la relation est modifiée. Par exemple, s’il existe une relation de catégorie entre les catégories Musique classique et Biographies des compositeurs classiques, vous souhaiterez peut-être modifier cette relation et indiquer une relation entre les catégories Musique classique et Documentaires si vous décidez de vendre des documentaires sur les compositeurs classiques et d’arrêter la vente des biographies.

Pour modifier une relation de catégorie

  1. Dans Catalogues, cliquez sur Éditeur de catalogue.
  2. Dans l’écran Catalogues, sélectionnez le catalogue dans lequel vous souhaitez modifier une relation, puis cliquez sur Ouvrir le catalogue dans la barre d’outils.
  3. Dans l’écran Contenu du catalogue - <Nom du catalogue>, dans la section Catégories, sélectionnez la catégorie pour laquelle vous souhaitez modifier une relation, puis cliquez sur Modifier.
  4. Dans l’écran Éditeur de catalogue - <Nom du catalogue> (catégorie), entrez les modifications nécessaires pour la relation de catégorie dans la section Relations de la catégorie, puis cliquez sur Accepter pour enregistrer la relation.
  5. Pour enregistrer vos modifications et revenir à l’écran Contenu du catalogue - <Nom du catalogue>, cliquez sur Enregistrer et retour dans la barre d’outils.
  6. Pour publier le catalogue mis à jour sur votre site Web, cliquez sur Publier un catalogue dans la barre d’outils.

Le catalogue mis à jour est publié sur votre site Web.


Modification d'une relation de produit de catalogue

Envoyer des commentaires sur cette page Commerce Server 2002

Modification d’une relation de produit de catalogue

Vous pouvez modifier des relations de produit chaque fois que la relation est modifiée. Par exemple, si vous avez créé une relation de produit entre un film et sa bande originale et que vous souhaitez ajouter une nouvelle version de cette bande originale, vous devez modifier la relation de produit.

Pour modifier une relation de produit

  1. Dans Catalogues, cliquez sur Éditeur de catalogue.
  2. Dans l’écran Catalogues, sélectionnez le catalogue dans lequel vous souhaitez modifier une relation de produit, puis cliquez sur Ouvrir le catalogue dans la barre d’outils.
  3. Dans l’écran Contenu du catalogue - <Nom du catalogue>, dans la section Produits, sélectionnez le produit pour lequel vous souhaitez modifier une relation, puis cliquez sur Modifier.
  4. Dans l’écran Éditeur de catalogue - <Nom du catalogue> (produit), entrez les modifications nécessaires pour la relation de produit dans la section Relations du produit, puis cliquez sur Accepter pour enregistrer la relation.
  5. Pour enregistrer vos modifications et revenir à l’écran Contenu du catalogue - <Nom du catalogue>, cliquez sur Enregistrer et retour dans la barre d’outils.
  6. Pour publier le catalogue mis à jour sur votre site Web, cliquez sur Publier un catalogue dans la barre d’outils.

Le catalogue mis à jour est publié sur votre site Web.


Suppression d'une relation de catégorie de catalogue

Envoyer des commentaires sur cette page Commerce Server 2002

Suppression d’une relation de catégorie de catalogue

Vous pouvez supprimer une relation de catégorie à tout moment, par exemple si vous avez arrêté la vente d’une catégorie de produits ou si vous souhaitez réorganiser les produits sur votre site Web.

Pour supprimer une relation de catégorie

  1. Dans Catalogues, cliquez sur Éditeur de catalogue.
  2. Dans l’écran Catalogues, sélectionnez le catalogue dont vous souhaitez supprimer une relation de catégorie, puis cliquez sur Ouvrir le catalogue dans la barre d’outils.
  3. Dans l’écran Contenu du catalogue - <Nom du catalogue>, dans la section Catégories, sélectionnez la catégorie pour laquelle vous souhaitez supprimer une relation, puis cliquez sur Modifier.
  4. Dans l’écran Éditeur de catalogue - <Nom du catalogue> (catégorie), dans la section Relations de la catégorie, sélectionnez la relation que vous souhaitez supprimer, puis cliquez sur Supprimer.

    Attention

    • Si vous supprimez une relation par erreur, vous devrez la rajouter au catalogue.
  5. Pour publier le catalogue mis à jour sur votre site Web, cliquez sur Publier un catalogue dans la barre d’outils.

Le catalogue mis à jour est publié sur votre site Web.


Suppression d'une relation de produit de catalogue

Envoyer des commentaires sur cette page Commerce Server 2002

Suppression d’une relation de produit de catalogue

Vous pouvez supprimer un produit d’une relation de produit à tout moment. Par exemple, si vous souhaitez réorganiser les produits sur votre site Web, il peut s’avérer nécessaire de supprimer plusieurs relations de produit.

Pour supprimer une relation de produit

  1. Dans Catalogues, cliquez sur Éditeur de catalogue.
  2. Dans l’écran Catalogues, sélectionnez le catalogue dont vous souhaitez supprimer une relation de produit, puis cliquez sur Ouvrir le catalogue dans la barre d’outils.
  3. Dans l’écran Contenu du catalogue - <Nom du catalogue>, dans la section Produits, sélectionnez le produit pour lequel vous souhaitez supprimer une relation, puis cliquez sur Modifier.
  4. Dans l’écran Éditeur de catalogue - <Nom du catalogue> (produit), dans la section Relations du produit, sélectionnez la relation de produit que vous souhaitez supprimer, puis cliquez sur Supprimer.

    Attention

    • Si vous supprimez une relation par erreur, vous devrez la rajouter au catalogue.
  5. Pour publier le catalogue mis à jour sur votre site Web, cliquez sur Publier un catalogue dans la barre d’outils.

Le catalogue mis à jour est publié sur votre site Web.


Commandes Business Desk

Les modules Commandes permettent de rechercher dans votre base de données Commerce Server des informations concernant des commandes existantes, ainsi que de supprimer des paniers enregistrés qui ne sont plus utilisés. Par exemple, vous pouvez utiliser les codes de statut de la commande pour savoir où en est une commande dans le processus de commande global, ce qui vous permet de savoir où une commande est susceptible d’être bloquée ou de rencontrer des problèmes non résolus. Vous pouvez également ajouter des informations concernant les taux de taxes et les modes de livraison, puis mettre à jour ces informations sur votre site Web.

Cette section contient les rubriques suivantes :

  • Déroulement des opérations pour la gestion des commandes. Présente la marche à suivre pour gérer les commandes.
  • À propos des commandes. Décrit les composants constituant une commande.
  • Ajout de codes de statut de la commande. Explique comment ajouter des codes de statut de la commande.
  • Ajout de codes de pays ou de région. Explique comment ajouter des codes de pays ou de région.
  • Ajout de codes de département ou de province. Explique comment ajouter des codes de département ou de province.
  • Gestion des codes de statut de la commande. Explique comment modifier et supprimer des codes de statut de commande.
  • Gestion des codes d’emplacement. Explique comment modifier et supprimer des codes d’emplacement.
  • Personnalisation des modes de livraison. Explique les trois modes de livraison inclus dans Microsoft Commerce Server 2002 et comment les personnaliser pour votre site Web.
  • Ajout de taux de taxes. Explique comment ajouter des taxes fédérales, de pays ou de région et de département ou de province.
  • Gestion des taux de taxes. Explique comment personnaliser les taxes fédérales, de pays ou de région et de département ou de province.
  • Publication des codes de commandes sur votre site Web. Explique comment publier sur votre site Web les nouvelles informations de codes de commande, telles que des commandes modifiées et des nouveaux taux de taxes et modes de livraison.
  • Recherche et tri des paniers. Explique comment rechercher et trier les paniers enregistrés.
  • Suppression de paniers. Explique comment supprimer des paniers enregistrés qui ne sont plus utilisés.
  • Recherche, affichage et tri des commandes. Explique comment rechercher, afficher et trier des commandes.
  • Suppression de commandes. Explique comment supprimer des commandes de votre base de données Commerce Server.


Déroulement des opérations pour la gestion des commandes

La figure suivante illustre un exemple de scénario pour l’ajout de codes de statut de la commande, de codes de pays ou de région, de codes de département ou de province, ainsi que la personnalisation des modes de livraison et l’ajout de taux de taxes.

  1. Dans le module Statut de la commande, vous ajoutez des codes de statut de la commande pour garder la trace des commandes passées par les utilisateurs sur votre site Web. N’effectuez cette étape que si les codes de statut de la commande par défaut ne correspondent pas à vos besoins commerciaux.
  2. Dans le module Codes d’emplacement, vous ajoutez des codes de pays ou de région qui s’affichent sur votre site Web en tant qu’option de livraison pour vos utilisateurs.
  3. Dans le module Codes d’emplacement, vous ajoutez des codes de département ou de province qui s’affichent sur votre site Web en tant qu’option de livraison pour vos utilisateurs.
  4. Dans le module Modes de livraison, vous personnalisez un mode de livraison disponible pour vos utilisateurs sur votre site Web.
  5. Dans le module Taux de taxes, vous ajoutez des taux de taxes.
  6. Dans le module Publier les codes de commandes, vous publiez des modifications sur votre site Web.

Voir aussi

À propos des commandes

Ajout de codes de statut de la commande

Ajout de codes de pays ou de région

Ajout de codes de département ou de province

Personnalisation des modes de livraison

Ajout de taux de taxes

Publication des codes de commandes sur votre site Web


À propos des commandes

Les modules Commandes de Commerce Server Business Desk permettent de consulter des informations concernant le statut des commandes, de gérer les codes de données associés aux commandes, ainsi que de gérer les commandes passées par les utilisateurs sur votre site Web. Le module Gestionnaire de panier vous permet par exemple de supprimer les paniers abandonnés par les utilisateurs. Vous utilisez le module Taux de taxes pour ajouter des taux de taxes et le module Modes de livraison pour personnaliser vos modes de livraison.

Cette section contient les rubriques suivantes :

  • Codes de statut de la commande
  • Codes d’emplacement
  • Traitement des commandes
  • Modes de livraison
  • Paniers abandonnés


Codes de statut de la commande

Les codes de statut de la commande vous permettent de garder la trace des commandes passées par les utilisateurs. Le module Codes de statut de la commande vous permet d’ajouter des codes de statut de la commande apparaissant sur le site Web. Par exemple, vous pouvez ajouter un code pour les commandes bloquées ou présentant des problèmes non résolus. Pour plus d’informations sur l’ajout de codes de statut de la commande, consultez Ajout de codes de statut de la commande.

Vous pouvez les utiliser pour suivre l’avancement d’une commande. Il existe trois codes de statut de la commande par défaut : 4 (Nouvelle commande), 2 (Commande enregistrée) et 1 (Panier).

Une fois que les utilisateurs ont ajouté des éléments à leur panier ou qu’ils ont soumis leurs commandes sur votre site Web, des codes de statut de la commande sont attribués aux commandes. Par exemple, une nouvelle commande qui n’a pas encore été traitée se voit attribuer le code de statut 4 (Nouvelle commande). Vous pouvez rechercher des commandes spécifiques passées par les utilisateurs ayant visité votre site. Par exemple, vous pouvez rechercher une commande en fonction de la description de l’élément, de l’identificateur du produit ou du numéro de commande. Vous pouvez également trier les commandes pour afficher plus clairement les informations que vous recherchez. Vous pouvez, par exemple, trier les commandes selon leur statut ou selon le nom de l’utilisateur.


Codes d'emplacement

Envoyer des commentaires sur cette page Commerce Server 2002

Codes d’emplacement

Les codes d’emplacement permettent de spécifier les adresses de livraison et de facturation. Il existe deux types de codes d’emplacement :

  • Codes de pays/région. Ces codes permettent d’identifier les pays et les régions où seront envoyés les articles commandés par des utilisateurs sur votre site.
  • Codes de département/province. Ces codes permettent d’identifier les départements et les provinces où seront envoyées les commandes.

Le module Codes d’emplacement vous permet d’ajouter et de modifier des codes d’emplacement. Avant d’ajouter un nouveau code de département ou de province, vérifiez que le code de pays ou de région correspondant existe déjà dans votre base de données.

Lorsque des utilisateurs commandent des articles sur votre site, ils remplissent un formulaire de profil comportant l’adresse de livraison. Les formulaires de profil de votre site Web comprennent les codes de département et de province et les codes de pays et de région spécifiés.

Voir aussi

Déroulement des opérations pour la gestion des commandes

Ajout de codes de statut de la commande

Ajout de codes de pays ou de région

Ajout de codes de département ou de province

Gestion des codes de statut de la commande


Traitement des commandes

Lorsqu’un utilisateur soumet une commande sur votre site Web, elle est traitée par le nobr>pipeline de traitement des commandes de Commerce Server. Le pipeline de traitement des commandes décompose le traitement des commandes en étapes qui représentent une catégorie de travail. Un pipeline de traitement des commandes classique peut comprendre une étape d’information sur le client, une étape de paiement et une étape de livraison. Par exemple, la description du produit et l’adresse de livraison de l’utilisateur sont récupérées à partir de la base de données Commerce Server et le montant des taxes est calculé. Les informations concernant la commande et le prix total sont stockées dans la base de données Commerce Server pour la commande.

Vous pouvez utiliser conjointement Microsoft BizTalk Server 2000 ou version ultérieure et le module Commandes de Business Desk pour traiter les commandes passées par les utilisateurs sur votre site Web Commerce Server. Par exemple, votre site peut proposer du matériel informatique dont une partie est fabriquée par votre société et l’autre partie fournie par vos partenaires commerciaux. BizTalk Server permet de créer un contrat commercial pour chaque partenaire commercial fournissant du matériel que vous vendez. Lorsqu’un utilisateur visite votre site et commande un des produits fournis par un partenaire commercial, Commerce Server traite cette commande et l’envoie à BizTalk Server, puis BizTalk Server l’envoie au partenaire commercial pour qu’il la remplisse. Pour plus d’informations sur l’intégration de BizTalk Server au module Commandes de Business Desk, contactez votre administrateur système.

Voir aussi

Déroulement des opérations pour la gestion des commandes


Modes de livraison

Votre site doit disposer d’un mode de livraison au minimum pour que les utilisateurs puissent passer des commandes.

Commerce Server Business Desk prend en charge trois modes de livraison :

  • Facturer en fonction du poids. Ce mode permet de déterminer les frais de livraison en fonction du poids d’une commande. Vous utilisez ce mode de livraison pour spécifier des facturations en fonction d’une plage de poids.

    Remarque

    • Tous les produits de votre catalogue doivent comporter la propriété de produit « poids » pour pouvoir établir des facturations en fonction du poids. Si certains de vos produits ne prennent pas en charge cette propriété, cette option ne fonctionnera pas correctement sur votre site Web. Pour plus d’informations sur l’ajout de définitions de produits, consultez Ajout d’une définition de produit de catalogue.
  • Facturer en fonction de la quantité. Ce mode permet de déterminer les frais de livraison en fonction du nombre d’articles composant la commande. Vous pouvez utiliser ce mode pour spécifier des facturations en fonction de quantités correspondant à un nombre exact d’articles ou à un lot d’articles. Par exemple, la livraison d’une commande comportant 3 articles au maximum coûte 2,25 euros. Si la commande comporte quatre articles ou plus, la livraison coûte 4,50 euros.
  • Facturer en fonction du sous-total. Ce mode permet de déterminer les frais livraison en fonction du sous-total d’une commande. Par exemple, la livraison d’une commande contenant quatre disques compacts, dont le coût total est égal à 78,57 euros, coûte 5,56 euros. Si vous livrez une commande comportant un disque compact dont le coût est de 20,19 euros, le coût de la livraison n’est que de 2,24 euros.

Vous pouvez modifier les propriétés d’un mode de livraison sélectionné. Par exemple, lorsque les coûts de livraison changent, vous pouvez changer en conséquence le coût en fonction du mode.

Contactez votre développeur de site pour obtenir de l’aide si vous avez besoin de modes de livraison supplémentaires ou si vous avez recours à une société d’expédition (telle que UPS ou DHL) proposant une application tierce. Si vous devez utiliser une application tierce fournie par une société d’expédition, contactez cette société afin de recevoir les codes de pays ou de région standard qu’elle utilise avant d’ajouter des codes de pays ou de région à votre base de données Commerce Server.

Pour plus d’informations sur l’installation d’un mode de livraison personnalisé ou d’un composant de pipeline de livraison tiers, contactez votre administrateur système.

Pour plus d’informations sur la personnalisation des modes de livraison, consultez Personnalisation des modes de livraison.

Voir aussi

Déroulement des opérations pour la gestion des commandes

Personnalisation des modes de livraison

Modes de livraison multilingues


Modes de livraison multilingues

Vous pouvez proposer des services de livraison en plusieurs langues sur votre site Web. Le module Modes de livraison de Business Desk vous permet de créer des noms et des descriptions de modes de livraison dans plusieurs langues. Pour afficher un mode de livraison dans une langue différente de celle par défaut sur serveur, vous devez sélectionner la langue associée à ce mode de livraison dans le module Modes de livraison de Business Desk. Pour obtenir des informations sur la création des modes de livraison multilingues, consultez Personnalisation des modes de livraison.

Voir aussi

Modes de livraison

Personnalisation des modes de livraison


Paniers abandonnés

Lorsque des utilisateurs font des achats sur votre site, ils placent les articles qu’ils veulent acheter dans un panier virtuel. Tous les articles que les utilisateurs ont l’intention d’acheter sont répertoriés dans le panier lorsqu’ils procèdent à la validation. Cependant, les utilisateurs se déconnectent parfois de votre site sans procéder à la validation ou sans vider leur panier. Ces paniers abandonnés demeurent dans votre base de données Commerce Server jusqu’à ce que vous les supprimiez ou que les utilisateurs retournent sur le site pour vider leurs propres paniers. Les utilisateurs ont également la possibilité d’enregistrer leur panier et de le laisser indéfiniment dans votre base de données Commerce Server.

Supprimez régulièrement les paniers qui ont été abandonnés ou ceux qui ont été enregistrés depuis un certain laps de temps pour éviter d’encombrer votre base de données Commerce Server. Dans le volet Rechercher du module Gestionnaire de panier de Business Desk, vous pouvez utiliser des critères de filtre pour rechercher les paniers à supprimer. Vous pouvez, par exemple, rechercher les paniers abandonnés ou enregistrés depuis plus de deux semaines, puis les supprimer. Pour plus d’informations sur la suppression de paniers, consultez Suppression de paniers.

Voir aussi

Déroulement des opérations pour la gestion des commandes

Recherche et tri des paniers

Recherche, affichage et tri des commandes


Ajout de codes de statut de la commande

Les codes de statut de la commande vous permettent de savoir où en est une commande dans le processus de commande. Un code de statut de la commande identifie un nom par un code pour une zone spécifique du processus de commande. Par exemple, si un utilisateur a commandé il y a huit semaines deux disques compacts et deux maillots, vous pouvez afficher les codes de statut de cette commande pour savoir où elle en est dans le processus de commande global. Il existe trois codes de statut de la commande par défaut : 4 (Nouvelle commande), 2 (Commande enregistrée) et 1 (Panier). Vous pouvez créer de nouveaux codes de statut de la commande pour vous aider à savoir où en est une commande donnée dans le processus de commande global. Vous pouvez, par exemple, créer un code de statut de la commande pour définir les commandes non traitées sur votre site Web.

Remarque

  • Une fois que vous avez ajouté un code de statut de la commande, votre administrateur système doit décharger l’application Commerce Server de la mémoire sur chaque serveur Web pour que la modification soit prise en compte. Pour plus d’informations, consultez Déchargement d’une application de la mémoire.

Pour ajouter un code de statut de la commande

  1. Dans Commandes, cliquez sur Codes de statut de la commande.
  2. Dans l’écran Codes de statut de la commande, cliquez sur Nouveau dans la barre d’outils.
  3. Dans l’écran Codes de statut de la commande, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Code | Sélectionner le numéro du code de statut de la commande dans la liste déroulante.
    Nom du code | Taper un nom pour le code de statut de la commande.
    Description | Taper une description pour le code de statut de la commande.
  4. Pour enregistrer le code de statut de la commande et continuer l’entrée de nouveaux codes de statut, cliquez sur Enregistrer et créer dans la barre d’outils.

    Vous pouvez entrer le nouveau code de statut de la commande suivant.

  5. Pour enregistrer les codes de statut de la commande et revenir à l’écran Codes de statut de la commande, cliquez sur Enregistrer et retour dans la barre d’outils.

Voir aussi

Déroulement des opérations pour la gestion des commandes

À propos des commandes

Gestion des codes de statut de la commande

Ajout de codes de pays ou de région

Ajout de codes de département ou de province


Ajout de codes de pays ou de région

Vous créez des codes de pays ou de région pour identifier les pays et les régions que les utilisateurs entrent sur votre site Web lorsqu’ils s’inscrivent ou commandent un produit. Commerce Server fournit plusieurs codes de pays ou de région par défaut.

Remarques

  • Vous devez ajouter un code de pays ou de région dans votre base de données Commerce Server avant d’ajouter des codes de département ou de province pour ce pays ou cette région. Si vous tentez d’ajouter un code de département ou de province pour un pays ou une région qui n’a pas encore été ajouté(e) à votre base de données, un message d’erreur s’affiche.
  • Si vous devez utiliser une application tierce fournie par une société d’expédition, contactez cette société afin de recevoir les codes de pays ou de région standard qu’elle utilise avant d’ajouter des codes de pays ou de région à votre base de données.
  • Une fois que vous avez ajouté un code de pays ou de région, votre administrateur système doit décharger l’application Commerce Server de la mémoire sur chaque serveur Web pour que la modification soit prise en compte. Pour plus d’informations, consultez Déchargement d’une application de la mémoire.

Pour ajouter un code de pays ou de région

  1. Dans Commandes, cliquez sur Codes d’emplacement.
  2. Dans l’écran Codes d’emplacement : <type d’emplacement>, cliquez sur Afficher dans la barre d’outils, sélectionnez Codes de pays/région dans la liste déroulante, puis cliquez sur Nouveau dans la barre d’outils.
  3. Dans l’écran Codes d’emplacement : pays/région, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Code de pays ou de région | Taper un code alphabétique pour le pays ou la région. Le code de pays ou de région ne peut pas comporter plus de trois caractères.
    Nom complet | Taper le nom du pays ou de la région.
    Description | Taper une description du code de pays ou de région, si nécessaire.
  4. Pour enregistrer le code de pays ou de région et revenir à l’écran Codes d’emplacement : pays/région, cliquez sur Enregistrer et retour dans la barre d’outils.

Le nouveau code de pays ou de région s’affiche dans l’écran Codes d’emplacement : pays/région.

Voir aussi

Déroulement des opérations pour la gestion des commandes

À propos des commandes

Gestion des codes de statut de la commande

Ajout de codes de département ou de province


Ajout de codes de département ou de province

Vous ajoutez des codes de département ou de province à votre base de données Commerce Server pour identifier les départements ou provinces où seront expédiées les commandes. Les codes de département ou de province identifient les départements et les provinces qui apparaissent sur votre site Web.

Remarques

  • Vous devez ajouter un code de pays ou de région à votre base de données Commerce Server avant d’ajouter des codes de département ou de province pour ce pays ou cette région. Si vous tentez d’ajouter un code de département ou de province pour un pays ou une région qui n’a pas encore été ajouté(e) à votre base de données, un message d’erreur s’affiche. Pour plus d’informations sur l’ajout de codes de pays ou de région, consultez Ajout de codes de pays ou de région.
  • Une fois que vous avez ajouté un code de département ou de province, votre administrateur système doit décharger l’application Commerce Server de la mémoire sur chaque serveur Web pour que la modification soit prise en compte. Pour plus d’informations, consultez Déchargement d’une application de la mémoire.

Pour ajouter un code de département ou de province

  1. Dans Commandes, cliquez sur Codes d’emplacement.
  2. Dans l’écran Codes d’emplacement : <type d’emplacement>, cliquez sur Afficher dans la barre d’outils, sélectionnez Codes de département/province dans la liste déroulante, puis cliquez sur Nouveau dans la barre d’outils.
  3. Dans l’écran Codes d’emplacement : département/province, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Code de département/province | Taper un code alphabétique pour le département ou la province.
    Nom complet | Taper le nom du département ou de la province.
    Pays/région | Sélectionner le code de pays ou de région associé au code de département ou de province.
    Description | Taper une description du code de département ou de province si nécessaire.
  4. Pour enregistrer les modifications et revenir à l’écran Codes d’emplacement : département/province, cliquez sur Enregistrer et retour dans la barre d’outils.

Le nouveau code de département ou de province est enregistré dans votre base de données Commerce Server.

Voir aussi

Déroulement des opérations pour la gestion des commandes

À propos des commandes

Ajout de codes de pays ou de région

Gestion des codes de statut de la commande


Gestion des codes de statut de la commande

Le module Codes de statut de la commande de Commerce Server Business Desk vous permet de gérer les codes de statut de la commande apparaissant sur votre site Web. Les codes de statut de la commande vous permettent de garder la trace des commandes passées par les utilisateurs.

Cette section contient les rubriques suivantes :

  • Modification des codes de statut de la commande
  • Suppression de codes de statut de la commande


Modification des codes de statut de la commande

Vous pouvez modifier le nom et la description de codes de statut de la commande existants à l’aide du module Codes de statut de la commande. Vous ne pouvez cependant pas modifier le numéro réel d’un code.

Remarques

  • Vous ne pouvez pas modifier le numéro de code lui-même dans la zone Code. Si vous voulez modifier le numéro de code, vous devez supprimer le code de statut de la commande et en ajouter un nouveau, comportant les modifications souhaitées, dans la zone Code.
  • Après avoir modifié un code de statut de la commande, vous devez contacter votre administrateur système pour qu’il mette à jour votre site avec le nouveau code.

Pour modifier un code de statut de la commande

  1. Dans Commandes, cliquez sur Codes de statut de la commande.
  2. Dans l’écran Codes de statut de la commande, sélectionnez le code de statut de la commande à modifier, puis cliquez sur Ouvrir dans la barre d’outils.
  3. Dans l’écran Codes de statut de la commande - <code de statut de la commande>, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom du code | Taper un nouveau nom pour le code de statut de la commande.
    Description | Taper une nouvelle description pour le code de statut de la commande.
  4. Pour enregistrer vos modifications et revenir à l’écran Codes de statut de la commande, cliquez sur Enregistrer et retour dans la barre d’outils.

Le code de statut de la commande modifié est enregistré.

Voir aussi

À propos des commandes

Ajout de codes de statut de la commande

Suppression de codes de statut de la commande


Suppression de codes de statut de la commande

Vous pouvez supprimer des codes de statut de commande existants à l’aide du module Codes de statut de la commande. Ceci est utile, par exemple, lorsqu’un code de statut de la commande n’est pas nécessaire pour identifier un objet particulier.

Remarques

  • Une fois qu’un code de statut de la commande est supprimé, il est impossible de le récupérer. Si vous avez besoin d’un code de statut de la commande que vous avez supprimé, vous devez le recréer.
  • Après avoir supprimé un code de statut de la commande, vous devez contacter votre administrateur système pour qu’il mette à jour votre site et que ce code soit supprimé.

Pour supprimer un code de statut de la commande

  1. Dans Commandes, cliquez sur Codes de statut de la commande.
  2. Dans l’écran Codes de statut de la commande, sélectionnez le code de statut de la commande à supprimer, puis cliquez sur Supprimer dans la barre d’outils.
  3. Dans la boîte de dialogue de confirmation Codes de statut de la commande, cliquez sur OK.

Le code de statut de la commande est supprimé de votre site.

Voir aussi

À propos des commandes

Ajout de codes de statut de la commande

Modification des codes de statut de la commande


Gestion des codes d'emplacement

Envoyer des commentaires sur cette page Commerce Server 2002

Gestion des codes d’emplacement

Vous pouvez utiliser le module Codes d’emplacement pour gérer vos codes de pays ou de région et vos codes de département ou de province pour spécifier les adresses de livraison et de facturation.

Cette section contient les rubriques suivantes :

  • Modification des codes de pays ou de région
  • Modification des codes de département ou de province
  • Suppression de codes de pays ou de région
  • Suppression de codes de département ou de province


Modification des codes de pays ou de région

Vous pouvez modifier le nom et la description d’un code de pays ou de région existant à l’aide du module Codes d’emplacement.

Remarques

  • Vous ne pouvez pas modifier le numéro de code lui-même dans la zone Code. Si vous voulez modifier le numéro de code, vous devez supprimer le code de pays ou de région dans sa totalité et en ajouter un nouveau, comportant les modifications souhaitées, dans la zone Code.
  • Après avoir modifié un code de pays ou de région, vous devez contacter votre administrateur système pour qu’il mette à jour votre site avec le nouveau code.

Pour ajouter un code de pays ou de région

  1. Dans Commandes, cliquez sur Codes d’emplacement.
  2. Dans l’écran Codes d’emplacement : <type d’emplacement>, cliquez sur Afficher dans la barre d’outils, puis sélectionnez Codes de pays/région dans la liste déroulante.
  3. Sélectionnez le code de pays ou de région à modifier, puis cliquez sur Ouvrir dans la barre d’outils.
  4. Dans l’écran Codes de pays/région - <pays/région>, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom complet | Taper le nom du pays ou de la région.
    Description | Taper une description du code de pays ou de région, si nécessaire.
  5. Pour enregistrer vos modifications et revenir à l’écran Codes de pays/région, cliquez sur Enregistrer et retour dans la barre d’outils.

Le code de pays ou de région modifié est enregistré.

Voir aussi

À propos des commandes

Ajout de codes de pays ou de région

Suppression de codes de pays ou de région


Modification des codes de département ou de province

Vous pouvez modifier le nom et la description d’un code de département ou de province existant à l’aide du module Codes d’emplacement.

Remarques

  • Vous ne pouvez pas modifier le numéro de code lui-même dans la zone Code. Si vous voulez modifier le numéro de code, vous devez supprimer le code de département ou de province et en ajouter un nouveau, comportant les modifications souhaitées, dans la zone Code.
  • Après avoir modifié un code de département ou de province, vous devez contacter votre administrateur système pour qu’il mette à jour votre site avec le code modifié.

Pour modifier un code de département/province

  1. Dans Commandes, cliquez sur Codes d’emplacement.
  2. Dans l’écran Codes d’emplacement : <type d’emplacement>, cliquez sur Afficher dans la barre d’outils, puis sélectionnez Codes de département/province dans la liste déroulante.

    Remarque

    • Le nom de l’écran Business Desk qui s’affiche correspond au dernier code de données sélectionné. Par exemple, si Codes de statut de la commande est le dernier code de données sélectionné, le nom de l’écran Business Desk est Codes de statut de la commande.
  3. Sélectionnez le code de département ou de province à modifier, puis cliquez sur Ouvrir dans la barre d’outils.
  4. Dans l’écran Codes de département/province - <département/province>, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom complet | Taper le nom du département ou de la province.
    Description | Taper une description du code de département ou de province si nécessaire.
  5. Pour enregistrer vos modifications et revenir à l’écran Codes de département/province, cliquez sur Enregistrer et retour dans la barre d’outils.

Le code de département ou de province modifié est enregistré.

Voir aussi

À propos des commandes

Ajout de codes de département ou de province

Suppression de codes de département ou de province


Suppression de codes de pays ou de région

Vous pouvez supprimer des codes de pays ou de région existants à l’aide du module Codes d’emplacement. Ceci est utile, par exemple, lorsque vous ne livrez pas des produits dans un certain pays ou dans une certaine région et que vous ne voulez pas que ce code s’affiche comme une option pour les utilisateurs.

Remarques

  • La suppression d’un code de pays ou de région entraîne également la suppression de tous les codes de département ou de province qui y sont associés.
  • Une fois qu’un code de pays ou de région est supprimé, il est impossible de le récupérer. Si vous avez besoin d’un code de pays ou de région que vous avez supprimé, vous devez le recréer.
  • Après avoir supprimé un code de pays ou de région, vous devez contacter votre administrateur système pour qu’il mette à jour votre site et que ce code soit supprimé.

Pour supprimer un code de pays ou de région

  1. Dans Commandes, cliquez sur Codes d’emplacement.
  2. Dans l’écran Codes d’emplacement : <type d’emplacement>, cliquez sur Afficher dans la barre d’outils, puis sélectionnez Codes de pays/région dans la liste déroulante.
  3. Sélectionnez le code de pays ou de région à supprimer, puis cliquez sur Supprimer dans la barre d’outils.
  4. Dans la boîte de dialogue Supprimer les codes associés, cliquez sur OK.
  5. Dans la boîte de dialogue Codes de pays/région, cliquez sur OK.

Le code de pays ou de région est supprimé de votre site.

Voir aussi

À propos des commandes

Ajout de codes de pays ou de région

Modification des codes de pays ou de région


Suppression de codes de département ou de province

Vous pouvez supprimer des codes de département ou de province existants à l’aide du module Codes d’emplacement. Ceci est utile, par exemple, lorsque vous ne livrez pas des produits dans un(e) certain(e) département ou province et que vous ne voulez pas que ce code s’affiche comme une option pour les utilisateurs.

Remarques

  • Une fois qu’un code de département ou de province est supprimé, il est impossible de le récupérer. Si vous avez besoin d’un code de département ou de province que vous avez supprimé, vous devez le recréer.
  • Une fois que vous avez supprimé un code de département ou de province, votre administrateur système doit décharger l’application Commerce Server de la mémoire sur chaque serveur Web pour que la modification soit prise en compte. Pour plus d’informations, consultez Déchargement d’une application de la mémoire.

Pour supprimer un code de département ou de province

  1. Dans Commandes, cliquez sur Codes d’emplacement.
  2. Dans l’écran Codes d’emplacement : <type d’emplacement>, cliquez sur Afficher dans la barre d’outils, puis sélectionnez Codes de département/province dans la liste déroulante.
  3. Dans l’écran Codes de département/province, sélectionnez le code à supprimer, puis cliquez sur Supprimer dans la barre d’outils.
  4. Dans la boîte de dialogue Codes de département/province, cliquez sur OK.

Le code de département ou de province est supprimé de votre site.

Voir aussi

À propos des commandes

Ajout de codes de département ou de province

Modification des codes de département ou de province


Personnalisation des modes de livraison

Le module Modes de livraison de Commerce Server Business Desk vous permet de personnaliser les modes de livraison apparaissant sur votre site Web.

Notez les conditions requises suivantes :

  • Votre site doit disposer d’un mode de livraison au minimum pour que les utilisateurs puissent passer des commandes.
  • Pour qu’un mode de livraison puisse s’afficher sur votre site Web dans une langue autre que la langue par défaut de votre serveur, vous devez d’abord sélectionner la langue associée au mode de livraison.
  • Contactez votre développeur de site pour obtenir de l’aide si vous avez besoin de modes de livraison supplémentaires ou si vous avez recours à une société d’expédition (telle que UPS ou DHL) proposant une application tierce.
  • Si vous devez utiliser une application tierce fournie par une société d’expédition, contactez cette société afin de recevoir les codes de pays ou de région standard qu’elle utilise avant d’ajouter des codes de pays ou de région à votre base de données Commerce Server.

Vous pouvez proposer des services de livraison en plusieurs langues sur votre site Web. Le module Modes de livraison de Commerce Server Business Desk vous permet de créer des descriptions et des modes de livraison dans plusieurs langues.

Commerce Server Business Desk prend en charge trois modes de livraison :

  • Facturer en fonction du poids. Ce mode permet de déterminer les frais de livraison en fonction du poids d’une commande. Vous utilisez ce mode de livraison pour spécifier des facturations en fonction d’une plage de poids.
  • Facturer en fonction de la quantité. Ce mode permet de déterminer les frais de livraison en fonction du nombre d’articles composant la commande. Vous pouvez utiliser ce mode pour spécifier des facturations en fonction de quantités correspondant à un nombre exact d’articles ou à un lot d’articles.
  • Facturer en fonction du sous-total. Ce mode permet de déterminer les frais livraison en fonction du sous-total d’une commande.

Vous pouvez modifier les propriétés d’un mode de livraison sélectionné. Par exemple, lorsque les coûts de livraison changent, vous pouvez changer en conséquence le coût en fonction du mode.

Si vous avez recours à une société d’expédition proposant diverses options de livraison (comme Chronopost ou DHL) ou dont les taux appliqués sont calculés en fonction du poids et de zones géographiques (comme UPS), vous devez utiliser un composant de pipeline tiers fourni par cette société.

Remarques

  • Vous devez utiliser le module Publier les codes de commandes pour mettre à jour votre site après avoir ajouté un mode de livraison. Pour plus d’informations sur la publication des codes de commandes, consultez Publication des codes de commandes sur votre site Web.
  • Tous les produits de votre catalogue doivent comporter la propriété de produit « poids » pour pouvoir établir des facturations en fonction du poids. Si certains de vos produits ne prennent pas en charge cette propriété, cette option ne fonctionnera pas correctement sur votre site Web. Pour plus d’informations sur l’ajout de définitions de produits, consultez Ajout d’une définition de produit de catalogue.

Pour ajouter un mode de livraison multilingue

Pour ajouter un mode de livraison Facturer en fonction du poids

Pour ajouter un mode de livraison Facturer en fonction de la quantité

Pour ajouter un mode de livraison Facturer en fonction du sous-total

Pour modifier les propriétés du mode de livraison

Pour ajouter un mode de livraison multilingue

  1. Dans Commandes, cliquez sur Modes de livraison.
  2. Dans l’écran Modes de livraison, cliquez sur Langue dans la barre d’outils, puis sélectionnez dans la liste déroulante la langue associée au mode de livraison.
  3. Dans l’écran Modes de livraison, cliquez sur Nouveau dans la barre d’outils, puis sélectionnez le mode de livraison dans la liste déroulante.
  4. Dans l’écran Facturer en fonction de <mode de livraison> - Nouveau, dans la section Propriétés du mode de livraison, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Langue Sélectionner dans la liste déroulante la langue associée au mode de livraison.

    Remarque

    • Si vous avez déjà sélectionné la langue associée au mode de livraison dans l’écran Modes de livraison, passez à l’étape suivante.
    Nom | Taper un nom pour le mode de livraison.
    Description | Taper une description pour le mode de livraison.
    Activée | Activer la tarification personnalisée en activant cette case à cocher. Si le mode de livraison n’est pas activé, il ne figurera pas sur votre site Web.
  5. Dans la section Taux, cliquez sur Nouvelle, puis effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    <nom du mode>, jusqu’à | Taper la quantité pour le <mode>.
    Frais de livraison | Taper le taux.
  6. Cliquez sur Accepter.
  7. Une fois que tous les taux sont entrés, cliquez sur la dernière ligne de la liste des taux, indiquant supérieur à <quantité la plus élevée entrée>, puis cliquez sur Modifier.

    Important

    • Vous devez modifier la dernière ligne sous Taux pour pouvoir enregistrer le mode de livraison.
  8. Entrez le taux le plus élevé pour ce mode de livraison, puis cliquez sur Accepter.
  9. Pour enregistrer le mode de livraison et revenir à l’écran Modes de livraison, cliquez sur Enregistrer et retour dans la barre d’outils.

Le mode de livraison est enregistré.

Pour ajouter un mode de livraison Facturer en fonction du poids

  1. Dans Commandes, cliquez sur Modes de livraison.
  2. Dans l’écran Modes de livraison, cliquez sur Nouveau dans la barre d’outils, puis sélectionnez Facturer en fonction du poids dans la liste déroulante.
  3. Dans l’écran Facturer en fonction du poids - Nouveau, dans la section Propriétés du mode de livraison, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Langue | Sélectionner la langue associée au mode de livraison.
    Nom | Taper un nom pour le mode de livraison.
    Description | Taper une description pour le mode de livraison.
    Activée | Activer la tarification personnalisée en activant cette case à cocher. Si le mode de livraison n’est pas activé, il ne figurera pas sur votre site Web.
  4. Dans la section Taux, cliquez sur Nouvelle, puis effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Poids, jusqu’à | Taper un poids pour le niveau de taux.
    Frais de livraison | Taper le taux.
  5. Cliquez sur Accepter.
  6. Une fois que tous les taux sont entrés, cliquez sur la dernière ligne de la liste des taux, indiquant supérieur à <poids le plus élevé entré>, puis cliquez sur Modifier.

    Important

    • Vous devez modifier la dernière ligne sous Taux pour pouvoir enregistrer le mode de livraison.
  7. Entrez le taux le plus élevé pour ce mode de livraison, puis cliquez sur Accepter.
  8. Pour enregistrer le mode de livraison et revenir à l’écran Modes de livraison, cliquez sur Enregistrer et retour dans la barre d’outils.

Le mode de livraison Facturer en fonction du poids est enregistré.

Pour ajouter un mode de livraison Facturer en fonction de la quantité

  1. Dans Commandes, cliquez sur Modes de livraison.
  2. Dans l’écran Modes de livraison, cliquez sur Nouveau dans la barre d’outils, puis sélectionnez Facturer en fonction de la quantité dans la liste déroulante.
  3. Dans l’écran Facturer en fonction de la quantité - Nouveau, dans la section Propriétés du mode de livraison, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Langue | Sélectionner la langue associée au mode de livraison.
    Nom | Taper un nom pour le mode de livraison.
    Description | Taper une description pour le mode de livraison.
    Activée | Activer la tarification personnalisée en activant cette case à cocher. Si le mode de livraison n’est pas activé, il ne figurera pas sur votre site Web.
  4. Dans la section Taux, cliquez sur Nouvelle, puis effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Quantité, jusqu’à | Taper la quantité pour le niveau de taux.
    Frais de livraison | Taper le taux.
  5. Cliquez sur Accepter.
  6. Une fois que tous les taux sont entrés, cliquez sur la dernière ligne de la liste des taux, indiquant supérieur à <quantité la plus élevée entrée>, puis cliquez sur Modifier.

    Important

    • Vous devez modifier la dernière ligne sous Taux pour pouvoir enregistrer le mode de livraison.
  7. Entrez le taux le plus élevé pour ce mode de livraison, puis cliquez sur Accepter.
  8. Pour enregistrer le mode de livraison et revenir à l’écran Modes de livraison, cliquez sur Enregistrer et retour dans la barre d’outils.

Le mode de livraison Facturer en fonction de la quantité est enregistré.

Pour ajouter un mode de livraison Facturer en fonction du sous-total

  1. Dans Commandes, cliquez sur Modes de livraison.
  2. Dans l’écran Modes de livraison, cliquez sur Nouveau dans la barre d’outils, puis sélectionnez Facturer en fonction du sous-total dans la liste déroulante.
  3. Dans l’écran Facturer en fonction du sous-total - Nouveau, dans la section Propriétés du mode de livraison, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Langue | Sélectionner la langue associée au mode de livraison.
    Nom | Taper le nom du mode de livraison.
    Description | Taper la description du mode de livraison.
    Activée | Activer la tarification personnalisée en activant cette case à cocher. Si le mode de livraison n’est pas activé, il ne figurera pas sur votre site Web.
  4. Dans la section Taux, cliquez sur Nouvelle, puis effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Prix, jusqu’à | Taper le sous-total pour le niveau de taux.
    Frais de livraison | Taper le taux.
  5. Cliquez sur Accepter.
  6. Une fois que tous les taux sont entrés, cliquez sur la dernière ligne de la liste des taux, indiquant supérieur à <sous-total le plus élevé entré>, puis cliquez sur Modifier.

    Important

    • Vous devez modifier la dernière ligne sous Taux pour pouvoir enregistrer le mode de livraison.
  7. Entrez le taux le plus élevé pour ce mode de livraison, puis cliquez sur Accepter.
  8. Pour enregistrer le mode de livraison et revenir à l’écran Modes de livraison, cliquez sur Enregistrer et retour dans la barre d’outils.

Le mode de livraison Facturer en fonction du sous-total est enregistré.

Pour modifier les propriétés du mode de livraison

  1. Dans Commandes, cliquez sur Modes de livraison.
  2. Dans l’écran Modes de livraison, sélectionnez le mode de livraison que vous souhaitez modifier, puis cliquez sur Ouvrir dans la barre d’outils.
  3. Dans l’écran Facturer en fonction de <mode> - Ouvrir <nom du mode>, modifiez les propriétés du mode de livraison.
  4. Pour enregistrer vos modifications et revenir à l’écran Modes de livraison, cliquez sur Enregistrer et retour dans la barre d’outils.

Le mode de livraison modifié est enregistré.

Voir aussi

Déroulement des opérations pour la gestion des commandes

À propos des commandes

Ajout de taux de taxes

Publication des codes de commandes sur votre site Web


Ajout de taux de taxes

Le module Taux de taxes de Commerce Server Business Desk vous permet d’ajouter des taux de taxes pour différents pays, régions, départements et provinces.

Remarques

  • Les codes de pays ou de région et les codes de département ou de province doivent être configurés pour pouvoir ajouter des taux de taxes. Pour plus d’informations sur l’ajout de codes de pays ou de région et de codes de département ou de province, consultez Ajout de codes de pays ou de région et Ajout de codes de département ou de province.
  • Les taux de taxes définis pour des départements ou des provinces spécifiques annulent tout taux de taxe défini pour l’ensemble des départements ou de provinces de ce pays ou de cette région.
  • Vous devez utiliser le module Publier les codes de commandes pour mettre à jour votre site après avoir ajouté un taux de taxe. Pour plus d’informations sur la publication des codes de commandes, consultez Publication des codes de commandes sur votre site Web.

Pour ajouter un taux de taxe

  1. Dans Commandes, cliquez sur Taux de taxes.
  2. Dans l’écran Taxe, cliquez sur Nouvelle, puis effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Pays/région | Sélectionner un pays ou une région dans la liste déroulante.
    Département/province | Sélectionner un département ou une province dans la liste déroulante.
    Taux de taxe | Taper un taux de taxe sous la forme d’un pourcentage, exprimé par un nombre décimal. Par exemple, un taux de taxe de 8,6 pour cent se tape 8,6.
  3. Cliquez sur Accepter.
  4. Pour enregistrer le taux de taxe et revenir à l’écran d’accueil Business Desk, cliquez sur Enregistrer et retour dans la barre d’outils.

Le taux de taxe est enregistré.

Voir aussi

Déroulement des opérations pour la gestion des commandes

À propos des commandes

Gestion des taux de taxes

Publication des codes de commandes sur votre site Web


Gestion des taux de taxes

Les taxes à la vente appliquées diffèrent selon les départements ou les provinces et les pays ou les régions, et parfois, ceux-ci n’en appliquent aucune. Le module Taux de taxes de Commerce Server Business Desk vous permet d’ajouter, modifier et supprimer des taux de taxes pour différents pays ou régions et départements ou provinces.

Cette section contient les rubriques suivantes :

  • Modification de taux de taxes
  • Suppression de taux de taxes


Modification de taux de taxes

Vous pouvez modifier un taux de taxe existant à l’aide du module Taux de taxes lorsque les taux de taxes changent.

Pour modifier un taux de taxe

  1. Dans Commandes, cliquez sur Taux de taxes.
  2. Sélectionnez le taux de taxe à modifier, puis cliquez sur Modifier.
  3. Modifiez le taux de taxe, puis cliquez sur Accepter.
  4. Pour enregistrer vos modifications et revenir à l’écran d’accueil Business Desk, cliquez sur Enregistrer et retour dans la barre d’outils.

Le taux de taxe est enregistré.

Remarque

  • Vous devez utiliser le module Publier les codes de commandes pour mettre à jour votre site. Pour plus d’informations sur la publication des codes de commandes, consultez Publication des codes de commandes sur votre site Web.

Voir aussi

À propos des commandes

Ajout de taux de taxes

Suppression de taux de taxes

Publication des codes de commandes sur votre site Web


Suppression de taux de taxes

Vous pouvez supprimer un taux de taxe existant à l’aide du module Taux de taxes.

Pour supprimer un taux de taxe

  1. Dans Commandes, cliquez sur Taux de taxes.
  2. Sélectionnez le taux de taxe à supprimer, puis cliquez sur Supprimer.
  3. Pour enregistrer vos modifications et revenir à l’écran d’accueil Business Desk, cliquez sur Enregistrer et retour dans la barre d’outils.

Le taux de taxe est supprimé de votre site.

Attention

  • Une fois qu’un taux de taxe est supprimé, il est impossible de le récupérer. Si vous avez besoin d’un taux de taxe que vous avez supprimé, vous devez le recréer.

Remarque

  • Vous devez utiliser le module Publier les codes de commandes pour mettre à jour votre site. Pour plus d’informations sur la publication des codes de commandes, consultez Publication des codes de commandes sur votre site Web.

Voir aussi

À propos des commandes

Ajout de taux de taxes

Modification de taux de taxes

Publication des codes de commandes sur votre site Web


Publication des codes de commandes sur votre site Web

Le module Publier les codes de commandes permet de mettre immédiatement à jour votre site avec les nouvelles informations que vous avez ajoutées, comme des commandes modifiées, des nouveaux taux de taxes et modes de livraison.

Vous pouvez afficher les sites et les caches du code de commande qu’ils contiennent. Si vous ne voulez pas publier un cache de code de commande, vous pouvez le supprimer de la liste.

Pour publier des informations concernant les taxes, les livraisons et les commandes

Pour supprimer un cache de code de commande

Pour publier des informations concernant les commandes, les taxes et les livraisons

  1. Dans Commandes, cliquez sur Publier les codes de commandes.

    Seuls les caches actifs sont répertoriés dans l’écran Publier les codes de commandes. Si aucun cache n’est répertorié, vous ne pouvez rien publier.

  2. Dans la liste des caches actifs, sélectionnez les caches que vous voulez mettre à jour sur votre site, puis cliquez sur Publier dans la barre d’outils.

Toutes les informations concernant les commandes, les taxes et les livraisons sont mises à jour immédiatement sur votre site.

Pour supprimer un cache de code de commande

  1. Dans Commandes, cliquez sur Publier les codes de commandes.
  2. Sélectionnez le site et son cache de code de commande à supprimer, puis cliquez sur Supprimer dans la barre d’outils.
  3. Dans la boîte de dialogue de confirmation Voulez-vous supprimer ?, cliquez sur Oui pour supprimer le cache de code de commande pour le site sélectionné.

Le cache de code de commande pour le site sélectionné est supprimé de la liste Éléments de production.

Voir aussi

Déroulement des opérations pour la gestion des commandes

À propos des commandes

Ajout de codes de statut de la commande

Personnalisation des modes de livraison

Ajout de taux de taxes


Recherche et tri des paniers

Lorsque des utilisateurs font des achats sur votre site, ils placent les articles qu’ils veulent acheter dans un « panier » virtuel. Tous les articles que les utilisateurs ont l’intention d’acheter sont répertoriés dans le panier lorsqu’ils procèdent à la validation. Vous pouvez rechercher des paniers existants en fonction d’une date ou d’une organisation ou bien répertorier l’ensemble des paniers actuellement présents sur votre site Web. En triant les paniers selon la date du dernier accès, vous pouvez déterminer quels sont les paniers qui ont été abandonnés et les supprimer.

Pour rechercher des paniers

Pour trier des paniers

Pour rechercher des paniers

  1. Dans Commandes, cliquez sur Gestionnaire de panier.
  2. Dans l’écran Gestionnaire de panier, cliquez sur la flèche de déroulement de la zone Rechercher par, puis sélectionnez un des éléments suivants dans la liste déroulante :
    Utilisez ceci | Pour faire cela
    Date du dernier accès Procéder à une recherche en fonction de la date, en effectuant une des opérations suivantes :
    • Sélectionner Du dans la liste déroulante. Entrer la plage de dates ou sélectionner les dates dans les calendriers déroulants Du et Au.

    - ou -

    • Sélectionner Le ou avant le dans la liste déroulante. Entrer la date ou sélectionner la date dans le calendrier déroulant.
    Organisation | Effectuer un tri selon l’organisation, en entrant le nom de l’organisation ou en sélectionnant le nom de l’organisation dans la liste déroulante.
    Tous les paniers | Répertorier tous les paniers figurant dans la base de données Commerce Server en fonction du nom des utilisateurs.
  3. Cliquez sur Rechercher.

Vous pouvez à présent consulter les résultats dans une liste de l’écran Gestionnaire de panier.

Pour trier des paniers

  1. Dans Commandes, cliquez sur Gestionnaire de panier.
  2. Dans la liste Affichage filtré, cliquez sur l’en-tête de colonne en fonction duquel vous voulez trier les paniers.

Lorsque vous cliquez sur l’en-tête de colonne, le tri de la liste est effectué de manière dynamique.

Voir aussi

À propos des commandes

Paniers abandonnés

Suppression de paniers


Suppression de paniers

Lorsqu’un utilisateur a abandonné un panier sur votre site Web, vous pouvez supprimer ce panier de la base de données Commerce Server à l’aide du module Gestionnaire de panier de Commerce Server Business Desk. Vous supprimez généralement un panier parce qu’un utilisateur ne procède pas à la validation des achats ou ne vide pas son panier avant de quitter le site.

Pour supprimer un panier

  1. Dans Commandes, cliquez sur Gestionnaire de panier.
  2. Pour rechercher les paniers abandonnés, dans le volet Rechercher, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Rechercher par | Sélectionner Date du dernier accès.
    Date | Sélectionner Le ou avant le comme critère de date et taper une date ou sélectionner la date dans le calendrier déroulant.
  3. Cliquez sur Rechercher.
  4. Dans la liste Affichage filtré, sélectionnez les paniers à supprimer, puis cliquez dans la barre d’outils sur Supprimer.
  5. Dans la boîte de dialogue de confirmation Voulez-vous supprimer ?, cliquez sur Oui.

Les paniers sélectionnés sont supprimés de votre site Web.

Attention

  • Une fois qu’un panier a été supprimé, il est impossible de le récupérer.

Remarque

  • Vous devez utiliser le module Publier les codes de commandes pour mettre à jour votre site. Pour plus d’informations sur la publication des codes de commandes, consultez Publication des codes de commandes sur votre site Web.

Voir aussi

À propos des commandes

Recherche, affichage et tri des commandes

Paniers abandonnés


Recherche, affichage et tri des paniers

Le module Statut de la commande de Commerce Server Business Desk vous permet d’afficher des informations sur le statut des commandes, ainsi que tous les détails concernant cette commande, comme l’en-tête et les éléments de la commande. Vous pouvez rechercher des commandes spécifiques passées par les utilisateurs ayant visité votre site.

Vous pouvez effectuer des recherches en utilisant jusqu’à huit critères de recherche ou bien répertorier toutes les commandes. Par défaut, les commandes sont répertoriées par ordre décroissant selon leur numéro, mais vous avez la possibilité de changer l’ordre de tri. Vous pouvez, par exemple, trier les commandes selon leur statut ou selon le nom de l’utilisateur.

Pour rechercher une commande

Pour afficher une commande

Pour trier des commandes dans une liste

Pour rechercher une commande

  1. Dans Commandes, cliquez sur Statut de la commande.
  2. Dans l’écran Statut de la commande, dans la liste déroulante Rechercher par, sélectionnez un des éléments suivants :
    Utilisez ceci | Pour faire cela
    Date de la commande | Répertorier toutes les commandes qui ont été passées à une date donnée ou avant cette date, ou encore à partir d’une date donnée. Taper la date ou sélectionner une date dans le calendrier déroulant.
    Nom d’utilisateur | Répertorier toutes les commandes créées par un utilisateur spécifique. Taper les premières lettres du prénom ou du nom de l’utilisateur, ou des deux, dans les zones Prénom et Nom.
    Numéro de commande | Répertorier les commandes ayant un numéro de commande spécifique. Vous devez taper le numéro de commande exact dans la zone Numéro de commande.
    Organisation | Répertorier l’ensemble des commandes provenant d’une organisation spécifique. Vous devez taper le nom de l’organisation dans la zone Organisation.
    Numéro du bon de commande | Répertorier l’ensemble des commandes à partir d'un numéro de bon de commande spécifique. Vous devez taper le numéro de bon de commande exact dans la zone Numéro du bon de commande.
    Identificateur du produit | Répertorier l’ensemble des commandes contenant un identificateur de produit spécifique. Vous devez taper le numéro d’identificateur du produit exact dans la zone Product ID.
    Description de l’élément | Répertorier l’ensemble des commandes ayant une description spécifique.
    Toute information | Ouvrir tous les critères de recherche. Vous pouvez entrer tous les détails de la commande, ou seulement certains.
    Toutes les commandes | Répertorier l’ensemble des commandes enregistrées qui n’ont pas été traitées par le pipeline de traitement des commandes.
  3. Cliquez sur Rechercher.

Vous pouvez à présent consulter les résultats de votre recherche dans l’écran Statut de la commande.

Pour afficher une commande

  1. Dans Commandes, cliquez sur Statut de la commande.
  2. Dans l’écran Statut de la commande, recherchez la commande que vous voulez afficher. Pour plus d’informations sur la recherche d’une commande, consultez Pour rechercher une commande.
  3. Dans la liste Affichage filtré, sélectionnez la commande à afficher, puis cliquez dans la barre d’outils sur Ouvrir.
  4. Dans l’écran Commande : <numéro de commande>, dans la section Synthèse de la commande, vous pouvez afficher les informations suivantes concernant la commande :
    Utilisez ceci | Pour faire cela
    Numéro de commande | Numéro de commande de la commande sélectionnée.
    Nom | Nom de l’utilisateur qui a passé la commande.
    Prénom | Prénom de l’utilisateur qui a passé la commande.
    Nom de l’adresse de facturation | Nom de l’adresse de facturation.
    Date de la commande | Date à laquelle la commande a été passée.
    Statut de la commande | Statut de la commande, par exemple, nouvelle commande ou commande enregistrée.
    Sous-total | Sous-total de la commande, hors frais de livraison et taxes.
    Frais de livraison | Frais de livraison pour la commande.
    Remise sur la livraison | Remise sur la livraison, si une remise a été accordée pour la commande.
    Taxe | Montant des taxes appliquées à la commande.
    Montant total | Montant total de la commande, taxes et frais de livraison inclus.
    Mode de paiement | Mode de paiement utilisé pour la commande, par carte de crédit, par exemple.

    La section Détails de la commande spécifie les informations suivantes concernant la commande :

    Utilisez ceci | Pour faire cela
    Identificateur du produit | Identificateurs de produits pour tous les produits de la commande.
    Identificateur du composant | Identificateurs de composants produit pour tous les produits de la commande.
    Nom | Noms de produits pour tous les produits de la commande.
    Description | Descriptions de produits pour tous les produits de la commande.
    Catalogue | Catalogues à partir desquels chaque produit de la commande a été acheté.
    Adresse de livraison | Noms des adresses de livraison pour tous les produits de la commande.
    Mode de livraison | Noms des modes de livraison pour tous les produits de la commande.
    Quantité | Quantités commandées pour chaque produit.
    Prix unitaire | Prix unitaire de chaque produit de la commande.
    Total par article | Prix total pour chaque produit de la commande.
    Messages | Messages associés à tous les produits de la commande.

    La section Adresses spécifie les informations suivantes concernant le destinataire de la commande :

    Utilisez ceci | Pour faire cela
    Nom de l’adresse | Nom de l’adresse.
    Nom | Nom du destinataire.
    Prénom | Prénom du destinataire.
    Adresse (1ère ligne) | Première ligne de l’adresse.
    Adresse (2ème ligne) | Deuxième ligne de l’adresse.
    Ville | Nom de la ville.
    Région | Code de région.
    Code postal | Code postal.
    Code de pays/région | Code ISO (International Standards Organization) de pays ou de région ; code de département ou de province ou de pays ou de région.

Pour trier des commandes dans une liste

  1. Dans Commandes, cliquez sur Statut de la commande.
  2. Dans la liste des commandes, cliquez sur l’en-tête de colonne à utiliser pour effectuer le tri des commandes.

Lorsque vous cliquez sur l’en-tête de colonne, le tri de la liste est effectué de manière dynamique.

Voir aussi

À propos des commandes

Suppression de commandes


Suppression de commandes

Vous pouvez supprimer des commandes existantes à l’aide du module Statut de la commande de Commerce Server Business Desk. Cette possibilité s’avère utile, par exemple, lorsqu’un utilisateur annule une commande ou crée par inadvertance une commande en double ou lorsqu’un article souhaité par l’utilisateur n’est plus disponible.

Pour supprimer une commande

  1. Dans Commandes, cliquez sur Statut de la commande.
  2. Sélectionnez la commande que vous souhaitez supprimer de la liste des résultats des commandes, puis cliquez sur Supprimer dans la barre d’outils.
  3. Dans la boîte de dialogue de confirmation Voulez-vous supprimer, cliquez sur Oui pour confirmer la suppression.

La commande est supprimée de votre site.

Attention

  • Une fois qu’une commande a été supprimée, il est impossible de la récupérer.

Remarque

  • Vous devez utiliser le module Publier les codes de commandes pour mettre à jour votre site. Pour plus d’informations sur la publication des codes de commande, consultez Publication des codes de commandes sur votre site Web.

Voir aussi

Déroulement des opérations pour la gestion des commandes

À propos des commandes

Recherche, affichage et tri des commandes


Profils Business Desk

Les modules Profils vous permettent de gérer la collecte de données sur votre site Web. Par exemple, vous pouvez définir les données utilisateur qui seront collectées et les données qui seront exportées vers le Data Warehouse. Vous pouvez également utiliser les modules Profils pour gérer les profils, par exemple pour modifier un mot de passe utilisateur ou le contact administratif d’une organisation.

Cette section contient les rubriques suivantes :

  • Déroulement des opérations pour la gestion des profils. Présente le déroulement des opérations pour gérer les profils utilisateur et d’organisation, créer des définitions de profils et modifier des entrées du glossaire du site.
  • À propos des profils. Décrit les profils utilisateur et d’organisation, les définitions de profils et les entrées du glossaire du site, ainsi que la façon dont vous les utilisez dans Commerce Server.
  • Méthodes conseillées pour les profils de Business Desk. Fournit des informations importantes sur la création et la gestion des profils.
  • Création d’un groupe d’entrées du glossaire du site. Explique comment ajouter de nouveaux groupes d’entrées du glossaire du site et organiser ce glossaire.
  • Création d’une entrée du glossaire du site. Explique comment ajouter de nouvelles entrées du glossaire du site.
  • Ajout d’une entrée au glossaire du site. Explique comment ajouter des termes (valeurs) aux entrées du glossaire du site.
  • Création d’une définition de profil. Explique comment votre administrateur système peut créer des définitions de profils génériques pour répondre aux besoins de votre entreprise.
  • Ajout d’un groupe de propriétés à une définition de profil. Explique comment organiser vos propriétés en ajoutant un groupe de propriétés à une définition de profil.
  • Ajout de propriétés à une définition de profil. Explique comment ajouter de nouvelles propriétés à des définitions de profils.
  • Ajout d’une propriété mappée vers une entrée du glossaire du site. Explique comment ajouter une entrée du glossaire du site à une définition de profil afin d’utiliser cette entrée pour sélectionner la valeur de la propriété à laquelle elle est associée.
  • Ajout de propriétés cryptées à une définition de profil. Explique comment ajouter de nouvelles propriétés de profil pouvant être cryptées.
  • Incorporation d’une définition de profil. Explique comment associer le contenu de différents profils en incorporant une définition de profil dans une autre définition de profil.
  • Publication des modifications apportées aux définitions de profils sur votre site Web. Explique comment synchroniser les modifications apportées aux définitions de profils sur votre site Web.
  • Ajout d’un profil utilisateur. Explique comment ajouter de nouveaux profils utilisateur à votre site Web.
  • Ajout d’un administrateur délégué. Explique comment ajouter un profil pour un utilisateur désigné en tant qu’administrateur délégué pour une organisation.
  • Réinitialisation d’un mot de passe utilisateur. Explique comment réinitialiser un mot de passe pour un utilisateur inscrit.
  • Ajout d’un profil d’organisation. Explique comment ajouter de nouveaux profils d’organisation sur votre site Web.
  • Ajout d’un profil générique. Explique comment ajouter de nouveaux profils génériques sur votre site Web.
  • Ajout d’utilisateurs à un groupe Active Directory. Explique comment ajouter de nouveaux utilisateurs à un groupe Active Directory.
  • Ajout de groupes à un groupe Active Directory. Explique comment ajouter des groupes Microsoft Active Directory à un groupe Active Directory.
  • Gestion des groupes et des entrées du glossaire du site. Explique comment modifier, organiser et supprimer des entrées du glossaire du site et des groupes d’entrées du glossaire du site. Explique également comment supprimer des entrées (valeurs) à partir d’entrées du glossaire du site.
  • Gestion des définitions de profils. Explique comment rechercher, copier et modifier des définitions de profils, et comment supprimer des propriétés de profils.
  • Gestion des profils utilisateur. Explique comment rechercher, modifier, copier et supprimer des profils utilisateur.
  • Gestion des profils d’organisation. Explique comment rechercher, modifier, copier et supprimer des profils d’organisation.
  • Gestion des profils génériques. Explique comment rechercher, modifier, copier et supprimer des profils génériques.
  • Suppression d’utilisateurs de groupes Active Directory. Explique comment supprimer des utilisateurs et des groupes Microsoft Active Directory de groupes Active Directory.


Déroulement des opérations pour la gestion des profils

La figure suivante illustre un exemple de scénario permettant de créer des entrées du glossaire du site, ainsi que de mettre à jour des définitions de profils et de gérer des profils.

Creating the Target ExpressionAdding a Property DefinitionAdding a Generic ProfileAdding a User ProfileAdding an Organization ProfilePublishing Profile Definition Changes on Your Web SiteAdding Properties to a Profile DefinitionCreating a Site Term
  1. Le module Éditeur d’entrées du glossaire du site vous permet d’ajouter des entrées du glossaire du site, lesquelles sont utilisées dans une définition de profil pour limiter les entrées utilisateur pour cette propriété, couleur préférée par exemple. En utilisant des entrées du glossaire du site, vous pouvez créer des expressions permettant de cibler des publicités à l’usage des utilisateurs du site.
  2. Le module Concepteur de définitions de profils vous permet d’ajouter la nouvelle entrée du glossaire du site à la définition de profil, que vous pouvez utiliser pour collecter des informations telles que des données utilisateur.
  3. Le module Concepteur de définitions de profils vous permet d’ajouter la propriété à une définition de profil.
  4. Le module Publier les profils vous permet de publier les modifications apportées aux définitions de profils sur votre site Web.
  5. Le module Utilisateurs vous permet de gérer les profils sur votre site Web. Par exemple, vous pouvez ajouter un nouveau profil utilisateur ou en modifier un qui existe déjà.
  6. Dans Campagnes marketing, vous pouvez utiliser le module Expressions de la campagne marketing pour créer une expression pour les utilisateurs cible dont le profil correspond à vos critères de sélection, par exemple dont la couleur préférée est le violet.


À propos des profils

Le module Profils vous permet de gérer des définitions de profils, des profils, des entrées du glossaire du site et les appartenances aux groupes Active Directory des sites basés sur le site solution SupplierActiveDirectory. Vous pouvez ajouter des propriétés à des définitions de profils pour collecter des données que vous pouvez utiliser pour distinguer les utilisateurs auxquels vous souhaitez diffuser des publicités ou des remises ciblées. Vous pouvez créer des entrées du glossaire du site pour uniformiser et limiter les choix proposés aux utilisateurs lorsqu’une entrée de l’utilisateur est requise sur votre site.

Les modules Profils sont conçus pour vous permettre de gérer les données que vous collectez sur les éléments à caractère commercial, tels qu’un utilisateur, une société ou un processus commercial. Dans Business Desk, Profils vous propose les modules suivants :

  • Concepteur de définitions de profils. Le module Concepteur de définitions de profils vous permet de mettre à jour les types d’informations que vous collectez sur votre site Web. Vous pouvez par exemple ajouter une nouvelle question à votre page d’inscription des utilisateurs.
  • Utilisateurs. Le module Utilisateurs vous permet de créer, rechercher et mettre à jour des informations de profil utilisateur, de façon, par exemple, à attribuer un nouveau mot de passe à un utilisateur.
  • Organisations. Le module Organisations vous permet de créer, de modifier et de supprimer des profils d’organisation. Les profils d’organisation contiennent des informations sur des organisations, comme les informations de contact relatives à un service au sein d’une société.
  • Éditeur de profils. Le module Éditeur de profils vous permet de mettre à jour des profils génériques. Les profils génériques stockent des définitions de profils génériques, c’est-à-dire de profils qui ne sont ni utilisateur ni d’organisation, comme une définition de profil Adresse.
  • Éditeur d’entrées du glossaire du site. Le module Éditeur d’entrées du glossaire du site vous permet de créer des entrées du glossaire du site afin d’uniformiser et de limiter les réponses que peuvent donner les utilisateurs à une question particulière.
  • Publier les profils. Le module Publier les profils vous permet de publier sur votre site Web les modifications apportées à l’aide du module Concepteur de définitions de profils.
  • Gestionnaire de groupe. (Disponible uniquement sur le site SupplierActiveDirectory.) Le module Gestionnaire de groupe vous permet de contrôler le niveau d’accès de groupes d’utilisateurs sur votre site Web en gérant les appartenances des utilisateurs aux groupes Active Directory.

Remarque

  • Vous pouvez définir les autorisations Business Desk dans le module Autorisations de la catégorie Sécurité. Les autorisations peuvent être attribuées par module, par définition de profil et par propriété de profil. Vous devez avoir accès aux modules Profils pour apporter les modifications aux entrées du glossaire du site, aux définitions de profils et aux profils. Pour plus d’informations sur les autorisations Business Desk, consultez À propos de la sécurité Business Desk.

Cette section contient les rubriques suivantes :

  • Utilisation des profils dans la gestion d’un site Web
  • Collecte et stockage des profils
  • Profils utilisateur, profils d’organisation et profils génériques
  • Structure d’un profil
  • Considérations relatives à la conception dans le système de profil
  • Considérations relatives à l’exécution dans le système de profil
  • Entrées du glossaire du site
  • Groupes Active Directory


Utilisation des profils dans la gestion d'un site Web

Envoyer des commentaires sur cette page Commerce Server 2002

Utilisation des profils dans la gestion d’un site Web

Les profils sont essentiels à la gestion d’un site Web car ils fournissent des informations sur les visiteurs et leur mode d’utilisation de votre site. Les profils vous permettent d’analyser les données utilisateur et de cibler un contenu qui leur est destiné.

Un profil est un ensemble de caractéristiques qui définissent les éléments à caractère commercial, tels qu’un utilisateur, une société ou un contexte (date et heure). La figure suivante montre différents types de profils.

Figure illustrant différents types de profils.

Dans Commerce Server, les profils vous permettent de stocker des informations sur les éléments à caractère commercial. Par exemple, les profils sont utilisés pour collecter des données auprès des utilisateurs de votre site Web. Vous pouvez également entrer des données directement dans les profils utilisateur et d’organisation à l’aide de Commerce Server Business Desk.

À l’aide de Business Desk, vous pouvez :

  • définir les informations à collecter sur les utilisateurs visitant votre site ;
  • créer des expressions de ciblage pour faire correspondre le contenu aux utilisateurs ;
  • créer des campagnes de publicité, de remise et de publipostage pour cibler des groupes d’utilisateurs spécifiques ;
  • adresser des messages de publipostage personnalisés aux utilisateurs.


Collecte et stockage des profils

Les données de profil sont collectées sur un site Commerce Server de deux manières. Les utilisateurs qui visitent votre site fournissent des données de profil sur eux-mêmes ; cela s’appelle le profil explicite de l’utilisateur. Par exemple, lorsque des utilisateurs achètent des produits sur votre site, ils fournissent généralement leur nom, adresse postale, numéro de téléphone et adresse de messagerie. Ces informations servent à remplir le profil utilisateur.

Vous pouvez également collecter des données grâce au profil implicite de l’utilisateur. Dans le profil implicite de l’utilisateur, les actions de l’ensemble des utilisateurs (anonymes et inscrits) sont enregistrées dans des fichiers journaux Web, au fur et à mesure que ces utilisateurs interagissent avec votre site Web. Par exemple, les fichiers journaux Web enregistrent les liens sur lesquels ont cliqué les utilisateurs anonymes, les produits qu’ils ont recherchés, la durée de leurs sessions et le temps de visite d’une page Web spécifique. Même si les utilisateurs sont anonymes (vous ignorez leur nom, leur adresse de messagerie ou toute autre information les concernant), leur mode d’utilisation de votre site reste une information importante. Pour plus d’informations sur l’utilisation des cookies dans Commerce Server, consultez Concepts d’authentification.

Toutes les informations collectées durant une session utilisateur spécifique sont collectées dans un seul profil, c’est-à-dire une instance d’une définition de profil.

Pour plus d’informations sur le stockage de profils dans le Data Warehouse, consultez les rubriques suivantes de l’aide de Commerce Server 2002 :


Profils utilisateur, profils d'organisation et profils génériques

Envoyer des commentaires sur cette page Commerce Server 2002

Profils utilisateur, profils d’organisation et profils génériques

La définition de profil utilisée pour créer un profil définit le type de ce dernier. Les types de profils sont définis dans le tableau suivant :

Définitions de profil | Type de profil
Objet utilisateur Pour plus d’informations sur le schéma de profil Objet utilisateur, consultez UserObject Profile Schema (en anglais). | Utilisateur
Organisation Pour plus d’informations sur le schéma de profil Organisation, consultez Organization Profile Schema (en anglais). | Organisation
Autres définitions de profils. Par exemple, Adresse. Pour plus d’informations sur le schéma de profil Adresse, consultez Address Profile Schema (en anglais). | Générique

Le tableau suivant présente des profils utilisateur, des profils d’organisation et des profils génériques, les définitions de profils qui ont servi à les créer et les modules Profils Business Desk à utiliser pour les modifier.

Type de profil | Définitions de profil | Module de Business Desk
Profils utilisateur | Objet utilisateur | Module Utilisateurs
Profils d’organisation | Organisation | Module Organisations
Profils génériques | Autres définitions de profils. Par exemple, la définition de profil Adresse. | Module Éditeur de profils

Remarque

  • En ce qui concerne les schémas de Business Desk par défaut (Adresse, Objet utilisateur, Organisation et BlanketPOs), le fichier suivant contient les propriétés de tous les profils utilisés comme colonnes d’affichage à la page de recherche de profils de Business Desk : \inetpub\wwwroot\<nom_site_Business_Desk>\profiles\columns.xml.
  • Cette section contient les rubriques suivantes :
    • Profils utilisateur
    • Profils d’organisation
    • Profils génériques


Profils utilisateur

Les profils utilisateur contiennent des informations sur les utilisateurs. Le module Utilisateurs permet d’ajouter, de supprimer et de modifier des informations relatives à des utilisateurs inscrits et anonymes qui visitent votre site. Par exemple, vous pouvez modifier le mot de passe d’utilisateurs inscrits qui ont oublié le leur. La définition de profil Objet utilisateur permet de collecter des informations sur les utilisateurs. Le module Concepteur de définitions de profils permet de personnaliser la définition de profil Objet utilisateur en fonction des besoins de votre site.

Commerce Server prend en charge deux types d’utilisateurs :

  • Utilisateurs anonymes. Utilisateurs qui ne se sont pas abonnés pour avoir un compte sur votre site. Ces types d’utilisateurs ne peuvent accéder qu’à un contenu non sécurisé. Si vous souhaitez effectuer le suivi des utilisateurs anonymes sur votre site, vous pouvez leur délivrer un ticket MSCSProfile.
  • Utilisateurs inscrits. Utilisateurs qui s’abonnent pour avoir un compte sur votre site et qui disposent généralement d’un nom d’accès et d’un mot de passe. Les utilisateurs inscrits peuvent fournir des informations supplémentaires afin de profiter des avantages liés à leur inscription. Par exemple, lorsque l’authentification réussit, l’utilisateur inscrit obtient un ticket MSCSAuth qui l’autorise à accéder au contenu sécurisé.


Profils d'organisation

Envoyer des commentaires sur cette page Commerce Server 2002

Profils d’organisation

Les profils d’organisation contiennent des informations sur les organisations. Le terme organisation peut faire référence aux éléments suivants :

  • division ;
  • service ;
  • autre unité d’activité au sein d’une société ;
  • société externe jouant le rôle de partenaire commercial.

Une organisation est une entité désignée dans Business Desk comme source ou destination de l’échange d’informations commerciales.

Par exemple, vous définissez un profil d’organisation pour chaque service pour lequel le service formation de votre société assure des formations. La création d’un profil d’organisation pour chaque service présente les avantages suivants :

  • Le service formation peut utiliser Commerce Server pour gérer les relations avec ses clients internes, c’est-à-dire les autres services.
  • Le service formation peut utiliser un catalogue Commerce Server qui recense les cours en tant que produits.
  • Chaque service peut « acheter » des cours à partir du catalogue de formations.
  • Le service formation peut utiliser les profils d’organisation pour gérer les informations de contact de chaque service qui bénéficie d’une formation et exécuter des rapports représentant les ventes de formation réalisées auprès de chaque service.

Le module Organisations vous permet d’ajouter, de supprimer et de modifier des informations relatives aux profils d’organisation. La définition de profil Organisation permet de collecter des informations sur les organisations. Le module Concepteur de définitions de profils permet de personnaliser la définition de profil Organisation en fonction des besoins de votre site.

Si le développeur de votre site a créé votre site à partir du site solution vide, une définition de profil Organisation est incluse sur votre site. Vous pouvez utiliser la définition de profil Organisation pour spécifier des informations telles que celles qui suivent :

  • nom du contact principal ;
  • adresse ;
  • numéro de téléphone ;
  • nom du responsable des achats ;
  • groupe des catalogues disponibles pour l’organisation.

La définition de profil Organisation est conçue avec des propriétés faisant référence à des personnes, telles que des contacts administratifs et des responsables des achats. Les informations concernant les personnes référencées dans un profil d’organisation se trouvent dans le profil utilisateur de ces personnes. Vous pouvez utiliser le module Utilisateurs pour modifier les informations de profil utilisateur incorporées à partir du profil d’organisation. Vous avez aussi la possibilité de modifier des informations de profil utilisateur directement à l’aide du module Éditeur de profils.

Voir aussi

Ajout d’un profil utilisateur

Ajout d’un profil d’organisation


Profils génériques

Les profils génériques contiennent des informations génériques, notamment sur les adresses. Ils sont créés à l’aide d’une définition de profil générique, c’est-à-dire une définition de profil autre qu’une définition de profil Objet utilisateur ou Organisation. Si le développeur de votre site a créé votre site à partir du site solution vide, plusieurs définitions de profils d’organisation sont incluses sur votre site, y compris la définition de profil Adresse.

Votre administrateur système peut créer des définitions de profils qui répondent aux besoins de votre site en matière de collecte de données. Toutes les définitions de profils créées par votre administrateur système sont considérées comme étant des définitions de profils génériques. Cet état de fait reste vrai même si votre administrateur système crée une nouvelle définition de profil en copiant la définition de profil Objet utilisateur ou Organisation. Lorsque vous utilisez une définition de profil générique pour collecter des données, ces données sont stockées dans un profil générique et peuvent être modifiées à l’aide du module Éditeur de profils de Commerce Server Business Desk.

Le module Éditeur de profils vous permet de mettre à jour des profils génériques. Vous devez définir les deux attributs personnalisés suivants dans les définitions de profils génériques si vous souhaitez modifier des profils qui les utilisent comme base à l’aide de l’Éditeur de profils :

  • L’attribut sDisplayColumn affecte une propriété en tant qu’en-tête d’une colonne de l’écran Rechercher du module Éditeur de profils.

    Si la définition de profil ne possède pas d’attribut sDisplayColumn, Commerce Server Business Desk ne peut pas afficher les profils dans l’écran Rechercher du module Éditeur de profils. En outre, vous ne pouvez pas modifier les profils.

  • L’attribut sFriendlyName contrôle la propriété qui s’affiche en tant que colonne la plus à gauche de l’écran Rechercher du module Éditeur de profils et dans la barre de titre de l’écran Modifier le profil : <NomConvivial> du module Éditeur de profils. Pour plus d’informations sur les attributs personnalisés et la façon de les ajouter à une définition de profil, consultez Ajout de propriétés à une définition de profil.

Lorsque vous définissez les attributs personnalisés sDisplayColumn et sFriendlyName pour une définition de profil donnée, vous personnalisez l’Éditeur de profils afin de travailler avec les profils créés à l’aide de cette définition de profil. Vous pouvez personnaliser l’Éditeur de profils de façon à travailler avec un nombre illimité de définitions de profils (la seule limitation sera posée par les ressources système). Pour plus d’informations sur la définition des attributs personnalisés sDisplayColumn et sFriendlyName, consultez Ajout de propriétés à une définition de profil.


Structure d'un profil

Envoyer des commentaires sur cette page Commerce Server 2002

Structure d’un profil

Un profil est une instance unique d’une définition de profil contenant les données que celle-ci collecte.

Chaque profil est basé sur une seule définition de profil. Vous pouvez incorporer des définitions de profils pour créer des profils qui se feront mutuellement référence. Par exemple, en ajoutant une définition de profil Adresse à la définition de profil Objet utilisateur, vous pouvez collecter l’adresse d’un utilisateur et l’utilisateur peut faire référence à l’adresse. Utilisez le module Concepteur de définitions de profils de Commerce Server Business Desk pour modifier et gérer les définitions de profils.

Le tableau suivant montre un exemple de définition de profil Objet utilisateur, ainsi qu’une instance unique de l’exemple de définition de profil Objet utilisateur comportant les données de Philippe Tran.

Définition de profil :Objet utilisateur | Écran Profil :Philippe Tran
Prénom | Philippe
Nom | Tran
Ville | Seattle
Sexe | M
Âge | 52
Adresse de messagerie | philippetran@microsoft.com

Un profil Commerce Server se compose des éléments suivants :

  • Définition de profil. Description des données à collecter pour un type de profil déterminé. Vous pouvez posséder plusieurs profils basés sur une seule définition de profil. Par exemple, la définition de profil Objet utilisateur peut être utilisée pour créer un profil pour chaque utilisateur qui s’inscrit sur votre site. Les administrateurs système utilisent la ressource Profils du Gestionnaire Commerce Server pour créer des définitions de profils.
  • Propriété de profil. Caractéristique qui spécifie les données de profil à collecter lorsqu’un utilisateur visite votre site Web. Par exemple, la propriété Prénom indique que le prénom de l’utilisateur doit être collecté. Le module Concepteur de définitions de profils de Business Desk permet d’ajouter des propriétés de profil aux définitions de profils.
  • Attribut de profil. Caractéristique qui fournit des informations sur une propriété de profil, telles que son type de données (par exemple, nombre, chaîne, décimal et entrées du glossaire du site).


Définitions de profils

Une définition de profil est un ensemble de caractéristiques qui définissent les éléments à caractère commercial, tels qu’un utilisateur, une société ou un processus commercial. Si le développeur de votre site a utilisé un site solution pour créer votre site, vous devez disposer des cinq exemples de définitions de profils suivants :

  • Adresse
  • BlanketPOs (bons de commande)
  • Organisation
  • Contexte de ciblage
  • Objet utilisateur

Pour créer des définitions de profils supplémentaires pour votre site, travaillez avec votre administrateur système.

Par exemple, supposons que vous demandiez une nouvelle définition de profil nommée Musique et que vous souhaitiez stocker les propriétés de profil suivantes : Premier concert, Dernier concert, CD favori et deux autres propriétés que vous n’avez pas encore déterminées.

L’administrateur système crée la nouvelle définition de profil, Musique, qui sera assortie de cinq propriétés : les trois déjà identifiées et les deux restant à déterminer. L’administrateur système étend aussi votre base de données de profils en ajoutant le nombre de colonnes nécessaire au stockage des données collectées à l’aide des cinq propriétés de la définition de profil Musique.

Une fois que l’administrateur système a créé la définition de profil et étendu la base de données de profils, vous pouvez effectuer les opérations suivantes :

  • utiliser le module Concepteur de définitions de profils pour ajouter les trois premières propriétés et modifier les attributs des propriétés de profil que vous avez ajoutées ;
  • mapper les trois propriétés de profils avec trois des membres de données fournis par l’administrateur système vers les colonnes appropriées de la base de données.

Remarque

  • Votre administrateur système peut accomplir ces tâches en utilisant Commerce Server Business Desk ou le Gestionnaire Commerce Server.

Ultérieurement, lorsque vous déterminerez d’autres informations à collecter à l’aide de la définition de profil Musique, vous pourrez utiliser le module Concepteur de définitions de profils pour ajouter les deux propriétés restantes et les mapper vers les colonnes de base de données créées par votre administrateur système.

Voir aussi

Clés des définitions de profils

Ajout de propriétés à une définition de profil

Ajout d’une propriété mappée vers une entrée du glossaire du site

Suppression de propriétés d’une définition de profil

Incorporation d’une définition de profil


Clés des définitions de profils

Vous devez définir une ou plusieurs clés pour chaque définition de profil valide. Vous pouvez identifier les clés uniques, primaires, de jointure ou de hachage en examinant la propriété de type Clé dans la section Attributs avancés du module Concepteur de définitions de profils de Business Desk, ou dans la section Attributs avancés de propriété sélectionnée dans la définition de profil du Gestionnaire Commerce Server. Cette section explique comment définir les clés suivantes :

  • Clé unique
  • Clé primaire
  • Clé de jointure
  • Clé de hachage

Clé unique

Chaque propriété de définition de profil marquée comme clé est assorti de l’attribut Clé unique activé. Seules les propriétés de type de données string ou numeric peuvent être marquées en tant que clés. Une définition de profil peut comporter autant de clés que nécessaire, mais du point de vue des performances et de la mémoire, il est préférable de limiter au maximum le nombre de clés.

Les principales opérations de gestion des objets de profil du système de profil (CreateProfile, GetProfile, GetProfileByKey, DeleteProfile et DeleteProfileByKey) fonctionnent toutes uniquement avec des membres clés. Le système de profil ne garantit pas le caractère unique des propriétés marquées comme clés uniques. En revanche, il s’appuie sur les contraintes des objets dans les banques de données sous-jacentes (tables pour les bases de données relationnelles ou classes pour les banques d’annuaires) pour appliquer implicitement le caractère unique.

Clé primaire

Chaque définition de profil doit posséder une et une seule propriété de clé unique marquée comme clé primaire. Marquez de préférence comme clé primaire la propriété de profil la plus couramment utilisée pour opérer sur des instances d’objet de profil.

Une clé primaire est reconnaissable à un « P » rouge ou à un « D » vert (pour les clés composées – primaire et de jointure) devant la propriété dans le module Concepteur de définitions de profils de Business Desk ou dans la définition de profil de la ressource Profils du Gestionnaire Commerce Server.

Clé de jointure

Chaque définition de profil doit posséder une et une seule propriété de clé unique marquée comme clé de jointure. Pour des performances optimales, il est conseillé de marquer la clé primaire de la définition de profil également comme clé de jointure. Si vous ne fournissez pas de valeur pour la propriété de clé de jointure lorsque vous créez l’objet de profil, le système de profil génère automatiquement une valeur pour ce membre.

Une clé de jointure est reconnaissable à un « J » bleu ou à un « D » vert (pour les clés composées – primaire et de jointure) devant la propriété dans le module Concepteur de définitions de profils de Business Desk ou dans la définition de profil de la ressource Profils du Gestionnaire Commerce Server. Le système de profil utilise la propriété de clé de jointure pour assembler les fragments d’objets de profil stockés dans diverses banques de données. La valeur d’une propriété de clé de jointure est répliquée dans toutes les banques de données.

Remarque

  • Une propriété de clé de jointure qui a été validée dans les banques sous-jacentes ne peut plus être modifiée.

Clé de hachage

Chaque définition de profil peut posséder une propriété de clé unique marquée comme clé de hachage. La couche d’agrégation des profils utilise la propriété de clé de hachage pour hacher un objet de profil vers une partition unique au sein d’une source de données. La présence d’une propriété de clé de hachage constitue le seul moyen qui permette d’indiquer que les instances d’une définition de profil seront stockées dans plusieurs partitions d’une source de données. L’absence de cette propriété aboutit au stockage de toutes les instances du profil dans la partition par défaut.

Choisissez de préférence comme clé de hachage la clé de jointure de la définition de profil. Pour des performances optimales, il est conseillé de marquer la même propriété en tant que clé primaire, clé de jointure et clé de hachage.

Vous pouvez identifier une clé de hachage en examinant la clé de hachage dans la section Attributs avancés du module Concepteur de définitions de profils de Business Desk ou dans la définition de profil de la ressource Profils du Gestionnaire Commerce Server.

Remarque

  • Lorsqu’un objet de profil a été validé dans les banques sous-jacentes, la valeur de la propriété de clé de hachage ne peut plus être modifiée.

Important

Pour les banques ANSI SQL partitionnées uniquement, les opérations d’extraction des objets de profil basées sur une clé autre qu’une clé de hachage et sur la méthode GetInfo de l’objet ProfileObject peuvent échouer. Ce n’est toutefois pas le cas pour les banques compatibles LDAP version 3.

La figure suivante représente la liste déroulante Type de clé et la case à cocher Clé de hachage (en rouge).

Clé de hachage

Copyright © 1996–2002 Microsoft Corporation.
Tous droits réservés.


Considérations relatives à la conception dans le système de profil

Cette section décrit les considérations suivantes pour une conception efficace des définitions de profils :

  • Clés
  • Mappages de types de données recommandés
  • Autres considérations

Clés

Le choix des membres clés appropriés peut vous aider à optimiser les performances du système de profil. Pour définir efficacement des clés dans la définition de profil, répondez aux questions suivantes, puis utilisez le tableau pour trouver l’instruction correspondante :

  • Question 1. La propriété de clé primaire doit-elle pouvoir être modifiée après validation de l’objet dans les banques sous-jacentes ?
  • Question 2. Les données doivent-elles être partitionnées au sein d’une source de données ?
Instruction | Question 1 | Question 2
Utiliser la même propriété en tant que clé primaire et clé de jointure. | Non | Non
Utiliser la même propriété en tant que clé primaire, clé de jointure et clé de hachage. Cette configuration optimise les performances des opérations du système de profil dans les scénarios partitionnés. | Non | Oui
Ne pas utiliser la même propriété en tant que clé primaire et clé de jointure. | Oui | Non
Ne pas utiliser la même propriété en tant que clé primaire et clé de jointure. Toutefois, utiliser la même propriété en tant que clé de jointure et clé de hachage. Cette configuration offre des performances moindres pour les opérations d’objets de profil basées sur une propriété de clé autre qu’une clé de hachage (ou de jointure). | Oui | Oui

Mappages de types de données recommandés

Les tableaux suivants présentent les mappages recommandés entre les types de données du système de profil et les types de données pris en charge par SQL Server, Oracle, Active Directory et l’annuaire d’abonnement.

Banques ANSI SQL

Type de données du système de profil | Type de données SQL Server | Type de données Oracle
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

Banques LDAP-v3

Type de données du système de profil | Type de données Active Directory | Type de données de l’annuaire d’abonnement
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

Remarque

  • Pour les banques ANSI SQL, le système de profil ne prend en charge les valeurs multiples que pour le type de données string. Pour les banques LDAP-v3, le système de profil prend en charge les valeurs multiples pour tous les types de données, à l’exception de longtext et image.

Autres considérations

Le tableau suivant décrit d’autres points à prendre en compte pour créer efficacement des définitions de profils.

Considération de conception | Description
Restrictions sur les clauses WHERE | Le fournisseur OLE DB pour Commerce Server requiert que toutes les propriétés contenues dans les clauses WHERE des requêtes qui lui sont passées soient mappées vers la même banque sous-jacente. Cette restriction prend toute son importance lorsque vous concevez des définitions de profils qui regroupent des données de plusieurs objets de données.
Limitations relatives à la taille des données | Pour obtenir une description détaillée de chacun des types de données exposés par le système de profil, consultez « Composants d’une définition de profil », à l’emplacement « Administration de Commerce Server/Exécution de la ressource Profils/À propos de la ressource Profils/Définitions de profils/ » dans l’aide de Commerce Server 2002.
Caractères valides dans les noms des objets | Les noms des objets de définition de profil, tels que ProfileDefinitionName, ProfilePropertyName, etc., ne doivent être composés que de caractères alphanumériques et de traits de soulignement (_).


Considérations relatives à l'exécution dans le système de profil

Envoyer des commentaires sur cette page Commerce Server 2002

Considérations relatives à l’exécution dans le système de profil

Cette section décrit les considérations suivantes relatives à l’exécution dans le système de profil :

  • Descripteurs CSOLEDB
  • Accès aux propriétés
  • Prise en charge des transactions
  • Validation de la taille des données

Descripteurs CSOLEDB

Vous devez toujours stocker les descripteurs du système de profil et du fournisseur OLE DB pour Commerce Server avec une étendue application. En effet, les descripteurs CSOLEDB ont été conçus de telle façon qu’ils créent un objet une fois dans le fichier Global.asa, le stockent avec une étendue application, puis l’utilisent sur chaque page ASP. Les descripteurs CSOLEDB coordonnent les problèmes de concurrence qui peuvent survenir lorsque plusieurs requêtes sont traitées simultanément. Ils gèrent également la tolérance de pannes des connexions aux banques sous-jacentes afin d’assurer un traitement fiable des requêtes.

Accès aux propriétés

Le système de profil propose un certain nombre de mécanismes pour accéder aux propriétés des objets de profil. Par exemple, vous trouverez ci-dessous différents moyens d’accéder à la propriété GeneralInfo.user_id d’un objet ProfileObject nommé oUser :

  • Accès à l’aide de la notation standard des objets de données ActiveX de Microsoft (ADO) :
    oUser.Fields.Item("GeneralInfo").Value.Item("user_id").Value
oUser.Fields("GeneralInfo").Value("user_id").Value
  • Accès à l’aide de la notation étendue avec point :
    oUser.Fields("GeneralInfo.user_id"
  • Accès à l’aide de la notation de diffusion intelligente :
    oUser.GeneralInfo.user_id

La différence en termes de performances entre ces différentes possibilités est insignifiante.

Prise en charge des transactions

Par défaut, le système de profil ne prend pas en charge les opérations d’écriture dans plusieurs banques de données. Plus précisément, il ne prend pas en charge l’exécution d’un protocole de validation à deux phases dans les banques de données transactionnelles.

Le système de profil propose une prise en charge souple pour les transactions. La couche d’agrégation des données regroupe dans une transaction les opérations de banque de données INSERT, UPDATE et DELETE (insertion, mise à jour et suppression) réparties dans diverses banques et ne les valide que lorsque toutes les opérations de banque de données ont été correctement effectuées sur des banques de données non transactionnelles (comme les banques d’annuaires).

Vous pouvez autoriser une prise en charge souple en créant un attribut personnalisé nommé IsTransactioned dans la définition de profil et en lui affectant la valeur True. Si cet attribut est absent ou si vous lui avez affecté la valeur False, cette fonctionnalité est désactivée.

Validation de la taille des données

Le système de profil n’effectue aucune validation de la taille des données. Il dépend, en termes de validation, de celle effectuée dans les banques de données sous-jacentes.


Exemples de définitions de profils

Les sites solutions Commerce Server comportent cinq exemples de définitions de profils. Si le développeur de votre site a utilisé un site solution pour créer votre site, vous devez disposer des cinq définitions de profils et de leurs propriétés répertoriées dans le tableau suivant.

Définitions de profil | Propriétés (type de données) | Description
Adresse | Identificateur de l’adresse (chaîne) | Identificateur de l’adresse
 | Identificateur d’organisation (chaîne) | Référence à un profil d’organisation
 | Nom (chaîne) | Nom de l’utilisateur
 | Prénom (chaîne) | Prénom de l’utilisateur
 | Nom de l’adresse (chaîne) | Nom de cette adresse
 | Type d’adresse (nombre) | Adresse/adresse de livraison/adresse de facturation
 | Description (chaîne) | Description de cette adresse
 | Adresse (1re ligne) (chaîne) | Première ligne de l’adresse
 | Adresse (2e ligne) (chaîne) | Deuxième ligne de l’adresse
 | Ville (chaîne) | Nom de la ville
 | Code de région (chaîne) | Code de département, région ou province
 | Nom de département (chaîne) | Nom de département, région ou province
 | Code postal (chaîne) | Code postal
 | Code de pays (chaîne) | Code ISO (Country International Standards Organization)
 | Nom de pays (chaîne) | Nom du pays
 | Numéro de téléphone (chaîne) | Numéro de téléphone à cette adresse
 | Numéro de poste (chaîne) | Numéro de poste à cette adresse
 | Identificateur de paramètre régional (nombre) | Paramètre régional de représentation du formulaire d’adresse
 | Modifié par (chaîne) | Nom de la personne ayant modifié ce profil pour la dernière fois
 | Date de dernière modification (date/heure) | Date de la dernière modification de ce profil
 | Date de création (date/heure) | Date de création de ce profil
BlanketPOs | Identificateur du bon de commande (chaîne) | GUID faisant référence au bon de commande standard
 | Identificateur d’organisation (chaîne) | Référence à un profil d’organisation
 | Numéro du bon de commande (chaîne) | Numéro de bon de commande standard
 | Description (chaîne) | Description du bon de commande
 | Modifié par (chaîne) | Nom de la personne ayant modifié ce profil pour la dernière fois
 | Date de dernière modification (date/heure) | Date de la dernière modification de ce profil
 | Date de création (date/heure) | Date de création de ce profil
Organisation | Identificateur d’organisation (chaîne) | Identificateur d’organisation
 | Nom (chaîne) | Nom de l’organisation
 | Numéro de partenaire commercial (chaîne) | Numéro de partenaire commercial
 | Contact administratif (chaîne) | Référence à un profil d’objet utilisateur pour le contact administratif
 | Récepteur (chaîne) | Référence à un profil d’objet utilisateur pour le récepteur
 | Groupe de catalogues de l’organisation (chaîne) | Groupe de catalogues de l’organisation
 | Modifié par (chaîne) | Nom de la personne ayant modifié ce profil pour la dernière fois
 | Responsable des achats (chaîne) | Identificateur d’utilisateur du responsable des achats de l’organisation
 | Date de dernière modification (date/heure) | Date de la dernière modification de ce profil
 | Date de création (date/heure) | Date de création de ce profil
Objet utilisateur | Identificateur d’utilisateur (chaîne) | Identificateur d’utilisateur
 | Nom d’ouverture de session (chaîne) | Nom d’ouverture de session
 | Mot de passe de l’utilisateur (mot de passe) | Mot de passe de l’utilisateur
 | Messagerie (chaîne) | Adresse de messagerie
 | Type d’utilisateur (nombre) | Type d’utilisateur
 | Titre de l’utilisateur (chaîne) | Titre de l’utilisateur
 | Nom (chaîne) | Nom de l’utilisateur
 | Prénom (chaîne) | Prénom de l’utilisateur
 | Numéro de téléphone (chaîne) | Numéro de téléphone de l’utilisateur
 | Numéro de poste (chaîne) | Numéro de poste de l’utilisateur
 | Numéro de télécopie (chaîne) | Numéro de télécopie de l’utilisateur
 | Numéro de poste de télécopie (chaîne) | Numéro de poste de télécopie de l’utilisateur
 | Modifié par (chaîne) | Nom de la personne ayant modifié ce profil pour la dernière fois
 | Langue par défaut | Langue par défaut
 | Identificateur d’organisation (chaîne) | Identificateur d’organisation
 | État du compte (nombre) | État du compte
 | Groupe de catalogues de l’utilisateur (chaîne) | Groupe de catalogues de l’utilisateur
 | Date d’inscription (date/heure) | Date d’inscription de l’utilisateur
 | Historique de la campagne marketing (chaîne) | Historique de la campagne marketing
 | Indicateurs de rôles du Service Partenaire | Rôle du Service Partenaire
 | Date de dernière modification (date/heure) | Date de la dernière modification de ce profil
 | Date de création (date/heure) | Date de création de ce profil
Contexte de ciblage | Groupe de pages (chaîne) | Nom du groupe de pages (par exemple, pages de sports)

La définition de profil Objet utilisateur comprend cinq membres de données inutilisés et prévoit cinq colonnes de base de données inutilisées qui vous permettront d’ajouter jusqu’à cinq propriétés à la définition de profil Objet utilisateur et de les mapper sans faire appel à votre administrateur système pour l’extension de votre base de données.

Voir aussi

Ajout de propriétés à une définition de profil

Ajout d’une propriété mappée vers une entrée du glossaire du site

Suppression de propriétés d’une définition de profil

Incorporation d’une définition de profil


Définitions de profils incorporées

Vous pouvez créer une relation entre deux définitions de profils en incorporant une définition de profil dans une autre. Cette relation sert à créer des profils liés hiérarchiquement les uns aux autres. Vous pouvez créer jusqu’à quatre niveaux de définitions de profils incorporées pour limiter l’utilisation des ressources clientes. En tant que développeur du site, vous pouvez configurer plus de quatre niveaux.

Avec les définitions de profils incorporées, vous pouvez :

  • incorporer une définition de profil par propriété de profil ;
  • créer plusieurs propriétés définies en tant que définitions de profils incorporées dans une seule définition de profil ;
  • marquer une propriété de type profil comme propriété à valeurs multiples, qui vous permettra de collecter plusieurs instances des données de profil ;
  • marquer une propriété de type profil comme propriété à valeur unique, qui vous permettra de collecter une seule instance des données de profil avec cette propriété.

Par exemple, vous pouvez ajouter une propriété à valeurs multiples à la définition de profil Organisation appelée Employés et utiliser la définition de profil Objet utilisateur comme référence de type de la propriété Employés. Vous pouvez utiliser cette structure pour collecter les données de profil de tous les employés d’une organisation.

Les valeurs multiples d’une propriété de profil sont stockées dans la colonne de base de données mappée en tant que chaîne séparée par un point-virgule(;).

Pour être en mesure d’effectuer des recherches et des mises à jour sur un profil d’organisation, ajoutez le nom de l’organisation aux profils utilisateur créés avec la propriété Employé de la définition de profil Organisation.

Si vous ajoutez une propriété à valeur unique nommée Adresse à la définition de profil Objet utilisateur, avec la définition de profil Adresse comme référence de type, vous pourrez collecter une adresse pour chaque ensemble de données utilisateur collecté avec la propriété Employé de la définition de profil Organisation. Vous pouvez modifier jusqu’à quatre niveaux de profils.

Si vous collectez des variantes spécifiques du même type de données, par exemple, les adresses de livraison et de facturation de chaque utilisateur, créez une propriété de profil pour chaque type d’adresse. Vous saurez ainsi quel type d’adresse vous modifiez lorsque vous y accéderez depuis le profil utilisateur.

Une fois que vous avez mis à jour la définition de profil et utilisé le module Publier les profils pour mettre à jour les informations de la définition de profil sur votre site Web, le concepteur de votre site Web peut utiliser la méthode GetProfile ou GetProfileByKey pour récupérer l’objet ProfileObject correspondant à la valeur de clé primaire spécifiée et au type de schéma des définitions de profils d’adresse incorporées pour ajouter les propriétés de la définition de profil Adresse à votre site Web.

Après ajout de la définition de profil Adresse à votre site Web, vous pouvez utiliser les clés primaires collectées dans les propriétés d’adresse du profil utilisateur à partir des profils d’adresse associés pour afficher les données du profil d’adresse accompagnées des données du profil utilisateur associé.

Incorporation des définitions de profils Adresse et Objet utilisateur

Le fait d’incorporer des définitions de profils permet créer une relation entre deux profils. Par exemple, vous pouvez créer une relation entre la définition de profil Adresse et la définition de profil Objet utilisateur. Vous pouvez étendre la définition de profil Objet utilisateur afin de collecter les informations d’adresse de deux façons :

  • incorporer la définition de profil Adresse dans la définition de profil Objet utilisateur ;
  • ajouter des propriétés de profil d’adresse à la définition de profil Objet utilisateur.

Le tableau suivant montre une relation créée par incorporation dans la définition de profil Objet utilisateur de la définition de profil Adresse. Lorsque l’utilisateur, Philippe Tran, fournit ses informations d’adresse, la clé primaire du profil d’adresse qui lui est associé devient la valeur de la propriété Adresse de facturation de son profil utilisateur. (Voir texte en gras.)

Propriété de la définition de profil Objet utilisateur | Valeur de la propriété dans le profil utilisateur | Propriété de la définition de profil Adresse | Valeur de la propriété dans le profil d’adresse
Nom | PhilippeTran | Identificateur de l’adresse | Adresse.PhilippeTran
Adresse de facturation (définition de profil Adresse incorporée) | Adresse.PhilippeTran | Rue | 2, rue Pierre-Demoulin

Lorsque vous incorporez la définition de profil Adresse dans la définition de profil Objet utilisateur, vous créez une relation entre un profil utilisateur et un profil d’adresse pour chaque utilisateur qui s’inscrit sur votre site Web et fournit des informations d’adresse.

Vous pouvez incorporer plusieurs définitions de profils dans une même définition de profil. Vous pouvez ainsi facilement employer cette technique pour collecter plusieurs adresses par utilisateur, comme une adresse de livraison et une adresse de facturation. Avec une définition de profil incorporée, vous pouvez également définir une propriété comme propriété à valeurs multiples, qui vous permettra de collecter plusieurs versions des données de profil.

Pour plus d’informations sur l’incorporation d’une définition de profil, consultez Incorporation d’une définition de profil.

Voir aussi

Ajout de propriétés à une définition de profil

Ajout d’une propriété mappée vers une entrée du glossaire du site

Suppression de propriétés d’une définition de profil

Incorporation d’une définition de profil


Propriétés de profil

Une fois que l’administrateur système a créé une définition de profil, vous pouvez ajouter des propriétés de profil à l’aide du module Concepteur de définitions de profils de Business Desk.

Les propriétés de profil déterminent les informations à collecter dans un profil. Par exemple, la définition d’un profil Objet utilisateur peut contenir les propriétés suivantes : prénom, nom, ville, sexe, âge et adresse de messagerie. Vous pouvez organiser les propriétés de profil liées en groupes.

La figure suivante montre les différentes parties d’un exemple de définition de profil Objet utilisateur.

Figure illustrant un exemple de définition de profil.

Vous pouvez créer les types de propriétés de profil suivants :

Remarque

  • Commerce Server 2002 prend en charge le jeu de caractères Unicode, à l’exception des clés de remplacement.
Type de propriété | Description de la propriété
Chaîne | Stocke jusqu’à 4 000 caractères. Les propriétés de type chaîne effectuent un mappage vers les membres de données de type chaîne.
Chaîne de type long | Stocke jusqu’à 2 à la puissance 17 (217) caractères. Les propriétés de type chaîne de type long effectuent un mappage vers les membres de données de type chaîne.
Nombre | Stocke des nombres entiers. La longueur maximale d’une propriété de type nombre est déterminée par la banque de données. Les propriétés de type nombre effectuent un mappage vers les membres de données de type nombre.
Décimal | Stocke des nombres à virgule flottante. La longueur maximale d’une propriété de type décimal est déterminée par la banque de données. Les propriétés de type décimal effectuent un mappage vers les membres de données nombre.
Booléen | Stocke une des deux valeurs (vrai/faux, oui/non ou 1/0). Les propriétés de type booléen effectuent un mappage vers les membres de données de type booléen.
Binaire | Stocke des données binaires d’une taille maximale de 4 Ko. Les propriétés de type binaire effectuent un mappage vers les membres de données de type binaire.
Binaire de type long | Stocke le contenu, tel que des feuilles de calcul, des documents, des graphiques et des sons jusqu’à la taille maximale de 128 Ko. Les propriétés de type binaire de type long effectuent un mappage vers les membres de données de type binaire.
Date/Heure | Valeur composite de la date et de l’heure. Le format utilisé et la longueur maximale sont déterminés par la banque de données. Les propriétés de type date/heure effectuent un mappage vers les membres de données de type date/heure.
Date | Contient des valeurs de dates comprises entre le 1/1/1950 et le 31/12/2049. Le format utilisé et la longueur maximale sont déterminés par la banque de données. Les propriétés de type date effectuent un mappage vers les membres de données de type date/heure.
Heure | Contient les valeurs heure, minute, seconde et milliseconde. Le format utilisé et la longueur maximale sont déterminés par la banque de données. Les propriétés d’heure effectuent un mappage vers les membres de données date/heure.
Devise | Accepte des nombres au format devise. Le format devise utilisé et la longueur maximale sont déterminés par la banque de données. Les propriétés de type devise effectuent un mappage vers les membres de données de type devise.
Mot de passe | Accepte du texte et est traitée comme une chaîne par la ressource Profils. Commerce Server Business Desk affiche la valeur stockée dans une propriété de mot de passe sous la forme d’astérisques (*). Pour éviter de perdre des données, remplacez toujours l’intégralité du mot de passe. Les propriétés de type mot de passe effectuent un mappage vers les membres de données de type chaîne et ne doivent pas excéder 255 caractères Unicode.
Entrée du glossaire du site Les propriétés d’entrée du glossaire du site sont associées à une entrée du glossaire du site. Les propriétés d’entrée du glossaire du site peuvent être à valeur unique ou à valeurs multiples.
  • Les propriétés d’entrée du glossaire du site à valeur unique permettent aux utilisateurs de ne sélectionner qu’une valeur.
  • Les propriétés d’entrée du glossaire du site à valeurs multiples permettent aux utilisateurs de sélectionner plusieurs valeurs.

Par exemple, votre application peut permettre aux utilisateurs de sélectionner plusieurs valeurs d’entrée du glossaire du site en appuyant sur la touche CTRL et en cliquant sur leurs choix dans une liste déroulante d’entrées du glossaire du site.

Les valeurs stockées dans cette propriété doivent être des valeurs valides de la liste de noms des entrées associée aux entrées du glossaire du site. Les propriétés de type entrée du glossaire du site effectuent un mappage vers les membres de données de type chaîne et ne doivent pas excéder 255 caractères Unicode. Les valeurs multiples d’une propriété d’entrée du glossaire du site sont stockées sous la forme d’une chaîne séparée par un point-virgule.
Profil Associée à une définition de profil. Une propriété contenant une définition de profil incorporée peut être à valeur unique ou à valeurs multiples. Les valeurs stockées dans cette propriété doivent être la clé primaire d’instances spécifiques des profils associés.

Une propriété à valeur unique contenant une définition de profil incorporée permet la création d’un seul profil avec la définition de profil incorporée. Une propriété à valeurs multiples contenant une définition de profil incorporée permet la création d’un nombre illimité de profils (limité uniquement par la capacité du système) avec la définition de profil incorporée.

Les propriétés de profil effectuent un mappage vers les membres de données de type chaîne et ne doivent pas excéder 255 caractères Unicode. Vous pouvez incorporer un nombre illimité de définitions de profils dans une même définition de profil. Le module Éditeur de profils permet de modifier jusqu’à quatre niveaux de profils incorporés, y compris le profil conteneur, à partir de ce dernier.


Attributs de profil

Chaque propriété de profil possède des attributs. Les attributs fournissent des informations sur la propriété. Par exemple, la propriété Prénom possède les attributs suivants : Nom, Nom complet, Description et Type.

Les attributs incluent des informations telles que le type de données de la propriété de profil (par exemple, nombre, texte, décimal ou entrée du glossaire du site) et indiquent si la propriété est à valeur unique (par exemple, une seule valeur Prénom autorisée) ou à valeurs multiples.

Il existe deux types d’attributs particuliers :

  • Attributs de profil personnalisés.
  • Attributs de profil avancés.

Attributs de profil personnalisés

Les attributs de profil personnalisés sont spécifiques aux applications. Vous pouvez définir des attributs personnalisés pour des propriétés. Par exemple, vous pouvez créer un attribut personnalisé qui contrôle la façon dont une propriété est affichée sur une page de site Web. Pour plus d’informations sur l’ajout d’attributs de profil personnalisés à une propriété, consultez Ajout d’attributs personnalisés à une propriété de profil.

Les attributs personnalisés contrôlent la façon dont le module Éditeur de profils affiche un profil générique dans les écrans Rechercher et Edit Profile.

Pour les profils génériques récemment créés, vous devez définir les attributs personnalisés sDisplayColumn et sFriendlyName. Si ces attributs ne sont pas définis, le bouton Rechercher ne sera pas activé et vous ne serez pas en mesure de rechercher les instances de ces profils.

  • sDisplayColumn. Nom complet de la propriété affichée sous forme de nom de colonne dans l’écran Rechercher.

    Les propriétés assorties de l’attribut personnalisé sDisplayColumn s’affichent dans l’écran Rechercher de gauche à droite, selon l’ordre dans lequel ils apparaissent dans la liste Propriétés de l’écran Profil. La valeur de l’attribut personnalisé sDisplayColumn détermine la largeur relative de la colonne pour cette propriété. Par exemple, si la valeur de la largeur de la colonne pour la première propriété est deux et celle de la deuxième propriété est quatre, la deuxième colonne est deux fois plus large que la première.

    Remarques

    • Cet attribut respecte la casse et a une largeur maximale de 100.
    • Lorsqu’un profil contient une seule propriété pour laquelle l’attribut personnalisé sDisplayColumn est défini, la colonne d’affichage du profil est, par défaut, triée par ordre croissant sur cette propriété.
    • Les propriétés assorties de cet attribut ne peuvent pas être définies en tant que clé de jointure ou clé composée.
    • Les propriétés assorties de cet attribut ne peuvent pas constituer de référence à une entrée du glossaire du site ou à un type de profil et ne peuvent pas être mappées vers un membre de données.
  • sFriendlyName. Le nom complet de la propriété s’affiche dans la barre de titre de l’écran Modifier le profil <NomConvivialProfil>.

    Le nom complet de la propriété sert également de première colonne à gauche dans l’écran Rechercher.

    Remarques

    • Cet attribut respecte la casse.
    • Les propriétés assorties de cet attribut ne peuvent pas être définies en tant que clé de jointure ou clé composée.
    • Les propriétés assorties de cet attribut ne peuvent pas constituer de référence à une entrée du glossaire du site ou à un type de profil et ne peuvent pas être mappées vers un membre de données.

Attributs de profil avancés

Les attributs de profil avancés permettent de modifier la façon dont vos applications utilisent une propriété de profil.

Le tableau suivant répertorie les attributs avancés et décrit leur rôle.

Attribut | Rôle
Activée Indique si cette propriété est disponible dans le système de profils. Les propriétés inactives ne sont pas affichées dans Business Desk.

Remarque

  • Une propriété ne peut être active que si elle est mappée vers des données.
Mapper vers les données | Membre de données vers lequel la propriété effectue le mappage. Vous pouvez ajouter, supprimer ou modifier des profils en fonction d’une définition de profil donnée uniquement si cette définition de profil comporte au moins une propriété mappée.
Type de clé Vous pouvez attribuer quatre types de clés :
  • Clé unique. Indique que la valeur de cette propriété est unique pour tous les membres. Vous mappez un attribut qui est spécifié comme clé unique vers un champ unique d’une base de données SQL Server ou vers un attribut unique d’une source LDAP (Lightweight Directory Access Protocol).

    Clé unique s’affiche à droite d’une propriété à laquelle une clé unique a été attribuée.

  • Clé primaire. Indique que la valeur de cette propriété est unique pour tous les membres. Vous mappez un attribut qui est spécifié comme clé primaire vers un champ unique d’une base de données SQL Server ou vers un attribut unique d’une source LDAP. La clé primaire est utilisée pour lier des profils créés avec des définitions de profils incorporées.

    Clé primaire s’affiche à gauche d’une propriété à laquelle une clé primaire a été attribuée.

  • Clé de jointure. Établit une relation entre plusieurs banques de données par l’intermédiaire d’une propriété commune dans le service Profils. Pour modifier une propriété définie comme clé de jointure utilisée pour collecter des données, vous devez supprimer les colonnes de base de données qui contiennent les données de la clé de jointure. Après avoir supprimé les colonnes de base de données, vous devez effectuer la migration des anciennes données dans les nouvelles colonnes de base de données. Commerce Server 2002 ne prend pas en charge les modifications de la propriété de clé de jointure lorsque vous avez conservé les données.

    Clé de jointure s’affiche à gauche d’une propriété à laquelle une clé de jointure a été attribuée.

  • Clé composée (primaire et de jointure). Indique que la valeur de cette propriété est unique et établit une relation entre cette propriété et une propriété se trouvant dans une autre banque de données.

    Clé composée s’affiche à gauche d’une propriété à laquelle une clé composée a été attribuée.

Requis Indique que la propriété est obligatoire.

Remarque

  • Si une propriété est obligatoire, elle doit également être active.
Exporté | Indique que la propriété est importée dans le Data Warehouse.
Différer le chargement du cache | Indique que cette propriété n’est pas chargée initialement lors de la récupération du profil, mais qu’elle sera chargée lorsqu’elle sera sollicitée.
À valeurs multiples Active la capture d’une collection de valeurs associées à la propriété.

Remarque

  • Les propriétés à valeurs multiples n’offrent pas de possibilité de recherche.
Possibilité de recherche Indique que cette propriété est indexée dans la banque de données sous-jacente et qu’elle peut faire l’objet de recherches à l’aide de la fonction Rechercher par. Vous mappez un attribut pouvant faire l’objet d’une recherche vers un champ indexé de la base de données SQL Server ou de la source LDAP.

Remarque

  • Les propriétés offrant une possibilité de recherche ne peuvent pas être à valeurs multiples.
RDN (Relative Distinguished Name) | Tapez le RDN (Relative Distinguished Name) pour une banque d’annuaires. Si cet attribut est défini pour une propriété, ce membre effectue un mappage vers l’attribut RDN d’une classe LDAP (Lightweight Directory Access Protocol) de la banque sous-jacente. Cela ne s’applique pas au fournisseur OLE DB pour les sources Microsoft Commerce Server (OLE DB) ou tout autre type de source de données.
Clé de hachage | Indique que cette propriété sera utilisée pour répartir des instances du profil entre plusieurs partitions. Pour récupérer ce profil, vous devez effectuer une requête sur cette clé.

Utilisation de clés de hachage pour stocker des données de définitions de profils dans plusieurs bases de données

Une clé de hachage est une clé unique qui est utilisée pour maintenir ensemble les données provenant d’une même source (dans le cas présent, une définition de profil), même si elles sont physiquement stockées dans plusieurs bases de données. Les sources de données utilisent une clé de hachage pour partitionner les données entre plusieurs bases de données. La ressource Profils (ou le module Concepteur de définitions de profils de Commerce Server Business Desk) permet de sélectionner une propriété de profil qui sera la clé de hachage d’une définition de profil.

Si vous ne définissez pas une propriété de profil comme clé de hachage, toutes les données collectées avec une définition de profil sont stockées dans la base de données attribuée à la partition par défaut. Une fois que vous avez défini une clé de hachage, vous ne pouvez pas la redéfinir. Pour plus d’informations sur la définition d’une clé de hachage, consultez Ajout de propriétés à une définition de profil.

Voir aussi

Ajout de propriétés à une définition de profil

Ajout d’attributs personnalisés à une propriété de profil


Entrées du glossaire du site

Une entrée du glossaire du site est un type de données que vous créez. Il s’agit d’une liste de valeurs spécifiques pertinentes pour votre site. Une entrée du glossaire du site vous permet d’attribuer cette liste de valeurs à une propriété en tant qu’attribut.

Vous pouvez créer deux types d’entrées du glossaire du site :

  • Entrées du glossaire du site à valeur unique. Lorsque des utilisateurs visiteront votre site, ils ne pourront sélectionner qu’une valeur dans la liste déroulante des entrées du glossaire du site.
  • Entrées du glossaire du site à valeurs multiples. Lorsque des utilisateurs visiteront votre site, ils pourront sélectionner plusieurs valeurs dans la liste déroulante des entrées du glossaire du site. Par exemple, vous pouvez avoir une entrée du glossaire du site à valeurs multiples qui permettra aux utilisateurs de sélectionner plusieurs centres d’intérêt ou plusieurs destinations de rêve pour leurs vacances.

    En utilisant une entrée du glossaire du site à plusieurs valeurs pour permettre aux utilisateurs de sélectionner plusieurs choix similaires (deux centres d’intérêt, par exemple), vous pouvez réduire la redondance des questions que vous leur posez tout en collectant une plus vaste gamme d’informations de leur part (comme un intérêt particulier pour les voyages à destination de Paris ou de Mexico). Les valeurs sélectionnées par un utilisateur pour une entrée du glossaire du site sont stockées sous forme de chaînes séparées par des points-virgules.

Par exemple, si vous créez une entrée du glossaire du site pour la couleur préférée, vous fournissez une liste des couleurs dans laquelle les utilisateurs sélectionnent leur couleur préférée. L’entrée du glossaire du site Couleur préférée restreint le choix des couleurs aux couleurs que vous incluez. Cela nécessite que les utilisateurs qui préfèrent des variations du violet, telles que la couleur mauve, pourpre ou lavande, choisissent le violet.

Le module Éditeur d’entrées du glossaire du site permet de créer et de gérer des entrées du glossaire du site.

Vous utilisez des entrées du glossaire du site pour :

  • uniformiser et limiter les choix proposés lorsqu’une entrée de l’utilisateur est requise sur votre site ;
  • éviter des variations orthographiques dans les entrées des utilisateurs ;
  • faire correspondre des valeurs, telles que la couleur d’un produit et la couleur préférée d’un utilisateur, de manière à cibler un contenu en fonction des utilisateurs. Par exemple, si la propriété de couleur d’un produit est « violet », vous pouvez la faire correspondre avec l’entrée du glossaire du site Couleur préférée, puis diffuser aux utilisateurs des publicités du produit de couleur violette.

Sur votre site Web, les entrées du glossaire du site sont présentées aux utilisateurs dans un formulaire, en tant que sélections à effectuer dans des zones de liste déroulantes.

Voir aussi

Groupes d’entrées du glossaire du site

Exemples d’entrées du glossaire du site

Création d’un groupe d’entrées du glossaire du site

Création d’une entrée du glossaire du site


Groupes d'entrées du glossaire du site

Envoyer des commentaires sur cette page Commerce Server 2002

Groupes d’entrées du glossaire du site

Les groupes d’entrées du glossaire du site permettent d’organiser des entrées du glossaire du site dans l’Éditeur d’entrées du glossaire du site. Par exemple, supposons que vous disposez de 50 entrées du glossaire du site et que vous en utilisez 10 pour collecter des informations sur les produits préférés d’un utilisateur, 20 pour collecter des informations sur le mode de vie d’un utilisateur et 20 pour collecter des informations sur les opinions d’un utilisateur à propos de l’actualité. Vous pouvez créer un groupe d’entrées du glossaire du site nommé Produits pour les entrées du glossaire du site relatives aux produits préférés, un groupe nommé Mode de vie pour les entrées du glossaire du site relatives au mode de vie et un groupe nommé Opinions pour les entrées du glossaire du site relatives aux opinions.

Voir aussi

Entrées du glossaire du site

Exemples d’entrées du glossaire du site

Création d’un groupe d’entrées du glossaire du site

Création d’une entrée du glossaire du site


Exemples d'entrées du glossaire du site

Envoyer des commentaires sur cette page Commerce Server 2002

Exemples d’entrées du glossaire du site

Les sites solutions Commerce Server comportent des exemples d’entrées du glossaire du site. Si le développeur de votre site a utilisé un site solution pour créer votre site, vous devez disposer des groupes d’entrées du glossaire du site, des entrées du glossaire du site et des valeurs énumérés ci-dessous.

Groupe d’entrées du glossaire du site | Entrées du glossaire du site | Valeurs
Entrées du glossaire du site de l’utilisateur | État du compte | Compte actif Compte inactif
 | Rôle utilisateur | Utilisateur ordinaire Administrateur
 | Type d’utilisateur | Utilisateur anonyme Utilisateur inscrit
 | Langues | Par exemple : Anglais Français Allemand Japonais Espagnol
Entrées du glossaire du site du calendrier | Jours | Dimanche Lundi Mardi Mercredi Jeudi Vendredi Samedi
 | Mois | Janvier Février Mars Avril Mai Juin Juillet Août Septembre Octobre Novembre Décembre

Voir aussi

Création d’un groupe d’entrées du glossaire du site

Création d’une entrée du glossaire du site


Groupes Active Directory

Le module Gestionnaire de groupe vous permet de gérer les appartenances des utilisateurs aux groupes Active Directory. Le module Gestionnaire de groupe requiert :

  • que votre administrateur système base votre site et Business Desk sur le site solution SupplierActiveDirectory ;
  • qu’au moins une propriété de la définition de profil Objet utilisateur soit mappée vers une source de données Active Directory ;
  • que votre administrateur système crée des groupes Active Directory et leur accorde des privilèges d’accès au site.

Le module Gestionnaire de groupe vous permet d’ajouter et de supprimer des utilisateurs de groupes Active Directory. Lorsqu’un utilisateur est ajouté à un groupe Active Directory, il dispose du niveau d’accès à votre site spécifié pour ce groupe Active Directory.

Cette section contient les rubriques suivantes :

Utilisation de groupes Active Directory pour gérer l’accès des utilisateurs à votre site

Voir aussi

Ajout d’utilisateurs à un groupe Active Directory

Ajout de groupes à un groupe Active Directory


Utilisation de groupes Active Directory pour gérer l'accès des utilisateurs à votre site

Envoyer des commentaires sur cette page Commerce Server 2002

Utilisation de groupes Active Directory pour gérer l’accès des utilisateurs à votre site

Commerce Server Business Desk fournit le module Gestionnaire de groupe pour la gestion des appartenances des utilisateurs aux groupes Active Directory. Le module Gestionnaire de groupe requiert :

  • que votre site et Business Desk soient basés sur le site solution SupplierActiveDirectory ;
  • qu’au moins une propriété de la définition de profil Objet utilisateur soit mappée vers une source de données Active Directory ;
  • que vous créiez des groupes Active Directory dans le Gestionnaire Commerce Server avec le Gestionnaire de groupes Active Directory de Windows.

Le Gestionnaire de groupes Active Directory permet de créer des groupes Active Directory pour lesquels vous spécifiez des droits d’accès. Le chef d’entreprise utilise le module Gestionnaire de groupe de Business Desk pour ajouter et supprimer des utilisateurs de groupes Active Directory. Lorsqu’un utilisateur est ajouté à un groupe Active Directory, il dispose du niveau d’accès à votre site spécifié pour ce groupe Active Directory.

Pour plus d’informations sur la création de groupes Active Directory, consultez l’aide de Microsoft Windows.

Voir aussi

Ajout d’utilisateurs à un groupe Active Directory

Ajout de groupes à un groupe Active Directory


Méthodes conseillées pour les profils de Business Desk

Cette rubrique présente les méthodes conseillées pour la création et la gestion de vos profils.

  • Utilisez le module Autorisations de la catégorie Sécurité pour attribuer des autorisations aux profils, définitions de profils, entrées du glossaire du site et propriétés de profil.
  • Lorsque vous créez des propriétés de profil, vous devez utiliser des chaînes Unicode. Commerce Server 2002 ne prend pas en charge les chaînes non-Unicode dans les propriétés de profil.
  • Pour pouvoir baser un nouveau profil sur une définition de profil générique, la définition de profil en question doit contenir deux attributs personnalisés :
    • L’attribut sDisplayColumn affecte une propriété en tant qu’en-tête d’une colonne de l’écran Rechercher du module Éditeur de profils. Si la définition de profil ne possède pas d’attribut sDisplayColumn, Commerce Server Business Desk ne peut pas afficher les profils créés avec ce profil dans l’écran Rechercher du module Éditeur de profils, et vous ne pouvez pas modifier les profils.
    • L’attribut sFriendlyName contrôle la propriété qui s’affiche en tant que colonne la plus à gauche de l’écran Rechercher du module Éditeur de profils et dans la barre de titre de l’écran Modifier le profil : <NomConvivial> du module Éditeur de profils. Pour plus d’informations sur les attributs personnalisés et la façon de les ajouter à une définition de profil, consultez Ajout de propriétés à une définition de profil.
  • Publiez les modifications apportées aux profils de votre site Web durant les heures creuses. Si vous publiez les modifications apportées aux profils sur votre site Web pendant une période de forte activité, vous risquez de bloquer le site.


Création d'un groupe d'entrées du glossaire du site

Envoyer des commentaires sur cette page Commerce Server 2002

Création d’un groupe d’entrées du glossaire du site

Le module Éditeur d’entrées du glossaire du site permet de créer des groupes d’entrées du glossaire du site afin d’organiser les entrées du glossaire du site associées. Par exemple, si vous créez des entrées du glossaire du site ayant trait aux centres d’intérêt, vous pouvez créer un groupe d’entrées du glossaire du site pour chaque catégorie de centres d’intérêt, comme loisirs créatifs et voyages, et au sein de chaque groupe de catégorie, créer une entrée du glossaire du site pour chaque activité citée dans cette catégorie. Par exemple, vous pouvez créer les groupes d’entrées du glossaire du site suivants :

Groupe d’entrées du glossaire du site Loisirs créatifs contenant les entrées suivantes :

  • Ateliers (couture, confection de poupées, estampage)
  • Arts plastiques (dessin, peinture, sculpture)
  • Théâtre (jeu, production)
  • Musique (classique, jazz, rock)

Groupe d’entrées du glossaire du site Voyages contenant les entrées suivantes :

  • Croisières (Caraïbes, Europe, Chine, Alaska)
  • Voyages organisés (Londres, Paris, Mexico, Hong Kong, Washington D.C.)
  • Aventures (rafting, escalade, randonnées cyclistes)

Les groupes d’entrées du glossaire du site sont affichés dans la liste Structure des entrées du glossaire du site dans l’écran Éditeur d’entrées du glossaire du site avec une flèche de direction à gauche du nom du groupe. Cliquez sur cette flèche pour développer la liste des entrées du glossaire du site.

Vous devez avoir accès aux modules Profils pour apporter les modifications aux entrées du glossaire du site, aux définitions de profils et aux profils. Pour plus d’informations sur les autorisations Business Desk, consultez À propos de la sécurité Business Desk.

Pour créer un groupe d’entrées du glossaire du site

  1. Dans Profils, cliquez sur Éditeur d’entrées du glossaire du site.
  2. Dans l’écran Éditeur d’entrées du glossaire du site, cliquez sur Ajouter.
    Remarques
    • Vous pouvez créer une hiérarchie de groupes d’entrées du glossaire du site pour organiser vos entrées du glossaire du site. Pour créer une hiérarchie de groupes d’entrées du glossaire du site, il suffit de sélectionner un groupe d’entrées du glossaire du site existant auquel vous souhaitez ajouter un nouveau groupe d’entrées du glossaire du site, puis de cliquer sur Ajouter.
    • Si un groupe d’entrées du glossaire du site est sélectionné, le nouveau groupe que vous créez se trouvera dessous. Si vous souhaitez désélectionner un groupe d’entrées du glossaire du site avant d’ajouter un nouveau groupe, vous devez cliquer sur Retour dans la barre d’outils, puis, dans Profils, cliquer sur Éditeur d’entrées du glossaire du site.
  3. Dans la boîte de dialogue Ajouter, sélectionnez Ajouter un nouveau groupe, puis cliquez sur OK.
  4. Dans l’écran Éditeur d’entrées du glossaire du site, dans la section Attributs, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper un nom de programmation pour le nouveau groupe d’entrées du glossaire du site. Ce nom ne peut pas excéder 128 caractères et doit contenir uniquement des caractères alphanumériques et des traits de soulignement (_). Le nom ne peut pas contenir d’espace.
    Nom complet | Taper un nom complet pour le nouveau groupe d’entrées du glossaire du site. Le nom complet ne peut pas excéder 128 caractères.
    Description | Taper une description pour le nouveau groupe d’entrées du glossaire du site.
  5. Pour appliquer le nouveau groupe d’entrées du glossaire du site et l’afficher dans la liste Structure des entrées du glossaire du site, cliquez sur Appliquer.

    Remarque

    • Vous pouvez ajouter autant de groupes d’entrées du glossaire du site que nécessaire. Cliquez sur Ajouter pour ajouter un autre groupe d’entrées du glossaire du site.
  6. Pour enregistrer les nouveaux groupes d’entrées du glossaire du site et revenir à l’écran Business Desk principal, cliquez sur Enregistrer et retour dans la barre d’outils.

Les groupes d’entrées du glossaire du site sont alors enregistrés. Vous pouvez maintenant utiliser le groupe d’entrées du glossaire du site pour organiser vos entrées du glossaire du site.

Voir aussi

Déroulement des opérations pour la gestion des profils

Création d’une entrée du glossaire du site

Modification des entrées du glossaire du site

Ajout d’une entrée au glossaire du site


Création d'une entrée du glossaire du site

Envoyer des commentaires sur cette page Commerce Server 2002

Création d’une entrée du glossaire du site

Le module Éditeur d’entrées du glossaire du site permet de créer des entrées du glossaire du site et d’ajouter ensuite des entrées (valeurs) à vos entrées du glossaire du site.

Vous devez avoir accès aux modules Profils pour apporter les modifications aux entrées du glossaire du site, aux définitions de profils et aux profils. Pour plus d’informations sur les autorisations Business Desk, consultez À propos de la sécurité Business Desk.

Pour ajouter une entrée du glossaire du site

  1. Dans Profils, cliquez sur Éditeur d’entrées du glossaire du site.
  2. Dans l’écran Éditeur d’entrées du glossaire du site, sélectionnez le groupe auquel vous voulez ajouter l’entrée du glossaire du site, puis cliquez sur Ajouter.
  3. Dans la boîte de dialogue Ajouter, sélectionnez l’option Ajouter une nouvelle entrée du glossaire du site, puis cliquez sur OK.
  4. Dans l’écran Éditeur d’entrées du glossaire du site, dans la section Attributs de l’entrée du glossaire du site, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper un nom de programmation pour la nouvelle entrée du glossaire du site, par exemple, Couleur_préférée. Ce nom ne peut pas excéder 128 caractères et doit contenir uniquement des caractères alphanumériques et des traits de soulignement (_). Le nom ne peut pas contenir d’espace.
    Nom complet | Taper le nom de la nouvelle entrée du glossaire du site tel qu’il apparaîtra aux yeux des utilisateurs sur le site Web. Par exemple, Couleur préférée. Le nom complet ne peut pas excéder 128 caractères.
    Description | Taper une description d’identification pour la nouvelle entrée du glossaire du site.
  5. Pour appliquer la nouvelle entrée du glossaire du site et l’afficher dans la liste Structure des entrées du glossaire du site, cliquez sur Appliquer.

    Remarque

    • Vous pouvez ajouter autant d’entrées du glossaire du site que nécessaire. Cliquez sur Ajouter pour ajouter une autre entrée du glossaire du site.
  6. Pour enregistrer les nouvelles entrées du glossaire du site et revenir à l’écran Business Desk, cliquez sur Enregistrer et retour dans la barre d’outils.

Les entrées du glossaire du site sont alors enregistrées. Vous pouvez maintenant ajouter des valeurs à la nouvelle entrée du glossaire du site. Pour plus d’informations sur l’ajout d’entrées au glossaire du site, consultez Ajout d’une entrée au glossaire du site.

Voir aussi

Création d’un groupe d’entrées du glossaire du site

Ajout d’une propriété mappée vers une entrée du glossaire du site

Ajout d’une entrée au glossaire du site


Ajout d'une entrée au glossaire du site

Envoyer des commentaires sur cette page Commerce Server 2002

Ajout d’une entrée au glossaire du site

Le module Éditeur d’entrées du glossaire du site permet d’ajouter des termes (valeurs) à vos entrées du glossaire du site.

Vous devez avoir accès aux modules Profils pour apporter les modifications aux entrées du glossaire du site, aux définitions de profils et aux profils. Pour plus d’informations sur les autorisations Business Desk, consultez À propos de la sécurité Business Desk.

Pour ajouter une entrée au glossaire du site

  1. Dans Profils, cliquez sur Éditeur d’entrées du glossaire du site.
  2. Dans l’écran Éditeur d’entrées du glossaire du site, développez le groupe d’entrées du glossaire du site qui contient l’entrée à laquelle vous voulez ajouter les valeurs, puis sélectionnez cette entrée.
  3. Dans l’écran Éditeur d’entrées du glossaire du site, dans la section Entrées du glossaire, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom de l’entrée du glossaire | Cliquer sur Nouveau, puis taper un nom pour la nouvelle entrée du glossaire. Une entrée du glossaire du site est représentée par une valeur. Par exemple, vous pouvez taper Rouge, Bleu, Vert et Jaune comme valeurs de l’entrée du glossaire du site Couleur_préférée. Ce nom ne peut pas excéder 128 caractères et doit contenir uniquement des caractères alphanumériques et des traits de soulignement (_). Le nom ne peut pas contenir d’espace.
    Nom complet | Taper le nom de la nouvelle entrée du glossaire tel qu’il apparaîtra aux yeux des utilisateurs sur le site Web. Le nom complet ne peut pas excéder 128 caractères.
  4. Pour ajouter la nouvelle valeur à l’entrée du glossaire du site et l’afficher dans la liste des entrées du glossaire du site, cliquez sur Accepter.

    Remarque

    • Vous pouvez ajouter autant d’entrées que nécessaire à la nouvelle entrée du glossaire du site. Cliquez sur Nouveau pour ajouter une autre entrée du glossaire.
  5. Pour appliquer l’entrée du glossaire du site avec les nouvelles valeurs, cliquez sur Appliquer.
  6. Pour enregistrer l’entrée du glossaire du site avec les nouvelles valeurs et revenir à l’écran Business Desk, cliquez sur Enregistrer et retour dans la barre d’outils.

L’entrée du glossaire du site est alors enregistrée. Vous pouvez maintenant ajouter l’entrée du glossaire du site à une définition de profil

Après avoir créé vos entrées du glossaire du site, vous pouvez configurer une définition de profil de sorte qu’elle les inclue. Par exemple, vous pouvez créer une entrée du glossaire du site Couleur_préférée et l’ajouter à la définition de profil Objet utilisateur. Lorsque les utilisateurs répondront à la question Couleur préférée sur votre site Web, ils sélectionneront leur couleur préférée dans une liste déroulante contenant les valeurs que vous avez tapées dans l’entrée du glossaire du site Couleur_préférée.

Voir aussi

Ajout d’une propriété mappée vers une entrée du glossaire du site

À propos de la sécurité Business Desk


Création d'une définition de profil

Envoyer des commentaires sur cette page Commerce Server 2002

Création d’une définition de profil

Votre administrateur système peut créer des définitions de profils génériques répondant aux besoins de votre entreprise grâce à la ressource Profil du Gestionnaire Commerce Server. Les profils génériques constituent des définitions de profils génériques, c’est-à-dire de profils qui ne sont ni utilisateur ni d’organisation, comme une définition de profil Adresse. Le module Éditeur de profils permet de modifier et de supprimer des profils créés à l’aide de définitions de profils génériques.

L’administrateur système doit effectuer les tâches suivantes avant de créer une définition de profil :

  1. déterminer l’emplacement de stockage des données de profil ;
  2. créer l’espace dans lequel seront stockées les données, en ajoutant par exemple des colonnes à une base de données ;
  3. créer les membres de données qui serviront à mapper (connecter) chacune des données collectées avec une définition de profil vers son emplacement de stockage.

Les sites solutions Commerce Server comportent les exemples de définitions de profils suivants :

  • Adresse
  • BlanketPOs (bons de commande)
  • Organisation
  • Contexte de ciblage
  • Objet utilisateur

La définition de profil Objet utilisateur comprend cinq membres de données inutilisés et prévoit cinq colonnes de base de données inutilisées qui vous permettront d’ajouter jusqu’à cinq propriétés à la définition de profil Objet utilisateur et de les mapper sans faire appel à votre administrateur système pour l’extension de votre base de données. Pour obtenir la liste des propriétés associée à chaque profil, consultez Exemples de définitions de profils.

Voir aussi

Création d’une définition de profil dans la ressource Profils


Ajout d'un groupe de propriétés à une définition de profil

Envoyer des commentaires sur cette page Commerce Server 2002

Ajout d’un groupe de propriétés à une définition de profil

Le module Concepteur de définitions de profils permet d’ajouter des groupes de propriétés à des définitions de profils. Les groupes de propriétés vous permettent d’organiser les propriétés de profil dans le module Concepteur de définitions de profils. Par exemple, supposons que vous pouvez ajouter 50 propriétés à la définition de profil Objet utilisateur pour collecter les données sur les produits préférés, les modes de vie et les opinions sur l’actualité des utilisateurs qui visitent votre site Web. Vous pouvez créer des groupes de propriétés, tels que Produit, Mode de vie et Opinions pour organiser les propriétés de sorte qu’ils soient faciles à trouver dans la liste Propriétés de l’écran Concepteur de définitions de profils.

Les groupes de propriétés sont affichés dans la liste Propriétés de l’écran Concepteur de définitions de Profils avec une flèche de direction à gauche du nom du groupe. Cliquez sur cette flèche pour développer la liste des propriétés.

Vous devez avoir accès aux modules Profils pour apporter les modifications aux entrées du glossaire du site, aux définitions de profils et aux profils. Pour plus d’informations sur les autorisations Business Desk, consultez À propos de la sécurité Business Desk.

Pour ajouter un nouveau groupe de propriétés

  1. Dans Profils, cliquez sur Concepteur de définitions de profils.
  2. Dans l’écran Profils, sélectionnez la définition de profil à laquelle vous souhaitez ajouter un nouveau groupe de propriétés, puis cliquez sur Ouvrir dans la barre d’outils.
  3. Dans l’écran Profil : <définition profil>, dans la liste Propriétés, cliquez sur Ajouter.

    Remarques

    • Vous pouvez créer une hiérarchie de groupes de propriétés pour organiser vos propriétés de profil. Pour créer une hiérarchie de groupes de propriétés, il suffit de sélectionner un groupe de propriétés existant auquel vous souhaitez ajouter un nouveau groupe de propriétés, puis de cliquer sur Ajouter.
    • Si un groupe de propriétés est sélectionné, le nouveau groupe que vous créez se trouvera dessous. Si vous souhaitez désélectionner un groupe de propriétés avant d’ajouter un nouveau groupe, vous devez cliquer sur Retour dans la barre d’outils, puis, dans Profils, cliquer sur Concepteur de définitions de profils.
  4. Dans la boîte de dialogue Ajouter, sélectionnez l’option Ajouter un nouveau groupe, puis cliquez sur Oui.
  5. Dans la section Attributs, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper un nom de programmation pour le nouveau groupe de propriétés. Ce nom ne peut pas excéder 128 caractères et doit contenir uniquement des caractères alphanumériques et des traits de soulignement (_). Le nom ne peut pas contenir d’espace.
    Nom complet | Taper un nom complet pour le nouveau groupe de propriétés. Le nom complet ne peut pas excéder 128 caractères.
    Description | Taper une description pour le nouveau groupe de propriétés.
  6. Pour appliquer le nouveau groupe de propriétés et l’afficher dans la liste Propriétés, cliquez sur Appliquer.
  7. Pour enregistrer le groupe de propriétés et revenir à l’écran Profils, cliquez sur Enregistrer et retour dans la barre d’outils.

La définition de profil est enregistrée avec le nouveau groupe de propriétés. Vous pouvez maintenant placer les propriétés existantes dans le nouveau groupe ou créer des propriétés pour le nouveau groupe. Pour plus d’informations sur le déplacement des propriétés, consultez Déplacement de propriétés de profil. Après avoir ajouté un groupe de propriétés à une définition de profil, vous devez publier les modifications sur votre site Web. Pour plus d’informations sur la publication de vos modifications, consultez Publication des modifications apportées aux définitions de profils sur votre site Web.

Voir aussi

Ajout d’attributs personnalisés à une propriété de profil

Définitions de profils

Propriétés de profil

Ajout de propriétés à une définition de profil

Modification de propriétés de profil


Ajout de propriétés à une définition de profil

Le module Définition de profil permet d’ajouter des propriétés aux définitions de profils et de définir les attributs des nouvelles propriétés.

Les propriétés de profil spécifient les données qui seront collectées lorsqu’un utilisateur visitera votre site Web. Par exemple, la propriété de profil Prénom indique que le prénom de l’utilisateur doit être collecté.

Cette section contient les rubriques suivantes :

  • Ajout d’une nouvelle propriété à une définition de profil
  • Mappage d’une propriété vers un membre de données
  • Ajout d’attributs personnalisés à une propriété de profil


Ajout d'une nouvelle propriété à une définition de profil

Envoyer des commentaires sur cette page Commerce Server 2002

Ajout d’une nouvelle propriété à une définition de profil

Chaque propriété de profil dispose d’attributs qui définissent les caractéristiques des informations collectées par la propriété. Par exemple, vous pouvez utiliser les attributs de la propriété de profil Prénom pour définir une propriété en tant que chaîne à valeur unique qui sera exportée vers le Data Warehouse.

Pour ajouter une nouvelle propriété

  1. Dans Profils, cliquez sur Concepteur de définitions de profils.
  2. Dans l’écran Profils, sélectionnez la définition de profil à laquelle vous voulez ajouter une propriété, puis cliquez sur Ouvrir dans la barre d’outils.
  3. Dans l’écran Profil : <définition profil>, dans la liste Propriétés, sélectionnez le groupe de propriétés auquel vous voulez ajouter la nouvelle propriété, puis cliquez sur Ajouter.
    Remarque
    • Si vous ne sélectionnez pas de groupe de propriétés, la nouvelle propriété ne sera pas organisée par groupe de propriétés et apparaîtra au même niveau que les groupes de propriétés.
  4. Dans la boîte de dialogue Ajouter, sélectionnez l’option Ajouter une nouvelle propriété, puis cliquez sur OK.
  5. Dans la section Attributs, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper un nom de programmation pour la propriété. Ce nom ne peut pas excéder 128 caractères et doit contenir uniquement des caractères alphanumériques et des traits de soulignement (_). Le nom ne peut pas contenir d’espace.
    Nom complet | Taper un nom complet pour la propriété. Le nom complet ne peut pas excéder 128 caractères.
    Description | Taper une description pour la propriété.
    Type Sélectionner le type de propriété dans la liste déroulante. Une propriété peut être de l’un des types suivants :
    • Chaîne
    • Chaîne de type long
    • Nombre
    • Décimal
    • Booléen
    • Binaire
    • Binaire de type long
    • Date/Heure
    • Date
    • Heure
    • Devise
    • Mot de passe
    • Entrée du glossaire du site
    • Profil

    Remarque

    • Pour plus d’informations sur l’ajout d’une propriété mappée vers une entrée du glossaire du site, consultez Ajout d’une propriété mappée vers une entrée du glossaire du site.
    • Pour plus d’informations sur la création d’une relation entre deux définitions de profils, consultez Incorporation d’une définition de profil.
  6. Dans la section Attributs avancés, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Activée | Spécifier si la nouvelle propriété est Active ou Inactive.
    Mapper vers les données Cliquer sur le bouton de sélection […] pour ouvrir la boîte de dialogue Sélecteur de source de données.

    Dans la boîte de dialogue Sélecteur de source de données, sélectionner le membre de données pour la propriété. Les membres de données disponibles pour la propriété sont ceux qui ne sont pas déjà utilisés dans la définition de profil que vous modifiez. Les propriétés actuellement utilisées par la définition de profil ne sont pas disponibles.

    Si vous ne mappez pas la propriété vers un membre de données, la propriété ne sera pas stockée dans une base de données, mais sera disponible dans la mémoire ; par exemple, pour stocker les informations sur le département lorsqu’un utilisateur visite votre site Web.

    Type de clé Sélectionner le type de clé dans la liste déroulante :
    • Clé unique. Indique que la valeur de cette propriété est unique pour tous les membres. Vous mappez un attribut qui est spécifié comme clé unique vers un champ unique d’une base de données SQL Server ou vers un attribut unique d’une source LDAP (Lightweight Directory Access Protocol).
    • Clé primaire. Indique que la valeur de cette propriété est unique pour tous les membres. Vous mappez un attribut qui est spécifié comme clé primaire vers un champ primaire d’une base de données SQL Server ou vers un attribut unique d’une source LDAP. La clé primaire est utilisée pour lier des profils créés avec des définitions de profils incorporées.
    • Clé de jointure. Établit une relation entre cette propriété et une autre propriété se trouvant dans une autre banque de données du service Profils. Pour modifier une propriété définie comme clé de jointure utilisée pour collecter des données, vous devez supprimer les colonnes de base de données qui contiennent les données de la clé de jointure. Après avoir fait migré les anciennes données dans les nouvelles colonnes de base de données, vous devez supprimer les colonnes de base de données. Commerce Server 2002 ne prend pas en charge les modifications de la propriété de clé de jointure lorsque vous avez conservé les données.
    • Clé composée (primaire et de jointure). Indique que la valeur de cette propriété est unique et établit une relation entre cette propriété et une propriété se trouvant dans une autre banque de données.
    Cryptée | Commerce Server 2002 prend en charge deux types de cryptage : le cryptage asymétrique et le hachage à sens unique. Commerce Server 2002 ne prend pas en charge le cryptage symétrique. Voir Ajout de propriétés cryptées à une définition de profil.
    Requis | Indiquer que cette propriété doit contenir une valeur.
    Exportée | Indiquer que cette propriété sera exportée vers le Data Warehouse.
    Différer le chargement du cache | Indiquer que la propriété ne sera renvoyée que lorsqu’elle sera sollicitée de façon explicite.
    À valeurs multiples | Indiquer que la propriété accepte plus d’une valeur.
    Possibilité de recherche | Indiquer que la propriété pourra être utilisée par la fonction de recherche du site Web.
    RDN | Considérer cette propriété comme le nom RDN (Relative Distinguished Name) de tous les profils à mapper vers des sources LDAP. Cela ne s’applique pas au fournisseur OLE DB pour les sources Microsoft Commerce Server (OLE DB) ou tout autre type de source de données.
    Clé de hachage | Spécifier que cette valeur de propriété sera hachée et utilisée pour déterminer dans quelle partition de source de données seront stockées les données de profil.
  7. Pour appliquer la nouvelle propriété et l’afficher dans la liste Propriétés, cliquez sur Appliquer.
  8. Pour enregistrer la propriété, cliquez sur Enregistrer dans la barre d’outils pour enregistrer le profil.

La définition de profil est enregistrée avec la nouvelle propriété. Après avoir ajouté une propriété à une définition de profil, vous devez publier les modifications sur votre site Web. Pour plus d’informations sur la publication de vos modifications, consultez Publication des modifications apportées aux définitions de profils sur votre site Web.


Mappage d'une propriété vers un membre de données

Envoyer des commentaires sur cette page Commerce Server 2002

Mappage d’une propriété vers un membre de données

Si vous ne mappez pas la propriété vers un membre de données, la propriété ne sera pas stockée dans une base de données, mais sera disponible dans la mémoire ; par exemple, pour stocker les informations sur le département lorsqu’un utilisateur visite votre site Web.

Les membres de données disponibles pour la propriété sont ceux qui ne sont pas déjà utilisés dans la définition de profil que vous modifiez. Les propriétés actuellement utilisées par la définition de profil ne sont pas disponibles. Pour plus d’informations, consultez Ajout d’une nouvelle propriété à une définition de profil.

Pour mapper vers les données

  1. Dans Profils, cliquez sur Concepteur de définitions de profils.
  2. Dans l’écran Profils, sélectionnez la définition de profil qui contient la propriété à laquelle vous souhaitez ajouter l’attribut personnalisé.
  3. Cliquer sur le bouton de sélection […] pour ouvrir la boîte de dialogue Sélecteur de source de données.
  4. Dans la boîte de dialogue Sélecteur de source de données, sélectionner le membre de données pour la propriété.


Ajout d'attributs personnalisés à une propriété de profil

Envoyer des commentaires sur cette page Commerce Server 2002

Ajout d’attributs personnalisés à une propriété de profil

Le Concepteur de définitions de profils vous permet d’ajouter des attributs personnalisés à une propriété de profil. Les attributs personnalisés permettent de définir des caractéristiques de propriétés de profil qui ne sont pas disponibles dans les attributs existants. Par exemple, vous pouvez créer des attributs personnalisés qui fournissent une sécurité de niveau propriété ou des informations de gestion des erreurs. Pour plus d’informations sur les attributs de propriétés de profil, consultez Attributs de profil.

Vous devez définir les attributs personnalisés sDisplayColumn et sFriendlyName pour modifier un profil générique particulier dans l’Éditeur de profils.

L’attribut personnalisé sDisplayColumn permet de spécifier les données de profil qui sont affichées et utilisées pour identifier les profils sur l’écran Rechercher du module Éditeur de profils pour une définition de profil générique donnée. L’attribut personnalisé sFriendlyName permet de spécifier les données de profil qui sont affichées et utilisées pour identifier le profil en cours de modification dans la barre de titre de l’écran Modifier le profil du module Éditeur de profils. Vous pouvez utiliser ces attributs personnalisés pour tout profil. Pour plus d’informations sur les attributs de profil personnalisés, consultez Attributs de profil personnalisés.

Remarque

  • Lorsqu’un profil contient une seule propriété pour laquelle l’attribut personnalisé sDisplayColumn est défini, la colonne d’affichage du profil est, par défaut, triée par ordre croissant sur cette propriété.

Vous devez avoir accès aux modules Profils pour apporter les modifications aux entrées du glossaire du site, aux définitions de profils et aux profils. Pour plus d’informations sur les autorisations Business Desk, consultez À propos de la sécurité Business Desk.

Pour ajouter l’attribut personnalisé sDisplayColumn

Pour ajouter l’attribut personnalisé sFriendlyName

Pour ajouter l’attribut personnalisé sDisplayColumn

  1. Dans Profils, cliquez sur Concepteur de définitions de profils.
  2. Dans l’écran Profils, sélectionnez la définition de profil qui contient la propriété à laquelle vous souhaitez ajouter l’attribut personnalisé, puis cliquez sur [image] dans la barre d’outils.
  3. Dans l’écran Profil : <définition profile>, dans la liste Propriétés, développez le groupe contenant la propriété à laquelle vous voulez ajouter un attribut personnalisé, puis sélectionnez la propriété.
  4. Dans la section Attributs personnalisés, cliquez sur Nouveau, puis effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom Taper sDisplayColumn.

    Remarque

    • Cet attribut respecte la casse.
    Nom complet | Taper Nom colonne.
    Description | Taper une description de l’attribut.
    Valeur Taper la valeur de l’attribut. La valeur de cet attribut de colonne détermine la largeur relative de la colonne pour la propriété dans l’écran Rechercher.

    Par exemple, si vous affectez la valeur 2 à l’attribut sDisplayColumn de cette propriété et la valeur 4 à l’attribut sDisplayColumn d’une autre propriété, la colonne de cette propriété sera deux fois plus large que celle de la première.
  5. Cliquez sur Accepter.

    Remarque

    • Vous pouvez répéter les étapes 4 et 5 pour ajouter autant d’attributs personnalisés que nécessaire pour cette propriété.
  6. Pour appliquer le nouvel attribut personnalisé à la propriété sélectionnée, cliquez sur Appliquer.
  7. Pour enregistrer la définition de profil avec le nouvel attribut personnalisé et revenir à l’écran Profils, cliquez sur Enregistrer et retour dans la barre d’outils.

La définition de profil est enregistrée avec le nouvel attribut personnalisé sDisplayColumn.

Pour ajouter l’attribut personnalisé sFriendlyName

  1. Dans Profils, cliquez sur Concepteur de définitions de profils.
  2. Dans l’écran Profils, sélectionnez la définition de profil qui contient la propriété à laquelle vous souhaitez ajouter un attribut personnalisé, puis cliquez sur [image] dans la barre d’outils.
  3. Dans l’écran Profil, dans la liste Propriétés, développez le groupe contenant la propriété à laquelle vous voulez ajouter l’attribut personnalisé, puis sélectionnez la propriété.
  4. Dans la section Attributs personnalisés, cliquez sur Nouvelle, puis effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom Taper sFriendlyName.

    Remarque

    Cet attribut respecte la casse.

    Nom complet | Taper Nom convivial.
    Description | Taper une description de l’attribut.
    Valeur | La valeur de l’attribut sFriendlyName n’est pas utilisée.
  5. Cliquez sur Accepter.

    Remarque

    • Vous pouvez répéter les étapes 4 et 5 pour ajouter autant d’attributs personnalisés que nécessaire pour cette propriété.
  6. Pour appliquer le nouvel attribut personnalisé, cliquez sur Appliquer.
  7. Pour enregistrer la définition de profil avec le nouvel attribut personnalisé et revenir à l’écran Profils, cliquez sur Enregistrer et retour dans la barre d’outils.

La définition de profil est enregistrée avec le nouvel attribut personnalisé. Une propriété assortie de l’attribut personnalisé sFriendlyName est la première colonne qui s’affiche dans l’écran Rechercher. Si vous ajoutez l’attribut personnalisé sFriendlyName à plusieurs propriétés de la définition de profil, la première propriété (dans la liste Propriétés de l’écran Profil) utilisée comme nom convivial s’affiche dans la barre de titre de l’écran Modifier le profil.

Après avoir apporté des modifications à une définition de profil, vous devez publier les modifications sur votre site Web. Pour plus d’informations sur la publication de vos modifications, consultez Publication des modifications apportées aux définitions de profils sur votre site Web.

Le tableau suivant répertorie les attributs personnalisés de propriété de profil.

Attribut personnalisé | Description | Valeurs
DWMembername | Spécifie le nom du membre de données (dans ce cas-ci, une colonne d’une table) dans le Data Warehouse où la propriété de profil sera stockée. Si le nom de membre (colonne) n’existe pas dans la classe (table) spécifiée du Data Warehouse, la tâche DTS Importation des données du profil utilisateur le créera. | Nom de la colonne dans le Data Warehouse.
IsTransactioned | Spécifie la prise en charge des transactions d’écriture dans plusieurs banques de données transactionnelles. | True = Activé False = Désactivé
sAnonymousAccess | Spécifie l’accès de l’utilisateur anonyme à la propriété dans la page Service clientèle du site Web. | 0 = Masquer aux utilisateurs anonymes 1 = Lecture seule 2 = Modifiable
sDelegatedAdminAccess | Spécifie l’accès de l’administrateur délégué à la propriété dans la page Service clientèle du site Web. | 0 = Masquer aux administrateurs 1 = Lecture seule 2 = Modifiable
sDisplayColumn | Spécifie les données de profil qui sont affichées et utilisées pour identifier les profils sur l’écran Rechercher du module Éditeur de profils pour une définition de profil générique donnée. Lorsqu’un profil contient une seule propriété pour laquelle l’attribut personnalisé sDisplayColumn est défini, la colonne d’affichage du profil est, par défaut, triée par ordre croissant sur cette propriété. | La valeur détermine la largeur relative de la colonne pour cette propriété. Cet attribut respecte la casse et ne peut pas être défini en tant que clé de jointure ou clé composée.
sFeatureID | Spécifie les scénarios de site pour lesquels la propriété est affichée dans le Service clientèle et dans le Service partenaire du site Web. | 0 = Toujours afficher. 1 = Afficher uniquement lorsque le site prend en charge les options de l’administrateur délégué. 3 = Afficher uniquement lorsque le site utilise Active Directory.
sFriendlyName | Spécifie les données de profil qui sont affichées et utilisées pour identifier le profil en cours de modification dans la barre de titre de l’écran Modifier le profil du module Éditeur de profils. | Cet attribut respecte la casse et ne peut pas être défini en tant que clé de jointure ou clé composée. La valeur de l’attribut sFriendlyName n’est pas utilisée.
sSearchOptions | Indique qu’une propriété particulière est disponible pour l’utilisateur dans les options de recherche du site. | NONE = La propriété n’est disponible pour aucune opération de recherche. ALL = La propriété est disponible pour les opérations de recherche simples et avancées. ADVANCED = La propriété est disponible pour les opérations de recherche avancée uniquement.
sShownInList | Spécifie qu’une propriété particulière est visible dans la liste. | 0 = La propriété n’est pas visible dans la liste. 1 = La propriété est visible dans la liste.
sSiteAdminAccess | Spécifie l’accès de l’administrateur de site à la propriété dans la page Service clientèle du site Web. | 0 = Masquer à l’administrateur de site 1 = Lecture seule 2 = Modifiable
sUserAccess | Spécifie l’accès de l’utilisateur inscrit à la propriété dans la page Service clientèle du site Web. | 0 = Masquer aux utilisateurs inscrits 1 = Lecture seule 2 = Modifiable
Password | Spécifie que la propriété est de type mot de passe. Si cet attribut personnalisé a la valeur 1, des fonctionnalités d’interface utilisateur spéciales peuvent être implémentées pour préserver la sécurité du mot de passe. Par exemple, l’affichage d’astérisques dans la fenêtre du navigateur plutôt que les caractères réels, et l’utilisation de plusieurs champs pour vérifier les opérations de modification des mots de passe : taper l’ancienne valeur, taper la nouvelle valeur, puis retaper la nouvelle valeur pour confirmer la modification. | 0 = Type de propriété régulière 1 = Type de propriété de type mot de passe
EncryptionType | Spécifie que la propriété est cryptée. Utilisez cet attribut pour indiquer les propriétés qui doivent être cryptées dans la banque. Remarquez également qu’il s’agit d’une valeur de propriété personnalisée réservée. Lorsque vous marquez une propriété comme cryptée, elle est automatiquement créée à votre intention et est masquée dans la table dynamique des attributs personnalisés. | 1 = Cryptée avec une clé publique/privée 2 = Cryptée avec une clé de hachage à sens unique

Voir aussi

Ajout d’un groupe de propriétés à une définition de profil.

Ajout d’une propriété mappée vers une entrée du glossaire du site


Ajout d'une propriété mappée vers une entrée du glossaire du site

Envoyer des commentaires sur cette page Commerce Server 2002

Ajout d’une propriété mappée vers une entrée du glossaire du site

Après avoir créé une entrée du glossaire du site, vous pouvez l’ajouter à une définition de profil. Les entrées du glossaire du site permettent d’uniformiser facilement les valeurs utilisées sur votre site. Après avoir créé vos entrées du glossaire du site, vous pouvez configurer une définition de profil de sorte qu’elle inclue ces entrées, ce qui vous permettra d’envoyer une publicité en ciblant les utilisateurs qui répondent à la définition de profil. Pour plus d’informations sur les entrées du glossaire du site, consultez Entrées du glossaire du site.

Vous devez avoir accès aux modules Profils pour apporter les modifications aux entrées du glossaire du site, aux définitions de profils et aux profils. Pour plus d’informations sur les autorisations Business Desk, consultez À propos de la sécurité Business Desk.

Pour ajouter une entrée du glossaire du site à une définition de profil

  1. Dans Profils, cliquez sur Concepteur de définitions de profils.
  2. Dans l’écran Profils, sélectionnez la définition de profil contenant la propriété que vous souhaitez modifier, puis cliquez sur Ouvrir dans la barre d’outils.
  3. Dans l’écran Profil : <définition profil>, dans la liste Propriétés, sélectionnez le groupe de propriétés auquel vous voulez ajouter l’entrée du glossaire du site, puis cliquez sur Ajouter.

    Remarque

    • Si cette propriété ne figure pas dans la liste Propriétés, développez le groupe de propriétés contenant la propriété à laquelle vous voulez ajouter l’entrée du glossaire du site, puis sélectionnez la propriété.
  4. Dans la boîte de dialogue Ajouter, sélectionnez Ajouter une nouvelle propriété, puis cliquez sur OK.
  5. Dans la section Attributs, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper un nom de programmation pour la propriété. Ce nom ne peut pas excéder 128 caractères et doit contenir uniquement des caractères alphanumériques et des traits de soulignement (_). Le nom ne peut pas contenir d’espace.
    Nom complet | Taper un nom complet pour la propriété. Le nom complet ne peut pas excéder 128 caractères.
    Description | Taper une description pour la propriété.
    Type | Sélectionner Entrées du glossaire du site dans la liste déroulante Type.
    Référence de type | Cliquer sur le bouton [...] pour ouvrir la boîte de dialogue Sélection d’entrées du glossaire du site.
  6. Dans la boîte de dialogue Sélection d’entrées du glossaire du site, dans la liste Sélectionner une entrée du glossaire du site, développez le groupe d’entrées du glossaire du site contenant l’entrée du glossaire du site que vous voulez ajouter à la définition de propriété, puis sélectionnez l’entrée du glossaire du site. Pour plus d’informations sur la création d’une entrée du glossaire du site, consultez Création d’une entrée du glossaire du site.
  7. Cliquez sur OK.
  8. Dans la section Attributs avancés, effectuez les opérations suivantes :
    Procédez ainsi | Pour faire cela
    Activée | Spécifier si la nouvelle propriété est Active ou Inactive.
    Mapper vers les données Cliquer sur le bouton [...] pour ouvrir la boîte de dialogue Sélecteur de source de données.

    Dans la boîte de dialogue Sélecteur de source de données, sélectionner le membre de données pour la propriété. Les membres de données disponibles pour la propriété sont ceux qui ne sont pas déjà utilisés dans la définition de profil que vous modifiez. Les propriétés actuellement utilisées par la définition de profil ne sont pas disponibles.

    Si vous ne mappez pas la propriété vers un membre de données, la propriété ne sera pas stockée dans une base de données, mais sera disponible dans la mémoire ; par exemple, pour stocker les informations sur le département lorsqu’un utilisateur visite votre site Web.

  9. Cliquez sur Appliquer pour appliquer la nouvelle entrée du glossaire du site à la définition de profil et l’afficher dans la liste Propriétés.
  10. Pour enregistrer la définition de profil modifiée et revenir à l’écran Profils, cliquez sur Enregistrer et retour dans la barre d’outils.

La définition de profil est enregistrée. Vous devez publier les modifications apportées aux définitions de profils sur votre site Web. Pour plus d’informations sur la publication de vos modifications, consultez Publication des modifications apportées aux définitions de profils sur votre site Web.

Voir aussi

Création d’une entrée du glossaire du site

Ajout de propriétés à une définition de profil

Modification de propriétés de profil

Modification des entrées du glossaire du site


Ajout de propriétés cryptées à une définition de profil

Commerce Server 2002 propose des fonctionnalités de cryptage qui vous permettent de sécuriser les données à l’aide d’outils de cryptage offrant le niveau de sécurité le plus élevé. Deux types de cryptage sont pris en charge par Commerce Server 2002 : le cryptage asymétrique et le hachage à sens unique. Commerce Server 2002 ne prend pas en charge le cryptage symétrique.

Utilisez les procédures suivantes pour ajouter de nouvelles propriétés de profil pouvant être cryptées.

Attention

Ne pas marquer les propriétés possédant des données préexistantes comme cryptables. Sinon, les données préexistantes seront perdues.

Pour ajouter une nouvelle propriété pour un index de clé

Pour ajouter un attribut personnalisé au niveau du profil

Pour ajouter des propriétés cryptées à un profil

Pour ajouter une nouvelle propriété pour un index de clé

Il est recommandé de créer une nouvelle propriété sous le groupe de propriétés Système de profils.

  1. Ouvrez le Gestionnaire Commerce Server.
  2. Développez Gestionnaire Commerce Server, Ressources globales, Profiles, Catalogue de profils, Définitions de profils, puis cliquez sur Objet utilisateur.
  3. Dans le volet de droite, cliquez sur Système de profils dans la liste Propriétés.
  4. Cliquez sur Ajouter.
  5. Dans la boîte de dialogue Ajouter - Dialogue de page Web, sélectionnez Ajouter une nouvelle propriété.
  6. Cliquez sur OK.
  7. Dans la section Attributs, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Type de nom (par exemple, KeyIndex).
    Nom complet | Taper le nom à afficher (par exemple, KeyIndex).
    Description | Facultatif.
    Type | Sélectionner Nombre.
    Référence de type | Néant
  8. Cliquez sur Attributs avancés et effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Activée | Désactiver la case à cocher Oui.
    Mapper vers les données | Cliquer sur le bouton de sélection [...] pour mapper cette propriété à un membre de données de type Nombre.
  9. Cliquez sur Appliquer, puis sur Enregistrer.

Pour ajouter un attribut personnalisé au niveau du profil

  1. Cliquez avec le bouton droit sur votre profil (par exemple, Objet utilisateur) et sélectionnez Propriétés.
  2. Cliquez sur l’onglet Attributs personnalisés.
  3. Cliquez sur Nouveau.
  4. Dans la boîte de dialogue Attribut personnalisé, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper KeyIndex.
    Nom complet | Taper le nom à afficher (par exemple, KeyIndex).
    Description | Taper la description de l’attribut personnalisé KeyIndex.
    Valeur Taper KeyIndex.

    Il doit s’agir du même nom de propriété que le profil créé à l’étape précédente, Pour ajouter une nouvelle propriété pour un index de clé.
  5. Cliquez sur OK dans la boîte de dialogue Attribut personnalisé.
  6. Dans la boîte de dialogue Propriétés de Objet utilisateur, cliquez sur Appliquer, puis sur OK.

Pour ajouter des propriétés cryptées à un profil

  1. Cliquez sur Ajouter dans le volet de droite.
  2. Dans la boîte de dialogue Ajouter - Dialogue de page Web, sélectionnez Ajouter une nouvelle propriété.
  3. Cliquez sur OK.
  4. Dans la section Attributs, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Type du nom de la propriété.
    Nom complet | Taper le nom à afficher.
    Description | Taper la description de l’attribut personnalisé KeyIndex.
    Type | Sélectionner Mot de passe ou Chaîne.
  5. Dans la section Attributs avancés, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Mapper vers les données | Cliquer sur le bouton de sélection [...] pour mapper cette propriété à un membre de données.
    Type de clé | Laisser la valeur vide. Le type de clé ne peut pas être UniqueKey, JoinKey, PrimaryKey, DualKey ou HashingKey.
    Cryptée | Sélectionner un des types cryptés dans la liste déroulante (Aucun cryptage, Hachage dans un sens ou Cryptage asymétrique).
    Exportée | Désactiver la case à cocher Oui.
    À valeurs multiples | Facultatif.
    Possibilité de recherche | Désactiver la case à cocher Oui.
    Clé de hachage | Désactiver la case à cocher Oui.

    Remarque

  • Dans la section Attributs personnalisés, les propriétés cryptées ne peuvent pas être marquées comme displaycolumn ou friendlyname (pour une utilisation dans les éditeurs de profils uniquement).
  • Vous ne pouvez pas créer de niveau de propriété portant un nom de type EncryptionType (sans respect de la casse).
  1. Cliquez sur Appliquer, puis sur Enregistrer.

Pour plus d’informations, consultez Gestion des propriétés de profil cryptées.


Incorporation d'une définition de profil

Envoyer des commentaires sur cette page Commerce Server 2002

Incorporation d’une définition de profil

Vous pouvez utiliser le module Concepteur de définitions de profils pour créer une relation entre deux définitions de profils en incorporant une définition de profil dans une autre. Cette relation sert à créer des profils liés hiérarchiquement les uns aux autres.

Avec les définitions de profils incorporées, vous pouvez :

  • créer une hiérarchie de définitions de profils incorporées pouvant aller jusqu’à quatre niveaux (votre administrateur système peut augmenter les niveaux) ;
  • ajouter un nombre illimité de propriétés de type « profil » à une définition de profil (limité par la taille du stockage de données sous-jacent) ;
  • définir les définitions de profils incorporées comme étant à valeur unique afin de ne collecter qu’un profil, ou à valeurs multiples si vous souhaitez collecter un nombre illimité de profils (la seule limitation sera posée par les ressources système).

Vous devez avoir accès aux modules Profils pour apporter les modifications aux entrées du glossaire du site, aux définitions de profils et aux profils. Pour plus d’informations sur les autorisations Business Desk, consultez À propos de la sécurité Business Desk.

Pour incorporer une définition de profil

  1. Dans Profils, cliquez sur Concepteur de définitions de profils.
  2. Dans l’écran Profils, sélectionnez la définition de profil dans laquelle vous voulez incorporer une définition de profil, puis cliquez sur Ouvrir dans la barre d’outils.
  3. Dans l’écran Profil : <définition profil>, dans la liste Propriétés, sélectionnez la propriété dans laquelle vous voulez incorporer la définition de profil.

    Remarque

    • Si cette propriété ne figure pas dans la liste Propriétés, développez le groupe de propriétés contenant la propriété dans laquelle vous voulez incorporer la définition de profil, puis sélectionnez la propriété.
  4. Dans la section Attributs, sélectionnez Profil dans la liste déroulante Type.
  5. Dans la zone Référence de type, cliquez sur le bouton de sélection [...] pour ouvrir la boîte de dialogue Sélection de profil.
  6. Dans la boîte de dialogue Sélection de profil, dans la liste Sélectionner un profil, développez le Catalogue de profils, puis sélectionnez la définition de profil que vous voulez incorporer dans la propriété.
  7. Cliquez sur OK.
  8. Pour appliquer la propriété incorporée, cliquez sur Appliquer.
  9. Pour enregistrer la propriété modifiée et revenir à l’écran Profils, cliquez sur Enregistrer et retour dans la barre d’outils.

La définition de profil modifiée est enregistrée.

Voir aussi

Propriétés de profil

Ajout de propriétés à une définition de profil

Modification de propriétés de profil

Incorporation de la définition de profil Adresse

Ajout d’une propriété mappée vers une entrée du glossaire du site


Incorporation de la définition de profil Adresse

Vous pouvez ajouter une propriété Adresse de facturation à la définition de profil Objet utilisateur et l’utiliser pour incorporer la définition de profil Adresse. Si vous définissez Adresse de facturation en tant que propriété à valeur unique, un seul profil d’adresse peut être créé pour un utilisateur. Pour incorporer une définition de profil Adresse dans la définition de profil Objet utilisateur afin de collecter une adresse de facturation pour chaque utilisateur, effectuez les étapes suivantes :

  1. Ajoutez à la définition de profil Objet utilisateur une propriété nommée Adresse de facturation.
  2. Définissez la propriété Adresse de facturation en tant que profil avec l’attribut Type.
  3. Sélectionnez la définition de profil Adresse comme Référence de type de la propriété Adresse de facturation.
  4. Mappez la nouvelle propriété Adresse de facturation vers un membre de données de type chaîne.
  5. Définissez la propriété Adresse de facturation en tant que propriété à valeur unique afin de collecter une adresse de facturation par utilisateur.
  6. Définissez la propriété Adresse de facturation comme étant exportée pour faire en sorte que la valeur de la propriété soit importée dans le Data Warehouse avec les informations de profil utilisateur.

La clé primaire du profil qui contient les informations d’adresse de facturation de l’utilisateur sera stockée dans la propriété Adresse de facturation du profil utilisateur.

Le module Utilisateurs permet de modifier le profil utilisateur. Vous pouvez accéder au profil d’adresse de facturation de l’utilisateur à partir du profil utilisateur. Le module Utilisateurs vous permet d’accéder à des profils incorporés sur quatre niveaux.


Publication des modifications apportées aux définitions de profils sur votre site Web

Vous devez publier les modifications apportées aux définitions de profils avant de pouvoir ajouter des données aux propriétés des nouveaux profils. Le module Publier les profils permet de mettre à jour votre site Web avec vos dernières modifications. Dans la plupart des installations d’e-commerce, ces modifications sont d’abord effectuées sur un site de test, puis publiées sur votre site de production selon un calendrier défini. Contactez votre administrateur système pour savoir quand et comment des modifications sont apportées à votre site de production.

Vous devez avoir accès aux modules Profils pour apporter les modifications aux entrées du glossaire du site, aux définitions de profils et aux profils. Pour plus d’informations sur les autorisations Business Desk, consultez À propos de la sécurité Business Desk.

Remarques

  • Publiez les modifications apportées aux profils de votre site Web durant les heures creuses. Une publication des modifications aux heures de pointe affecte les performances de votre site.

Pour publier les modifications apportées au profil

  1. Dans Profils, cliquez sur Publier les profils.
  2. Dans l’écran Publier les profils, sélectionnez le site sur lequel vous souhaitez publier les modifications apportées aux définitions de profils, puis cliquez sur Publier les modifications pour la production et actualiser le cache dans la barre d’outils.

    Remarques

    • Si votre site comprend plusieurs serveurs Web, vous devez publier les modifications apportées aux définitions de profils sur chaque serveur Web.
    • Pour actualiser la liste d’état des serveurs, cliquez sur Actualiser dans la barre d’outils. La réinitialisation de l’état d’actualisation ne réinitialise pas ou n’annule pas les modifications publiées antérieurement.

Les modifications apportées aux définitions de profils sont publiées sur votre site Web.

Voir aussi

Définitions de profils

Gestion des définitions de profils


Ajout d'un profil utilisateur

Envoyer des commentaires sur cette page Commerce Server 2002

Ajout d’un profil utilisateur

Vous devez avoir accès aux modules Profils pour apporter les modifications aux entrées du glossaire du site, aux définitions de profils et aux profils. Pour plus d’informations sur les autorisations Business Desk, consultez À propos de la sécurité Business Desk.

Remarque

  • Il est possible que l’écran Nouveau profil ne contienne pas les mêmes propriétés que celles présentées dans cette procédure. Les propriétés affichées dans l’écran Nouveau profil sont fonction de la définition de profil Objet utilisateur. Si vous avez modifié les propriétés de cette définition, ces modifications seront reflétées dans l’écran Nouveau profil. Pour plus d’informations sur la modification des propriétés d’une définition de profil, consultez Gestion des définitions de profils.

Pour ajouter un nouvel utilisateur

  1. Dans Profils, cliquez sur Utilisateurs.
  2. Dans l’écran Objet utilisateur, cliquez sur Nouveau dans la barre d’outils.
  3. Dans l’écran Nouveau profil : Objet utilisateur, dans la section Informations générales, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom d’ouverture de session | Taper le nom d’ouverture de session du nouvel utilisateur.
    Mot de passe de l’utilisateur | Taper le mot de passe du nouvel utilisateur.
    Adresse de messagerie | Taper l’adresse de messagerie du nouvel utilisateur.
    Type d’utilisateur | Sélectionner dans la liste déroulante si le nouvel utilisateur est un utilisateur Inscrit ou Anonyme. En règle générale, vous ne créerez que des utilisateurs inscrits.
    Titre de l’utilisateur | Taper le titre du nouvel utilisateur, tel que « M. » ou « Mme ».
    Nom | Taper le nom du nouvel utilisateur.
    Prénom | Taper le prénom du nouvel utilisateur.
    Numéro de téléphone | Taper le numéro de téléphone du nouvel utilisateur.
    Numéro de poste | Taper l’extension du numéro de téléphone du nouvel utilisateur.
    Numéro de télécopie | Taper le numéro de télécopie du nouvel utilisateur.
    Numéro de poste de télécopie | Taper l’extension du numéro de télécopie du nouvel utilisateur.
    Langue par défaut | Taper la langue par défaut du nouvel utilisateur.
  4. Dans la section Informations sur le compte, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Identificateur d’organisation Dans la liste déroulante, spécifier si vous souhaitez Créer un nouveau profil ou Insérer un profil existant dans la propriété Identificateur d’organisation.

    Si vous sélectionnez Créer un nouveau profil, l’écran Nouveau profil : Organisation s’affiche. Pour plus d’informations sur la création d’un profil d’organisation, consultez Ajout d’un profil d’organisation.

    Si vous sélectionnez Insérer un profil existant, l’écran Organisation s’affiche. Pour incorporer le profil d’organisation dans la propriété Identificateur d’organisation, sélectionnez l’organisation existante dans la liste Affichage filtré, puis cliquez sur Sélectionner dans la barre d’outils. Pour plus d’informations sur la recherche d’un profil d’organisation existant, consultez Recherche d’un profil d’organisation.
    État du compte | Dans la liste déroulante, spécifier si l’utilisateur dispose d’un Compte actif ou d’un Compte inactif. L’état par défaut est Compte actif. Les utilisateurs disposant de comptes inactifs ne pourront pas ouvrir de session sur votre site.
    Groupe de catalogues de l’utilisateur | Dans la liste déroulante, sélectionner le groupe de catalogues auquel vous souhaitez que l’utilisateur ait accès.
    Date d’inscription | Dans le calendrier déroulant, sélectionner la date d’inscription du nouvel utilisateur.
  5. Dans la section Service partenaire, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Indicateurs de rôles du Service Partenaire | Dans la liste déroulante, sélectionner Utilisateur ordinaire ou Administrateur. L’indicateur de rôle par défaut est Utilisateur ordinaire. Les utilisateurs Administrateur sont des administrateurs délégués et disposent d’un accès étendu pour leur organisation (par exemple, consultation des commandes et création de profils utilisateur) dans les sites qui prennent en charge les administrateurs délégués.
  6. Pour enregistrer le nouveau profil utilisateur et revenir à l’écran Objet utilisateur, cliquez sur Enregistrer et retour dans la barre d’outils.

Le nouveau profil utilisateur est enregistré.

Voir aussi

À propos des profils

Suppression de profils utilisateur

Recherche d’un profil utilisateur

Ajout d’un profil d’organisation


Ajout d'un administrateur délégué

Envoyer des commentaires sur cette page Commerce Server 2002

Ajout d’un administrateur délégué

Le module Utilisateurs vous permet d’ajouter un utilisateur désigné en tant qu’administrateur délégué pouvant se connecter à un site SupplierAD. Les utilisateurs administrateurs sont des utilisateurs de niveau administrateur qui disposent d’un accès étendu pour leur organisation (par exemple, consultation des commandes et création de profils utilisateur) dans un site qui supporte les administrateurs délégués.

Vous devez avoir accès aux modules Profils pour apporter les modifications aux entrées du glossaire du site, aux définitions de profils et aux profils. Pour plus d’informations sur les autorisations Business Desk, consultez À propos de la sécurité Business Desk.

Remarque

  • Il est possible que l’écran Nouveau profil ne contienne pas les mêmes propriétés que celles présentées dans cette procédure. Si vous avez modifié les propriétés de la définition de profil Objet utilisateur, ces modifications seront reflétées dans l’écran Nouveau profil. Pour plus d’informations sur la modification des propriétés d’une définition de profil, consultez Gestion des définitions de profils.

Pour ajouter un administrateur délégué

  1. Dans Profils, cliquez sur Utilisateurs.
  2. Dans l’écran Objet utilisateur, cliquez sur Nouveau dans la barre d’outils.
  3. Dans l’écran Nouveau profil : Objet utilisateur, dans la section Informations générales, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom d’ouverture de session | Taper le nom d’ouverture de session du nouvel administrateur délégué.
    Mot de passe de l’utilisateur | Taper le mot de passe du nouvel administrateur délégué.
    Adresse de messagerie | Taper l’adresse de messagerie du nouvel administrateur délégué.
    Type d’utilisateur | Sélectionner Utilisateur inscrit dans la liste déroulante.
    Titre de l’utilisateur | Taper le titre du nouvel administrateur délégué, tel que « M. » ou « Mme ».
    Nom | Taper le nom du nouvel administrateur délégué.
    Prénom | Taper le prénom du nouvel administrateur délégué.
    Numéro de téléphone | Taper le numéro de téléphone du nouvel administrateur délégué.
    Numéro de poste | Taper l’extension du numéro de téléphone du nouvel administrateur délégué.
    Numéro de télécopie | Taper le numéro de télécopie du nouvel administrateur délégué.
    Numéro de poste de télécopie | Taper l’extension du numéro de télécopie du nouvel administrateur délégué.
    Langue par défaut | Taper la langue par défaut du nouvel administrateur délégué.
  4. Dans la section Informations sur le compte, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Identificateur d’organisation Dans la liste déroulante, spécifier si vous souhaitez Créer un nouveau profil ou Insérer un profil existant dans la propriété Identificateur d’organisation.

    Si vous sélectionnez Créer un nouveau profil, l’écran Nouveau profil : Organisation s’affiche. Pour plus d’informations sur la création d’un profil d’organisation, consultez Ajout d’un profil d’organisation.

    Si vous sélectionnez Insérer un profil existant, l’écran Organisation s’affiche. Pour incorporer le profil d’organisation dans la propriété Identificateur d’organisation, sélectionnez l’organisation existante dans la liste Affichage filtré, puis cliquez sur Sélectionner dans la barre d’outils. Pour plus d’informations sur la recherche d’un profil d’organisation existant, consultez Recherche d’un profil d’organisation.
    État du compte | Dans la liste déroulante, sélectionner Compte actif. L’état par défaut est Compte actif. Les utilisateurs disposant de comptes inactifs ne pourront pas se connecter à votre site.
    Groupe de catalogues de l’utilisateur | Dans la liste déroulante, sélectionner le groupe de catalogues auquel vous souhaitez que l’administrateur délégué ait accès.
    Date d’inscription | Dans le calendrier déroulant, sélectionner la date d’inscription du nouvel administrateur délégué.
  5. Dans la section Service partenaire, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Indicateurs de rôles du Service Partenaire | Dans la liste déroulante, sélectionner Administrateur. Les administrateurs délégués sont des utilisateurs de niveau administrateur qui disposent d’un accès étendu pour leur organisation (par exemple, consultation des commandes et création de profils utilisateur) dans un site qui prend en charge les administrateurs délégués.
  6. Pour enregistrer le nouveau profil utilisateur et revenir à l’écran Objet utilisateur, cliquez sur Enregistrer et retour dans la barre d’outils.

Le profil du nouvel administrateur délégué est enregistré.

Voir aussi

À propos des profils

Recherche d’un profil utilisateur

Modification de profils utilisateur

Ajout d’un profil d’organisation


Réinitialisation d'un mot de passe utilisateur

Envoyer des commentaires sur cette page Commerce Server 2002

Réinitialisation d’un mot de passe utilisateur

Le module Utilisateurs permet de réinitialiser les mots de passe des utilisateurs inscrits qui ont oublié le leur. Après avoir réinitialisé le mot de passe de l’utilisateur, vous devez informer ce dernier de son nouveau mot de passe.

Vous devez avoir accès aux modules Profils pour apporter les modifications aux entrées du glossaire du site, aux définitions de profils et aux profils. Pour plus d’informations sur les autorisations Business Desk, consultez À propos de la sécurité Business Desk.

Pour réinitialiser le mot de passe d’un utilisateur

  1. Dans Profils, cliquez sur Utilisateurs.
  2. Pour afficher le profil d’un utilisateur particulier, dans l’écran Objet utilisateur, utilisez le volet Rechercher. Pour plus d’informations sur la recherche d’un profil utilisateur, consultez Recherche d’un profil utilisateur.
  3. Dans la liste Affichage filtré, sélectionnez le profil de l’utilisateur dont vous souhaitez réinitialiser le mot de passe, puis cliquez sur Ouvrir dans la barre d’outils.

    Dans l’écran Mettre à jour le profil : <profil utilisateur>, dans la zone Mot de passe de l’utilisateur de la section Informations générales, cliquez sur le bouton [...].

  4. Dans la boîte de dialogue Réinitialisation du mot de passe, tapez le nouveau mot de passe dans la zone Nouveau mot de passe, puis tapez-le une deuxième fois dans la zone Confirmer le mot de passe.

    Remarque

    • Les mots de passe doivent comprendre entre 7 et 14 caractères alphanumériques. Les mots de passe respectent la casse et ne peuvent pas contenir d’espace.
  5. Pour enregistrer le nouveau mot de passe et revenir à l’écran Objet utilisateur, cliquez sur Enregistrer et retour dans la barre d’outils.

Le profil utilisateur est enregistré avec le nouveau mot de passe. Vous devez informer l’utilisateur de son nouveau mot de passe.


Ajout d'un profil d'organisation

Envoyer des commentaires sur cette page Commerce Server 2002

Ajout d’un profil d’organisation

Le module Organisations permet d’ajouter des profils d’organisation sur votre site Web. Vous pouvez spécifier des informations les concernant, telles que les informations d’identification et de contact qui s’y rapportent, ainsi que le groupe de catalogues qu’elles peuvent utiliser.

Vous devez avoir accès aux modules Profils pour apporter les modifications aux entrées du glossaire du site, aux définitions de profils et aux profils. Pour plus d’informations sur les autorisations Business Desk, consultez À propos de la sécurité Business Desk.

Remarque

  • Il est possible que l’écran Nouveau profil : Organisation ne contienne pas les mêmes propriétés que celles présentées dans cette procédure. Si vous avez modifié les propriétés de la définition de profil Organisation, ces modifications seront reflétées dans l’écran Nouveau profil : Organisation. Pour plus d’informations sur la modification des propriétés d’une définition de profil, consultez Gestion des définitions de profils.

Pour ajouter un profil d’organisation

  1. Dans Profils, cliquez sur Organisations.
  2. Dans l’écran Organisation, cliquez sur Ajouter dans la barre d’outils.
  3. Dans l’écran Nouveau profil : Organisation, dans la section Informations générales, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper le nom de l’organisation. Les noms d’organisations peuvent comporter jusqu’à 53 caractères alphanumériques longs. Le nom peut contenir des espaces.
    Numéro de partenaire commercial | Taper le numéro de l’organisation ou du partenaire commercial.
    Contact administratif Dans la liste déroulante, spécifier si vous souhaitez Créer un nouveau profil ou Insérer un profil existant dans la propriété Contact administratif.

    Si vous sélectionnez Créer un nouveau profil, l’écran Nouveau profil : Objet utilisateur s’affiche. Pour plus d’informations sur la création d’un profil utilisateur, consultez Ajout d’un profil utilisateur.

    Si vous sélectionnez Insérer un profil existant, l’écran Objet utilisateur s’affiche. Pour incorporer le profil utilisateur dans la propriété Contact administratif, sélectionnez l’utilisateur dans la liste Affichage filtré, puis cliquez sur Sélectionner dans la barre d’outils. Pour plus d’informations sur la recherche d’un utilisateur, consultez Recherche d’un profil utilisateur.
    Récepteur Dans la liste déroulante, sélectionner la personne qui recevra les produits livrés par le fournisseur pour l’organisation. Si l’utilisateur n’est pas dans la liste déroulante, spécifier si vous souhaitez Créer un nouveau profil ou Insérer un profil existant pour le récepteur de la nouvelle organisation.

    Si vous sélectionnez Créer un nouveau profil, l’écran Nouveau profil : Objet utilisateur s’affiche. Pour plus d’informations sur la création d’un profil utilisateur, consultez Ajout d’un profil utilisateur.

    Si vous sélectionnez Insérer un profil existant, l’écran Objet utilisateur s’affiche. Pour incorporer le profil utilisateur dans la propriété Récepteur, sélectionnez l’utilisateur dans la liste Affichage filtré, puis cliquez sur Sélectionner dans la barre d’outils. Pour plus d’informations sur la recherche d’un utilisateur, consultez Recherche d’un profil utilisateur.
    Groupe de catalogues de l’organisation | Sélectionner dans la liste déroulante le groupe de catalogues auquel l’organisation doit avoir accès.
  4. Dans la section Achat, effectuez les opérations suivantes :
    Utilisez ceci Pour faire cela
    Responsable des achats Dans la liste déroulante, spécifier si vous souhaitez Créer un nouveau profil ou Insérer un profil existant dans la propriété Responsable des achats.

    Si vous sélectionnez Créer un nouveau profil, l’écran Nouveau profil : Objet utilisateur s’affiche. Pour plus d’informations sur la création d’un profil utilisateur, consultez Ajout d’un profil utilisateur.

    Si vous sélectionnez Insérer un profil existant, l’écran Objet utilisateur s’affiche. Pour incorporer le profil dans la propriété Responsable des achats, sélectionnez l’utilisateur dans la liste Affichage filtré, puis cliquez sur Sélectionner dans la barre d’outils. Pour plus d’informations sur la recherche d’un utilisateur, consultez Recherche d’un profil utilisateur.
  5. Pour enregistrer l’organisation et revenir à l’écran Organisation, cliquez sur Enregistrer et retour dans la barre d’outils.

Le profil de l’organisation est enregistré avec un contact administratif, un récepteur et un responsable des achats spécifiés.

Voir aussi

À propos des profils

Modification de profils d’organisation

Recherche d’un profil d’organisation

Ajout d’un profil utilisateur

Recherche d’un profil utilisateur


Ajout d'un profil générique

Envoyer des commentaires sur cette page Commerce Server 2002

Ajout d’un profil générique

Le module Éditeur de profils vous permet d’ajouter des profils génériques pour votre site. Un profil générique est créé à l’aide d’une définition de profil autre que la définition de profil Objet utilisateur ou Organisations.

Pour pouvoir baser un nouveau profil sur une définition de profil générique, la définition de profil en question doit contenir deux attributs personnalisés :

  • L’attribut sDisplayColumn affecte une propriété en tant qu’en-tête d’une colonne de l’écran Rechercher du module Éditeur de profils.

    Si la définition de profil ne possède pas d’attribut sDisplayColumn, Commerce Server Business Desk ne peut pas afficher les profils créés avec ce profil dans l’écran Rechercher du module Éditeur de profils, et vous ne pouvez pas modifier les profils.

  • L’attribut sFriendlyName contrôle la propriété qui s’affiche en tant que colonne la plus à gauche de l’écran Rechercher du module Éditeur de profils et dans la barre de titre de l’écran Modifier le profil : <NomConvivial> du module Éditeur de profils. Pour plus d’informations sur les attributs personnalisés et la façon de les ajouter à une définition de profil, consultez Ajout de propriétés à une définition de profil.

Vous devez avoir accès aux modules Profils pour apporter les modifications aux entrées du glossaire du site, aux définitions de profils et aux profils. Pour plus d’informations sur les autorisations Business Desk, consultez À propos de la sécurité Business Desk.

La procédure suivante s’appuie sur la définition de profil BlanketPOs.

Remarque

  • Si vous utilisez une définition de profil autre que la définition BlanketPOs, ou si vous avez modifié les propriétés dans la définition de profil BlanketPOs, l’écran <définition de profil> ne contiendra pas les mêmes propriétés que celles qui sont incluses dans cette procédure. Pour plus d’informations sur la modification des propriétés d’une définition de profil, consultez Gestion des définitions de profils.

Pour ajouter un profil générique

  1. Dans Profils, cliquez sur Éditeur de profils.
  2. Dans l’écran Profils, sélectionnez la définition de profil BlanketPOs, puis cliquez sur Ouvrir dans la barre d’outils.
  3. Dans l’écran BlanketPOs, cliquez sur Nouveau dans la barre d’outils.
  4. Dans l’écran Nouveau profil : BlanketPOs, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Identificateur d’organisation Dans la liste déroulante, spécifier si vous souhaitez Créer un nouveau profil ou Insérer un profil existant dans la propriété Identificateur d’organisation.

    Si vous sélectionnez Créer un nouveau profil, l’écran Nouveau profil : Organisation s’affiche. Pour plus d’informations sur la création d’un profil d’organisation, consultez Ajout d’un profil d’organisation.

    Si vous sélectionnez Insérer un profil existant, l’écran Organisation s’affiche. Pour incorporer le profil d’organisation dans la propriété Identificateur d’organisation, sélectionnez l’organisation existante dans la liste Affichage filtré, puis cliquez sur Sélectionner dans la barre d’outils. Pour plus d’informations sur la recherche d’un profil d’organisation existant, consultez Recherche d’un profil d’organisation.
    Numéro du bon de commande | Taper le numéro de bon de commande standard.
    Description | Taper la description du bon de commande standard.
  5. Cliquez sur Enregistrer et retour pour enregistrer le profil et revenir à l’écran <définition profil> de ce profil.

Le profil est enregistré. Utilisez la fonction de recherche pour afficher le nouveau profil dans l’écran Rechercher. Pour plus d’informations sur la recherche d’un profil générique, consultez Recherche d’un profil générique. Vous pouvez ajouter un nouveau profil basé sur la même définition de profil ou cliquer sur Retour pour revenir à l’écran Profils et sélectionner un autre type de définition de profil à utiliser pour créer un profil.

Voir aussi

Modification de profils génériques

Recherche d’un profil générique

Suppression de profils génériques


Ajout d'utilisateurs à un groupe Active Directory

Envoyer des commentaires sur cette page Commerce Server 2002

Ajout d’utilisateurs à un groupe Active Directory

Commerce Server Business Desk fournit le module Gestionnaire de groupe pour la gestion des appartenances des utilisateurs aux groupes Active Directory. Pour que vous disposiez d’un module Gestionnaire de groupe dans Business Desk, votre administrateur système doit baser votre site sur le site solution SupplierActiveDirectory.

Vous devez avoir accès aux modules Profils pour apporter les modifications aux entrées du glossaire du site, aux définitions de profils et aux profils. Pour plus d’informations sur les autorisations Business Desk, consultez À propos de la sécurité Business Desk.

Pour ajouter un utilisateur à un groupe Active Directory

Remarque

  • Le groupe Active Directory auquel vous souhaitez ajouter un utilisateur doit avoir un nom unique dans toute la structure arborescente Active Directory.
  1. Dans Profils, cliquez sur Gestionnaire de groupe.
  2. Dans l’écran Rechercher un utilisateur ou un groupe, dans le volet Rechercher, sélectionnez l’option Utilisateurs.
  3. Dans la zone Filtre de recherche, tapez le nom de l’utilisateur à ajouter. Vous pouvez utiliser un caractère générique (*) dans le nom.
  4. Cliquez sur Rechercher. Si votre recherche ne renvoie aucun résultat ou renvoie plus de 1 000 résultats, un message d’erreur s’affiche. Les résultats d’une recherche réalisée avec succès s’affichent dans la zone Nom d’utilisateur.
  5. Sélectionnez l’utilisateur que vous souhaitez ajouter à un groupe Active Directory, puis cliquez sur Ouvrir dans la barre d’outils.
  6. Dans l’écran Gérer l’utilisateur, dans la zone Filtre de recherche, tapez le nom du groupe Active Directory auquel vous voulez ajouter l’utilisateur. Vous pouvez utiliser des caractères génériques (*).
  7. Cliquez sur Rechercher.
  8. Dans la liste Résultats de la recherche, sélectionnez le groupe Active Directory auquel vous voulez ajouter l’utilisateur, puis cliquez sur Ajouter l'objet au groupe dans la barre d’outils pour ajouter l’utilisateur et enregistrer les modifications apportées au groupe Active Directory.
  9. La liste Groupes auxquels appartient cet utilisateur affiche tous les groupes auxquels l’utilisateur appartient actuellement.
  10. Cliquez sur Retour pour revenir à l’écran Rechercher un utilisateur ou un groupe.

Le nouvel utilisateur a été ajouté au groupe Active Directory spécifié. Vous pouvez ajouter un autre utilisateur ou groupe Active Directory ou bien cliquer sur un autre module de Business Desk.


Ajout de groupes à un groupe Active Directory

Commerce Server Business Desk fournit le module Gestionnaire de groupe pour la gestion des appartenances des utilisateurs aux groupes Active Directory. Pour que vous disposiez d’un module Gestionnaire de groupe dans Business Desk, votre administrateur système doit baser votre site sur le site solution SupplierActiveDirectory.

Vous devez avoir accès aux modules Profils pour apporter les modifications aux entrées du glossaire du site, aux définitions de profils et aux profils. Pour plus d’informations sur les autorisations Business Desk, consultez À propos de la sécurité Business Desk.

Pour ajouter un groupe à un groupe Active Directory

Remarque

  • Le groupe Active Directory auquel vous souhaitez ajouter un groupe doit avoir un nom unique dans toute la structure arborescente Active Directory.
  1. Dans Profils, cliquez sur Gestionnaire de groupe.
  2. Dans l’écran Rechercher un utilisateur ou un groupe, dans le volet Rechercher, sélectionnez l’option Groupes.
  3. Dans la zone Filtre de recherche, tapez le nom du groupe à ajouter. Vous pouvez utiliser un caractère générique (*) dans le nom.
  4. Cliquez sur Rechercher. Si votre recherche ne renvoie aucun résultat ou renvoie plus de 1 000 résultats, un message d’erreur s’affiche. Les résultats d’une recherche réalisée avec succès s’affichent dans la boîte de dialogue.
  5. Sélectionnez le groupe que vous souhaitez ajouter à un groupe Active Directory, puis cliquez sur dans la barre d’outils. Ouvrir
  6. Dans l’écran Gérer le groupe, dans la zone Filtre de recherche, tapez le nom du groupe Active Directory auquel vous voulez ajouter le groupe. Vous pouvez utiliser un caractère générique (*).
  7. Cliquez sur Rechercher.
  8. Dans la liste Résultats de la recherche, sélectionnez le groupe Active Directory auquel vous voulez ajouter le groupe, puis cliquez sur Ajouter l'objet au groupe dans la barre d’outils pour ajouter le groupe et enregistrer les modifications apportées au groupe Active Directory.
  9. La liste Objets appartenant à ce groupe affiche les groupes Active Directory auxquels le groupe Active Directory appartient actuellement.
  10. Cliquez sur Retour pour revenir à l’écran Rechercher un utilisateur ou un groupe.

Le groupe Active Directory a été ajouté au groupe Active Directory spécifié. Vous pouvez ajouter un nouvel utilisateur ou un nouveau groupe Active Directory, ou bien cliquer sur un autre module de Business Desk.

Voir aussi

Suppression d’utilisateurs de groupes Active Directory


Gestion des groupes et des entrées du glossaire du site

Le module Éditeur d’entrées du glossaire du site permet de créer et de mettre à jour des entrées du glossaire du site. Vous utilisez des entrées du glossaire du site pour uniformiser et limiter les choix proposés lorsqu’une entrée de l’utilisateur est requise, ainsi que pour cibler un contenu qui est destiné aux utilisateurs. Par exemple, vous pouvez limiter les couleurs que les utilisateurs peuvent sélectionner lorsqu’ils choisissent leur couleur préférée.

Cette section contient les rubriques suivantes :

  • Modification des entrées du glossaire du site
  • Suppression d’une valeur d’une entrée du glossaire du site
  • Réorganisation des entrées du glossaire du site
  • Suppression d’entrées du glossaire du site


Modification des entrées du glossaire du site

Le module Éditeur d’entrées du glossaire du site permet de modifier des entrées du glossaire du site et des groupes d’entrées du glossaire du site existants.

Vous devez avoir accès aux modules Profils pour apporter les modifications aux entrées du glossaire du site, aux définitions de profils et aux profils. Pour plus d’informations sur les autorisations Business Desk, consultez À propos de la sécurité Business Desk.

Pour modifier une entrée du glossaire du site

  1. Dans Profils, cliquez sur Éditeur d’entrées du glossaire du site.
  2. Dans l’écran Éditeur d’entrées du glossaire du site, sélectionnez l’entrée du glossaire du site que vous souhaitez modifier.

    Remarque

    • Si cette entrée ne figure pas dans la liste Structure des entrées du glossaire du site, développez le groupe d’entrées du glossaire du site qui contient l’entrée que vous voulez modifier, puis sélectionnez cette entrée.
  3. Dans la section Attributs de l’entrée du glossaire du site, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom complet | Modifier le nom complet de l’entrée du glossaire du site. Le nom complet ne peut pas excéder 128 caractères.
    Description | Modifier la description de l’entrée du glossaire du site.

    Remarque

    • Vous pouvez modifier le nom complet d’une entrée du glossaire du site, mais pas son nom de programmation. Si vous voulez modifier le nom de programmation d’une entrée du glossaire du site, vous devez supprimer l’entrée du glossaire du site, puis créer une nouvelle entrée du glossaire du site portant le nom que vous souhaitez utiliser.
  4. Dans la section Entrées du glossaire, sélectionnez l’entrée du glossaire que vous souhaitez modifier, puis cliquez sur Modifier.
  5. Modifiez l’entrée du glossaire comme vous le souhaitez, puis cliquez sur Accepter.

    Remarque

    • Vous pouvez modifier autant d’entrées du glossaire que nécessaire. Cliquez sur Modifier pour modifier une autre entrée du glossaire.
  6. Pour appliquer les modifications à l’entrée du glossaire du site, cliquez sur Appliquer.
  7. Pour enregistrer l’entrée du glossaire du site et revenir à l’écran Business Desk, cliquez sur Enregistrer et retour dans la barre d’outils.

L’entrée du glossaire du site est alors enregistrée.

Voir aussi

À propos des profils

Création d’une entrée du glossaire du site

Création d’un groupe d’entrées du glossaire du site

Ajout d’une propriété mappée vers une entrée du glossaire du site

Ajout d’une entrée au glossaire du site


Suppression d'une valeur d'une entrée du glossaire du site

Envoyer des commentaires sur cette page Commerce Server 2002

Suppression d’une valeur d’une entrée du glossaire du site

Le module Éditeur d’entrées du glossaire du site permet de supprimer des valeurs des entrées du glossaire du site. Par exemple, vous pouvez supprimer « violet » de l’entrée du glossaire du site Couleur.

Vous devez avoir accès aux modules Profils pour apporter les modifications aux entrées du glossaire du site, aux définitions de profils et aux profils. Pour plus d’informations sur les autorisations Business Desk, consultez À propos de la sécurité Business Desk.

Pour supprimer une valeur

  1. Dans Profils, cliquez sur Éditeur d’entrées du glossaire du site.
  2. Dans l’écran Éditeur d’entrées du glossaire du site, sélectionnez l’entrée du glossaire du site pour laquelle vous voulez supprimer une valeur.

    Remarque

    • Si cette entrée ne figure pas dans la liste Structure des entrées du glossaire du site, développez le groupe d’entrées du glossaire du site qui contient l’entrée que vous voulez supprimer, puis sélectionnez cette entrée.
  3. Dans la section Entrées du glossaire, sélectionnez, dans la liste Entrées du glossaire, l’entrée que vous souhaitez supprimer, puis cliquez sur Supprimer.

    L’entrée est alors supprimée de la liste Entrées du glossaire.

  4. Pour appliquer les modifications aux attributs de l’entrée du glossaire du site, cliquez sur Appliquer.
  5. Pour enregistrer l’entrée du glossaire du site modifiée et revenir à l’écran Business Desk, cliquez sur Enregistrer et retour dans la barre d’outils.

L’entrée du glossaire du site modifiée est alors enregistrée.

Voir aussi

À propos des profils

Création d’une entrée du glossaire du site

Création d’un groupe d’entrées du glossaire du site


Réorganisation des entrées du glossaire du site

Le module Éditeur d’entrées du glossaire du site permet d’organiser vos entrées du glossaire du site et groupes d’entrées du glossaire du site. Vous pouvez déplacer les entrées et les groupes d’entrées du glossaire du site vers le haut et vers le bas dans la liste Structure des entrées du glossaire du site pour les organiser de façon plus appropriée. Vous pouvez changer l’entrée du glossaire du site de groupe en déplaçant celle-ci entre les groupes. Pour plus d’informations sur la structure et la hiérarchie des entrées du glossaire du site, consultez Création d’un groupe d’entrées du glossaire du site.

Vous devez avoir accès aux modules Profils pour apporter les modifications aux entrées du glossaire du site, aux définitions de profils et aux profils. Pour plus d’informations sur les autorisations Business Desk, consultez À propos de la sécurité Business Desk.

Pour déplacer une entrée du glossaire du site

  1. Dans Profils, cliquez sur Éditeur d’entrées du glossaire du site.
  2. Dans l’écran Éditeur d’entrées du glossaire du site, sélectionnez l’entrée ou le groupe d’entrées du glossaire du site que vous souhaitez déplacer.

    Remarque

    • Si cette entrée ne figure pas dans la liste Structure des entrées du glossaire du site, développez le groupe d’entrées du glossaire du site qui contient l’entrée que vous voulez déplacer, puis sélectionnez cette entrée.
  3. Cliquez sur les boutons Haut ou Bas situés sous la liste Structure des entrées du glossaire du site pour déplacer l’entrée ou le groupe d’entrées du glossaire du site jusqu’au nouvel emplacement.
  4. Pour enregistrer vos modifications et revenir à l’écran Business Desk, cliquez sur Enregistrer et retour dans la barre d’outils.

La nouvelle structure des entrées du glossaire du site est enregistrée.

Voir aussi

À propos des profils

Création d’une entrée du glossaire du site

Création d’un groupe d’entrées du glossaire du site


Suppression d'entrées du glossaire du site

Envoyer des commentaires sur cette page Commerce Server 2002

Suppression d’entrées du glossaire du site

Le module Éditeur d’entrées du glossaire du site permet de supprimer des entrées du glossaire du site et des groupes d’entrées du glossaire du site.

Vous devez avoir accès aux modules Profils pour apporter les modifications aux entrées du glossaire du site, aux définitions de profils et aux profils. Pour plus d’informations sur les autorisations Business Desk, consultez À propos de la sécurité Business Desk.

Pour supprimer une entrée du glossaire du site

  1. Dans Profils, cliquez sur Éditeur d’entrées du glossaire du site.
  2. Dans l’écran Éditeur d’entrées du glossaire du site, sélectionnez l’entrée ou le groupe d’entrées du glossaire que vous souhaitez supprimer, puis cliquez sur Supprimer.
  3. Dans la boîte de dialogue Supprimer, cliquez sur OK pour supprimer l’entrée du glossaire du site.

    Attention

    • Si vous supprimez un groupe d’entrées du glossaire du site, toutes les entrées du glossaire du site se trouvant dans ce groupe sont également supprimées.
  4. Pour enregistrer vos modifications et revenir à l’écran Business Desk, cliquez sur Enregistrer et retour dans la barre d’outils.

Voir aussi

À propos des profils

Création d’une entrée du glossaire du site

Création d’un groupe d’entrées du glossaire du site


Gestion des définitions de profils

Le module Concepteur de définitions de profils permet de déplacer, de modifier et de supprimer des propriétés de profil. Lorsque les informations dont vous avez besoin concernant les utilisateurs et les organisations changent, vous pouvez modifier les définitions de profils existantes en conséquence.

Cette section contient les rubriques suivantes :

  • Déplacement de propriétés de profil
  • Modification de propriétés de profil
  • Suppression de propriétés d’une définition de profil
  • Suppression de définitions de profils


Déplacement de propriétés de profil

Vous pouvez créer une hiérarchie de groupes de propriétés pour organiser vos propriétés de profil. Après avoir créé vos groupes de propriétés, vous pouvez utiliser le module Concepteur de définitions de profils pour déplacer des propriétés de profil vers des groupes de propriétés afin d’organiser vos informations concernant les utilisateurs et les organisations.

Pour déplacer une propriété de profil

  1. Dans Profils, cliquez sur Concepteur de définitions de profils.
  2. Dans l’écran Profils, sélectionnez la définition de profil contenant la propriété que vous souhaitez modifier, puis cliquez sur Ouvrir dans la barre d’outils.
  3. Dans l’écran Profil : <définition profil>, dans la liste Propriétés, sélectionnez la ou les propriétés à déplacer, puis cliquez sur les boutons Haut ou Bas situés sous la liste Propriétés pour déplacer la propriété de profil vers un nouvel emplacement.
  4. Cliquez sur les flèches vers le haut et vers le bas situées sous la liste Structure des entrées du glossaire du site pour déplacer l’entrée ou le groupe d’entrées du glossaire du site jusqu’au nouvel emplacement.

    Remarque

    • Si cette propriété ne figure pas dans la liste Propriétés, développez le groupe de propriétés contenant la propriété que vous voulez déplacer, puis sélectionnez la propriété.
  5. Pour enregistrer les propriétés de profil et revenir à l’écran Profils, cliquez sur Enregistrer et retour dans la barre d’outils.

La nouvelle structure des définitions de profils est enregistrée.


Modification de propriétés de profil

Le module Concepteur de définitions de profils permet de modifier des propriétés de profil et des groupes de propriétés qui sont utilisés dans les définitions de profils.

Vous devez avoir accès aux modules Profils pour apporter les modifications aux entrées du glossaire du site, aux définitions de profils et aux profils. Pour plus d’informations sur les autorisations Business Desk, consultez À propos de la sécurité Business Desk.

Remarque

  • Pour modifier une propriété définie comme clé de jointure utilisée pour collecter des données, vous devez d’abord supprimer la colonne de base de données vers laquelle la propriété est mappée. Après avoir supprimé les colonnes de base de données, vous devez effectuer la migration des anciennes données dans les nouvelles colonnes de base de données. Commerce Server 2002 ne prend pas en charge les modifications de la propriété de clé de jointure lorsque vous avez conservé les données.

Pour modifier une propriété de profil

  1. Dans Profils, cliquez sur Concepteur de définitions de profils.
  2. Dans l’écran Profils, sélectionnez la définition de profil contenant la propriété que vous souhaitez modifier, puis cliquez sur Ouvrir dans la barre d’outils.
  3. Dans l’écran Profil : <définition profil>, dans la liste Propriétés, sélectionnez la propriété ou le groupe de propriétés que vous souhaitez modifier.

    Remarque

    • Si cette propriété ne figure pas dans la liste Propriétés, développez le groupe de propriétés contenant la propriété que vous voulez modifier, puis sélectionnez la propriété.
  4. Modifiez les attributs de la propriété.

    Remarque

    • Vous ne pouvez pas modifier le nom d’une propriété une fois qu’il est créé. Vous pouvez modifier son nom complet, mais son nom de programmation réel reste statique. Si vous souhaitez modifier le nom de programmation, vous devez supprimer la propriété puis la rajouter en utilisant le nouveau nom de programmation.
  5. Pour appliquer les modifications apportées à la propriété, cliquez sur Appliquer.
  6. Pour enregistrer la définition de profil modifiée et revenir à l’écran Profils, cliquez sur Enregistrer et retour dans la barre d’outils.

La définition de profil modifiée est enregistrée. Après avoir modifié une propriété dans une définition de profil, vous devez publier les modifications sur votre site Web. Pour plus d’informations sur la publication de vos modifications, consultez Publication des modifications apportées aux définitions de profils sur votre site Web.

Voir aussi

À propos des profils

Ajout de propriétés à une définition de profil

Ajout d’un groupe de propriétés à une définition de profil.

Suppression de propriétés d’une définition de profil

Ajout d’une propriété mappée vers une entrée du glossaire du site


Suppression de propriétés d'une définition de profil

Envoyer des commentaires sur cette page Commerce Server 2002

Suppression de propriétés d’une définition de profil

Le module Concepteur de définitions de profils permet de supprimer des propriétés et des groupes de propriétés d’une définition de profil. Vous pouvez supprimer des propriétés qui contiennent des définitions de profils incorporées. Vous ne pouvez pas supprimer un groupe de propriétés s’il contient une propriété enfant qui ne peut pas être supprimée. Pour supprimer le groupe de propriétés, vous devez au préalable supprimer la propriété enfant du groupe.

Vous devez avoir accès aux modules Profils pour apporter les modifications aux entrées du glossaire du site, aux définitions de profils et aux profils. Pour plus d’informations sur les autorisations Business Desk, consultez À propos de la sécurité Business Desk.

Remarque

  • Pour modifier une propriété définie comme clé de jointure utilisée pour collecter des données, vous devez d’abord supprimer la colonne de base de données vers laquelle la propriété est mappée. Après avoir supprimé les colonnes de base de données, vous devez effectuer la migration des anciennes données dans les nouvelles colonnes de base de données. Commerce Server 2002 ne prend pas en charge les modifications de la propriété de clé de jointure lorsque vous avez conservé les données.

Pour supprimer un groupe de propriété

Pour supprimer une propriété de profil

Pour supprimer un groupe de propriétés

  1. Dans Profils, cliquez sur Concepteur de définitions de profils.
  2. Dans l’écran Profils, sélectionnez la définition de profil de laquelle vous souhaitez supprimer un groupe de propriétés, puis cliquez sur Ouvrir dans la barre d’outils.
  3. Dans l’écran Profil : <définition profil>, sélectionnez le groupe de propriétés que vous souhaitez supprimer.
  4. Cliquez sur Supprimer.
  5. Dans la boîte de dialogue Supprimer, cliquez sur OK pour supprimer le groupe de propriétés.
  6. Pour enregistrer vos modifications et revenir à l’écran Profils, cliquez sur Enregistrer et retour dans la barre d’outils.

La définition de profil modifiée est enregistrée. Après avoir supprimé un groupe de propriétés dans une définition de profil, vous devez publier les modifications sur votre site Web. Pour plus d’informations sur la publication de vos modifications, consultez Publication des modifications apportées aux définitions de profils sur votre site Web.

Pour supprimer une propriété de profil

  1. Dans Profils, cliquez sur Concepteur de définitions de profils.
  2. Dans l’écran Profils, sélectionnez la définition de profil de laquelle vous souhaitez supprimer une propriété, puis cliquez sur Ouvrir dans la barre d’outils.
  3. Dans l’écran Profil : <définition profil>, dans la liste Propriétés, sélectionnez la propriété que vous souhaitez supprimer.

    Remarque

    • Si cette propriété ne figure pas dans la liste Propriétés, développez le groupe de propriétés contenant la propriété que vous voulez supprimer, puis sélectionnez la propriété.
  4. Cliquez sur Supprimer.
  5. Dans la boîte de dialogue Supprimer, cliquez sur OK pour supprimer la propriété de profil.
  6. Pour enregistrer vos modifications et revenir à l’écran Profils, cliquez sur Enregistrer et retour dans la barre d’outils.

La définition de profil modifiée est enregistrée. Après avoir supprimé une propriété dans une définition de profil, vous devez publier les modifications sur votre site Web. Pour plus d’informations sur la publication de vos modifications, consultez Publication des modifications apportées aux définitions de profils sur votre site Web.

Voir aussi

À propos des profils

Ajout de propriétés à une définition de profil

Ajout d’un groupe de propriétés à une définition de profil.

Modification de propriétés de profil

Gestion des groupes et des entrées du glossaire du site


Suppression de définitions de profils

Le module Concepteur de définitions de profils permet de supprimer des définitions de profils. Si vous supprimez une définition de profil incorporée dans d’autres définitions de profils, vous devez d’abord supprimer la référence. Toutes les références à la définition de profil seront supprimées des définitions de profils conteneurs. Il est impossible de récupérer une définition de profil qui a été supprimée.

Vous devez avoir accès aux modules Profils pour apporter les modifications aux entrées du glossaire du site, aux définitions de profils et aux profils. Pour plus d’informations sur les autorisations Business Desk, consultez À propos de la sécurité Business Desk.

Attention

  • Il est impossible de récupérer une définition de profil qui a été supprimée.

Pour supprimer une définition de profil

Pour supprimer plusieurs définitions de profils

Pour supprimer une définition de profil

  1. Dans Profils, cliquez sur Concepteur de définitions de profils.
  2. Dans l’écran Profils, sélectionnez la définition de profil que vous souhaitez supprimer, puis cliquez sur Supprimer dans la barre d’outils.
  3. Pour supprimer la définition de profil, dans la boîte de dialogue Supprimer le profil, cliquez sur OK.

La définition de profil est supprimée. Elle ne peut pas être récupérée. Si vous devez créer une nouvelle définition de profil, contactez votre administrateur système.

Pour supprimer plusieurs définitions de profils

  1. Dans Profils, cliquez sur Concepteur de définitions de profils.
  2. Dans l’écran Profils, sélectionnez les définitions de profils que vous souhaitez supprimer, puis cliquez sur Supprimer dans la barre d’outils.
Remarque
  • Pour sélectionner toutes les définitions de profils, cliquez sur Sélectionner tout. Pour désélectionner les définitions de profils, cliquez sur Désélectionner tout.
  1. Pour supprimer les définitions de profils, dans la boîte de dialogue Supprimer le profil, cliquez sur OK.

Les définitions de profils sont supprimées. Elles ne peuvent pas être récupérées. Si vous devez créer une nouvelle définition de profil, contactez votre administrateur système.


Gestion des profils utilisateur

Les profils utilisateur contiennent des informations sur les utilisateurs. Le module Utilisateurs permet d’ajouter, de rechercher, de modifier et de supprimer des informations relatives à des utilisateurs anonymes et inscrits qui visitent votre site.

Cette section contient les rubriques suivantes :

  • Recherche d’un profil utilisateur
  • Modification de profils utilisateur
  • Copie d’un profil utilisateur
  • Suppression de profils utilisateur


Recherche d'un profil utilisateur

Envoyer des commentaires sur cette page Commerce Server 2002

Recherche d’un profil utilisateur

Le module Utilisateurs permet de rechercher un profil utilisateur ou un groupe de profils utilisateur sur votre site Web. Vous pouvez utiliser le volet Rechercher pour affiner votre recherche à l’aide des propriétés de la définition de profil et des valeurs contenues dans le profil que vous recherchez. Par exemple, vous pouvez rechercher un profil utilisateur contenant la valeur « Michel » dans la propriété de profil « Prénom ». La liste Affichage filtré située sous le volet Rechercher contient tous les profils utilisateur correspondant à vos critères de recherche.

Vous devez avoir accès aux modules Profils pour apporter les modifications aux entrées du glossaire du site, aux définitions de profils et aux profils. Pour plus d’informations sur les autorisations Business Desk, consultez À propos de la sécurité Business Desk.

Pour rechercher un profil utilisateur

  1. Dans Profils, cliquez sur Utilisateurs.
  2. Dans l’écran Objet utilisateur, dans le volet Rechercher, effectuez une sélection parmi les éléments de la zone de liste déroulante Rechercher par :
Remarque
  • Si le volet Rechercher n’est pas ouvert, cliquez sur Rechercher dans la barre d’outils.
Utilisez ceci | Pour faire cela
Nom d’ouverture de session | Rechercher un profil utilisateur en fonction de son nom d’ouverture de session.
Adresse de messagerie | Rechercher un profil utilisateur en fonction de son adresse de messagerie.
Nom | Rechercher un profil utilisateur en fonction de son nom.
Prénom | Rechercher un profil utilisateur en fonction de son prénom.
État du compte | Rechercher un profil utilisateur dont le compte est actif ou inactif.
Date d’inscription | Rechercher un profil utilisateur en fonction de la date d’inscription de l’utilisateur.
Indicateurs de rôles du Service Partenaire | Rechercher le profil utilisateur d’un Utilisateur ordinaire ou d’un Administrateur.
Date de dernière modification | Rechercher un profil utilisateur modifié à une date donnée.
Date de création | Rechercher un profil utilisateur créé à une date donnée.
Rechercher par propriété | Rechercher un profil utilisateur par propriété. Utilisez cette option pour créer une expression permettant de rechercher un profil utilisateur.
Listes des utilisateurs | Ouvrir une liste des utilisateurs dans le module Gestionnaire de listes.
  1. Dans la zone de saisie de la valeur de la propriété qui s’affiche ensuite, tapez ou sélectionnez dans la liste déroulante la valeur spécifique des propriétés que vous avez sélectionnées (par exemple, le nom ou l’adresse de messagerie du profil utilisateur que vous recherchez).

    Remarques

    • Si vous avez besoin d’effectuer une recherche plus spécifique, sélectionnez Rechercher par propriété dans la liste déroulante Rechercher par afin de créer une expression permettant de rechercher un profil utilisateur.
    • Vous pouvez inclure une entrée générique (*) pour rechercher un nombre indéfini de caractères dans votre recherche. Par exemple, t* correspond à tous les utilisateurs dont le nom commence par la lettre « t ».
  2. Cliquez sur Rechercher.
Attention
  • Lorsque vous recherchez des profils utilisateur, il est important de limiter vos critères de recherche afin de contrôler le nombre de profils utilisateur correspondant à vos paramètres de recherche. Si un grand nombre de profils utilisateur correspondent à vos critères de recherche, les résultats pourraient nuire de façon significative aux performances de Commerce Server Business Desk.

La recherche s’effectue. Si elle réussit, les profils utilisateur que vous recherchez s’affichent dans la liste Affichage filtré. Si la recherche échoue, le message « Aucun élément ne correspond à cette recherche » s’affiche.

Voir aussi

À propos des profils

Ajout d’un profil utilisateur

Modification de profils utilisateur

Copie d’un profil utilisateur

Suppression de profils utilisateur


Création d'une expression permettant de rechercher un profil utilisateur

Envoyer des commentaires sur cette page Commerce Server 2002

Création d’une expression permettant de rechercher un profil utilisateur

Vous pouvez créer une expression afin d’effectuer une recherche plus spécifique. Une expression est une combinaison de propriétés, d’opérateurs et de valeurs dont l’évaluation produit un résultat. Par exemple, une expression peut prendre la forme « Titre de l’utilisateur est égal à attaché de direction » et « Identificateur d’organisation est égal à 3 ».

Pour créer une expression permettant de rechercher un profil utilisateur

  1. Dans Profils, cliquez sur Utilisateurs.
  2. Dans l’écran Objet utilisateur, sélectionnez le profil utilisateur, puis cliquez sur Ouvrir dans la barre d’outils.
  3. Si le volet Rechercher n’est pas ouvert, cliquez sur Rechercher dans la barre d’outils.
  4. Dans la zone Rechercher par, sélectionnez Rechercher par propriété dans la liste déroulante.
  5. Cliquez sur Nouveau dans le volet Rechercher.
  6. Dans la première liste déroulante, double-cliquez sur le groupe de propriétés, puis sélectionnez la propriété que vous souhaitez utiliser dans la recherche.
    Remarque
    • Le type de la propriété sélectionnée détermine les conditions disponibles pour votre recherche. Par exemple, si la propriété sélectionnée est de type chaîne, vous pouvez définir la condition de votre recherche à est égal à, contient ou commence par. Si la propriété sélectionnée est de type entrée du glossaire du site, vous pouvez définir la condition de votre recherche à est égal à ou est différent de.
  7. Dans la deuxième liste déroulante, sélectionnez la condition de votre recherche.
    Remarque
    • Le type de la propriété sélectionnée détermine la manière dont vous entrez les critères de votre recherche. Par exemple, si la propriété sélectionnée est de type chaîne, vous devez taper la chaîne recherchée dans la troisième zone. Si la propriété sélectionnée est de type entrée du glossaire du site, cliquez sur le bouton [...] pour ouvrir la boîte de dialogue Choisir une entrée du glossaire du site, puis sélectionnez la valeur que vous recherchez.
  8. Dans la troisième zone, tapez ou sélectionnez les critères de votre recherche.
  9. Cliquez sur Appliquer, puis sur Rechercher.

La recherche s’effectue. Si elle réussit, les profils utilisateur que vous recherchez s’affichent dans la liste Affichage filtré. Si la recherche échoue, le message « Aucun élément ne correspond à cette recherche » s’affiche.

Voir aussi

À propos des profils

Ajout d’un profil utilisateur

Modification de profils utilisateur

Copie d’un profil utilisateur

Suppression de profils utilisateur


Recherche de profils utilisateur dans une liste de publipostage

Le module Gestionnaire de listes de Campagnes marketing permet d’importer des listes de publipostage. Une fois qu’une liste de publipostage a été importée dans le module Gestionnaire de listes, vous pouvez utiliser la fonction Rechercher du module Utilisateurs pour rechercher des instances de profils utilisateur dans la liste de publipostage. Cette recherche est possible à la condition que les adresses de messagerie de cette liste correspondent à celles du profil Objet utilisateur. Lorsque vous avez trouvé les instances des profils, vous pouvez les mettre à jour individuellement ou créer une requête de mise à jour pour les traiter par groupes.

Vous devez avoir accès aux modules Profils pour apporter les modifications aux entrées du glossaire du site, aux définitions de profils et aux profils. Pour plus d’informations sur les autorisations Business Desk, consultez À propos de la sécurité Business Desk.

Pour rechercher des profils utilisateur dans une liste de publipostage

  1. Dans Profils, cliquez sur Utilisateurs.
  2. Dans l’écran Objet utilisateur, dans le volet Rechercher, sélectionnez Listes des utilisateurs dans la liste déroulante Rechercher par :
    Remarque
    • Si le volet Rechercher n’est pas ouvert, cliquez sur Rechercher dans la barre d’outils.
  3. Une liste des utilisateurs du Gestionnaire de listes s’affiche dans le volet Rechercher.
  4. Sélectionnez la liste des utilisateurs à partir de laquelle vous souhaitez rechercher des profils utilisateur, puis cliquez sur Rechercher.

Les profils utilisateur de la liste des utilisateurs sélectionnée s’affichent dans la liste Affichage filtré. Vous pouvez maintenant modifier les profils utilisateurs individuellement ou créer une requête de mise à jour qui vous permettra de mettre à jour plusieurs profils utilisateur à la fois. Pour plus d’informations sur la modification de plusieurs profils utilisateur, consultez Modification de plusieurs profils utilisateur.

Voir aussi

Modification d’un seul profil utilisateur

Modification de plusieurs profils utilisateur


Modification de profils utilisateur

Le module Utilisateurs permet de modifier des profils utilisateur existants. Vous pouvez modifier les profils utilisateur un à un ou vous pouvez en modifier plusieurs à la fois. Vous pouvez aussi utiliser le module Utilisateurs pour modifier jusqu’à quatre niveaux de profils utilisateur incorporés.

Cette section contient les rubriques suivantes :

  • Modification d’un seul profil utilisateur
  • Modification de plusieurs profils utilisateur
  • Modification d’un profil utilisateur incorporé


Modification d'un seul profil utilisateur

Envoyer des commentaires sur cette page Commerce Server 2002

Modification d’un seul profil utilisateur

Le module Utilisateurs permet de modifier des profils utilisateur existants.

Vous devez avoir accès aux modules Profils pour apporter les modifications aux entrées du glossaire du site, aux définitions de profils et aux profils. Pour plus d’informations sur les autorisations Business Desk, consultez À propos de la sécurité Business Desk.

Remarque

  • Après avoir fait migré les anciennes données dans les nouvelles colonnes de base de données, vous pouvez supprimer les colonnes de base de données. Commerce Server 2002 ne prend pas en charge les modifications de la propriété de clé de jointure lorsque vous avez conservé les données. Pour modifier une propriété définie comme clé de jointure utilisée pour collecter des données, vous devez d’abord supprimer la colonne de base de données vers laquelle la propriété est mappée.

Pour modifier un profil utilisateur

  1. Dans Profils, cliquez sur Utilisateurs.
  2. Dans l’écran Objet utilisateur, sélectionnez le profil utilisateur, puis cliquez sur Ouvrir dans la barre d’outils.

    Remarque

    • Pour afficher un profil utilisateur particulier, utilisez le volet Rechercher situé en haut de l’écran Utilisateurs. Pour plus d’informations sur la recherche d’un profil utilisateur, consultez Recherche d’un profil utilisateur.
  3. Dans l’écran Mettre à jour le profil : <profil utilisateur>, modifiez le profil utilisateur.

    Remarque

    • Pour plus d’informations sur l’écran Mise à jour du profil : <profil utilisateur>, consultez Ajout d’un profil utilisateur.
  4. Pour enregistrer le profil et revenir à l’écran Objet utilisateur, cliquez sur Enregistrer et retour dans la barre d’outils.

Le profil modifié est enregistré.

Voir aussi

À propos des profils

Ajout d’un profil utilisateur

Copie d’un profil utilisateur

Suppression de profils utilisateur

Recherche d’un profil utilisateur


Modification de plusieurs profils utilisateur

Le module Utilisateurs permet de modifier plusieurs profils utilisateur. Lorsque vous modifiez plusieurs profils utilisateur, vous apportez les mêmes modifications à tous les profils que vous modifiez. Vous utilisez des requêtes de mise à jour pour modifier la valeur d’une propriété dans plusieurs profils utilisateur.

Vous devez avoir accès aux modules Profils pour apporter les modifications aux entrées du glossaire du site, aux définitions de profils et aux profils. Pour plus d’informations sur les autorisations Business Desk, consultez À propos de la sécurité Business Desk.

Remarque

  • Pour modifier une propriété définie comme clé de jointure utilisée pour collecter des données, vous devez d’abord supprimer la colonne de base de données vers laquelle la propriété est mappée. Après avoir supprimé les colonnes de base de données, vous devez effectuer la migration des anciennes données dans les nouvelles colonnes de base de données. Commerce Server 2002 ne prend pas en charge les modifications de la propriété de clé de jointure lorsque vous avez conservé les données.

Pour modifier plusieurs profils utilisateur

  1. Dans Profils, cliquez sur Utilisateurs.
  2. Dans l’écran Objet utilisateur, sélectionnez les profils que vous souhaitez modifier, puis cliquez sur Ouvrir dans la barre d’outils.

    Remarques

    • Pour afficher des profils particuliers, utilisez le volet Rechercher situé en haut de l’écran Objet utilisateur. Pour plus d’informations sur la recherche d’un profil utilisateur, consultez Recherche d’un profil utilisateur.
    • Pour sélectionner tous les profils utilisateur de la liste Affichage filtré, cliquez sur Sélectionner tout. Pour désélectionner les profils utilisateur de la liste Affichage filtré, cliquez sur Désélectionner tout.
    • Si vous cliquez sur Sélectionner tout pour sélectionner tous les profils utilisateur figurant dans la liste Affichage filtré, seuls les profils utilisateur de l’écran actuel (20 au maximum) sont sélectionnés.
  3. Pour créer une nouvelle requête de mise à jour, dans l’écran Mettre à jour <nombre> profils, cliquez sur Nouveau, puis effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Première liste déroulante (gauche) Sélectionner, dans la première liste déroulante, Objet utilisateur, le groupe de propriétés, puis la propriété que vous souhaitez utiliser dans la requête de mise à jour.

    Remarque

    • Le type de la propriété sélectionnée détermine les conditions disponibles pour votre requête dans la deuxième liste déroulante. Par exemple, si la propriété sélectionnée est de type chaîne, vous pouvez définir la condition de votre recherche à est égal à, contient ou commence par. Si la propriété sélectionnée est de type entrée du glossaire du site, vous pouvez définir la condition de votre recherche à est égal à ou est différent de.
    Deuxième liste déroulante (centre) | Sélectionner la condition de requête de mise à jour.
    Troisième liste déroulante (droite) Taper ou sélectionner la nouvelle valeur de la propriété.

    Le type de la propriété sélectionnée dans la première zone détermine la manière dont vous entrez les modifications apportées à cette propriété.

    Par exemple, si la propriété sélectionnée est de type chaîne, vous devez taper la chaîne recherchée dans la troisième zone. Si la propriété sélectionnée est de type entrée du glossaire du site, cliquer sur le bouton […] pour ouvrir la boîte de dialogue Choisir une entrée du glossaire du site, puis sélectionner la valeur attribuée à la propriété.
  4. Pour créer la nouvelle requête de mise à jour, cliquez sur Appliquer.
  5. Pour créer une autre requête de mise à jour, répétez les étapes 3 et 4.
  6. Pour enregistrer la requête de mise à jour et revenir à l’écran Objet utilisateur, cliquez sur Enregistrer et retour dans la barre d’outils.

Les profils utilisateur sont enregistrés avec les nouvelles informations.

Voir aussi

Ajout d’un profil utilisateur

Recherche de profils utilisateur dans une liste de publipostage

Modification de profils utilisateur


Modification d'un profil utilisateur incorporé

Envoyer des commentaires sur cette page Commerce Server 2002

Modification d’un profil utilisateur incorporé

Le module Utilisateurs permet de modifier jusqu’à quatre niveaux (y compris le premier) de profils utilisateur incorporés. Vous pouvez aussi utiliser le module Utilisateurs pour modifier chaque profil utilisateur individuellement.

Vous devez avoir accès aux modules Profils pour apporter les modifications aux entrées du glossaire du site, aux définitions de profils et aux profils. Pour plus d’informations sur les autorisations Business Desk, consultez À propos de la sécurité Business Desk.

Remarque

  • Pour modifier une propriété définie comme clé de jointure utilisée pour collecter des données, vous devez d’abord supprimer la colonne de base de données vers laquelle la propriété est mappée. Après avoir supprimé les colonnes de base de données, vous devez effectuer la migration des anciennes données dans les nouvelles colonnes de base de données. Commerce Server 2002 ne prend pas en charge les modifications de la propriété de clé de jointure lorsque vous avez conservé les données.

Pour modifier un profil utilisateur incorporé

  1. Dans Profils, cliquez sur Utilisateurs.
  2. Dans l’écran Objet utilisateur, sélectionnez le profil qui contient le profil incorporé que vous souhaitez modifier, puis cliquez sur Ouvrir dans la barre d’outils.

    Remarque

    • Pour afficher un profil particulier, utilisez le volet Rechercher situé en haut de l’écran Objet utilisateur. Pour plus d’informations sur la recherche d’un profil utilisateur, consultez Recherche d’un profil utilisateur.
  3. Dans l’écran Mettre à jour le profil : <profil utilisateur>, dans la propriété qui contient un profil incorporé, sélectionnez dans la liste déroulante le profil incorporé que vous souhaitez modifier.

    Remarque

    • Pour modifier le niveau suivant d’un profil incorporé, répétez l’étape 3.
  4. Modifiez le profil incorporé.
  5. Pour enregistrer le profil incorporé et revenir à l’écran Mettre à jour le profil : <profil utilisateur>, cliquez sur Enregistrer et retour dans la barre d’outils.
  6. Pour enregistrer le profil utilisateur et revenir à l’écran Objet utilisateur, cliquez sur Enregistrer et retour dans la barre d’outils.

Le profil incorporé modifié est enregistré.


Copie d'un profil utilisateur

Envoyer des commentaires sur cette page Commerce Server 2002

Copie d’un profil utilisateur

Le module Utilisateurs permet de copier un profil existant. Par exemple, si vous devez ajouter un nouveau profil utilisateur pour un utilisateur dont le profil ressemble beaucoup à un profil utilisateur existant, vous pouvez copier ce dernier, apporter les modifications nécessaires aux informations de profil, puis enregistrer ce profil en tant que profil d’un nouvel utilisateur.

Vous devez avoir accès aux modules Profils pour apporter les modifications aux entrées du glossaire du site, aux définitions de profils et aux profils. Pour plus d’informations sur les autorisations Business Desk, consultez À propos de la sécurité Business Desk.

Remarque

  • Pour modifier une propriété définie comme clé de jointure utilisée pour collecter des données, vous devez d’abord supprimer la colonne de base de données vers laquelle la propriété est mappée. Après avoir supprimé les colonnes de base de données, vous devez effectuer la migration des anciennes données dans les nouvelles colonnes de base de données. Commerce Server 2002 ne prend pas en charge les modifications de la propriété de clé de jointure lorsque vous avez conservé les données.

Pour copier un profil utilisateur

  1. Dans Profils, cliquez sur Utilisateurs.
  2. Dans l’écran Objet utilisateur, sélectionnez le profil que vous souhaitez copier, puis cliquez sur Copier dans la barre d’outils.

    Remarque

    • Pour afficher un profil particulier, utilisez le volet Rechercher situé en haut de l’écran Objet utilisateur. Pour plus d’informations sur la recherche d’un profil utilisateur, consultez Recherche d’un profil utilisateur.
  3. Dans l’écran Nouveau profil (copier), dans la section Informations générales, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom d’ouverture de session | Taper le nom d’ouverture de session du nouveau profil utilisateur.
    Mot de passe de l’utilisateur | Tapez le mot de passe du nouveau profil utilisateur. Les mots de passe doivent comprendre entre 7 et 14 caractères alphanumériques. Les mots de passe ne peuvent pas contenir d’espaces.
  4. Modifiez les informations existantes dans le profil copié en fonction du nouveau profil utilisateur.
  5. Pour enregistrer le nouveau profil et revenir à l’écran Objet utilisateur, cliquez sur Enregistrer et retour dans la barre d’outils.

Le nouveau profil est enregistré.

Voir aussi

À propos des profils

Ajout d’un profil utilisateur

Modification de profils utilisateur

Suppression de profils utilisateur

Recherche d’un profil utilisateur


Suppression de profils utilisateur

Le module Utilisateurs permet de supprimer des profils existants de la base de données Commerce Server.

Vous devez avoir accès aux modules Profils pour apporter les modifications aux entrées du glossaire du site, aux définitions de profils et aux profils. Pour plus d’informations sur les autorisations Business Desk, consultez À propos de la sécurité Business Desk.

Remarque

  • Pour supprimer le contenu d’une propriété définie comme clé de jointure utilisée pour collecter des données, vous devez d’abord supprimer la colonne de base de données vers laquelle la propriété est mappée.

Pour supprimer un profil utilisateur

Pour supprimer plusieurs profils utilisateur

Pour supprimer un profil utilisateur incorporé

Attention

  • Il est impossible de récupérer un profil qui a été supprimé.

Pour supprimer un profil utilisateur

  1. Dans Profils, cliquez sur Utilisateurs.
  2. Dans l’écran Objet utilisateur, sélectionnez le profil utilisateur que vous souhaitez supprimer, puis cliquez sur Supprimer dans la barre d’outils.

    Remarque

    • Pour afficher un profil particulier, utilisez le volet Rechercher situé en haut de l’écran Objet utilisateur. Pour plus d’informations sur la recherche d’un profil utilisateur, consultez Recherche d’un profil utilisateur.
  3. Dans la boîte de dialogue Supprimer, cliquez sur Oui pour supprimer le profil utilisateur.

Le profil utilisateur est supprimé.

Pour supprimer plusieurs profils utilisateur

Remarque

  • Si vous cliquez sur Sélectionner tout pour sélectionner tous les profils utilisateur figurant dans la liste Affichage filtré, seuls les profils utilisateur de l’écran actuel (20 au maximum) sont sélectionnés.
  1. Dans Profils, cliquez sur Utilisateurs.
  2. Dans l’écran Objet utilisateur, sélectionnez les profils utilisateur que vous souhaitez supprimer, puis cliquez sur Supprimer dans la barre d’outils.

    Remarque

    • Pour afficher des profils particuliers, utilisez le volet Rechercher situé en haut de l’écran Objet utilisateur. Pour plus d’informations sur la recherche d’un profil utilisateur, consultez Recherche d’un profil utilisateur.
  3. Dans la boîte de dialogue Supprimer, cliquez sur Oui pour supprimer les profils sélectionnés.

    Les profils utilisateur sont supprimés.

  4. Pour revenir à l’écran Profils, cliquez sur Retour dans la barre d’outils.

Pour supprimer un profil utilisateur incorporé

  1. Dans Profils, cliquez sur Utilisateurs.
  2. Dans l’écran Objet utilisateur, sélectionnez le profil utilisateur qui contient le profil incorporé que vous souhaitez supprimer, puis cliquez sur Ouvrir dans la barre d’outils.
  3. Dans l’écran Mettre à jour le profil : <profil utilisateur>, ouvrez la liste déroulante de la propriété qui contient le profil à supprimer, puis sélectionnez Supprimer la référence du profil.
  4. Dans la boîte de dialogue Supprimer, cliquez sur Oui pour supprimer le profil utilisateur incorporé.
  5. Pour enregistrer le profil mis à jour et revenir à l’écran Objet utilisateur, cliquez sur Enregistrer et retour dans la barre d’outils.

Le profil est enregistré et le profil incorporé est supprimé de la base de données des profils.

Voir aussi

À propos des profils

Ajout d’un profil utilisateur

Modification de profils utilisateur

Copie d’un profil utilisateur

Recherche d’un profil utilisateur


Gestion des profils d'organisation

Envoyer des commentaires sur cette page Commerce Server 2002

Gestion des profils d’organisation

Les profils d’organisation contiennent des informations sur des organisations, telles qu’une division, un service ou une autre unité d’activité au sein d’une société. Le module Organisations vous permet de rechercher, d’ajouter, de modifier et de supprimer des informations relatives aux organisations.

Cette section contient les rubriques suivantes :

  • Recherche d’un profil d’organisation
  • Création d’une expression permettant de rechercher un profil d’organisation
  • Modification de profils d’organisation
  • Copie d’un profil d’organisation
  • Suppression de profils d’organisation


Recherche d'un profil d'organisation

Envoyer des commentaires sur cette page Commerce Server 2002

Recherche d’un profil d’organisation

Le module Organisations permet de rechercher un profil d’organisation ou un groupe de profils d’organisation sur votre site Web. Vous pouvez utiliser le volet Rechercher pour affiner votre recherche à l’aide des propriétés de la définition de profil et des valeurs du profil que vous recherchez. Par exemple, vous pouvez rechercher un profil d’organisation qui contient la valeur « technique » dans la propriété de profil « Nom ». La liste Affichage filtré située sous le volet Rechercher contient tous les profils d’organisation correspondant à vos critères de recherche.

Vous devez avoir accès aux modules Profils pour apporter les modifications aux entrées du glossaire du site, aux définitions de profils et aux profils. Pour plus d’informations sur les autorisations Business Desk, consultez À propos de la sécurité Business Desk.

Pour rechercher un profil d’organisation

  1. Dans Profils, cliquez sur Organisations.
  2. Dans l’écran Organisation, si le volet Rechercher n’est pas ouvert, cliquez sur Rechercher dans la barre d’outils.
  3. Dans la liste déroulante Rechercher par, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Rechercher un profil d’organisation en fonction de son nom.
    Date de dernière modification | Rechercher un profil d’organisation modifié à une date donnée.
    Date de création | Rechercher un profil d’organisation créé à une date donnée.
    Rechercher par propriété | Rechercher un profil d’organisation par propriété. Utilisez cette option pour créer une expression permettant de rechercher un profil d’organisation.
  4. Dans la zone de saisie de la valeur de la propriété qui s’affiche ensuite, tapez ou sélectionnez dans la liste déroulante la valeur spécifique pour les propriétés que vous avez sélectionnées (par exemple, le nom du profil d’organisation que vous recherchez).

    Remarques

    • Si vous avez besoin d’effectuer une recherche plus complexe, sélectionnez Rechercher par propriété dans la liste déroulante Rechercher par afin de créer une expression permettant de rechercher un profil d’organisation.
    • Vous pouvez inclure une entrée générique (*) pour rechercher un nombre indéfini de caractères dans votre recherche. Par exemple, t* correspond à tous les utilisateurs dont le nom commence par la lettre « t ».
  5. Cliquez sur Rechercher.
Attention
  • Lorsque vous recherchez des profils d’organisation, il est important de limiter vos critères de recherche afin de contrôler le nombre de profils d’organisation correspondant à vos paramètres de recherche. Si un grand nombre de profils d’organisation correspondent à vos critères de recherche, les résultats pourraient nuire de façon significative aux performances de Commerce Server Business Desk.

La recherche s’effectue. Si elle réussit, les profils d’organisation que vous recherchez s’affichent dans la liste Affichage filtré. Si la recherche échoue, le message « Aucun élément ne correspond à cette recherche » s’affiche.

Voir aussi

À propos des profils

Ajout d’un profil d’organisation

Modification de profils d’organisation

Création d’une expression permettant de rechercher un profil d’organisation

Copie d’un profil d’organisation

Suppression de profils d’organisation


Création d'une expression permettant de rechercher un profil d'organisation

Envoyer des commentaires sur cette page Commerce Server 2002

Création d’une expression permettant de rechercher un profil d’organisation

Vous pouvez créer une expression afin d’effectuer une recherche plus complexe. Une expression est une combinaison de propriétés, d’opérateurs et de valeurs dont l’évaluation produit un résultat. Par exemple, une expression peut prendre la forme « Numéro de partenaire commercial est égal à 4 ».

Pour créer une expression permettant de rechercher un profil d’organisation

  1. Dans Profils, cliquez sur Organisations.
  2. Dans l’écran Organisations, sélectionnez le profil d’organisation, puis cliquez sur Ouvrir dans la barre d’outils.
  3. Si le volet Rechercher n’est pas ouvert, cliquez sur Rechercher dans la barre d’outils.
  4. Dans la zone Rechercher par, sélectionnez Rechercher par propriété dans la liste déroulante.
  5. Cliquez sur Nouveau dans le volet Rechercher.
  6. Dans la première liste déroulante, double-cliquez sur le groupe de propriétés, puis sélectionnez la propriété que vous souhaitez utiliser dans la recherche.

    Remarque

    • Le type de la propriété sélectionnée détermine les conditions disponibles pour votre recherche. Par exemple, si la propriété sélectionnée est de type chaîne, vous pouvez définir la condition de votre recherche à est égal à, contient ou commence par. Si la propriété sélectionnée est de type entrée du glossaire du site, vous pouvez définir la condition de votre recherche à est égal à ou est différent de.
  7. Dans la deuxième liste déroulante, sélectionnez la condition de votre recherche.

    Remarque

    • Le type de la propriété sélectionnée détermine la manière dont vous entrez les critères de votre recherche. Par exemple, si la propriété sélectionnée est de type chaîne, vous devez taper la chaîne recherchée dans la troisième zone. Si la propriété sélectionnée est de type entrée du glossaire du site, cliquez sur le bouton [...] pour ouvrir la boîte de dialogue Choisir une entrée du glossaire du site, puis sélectionnez la valeur que vous recherchez.
  8. Dans la troisième zone, tapez ou sélectionnez les critères de votre recherche.
  9. Cliquez sur Appliquer, puis sur Rechercher.

La recherche s’effectue. Si elle réussit, les profils que vous recherchez s’affichent dans la liste Affichage filtré. Si la recherche échoue, le message « Aucun élément ne correspond à cette recherche » s’affiche.

Voir aussi

À propos des profils

Ajout d’un profil d’organisation

Modification de profils d’organisation

Copie d’un profil d’organisation

Suppression de profils d’organisation


Modification de profils d'organisation

Envoyer des commentaires sur cette page Commerce Server 2002

Modification de profils d’organisation

Le module Organisations permet de modifier des profils d’organisation existants. Vous pouvez modifier les profils d’organisation un à un ou vous pouvez en modifier plusieurs à la fois. Vous pouvez aussi utiliser le module Organisations pour modifier jusqu’à quatre niveaux de profils d’organisation incorporés.

Cette section contient les rubriques suivantes :

  • Modification d’un seul profil d’organisation
  • Modification de plusieurs profils d’organisation
  • Modification d’un profil d’organisation incorporé


Modification d'un seul profil d'organisation

Envoyer des commentaires sur cette page Commerce Server 2002

Modification d’un seul profil d’organisation

Le module Organisations permet de modifier des profils d’organisation existants.

Vous devez avoir accès aux modules Profils pour apporter les modifications aux entrées du glossaire du site, aux définitions de profils et aux profils. Pour plus d’informations sur les autorisations Business Desk, consultez À propos de la sécurité Business Desk.

Remarque

  • Pour modifier une propriété définie comme clé de jointure utilisée pour collecter des données, vous devez d’abord supprimer la colonne de base de données vers laquelle la propriété est mappée. Après avoir supprimé les colonnes de base de données, vous devez effectuer la migration des anciennes données dans les nouvelles colonnes de base de données. Commerce Server 2002 ne prend pas en charge les modifications de la propriété de clé de jointure lorsque vous avez conservé les données.

Pour modifier un profil d’organisation

  1. Dans Profils, cliquez sur Organisations.
  2. Dans l’écran Organisation, sélectionnez le profil d’organisation que vous souhaitez modifier, puis cliquez sur Ouvrir dans la barre d’outils.
    Remarque
    • Pour afficher un profil d’organisation particulier, utilisez le volet Rechercher situé en haut de l’écran Organisation. Pour plus d’informations sur la recherche d’un profil d’organisation, consultez Recherche d’un profil d’organisation.
  3. Dans l’écran Mettre à jour le profil : <profil organisation>, modifiez le profil d’organisation.
    Remarque
    • Pour plus d’informations sur l’écran Mise à jour du profil : <profil organisation>, consultez Ajout d’un profil d’organisation.
  4. Pour enregistrer le profil d’organisation et revenir à l’écran Organisation, cliquez sur Enregistrer et retour dans la barre d’outils.

Le profil d’organisation modifié est enregistré.

Voir aussi

À propos des profils

Ajout d’un profil d’organisation

Copie d’un profil d’organisation

Suppression de profils d’organisation

Recherche d’un profil d’organisation


Modification de plusieurs profils d'organisation

Envoyer des commentaires sur cette page Commerce Server 2002

Modification de plusieurs profils d’organisation

Le module Organisations permet de modifier plusieurs profils d’organisation. Lorsque vous modifiez plusieurs profils d’organisation, vous apportez les mêmes modifications à tous les profils que vous modifiez. Vous utilisez des requêtes de mise à jour pour modifier la valeur d’une propriété dans plusieurs profils d’organisation.

Vous devez avoir accès aux modules Profils pour apporter les modifications aux entrées du glossaire du site, aux définitions de profils et aux profils. Pour plus d’informations sur les autorisations Business Desk, consultez À propos de la sécurité Business Desk.

Remarque

  • Pour modifier une propriété définie comme clé de jointure utilisée pour collecter des données, vous devez d’abord supprimer la colonne de base de données vers laquelle la propriété est mappée. Après avoir supprimé les colonnes de base de données, vous devez effectuer la migration des anciennes données dans les nouvelles colonnes de base de données. Commerce Server 2002 ne prend pas en charge les modifications de la propriété de clé de jointure lorsque vous avez conservé les données.

Pour modifier plusieurs profils d’organisations

Remarque

  • Si vous cliquez sur Sélectionner tout pour sélectionner tous les profils d’organisation figurant dans la liste Affichage filtré, seuls les profils d’organisation de l’écran actuel (20 au maximum) sont sélectionnés.
  1. Dans Profils, cliquez sur Organisations.
  2. Dans l’écran Organisation, sélectionnez les profils que vous souhaitez modifier, puis cliquez sur Ouvrir dans la barre d’outils.

    Remarques

    • Pour afficher des profils particuliers, utilisez le volet Rechercher situé en haut de l’écran Organisation. Pour plus d’informations sur la recherche d’un profil d’organisation, consultez Recherche d’un profil d’organisation.
    • Pour sélectionner tous les profils d’organisation de la liste Affichage filtré, cliquez sur Sélectionner tout. Pour désélectionner les profils d’organisation de la liste Affichage filtré, cliquez sur Désélectionner tout.
  3. Pour créer une nouvelle requête de mise à jour, dans l’écran Mettre à jour <nombre> profils, cliquez sur Nouveau, puis effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Première liste déroulante (gauche) Sélectionner, dans la première liste déroulante, Organisation, le groupe de propriétés, puis la propriété que vous souhaitez utiliser dans la requête de mise à jour.

    Remarque

    • Le type de la propriété sélectionnée détermine les conditions disponibles pour votre requête dans la deuxième liste déroulante. Par exemple, si la propriété sélectionnée est de type chaîne, vous pouvez définir la condition de votre recherche à est égal à, contient ou commence par. Si la propriété sélectionnée est de type entrée du glossaire du site, vous pouvez définir la condition de votre recherche à est égal à ou est différent de.
    Deuxième liste déroulante (centre) | Sélectionner la condition de requête de mise à jour.
    Troisième liste déroulante (droite) Taper ou sélectionner la nouvelle valeur de la propriété.

    Le type de la propriété sélectionnée dans la première zone détermine la manière dont vous entrez les modifications apportées à cette propriété.

    Par exemple, si la propriété sélectionnée est de type chaîne, vous devez taper la chaîne recherchée dans la troisième zone. Si la propriété sélectionnée est de type entrée du glossaire du site, cliquer sur le bouton […] pour ouvrir la boîte de dialogue Choisir une entrée du glossaire du site, puis sélectionner la valeur attribuée à la propriété.
  4. Pour créer la nouvelle requête de mise à jour, cliquez sur Appliquer.
  5. Pour créer une autre requête de mise à jour, répétez les étapes 3 et 4.
  6. Pour enregistrer la requête de mise à jour et revenir à l’écran Organisation, cliquez sur Enregistrer et retour dans la barre d’outils.

Les profils d’organisation sont enregistrés avec les nouvelles informations.

Voir aussi

À propos des profils

Ajout d’un profil d’organisation

Modification de profils d’organisation


Modification d'un profil d'organisation incorporé

Envoyer des commentaires sur cette page Commerce Server 2002

Modification d’un profil d’organisation incorporé

Le module Organisation permet de modifier jusqu’à quatre niveaux (y compris le premier) de profils d’organisation incorporés. Vous pouvez aussi utiliser le module Organisation pour modifier chaque profil individuellement.

Vous devez avoir accès aux modules Profils pour apporter les modifications aux entrées du glossaire du site, aux définitions de profils et aux profils. Pour plus d’informations sur les autorisations Business Desk, consultez À propos de la sécurité Business Desk.

Remarque

  • Pour modifier une propriété définie comme clé de jointure utilisée pour collecter des données, vous devez d’abord supprimer la colonne de base de données vers laquelle la propriété est mappée. Après avoir supprimé les colonnes de base de données, vous devez effectuer la migration des anciennes données dans les nouvelles colonnes de base de données. Commerce Server 2002 ne prend pas en charge les modifications de la propriété de clé de jointure lorsque vous avez conservé les données.

Pour modifier un profil d’organisation incorporé

  1. Dans Profils, cliquez sur Organisations.
  2. Dans l’écran Organisations, sélectionnez le profil d’organisation qui contient le profil incorporé que vous souhaitez modifier, puis cliquez sur Ouvrir dans la barre d’outils.

    Remarque

    • Pour afficher un profil particulier, utilisez le volet Rechercher situé en haut de l’écran Organisation. Pour plus d’informations sur la recherche d’un profil d’organisation, consultez Recherche d’un profil d’organisation.
  3. Dans l’écran Mettre à jour le profil : <profil organisation>, dans la propriété qui fait référence à un profil incorporé, sélectionnez dans la liste déroulante le profil incorporé que vous souhaitez modifier.

    Remarque

    • Pour modifier le niveau suivant d’un profil incorporé, répétez l’étape 3.
  4. Modifiez le profil incorporé.
  5. Pour enregistrer le profil incorporé et revenir à l’écran Mettre à jour le profil : <profil organisation>, cliquez sur Enregistrer et retour dans la barre d’outils.
  6. Pour enregistrer le profil d’organisation et revenir à l’écran Organisation, cliquez sur Enregistrer et retour dans la barre d’outils.

Le profil incorporé modifié est enregistré.

Voir aussi

À propos des profils

Ajout d’un profil d’organisation

Copie d’un profil d’organisation

Suppression de profils d’organisation

Recherche d’un profil d’organisation


Copie d'un profil d'organisation

Envoyer des commentaires sur cette page Commerce Server 2002

Copie d’un profil d’organisation

Le module Organisations permet de copier un profil d’organisation existant. Par exemple, si vous devez ajouter un nouveau profil d’organisation qui ressemble beaucoup à un profil d’organisation existant, vous pouvez copier ce dernier, apporter les modifications nécessaires aux informations de profil, puis enregistrer ce profil en tant que profil d’une nouvelle organisation.

Vous devez avoir accès aux modules Profils pour apporter les modifications aux entrées du glossaire du site, aux définitions de profils et aux profils. Pour plus d’informations sur les autorisations Business Desk, consultez À propos de la sécurité Business Desk.

Remarque

  • Pour modifier une propriété définie comme clé de jointure utilisée pour collecter des données, vous devez d’abord supprimer la colonne de base de données vers laquelle la propriété est mappée. Après avoir supprimé les colonnes de base de données, vous devez effectuer la migration des anciennes données dans les nouvelles colonnes de base de données. Commerce Server 2002 ne prend pas en charge les modifications de la propriété de clé de jointure lorsque vous avez conservé les données.

Pour copier un profil d’organisation

  1. Dans Profils, cliquez sur Organisations.
  2. Dans l’écran Organisation, sélectionnez le profil que vous souhaitez copier, puis cliquez sur Copier dans la barre d’outils.

    Remarque

    • Pour afficher un profil particulier, utilisez le volet Rechercher situé en haut de l’écran <définition profil>. Pour plus d’informations sur la recherche d’un profil d’organisation, consultez Recherche d’un profil d’organisation.
  3. Dans l’écran Nouveau profil (copier), dans la section Informations générales, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Nom | Taper le nom du nouveau profil d’organisation.
  4. Modifiez les informations existantes dans le profil copié en fonction du nouveau profil d’organisation.
  5. Pour enregistrer le nouveau profil d’organisation et revenir à l’écran Organisation, cliquez sur Enregistrer et retour dans la barre d’outils.

Le nouveau profil d’organisation est enregistré.

Voir aussi

À propos des profils

Ajout d’un profil d’organisation

Modification de profils d’organisation

Suppression de profils d’organisation

Recherche d’un profil d’organisation


Suppression de profils d'organisation

Envoyer des commentaires sur cette page Commerce Server 2002

Suppression de profils d’organisation

Le module Éditeur de profils permet de supprimer des profils existants de la base de données Commerce Server.

Vous devez avoir accès aux modules Profils pour apporter les modifications aux entrées du glossaire du site, aux définitions de profils et aux profils. Pour plus d’informations sur les autorisations Business Desk, consultez À propos de la sécurité Business Desk.

Remarque

  • Pour supprimer le contenu d’une propriété définie comme clé de jointure utilisée pour collecter des données, vous devez d’abord supprimer la colonne de base de données vers laquelle la propriété est mappée.

Pour supprimer un profil d’organisation

Pour supprimer plusieurs profils d’organisation

Pour supprimer un profil d’organisation incorporé

Attention

  • Il est impossible de récupérer un profil d’organisation qui a été supprimé.

Pour supprimer un profil d’organisation

  1. Dans Profils, cliquez sur Organisations.
  2. Dans l’écran Organisation, sélectionnez le profil d’organisation que vous souhaitez supprimer, puis cliquez sur [image] dans la barre d’outils.

    Remarque

    • Pour afficher un profil particulier, utilisez le volet Rechercher situé en haut de l’écran <définition profil>. Pour plus d’informations sur la recherche d’un profil d’organisation, consultez Recherche d’un profil d’organisation.
  3. Dans la boîte de dialogue Supprimer, cliquez sur Oui pour supprimer le profil d’organisation.

Le profil d’organisation est supprimé.

Pour supprimer plusieurs profils d’organisation

Remarque

  • Si vous cliquez sur Sélectionner tout pour sélectionner tous les profils d’organisation figurant dans la liste Affichage filtré, seuls les profils d’organisation de l’écran actuel (20 au maximum) sont sélectionnés.
  1. Dans Profils, cliquez sur Organisations.
  2. Dans l’écran Organisation, sélectionnez les profils d’organisation que vous souhaitez supprimer, puis cliquez sur Supprimer dans la barre d’outils.

    Remarques

    • Pour afficher des profils particuliers, utilisez le volet Rechercher situé en haut de l’écran Organisation. Pour plus d’informations sur la recherche d’un profil d’organisation, consultez Recherche d’un profil d’organisation.
    • Pour sélectionner tous les profils d’organisation de la liste Affichage filtré, cliquez sur Sélectionner tout. Pour désélectionner les profils d’organisation de la liste Affichage filtré, cliquez sur Désélectionner tout.
  3. Dans la boîte de dialogue Supprimer, cliquez sur Oui pour supprimer les profils sélectionnés.

Les profils d’organisation sont supprimés.

Pour supprimer un profil d’organisation incorporé

  1. Dans Profils, cliquez sur Organisations.
  2. Dans l’écran Organisation, sélectionnez le profil d’organisation qui contient le profil incorporé que vous souhaitez supprimer, puis cliquez sur Ouvrir dans la barre d’outils.
  3. Dans l’écran Mettre à jour le profil : <profil organisation>, ouvrez la liste déroulante de la propriété qui contient le profil à supprimer, puis sélectionnez Supprimer la référence du profil.
  4. Dans la boîte de dialogue Supprimer, cliquez sur Oui pour supprimer le profil utilisateur incorporé.
  5. Pour enregistrer le profil mis à jour et revenir à l’écran Organisation, cliquez sur Enregistrer et retour dans la barre d’outils.

Le profil est enregistré et le profil incorporé est supprimé de la base de données des profils.

Voir aussi

À propos des profils

Ajout d’un profil d’organisation

Modification de profils d’organisation

Copie d’un profil d’organisation

Recherche d’un profil d’organisation


Gestion des profils génériques

Un profil générique est un profil qui a été créé avec une définition de profil générique. Une définition de profil générique est une définition de profil autre qu’une définition de profil Objet utilisateur ou Organisation. Le module Éditeur de profils vous permet de rechercher, d’ajouter, de modifier et de supprimer des informations relatives à des profils génériques.

Cette section contient les rubriques suivantes :

  • Recherche d’un profil générique
  • Modification de profils génériques
  • Copie d’un profil générique
  • Suppression de profils génériques


Recherche d'un profil générique

Envoyer des commentaires sur cette page Commerce Server 2002

Recherche d’un profil générique

Le module Éditeur de profils permet de rechercher un profil générique ou un groupe de profils génériques sur votre site Web. Vous pouvez utiliser le volet Rechercher pour affiner votre recherche à l’aide des propriétés de la définition de profil et des valeurs du profil que vous recherchez. Par exemple, vous pouvez rechercher un profil générique qui contient la valeur « BC345 » dans la propriété de profil « Numéro du bon de commande ». La liste Affichage filtré située sous le volet Rechercher contient tous les profils génériques correspondant à vos critères de recherche.

Vous devez avoir accès aux modules Profils pour apporter les modifications aux entrées du glossaire du site, aux définitions de profils et aux profils. Pour plus d’informations sur les autorisations Business Desk, consultez À propos de la sécurité Business Desk.

Pour rechercher un profil générique

Création d’une expression permettant de rechercher un profil générique

Pour rechercher un profil générique

Attention

  • Lorsque vous recherchez des profils génériques, il est important de limiter vos critères de recherche afin de contrôler le nombre de profils génériques correspondant à vos paramètres de recherche. Si un grand nombre de profils génériques correspondent à vos critères de recherche, les résultats pourraient nuire de façon significative aux performances de Commerce Server Business Desk.
  1. Dans Profils, cliquez sur Éditeur de profils.
  2. Dans l’écran Profils, sélectionnez la définition de profil contenant le profil générique que vous souhaitez rechercher, puis cliquez sur Ouvrir dans la barre d’outils.
  3. Dans l’écran <définition profil>, si le volet Rechercher n’est pas ouvert, cliquez sur Rechercher dans la barre d’outils.
  4. Dans la liste déroulante Rechercher par, effectuez les opérations suivantes :

    Remarque

    • Il est possible que la zone déroulante Rechercher par ne contienne pas les mêmes propriétés que celles incluses dans la présente procédure. Les propriétés affichées dans la zone Rechercher par sont fonction de la définition de profil sélectionnée à l’étape 2. Cet exemple s’appuie sur la définition de profil BlanketPOs.
    Utilisez ceci | Pour faire cela
    Numéro du bon de commande | Rechercher un profil générique par son nom.
    Description | Rechercher un profil générique par sa description.
    Date de dernière modification | Rechercher un profil générique modifié à une date donnée.
    Date de création | Rechercher un profil générique créé à une date donnée.
    Rechercher par propriété | Rechercher un profil générique par propriété. Utilisez cette option pour créer une expression permettant de rechercher un profil générique.
  5. Dans la zone de saisie de la valeur de la propriété qui s’affiche ensuite, tapez ou sélectionnez dans la liste déroulante la valeur spécifique pour les propriétés que vous avez sélectionnées (par exemple, le nom du numéro du bon de commande que vous recherchez).

    Remarques

    • Si vous avez besoin d’effectuer une recherche plus complexe, sélectionnez Rechercher par propriété dans la liste déroulante Rechercher par afin de créer une expression permettant de rechercher un profil générique.
    • Vous pouvez inclure une entrée générique (*) pour rechercher un nombre indéfini de caractères dans votre recherche. Par exemple, t* correspond à tous les utilisateurs dont le nom commence par la lettre « t ».
  6. Cliquez sur Rechercher.

La recherche s’effectue. Si elle réussit, les profils génériques que vous recherchez s’affichent dans la liste Affichage filtré. Si la recherche échoue, le message « Aucun élément ne correspond à cette recherche » s’affiche.


Création d'une expression permettant de rechercher un profil générique

Envoyer des commentaires sur cette page Commerce Server 2002

Création d’une expression permettant de rechercher un profil générique

Vous pouvez créer une expression afin d’effectuer une recherche plus complexe. Une expression est une combinaison de propriétés, d’opérateurs et de valeurs dont l’évaluation produit un résultat. Par exemple, une expression peut prendre la forme « Identificateur d’organisation est égal à 4 » ou « Numéro du bon de commande est supérieur à 4000 ».

Pour créer une expression permettant de rechercher un profil générique

  1. Dans Profils, cliquez sur Éditeur de profils.
  2. Dans l’écran Profils, sélectionnez la définition de profil contenant le profil que vous souhaitez rechercher, puis cliquez sur Ouvrir dans la barre d’outils.
  3. Dans l’écran <définition profil>, si le volet Rechercher n’est pas ouvert, cliquez sur Rechercher dans la barre d’outils.
  4. Dans la zone Rechercher par, sélectionnez Rechercher par propriété dans la liste déroulante.
  5. Cliquez sur Nouveau dans le volet Rechercher.
  6. Dans la première liste déroulante, double-cliquez sur le groupe de propriétés, puis sélectionnez la propriété que vous souhaitez utiliser dans la recherche.

    Remarque

    • Le type de la propriété sélectionnée détermine les conditions disponibles pour votre recherche. Par exemple, si la propriété sélectionnée est de type chaîne, vous pouvez définir la condition de votre recherche à est égal à, contient ou commence par. Si la propriété sélectionnée est de type entrée du glossaire du site, vous pouvez définir la condition de votre recherche à est égal à ou est différent de.
  7. Dans la deuxième liste déroulante, sélectionnez la condition de votre recherche.

    Remarque

    • Le type de la propriété sélectionnée détermine la manière dont vous entrez les critères de votre recherche. Par exemple, si la propriété sélectionnée est de type chaîne, vous devez taper la chaîne recherchée dans la troisième zone. Si la propriété sélectionnée est de type entrée du glossaire du site, cliquez sur le bouton de sélection [...] pour ouvrir la boîte de dialogue Choisir une entrée du glossaire du site, puis sélectionnez la valeur que vous recherchez.
  8. Dans la troisième zone, tapez ou sélectionnez les critères de votre recherche.
  9. Cliquez sur Appliquer, puis sur Rechercher.

La recherche s’effectue. Si elle réussit, les profils que vous recherchez s’affichent dans la liste Affichage filtré. Si la recherche échoue, le message « Aucun élément ne correspond à cette recherche » s’affiche.

Voir aussi

À propos des profils

Ajout d’un profil générique

Modification de profils génériques

Copie d’un profil générique

Suppression de profils génériques


Modification de profils génériques

Le module Éditeur de profils vous permet de modifier des profils génériques existants. Vous pouvez modifier les profils génériques un à un ou vous pouvez en modifier plusieurs à la fois. Vous pouvez aussi utiliser le module Éditeur de profils pour modifier jusqu’à quatre niveaux de profils génériques incorporés.

Cette section contient les rubriques suivantes :

  • Modification d’un seul profil générique
  • Modification de plusieurs profils génériques
  • Modification d’un profil générique incorporé


Modification d'un seul profil générique

Envoyer des commentaires sur cette page Commerce Server 2002

Modification d’un seul profil générique

Le module Éditeur de profils vous permet de modifier des profils génériques existants.

Vous devez avoir accès aux modules Profils pour apporter les modifications aux entrées du glossaire du site, aux définitions de profils et aux profils. Pour plus d’informations sur les autorisations Business Desk, consultez À propos de la sécurité Business Desk.

Remarque

  • Pour modifier une propriété définie comme clé de jointure utilisée pour collecter des données, vous devez d’abord supprimer la colonne de base de données vers laquelle la propriété est mappée. Après avoir supprimé les colonnes de base de données, vous devez effectuer la migration des anciennes données dans les nouvelles colonnes de base de données. Commerce Server 2002 ne prend pas en charge les modifications de la propriété de clé de jointure lorsque vous avez conservé les données.

Pour modifier un profil générique

  1. Dans Profils, cliquez sur Éditeur de profils.
  2. Dans l’écran Profils, sélectionnez la définition du profil générique que vous souhaitez modifier, puis cliquez sur Ouvrir dans la barre d’outils.
  3. Dans l’écran <définition profil>, sélectionnez le profil générique que vous souhaitez modifier, puis cliquez sur Ouvrir dans la barre d’outils.

    Remarque

    • Pour afficher un profil générique particulier, utilisez le volet Rechercher situé en haut de l’écran <définition profil>. Pour plus d’informations sur la recherche d’un profil générique, consultez Recherche d’un profil générique.
  4. Dans l’écran Mettre à jour le profil : <profil générique>, modifiez le profil générique.

    Remarque

    • Pour plus d’informations sur l’écran Mise à jour du profil : <profil générique>, consultez Ajout d’un profil générique.
  5. Pour enregistrer le profil générique et revenir à l’écran Profils, cliquez sur Enregistrer et retour dans la barre d’outils.

Le profil générique modifié est enregistré.

Voir aussi

À propos des profils

Ajout d’un profil générique

Modification de plusieurs profils génériques

Modification d’un profil générique incorporé

Copie d’un profil générique

Suppression de profils génériques


Modification de plusieurs profils génériques

Le module Éditeur de profils vous permet de modifier plusieurs profils génériques. Lorsque vous modifiez plusieurs profils génériques, vous apportez les mêmes modifications à tous les profils que vous modifiez. Vous utilisez des requêtes de mise à jour pour modifier la valeur d’une propriété dans plusieurs profils génériques.

Vous devez avoir accès aux modules Profils pour apporter les modifications aux entrées du glossaire du site, aux définitions de profils et aux profils. Pour plus d’informations sur les autorisations Business Desk, consultez À propos de la sécurité Business Desk.

Remarque

  • Pour modifier une propriété définie comme clé de jointure utilisée pour collecter des données, vous devez d’abord supprimer la colonne de base de données vers laquelle la propriété est mappée. Après avoir supprimé les colonnes de base de données, vous devez effectuer la migration des anciennes données dans les nouvelles colonnes de base de données. Commerce Server 2002 ne prend pas en charge les modifications de la propriété de clé de jointure lorsque vous avez conservé les données.

La procédure suivante s’appuie sur la définition de profil Adresse.

Pour modifier plusieurs profils génériques

  1. Dans Profils, cliquez sur Éditeur de profils.
  2. Dans l’écran Profils, sélectionnez la définition de profil Adresse, puis cliquez sur Ouvrir dans la barre d’outils.
  3. Dans l’écran Adresse, sélectionnez les profils que vous souhaitez modifier, puis cliquez sur Ouvrir dans la barre d’outils.

    Remarques

    • Pour afficher des profils génériques particuliers, utilisez le volet Rechercher situé en haut de l’écran Adresse. Pour plus d’informations sur la recherche d’un profil générique, consultez Recherche d’un profil générique.
    • Pour sélectionner tous les profils génériques de la liste Affichage filtré, cliquez sur Sélectionner tout. Pour désélectionner les profils génériques de la liste Affichage filtré, cliquez sur Désélectionner tout.
    • Si vous cliquez sur Sélectionner tout pour sélectionner tous les profils génériques figurant dans la liste Affichage filtré, seuls les profils génériques de l’écran actuel (20 au maximum) sont sélectionnés.
  4. Pour créer une nouvelle requête de mise à jour, dans l’écran Mettre à jour <nombre> profils, cliquez sur Nouveau, puis effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Première liste déroulante (gauche) Sélectionner, dans la première liste déroulante, Adresse, le groupe de propriétés, puis la propriété que vous souhaitez utiliser dans la requête de mise à jour.

    Remarque

    • Le type de la propriété sélectionnée détermine les conditions disponibles pour votre requête dans la deuxième liste déroulante. Par exemple, si la propriété sélectionnée est de type chaîne, vous pouvez définir la condition de votre recherche à est égal à, contient ou commence par. Si la propriété sélectionnée est de type entrée du glossaire du site, vous pouvez définir la condition de votre recherche à est égal à ou est différent de.
    Deuxième liste déroulante (centre) | Sélectionner la condition de requête de mise à jour.
    Troisième liste déroulante (droite) Taper ou sélectionner la nouvelle valeur de la propriété.

    Le type de la propriété sélectionnée dans la première zone détermine la manière dont vous entrez les modifications apportées à cette propriété.

    Par exemple, si la propriété sélectionnée est de type chaîne, vous devez taper la chaîne recherchée dans la troisième zone. Si la propriété sélectionnée est de type entrée du glossaire du site, cliquer sur le bouton […] pour ouvrir la boîte de dialogue Choisir une entrée du glossaire du site, puis sélectionner la valeur attribuée à la propriété.
  5. Pour créer la nouvelle requête de mise à jour, cliquez sur Appliquer.
  6. Pour créer une autre requête de mise à jour, répétez les étapes 3 et 4.
  7. Pour enregistrer la requête de mise à jour et revenir à l’écran Adresse, cliquez sur Enregistrer et retour dans la barre d’outils.

Les profils d’organisation sont enregistrés avec les nouvelles informations.

Voir aussi

À propos des profils

Ajout d’un profil générique

Modification d’un profil générique incorporé

Copie d’un profil générique

Suppression de profils génériques


Modification d'un profil générique incorporé

Envoyer des commentaires sur cette page Commerce Server 2002

Modification d’un profil générique incorporé

Le module Éditeur de profils permet de modifier jusqu’à quatre niveaux (y compris le premier) de profils génériques incorporés. Vous pouvez aussi utiliser le module Éditeur de profils pour modifier chaque profil individuellement.

Vous devez avoir accès aux modules Profils pour apporter les modifications aux entrées du glossaire du site, aux définitions de profils et aux profils. Pour plus d’informations sur les autorisations Business Desk, consultez À propos de la sécurité Business Desk.

Remarque

  • Pour modifier une propriété définie comme clé de jointure utilisée pour collecter des données, vous devez d’abord supprimer la colonne de base de données vers laquelle la propriété est mappée. Après avoir supprimé les colonnes de base de données, vous devez effectuer la migration des anciennes données dans les nouvelles colonnes de base de données. Commerce Server 2002 ne prend pas en charge les modifications de la propriété de clé de jointure lorsque vous avez conservé les données.

Pour modifier un profil générique incorporé

  1. Dans Profils, cliquez sur Éditeur de profils.
  2. Dans l’écran Profils, sélectionnez la définition de profil contenant le profil incorporé que vous souhaitez modifier, puis cliquez sur Ouvrir dans la barre d’outils.
  3. Dans l’écran <définition profil>, sélectionnez le profil incorporé que vous souhaitez modifier, puis cliquez sur Ouvrir dans la barre d’outils.

    Remarque

    • Pour afficher un profil particulier, utilisez le volet Rechercher situé en haut de l’écran <définition profil>. Pour plus d’informations sur la recherche d’un profil générique, consultez Recherche d’un profil générique.
  4. Dans l’écran Mettre à jour le profil : <définition profil>, dans la propriété qui fait référence à un profil incorporé, sélectionnez dans la liste déroulante le profil incorporé que vous souhaitez modifier, puis cliquez sur Ouvrir dans la barre d’outils.

    Remarque

    • Pour modifier le niveau suivant d’un profil incorporé, répétez l’étape 4.
  5. Modifiez le profil incorporé.
  6. Pour enregistrer le profil incorporé et revenir à l’écran Mettre à jour le profil : <définition profil>, cliquez sur Enregistrer et retour dans la barre d’outils.
  7. Pour enregistrer le profil et revenir à l’écran <définition profil>, cliquez sur Enregistrer et retour dans la barre d’outils.

Le profil incorporé modifié est enregistré.

Voir aussi

À propos des profils

Ajout d’un profil générique

Modification de profils génériques

Copie d’un profil générique

Suppression de profils génériques


Copie d'un profil générique

Envoyer des commentaires sur cette page Commerce Server 2002

Copie d’un profil générique

Le module Éditeur de profils vous permet de copier un profil générique existant. Par exemple, si vous devez ajouter un nouveau profil générique qui ressemble beaucoup à un profil générique existant, vous pouvez copier ce dernier, apporter les modifications nécessaires aux informations de profil, puis enregistrer ce profil en tant que nouveau profil générique.

Vous devez avoir accès aux modules Profils pour apporter les modifications aux entrées du glossaire du site, aux définitions de profils et aux profils. Pour plus d’informations sur les autorisations Business Desk, consultez À propos de la sécurité Business Desk.

Remarque

  • Pour modifier une propriété définie comme clé de jointure utilisée pour collecter des données, vous devez d’abord supprimer la colonne de base de données vers laquelle la propriété est mappée. Après avoir supprimé les colonnes de base de données, vous devez effectuer la migration des anciennes données dans les nouvelles colonnes de base de données. Commerce Server 2002 ne prend pas en charge les modifications de la propriété de clé de jointure lorsque vous avez conservé les données.

Pour copier un profil générique

  1. Dans Profils, cliquez sur Éditeur de profils.
  2. Dans l’écran Profils, sélectionnez la définition de profil contenant le profil générique que vous souhaitez copier, puis cliquez sur Ouvrir dans la barre d’outils.
  3. Dans l’écran <définition profil>, sélectionnez le profil que vous souhaitez copier, puis cliquez sur Copier dans la barre d’outils.

    Remarque

    • Pour afficher un profil particulier, utilisez le volet Rechercher situé en haut de l’écran <définition profil>. Pour plus d’informations sur la recherche d’un profil générique, consultez Recherche d’un profil générique.
  4. Dans l’écran Nouveau profil (copier), dans la section Informations générales, modifiez les informations existantes dans le profil copié en fonction du nouveau profil générique.
  5. Pour enregistrer le nouveau profil générique et revenir à l’écran <définition profil>, cliquez sur Enregistrer et retour dans la barre d’outils.

Le nouveau profil est enregistré.

Voir aussi

À propos des profils

Ajout d’un profil générique

Modification de profils génériques

Suppression de profils génériques


Suppression de profils génériques

Le module Éditeur de profils permet de supprimer des profils existants de la base de données Commerce Server.

Vous devez avoir accès aux modules Profils pour apporter les modifications aux entrées du glossaire du site, aux définitions de profils et aux profils. Pour plus d’informations sur les autorisations Business Desk, consultez À propos de la sécurité Business Desk.

Remarque

Pour supprimer le contenu d’une propriété définie comme clé de jointure utilisée pour collecter des données, vous devez d’abord supprimer la colonne de base de données vers laquelle la propriété est mappée.

Attention

  • Il est impossible de récupérer un profil générique qui a été supprimé.

Pour supprimer un profil générique

Pour supprimer plusieurs profils génériques

Pour supprimer un profil générique incorporé

Pour supprimer un profil générique

  1. Dans Profils, cliquez sur Éditeur de profils.
  2. Dans l’écran Profils, sélectionnez la définition de profil contenant le profil que vous souhaitez supprimer, puis cliquez sur Ouvrir dans la barre d’outils.
  3. Sélectionnez le profil à supprimer, puis cliquez sur Supprimer dans la barre d’outils.

    Remarque

    • Pour afficher un profil particulier, utilisez le volet Rechercher situé en haut de l’écran <type profil>. Pour plus d’informations sur la recherche d’un profil générique, consultez Recherche d’un profil générique.
  4. Dans la boîte de dialogue Supprimer, cliquez sur Oui pour supprimer le profil.

    Le profil est supprimé.

  5. Pour revenir à l’écran Profils, cliquez sur Retour dans la barre d’outils.

Pour supprimer plusieurs profils génériques

Remarque

  • Si vous cliquez sur Sélectionner tout pour sélectionner tous les profils génériques figurant dans la liste Affichage filtré, seuls les profils génériques de l’écran actuel (20 au maximum) sont sélectionnés.
  1. Dans Profils, cliquez sur Éditeur de profils.
  2. Dans l’écran Profils, sélectionnez la définition de profil contenant les profils génériques que vous souhaitez supprimer, puis cliquez sur Ouvrir dans la barre d’outils.
  3. Dans l’écran <définition profil>, sélectionnez les profils génériques que vous souhaitez supprimer, puis cliquez sur Supprimer dans la barre d’outils.

    Remarques

    • Pour afficher des profils génériques particuliers, utilisez le volet Rechercher situé en haut de l’écran <définition profil>. Pour plus d’informations sur la recherche d’un profil générique, consultez Recherche d’un profil générique.
    • Pour sélectionner tous les profils génériques de la liste Affichage filtré, cliquez sur Sélectionner tout. Pour désélectionner les profils génériques de la liste Affichage filtré, cliquez sur Désélectionner tout.
    • Si vous cliquez sur Sélectionner tout pour sélectionner tous les profils génériques figurant dans la liste Affichage filtré, seuls les profils génériques de l’écran actuel (20 au maximum) sont sélectionnés.
  4. Dans la boîte de dialogue Supprimer, cliquez sur Oui pour supprimer les profils génériques sélectionnés.

    Les profils génériques sont supprimés.

  5. Pour revenir à l’écran Profils, cliquez sur Retour dans la barre d’outils.

Pour supprimer un profil générique incorporé

  1. Dans Profils, cliquez sur Éditeur de profils.
  2. Dans l’écran Profils, sélectionnez la définition de profil contenant le profil incorporé que vous souhaitez supprimer, puis cliquez sur Ouvrir dans la barre d’outils.
  3. Dans l’écran <définition profil>, sélectionnez le profil utilisateur qui contient le profil incorporé que vous souhaitez supprimer, puis cliquez sur Ouvrir dans la barre d’outils.
  4. Dans l’écran Mettre à jour le profil : <profil générique>, ouvrez la liste déroulante de la propriété qui contient le profil à supprimer, puis sélectionnez Supprimer la référence du profil.
  5. Dans la boîte de dialogue Supprimer, cliquez sur Oui pour supprimer le profil utilisateur incorporé.
  6. Pour enregistrer le profil mis à jour et revenir à l’écran <définition profil>, cliquez sur Enregistrer et retour dans la barre d’outils.
  7. Pour revenir à l’écran Profils, cliquez sur Retour.

Le profil est enregistré et le profil incorporé est supprimé de la base de données des profils.

Voir aussi

À propos des profils

Ajout d’un profil générique

Modification de profils génériques

Copie d’un profil générique


Suppression d'utilisateurs de groupes Active Directory

Envoyer des commentaires sur cette page Commerce Server 2002

Suppression d’utilisateurs de groupes Active Directory

Le module Gestionnaire de groupe vous permet de supprimer des utilisateurs existants de leur groupe Active Directory. Le Gestionnaire de groupe n’est disponible que si vous disposez d’un déploiement Active Directory.

Vous devez avoir accès aux modules Profils pour apporter les modifications aux entrées du glossaire du site, aux définitions de profils et aux profils. Pour plus d’informations sur les autorisations Business Desk, consultez À propos de la sécurité Business Desk.

Pour supprimer un utilisateur d’un groupe Active Directory

Pour supprimer un groupe d’un groupe Active Directory

Pour supprimer un utilisateur d’un groupe Active Directory

  1. Dans Profils, cliquez sur Gestionnaire de groupe.
  2. Dans l’écran Rechercher un utilisateur ou un groupe, dans le volet Rechercher, sélectionnez l’option Utilisateurs.
  3. Dans la zone Filtre de recherche, tapez le nom de l’utilisateur que vous souhaitez supprimer. Vous pouvez utiliser un caractère générique (*) dans le nom.
  4. Cliquez sur Rechercher.

    Si votre recherche ne renvoie aucun résultat ou renvoie plus de 1 000 résultats, un message d’erreur s’affiche. Les résultats d’une recherche réalisée avec succès s’affichent.

  5. Sélectionnez l’utilisateur que vous souhaitez supprimer d’un groupe Active Directory, puis cliquez sur Ouvrir dans la barre d’outils.
  6. Dans l’écran Gérer l’utilisateur, dans la liste Groupes auxquels appartient cet utilisateur, sélectionnez le groupe duquel vous souhaitez supprimer l’utilisateur, puis cliquez sur Supprimer l'objet du groupe dans la barre d’outils.

    L’utilisateur est supprimé du groupe Active Directory sélectionné.

  7. Cliquez sur Retour pour revenir à l’écran Rechercher un utilisateur ou un groupe.

Pour supprimer un groupe d’un groupe Active Directory

  1. Dans Profils, cliquez sur Gestionnaire de groupe.
  2. Dans l’écran Rechercher un utilisateur ou un groupe, dans le volet Rechercher, sélectionnez l’option Groupes.
  3. Dans la zone Filtre de recherche, tapez le nom du groupe Active Directory duquel vous souhaitez supprimer le groupe. Vous pouvez utiliser un caractère générique (*) dans le nom.
  4. Cliquez sur Rechercher. Si votre recherche ne renvoie aucun résultat ou renvoie plus de 1 000 résultats, un message d’erreur s’affiche. Les résultats d’une recherche réalisée avec succès s’affichent.
  5. Sélectionnez le groupe Active Directory duquel vous souhaitez supprimer le groupe, puis cliquez sur Ouvrir dans la barre d’outils.
  6. Dans l’écran Gérer le groupe, dans la liste Objets appartenant à ce groupe, sélectionnez le groupe à supprimer, puis cliquez sur Supprimer l'objet du groupe dans la barre d’outils. Vos résultats sont enregistrés.

    Le groupe est supprimé du groupe Active Directory sélectionné.

  7. Cliquez sur Retour pour revenir à l’écran Rechercher un utilisateur ou un groupe.


Sécurité Business Desk

Le module Autorisations Business Desk vous permet de sécuriser l’interface utilisateur Business Desk. Vous pouvez accorder ou refuser aux utilisateurs Business Desk l’accès à une fonctionnalité Business Desk spécifique. Par exemple, vous pouvez spécifier les utilisateurs qui sont autorisés à modifier un catalogue de produits donné.

Pour autoriser ou refuser l’accès à une fonctionnalité Business Desk spécifique, vous utilisez le module Autorisations. Ce module est destiné aux administrateurs système et aux cadres dirigeants de l’entreprise. Il permet de sélectionner un compte ou un groupe Microsoft Windows et d’accorder ou de refuser à ce groupe d’utilisateurs des autorisations Business Desk.

Cette section contient les rubriques suivantes :

  • Déroulement des opérations pour la sécurité. Présente la marche à suivre pour définir et gérer l’accès des utilisateurs à Business Desk.
  • À propos de la sécurité Business Desk. Décrit la sécurité Business Desk et explique comment l’utiliser pour restreindre l’accès des utilisateurs.
  • Méthodes conseillées pour les autorisations. Fournit des informations importantes sur l’octroi d’autorisations de sécurité aux utilisateurs Business Desk.
  • Création de comptes Windows. Explique comment ajouter des comptes Windows pour des utilisateurs Business Desk.
  • Ajout de comptes Windows à la liste des comptes. Explique comment ajouter des comptes Windows à la liste des comptes du module Autorisations.
  • Définition d’autorisations Business Desk pour des comptes Windows. Explique comment accorder ou refuser des autorisations Business Desk à des comptes Windows, ou comment modifier les autorisations définies.
  • Suppression de comptes Windows dans la liste des comptes. Explique comment supprimer des comptes Windows dans la liste des comptes du module Autorisations.
  • Affichage des autorisations de compte. Explique comment afficher et gérer les autorisations définies pour les comptes.


Déroulement des opérations pour la sécurité

La figure suivante illustre un exemple de scénario dans lequel votre administrateur système crée des comptes Windows, afin que vous puissiez ensuite accorder des autorisations à l’aide du module Autorisations Business Desk.

Déroulement des opérations pour la sécurité Business Desk

  1. Les administrateurs système créent les comptes Windows.
  2. À l’aide du module Autorisations Business Desk, vous ajoutez les comptes Windows à la liste des comptes du module Autorisations.
  3. Vous accordez aux utilisateurs les autorisations pour créer, modifier et supprimer des catalogues.
  4. Vous accordez aux utilisateurs les autorisations pour créer, modifier et supprimer des profils.
  5. Vous accordez aux utilisateurs les autorisations pour accéder aux tâches, aux modules et aux catégories de Business Desk.

Voir aussi

À propos de la sécurité Business Desk

Création de comptes Windows

Définition d’autorisations Business Desk pour des comptes Windows


À propos de la sécurité Business Desk

Microsoft Commerce Server 2002 offre une sécurité d’un niveau élevé pour les applications et les utilisateurs Commerce Server Business Desk. Vous pouvez utiliser les fonctionnalités de sécurité dans Business Desk pour accorder ou refuser des autorisations d’accès aux profils, catalogues, catégories de catalogue et propriétés de votre choix. En outre, vous pouvez sécuriser vos modules et catégories de Business Desk, et limiter les tâches associées à chaque module.

Business Desk se sert des comptes Windows pour authentifier les utilisateurs. Un administrateur système peut créer des comptes de groupe ou d’utilisateur Windows à partir de n’importe quel serveur Windows. Une fois que les comptes de groupe ou d’utilisateur Windows ont été créés, vous pouvez utiliser le module Autorisations Business Desk pour accorder ou refuser des autorisations à un groupe ou utilisateur spécifique.

Cette section contient les rubriques suivantes :

  • Comptes d’utilisateur Windows et groupes d’utilisateurs
  • Autorisations dans Business Desk


Comptes d'utilisateur Windows et groupes d'utilisateurs

Envoyer des commentaires sur cette page Commerce Server 2002

Comptes d’utilisateur Windows et groupes d’utilisateurs

Toute personne souhaitant accéder à un serveur Windows doit posséder un compte d’utilisateur. Avec ce compte, un utilisateur peut ouvrir une session sur un serveur ou un domaine. L’administrateur système crée un compte d’utilisateur en attribuant un nom d’utilisateur à un compte, spécifiant ainsi les informations d’identification et les droits qui s’appliquent à l’utilisateur. Le compte contient les informations relatives à l’utilisateur, à l’appartenance aux groupes et à la stratégie de sécurité.

Les administrateurs système peuvent créer des groupes d’utilisateurs en fonction du type d’accès à Business Desk dont les utilisateurs ont besoin pour travailler. Par exemple, la plupart des employés travaillant sur la satisfaction des clients nécessitent l’accès au module Commandes de Business Desk.

La création de groupes Windows vous permet d’accorder des droits et autorisations à plusieurs utilisateurs en même temps. Les administrateurs système peuvent à tout moment ajouter des utilisateurs à un groupe existant ; ces nouveaux utilisateurs bénéficient alors immédiatement des mêmes droits et autorisations que ceux accordés au groupe. Lorsque les administrateurs système créent un compte Windows, ils peuvent accorder à ce compte un accès au serveur local (compte local) ou à un domaine Windows (compte de domaine).

Remarques

  • Si un compte Windows ne figure pas dans la liste des comptes du module Autorisations, ou si aucune option « autoriser » ne lui a été attribuée, les utilisateurs de ce compte n’ont pas la possibilité d’accéder à Business Desk.
  • Si la liste des comptes du module Autorisations comporte un compte Windows qui n’existe plus, les utilisateurs affectés à ce compte n’ont accès ni aux catégories, ni aux modules de Business Desk.

Voir aussi

Création de comptes Windows

Définition d’autorisations Business Desk pour des comptes Windows

Ajout de comptes Windows à la liste des comptes

Suppression de comptes Windows dans la liste des comptes

Affichage des autorisations de compte


Autorisations dans Business Desk

Le module Autorisations vous permet d’accorder ou de refuser aux comptes d’utilisateur Windows l’accès à une fonctionnalité Business Desk spécifique.

Les autorisations déterminent les actions que l’utilisateur peut effectuer à l’aide de Business Desk. Par exemple, vous pouvez accorder à certains utilisateurs les autorisations pour créer des catalogues, modifier les propriétés des catalogues ou exporter un catalogue de produits, et accorder à d’autres utilisateurs uniquement les autorisations pour afficher les catalogues de produits. Vous pouvez accorder des autorisations à des groupes ou comptes d’utilisateur Windows.

Il est possible d’autoriser ou de refuser l’accès à vos propriétés de profil, catalogues de produits, catégories de catalogue ou propriétés de catalogue, quels qu’ils soient. Vous pouvez sécuriser chaque catégorie ou module de Business Desk, et chacune des tâches qui leur sont associées. Chaque élément figurant dans l’écran Autorisations de sécurité comporte deux options : Autoriser ou Refuser.

Remarques

  • L’option Refuser se substitue toujours à l’option Autoriser ; cette option permet de supprimer les autorisations que l’utilisateur a héritées par le biais d’une appartenance de groupe.

    Par exemple, supposez que Philippe Tran est membre du groupe Windows Catalogues et que vous souhaitez accorder à tous les membres de ce groupe excepté Philippe l’autorisation d’accéder au module Éditeur de catalogue. Vous devez pour cela accorder au groupe Catalogues l’autorisation d’accéder au module Éditeur de catalogue, mais refuser cette autorisation au compte affecté à Philippe. Philippe ne peut ainsi plus accéder au module Éditeur de catalogue ; il conserve néanmoins l’accès aux autres modules pour lesquels le groupe Catalogues possède une autorisation d’accès.

  • Les administrateurs et tous les membres du groupe local Administrateurs (ou le groupe Administrateurs de domaine si Business Desk est exécuté sur un contrôleur de domaine) bénéficient toujours d’un accès total à l’ensemble des éléments de Business Desk. Vous ne pouvez pas ajouter un administrateur aux groupes d’utilisateurs.

Voir aussi

Création de comptes Windows

Définition d’autorisations Business Desk pour des comptes Windows

Ajout de comptes Windows à la liste des comptes

Suppression de comptes Windows dans la liste des comptes

Affichage des autorisations de compte


Méthodes conseillées pour les autorisations

Les méthodes conseillées suivantes sont destinées à une implémentation par l’administrateur système et le chef d’entreprise :

  • Utilisez le paramètre de sécurité Business Desk pour le bouton Nouveau rapport afin de contrôler les boutons Nouveau rapport et Enregistrer le rapport dans les rapports dynamiques.

    Si vous refusez à des utilisateurs l’autorisation de créer un nouveau rapport, ils ne peuvent enregistrer aucun rapport.

    Les autorisations de création de rapport permettent à un utilisateur Business Desk d’enregistrer des requêtes de rapport SQL dans le Data Warehouse. Ces requêtes seront exécutées par quiconque exécutera le rapport. Même si les utilisateurs qui créent un rapport ne possèdent pas les autorisations requises pour exécuter la requête de rapport directement, ils peuvent enregistrer le rapport dans le Data Warehouse. Des utilisateurs possédant des autorisations SQL plus élevées peuvent alors exécuter la requête en exécutant le rapport, sans savoir si la requête exécutée est dommageable ou pas.

  • Pour sécuriser l’accès aux données des rapports d’analyse, vous devez appliquer des autorisations aux rapports d’analyse et au module Gestionnaire de listes.

    Si les utilisateurs sont autorisés à utiliser le module Gestionnaire de campagnes, ils peuvent utiliser ce dernier pour exporter un rapport vers le Gestionnaire de listes et accéder ensuite aux données utilisateur de la liste.

    Pour sécuriser les données utilisateur dans ce cas, refusez explicitement aux utilisateurs l’autorisation d’exporter des rapports vers le module Gestionnaire de listes.

  • Pour sécuriser les catégories du catalogue, utilisez le module Éditeur de catalogue.

    Pour connaître les instructions à suivre, consultez Modification d’une catégorie dans un catalogue de base.

  • Affectez des autorisations pour permettre ou refuser la modification des propriétés de catalogue et la création de catalogues.

    La sécurité au niveau des propriétés s’applique à l’ensemble des catalogues. Il n’est pas possible de définir une sécurité au niveau des propriétés pour chaque catalogue. Par exemple, si les utilisateurs n’ont pas l’autorisation de modifier la propriété Description, ils ne peuvent la modifier dans aucun catalogue, qu’il s’agisse d’un catalogue virtuel ou d’un catalogue de base.

    Si les utilisateurs ont l’autorisation de créer un catalogue virtuel, ils peuvent y ajouter des produits.

    La sécurité appliquée aux catégories et aux catalogues empêche les utilisateurs de modifier un catalogue ou une catégorie spécifique (et tout produit qui en dépend). En revanche, elle n’empêche pas les utilisateurs d’inclure ces éléments dans un catalogue virtuel.

  • Examiner les comptes Windows avec des autorisations Business Desk avant de compresser un site.

    Lorsque vous décompressez un site à l’aide du Gestionnaire de package de site Commerce Server, les comptes Windows dotés d’autorisations Business Desk sont également décompressés.

    Par exemple, supposez que vous avez installé Commerce Server sur un ordinateur et que vous ajoutez des groupes et des comptes locaux Si vous compressez le site puis le décompressez sur un ordinateur différent, les comptes seront également décompressés. Lorsque vous ouvrez Business Desk, les autorisations seront conservées.


Création de comptes Windows

Le module Autorisations vous permet d’accorder ou de refuser aux utilisateurs l’accès à une fonctionnalité Business Desk spécifique. Avant que vous puissiez définir des autorisations Business Desk, votre administrateur système doit créer des comptes Windows sur un serveur Windows ou dans un domaine Windows.

Contactez votre administrateur système pour qu’il crée les comptes de groupe ou d’utilisateur Windows dont vous avez besoin. Pour plus d’informations sur la création de comptes Windows, consultez « Utilisateurs et groupes locaux » et « Comptes d’utilisateurs et d’ordinateur Active Directory » dans l’aide de Microsoft Windows 2000.

Voir aussi

À propos de la sécurité Business Desk

Définition d’autorisations Business Desk pour des comptes Windows

Ajout de comptes Windows à la liste des comptes

Suppression de comptes Windows dans la liste des comptes

Affichage des autorisations de compte


Ajout de comptes Windows à la liste des comptes

À l’aide du module Autorisations, vous devez ajouter les comptes et groupes Windows à la liste des comptes du module Autorisations afin de pouvoir définir ensuite des autorisations Business Desk. La liste des comptes du module Autorisations contient tous les comptes et groupes Windows qui ont été créés par l’administrateur système.

Remarques

  • Si un compte Windows ne figure pas dans la liste des comptes du module Autorisations, ou si aucune option « autoriser » ne lui a été attribuée, les utilisateurs de ce compte n’ont pas la possibilité d’accéder à Business Desk.
  • Si la liste des comptes du module Autorisations comporte un compte Windows qui n’existe plus, les utilisateurs affectés à ce compte n’ont accès ni aux catégories, ni aux modules de Business Desk.

Pour ajouter des comptes Windows à la liste des comptes du module Autorisations

  1. Dans Sécurité, cliquez sur Autorisations.
  2. Dans l’écran Autorisations de sécurité, dans la section Compte Windows, cliquez sur Ajouter à la liste.
  3. Dans la boîte de dialogue Ajouter un compte, tapez le compte Windows pour lequel vous souhaitez ajouter des autorisations, puis cliquez sur Ajouter.
  4. Pour revenir à l’écran d’accueil de Business Desk, cliquez sur Retour dans la barre d’outils.

Le compte Windows a été ajouté à la liste des comptes du module Autorisations.

Voir aussi

À propos de la sécurité Business Desk

Création de comptes Windows

Définition d’autorisations Business Desk pour des comptes Windows

Suppression de comptes Windows dans la liste des comptes


Définition d'autorisations Business Desk pour des comptes Windows

Envoyer des commentaires sur cette page Commerce Server 2002

Définition d’autorisations Business Desk pour des comptes Windows

Le module Autorisations vous permet d’accorder, de refuser ou de modifier des autorisations pour les utilisateurs Business Desk en fonction de leurs comptes Windows. Avant de définir des autorisations pour un compte Windows, vous devez ajouter ce compte à la liste des comptes du module Autorisations.

Vous pouvez soit autoriser, soit refuser l’accès à une catégorie, un module ou une tâche de Business Desk. Les autorisations vous permettent également de restreindre l’accès à vos catalogues et à leurs propriétés ainsi qu’à vos profils et à leurs propriétés.

Si un utilisateur Business Desk est membre d’un groupe qui a accès à des entités, mais que vous souhaitez refuser l’accès à ces entités pour cet utilisateur spécifique, vous devez ajouter ce compte d’utilisateur à la liste des comptes du module Autorisations et sélectionner l’option Refuser pour la tâche à sécuriser. L’option Refuser se substitue à l’option Autoriser ; vous pouvez ainsi tirer profit de l’utilisation d’un groupe Windows sans compromettre la sécurité.

L’option Refuser vous permet de supprimer les autorisations pour un membre spécifique d’un compte de groupe. Pour refuser l’accès à une catégorie, un module ou une tâche de Business Desk pour la totalité du groupe, désactivez l’option Autoriser correspondante.

Remarques

  • Si vous refusez à des utilisateurs l’autorisation de créer un nouveau rapport, ils ne peuvent pas enregistrer de rapport.

    Les autorisations de création de rapport permettent à un utilisateur Business Desk d’enregistrer des requêtes de rapport SQL dans le Data Warehouse. Ces requêtes seront exécutées par quiconque exécutera le rapport. Même si les utilisateurs qui créent le rapport ne possèdent pas les autorisations requises pour exécuter la requête de rapport directement, ils peuvent enregistrer le rapport dans le Data Warehouse. Des utilisateurs possédant des autorisations SQL plus élevées peuvent alors exécuter la requête en exécutant le rapport, sans savoir si la requête exécutée est dommageable ou pas.

  • Par défaut, les administrateurs et tous les membres du groupe local Administrateurs (ou le groupe Administrateurs de domaine si Business Desk est exécuté sur un contrôleur de domaine) bénéficient toujours d’un accès total à l’ensemble des éléments de Business Desk.
  • Si un utilisateur Business Desk ouvre une session sur le réseau avec un compte de domaine qui est membre d’un groupe local sur un autre serveur Web Business Desk pour lequel des autorisations ont été définies, les autorisations du groupe local ne sont pas accordées.
  • Vous pouvez refuser aux utilisateurs l’autorisation d’exécuter des rapports d’analyse. Toutefois, si les utilisateurs possèdent l’autorisation d’accéder au module Gestionnaire de campagnes, ils peuvent utiliser ce module pour exporter un rapport dans le module Gestionnaire de listes et accéder ensuite aux données utilisateur d’une liste.

    Pour sécuriser les données utilisateur dans ce scénario, vous devez explicitement refuser aux utilisateurs l’autorisation d’exporter des rapports dans le module Gestionnaire de listes, ou désactiver le bouton Afficher rapport dans le module Gestionnaire de campagnes.

Pour définir des autorisations pour un compte Windows

  1. Dans Sécurité, cliquez sur Autorisations.
  2. Dans l’écran Autorisations de sécurité, dans la zone de liste déroulante Compte Windows, sélectionnez le compte Windows (dans la liste des comptes du module Autorisations) pour lequel vous souhaitez ajouter des autorisations.
  3. Dans l’écran Autorisations de sécurité, dans la section Entités sécurisables, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Zone Entité Afficher toutes les entités de catalogue et de profil pouvant être sécurisées. Vous pouvez sécuriser des catalogues, des propriétés de catalogue et des définitions de profils.

    Pour sécuriser les catégories du catalogue, utilisez le module Éditeur de catalogue. Pour connaître les instructions à suivre, consultez Modification d’une catégorie dans un catalogue de base.
    Autoriser | Autoriser le compte Windows sélectionné ou le groupe à accéder à l’entité correspondante, en activant cette case à cocher.
    Refuser | Refuser les comptes Windows sélectionnés ou l’accès de groupe à l’entité correspondante, en activant cette case à cocher. L’option Refuser remplace l’option Autoriser.
    Comptes de liste Pour l’entité associée, cliquer sur le bouton [image] pour afficher les paramètres des autorisations concernant l’ensemble des comptes Windows ayant été ajoutés à la liste des comptes du module Autorisations.

    Dans la boîte de dialogue Comptes, vous pouvez autoriser ou refuser l’accès aux comptes disponibles, et ajouter de nouveaux comptes Windows à la liste des comptes du module Autorisations.

    Pour ajouter des comptes Windows, ou pour ajouter des utilisateurs à un groupe ou en supprimer, contactez votre administrateur système.
    Détails Afficher le détail des options de sécurité pour chaque entité, en cliquant sur ce bouton.

    Détail des autorisations : <Entité> affiche la tâche qui peut être effectuée, par exemple, modifier. Tous les éléments pour lesquels vous pouvez autoriser ou non la modification par les utilisateurs sont répertoriés.

    Cliquez sur Retour pour revenir à l’écran Autorisations de sécurité.
  4. Dans l’écran Autorisations de sécurité, développez la section Accès aux catégories/modules/tâches de Business Desk, puis effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Autoriser | Autoriser le compte Windows sélectionné ou le groupe à accéder à l’entité correspondante, en activant cette case à cocher.
    Refuser | Refuser les comptes Windows sélectionnés ou l’accès de groupe à l’entité correspondante, en activant cette case à cocher. L’option Refuser remplace l’option Autoriser.
    Comptes de liste Pour l’entité associée, cliquer sur le bouton [image] pour afficher les paramètres des autorisations concernant l’ensemble des comptes Windows ayant été ajoutés à la liste des comptes du module Autorisations.

    Dans la boîte de dialogue Comptes, vous pouvez autoriser ou refuser l’accès aux comptes disponibles, et ajouter de nouveaux comptes Windows à la liste des comptes du module Autorisations.

    Pour ajouter des comptes Windows, ou pour ajouter des utilisateurs à un groupe ou en supprimer, contactez votre administrateur système.
    Autorisations de tâches Afficher, accorder ou refuser des autorisations permettant d’effectuer des tâches spécifiques pour le module Business Desk sélectionné. Dans ce cas, vous devez cliquer sur ce bouton.

    Détail des autorisations : L’écran <catégorie Business Desk> affiche l’action qui peut être réalisée, par exemple, Nouveau. Toutes les pages et tâches pour lesquelles vous pouvez autoriser ou non la création d’une entité par les utilisateurs sont répertoriées.

    Par exemple, si vous souhaitez empêcher un utilisateur de créer des entités, vous devez choisir l’option Refuser pour les tâches Nouvelle et Enregistrer. Si seule la tâche Nouveau est refusée, les utilisateurs pourront créer l’entité en utilisant le bouton de tâche Enregistrer.

    Cliquez sur Retour pour revenir à l’écran Autorisations de sécurité.
  5. Pour enregistrer vos modifications et revenir à l’écran d’accueil Business Desk, cliquez sur Enregistrer et retour dans la barre d’outils.

Important

  • Après avoir modifié les autorisations pour un utilisateur Business Desk, celui-ci doit fermer et redémarrer Business Desk pour que les nouveaux paramètres soient pris en compte.

    Si l’identité Windows (appartenances à des groupes, droits, listes de contrôle d’accès, etc.) a été modifiée pour cet utilisateur, il doit se déconnecter, puis ouvrir une session afin que les nouveaux paramètres soient pris en compte sur le serveur. (Sinon, le client fonctionnera correctement, mais pas le serveur.)

Voir aussi

À propos de la sécurité Business Desk

Création de comptes Windows

Ajout de comptes Windows à la liste des comptes

Suppression de comptes Windows dans la liste des comptes

Affichage des autorisations de compte


Suppression de comptes Windows dans la liste des comptes

À l’aide du module Autorisations, vous pouvez supprimer des comptes Windows dans la liste des comptes du module Autorisations. Une fois que leur compte Windows a été supprimé de cette liste, les utilisateurs ne peuvent plus accéder à Business Desk.

Toutes les autorisations attribuées à ce compte sont également supprimées.

Pour supprimer des comptes Windows dans la liste des comptes du module Autorisations

  1. Dans Sécurité, cliquez sur Autorisations.
  2. Dans l’écran Autorisations de sécurité, dans la zone de liste déroulante Compte Windows, sélectionnez le compte Windows (dans la liste des comptes du module Autorisations) que vous souhaitez supprimer, puis cliquez sur Supprimer de la liste.
  3. Dans la boîte de dialogue de confirmation Supprimer le compte, cliquez sur Oui.
  4. Pour revenir à l’écran d’accueil de Business Desk, cliquez sur Retour dans la barre d’outils.

Le compte Windows a été supprimé de la liste des comptes du module Autorisations.

Voir aussi

À propos de la sécurité Business Desk

Création de comptes Windows

Définition d’autorisations Business Desk pour des comptes Windows

Ajout de comptes Windows à la liste des comptes


Affichage des autorisations de compte

Le module Autorisations vous permet de gérer les autorisations définies pour les comptes Windows. Vous pouvez afficher les autorisations de compte existantes et les modifier si nécessaire.

Pour afficher les autorisations définies pour un compte Windows

  1. Dans Sécurité, cliquez sur Autorisations.
  2. Dans l’écran Autorisations de sécurité, dans la zone de liste déroulante Compte Windows, sélectionnez le compte Windows (dans la liste des comptes du module Autorisations) pour lequel vous souhaitez afficher les autorisations.
  3. Dans l’écran Autorisations de sécurité, dans la section Entités sécurisables, effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Zone Entité Afficher toutes les entités de catalogue et de profil pouvant être sécurisées. Vous pouvez sécuriser des catalogues, des propriétés de catalogue et des définitions de profils.

    Pour sécuriser les catégories du catalogue, utilisez le module Éditeur de catalogue. Pour connaître les instructions à suivre, consultez Modification d’une catégorie dans un catalogue de base.
    Autoriser | Afficher toutes les entités auxquelles le compte ou groupe Windows sélectionné a accès.
    Refuser | Afficher toutes les entités auxquelles le compte ou groupe Windows sélectionné n’a pas accès.
    Comptes de liste Pour l’entité associée, cliquer sur le bouton [image] pour afficher les paramètres des autorisations concernant l’ensemble des comptes Windows ayant été ajoutés à la liste des comptes du module Autorisations.

    Dans la boîte de dialogue Comptes, vous pouvez autoriser ou refuser l’accès aux comptes disponibles, et ajouter de nouveaux comptes Windows à la liste des comptes du module Autorisations.

    Pour ajouter des comptes Windows, ou pour ajouter des utilisateurs à un groupe ou en supprimer, contactez votre administrateur système.
    Détails Cliquer sur Détails Sélection pour afficher le détail des options de sécurité pour chaque entité.

    Détail des autorisations : <Entité> affiche la tâche qui peut être effectuée, par exemple, modifier. Tous les éléments pour lesquels vous pouvez autoriser ou non la modification par les utilisateurs sont répertoriés.

    Cliquez sur Retour pour revenir à l’écran Autorisations de sécurité.
  4. Dans l’écran Autorisations de sécurité, développez la section Accès aux catégories/modules/tâches de Business Desk, puis effectuez les opérations suivantes :
    Utilisez ceci | Pour faire cela
    Autoriser | Afficher toutes les entités auxquelles le compte ou groupe Windows sélectionné a accès.
    Refuser | Afficher toutes les entités auxquelles le compte ou groupe Windows sélectionné n’a pas accès.
    Comptes de liste Pour l’entité associée, cliquer sur le bouton [image] pour afficher les paramètres des autorisations concernant l’ensemble des comptes Windows ayant été ajoutés à la liste des comptes du module Autorisations.

    Dans la boîte de dialogue Comptes, vous pouvez autoriser ou refuser l’accès aux comptes disponibles, et ajouter de nouveaux comptes Windows à la liste des comptes du module Autorisations.

    Pour ajouter des comptes Windows, ou pour ajouter des utilisateurs à un groupe ou en supprimer, contactez votre administrateur système.
    Autorisations de tâches Afficher, accorder ou refuser des autorisations permettant d’effectuer des tâches spécifiques pour le module Business Desk sélectionné. Dans ce cas, vous devez cliquer sur ce bouton.

    Détail des autorisations : L’écran <catégorie Business Desk> affiche l’action qui peut être réalisée, par exemple, Nouveau. Toutes les pages et les tâches pour lesquelles vous pouvez autoriser ou non la création de nouvelles entités par les utilisateurs sont répertoriées.

    Par exemple, si vous souhaitez empêcher un utilisateur de créer des entités, vous devez choisir l’option Refuser pour les tâches Nouveau et Enregistrer. Si seule la tâche Nouveau est refusée, les utilisateurs pourront créer l’entité en utilisant le bouton de tâche Enregistrer.

    Cliquez sur Retour pour revenir à l’écran Autorisations de sécurité.
  5. Pour enregistrer vos modifications et revenir à l’écran d’accueil Business Desk, cliquez sur Enregistrer et retour dans la barre d’outils.

Voir aussi

À propos de la sécurité Business Desk

Création de comptes Windows

Ajout de comptes Windows à la liste des comptes

Définition d’autorisations Business Desk pour des comptes Windows

Suppression de comptes Windows dans la liste des comptes


Dépannage de Business Desk

Cette section traite des problèmes courants liés à l’utilisation de Commerce Server Business Desk. Localisez une brève description du problème dans la zone de fonctionnalité sur laquelle vous êtes en train de travailler, puis suivez le lien pour obtenir des informations plus détaillées.

Votre premier interlocuteur en matière de support technique est généralement votre administrateur système ou votre développeur de site. En outre, vous pouvez accéder aux groupes de discussion en ligne de Microsoft. Pour plus d’informations sur les groupes de discussion de Commerce Server 2002, consultez http://go.microsoft.com/fwlink/?LinkId=945.

Le tableau suivant répertorie les zones de fonctionnalités et les problèmes que vous pouvez rencontrer lors de l’utilisation de Business Desk.

Zone Problème
Installation
  • Impossible d’installer Business Desk
Business Desk
  • La chaîne &#13; s’affiche dans les zones Description
  • Le message « Bibliothèque non inscrite » s’affiche
  • Impossible d’exécuter Business Desk
  • Impossible pour l’utilisateur d’afficher une page : demande de renouvellement d’authentification
  • Affichage du message « Erreur d’accès à Business Desk »
  • Le message d’erreur « Erreur dans l’objet Commerce Administration : Description GlobalConfig:Initialize: Échec de la connexion de l’utilisateur <nom_utilisateur>. » s’est affiché
  • Les modifications ne s’affichent pas sur le site Web
  • Impossible d’ouvrir deux instances identiques de Business Desk
  • La recherche de texte intégral dans l’aide ne renvoie aucun résultat
  • Les dates ne s’affichent pas correctement
Analyse
  • Impossible d’exécuter des rapports
  • La boîte de dialogue d’informations Exécution d’un rapport statique continue de s’afficher
  • Le rapport s’affiche sans les données
  • Erreur du rapport Itinéraire d’achat de l’acheteur
  • Impossible d’exécuter le rapport statique
  • Nom de membre manquant pour le numéro de clé
  • Les rapports SQL Server dynamiques utilisent de grandes quantités de mémoire
Campagnes marketing
  • Impossible d’exécuter un travail de publipostage
  • Le travail de publipostage échoue sans générer de message d’erreur
  • Impossible d’enregistrer une campagne de publipostage
  • Les éléments de la campagne marketing ne s’affichent pas de la manière souhaitée sur le site Web
  • Les données ne s’affichent pas dans le Gestionnaire de listes
  • Impossible de mettre à jour le site Web avec les nouveaux éléments de la campagne
  • Impossible d’afficher l’aperçu de fichiers image
Catalogues
  • Impossible d’importer un catalogue
  • Impossible d’envoyer un catalogue à un partenaire commercial
  • Impossible d’importer le fichier Samplecatalog.xml
  • Le site Web génère une erreur indiquant que l’élément est introuvable dans la collection


Problèmes généraux liés à Business Desk

  • Impossible d’installer Business Desk
  • La chaîne &#13; s’affiche dans les zones Description
  • Le message « Bibliothèque non inscrite » s’affiche
  • Impossible d’exécuter Business Desk
  • Impossible pour l’utilisateur d’afficher une page : demande de renouvellement d’authentification
  • Affichage du message « Erreur d’accès à Business Desk »
  • Les modifications ne s’affichent pas sur le site Web
  • Impossible d’ouvrir deux instances identiques de Business Desk
  • La recherche de texte intégral dans l’aide ne renvoie aucun résultat
  • Les dates ne s’affichent pas correctement


Impossible d'installer Business Desk

Envoyer des commentaires sur cette page Commerce Server 2002

Impossible d’installer Business Desk

Description

Lorsque vous essayez de vous connecter au site Web de Commerce Server Business Desk pour installer le client Business Desk, le message suivant peut s’afficher :

Erreur d'installation de Business Desk

Solution

Si vous utilisez Windows XP et Internet Explorer 6.0, vous devez activer les options Télécharger les contrôles ActiveX signés et Télécharger les contrôles ActiveX non signés.

Si vous utilisez un autre système d’exploitation et une version différente de Internet Explorer, activez uniquement Télécharger les contrôles ActiveX signés.

Pour poursuivre l’installation de Business Desk

  1. Dans Internet Explorer, cliquez sur Outils, puis sur Options Internet.
  2. Cliquez sur l’onglet Sécurité, sélectionnez la zone Intranet local et cliquez sur Personnaliser le niveau.
  3. Dans la zone de liste Paramètres, sous Contrôles ActiveX et plugins, activez Télécharger les contrôles ActiveX signés. Si vous utilisez Windows XP et Internet Explorer 6.0, activez également Télécharger les contrôles ActiveX non signés et Contrôles d’initialisation et de script ActiveX non marqués comme sécurisés.
  4. Cliquez sur OK, puis sur Oui dans la boîte de dialogue Avertissement !.
  5. Cliquez sur OK pour fermer la boîte de dialogue Options Internet.
  6. Cliquez dans la barre d’outils sur Actualiser, puis poursuivez l’installation en tapant l’adresse URL correspondant à Business Desk dans la fenêtre du navigateur. Par exemple, http://<nomserveur>/monlogicielbizdesk.


La chaîne &#13; s'affiche dans les zones Description

Envoyer des commentaires sur cette page Commerce Server 2002

La chaîne &#13; s’affiche dans les zones Description

Description

Vous tapez plusieurs lignes dans une zone Description, ou dans une autre zone, puis vous cliquez sur [image] dans la barre d’outils. La colonne Description correspondant au nouveau produit créé affiche la chaîne de caractères &#13; pour chaque retour chariot entré dans la zone.

Solution

Ceci n’est pas une erreur. Commerce Server remplace les retours chariot de la base de données par la chaîne &#13; en vue d’envoyer les données au client Business Desk. Une fois que les données ont été affichées, Commerce Server reconvertit les chaînes &#13; en retours chariot.


Le message «Bibliothèque non inscrite» s'affiche

Envoyer des commentaires sur cette page Commerce Server 2002

Le message « Bibliothèque non inscrite » s’affiche

Description

Vous recevez le message « Bibliothèque non inscrite » lors de l’utilisation de Commerce Server Business Desk.

Solution

Vous devez peut-être réinscrire le fichier Vbscript.dll qui se trouve dans le répertoire \winnt\system32. Contactez votre administrateur système.


Impossible d'exécuter Business Desk

Envoyer des commentaires sur cette page Commerce Server 2002

Impossible d’exécuter Business Desk

Description

Bien que vous ayez exécuté Commerce Server Business Desk sans problème jusqu’à maintenant, vous recevez l’un des messages d’erreur suivants lorsque vous tentez de le démarrer :

  • Des erreurs se sont produites lors du chargement d’une partie de Business Desk.
  • Des erreurs se sont produites lors du chargement de l’application Business Desk.

Solution

Si le mot de passe de l’administrateur système a changé sur le serveur Web hébergeant l’application Business Desk, cette modification peut être à l’origine de l’un de ces messages d’erreur.


Impossible pour l'utilisateur d'afficher une page: demande de renouvellement d'authentification

Envoyer des commentaires sur cette page Commerce Server 2002

Impossible pour l’utilisateur d’afficher une page : demande de renouvellement d’authentification

Description

Vous ne parvenez pas à afficher une page dans Commerce Server Business Desk pour l’une des raisons suivantes :

  • Business Desk vous demande de manière inattendue vos nom d’utilisateur et mot de passe.
  • Vous recevez un message d’erreur indiquant que l’utilisateur n’est pas autorisé à afficher la page.
  • La boîte de dialogue Saisie du mot de passe réseau s’affiche de nouveau alors que vous avez entré les informations d’ouverture de session appropriées.

Solution

Si Business Desk et Commerce Server ne s’exécutent pas sur le même serveur Web, le serveur où s’exécute Commerce Server manque peut-être de mémoire. Contactez votre administrateur système.


Affichage du message «Erreur d'accès à Business Desk»

Envoyer des commentaires sur cette page Commerce Server 2002

Affichage du message « Erreur d’accès à Business Desk »

Description

Bien que vous ayez exécuté Commerce Server Business Desk sans problème jusqu’à maintenant, vous ne parvenez pas à le démarrer. Lorsque vous essayez d’ouvrir un module particulier, vous recevez le message :

Erreur d’accès à Business Desk.

Solution

Le module que vous essayez d’ouvrir requiert des droits de l’utilisateur que vous n’avez pas. Contactez votre administrateur système pour obtenir les droits d’accès nécessaires.


Le message d'erreur «Erreur dans l'objet Commerce Administration: Description GlobalConfig:Initialize: Échec de la connexion de l'utilisateur <nom_utilisateur>.» s'est affiché

Envoyer des commentaires sur cette page Commerce Server 2002

Le message d’erreur « Erreur dans l’objet Commerce Administration : Description GlobalConfig:Initialize: Échec de la connexion de l’utilisateur <nom_utilisateur>. »s’est affiché

Description

Vous utilisez le module Identification de segments et le service Predictor est en cours d’exécution à l’aide d’un compte local.

Solution

Modifiez le service Predictor pour utiliser un compte de domaine. Pour plus d’informations, consultez Déploiement de Commerce Server en utilisant l’authentification Windows.


Les modifications ne s'affichent pas sur le site Web

Envoyer des commentaires sur cette page Commerce Server 2002

Les modifications ne s’affichent pas sur le site Web

Description

Vous avez effectué des modifications dans Commerce Server Business Desk, mais elles ne s’affichent pas lorsque vous visualisez votre site Web.

Solution

Vous devez peut-être actualiser les caches de Commerce Server. Pour ce faire, utilisez le module Publier les campagnes marketing, le module Publier les transactions ou le module Publier les profils pour mettre à jour votre site. Vous devrez peut-être également publier les catalogues à l’aide du bouton Publier de la barre d’outils dans le module Éditeur de catalogue.


Impossible d'ouvrir deux instances identiques de Business Desk

Envoyer des commentaires sur cette page Commerce Server 2002

Impossible d’ouvrir deux instances identiques de Business Desk

Description

Vous essayez d’ouvrir deux instances du client Commerce Server Business Desk pour le même site sur votre ordinateur, mais Business Desk ne s’ouvre pas.

Solution

Vous ne pouvez pas ouvrir deux instances du même client Business Desk pour le même site sur votre ordinateur. Cependant, vous pouvez exécuter deux clients Business Desk en même temps pour des sites différents.


La recherche de texte intégral dans l'aide ne renvoie aucun résultat

Envoyer des commentaires sur cette page Commerce Server 2002

La recherche de texte intégral dans l’aide ne renvoie aucun résultat

Description

Lorsque vous effectuez une recherche dans l’aide de Commerce Server Business Desk, aucun résultat n’est renvoyé.

Solution

Contactez votre administrateur système pour démarrer le service d’indexation sur le serveur Web hébergeant l’application Business Desk. Le service d’indexation doit toujours être défini sur Démarrage automatique, car il peut y avoir un décalage important entre le démarrage du service d’indexation et le moment où le dossier contenant l’aide est disponible.


Les dates ne s'affichent pas correctement

Envoyer des commentaires sur cette page Commerce Server 2002

Les dates ne s’affichent pas correctement

Description

Si votre administrateur système remplace le séparateur de date utilisé, une barre oblique (/), par un autre séparateur tel que le tiret (-), les dates ne s’affichent plus correctement dans Commerce Server Business Desk.

Solution

Après avoir changé le séparateur de date, votre administrateur système doit redémarrer l’application Business Desk.


Dépannage du module Analyse de Business Desk

  • Impossible d’exécuter des rapports
  • La boîte de dialogue d’informations Exécution d’un rapport statique continue de s’afficher
  • Le rapport s’affiche sans les données
  • Erreur du rapport Itinéraire d’achat de l’acheteur
  • Impossible d’exécuter le rapport statique
  • Nom de membre manquant pour le numéro de clé
  • Les rapports SQL Server dynamiques utilisent de grandes quantités de mémoire


Impossible d'exécuter des rapports

Envoyer des commentaires sur cette page Commerce Server 2002

Impossible d’exécuter des rapports

Description

Vous essayez d’exécuter des rapports à partir du module Rapports et rien ne se passe. Si vous essayez d’exécuter un rapport statique, vous recevez une erreur indiquant un état d’échec, ou le rapport s’affiche sans les données.

Remarque

  • Si vous exécutez un rapport dynamique, le message d’erreur suivant s’affiche :

    BOF ou EOF est égal à True ou l’enregistrement actuel a été supprimé.

Solution

Contactez votre administrateur système. Votre administrateur système doit importer des données dans le Data Warehouse pour que le rapport puisse s’exécuter correctement.


La boîte de dialogue d'informations Exécution d'un rapport statique

Envoyer des commentaires sur cette page Commerce Server 2002

La boîte de dialogue d’informations Exécution d’un rapport statique

Description

Lorsque vous exécutez un rapport statique dans le module Analyse en utilisant des caractères codés sur deux octets dans le nom du site, la boîte de dialogue d’informations Exécution d’un rapport statique continue de s’afficher, même après avoir sélectionné Non afin qu’elle disparaisse.

Solution

Utiliser uniquement des caractères ASCII pour le nom du site lors de sa configuration. Sinon, lorsque vous exécutez un rapport statique, sélectionnez Non dans la boîte de dialogue. Exécutez à nouveau le rapport statique et actualisez le module Analyse en cliquant sur le lien Analyse du volet gauche. La boîte de dialogue doit disparaître.


Le rapport s'affiche sans les données

Envoyer des commentaires sur cette page Commerce Server 2002

Le rapport s’affiche sans les données

Description

Votre rapport dynamique s’affiche dans la fenêtre du navigateur sans aucune donnée. Commerce Server Business Desk prend en charge jusqu’à 250 000 membres par dimension dans les rapports dynamiques. Si vous exécutez un rapport dynamique sur un ensemble de données contenant plus de 250 000 membres par dimension, le délai d’attente de Office XP Web Components (OWC) expire, et le rapport s’affiche dans la fenêtre du navigateur sans contenir de données.

Solution

Si vos données contiennent des dimensions de plus de 250 000 membres, contactez votre administrateur système pour obtenir un rapport statique personnalisé chargé d’analyser ces données.


Erreur du rapport Itinéraire d'achat de l'acheteur

Envoyer des commentaires sur cette page Commerce Server 2002

Erreur du rapport Itinéraire d’achat de l’acheteur

Description

Vous tentez d’exécuter le rapport Itinéraire d’achat de l’acheteur et un message d’erreur s’affiche.

Solution

Contactez votre administrateur système. Il peut résoudre cette erreur en se référant à l’aide de Commerce Server 2002.


Impossible d'exécuter le rapport statique

Envoyer des commentaires sur cette page Commerce Server 2002

Impossible d’exécuter le rapport statique

Description

Lorsque vous essayez d’exécuter un rapport statique, aucun rapport n’est généré et tous les boutons de la barre des tâches sont désactivés. Un message d’erreur s’affiche indiquant qu’une erreur COM des services IIS (Internet Information Services) s’est produite à cause de la réinitialisation de ces services.

Solution

Contactez votre administrateur système pour savoir si les services IIS ont été réinitialisés pendant que vous exécutiez des rapports statiques. Si les services IIS ont été réinitialisés, fermez Commerce Server Business Desk et rouvrez-le. Réexécutez ensuite le rapport statique.


Nom de membre manquant pour le numéro de clé

Description

Si vous exécutez le rapport Insertion de publicité de la dimension PageGroup ou le rapport Ventes produits de la dimension Customer, vous pouvez voir s’afficher dans le rapport un message qui indique ceci « Nom de membre manquant pour la clé ». Cette erreur se produit lorsque des données importées dans le Data Warehouse ne possèdent pas les valeurs uniques requises.

Solution

Adoptez l’une des solutions suivantes :

  • Rapport Insertion de publicité. Contactez votre administrateur système afin d’exécuter la tâche de transformation de données (DTS, Data Transformation Services) pour l’importation de campagne marketing, puis réexécutez la tâche DTS de préparation du rapport. Ce problème se produit lorsque les données ont été supprimées de la base de données source.
  • Rapport Ventes produits. Contactez votre administrateur système afin d’exécuter la tâche DTS pour l’importation de profil, puis réexécutez la tâche DTS de préparation du rapport. Ce problème se produit lorsque les données ont été supprimées de la base de données source.


Les rapports SQL Server dynamiques utilisent de grandes quantités de mémoire

Description

Lorsque vous exécutez un rapport SQL Server dynamique, le PivotControl essaie de charger toutes les données en mémoire avant d’afficher le rapport. Par exemple, l’exécution du rapport Portée et fréquence d’accès à la publicité par élément de la campagne, avec 400 000 lignes dans l’une des tables principales, entraîne une consommation de la mémoire système pouvant atteindre 700 mégaoctets (Mo).

Solution

Lors de l’exécution de rapports SQL Server dynamiques, tenez compte de la mémoire utilisée et gérez-la en conséquence.

Voir aussi

Création d’une nouvelle définition de rapport dynamique


Dépannage du module Campagnes marketing de Business Desk

  • Impossible d’exécuter un travail de publipostage
  • Le travail de publipostage échoue sans générer de message d’erreur
  • Impossible d’enregistrer une campagne de publipostage
  • Les éléments de la campagne marketing ne s’affichent pas de la manière souhaitée sur le site Web
  • Les données ne s’affichent pas dans le Gestionnaire de listes
  • Impossible de mettre à jour le site Web avec les nouveaux éléments de la campagne
  • Impossible d’afficher l’aperçu de fichiers image


Impossible d'exécuter un travail de publipostage

Envoyer des commentaires sur cette page Commerce Server 2002

Impossible d’exécuter un travail de publipostage

Description

Un travail de publipostage ne s’est pas exécuté, et vous n’avez reçu aucun message d’erreur.

Solution

Contactez votre administrateur système. Si le travail de publipostage est une campagne de publipostage personnalisée, l’administrateur système l’a peut-être bloqué pour des raisons de performance. Si vous ne possédez pas de serveur Web dédié au publipostage, l’administrateur système a peut-être défini l’élément de la campagne pour qu’il démarre à une période de faible trafic, car il accède au serveur Web comme n’importe quel utilisateur. En fonction du volume de la liste de publipostage, les performances du serveur Web peuvent s’en trouver affectées.


Le travail de publipostage échoue sans générer de message d'erreur

Envoyer des commentaires sur cette page Commerce Server 2002

Le travail de publipostage échoue sans générer de message d’erreur

Description

Un travail de publipostage n’a pas pu démarrer, et vous n’avez reçu aucun message d’erreur vous informant sur l’origine de cet échec.

Solution

Contactez votre administrateur système. L’échec peut avoir différentes causes. Par exemple, si l’Agent SQL Server s’arrête lorsqu’un travail de publipostage est planifié pour s’exécuter, le travail ne s’exécute pas, et l’erreur n’est pas enregistrée. Aucun élément n’indique que le travail ne s’est pas exécuté. Votre administrateur système doit démarrer le travail manuellement à partir du contrôle de l’Agent SQL Server dans SQL Server Enterprise Manager.


Impossible d'enregistrer une campagne de publipostage

Envoyer des commentaires sur cette page Commerce Server 2002

Impossible d’enregistrer une campagne de publipostage

Description

Si l’Agent SQL Server n’est pas en cours d’exécution lorsque vous créez une campagne de publipostage, vous ne pouvez pas enregistrer cette nouvelle campagne. Commerce Server Business Desk ne répond plus, puis un message de l’Agent SQL Server s’affiche pour indiquer que le serveur n’est pas en cours d’exécution.

Solution

Contactez votre administrateur système. Celui-ci peut démarrer l’Agent SQL Server pour que vous puissiez ensuite enregistrer la campagne de publipostage.


Les éléments de la campagne marketing ne s'affichent pas de la manière souhaitée sur le site Web

Envoyer des commentaires sur cette page Commerce Server 2002

Les éléments de la campagne marketing ne s’affichent pas de la manière souhaitée sur le site Web

Description

Les éléments de la campagne de publicité et les éléments de la campagne de remise qui ont été créés ne s’affichent pas sur le site Web.

Solution

Lorsque vous créez une nouvelle publicité à l’aide du module Gestionnaire de campagnes, celle-ci est inactive jusqu’à ce qu’elle soit publiée ou détectée lors du cycle régulier d’actualisation. Par défaut, les publicités sont automatiquement publiées toutes les cinq minutes. Les remises, cependant, doivent être publiées manuellement et ne sont pas automatiques. De même, si vous avez créé une publicité ou une remise à l’avance et qu’elle est restée inactive, vous devez la rouvrir et l’activer.

Remarque

  • Avant de mettre à jour une campagne de publicité sur un nouveau site, vous devez d’abord visiter ce site Web. Chaque serveur de la batterie de serveurs Web (Web farm) doit être mis à jour avant qu’un élément de la campagne puisse être envoyé en production.

Le tableau suivant répertorie les situations supplémentaires à vérifier si votre publicité ou votre remise ne s’affiche pas sur le site Web.

Description | Solution
L’élément de la campagne a-t-il été publié ? | S’il n’a pas été publié, utilisez le module Publier les campagnes marketing pour publier votre campagne.
L’état de l’élément de publicité ou de la campagne est-il actif ? | S’il n’est pas actif, ouvrez l’élément de publicité ou de la campagne, et modifiez l’état en Actif.
Avez-vous défini une quantité ou un poids ? | Dans le cadre des publicités payées, vous devez spécifier une quantité ou un poids pour la campagne publicitaire.
Existe-t-il des ciblages, des codes d’activité ou limites d’affichage en conflit ? | Vérifiez si le ciblage, le code d’activité ou les limites d’affichage de cette publicité peuvent l’empêcher de s’exécuter.
La date de la publicité ou de la campagne marketing est-elle hors limites ? | Vérifiez si la date de la publicité ou de la campagne marketing n’est pas trop éloignée dans le futur.
Une autre publicité s’affiche-t-elle à la place de la publicité prévue ? | Le cas échéant, vérifiez qu’il n’existe pas d’autre publicité avec un niveau supérieur d’estimation de livraison (EDL) qui remplace votre publicité.
La publicité est-elle définie pour s’exécuter sur d’anciens groupes de pages ? | Si vous avez renouvelé la conception de votre site Web, la publicité est peut-être planifiée pour s’exécuter sur d’anciens groupes de pages. Vous devez définir de nouvelles publicités si vous possédez un nouveau site Web.
La publicité est-elle une publicité maison ? | Si la publicité est définie en tant que publicité maison, elle ne s’affichera pas sur le site Web tant que toutes les publicités payées n’auront pas satisfait leur estimation de livraison (EDL).
Une expression de ciblage empêche-t-elle la publicité de s’afficher ? | Si les propriétés des visiteurs du site ne correspondent pas à la définition de l’expression de ciblage, la publicité ne s’affiche pas.
L’espace publicitaire est-il limité par la taille ? | Si l’espace publicitaire du site Web est limité par une taille de contenu spécifique et que votre publicité n’est pas à la taille requise, elle ne peut pas s’afficher.


Les données ne s'affichent pas dans le Gestionnaire de listes

Envoyer des commentaires sur cette page Commerce Server 2002

Les données ne s’affichent pas dans le Gestionnaire de listes

Description

L’exécution d’opérations de mise à jour ou de recherche sur de grands ensembles de données utilisateur via le module Utilisateurs peut entraîner une expiration du processus.

L’expiration de l’opération dépend d’un certain nombre de facteurs, ce qui peut vous empêcher de visualiser les données. L’un de ces facteurs peut être la grande quantité d’entités à récupérer.

Solution

Contactez votre administrateur système. Il peut résoudre cette erreur en se référant à l’aide de Commerce Server 2002.


Impossible de mettre à jour le site Web avec les nouveaux éléments de la campagne

Description

Si vous ne possédez pas les autorisations appropriées ou si vous rencontrez des problèmes de connectivité avec la base de données, le site Web n’est pas mis à jour avec les nouveaux éléments de la campagne.

Solution

Contactez votre administrateur système. Il peut vous accorder les autorisations nécessaires et résoudre vos problèmes de connectivité avec la base de données.

En outre, pour publier une campagne, une page ASP appelée Bdrefresh.asp doit être présente dans le répertoire racine du site sur chaque serveur Web.


Impossible d'afficher l'aperçu de fichiers image

Envoyer des commentaires sur cette page Commerce Server 2002

Impossible d’afficher l’aperçu de fichiers image

Description

Si votre Business Desk est basé sur le site solution SupplierActiveDirectory et que le filtre AuthFilter est activé, le code d’authentification ne vous permettra pas d’afficher un fichier image.

Solution

Contactez votre administrateur système. Pour afficher l’aperçu d’un fichier image dans Business Desk, vous devez activer l’accès anonyme à tout fichier image stocké dans le dossier racine virtuel Business Desk. Pour plus d’informations sur l’activation de l’accès anonyme, consultez Activation d’AuthFilter pour le site solution Supplier.


Dépannage du module Catalogues de Business Desk

  • Impossible d’importer un catalogue
  • Impossible d’envoyer un catalogue à un partenaire commercial
  • Impossible d’importer le fichier Samplecatalog.xml
  • Le site Web génère une erreur indiquant que l’élément est introuvable dans la collection


Impossible d'importer un catalogue

Envoyer des commentaires sur cette page Commerce Server 2002

Impossible d’importer un catalogue

Description

Lorsque vous essayez d’importer un catalogue, l’importation échoue. Par exemple, si le fichier catalogue se trouve dans C:\Documents and Settings\<nomutilisateur>\Bureau, l’échec de l’importation est dû à l’emplacement. Le message « Le processus d’importation du catalogue a débuté avec succès » s’affiche, mais lorsque vous cliquez sur Éditeur de catalogue pour recharger la page, le catalogue n’est pas importé.

Solution

Contactez votre administrateur système. Lorsque vous exécutez Commerce Server Business Desk dans les services IIS (Internet Information Services) en mode Isolation moyenne, vous ne pouvez pas accéder aux dossiers système tels que le Bureau. Pour importer le fichier du Bureau, utilisez l’option de téléchargement du fichier local.

Le tableau suivant répertorie les situations supplémentaires à vérifier lorsque l’importation d’un catalogue ne peut pas s’effectuer.

Description | Solution
Vous avez importé un catalogue et vous obtenez un message indiquant que l’importation est en cours. Cependant, lorsque vous cliquez sur Éditeur de catalogue pour recharger la page, le catalogue ne s’affiche pas. | Si vous importez un catalogue qui contient une définition de produit dont les propriétés diffèrent d’une définition de produit existante du même nom, l’importation échoue. Pour remédier à cela, exécutez l’importation en mode validation afin de vérifier que les propriétés des définitions de produits sont cohérentes d’un catalogue à un autre.
À l’aide du module Éditeur de catalogue, vous avez essayé d’importer un catalogue XML, mais l’importation a échoué. | Vérifiez que vous utilisez le nom et le chemin d’accès complet du fichier catalogue, ou que ce dernier se trouve sur le partage CommerceCatalogs sur le serveur exécutant l’application Business Desk. Votre administrateur système peut vous aider en récupérant le catalogue sur le serveur.


Impossible d'envoyer un catalogue à un partenaire commercial

Envoyer des commentaires sur cette page Commerce Server 2002

Impossible d’envoyer un catalogue à un partenaire commercial

Description

Vous avez créé un catalogue que vous ne pouvez pas envoyer à un partenaire commercial.

Solution

Vérifiez que votre administrateur système a installé Microsoft BizTalk Server 2002 et qu’il a correctement configuré Commerce Server pour les échanges de documents.


Impossible d'importer le fichier Samplecatalog.xml

Envoyer des commentaires sur cette page Commerce Server 2002

Impossible d’importer le fichier Samplecatalog.xml

Description

Commerce Server 2002 comporte un fichier XML appelé Samplecatalog.xml. Dans ce fichier, la propriété Name est l’identificateur du produit. Vous ne pouvez pas importer ce fichier dans Commerce Server 2002, car par défaut, Name est une propriété multilingue. Or une propriété multilingue ne peut pas servir d’identificateur du produit ou d’identificateur du composant pour un catalogue.

Solution

Toutefois, vous pouvez importer le fichier Samplecatalog.xml dans Commerce Server 2002 si vous modifiez au préalable le champ LanguageSensitive de manière appropriée.

Pour importer Samplecatalog.xml dans Commerce Server

  1. À l’aide du Bloc-notes, ouvrez Samplecatalog.xml.
  2. Remplacez la valeur du champ LanguageSensitive par 0.
  3. Dans le menu Fichier, cliquez sur Enregistrer pour enregistrer Samplecatalog.xml.

Vous pouvez maintenant utiliser Commerce Server Business Desk pour importer Samplecatalog.xml.


Le site Web génère une erreur indiquant que l'élément est introuvable dans la collection

Envoyer des commentaires sur cette page Commerce Server 2002

Le site Web génère une erreur indiquant que l’élément est introuvable dans la collection

Vous créez un catalogue qui ne contient aucune description de produit. Lorsqu’un utilisateur clique sur un produit sur votre site Web, une erreur du type ci-après s’affiche :

Type d’erreur
ADODB.Recordset (0x800A0CC1)
Impossible de trouver l’objet dans la collection correspondant au nom ou à la référence ordinale demandé

Les sites solution s’attendent à ce que les propriétés comme Name et Description soient indiquées dans chaque catalogue. Il ne s’agit pas de propriétés intégrées. Par conséquent, si ces propriétés ne figurent pas dans le catalogue, une erreur est générée.

Solution

Vérifiez que votre catalogue contient un nom et une description pour chaque produit. Si ce n’est pas le cas, ajoutez les propriétés requises dans votre catalogue.


Developer's Guide

Envoyer des commentaires sur cette page Kit de développement de logiciel (SDK) de Commerce Server 2002

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

Envoyer des commentaires sur cette page Kit de développement de logiciel (SDK) de Commerce Server 2002

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.
Tous droits réservés.


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.
Tous droits réservés.


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.


Dépannage de Commerce Server

Cette section présente les problèmes courants que vous pouvez rencontrer lors de l’utilisation de Microsoft Commerce Server 2002.

Pour fournir un support technique, Microsoft propose des groupes de discussion en ligne sur son site Web. Pour plus d’informations sur les groupes de discussion Commerce Server, allez à l’adresse suivante : http://go.microsoft.com/fwlink/?LinkId=5816.

Vous devez également consulter le fichier Lisezmoi de Microsoft Commerce Server 2002. Ce document fournit une liste de problèmes connus et d’informations de dernière minute concernant cette version de Commerce Server ; il est inclus dans le CD-ROM d’installation de Commerce Server 2002.

Cette section contient les rubriques suivantes :

  • Dépannage de vos applications. Décrit les problèmes que vous pouvez rencontrer lors du développement et de la gestion de vos applications et de Business Desk, et fournit les solutions possibles.
  • Dépannage du Gestionnaire de package de site. Décrit les problèmes que vous pouvez rencontrer lors de l’utilisation du Gestionnaire de package de site de Commerce Server, et fournit les solutions possibles.
  • Dépannage du processus d’importation du Data Warehouse. Décrit les problèmes que vous pouvez rencontrer lors de l’utilisation des tâches DTS de Commerce Server permettant d’importer des données dans le Data Warehouse. Cette section décrit en outre les solutions possibles.
  • Dépannage des ressources de Commerce Server. Décrit les problèmes que vous pouvez rencontrer lors de l’utilisation des tâches DTS, de la ressource Predictor, de la ressource Profils et du service de publipostage, et fournit les solutions possibles.
  • Dépannage des listes de tâches du Gestionnaire Commerce Server. Décrit un problème que vous pouvez rencontrer avec les listes de tâches du Gestionnaire Commerce Server lorsque les langues de Commerce Server et du système d’exploitation ne sont pas synchronisées.
  • Messages d’événements. Fournit une liste exhaustive des messages d’événements connus. Cette liste répertorie l’identificateur du message, le type de gravité et les commentaires pour chaque message d’événement.
  • Pour plus d’informations sur le dépannage. Répertorie les autres ressources de dépannage qui sont à la disposition des administrateurs système.


Dépannage de vos applications

Cette section décrit les problèmes que vous pouvez rencontrer lors du développement et de la gestion de vos applications et de Commerce Server Business Desk.

Cette section contient les rubriques suivantes :

  • Échec de l’installation lors de l’installation d’une instance racine de SQL
  • Kerberos et la sécurité intégrée de Windows ne fonctionnent pas
  • Supplier Site : impossible d’actualiser correctement le cache du profil du site avec un utilisateur supprimé
  • L’option Supprimer est désactivée lors de la sélection de plusieurs modèles en mode Modèle
  • Utiliser la méthode RecordSet Close() après l’utilisation de l’objet Recordset
  • Copie des données à partir d’un objet RecordSet vers un objet DataSet
  • Windows .NET Server et ADODB.Connection.2.5 génèrent une erreur
  • L’utilisation de IIS 6.0 désactive le traitement des pages ASP
  • L’utilisation de IIS 6.0 avec les sites solutions génère une erreur
  • Utiliser une devise 64 bits pour assurer la disponibilité
  • Les commandes dont le total dépasse plus de 10 millions d’unités monétaires échouent
  • Activer Approuver l’ordinateur pour la délégation pour les serveurs Web
  • OLAP/SQL Server nécessite l’authentification Windows NT
  • Échec de l’initialisation du composant logiciel enfichable
  • Les publicités ou les remises ne s’affichent pas sur le site Web
  • Données du catalogue incomplètes après l’échec de l’importation
  • Les utilisateurs ne peuvent pas explorer le catalogue du site Web
  • Impossible d’actualiser le cache du catalogue
  • Impossible d’ouvrir une session sur une application Web en tant qu’administrateur
  • La modification du nom de l’ordinateur cause l’arrêt du fonctionnement de Commerce Server
  • La modification des séparateurs de la date système provoque une erreur
  • La fonction de recherche dans l’aide ne renvoie aucun résultat
  • Quelques DLL ne prennent pas en charge l’auto-enregistrement
  • Création d’une nouvelle base de données d’administration
  • Business Desk : la modification du mot de passe d’administration déconnecte le client Business Desk
  • Business Desk : une erreur d’authentification se produit lors de l’ajout d’un nouvel utilisateur à Active Directory
  • Business Desk : configuration mise à jour non répercutée
  • Business Desk : les données ne s’affichent pas dans le Gestionnaire de listes ou les modules Utilisateurs
  • Business Desk : Bibliothèque non inscrite ou d’autres problèmes avec regexp
  • Business Desk : les utilisateurs avec des droits Administrateur ne peuvent accéder aux données de Business Desk
  • Business Desk : des erreurs d’exécution se produisent lorsque vous accédez à Business Desk
  • Business Desk : Internet Explorer ne peut ouvrir le site Internet
  • Rapports : erreur du rapport Itinéraire d’achat de l’acheteur
  • Rapports : impossible d’afficher les rapports SQL dynamiques
  • Rapports : les valeurs de date du rapport statique ne correspondent pas aux paramètres définis dans Options régionales

Pour plus d’informations sur le débogage de vos applications, consultez les rubriques suivantes :

  • Debugging the Business Desk (en anglais)
  • Content Selection Framework Concepts


Échec de l'installation lors de l'installation d'une instance racine de SQL

Envoyer des commentaires sur cette page Commerce Server 2002

Échec de l’installation lors de l’installation d’une instance racine de SQL

Si vous essayez d’installer Commerce Server 2002 sur une installation racine de SQL Server dont une instance utilise le même numéro de port, l’installation peut échouer.

Solution

Sur l’ordinateur exécutant SQL Server, ouvrez l’utilitaire de réseau SQL Server. (Cliquez sur Démarrer, pointez sur Programmes, cliquez sur Microsoft SQL Server, puis sur Utilitaire réseau SQL Server.) Sélectionnez chaque instance et modifiez le numéro de port de façon que chaque instance possède un numéro unique. Redémarrez toutes les instances de SQL Server.


Kerberos et la sécurité intégrée de Windows ne fonctionnent pas

En cas de dépannage d’un déploiement utilisant Kerberos, les services IIS (Internet Information Services) 5.0 et la sécurité intégrée de Windows, consultez la solution recommandée ci-dessous.

Solution

Les noms principaux de service existent-ils ? Si vous renommez l’ordinateur, les noms de l’hôte/NetBIOS et de l’hôte/DNS peuvent ne pas être renseignés. Vous devez réinitialiser les noms principaux de service de l’hôte.

  • Les ordinateurs font-ils partie d’un domaine approuvé ? C’est obligatoire.
  • Avez-vous supprimé TCP/IP de façon que seuls les Canaux nommés soient utilisés pour l’utilitaire de réseau de serveurs (SQL Server).
  • L’entrée Network Library=DBMSSOCN existe-t-elle dans une chaîne de connexion ? Si c’est le cas, Kerberos ne fonctionnera pas.
  • Le serveur Web est-il approuvé pour la délégation ? C’est obligatoire.


Supplier Site: impossible d'actualiser correctement le cache du profil du site avec un utilisateur supprimé

Envoyer des commentaires sur cette page Commerce Server 2002

Supplier Site : impossible d’actualiser correctement le cache du profil du site avec un utilisateur supprimé

Si vous supprimez un utilisateur en exécutant une commande de suppression sur un site, le cache du profil du site n’est pas mis à jour. Lorsque vous essayez de recréer le même utilisateur sur le site, l’une des deux erreurs suivantes se produit : « Erreur lors de l’ajout de l’utilisateur au groupe Active Directory » si l’utilisateur a été supprimé sur le site, ou « L’utilisateur existe déjà » si l’utilisateur a été supprimé à partir de Business Desk.

Solution

Mettez à jour le cache du profil du site dans le module Publier les profils de Business Desk.


L'option Supprimer est désactivée lors de la sélection de plusieurs modèles en mode Modèle

Envoyer des commentaires sur cette page Commerce Server 2002

L’option Supprimer est désactivée lors de la sélection de plusieurs modèles en mode Modèle

Lors de la sélection de plusieurs modèles en mode Modèles, l’option de suppression est désactivée.

Solution

Si vous sélectionnez l’onglet du mode d’affichage Modèles, l’option de suppression apparaît. Ce problème n’est provoqué ni par la ressource Predictor ni par Commerce Server. Il est dû à la console MMC (Microsoft Management Console).


Utiliser la méthode RecordSet Close() après l'utilisation de l'objet Recordset

Envoyer des commentaires sur cette page Commerce Server 2002

Utiliser la méthode RecordSet Close() après l’utilisation de l’objet Recordset

Une méthode courante pour accéder aux bases de données SQL Server à partir des pages ASP est d’utiliser un objet RecordSet ADO (ActiveX Directory Object). Lorsque vous avez fini d’utiliser l’objet RecordSet, vous pouvez rencontrer des erreurs inattendues et connaître une dégradation des performances si vous ne fermez pas l’objet explicitement.

Solution

Pour des performances optimales et afin d’éviter des erreurs inattendues, appelez la méthode Close() lorsque vous n’avez plus besoin de l’objet RecordSet.


Copie des données à partir d'un objet RecordSet vers un objet DataSet

Envoyer des commentaires sur cette page Commerce Server 2002

Copie des données à partir d’un objet RecordSet vers un objet DataSet

Il vous arrive souvent d’avoir besoin de copier les données d’un objet RecordSet renvoyé par une fonction Commerce Server dans un objet DataSet ADO.Net. Cela est utile pour lier les données de l’objet DataSet, les convertir au format XML, etc.

Solution

L’exemple de code C# suivant illustre cette fonctionnalité de copie.

// 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 .NET Server et ADODB.Connection.2.5 génèrent une erreur

Lorsque vous utilisez Windows .NET Server, évitez d’utiliser le code suivant avec un site solution :

Server.CreateObject("ADODB.Connection.2.5")

Si vous utilisez ce code, le site affiche toujours le code d’erreur suivant :

Server object, ASP 0177 (0x800401F3) Invalid ProgID

Solution

Windows .NET Server exécute ActiveX Data Objects (ADO) 2.7 ; ADO 2.7 n’effectuera pas une connexion spécifiée pour ADO 2.5. Pour éviter cette incompatibilité, remplacez le code par le texte suivant :

Server.CreateObject("ADODB.Connection")


L'utilisation de IIS6.0 désactive le traitement des pages ASP

Envoyer des commentaires sur cette page Commerce Server 2002

L’utilisation de IIS 6.0 désactive le traitement des pages ASP

Si vous utilisez les services IIS 6.0, le traitement des pages ASP est désactivé par défaut. Pour y remédier, il suffit de lancer l’outil IIS Lockdown, d’activer les pages ASP et de redémarrer les services IIS.

De plus, l’utilisation de l’outil IIS Lockdown permet aussi de supprimer tous les liens inutiles du Gestionnaire des services Internet (par exemple, les scripts, les images, iisHelp, iisadmin et msadc).

Solution

  1. Pour télécharger l’outil IIS Lockdown, consultez le site http://go.microsoft.com/fwlink/?LinkId=5592.
  2. Redémarrez les services IIS.


L'utilisation de IIS6.0 avec les sites solutions génère une erreur

Envoyer des commentaires sur cette page Commerce Server 2002

L’utilisation de IIS 6.0 avec les sites solutions génère une erreur

Si vous utilisez non pas la version 5.0 mais la version 6.0 des services IIS (Internet Information Services), les utilisateurs risquent d’obtenir l’erreur suivante quand ils accèdent à certaines pages ASP de votre site :

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

Dans les services IIS 6.0, les pages ASP n’acceptent pas ‘..’ dans les fichiers Include. De nombreux fichiers ASP du site Retail utilisent ‘..’, comme sur le site Supplier.

Solution

Évitez d’utiliser les services IIS 6.0 avec un site qui a été développé à l’aide d’un site solution Retail, Supplier ou vide.


Utiliser une devise 64 bits pour assurer la disponibilité

Si un utilisateur crée un panier avec des articles dont le total dépasse 10 millions d’unités monétaires, le panier devient inutilisable. L’utilisateur reçoit le message suivant :

« Un dépassement de capacité s’est produit lors du traitement de ‘_product_list_price’. Consultez la documentation pour plus d’informations sur le moyen d’augmenter la plage. »

Toutes les commandes suivantes pour cet utilisateur échouent.

Solution

Dans Pipeline Editor, mettez à niveau la prise en charge des devises de 32 bits à 64 bits.

Pour définir une devise 64 bits

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Microsoft Commerce Server 2002, puis cliquez sur Pipeline Editor.
  2. Cliquez sur Ouvrir dans la barre d’outils, puis naviguez vers l’emplacement de votre fichier pipeline. Double-cliquez sur le fichier pipeline pour l’ouvrir.
  3. Dans le menu Edition, cliquez sur Propriétés.
  4. Dans la zone Mode devise de la boîte de dialogue Propriétés de Pipeline, sélectionnez Devise (haute précision), puis cliquez sur OK.

    Remarque

    • Pour exécuter un pipeline en mode Haute précision, le pipeline ne doit inclure aucun composant de pipeline de Microsoft Site Server 3.0, Édition Commerce. Pour plus d’informations sur les composants de pipeline de Site Server 3.0, consultez Pipeline Component Reference (en anglais).
  5. Redémarrez le(s) serveur(s) Web.

Voir aussi

Les commandes dont le total dépasse plus de 10 millions d’unités monétaires échouent


Les commandes dont le total dépasse plus de 10 millions d'unités monétaires échouent

Envoyer des commentaires sur cette page Commerce Server 2002

Les commandes dont le total dépasse plus de 10 millions d’unités monétaires échouent

Si un utilisateur crée un panier avec des articles dont le total dépasse 10 millions d’unités monétaires, le panier devient inutilisable. L’utilisateur reçoit le message suivant :

« Un dépassement de capacité s’est produit lors du traitement de ‘_product_list_price’. Consultez la documentation pour plus d’informations sur le moyen d’augmenter la plage. »

Toutes les commandes suivantes pour cet utilisateur échouent.

Solution

Pour activer la prise en charge des commandes dont le total dépasse 10 millions d’unités monétaires, vous devez mettre à niveau dans Pipeline Editor la prise en charge des devises de 32 bits à 64 bits.

Pour définir une devise 64 bits

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Microsoft Commerce Server 2002, puis cliquez sur Pipeline Editor.
  2. Cliquez sur Ouvrir dans la barre d’outils, puis naviguez vers l’emplacement de votre fichier pipeline. Double-cliquez sur le fichier pipeline pour l’ouvrir.
  3. Dans le menu Edition, cliquez sur Propriétés.
  4. Dans la zone Mode devise de la boîte de dialogue Propriétés de Pipeline, sélectionnez Devise (haute précision), puis cliquez sur OK.

    Remarque

    • Pour exécuter un pipeline en mode Haute précision, le pipeline ne doit inclure aucun composant de pipeline de Microsoft Site Server 3.0, Édition Commerce. Pour plus d’informations sur les composants de pipeline de Site Server 3.0, consultez Pipeline Component Reference (en anglais).
  5. Redémarrez le(s) serveur(s) Web.


Activer Approuver l'ordinateur pour la délégation pour les serveurs Web

Envoyer des commentaires sur cette page Commerce Server 2002

Activer Approuver l’ordinateur pour la délégation pour les serveurs Web

Les pages ASP (Active Server Pages) qui s’exécutent sur un serveur Web peuvent définir et réinitialiser des mots de passe utilisateur stockés dans Active Directory uniquement si le serveur Web est approuvé pour la délégation.

Solution

Pour activer cette option, allez dans la page de propriétés pour le compte d’ordinateur de Active Directory et assurez-vous que la case à cocher Approuver l’ordinateur pour la délégation est activée.

Pour activer l’option Approuver l’ordinateur pour la délégation

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Outils d’administration, puis cliquez sur Utilisateurs et ordinateurs Active Directory.
  2. Naviguez vers le compte de l’ordinateur qui a besoin d’être défini, par exemple, Utilisateurs et ordinateurs Active Directory/<nom_domaine>/Ordinateurs/<nom_ordinateur>.
  3. Double-cliquez sur le nom de l’ordinateur dans la liste figurant dans le volet droit. Sous l’onglet Compte, activez la case à cocher Approuver l’ordinateur pour la délégation, puis cliquez sur OK.

Il se peut que vous deviez redémarrer le serveur Web associé pour que ce paramètre soit pris en compte.


OLAP/SQL Server nécessite l'authentification Windows NT

Envoyer des commentaires sur cette page Commerce Server 2002

OLAP/SQL Server nécessite l’authentification Windows NT

Si vous vous connectez à distance à un ordinateur exécutant SQL Server depuis un domaine ou un groupe de travail différent, le Gestionnaire de package de site Commerce Server échoue lorsqu’il tente d’effectuer la connexion OLAP (OnLine Analytical Processing) de la base de données OLE avec Data Warehouse.

Solution

La connexion OLAP (OnLine Analytical Processing) de la base de données OLE avec Data Warehouse nécessite l’authentification Microsoft Windows NT.

Pour établir ceci, vous devez créer un compte identique sur l’ordinateur du groupe de travail SQL Server, par exemple, <nom_ordinateur>\partage, de façon que <nom_ordinateur>\partage puisse se connecter au Data Warehouse.

Remarque

  • Si SQL Server est un domaine approuvé, le compte de domaine doit faire partie du compte d’administrateur OLAP.

Si votre module de Commerce Server Business Desk utilise les données stockées dans les noms courants de Active Directory, la longueur maximale d’une chaîne est de 64 caractères. En outre, les noms d’organisation stockés dans Active Directory comprennent un nom de groupe (soit _Admingroup, qui est constitué de 11 caractères, soit _Usergroup, qui est constitué de 10 caractères).

Voir aussi

Activation de l’authentification Windows

Solution

Si vous stockez un nom d’organisation dans Active Directory, la longueur maximale de la combinaison des noms d’organisation et de groupe est de 64 caractères. Assurez-vous que votre nom respecte cette limite.


Échec de l'initialisation du composant logiciel enfichable

Envoyer des commentaires sur cette page Commerce Server 2002

Échec de l’initialisation du composant logiciel enfichable

Vous pouvez obtenir le message d’erreur « Échec de l’initialisation du composant logiciel enfichable » lorsque vous essayez d’ouvrir le Gestionnaire Commerce Server avec la configuration suivante : Commerce Server 2002 complètement installé sur deux nœuds d’un cluster, le Service de publipostage et Predictor sont définis en tant que ressources mises en clusters et SQL Server ne se trouve pas sur un cluster.

Solution

Réamorcez l’ordinateur que vous essayez d’administrer via les services Terminal Server.


Les publicités ou les remises ne s'affichent pas sur le site Web

Envoyer des commentaires sur cette page Commerce Server 2002

Les publicités ou les remises ne s’affichent pas sur le site Web

Les publicités ou les remises que vous avez créées et que vous pensiez visualiser sur votre site Web ne s’affichent pas.

Solution

Vous pouvez résoudre ce problème de l’une des deux manières suivantes :

  • Pour utiliser le fichier TraceScores.asp
  • Utilisation du fichier DumpContentList.asp

Pour utiliser le fichier TraceScores.asp

  1. Copiez le fichier TraceScores.asp figurant dans Program Files\Microsoft Commerce Server\SDK\Samples\Marketing\Debug vers le répertoire virtuel de votre site.
  2. Modifiez le code qui crée l’objet ContentSelector pour ajouter une ligne et inclure le fichier TraceScores.asp.
  3. Ajoutez une ligne qui définit la valeur True pour la propriété Trace.
  4. Ajoutez une ligne qui appelle la sous-routine TraceScores.

Exemple de code

L’exemple de code suivant dans le fichier TraceScores.asp contient les lignes ajoutées en caractères gras :

<!-- #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)
%>

Exemple de sortie

Lorsque le traçage est activé, toutes les modifications apportées aux scores des éléments de contenu font l’objet d’un suivi. Les modifications des publicités détectées par le fichier TraceScores.asp sont affichées en caractères gras dans l’exemple suivant :

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)

Si la publicité qui selon vous devait s’afficher n’apparaît pas dans la trace, cela signifie qu’elle n’a pas été chargée dans le cache. Dans le module Publier les campagnes marketing de Commerce Server Business Desk, publiez de nouveau la campagne sur le serveur. Si la publicité n’apparaît toujours pas, vérifiez les éléments suivants :

  • Vérifiez les dates de début et de fin de la publicité.
  • Assurez-vous que les options Clients, Campagnes marketing et Éléments de la campagne sont activées.

Remarque

  • Lorsque l’indicateur TraceScores est défini comme Actif, les performances des pipelines de l’infrastructure de sélection de contenu (CSF) se dégradent considérablement.

Utilisation du fichier DumpContentList.asp

Le fichier DumpContentList.asp est un autre outil que vous pouvez utiliser pour résoudre les problèmes liés aux threads et aux fonctionnalités de remise. Cet outil affiche toutes les publicités ou remises qui sont actuellement chargées dans la mémoire ainsi que toutes leurs propriétés. Il montre aussi le schéma de l’objet ContentList. Vous pouvez également utiliser cet outil pour vider le contenu des objets ContentList ou ContentListFactory.

Pour vider le contenu du fichier DumpContentList.asp

  1. Copiez le fichier DumpContentList.asp figurant dans Program Files\Microsoft Commerce Server\SDK\Samples\Marketing\Debug vers le répertoire virtuel de votre site.
  2. Modifiez le code qui crée l’objet ContentSelector pour ajouter une ligne et inclure le fichier DumpContentList.asp.
  3. Ajoutez une ligne qui appelle la sous-routine DumpContentList.

Exemple de code

L’exemple suivant contient les lignes ajoutées en caractères gras :

<!-- #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"))
%>

Voir aussi

Les éléments de la campagne marketing ne s’affichent pas de la manière souhaitée sur le site Web

Tracing and debugging (en anglais)


Données du catalogue incomplètes après l'échec de l'importation

Envoyer des commentaires sur cette page Commerce Server 2002

Données du catalogue incomplètes après l’échec de l’importation

Lorsque vous importez un catalogue et qu’une interruption (panne) survienne alors que le script est en cours d’exécution, toutes les données de votre catalogues ne sont pas importées. Par exemple, une panne peut se produire si le serveur Web ne peut pas se connecter à SQL Server lors de l’importation des données du catalogue.

Solution

Vérifiez les fichiers journaux des événements afin de déterminer la cause de l’interruption (perte de connectivité avec SQL Server, par exemple). Réparez la cause de l’interruption et réexécutez le processus d’importation du catalogue.


Les utilisateurs ne peuvent pas explorer le catalogue du site Web

Les membres du groupe ctlg_CatalogReaderRole doivent avoir des autorisations db_owner sur la base de données MSCS_CatalogScratch. La base de données MSCS_CatalogScratch est une base de données temporaire sans données persistantes. Il ne s’agit pas d’un problème de sécurité. Si les utilisateurs visitant votre site n’ont pas accès à la base de données MSCS_CatalogScratch, ils ne pourront pas explorer votre catalogue de produits.

Solution

Exécutez le script CatalogSecurityRoles.sql et accordez aux utilisateurs l’accès approprié.


Impossible d'actualiser le cache du catalogue

Envoyer des commentaires sur cette page Commerce Server 2002

Impossible d’actualiser le cache du catalogue

Lorsque vous cliquez sur Actualiser dans l’Éditeur de catalogue de Business Desk, vous pouvez obtenir le message d’erreur suivant : « Une erreur s’est produite lors de l’actualisation du cache du catalogue pour :<BR><BR><B>%1</B> ».

Solution

Si votre site a migré depuis Commerce Server 2000, copiez le fichier BDRefresh.asp mis à jour à partir du site Retail mis à jour dans Commerce Server 2002.

De plus, vos caches n’ont peut-être pas été configurés correctement. Vérifiez l’affectation des noms et la configuration des caches puis comparez-les à ceux utilisés dans le site solution Retail.


Impossible d'ouvrir une session sur une application Web en tant qu'administrateur

Envoyer des commentaires sur cette page Commerce Server 2002

Impossible d’ouvrir une session sur une application Web en tant qu’administrateur

Vous pouvez ouvrir une session Commerce Server Business Desk en tant qu’administrateur, mais vous ne pouvez pas ouvrir une session sur une autre application Commerce Server en tant qu’administrateur.

Solution

Ce problème est causé par un conflit entre les noms de domaine de Business Desk et de Windows. Pour éviter cette situation, créez des utilisateurs dans Business Desk, puis attribuez-leur des droits d’accès en les plaçant dans les groupes de domaine appropriés. Les utilisateurs qui ont besoin d’accéder à Business Desk peuvent être ajoutés en tant qu’administrateurs de domaine et peuvent accéder à Business Desk grâce à leurs noms d’utilisateur standard.


La modification du nom de l'ordinateur cause l'arrêt du fonctionnement de Commerce Server

Envoyer des commentaires sur cette page Commerce Server 2002

La modification du nom de l’ordinateur cause l’arrêt du fonctionnement de Commerce Server

Si vous modifiez le nom de votre ordinateur, il se peut que SQL Server ne trouve pas la base de données d’administration automatiquement. Il se peut que le message suivant apparaisse :

« 2735 CA_ADMIN_ValidateDB »

Solution

Modifiez les paramètres des chaînes de connexion dans le Gestionnaire Commerce Server pour qu’ils utilisent le nouveau nom de l’ordinateur. Les paramètres que vous modifiez dépendent de la topologie utilisée pour déployer Commerce Server. Tapez le nouveau nom dans les champs de la base de données d’administration appropriés.

Vous devez également supprimer votre inscription SQL Server actuelle, puis inscrire une nouvelle instance de SQL Server. Vous devez modifier vos nom d’utilisateur et mot de passe SQL Server de la base de données d’administration Vous effectuez ceci en supprimant votre inscription SQL Server actuelle, puis en inscrivant une nouvelle instance de SQL Server. Utilisez la procédure suivante pour inscrire une nouvelle instance de SQL Server.

Pour modifier le nom d’utilisateur et le mot de passe SQL Server de la base de données d’administration

  1. Dans la console Gestionnaire Commerce Server de Microsoft, cliquez avec le bouton droit sur Gestionnaire Commerce Server, puis cliquez sur Propriétés.
  2. Sous l’onglet Base de données d’administration de la boîte de dialogue Propriétés de Gestionnaire Commerce Server, cliquez sur Modifier.

    La boîte de dialogue Propriétés des liaisons de données s’affiche.

  3. Une fois que vous avez apporté les modifications nécessaires à la boîte de dialogue Propriétés des liaisons de données, cliquez sur OK.

Remarque

  • Pour obtenir des instructions sur les informations à indiquer dans la boîte de dialogue Propriétés des liaisons de données, cliquez sur Aide dans la boîte de dialogue Propriétés des liaisons de données pour ouvrir le fichier d’aide Liaisons de données Microsoft.


La modification des séparateurs de la date système provoque une erreur

Si vous modifiez les séparateurs de la date système avec un caractère autre qu’une barre transversale (/), un point (.) ou un tiret (-) et si vous essayez ensuite d’ouvrir Commerce Server Business Desk, l’erreur suivante s’affiche :

« Des erreurs se sont produites lors du chargement d’une partie de Business Desk ».

Cette erreur se produit uniquement lors du redémarrage des services IIS (Internet Information Services) 5.0.

Solution

Fermez Business Desk et revenez à une barre transversale (/) comme séparateur de la date système.

Pour modifier le séparateur de la date système

  1. Cliquez sur Démarrer, pointez sur Paramètres, puis cliquez sur Panneau de configuration.
  2. Double-cliquez sur Options régionales, puis cliquez sur l’onglet Date.
  3. Dans la boîte de dialogue Séparateur de date, sélectionnez /, puis cliquez sur OK.

    Attention

    • Le redémarrage des services IIS (Internet Information Services) suspend le fonctionnement de votre site Web de façon temporaire. Assurez-vous donc de la nécessité de redémarrer les services IIS avant de continuer. Pour plus d’informations, consultez Redémarrage des services IIS et Commerce Server.
  4. Redémarrez les services IIS.
  5. Ouvrez de nouveau Business Desk.

Pour redémarrer les services IIS

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Outils d’administration, puis cliquez sur Gestionnaire des services Internet.
  2. Cliquez sur le signe plus (+) pour développer le groupe des noms de votre serveur.
  3. Cliquez avec le bouton droit sur Site Web par défaut, puis cliquez sur Arrêter.
  4. Cliquez avec le bouton droit sur Site Web par défaut, puis cliquez sur Démarrer.

Les services IIS sont alors redémarrés et vous pouvez ouvrir de nouveau Business Desk.


La fonction de recherche dans l'aide ne renvoie aucun résultat

Envoyer des commentaires sur cette page Commerce Server 2002

La fonction de recherche dans l’aide ne renvoie aucun résultat

La recherche de mots ou de rubriques dans l’aide de Commerce Server Business Desk ne renvoie aucun résultat. Le message d’erreur suivant s’affiche :

« Aucun document ne correspond à la requête <texte_de_votre_recherche>. »

Solution

Démarrez le Service d’indexation sur le serveur Web. Ce Service d’indexation doit toujours être défini sur Démarrage automatique, car il peut y avoir un décalage important entre le démarrage du service d’indexation et le moment où le dossier contenant l’aide de Business Desk est disponible.

Pour plus d’informations, consultez « Service d’indexation » de Windows 2000 Server.


Quelques DLL ne prennent pas en charge l'auto-enregistrement

Envoyer des commentaires sur cette page Commerce Server 2002

Quelques DLL ne prennent pas en charge l’auto-enregistrement

Plusieurs fichiers DLL (Dynamic-Link Library) échouent si vous tentez de les enregistrer automatiquement à l’aide de Regsvr32.exe. Ces fichiers DLL sont les suivants :

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


Création d'une nouvelle base de données d'administration

Envoyer des commentaires sur cette page Commerce Server 2002

Création d’une nouvelle base de données d’administration

Vous devez revenir à une base de données d’administration antérieure ou en créer une autre, mais vous ne pouvez pas réinstaller Commerce Server. L’exécution du programme d’installation de Commerce Server en mode Réparation ne parvient pas non plus à cela.

Solution

Créez une base de données nommée MSCS_Admin, puis exécutez sur cette dernière le fichier Admin_schema.sql à l’aide de l’Analyseur de requêtes SQL. Une nouvelle base de données d’administration est créée. L’exécution du script remplit le schéma de la base de données d’administration mais aucune ressource n’est créée.

Pour créer une base de données d’administration

  1. Supprimez ou renommez votre base de données d’administration existante, le cas échéant.
  2. Cliquez sur Démarrer, pointez sur Programmes, sur Microsoft SQL Server, puis cliquez sur Enterprise Manager.
  3. Dans Enterprise Manager, développez Serveurs Microsoft SQL, Groupe SQL Server, puis développez le nom du serveur sur lequel vous souhaitez créer la base de données d’administration.
  4. Cliquez avec le bouton droit sur Bases de données, puis cliquez sur Nouvelle base de données.
  5. Sous l’onglet Général de la boîte de dialogue Propriétés de la base de données, dans la zone Nom, tapez MSCS_Admin.
  6. Cliquez sur OK.

La nouvelle base de données est créée. L’étape suivante consiste à exécuter le fichier Admin_schema.sql.

Pour exécuter le fichier Admin_schema.sql

  1. Dans Enterprise Manager, cliquez sur la base de données MSCS_Admin.
  2. Dans le menu Outils, cliquez sur Analyseur de requêtes SQL.
  3. Dans le menu Fichier, cliquez sur Ouvrir.
  4. Accédez à Program Files\Microsoft Commerce Server, sélectionnez le fichier Admin_schema, puis cliquez sur Ouvrir.
  5. Dans le menu Requête, cliquez sur Exécuter.

Vous devez décompresser de nouveau vos sites et réinstaller le Service de publipostage à l’aide du programme d’installation de Commerce Server.

Remarque

  • Immédiatement après avoir installé votre site, et chaque fois que vous modifiez la configuration du déploiement de votre Commerce Server, il est conseillé de sauvegarder votre base de données d’administration sous un nom différent. Vous pouvez utiliser cette copie pour annuler toute modification ultérieure.


Business Desk: la modification du mot de passe d'administration déconnecte le client Business Desk

Envoyer des commentaires sur cette page Commerce Server 2002

Business Desk : la modification du mot de passe d’administration déconnecte le client Business Desk

Si vous modifiez le mot de passe d’administration du serveur sur lequel Commerce Server Business Desk est installé, des erreurs s’affichent lorsque les ordinateurs client Business Desk essaient d’accéder à Business Desk. Les messages d’erreur suivants peuvent s’afficher :

  • « Des erreurs se sont produites lors du chargement d’une partie de Business Desk ».
  • « Des erreurs se sont produites lors du chargement de l’application Business Desk. »

Solution

Lorsque vous modifiez le mot de passe d’administration Commerce Server sur le serveur, vous devez également le modifier dans Services de composants et enregistrer le fichier Global.asa.

Pour modifier le mot de passe dans Services de composants

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Outils d’administration, puis cliquez sur Services de composants.
  2. Développez les nœuds jusqu’au chemin suivant : Services de composants/Ordinateurs/Poste de travail/Applications COM+/Commerce Event Logging.
  3. Cliquez avec le bouton droit sur Commerce Event Logging, puis cliquez sur Propriétés.
  4. Sous l’onglet Identité de la boîte de dialogue Propriétés de Commerce Event Logging, dans la zone Mot de passe, tapez le nouveau mot de passe.
  5. Dans la zone Confirmer le mot de passe, tapez la nouvelle valeur, puis cliquez sur OK.

Le mot de passe est mis à jour et Business Desk doit maintenant pouvoir s’ouvrir correctement.

Pour enregistrer le fichier Global.asa

  1. Accédez au répertoire virtuel Business Desk. Par exemple, C:\Inetpub\wwwroot\retailbusinessdesk.
  2. Ouvrez le fichier Global.asa dans le Bloc-notes.
  3. Pour enregistrer vos modifications, dans le menu Fichier, cliquez sur Enregistrer, puis sur Quitter.

Les modifications apportées au fichier Global.asa sont enregistrées. Tous les utilisateurs doivent maintenant fermer et rouvrir Business Desk pour prendre en compte les modifications du mot de passe.

Remarque

  • Vous devez également modifier le mot de passe pour les services de Commerce Server, tels que le Gestionnaire de listes, le Service de publipostage et la ressource Predictor.
  • Vous devez également modifier le mot de passe pour les services de Commerce Server, tels que le Gestionnaire de listes et le Service de publipostage.

Voir aussi

Modification d’un compte de service ou d’un mot de passe


Business Desk: une erreur d'authentification se produit lors de l'ajout d'un nouvel utilisateur à Active Directory

Envoyer des commentaires sur cette page Commerce Server 2002

Business Desk : une erreur d’authentification se produit lors de l’ajout d’un nouvel utilisateur à Active Directory

Lorsque vous stockez des données utilisateur dans Active Directory, vous pouvez obtenir le message d’erreur ci-dessous si vous essayez d’ajouter un utilisateur à partir d’un client Business Desk distant :

« Erreur : informations d’identification non valides pour l’utilisateur. »

Cette erreur se produit lorsque le client Business Desk distant utilise l’adresse IP pour l’application Business Desk ; par exemple, http://172.30.250.91/supplieradbizdesk.

Solution

Sur l’ordinateur client, réinstallez le client Business Desk en utilisant non pas l’adresse IP mais le nom d’ordinateur ; par exemple, http://csserver1/supplieradbizdesk.


Business Desk: configuration mise à jour non répercutée

Envoyer des commentaires sur cette page Commerce Server 2002

Business Desk : configuration mise à jour non répercutée

Si vous avez modifié la configuration de Commerce Server Business Desk, puis arrêté et redémarré votre site Web, Business Desk ne reflète pas ces modifications. L’application n’est pas rechargée et utilise encore les vieux fichiers .xml.

Solution

Après avoir modifié la configuration de Business Desk, vous devez redémarrer Business Desk sur le serveur Web pour que ces modifications s’affichent. Pour faire cela, vous pouvez ouvrir puis enregistrer le fichier Global.asa, ce qui change l’heure de « dernière modification » et fait afficher les mises à jour de la configuration dans Business Desk.

Pour ouvrir et enregistrer le fichier Global.asa

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Accessoires, puis cliquez sur Bloc-notes.
  2. Dans le menu Fichier, cliquez sur Ouvrir. Accédez à votre fichier Global.asa, puis cliquez deux fois sur le fichier pour l’ouvrir. Dans le menu Fichier, cliquez sur Enregistrer pour enregistrer le fichier Global.asa sans le modifier.
  3. Pour quitter le Bloc-notes, dans le menu Fichier, cliquez sur Quitter.

Les modifications apportées à la configuration de Business Desk sont maintenant enregistrées. Tous les utilisateurs des ordinateurs client Business Desk doivent maintenant fermer et rouvrir Business Desk pour voir les modifications.


Business Desk: les données ne s'affichent pas dans le Gestionnaire de listes ou les modules Utilisateurs

Envoyer des commentaires sur cette page Commerce Server 2002

Business Desk : les données ne s’affichent pas dans le Gestionnaire de listes ou les modules Utilisateurs

L’exécution des opérations de mise à jour ou de recherche sur de grands ensembles de données utilisateur via les modules Utilisateurs et Organisations peut entraîner une expiration du processus.

Si vous utilisez le module Gestionnaire de listes sur un grand ensemble de données pour construire une liste d’utilisateurs, la même erreur d’expiration peut se produire.

L’expiration de l’opération dépend d’un certain nombre de facteurs, et vous empêche par conséquent de visualiser les données. L’un de ces facteurs peut être la grande quantité d’entités à récupérer.

D’autres facteurs contribuant à cette expiration peuvent inclure :

  • Configuration serveur (utilisez-vous uniquement Active Directory ?) SQL uniquement ? Active Directory et SQL ?
  • Bande passante réseau
  • Configuration du système (ordinateurs rapides par opposition à lents)

Solution

Vous devrez peut-être exécuter des opérations de mise en jour en bloc en utilisant un script personnalisé sur le fournisseur des sources OLE DB pour Commerce Server. Les scripts personnalisés ne font pas l’objet de limitations de la propriété Session.Timeout sur l’objet Session ASP intrinsèque. Vous pouvez définir la propriété Session.Timeout sur : <% Session.Timeout = 10 %>. Cela définit le délai d’expiration de la session sur 10 minutes. La propriété Session.Timeout possède une valeur maximale de 24 heures.

Pour plus d’informations sur la création de scripts personnalisés pour des opérations en bloc, consultez Code to Perform Bulk Operations using ADO and SQL (en anglais).

Voir aussi

WaitOnOperation (en anglais)


Business Desk: «Bibliothèque non inscrite» ou d'autres problèmes avec regexp

Envoyer des commentaires sur cette page Commerce Server 2002

Business Desk : « Bibliothèque non inscrite » ou d’autres problèmes avec regexp

Lors de l’utilisation de Commerce Server Business Desk, si vous recevez le message « Bibliothèque non inscrite » ou tout autre message indiquant qu’il existe un problème avec l’objet COM regexp (Regular Expression), vous devez peut-être procéder à l’annulation de l’inscription et procéder à une nouvelle inscription du fichier VBscript.dll, qui se trouve dans le dossier Windows System32 du serveur.

Ce message d’erreur peut s’afficher sur n’importe quelle page disposant de commandes d’édition de texte (EditField).

Solution

Annulez l’inscription, puis procédez à une nouvelle inscription du fichier VBScript.dll. La procédure suivante suppose que Windows est installé dans C:\winnt.

Pour annuler l’inscription du fichier VBScript.dll

  • À l’invite de commande, tapez :

    regsvr32.exe c:/winnt/system32/VBScript.dll /u

Pour procéder à une nouvelle inscription du fichier VBScript.dll

  • À l’invite de commande, tapez :

    regsvr32.exe c:/winnt/system32/VBScript.dll


Business Desk: les utilisateurs avec des droits Administrateur ne peuvent accéder aux données de Business Desk

Envoyer des commentaires sur cette page Commerce Server 2002

Business Desk : les utilisateurs avec des droits Administrateur ne peuvent accéder aux données de Business Desk

Si vous supprimez le compte de service groupe d’utilisateurs Tout le monde dans Windows ou si vous n’accordez pas d’autorisation à ce groupe, les utilisateurs disposant de droits d’accès administrateur sont interdits d’accès à Commerce Server Business Desk.

Solution

Ne supprimez pas le groupe d’utilisateurs Tout le monde et ne modifiez pas les droits accordés par défaut. Pour obtenir des instructions sur la modification d’un compte de service ou d’un mot de passe, consultez Modification d’un compte de service ou d’un mot de passe.


Business Desk: des erreurs d'exécution se produisent lorsque vous accédez à Business Desk

Envoyer des commentaires sur cette page Commerce Server 2002

Business Desk : des erreurs d’exécution se produisent lorsque vous accédez à Business Desk

Lorsque vous accédez à Commerce Server Business Desk, l’une des erreurs suivantes s’affiche :

  • « Une erreur d’exécution est survenue. »
  • « Souhaitez-vous effectuer un débogage ? »

Solution

Assurez-vous que le dossier racine de Business Desk est configuré de manière à autoriser le partage Web. Commerce Server accepte, par défaut, le partage Web sur ces dossiers. Utilisez la procédure suivante pour permettre le partage Web sur un dossier Business Desk.

Pour permettre le partage Web sur un dossier Business Desk

  1. Dans l’Explorateur Windows, placez-vous dans le dossier qui contient votre application Business Desk. Ce dossier se trouve par défaut dans le dossier C:\Inetpub\wwwroot.
  2. Cliquez avec le bouton droit sur le nom du dossier (par défaut, le site solution vide inclus avec Commerce Server nomme ce dossier blankbizdesk), puis cliquez sur Propriétés.
  3. Sélectionnez l’onglet Partage Web de la boîte de dialogue Propriétés.
  4. Sous l’onglet Partage Web, cliquez sur Partager ce dossier.
  5. Dans la zone Alias, sélectionnez blankbizdesk, puis cliquez sur Modifier les propriétés.
  6. Dans la zone Autorisations d’accès de la boîte de dialogue Modifier l’alias, sélectionnez les autorisations pour cet alias d’après les considérations suivantes :

    Lecture. Permet aux utilisateurs de lire les fichiers sur ce site. Assurez-vous que cette option est activée.

    Écriture. Permet aux utilisateurs d’écrire dans les fichiers sur ce site.

    Accès à la source du script. Permet aux utilisateurs d’accéder au code source du script.

    Exploration de répertoire. Permet aux utilisateurs de naviguer dans le contenu du dossier.

  7. Dans la zone Autorisations de l’application, sélectionnez les autorisations d’accès aux applications d’après les considérations suivantes :

    Aucun. Empêche les utilisateurs d’exécuter des fichiers d’application dans ce dossier.

    Scripts. Permet aux utilisateurs d’exécuter des scripts, mais pas des applications, dans ce dossier.

    Exécuter (scripts inclus). Permet aux utilisateurs d’exécuter des scripts et des applications dans ce dossier.

  8. Cliquez sur OK. Dans la boîte de dialogue Propriétés, passez en revue votre liste d’alias de partage, puis cliquez de nouveau sur OK.


Business Desk: Internet Explorer ne peut ouvrir le site Internet

Envoyer des commentaires sur cette page Commerce Server 2002

Business Desk : Internet Explorer ne peut ouvrir le site Internet

Exécutez Business Desk en mode débogage et essayez de reproduire le problème. Le seul composant HTML (HTC, HTML component) sur la page est ListSheet. Basculez l’indicateur de débogage dans ListSheet. Vous obtiendrez peut-être ainsi un message d’erreur plus détaillé pour faciliter le dépannage.

Solution

Ouvrez une session sur Business Desk à l’aide d’un compte utilisateur créé dans Business Desk. Assurez-vous que ce compte dispose des droits d’accès appropriés. Si nécessaire, ajoutez des utilisateurs Business Desk au groupe Administrateur.


Rapports: Erreur du rapport Itinéraire d'achat de l'acheteur

Envoyer des commentaires sur cette page Commerce Server 2002

Rapports : Erreur du rapport Itinéraire d’achat de l’acheteur

Si vous exécutez le rapport Itinéraire d’achat de l’acheteur et un message d’erreur s’affiche, cela signifie peut-être que les tickets MSCSProfile sont désactivés. Par conséquent, les données des utilisateurs inscrits ne sont pas importées dans Data Warehouse et ne sont pas ajoutées au cube BuyerVisits. Les données des utilisateurs inscrits ne sont pas disponibles pour le rapport Itinéraire d’achat de l’acheteur.

Solution

Vous pouvez résoudre ce problème de l’une des trois manières suivantes :

  1. Activez les tickets MSCSProfile, importez les données utilisateur dans le Data Warehouse, puis exécutez la tâche DTS (Data Transformation Services) de préparation du rapport. Réexécutez le rapport Itinéraire d’achat de l’acheteur.
  2. Ajoutez des rapports statiques personnalisés qui établissent un rapport sur l’activité des acheteurs par utilisateur inscrit pour les utilisateurs inscrits anonymes. Les utilisateurs inscrits anonymes ont une valeur nulle pour le Nom_ouverture_session dans la table dbo.RegisteredUser. Exécutez ce rapport plutôt que le rapport Itinéraire d’achat de l’acheteur.
  3. Supprimez la dimension partagée RegisteredUser des cubes Basket et Web Usage. Vous pouvez rajouter la dimension partagée RegisteredUser une fois que les tickets MSCSProfile sont à nouveau activés. Réexécutez le rapport Itinéraire d’achat de l’acheteur. Ce rapport n’affiche pas les données des utilisateurs inscrits.


Rapports: impossible d'afficher les rapports SQL dynamiques

Envoyer des commentaires sur cette page Commerce Server 2002

Rapports : impossible d’afficher les rapports SQL dynamiques

Après avoir importé les données et les fichiers journaux dans le Data Warehouse et avoir exécuté la tâche de transformation des données (DTS, Data Transformation Services) de préparation de rapport, vous exécutez un rapport SQL Server dynamique ; le tableau croisé dynamique renvoie alors le message d’erreur suivant :

« Impossible à la liste du tableau croisé dynamique « Tableau croisé dynamique » de se connecter à la source de données. » Pour des informations sur la source de données, consultez le créateur du fichier. (0x80040e4d).

Si vous essayez d’afficher un rapport dynamique qui est en train d’accéder à une base de données SQL Server à laquelle vous n’avez pas accordé d’autorisations de lecture ou d’écriture, il vous est alors impossible d’afficher ce rapport. Ce problème n’affecte pas les rapports OLAP (OnLine Analytical Processing) dynamiques.

Les rapports suivants sont affectés :

  • Portée et fréquence d’accès à la publicité par campagne
  • Portée et fréquence d’accès à la publicité par élément de la campagne
  • Portée et fréquence d’accès à la publicité par jour
  • Synthèse de l’élément de la campagne
  • Utilisateurs et visites distincts par semaine
  • Utilisateurs distincts par jour
  • Utilisateurs inscrits par date d’inscription
  • Jours avant inscription de l’utilisateur
  • Taux d’inscription des utilisateurs
  • Visites par navigateur, version et système d’exploitation

Solution

Vous devez disposer des droits de lecture et d’écriture sur la base de données à laquelle les rapports accèdent. Il est conseillé de définir un groupe d’utilisateurs dans Microsoft Windows 2000 avec des droits de lecture/écriture sur la base de données. Vous pouvez alors ajouter des utilisateurs qui ont besoin de ces droits.

Pour définir un groupe d’utilisateurs avec des droits de lecture/écriture

  1. Créez un nouveau groupe d’utilisateurs dans Windows 2000. Ajoutez les utilisateurs que vous voulez inclure dans ce groupe.
  2. Cliquez sur Démarrer, pointez sur Programmes, sur Microsoft SQL Server, puis cliquez sur Enterprise Manager.
  3. Développez le nœud de la racine de la console jusqu’au chemin suivant : Microsoft SQL Servers/<nom de l’ordinateur>/Security/Logins.
  4. Cliquez avec le bouton droit sur Connexions et sélectionnez Nouvelle connexion.
  5. Dans la boîte de dialogue Propriétés de la connexion SQL Server – Nouvelle connexion, sous l’onglet Général, dans la zone Nom, tapez le nom de connexion du nouveau groupe.

    Ou pour naviguer jusqu’au nom du nouveau groupe, cliquez sur bouton de sélection.

  6. Sélectionnez Authentification SQL Server et entrez un mot de passe pour ce groupe.
  7. Cliquez sur Ajouter, puis sur OK.
  8. Sous l’onglet Accès aux bases de données, activez l’option Autoriser pour la base de données sur laquelle vous accordez des droits, par exemple Retail_dw.

    Le nom de connexion du nouveau groupe s’affiche dans la colonne Utilisateur.

  9. Dans la zone Rôles base de données, sélectionnez les options Autoriser pour db_datareader et db_datawriter, puis cliquez sur OK.

Vous pouvez maintenant vous ajouter à ce groupe ainsi que tout autre utilisateur pour accéder aux rapports SQL Server dynamiques.


Rapports: les valeurs de date du rapport statique ne correspondent pas aux paramètres définis dans Options régionales

Envoyer des commentaires sur cette page Commerce Server 2002

Rapports : les valeurs de date du rapport statique ne correspondent pas aux paramètres définis dans Options régionales

La date d’en-tête d’un rapport statique et les valeurs de date des données elles-mêmes ne suivent pas le format de date et du séparateur de date spécifié dans les paramètres définis dans Options régionales.

En revanche, les rapports dynamiques sont conformes au format indiqué dans les paramètres définis dans Options régionales.

Solution

Ce fait s’explique par la conception même du produit. Il n’existe pas de propriétés de paramètres régionaux pour Microsoft Office Web Components. Microsoft Office Web Components utilisent toujours les propriétés lues à partir de l’ordinateur client. Cette approche est différente de celle du reste de Business Desk où les propriétés des paramètres régionaux peuvent être définies et sont propagées vers les autres pages de Business Desk, notamment les rapports statiques.


Dépannage du Gestionnaire de package de site

Cette section décrit les problèmes que vous pouvez rencontrer lors de l’utilisation du Gestionnaire de package de site de Commerce Server, et propose des solutions possibles.

Cette section contient les rubriques suivantes :

  • Messages d’erreur du Gestionnaire de package de site
  • « Erreur d’exécution –2147319779 (8002801d) erreur Automation, Bibliothèque non inscrite »
  • Impossible d’actualiser le cache du catalogue
  • Le message d’erreur « Échec de la connexion pour l’utilisateur » s’affiche lors de la décompression de Data Warehouse
  • Impossible de décompresser un site sur un serveur Web
  • Le message d’erreur « Le chemin d’accès n’est pas valide » s’affiche lors de la décompression d’un site
  • Le message d’erreur « Erreur survenue lors de l’appel de l’API d’importation… » s’affiche lors de la décompression d’un site
  • Le message d’erreur « Profil manquant » s’affiche lors de la décompression d’un site
  • Les bases de données ne s’affichent pas après avoir décompressé un site
  • Restrictions sur le nom des applications IIS créées par pup.exe.
  • Le nom de site ne peut pas inclure des caractères DBCS.


Messages d'erreur du Gestionnaire de package de site

Envoyer des commentaires sur cette page Commerce Server 2002

Messages d’erreur du Gestionnaire de package de site

Cette section fournit des informations sur plusieurs des messages d’erreur susceptibles d’apparaître dans le fichier journal des événements du Gestionnaire de package de site Commerce Server (Pup.log) lorsque vous utilisez le Gestionnaire de package de site.

Erreur lors de la recherche de répertoire pour <Application> <Numéro_erreur>:<Description_erreur>

Le Gestionnaire de package de site a rencontré une erreur en recherchant les entrées de la métabase des services IIS (Internet Information Services) 5.0 pour une application ou pour le chemin d’accès physique. Cette erreur se produit lorsque la métabase pointe vers un répertoire inexistant, ou si l’entrée de la métabase de l’application a été supprimée. Cette erreur n’a lieu que durant la compression.

Erreur lors de la recherche d’objet IIS pour <Nom_application>:<Description_erreur>

Le Gestionnaire de package de site a rencontré une erreur lors de l’accès aux paramètres des services IIS (Internet Information Services) pour <Nom_application>. Soit la métabase est endommagée, soit l’application pointe vers un répertoire virtuel inexistant.

Vérifiez que les applications dans le package pointent vers un répertoire virtuel qui existe véritablement.

Erreur lors de l’importation de l’URL pour <Nom_application> <Numéro_erreur>:<Description_erreur>

Le Gestionnaire de package de site a rencontré une erreur lors de la création d’un répertoire virtuel pour l’application, ou lors de la copie des fichiers d’application vers un dossier.

Assurez-vous de disposer des privilèges d’administration pour modifier les paramètres des services IIS (Internet Information Services).

Erreur lors de l’exportation des données d’objet de <Nom_ressource> vers le fichier <Nom_fichier> <Numéro_erreur>:<Description_erreur>

Le Gestionnaire de package de site a rencontré une erreur lors de l’exportation des données d’une ressource ou d’une application. Soit les données sont inexistantes, soit une erreur d’automatisation s’est produite. Ce message d’erreur n’a lieu que durant la compression.

Erreur lors de l’importation des données d’objet pour <Nom_ressource> à partir du fichier <Nom_fichier> <Numéro_erreur>:<Description_erreur>

Le Gestionnaire de package de site a rencontré une erreur lors de l’importation des données d’une ressource ou d’une application. Soit les données sont endommagées, soit une erreur d’automatisation s’est produite. Ce message d’erreur n’a lieu que durant la décompression.

Erreur lors de la création de la ressource de référence <Ressource_référence> pour <Ressource_globale> <Numéro_erreur>:<Description_erreur>

Le Gestionnaire de package de site a rencontré une erreur lors de la création d’un pointeur de ressource globale pour la ressource globale nommée.

Après avoir identifié et résolu le problème, exécutez le Gestionnaire de package de site en utilisant le mode Personnalisé pour ajouter la ressource à une application existante.

Voir aussi

À propos du Gestionnaire de package de site


«Erreur d'exécution -2147319779 (8002801d) erreur Automation, Bibliothèque noninscrite»

Envoyer des commentaires sur cette page Commerce Server 2002

« Erreur d’exécution –2147319779 (8002801d) erreur Automation, Bibliothèque non inscrite »

Lorsque vous décompressez le site solution Retail, vous obtenez l’erreur suivante :

« Erreur d’exécution –2147319779 (8002801d)
Erreur Automation
Bibliothèque non inscrite »

Solution

Ce problème est étranger à Commerce Server. Vous devez reconstruire votre ordinateur car certaines DLL principales ne sont pas inscrites.

L’erreur est générée par VBScript.RegExp dans VBScript.dll. VBScript.dll dépend uniquement des DLL système et de Msvcrt.dll.


Impossible d'actualiser le cache du catalogue

Envoyer des commentaires sur cette page Commerce Server 2002

Impossible d’actualiser le cache du catalogue

Lorsque vous cliquez sur Actualiser dans l’Éditeur de catalogue de Business Desk, vous pouvez obtenir le message d’erreur suivant :

« Une erreur s’est produite lors de l’actualisation du cache du catalogue pour :<BR><BR><B>%1</B> ».

Solution

Si votre site a migré depuis Commerce Server 2000, copiez le fichier BDRefresh.asp mis à jour à partir du site Retail mis à jour dans Commerce Server 2002.

En outre, les caches n’étaient peut-être pas configurés correctement. Comparez l’affectation de noms et la configuration des caches Business Desk à ceux utilisés dans le site solution Retail.


Le message d'erreur «Échec de la connexion de l'utilisateur» s'affiche lors de la décompression de Data Warehouse

Envoyer des commentaires sur cette page Commerce Server 2002

Le message d’erreur « Échec de la connexion de l’utilisateur » s’affiche lors de la décompression de Data Warehouse

Lors de la décompression de Data Warehouse en mode Personnalisé à l’aide du Gestionnaire de package de site Commerce Server, le message d’erreur suivant s’affiche : « Échec de la connexion de l’utilisateur <nom_utilisateur>. » Lorsque vous cliquez sur OK, la boîte de dialogue Propriétés de Data Warehouse s’affiche.

Solution

Pour continuer la décompression

  • Dans la zone Mot de passe de la boîte de dialogue Propriétés de Data Warehouse, supprimez les astérisques (**), tapez votre mot de passe, puis cliquez sur OK.

    Si vous ne voulez pas définir un mot de passe, n’activez pas cette case à cocher.

Le Gestionnaire de package de site Commerce Server achève la décompression du site.


Impossible de décompresser un site sur un serveur Web

Vous installez Commerce Server sur l’ordinateur A et Data Warehouse sur l’ordinateur B, mais vous ne pouvez pas décompresser votre site sur l’ordinateur A.

Solution

Ce problème se manifeste lorsque le serveur de base de données ne partage pas de contexte de sécurité avec le serveur Web. Pour résoudre le problème, exécutez la commande suivante sur le serveur de base de données :

net use \\<Web_server_name> /u:<local_computer_name>\administrator *

Entrez le mot de passe SQL Server lorsque cela vous est demandé.

Il est conseillé également de vérifier combien de connexions SQL sont autorisées sur l’ordinateur. Lorsque vous installez Microsoft SQL Server, le nombre de connexions SQL Server est défini par défaut à zéro (0), ce qui correspond à un nombre illimité de connexions. Si vous décidez de changer le nombre de connexions, allouez quatre connexions pour chaque ordinateur dans le cadre de l’installation de Commerce Server.

Remarque

  • Il est recommandé de disposer de 20 connexions au moins pour décompresser un site.

Pour déterminer le nombre de connexions SQL Server en cours d’utilisation

Pour définir les connexions SQL

Pour déterminer le nombre de connexions SQL Server en cours d’utilisation

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Microsoft SQL Server, puis cliquez sur Analyseur de requêtes.
  2. Tapez la requête suivante dans la fenêtre ouverte :
    select * from master..sysprocesses where hostname <>‘‘

    où ‘‘ correspond à deux guillemets simples.

  3. Cliquez sur le bouton Exécuter la requête de la barre d’outils.

L’Analyseur de requêtes affiche le nombre de connexions SQL Server en cours d’utilisation. Le nombre de lignes équivaut au nombre de connexions SQL Server.

Pour définir les connexions SQL Server

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Microsoft SQL Server, puis cliquez sur Enterprise Manager.
  2. Cliquez avec le bouton droit sur le serveur SQL Server auquel vous ajoutez des connexions, cliquez sur Propriétés, puis cliquez sur l’onglet Connexions.
  3. Sous l’onglet Connexions, dans la zone Nombre maximal de connexions utilisateur simultanées (0 = illimité), tapez le nombre de connexions nécessaires, puis cliquez sur OK.


Le message d'erreur «Le chemin d'accès n'est pas valide» s'affiche lors de la décompression d'un site

Envoyer des commentaires sur cette page Commerce Server 2002

Le message d’erreur « Le chemin d’accès n’est pas valide » s’affiche lors de la décompression d’un site

Lorsque vous essayez de décompresser un site, vous obtenez l’erreur suivante :

« Le chemin d’accès spécifié n’existe pas. Vérifiez que le chemin est correct, puis essayez à nouveau. »

Cette erreur peut se produire si vous essayez de décompresser un site dans un dossier qui contient des caractères spéciaux. Par exemple, le Gestionnaire de package de site Commerce Server ne peut pas décompresser dans un dossier nommé « Mon commerce $$% » .

Bien que vous puissiez installer Commerce Server dans un dossier contenant des caractères spéciaux, vous ne pouvez pas décompresser un site dans un tel dossier.

Solution

Copiez le package vers un répertoire différent, puis décompressez-le.


«Le message Erreur survenue lors de l'appel de l'API d'importation…» s'affiche lors de la décompression d'un site

Envoyer des commentaires sur cette page Commerce Server 2002

« Le message Erreur survenue lors de l’appel de l’API d’importation… » s’affiche lors de la décompression d’un site

Lorsque vous décompressez un site, vous obtenez l’erreur suivante :

« Erreur survenue lors de l’appel de l’API d’importation sur Commerce.CatalogPUP pour le catalogue de produits 80040E14:Source:fournisseur OLE DB Microsoft pour SQL ServerDescription:la recherche de texte intégral n’est pas disponible. L’administrateur système doit démarrer ce service. »

Cette erreur se produit si le service Microsoft Search n’est pas en cours d’exécution lorsque le Gestionnaire de package de site Commerce Server exécute le script pour créer des catalogues.

Solution

Démarrez le service Microsoft Search. Supprimez le site avant de le décompresser de nouveau, ou supprimez et décompressez uniquement la ressource Catalogue.

Pour démarrer le service Microsoft Search

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Outils d’administration, puis cliquez sur Services.
  2. Dans la boîte de dialogue Services, sélectionnez Microsoft Search.
  3. Cliquez avec le bouton droit sur Microsoft Search, puis sur Démarrer.


Le message d'erreur «Profil manquant» s'affiche lors de la décompression d'un site

Envoyer des commentaires sur cette page Commerce Server 2002

Le message d’erreur « Profil manquant » s’affiche lors de la décompression d’un site

Ce message d’erreur s’applique au site solution Supplier. Cela se produit lorsque le service Profils ne trouve pas d’utilisateur dans le service d’annuaire Microsoft Active Directory.

« Le nom d’utilisateur peut ne pas être inclus dans des conteneurs Active Directory : OU=MSCS_40_Root et OU=nom_site. »

Solution

La solution recommandée dépend du moment où le message d’erreur s’affiche.

Ouvrez une session sur le site Supplier en utilisant un nom créé à l’aide des composants d’exécution de Microsoft Commerce Server 2002.

Si vous obtenez cette erreur juste après avoir décompressé le site

Dans ce cas, l’erreur se produit car le site utilise la méthode Authentification intégrée de Windows par défaut et l’utilisateur tente d’utiliser un nom d’accès qui n’a pas été créé en utilisant Commerce Server Business Desk ou le service Profils.

Utilisez Business Desk pour créer un compte d’utilisateur, puis ouvrez une session sur le serveur sous ce nouveau nom. Vous devez maintenant être en mesure d’accéder au site Supplier.

Une autre solution possible consiste à activer l’option Authentification de base (dans les services IIS 5.0 avec le site Supplier. Ouvrez une session sur le site. Assurez-vous d’utiliser l’un des formats suivants lorsque vous tapez le nom d’utilisateur :

  • <nom_domaine>\<nom_utilisateur>
  • <nom_utilisateur>@<nom_domaine_complet_qualifié>

Si vous obtenez cette erreur (ou une erreur similaire) tout en utilisant AuthFilter en mode Authentification Windows

Déterminez si la méthode GetProfileByKey sur la page de connexion fonctionne correctement. Si cette méthode produit un message d’erreur concernant un mode d’authentification non autorisé, un utilisateur anonyme n’a donc pas l’autorisation d’accéder au profil utilisateur ou de le lire. Pour plus d’informations, consultez GetProfileByKey (en anglais).

Dans ce cas, assurez-vous que l’utilisateur a un compte d’utilisateur Windows disposant de droits d’accès et de lecture sur les propriétés de profil utilisateur dans Active Directory.

Une autre solution consiste à s’assurer que vous pouvez accéder au site sans le filtre ISAPI AuthFilter.

Pour accéder au site sans AuthFilter

  1. Utilisez le Gestionnaire des services Internet pour supprimer le filtre.
  2. Définissez le mode de sécurité sur Authentification de base uniquement sur le site Supplier, puis réinitialisez les services IIS.
  3. Essayez d’accéder au site avec les informations d’identification correctes.

Si cela échoue, assurez-vous d’avoir créé le compte d’utilisateur avec Business Desk et que le compte est bien activé.


Les bases de données ne s'affichent pas après avoir décompressé un site

Envoyer des commentaires sur cette page Commerce Server 2002

Les bases de données ne s’affichent pas après avoir décompressé un site

Vous décompressez un site sur l’ordinateur A et vous créez des bases de données pour les ressources sur l’ordinateur B ; une fois la décompression du site achevée, les nouvelles bases de données n’apparaissent pas sur l’ordinateur B.

Solution

Patientez quelques minutes. Le Gestionnaire de package de site s’exécute sur l’ordinateur A ; si le réseau est encombré, il se peut qu’il y ait un délai avant la création des ressources. De plus, vous pouvez réexécuter le Gestionnaire de package de site Commerce Server pour vous assurer que vous avez créé les bases de données sur l’ordinateur B, pas sur l’ordinateur A.


Restrictions sur le nom des applications IIS créées par Pup.exe

Certains restrictions s’appliquent sur le nom des applications IIS (Internet Information Services) si vous utilisez le chemin personnalisé du Gestionnaire de package de site Commerce Server pour décompresser le site. Vous ne pouvez pas utiliser un nom qui correspond au nom de référence de programme d’une ressource connue ni d’aucune ressource trouvée dans le package.

Solution

La liste suivante répertorie les ressources connues qui sont bloquées :

  • Configuration par défaut de l’application
  • Transactions
  • Configuration de la transaction
  • Campagnes marketing
  • Catalogue de produits
  • Publipostage
  • Predictor
  • Data Warehouse du site
  • Data Warehouse global
  • BDSecurity
  • Biz Data Service
  • Authentification CS de site

Outre ces ressources, qui sont codées en dur, toute autre ressource contenue dans le package que l’utilisateur tente de décompresser sera également bloquée, y compris certains noms tiers. Il n’existe malheureusement aucun moyen permettant de savoir à l’avance à quoi ces noms correspondent.


Le nom de site ne peut pas inclure des caractères DBCS dans la configuration du Data Warehouse

Lorsque vous décompressez un nouveau site et fournissez un nom de site contenant des caractères DBCS (Double-Byte Character Set) dans la configuration du Data Warehouse, vous obtenez une erreur.

Solution

Vous ne devez pas utiliser les caractères DBCS dans un nom de site. La configuration du Data Warehouse (DWC, Data Warehouse Configurator) n’est pas prise en charge.


Dépannage du processus d'importation du Data Warehouse

Envoyer des commentaires sur cette page Commerce Server 2002

Dépannage du processus d’importation du Data Warehouse

Cette section décrit les problèmes que vous pouvez rencontrer lors de l’utilisation des tâches DTS (Data Transformation Services) de Commerce Server pour importer des données dans le Data Warehouse et propose des solutions possibles.

Cette section contient les rubriques suivantes :

  • Tâche DTS : les lots DTS enregistrés ne fonctionnent pas après la mise à niveau vers une nouvelle édition de Commerce Server
  • Tâche DTS : la tâche de préparation du rapport échoue
  • Tâche DTS : la tâche de préparation du rapport renvoie « Chargement complet du cube » et « L’opération a échoué »
  • Tâche DTS : la tâche de préparation du rapport renvoie l’erreur « La source de données ne contient pas de lignes »
  • Tâche DTS : les services Terminal Server et la tâche de préparation du rapport ne sont pas compatibles
  • L’importation du fichier journal diffère au niveau du nombre de visites


Tâche DTS: les lots DTS enregistrés ne fonctionnent pas après la mise à niveau vers une nouvelle édition de Commerce Server

Envoyer des commentaires sur cette page Commerce Server 2002

Tâche DTS : les lots DTS enregistrés ne fonctionnent pas après la mise à niveau vers une nouvelle édition de Commerce Server

Si vous créez des lots DTS (Data Transmission Services) dans Commerce Server 2000 et si vous procédez ensuite à une mise à niveau vers une nouvelle édition de Commerce Server 2002, les lots DTS enregistrés ne fonctionneront pas car les identificateurs de programme auront changé.

Solution

Créez de nouveaux lots DTS.


Tâche DTS: la tâche de préparation du rapport échoue

Envoyer des commentaires sur cette page Commerce Server 2002

Tâche DTS : la tâche de préparation du rapport échoue

Si vous installez Data Warehouse sur un ordinateur sur lequel un logiciel exécute un balayage en temps réel de votre système (par exemple, un logiciel de protection anti-virus), vous ne pourrez peut-être pas exécuter la tâche de transformation de données (DTS, Data Transformation Services) de préparation du rapport avec succès.

Solution

Pour résoudre ce problème, utilisez le Gestionnaire de tâches de Windows 2000 pour arrêter le processus utilisé par le logiciel de balayage.


Tâche DTS: la tâche de préparation du rapport renvoie «Chargement complet du cube» et «L'opération a échoué»

Envoyer des commentaires sur cette page Commerce Server 2002

Tâche DTS : la tâche de préparation du rapport renvoie « Chargement complet du cube » et « L’opération a échoué »

Lorsque vous exécutez la tâche DTS de préparation du rapport, les deux messages suivants s’affichent :

     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’

Suivis du texte :

     Source: CSDataWareHouse
     Category: None
     Event ID: 45060
     Description: Report Preparation DTS task : failed to complete

Ces messages apparaissent dans deux cas :

  • Il n’y a pas de données à traiter.
  • Les dimensions ou les cubes n’ont pas été traités.

Solution

Vous devez déterminer si les données devaient se trouver dans le Data Warehouse pour y être traitées. Effectuez les opérations suivantes :

  • Si des données n’ont pas été importées pour être traitées par la tâche DTS de préparation du rapport, exécutez la tâche DTS d’importation appropriée, puis réexécutez la tâche DTS de préparation du rapport.
  • Si des données étaient importées, consultez le journal des événements et/ou les tables CubeProcInfo/DimProcInfo afin de déterminer si des dimensions ou des cubes n’ont pas été traités.


Tâche DTS: la tâche de préparation du rapport renvoie l'erreur «La source de données ne contient pas de lignes»

Envoyer des commentaires sur cette page Commerce Server 2002

Tâche DTS : la tâche de préparation du rapport renvoie l’erreur « La source de données ne contient pas de lignes »

Il se peut que la tâche DTS Préparation du rapport signale des erreurs lors du traitement des dimensions et des cubes OLAP si les informations nécessaires pour remplir ces objets n’ont pas été importées dans le Data Warehouse. Le message d’erreur présente l’aspect suivant :

Processing error [Source data contains no rows] <object name>

Solution

Si vous importez un sous-ensemble de données dans le Data Warehouse (par exemple lorsque vous n’exécutez pas la tâche DTS Importation de campagne marketing), vous pouvez choisir de désactiver le traitement des objets pour lesquels il n’y aura pas de données. Vous éviterez ainsi les messages d’erreur « La source de données ne contient pas de lignes ».

Pour désactiver le traitement d’objets Analysis Services, affectez à l’indicateur ProcessingEnabled la valeur 0 dans les tables CubeProcInfo et DimProcInfo pour les cubes et les dimensions que vous ne voulez pas traiter.


Tâche DTS: les services Terminal Server et la tâche de préparation du rapport ne sont pas compatibles

Envoyer des commentaires sur cette page Commerce Server 2002

Tâche DTS : les services Terminal Server et la tâche de préparation du rapport ne sont pas compatibles

Vous devez exécuter la tâche de transformation de données (DTS, Data Transformation Services) de préparation du rapport directement sur le serveur. N’exécutez pas la tâche DTS de préparation du rapport depuis le package exécuté à partir des services de Terminal Server : effectuer ceci produit une erreur dans DTS.

Cette solution s’applique également à la décompression d’un site. Lorsque vous décompressez Data Warehouse, la base de données OLAP peut ne pas être créée correctement.


L'importation du fichier journal diffère au niveau du nombre de visites

Envoyer des commentaires sur cette page Commerce Server 2002

L’importation du fichier journal diffère au niveau du nombre de visites

Si vos fichiers journaux contiennent soit un nombre incorrect d’éléments délimités uniques soit des retours chariot/sauts de lignes mal placés, le nombre de visites que vous obtenez de Commerce Server 2000 et de Commerce Server 2002 peut être différent. Cela est dû aux modifications dans la façon avec laquelle l’application analyse le fichier journal. De plus, si vous avez un champ qui contient une valeur entière positive (par exemple, les octets envoyés, les octets reçus, le code d’état, etc.) et que ce champ est endommagé, la valeur entière du champ ne sera pas considérée comme valide dans Commerce Server 2002. Les entiers supérieurs à un entier maximal seront également rejetés.


Dépannage des ressources de Commerce Server

Cette section décrit les problèmes que vous pouvez rencontrer lors de l’utilisation des ressources de Commerce Server et propose des solutions possibles.

Cette section contient les rubriques suivantes :

  • Predictor : l’option d’aide n’est pas affichée sur le menu MMC pour le service Predictor
  • Ressource Profils : la connexion a échoué pour l’utilisateur
  • Ressource Profils : ressources globales des profils en double
  • Service de publipostage : le service ne démarre pas après installation sur un cluster
  • Service de publipostage : les travaux de publipostage échouent sans générer de message d’erreur
  • Service de publipostage : découverte des détails des échecs de travaux


Predictor: l'option d'aide n'est pas affichée sur le menu MMC pour le service Predictor Service

Envoyer des commentaires sur cette page Commerce Server 2002

Predictor : l’option d’aide n’est pas affichée sur le menu MMC pour le service Predictor Service

Si vous sélectionnez la ressource Predictor, cliquez sur Aide dans le menu MMC (Microsoft Management Console), puis cliquez sur Aide sur Predictor, l’aide relative à la ressource Predictor ne s’affiche pas.

Solution

Pour accéder à l’aide sur la ressource Predictor, cliquez avec le bouton droit sur le service Predictor, puis cliquez sur Aide. L’aide sur la ressource Predictor s’affiche.


Ressource Profils: la connexion a échoué pour l'utilisateur

Envoyer des commentaires sur cette page Commerce Server 2002

Ressource Profils : la connexion a échoué pour l’utilisateur

Le message d’erreur suivant s’affiche :

« Fournisseur Microsoft OLE DB pour SQL Server : Échec de la connexion de l’utilisateur <nom_utilisateur>. »

Si vous effectuez une sauvegarde des tables de base de données SQL Server associées à la ressource Profils et si vous les restaurez sur une base de données différente sur la même installation de serveur SQL Server ou une autre installation de serveur SQL Server, la ressource Profils peut ne pas se réinitialiser car une ou plusieurs chaînes de connexion vers les tables de base de données ne sont peut-être pas valides après avoir été restaurées sur le nouveau serveur SQL Server. La ou les chaînes de connexion ne sont peut-être pas valides, car soit les informations d’identification ne sont pas valides, soit la base de données n’est pas présente sur la même installation de serveur SQL Server, ou les deux.

Remarque

  • Il est déconseillé de sauvegarder et de restaurer vos bases de données directement. Vous devez plutôt utiliser le Gestionnaire de package de site Commerce Server pour sauvegarder et restaurer vos bases de données.

Solution

Le système de profil dépend de la chaîne de connexion s_CommerceProviderConnectionString. Cette chaîne de connexion est utilisée par le Fournisseur OLE DB pour Commerce Server ; elle est stockée au sein de la base de données d’administration de Commerce Server. Si vous restaurez la base de données d’administration à partir de la sauvegarde d’une base de données, cette chaîne de connexion est souvent incorrecte et doit être réinitialisée.

Pour réinitialiser la chaîne de connexion s_CommerceProviderConnectionString

  1. Développez Gestionnaire Commerce Server, puis Ressources globales, cliquez avec le bouton droit sur Profils, puis cliquez sur Propriétés.
  2. Sous l’onglet Chaînes de connexion de la boîte de dialogue Propriétés des profils, sélectionnez s_CommerceProvideConnectionString, puis cliquez sur Modifier.
  3. Apportez les modifications nécessaires dans la boîte de dialogue Propriétés des liaisons de données, puis cliquez sur OK.

    Remarque

    • Pour plus d’informations sur la manière de renseigner la boîte de dialogue Propriétés des liaisons de données, cliquez sur Aide dans la boîte de dialogue Propriétés des liaisons de données pour ouvrir le fichier d’aide Liaisons de données Microsoft.


Ressource Profils: ressources globales des profils en double

Envoyer des commentaires sur cette page Commerce Server 2002

Ressource Profils : ressources globales des profils en double

Si vous supprimez un site puis que vous ajoutiez un nouveau site en utilisant le même package .pup que celui que vous avez utilisé pour créer le site supprimé, deux ressources globales Profils existent alors dans le Gestionnaire Commerce Server.

Solution

Vous devez supprimer manuellement la ressource globale Profils d’origine du Gestionnaire Commerce Server.

Pour supprimer la ressource globale Profils

  1. Développez Gestionnaire Commerce Server, puis Ressources globales, cliquez avec le bouton droit sur la ressource Profils à supprimer, puis cliquez sur Supprimer.
  2. Dans la boîte de dialogue Gestionnaire Commerce Server, cliquez sur Oui pour confirmer la suppression de la ressource.

La ressource d’origine est définitivement supprimée.


Service de publipostage: le service ne démarre pas après installation sur un cluster

Envoyer des commentaires sur cette page Commerce Server 2002

Service de publipostage : le service ne démarre pas après installation sur un cluster

Si un zéro (0) non significatif est entré lors de l’installation sur un cluster d’un Service de publipostage ou Predictor, le service ne démarrera pas. Pour plus d’informations, consultez dans la Base de connaissances Microsoft l’article « Ping and FTP Resolve IP Address with Leading Zero as Octal » à l’adresse http://go.microsoft.com/fwlink/?LinkId=5593 (en anglais).


Service de publipostage: les travaux de publipostage échouent sans générer de message d'erreur

Envoyer des commentaires sur cette page Commerce Server 2002

Service de publipostage : les travaux de publipostage échouent sans générer de message d’erreur

Si l’Agent SQL Server s’arrête lorsqu’un travail de publipostage est planifié pour s’exécuter, le travail ne s’exécute pas. Vous ne recevez aucune indication que le travail n’a pas pu démarrer et aucune condition d’erreur n’est enregistrée dans le journal.

Solution

Pour démarrer un travail qui ne s’est pas exécuté, vous devez le lancer manuellement à partir du contrôle de l’Agent SQL Server dans SQL Enterprise Manager.

Pour démarrer un travail de publipostage manuellement

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Microsoft SQL Server 2000, puis cliquez sur Enterprise Manager.
  2. Développez les nœuds jusqu’au chemin suivant : \Microsoft SQL Servers\Groupe SQL Server\<Nom_Serveur_SQL>\Gestion\Agent SQL Server\Travaux, puis cliquez sur Travaux.

    Les travaux de publipostage s’affichent dans le volet droit de SQL Server Enterprise Manager.


Service de publipostage: découverte des détails des échecs de travaux

Envoyer des commentaires sur cette page Commerce Server 2002

Service de publipostage : découverte des détails des échecs de travaux

Lorsqu’un travail de publipostage s’achève, l’événement est enregistré dans le journal des événements de l’application. Cet événement contient le numéro du travail, l’heure de démarrage du travail, l’heure d’achèvement du travail, le nombre total de destinataires du courrier ainsi que le nombre des erreurs qui se sont produites.

Pour trouver plus d’informations sur les échecs, vous devez consulter la table dml_job_errors dans la base de données de publipostage.

Solution

Ouvrez l’Observateur d’événements et trouvez le message du journal des événements de l’application journalisé par le service de publipostage.

Pour ouvrir l’Observateur d’événements

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Microsoft Commerce Server, puis cliquez sur Gestionnaire Commerce Server.
  2. Développez le nœud de l’Observateur d’événements, puis double-cliquez sur Application.
  3. Dans la liste des événements, trouvez l’événement dont la source est le Service de publipostage de Commerce Server et l’ID d’événement est 18.
  4. Double-cliquez sur le message d’événement pour ouvrir la boîte de dialogue Propriétés de Événement.
  5. Dans la boîte de dialogue Propriétés de Événement, copiez le numéro de travail dans le Presse-papiers, puis ouvrez l’Analyseur de requêtes SQL Server.

Pour ouvrir l’Analyseur de requêtes SQL Server

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Microsoft SQL Server, puis cliquez sur Analyseur de requêtes.
  2. Dans la boîte de dialogue Connexion à SQL Server, connectez-vous à la base de données de publipostage sur laquelle votre serveur est configuré pour s’exécuter.
  3. Dans Analyseur de requêtes, tapez la requête suivante :
    "SELECT * FROM dml_job_errors WHERE job_id = ‘<job id>‘

    où <job id> correspond au numéro de travail copié dans l’étape 5 de la procédure Pour ouvrir l’Observateur d’événements.

L’ensemble de résultats renvoyé indique le code d’erreur et la description de chaque échec survenu durant le traitement du travail de publipostage.


Dépannage des listes de tâches du Gestionnaire Commerce Server

Si vous installez une version de Commerce Server 2002 qui utilise une langue différente de celle du système d’exploitation, les listes des tâches du Gestionnaire Commerce Server ne fonctionneront pas. Il s’agit là d’un problème répertorié de Microsoft Management Console 1.2 : les menus contextuels font référence aux listes des tâches dans une seule langue et ne fonctionnent pas lorsque la langue du fichier de console et celle du système d’exploitation ne sont pas synchronisées.

Solution

Pour décompresser un site

  1. Cliquez sur Démarrer, pointez sur Programmes, sur Microsoft Commerce Server 2002, puis cliquez sur Gestionnaire de package de site Commerce Server.

    L’écran Gestionnaire de package de site Commerce Server s’affiche.

  2. Sélectionnez Décompresser à partir d’un fichier de package (.pup), puis cliquez sur Suivant.

Suivez les instructions des boîtes de dialogue du Gestionnaire de package de site. Pour plus d’informations, consultez Décompression d’un site.

Pour modifier les mots de passe

  • Cliquez avec le bouton droit sur Gestionnaire Commerce Server, cliquez sur Toutes les tâches, puis sur Modifier les mots de passe.

Pour plus d’informations sur la modification des mots de passe, consultez Modification d’un compte de service ou d’un mot de passe.

Pour modifier la chaîne de connexion de la base de données d’administration

  1. Cliquez avec le bouton droit sur Gestionnaire Commerce Server, puis cliquez sur Propriétés.

    La boîte de dialogue Propriétés du Gestionnaire Commerce Server s’affiche.

  2. Sous l’onglet Base de données d’administration, cliquez sur Modifier.

    La boîte de dialogue Propriétés des liaisons de données s’affiche.

  3. Une fois que vous avez apporté les modifications nécessaires à la boîte de dialogue Propriétés des liaisons de données, cliquez sur OK.

    Pour plus d’informations sur la manière de renseigner la boîte de dialogue Propriétés des liaisons de données, cliquez sur Aide dans la boîte de dialogue Propriétés des liaisons de données pour ouvrir le fichier d’aide Liaisons de données Microsoft.

Remarque

  • Une fois que vous modifiez une propriété dans le Gestionnaire Commerce Server, vous devez redémarrer tous les services qui utilisent ces valeurs. Pour plus obtenir des instructions, consultez Redémarrage des services IIS et Commerce Server.


Messages d'événements

Envoyer des commentaires sur cette page Commerce Server 2002

Messages d’événements

Cette section contient une liste exhaustive des messages d’événements connus. S’y trouvent inclus l’identificateur du message, le type de gravité et les commentaires accompagnant chaque message d’événement.

Cette section contient les rubriques suivantes :

  • Messages d’événements courants
  • Zone de fonctionnalité : Gestion de profil utilisateur
  • Zone de fonctionnalité : Analyse
  • Zone de fonctionnalité : AuthFilter
  • Zone de fonctionnalité : Catalogue
  • Zone de fonctionnalité : Composants
  • Zone de fonctionnalité : Objets principaux
  • Zone de fonctionnalité : Générique
  • Zone de fonctionnalité : Marketing
  • Zone de fonctionnalité : Pers Perf
  • Zone de fonctionnalité : Système de profils
  • Zone de fonctionnalité : Predictor
  • Zone de fonctionnalité : Configuration du site
  • Zone de fonctionnalité : Service de publipostage
  • Zone de fonctionnalité : Tâche DTS du Générateur de modèles


Messages d'événements courants

Envoyer des commentaires sur cette page Commerce Server 2002

Messages d’événements courants

Le tableau suivant répertorie quelques messages d’événements courants.

ID de l’événement | Message d’événement | Commentaires
0x8011 | (<InternalID>:<ThreadID>)cls : <StorageClassName>, S : signalisation de la fin du lot à cause d’une erreur, hr : 0x4, heure : | Cet événement survient lorsque la couche de stockage essaie de rechercher des éléments qui se produisent dans la base de données. Cette situation peut se produire dans le cas de requêtes mal formées ou d’un certain type d’erreur SQL sous-jacente. L’utilisateur doit réexécuter le processus avec le processus « CSDWDBGSRV.EXE -f Trace » s’exécutant dans une fenêtre de commande séparée et envoyer le rapport (avec un ensemble de données reproductible) au support technique pour traitement.
0x8014 | (<InternalID>:<ThreadID>)cls : <StorageClassName>, I : exception : signalisation de la fin du lot à cause d’une erreur, hr : 0x4, heure : | Cet événement survient lorsque la couche de stockage essaie d’insérer des données dans la base de données. Cette situation peut se produire si la base de données a été endommagée ou si le schéma, pour une raison ou une autre, ne correspond pas, ce qui provoque une erreur SQL sous-jacente. L’utilisateur doit réexécuter le processus avec le processus « CSDWDBGSRV.EXE -f Trace » s’exécutant dans une fenêtre de commande séparée et envoyer le rapport (avec un ensemble de données reproductible) au support technique pour traitement.
0xC018 | Tâche Importation du journal : impossible d’importer les journaux pour le site : <Nom du fichier> | Erreur générale qui survient quand lors d’une défaillance dans la tâche DTS Importation du journal de serveur Web.
0xC008 | Tâche Importation du journal : aucun fichier journal n’a été sélectionné à l’importation pour le site : <Nom du fichier> | Aucun fichier journal n’est disponible.
0x81D2 | Dans ParseCookie2 : le décodage de l’URL pour obtenir la valeur du cookie a échoué. | Tentative de décodage d’un cookie non valide.
0XC009 | Tâche Importation du journal : impossible d’effectuer l’initialisation. Soit les informations de connexion ne sont pas valides, soit l’état du Data Warehouse est incorrect. | Chaîne de connexion non valide ou base de données du Data Warehouse hors ligne.


Zone de fonctionnalité: Gestion de profil utilisateur (UPM)

Envoyer des commentaires sur cette page Commerce Server 2002

Zone de fonctionnalité : Gestion de profil utilisateur (UPM)

Le tableau suivant répertorie des messages d’événements connus pour la gestion de profil utilisateur.

Message ID | Gravité | Commentaires
15360 | Erreur | Type de données non valide rencontré %1. La couche d’agrégation des données UPM a rencontré un opérateur qu’elle ne peut pas gérer dans la clause WHERE de la requête.
15361 | Erreur | Type de données %1 non valide rencontré. La couche d’agrégation des données UPM a rencontré une propriété de type de données inconnu dans la requête.
15363 | Erreur | Erreur (%1) rencontrée chez le fournisseur DSO (abandonnée, peut être ignorée). Cette erreur indique simplement qu’une erreur a été rencontrée dans les composants ANSI-SQL ou LDAP-v3 de la couche d’agrégation des données UPM. D’autres erreurs dans la pile d’erreurs doivent fournir des informations plus pertinentes et plus utiles.
15364 | Erreur | Erreur interne (%1) rencontrée au niveau de la couche d’agrégation. Cette erreur indique qu’une erreur interne s’est produite dans la couche d’agrégation des données UPM. Les développeurs doivent en rendre compte à Microsoft.
15365 | Erreur | Type de source %1 non valide rencontré. La couche d’agrégation des données UPM a rencontré un type de source non valide.
15366 | Erreur | Type d’opération %1 non valide rencontré. La couche d’agrégation des données UPM a rencontré un type d’opération inconnu.
15367 | Erreur | Espace de pile insuffisant. La couche d’agrégation des données UPM n’a pas pu allouer de la mémoire à partir de la pile. La situation la plus probable est qu’un composant précédent sur la pile d’appels a alloué de gros blocs de mémoire à partir de la pile.
15368 | Erreur | Définition de classe %1 non valide rencontrée. La couche d’agrégation des données UPM a rencontré une définition de classe non valide.
15369 | Erreur | Type de requête %1 non valide rencontré.
15370 | Erreur | Liste ORDER BY incorrecte rencontrée.
15371 | Erreur | Erreur rencontrée dans les structures de données de catalogue.
15372 | Erreur | Requête non valide rencontrée.
15373 | Erreur | Nom de table non valide spécifié pour la source %1.
15374 | Erreur | Le nombre maximal de partitions autorisées a été dépassé. Le système de profils peut seulement prendre en charge un maximum de 128 partitions sur les chemins UPM. Cette erreur peut apparaître si le système de profils a rencontré une banque de définitions de profils contenant plus de 128 partitions.
15375 | Erreur | L’objet existe déjà. Les opérations de création ou de mise à jour ont échoué car un objet ayant une ou plusieurs valeurs de membres clés correspondantes existe déjà dans les banques sous-jacentes.
16000 | Erreur | Erreur interne (%1) rencontrée dans le fournisseur d’annuaire.
16001 | Erreur | Erreur ADSI générique (%1).
16002 | Erreur | Espace de pile insuffisant. La couche d’agrégation des données UPM LDAP-v3 n’a pas pu allouer de la mémoire à partir de la pile. La situation la plus probable est qu’un composant précédent sur la pile d’appels a alloué de gros blocs de mémoire à partir de la pile.
16003 | Erreur | Un tel objet n’existe pas sur le serveur. L’objet recherché n’existe pas sur le serveur.
16004 | Erreur | Mot de passe incorrect rencontré (%1) (chose relativement fréquente). L’opération de définition ou de modification du mot de passe a échoué. Causes possibles : (a) Les postes (clients et serveurs) dans le domaine AD n’ont pas été configurés correctement — consultez RK pour des correctifs. (b) Le contexte de sécurité dans lequel l’opération s’est déroulée ne possède pas les droits suffisants pour exécuter cette opération.
16005 | Erreur | Valeur d’attribut RDN (Relative Distinguished Name) manquante. L’attribut RDN sur l’objet n’a pas été spécifié.
16006 | Erreur | Opérateur non valide rencontré.
16007 | Erreur | Type de données (%1) non valide rencontré dans le composant de l’annuaire.
16264 | Erreur | Le nombre de valeurs spécifiées pour la propriété de mot de passe n’est pas valide. La couche d’agrégation des données UPM LDAP-v3 s’attend à ce que la propriété du mot de passe contienne exactement une valeur sur les chemins de création d’objet et deux valeurs sur les chemins de mise à jour d’objet. Cette erreur apparaît quand ce qui précède n’est pas vrai.
16265 | Erreur | Valeur manquante pour un membre clé requis.
16256 | Erreur | Erreur interne qui s’est produite au niveau du fournisseur tiers.
16257 | Erreur | Type de données non valide rencontré au niveau du fournisseur tiers.
16258 | Erreur | Opération non valide rencontrée au niveau du fournisseur tiers.
16259 | Erreur | Tentative d’insertion de données trop volumineuses.


Zone de fonctionnalité: Analyse

Envoyer des commentaires sur cette page Commerce Server 2002

Zone de fonctionnalité : Analyse

Le tableau suivant répertorie des messages d’événements connus pour la zone de fonctionnalité Analyse.

ID du message | Gravité | Commentaires
12288 | Erreur | Tâche Importation d’utilisateur : impossible de créer le composant des compteurs de performance de Commerce Server.
12289 | Erreur | Tâche Importation d’utilisateur : impossible d’utiliser le composant des compteurs de performance de Commerce Server.
12290 | Erreur | Tâche Importation d’utilisateur : impossible de créer le composant du fournisseur OLEDB de Commerce Server.
12291 | Erreur | Tâche Importation d’utilisateur : impossible d’associer l’URL de connexion pour : %1.
12292 | Erreur | Tâche Importation d’utilisateur : impossible d’élaborer des requêtes sur BizDataStore.
12293 | Erreur | Tâche Importation d’utilisateur : impossible d’exécuter les modifications de schéma dans les données du Data Warehouse.
12294 | Erreur | Tâche Importation d’utilisateur : impossible de transférer des données vers le Data Warehouse.
12295 | Erreur | Tâche Importation d’utilisateur : impossible d’associer l’URL de classe : %1.
12296 | Erreur | Tâche Importation d’utilisateur : impossible d’ouvrir la classe %1.
12297 | Erreur | Tâche Importation d’utilisateur : le nom de classe : %1 existe déjà dans le Data Warehouse mais n’est pas mappé vers une classe de catalogue Biz Data.
12298 | Erreur | Tâche Importation d’utilisateur : impossible d’ajouter des membres à la classe :%1. Nom de membre :%2.
12299 | Erreur | Tâche Importation d’utilisateur : le nom de classe : %1 n’existe pas dans le Data Warehouse mais est mappé vers une classe du catalogue BizData.
12300 | Erreur | Tâche Importation d’utilisateur : impossible de créer l’objet de conversion de fuseau horaire.
12301 | Erreur | Tâche Importation d’utilisateur : impossible de charger les membres pour la classe %1.
12302 | Erreur | Tâche Importation d’utilisateur : le moteur d’exportation n’a pas été initialisé.
12303 | Erreur | Tâche Importation d’utilisateur : impossible de créer l’objet %1.
12304 | Erreur | Tâche Importation d’utilisateur : %1
12305 | Erreur | Tâche Importation d’utilisateur : impossible d’obtenir les valeurs de la table TaskHistory.
12306 | Erreur | Tâche Importation d’utilisateur : impossible de définir des valeurs dans la table TaskHistory.
12307 | Erreur | Tâche Importation d’utilisateur : impossible d’initialiser l’objet de conversion de fuseau horaire.
12308 | Erreur | Tâche Importation d’utilisateur : impossible d’effectuer la conversion de fuseau horaire.
12309 | Erreur | Tâche Importation d’utilisateur : erreur lors du chargement de la boîte de dialogue des propriétés de la tâche DTS.
12310 | Erreur | Tâche Importation d’utilisateur : la clé primaire doit être exportée pour les classes qui ne sont pas encore mappées vers une classe existante dans le Data Warehouse. Le profil %1 ne sera pas exporté.
12311 | Erreur | Tâche Importation d’utilisateur : un ou plusieurs mappages de type de données non valides entre le profil et le Data Warehouse ont été détectés.
12312 | Erreur | Tâche Importation d’utilisateur : Le membre %2 du profil %1 est de %3 détaillé qui est incompatible avec le type de données %6 du membre mappé vers la classe datawarehouse %4. Discordance de schéma entre la banque d’exécution et la banque Data Warehouse.


Zone de fonctionnalité: AuthFilter

Envoyer des commentaires sur cette page Commerce Server 2002

Zone de fonctionnalité : AuthFilter

Le tableau suivant répertorie des messages d’événements connus pour la zone de fonctionnalité AuthFilter.

ID du message | Gravité | Commentaires
19474 | Erreur | UPM-AUTHFILTER : PasswordCache de AuthFilter est plein (nécessité de définir un cache plus grand et de redémarrer les services IIS/l’application).
19475 | Erreur | UPM-AUTHFILTER : PasswordCache de AuthFilter est vide ou n’est pas créé.
19476 | Erreur | UPM-AUTHFILTER : SiteName est vide. Soit ce n’est pas un site Commerce Server, soit le fichier Csapp.ini ne contient pas le nom du site.
19477 | Erreur | UPM-AUTHFILTER : EncryptionKey ne peut pas être nul/vide si le cryptage est activé. Le site a été activé pour le cryptage, mais une clé de cryptage n’était pas spécifiée.
19478 | Erreur | UPM-AUTHFILTER : impossible d’insérer une nouvelle valeur dans le cache de configuration du site.
19479 | Erreur | UPM-AUTHFILTER : impossible de trouver l’entrée de configuration du site dans le cache de configuration du site.
19480 | Erreur | UPM-AUTHFILTER : impossible de crypter le ticket.
19481 | Erreur | UPM-AUTHFILTER : impossible de décrypter le ticket (inutilisé).
19482 | Erreur | UPM-AUTHFILTER : impossible de mettre en forme les données de ticket.
19483 | Erreur | UPM-AUTHFILTER : échec de l’envoi de redirection (HTTP : 302). Vérifiez les URL spécifiées dans les ressources globales du site.
19484 | Erreur | UPM-AUTHFILTER : échec de la définition du cookie.
19485 | Erreur | UPM-AUTHFILTER : échec de la génération de la clé du mot de passe.
19486 | Erreur | UPM-AUTHFILTER : échec du décodage de l’URL. URL mal formée
19487 | Erreur | UPM-AUTHFILTER : échec de la recherche du cache de mot de passe ou entrée introuvable ( interne).
19488 | Erreur | UPM-AUTHFILTER : échec de l’analyse de la chaîne de requête. URL mal formée
19489 | Erreur | UPM-AUTHFILTER : échec de la thread de nettoyage du cache.
19490 | Erreur | UPM-AUTH : échec dans AuthFilter.
19491 | Erreur | UPM-AUTH : caractère non valide (‘;’ ou ‘%’ ou ‘=‘) présent dans l’identificateur d’utilisateur ou le nom/valeur de la propriété.
19492 | Erreur | UPM-AUTH : cette API doit uniquement être appelée dans une page ASP. La méthode de renvoi de cette erreur dépend d’un objet intrinsèque ASP. Doit donc être appelée à partir des pages ASP.
19493 | Erreur | UPM-AUTH : erreur : le ticket demandé n’est pas défini.
19494 | Erreur | UPM-AUTH : une erreur s’est produite lors de la génération de la clé de cryptage.
19495 | Erreur | UPM-AUTH : nom ou valeur de propriété personnalisée non valide.
19496 | Erreur | UPM-AUTH : impossible de mettre en forme les propriétés du ticket.
19497 | Erreur | UPM-AUTHF : impossible de crypter les données du ticket.
19498 | Erreur | UPM-AUTH : impossible de décrypter les données du ticket.
19499 | Erreur | UPM-AUTH : les propriétés d’administration de Encryption n’ont pas été définies correctement (si vous activez Encryption, EncryptionKey doit être correctement défini).
19500 | Erreur | UPM-AUTH : impossible d’ajouter l’entrée SiteConfig au cache de configuration du site local.
19501 | Erreur | UPM-AUTH : impossible de supprimer l’entrée SiteConfig du cache de configuration du site local.
19502 | Erreur | UPM-AUTH : impossible de récupérer l’entrée SiteConfig du cache de configuration du site local.
19503 | Erreur | UPM-AUTH : CryptoAPI n’a pas pu générer de clé de session à partir du mot de passe.
19504 | Erreur | UPM-AUTH : erreur lors de l’initialisation du composant de cryptage/décryptage.
19505 | Erreur | UPM-AUTHFILTER : erreur lors de l’initialisation du pool mémoire (cpool) pour le cache de mots de passe en mode d’authentification Windows.
19506 | Erreur | UPM-AUTHFILTER : erreur lors de l’initialisation de LKRHash pour le cache de mots de passe en mode d’authentification Windows.
19507 | Erreur | UPM-AUTHFILTER : erreur lors de l’initialisation de LKRHash pour le cache de configuration du site.
19508 | Erreur | UPM-AUTH : erreur lors de l’initialisation de LKRHash pour le cache de configuration du site.
19509 | Informatif | UPM-AUTHFILTER : impossible d’insérer une nouvelle valeur dans le cache de configuration du site.
19510 | Informatif | UPM-AUTHFILTER : erreur lors de l’initialisation du cache de mots de passe.
19511 | Informatif | UPM-AUTHFILTER : erreur lors de l’initialisation du pool mémoire pour le cache de mots de passe : %1.
19512 | Informatif | UPM-AUTHFILTER : impossible de créer une thread de nettoyage pour le cache de mots de passe : %1.
19513 | Erreur | UPM-AUTHFILTER : impossible de créer une thread de nettoyage pour le cache de mots de passe.
19514 | Informatif | UPM-AUTHFILTER : impossible de créer un objet PerfCounter d’UPM de Commerce Server pour le site ‘%1’ : %2.
19515 | Informatif | UPM-AUTHFILTER : impossible d’initialiser l’authentification Windows : %1.
19516 | Informatif | UPM-AUTHFILTER : impossible d’initialiser l’objet CacheCleanupThread : %1.
19517 | Informatif | UPM-AUTHFILTER : la thread de nettoyage du cache de mots de passe a démarré correctement.
19518 | Erreur | UPM-AUTH : les mots de passe vides ne sont pas autorisés.
19519 | Erreur | UPM-AUTH : impossible de créer un objet PerfCounter d’UPM de Commerce Server pour le site ‘%1’ : %2.


Zone de fonctionnalité: AuthManager

Envoyer des commentaires sur cette page Commerce Server 2002

Zone de fonctionnalité : AuthManager

Le tableau suivant répertorie des messages d’événements connus pour la zone de fonctionnalité AuthManager.

ID du message | Gravité | Commentaires
19456 | Erreur | UPM-AUTH : erreur : la propriété demandée n’existe pas sur AuthTicket.
19457 | Avertissement | UPM-AUTH : avertissement : expiration de Authticket TimeWindow. Il est peut-être nécessaire d’authentifier à nouveau l’utilisateur.
19458 | Erreur | UPM-AUTH : erreur : utilisateur non authentifié et devant être authentifié à nouveau.
19459 | Avertissement | UPM-AUTH : erreur : Authticket non défini sur le cookie.
19460 | Avertissement | UPM-AUTH : avertissement : Authticket non défini.
19461 | Erreur | UPM-AUTH : avertissement : Authticket vide.
19462 | Avertissement | UPM-AUTH : erreur : lors de la définition du cookie.
19463 | Avertissement | UPM-AUTH : avertissement : le cookie utilisateur authentifié doit être défini.
19464 | Erreur | UPM-AUTH : avertissement : le cookie Utilisateur anonyme doit être défini.
19465 | Erreur | UPM-AUTH : erreur : lors de l’obtention du cookie pour l’utilisateur inscrit.
19466 | Erreur | UPM-AUTH : erreur : lors de l’obtention du cookie pour l’utilisateur anonyme.
19467 | Erreur | UPM-AUTH : erreur : lors de l’obtention du cookie pour l’utilisateur inscrit.
19468 | Erreur | UPM-AUTH : erreur : lors de l’obtention du cookie pour l’utilisateur anonyme.
19469 | Erreur | UPM-AUTH : erreur : lors de l’obtention de la chaîne de requête pour l’utilisateur anonyme.
19470 | Erreur | UPM-AUTH : erreur : lors de l’obtention de la chaîne de requête pour l’utilisateur authentifié.
19471 | Erreur | UPM-AUTH : erreur : lors de la décompression des données Ticket.
19472 | Erreur | UPM-AUTH : erreur : initialisation avec Sitename installé nécessaire.
19473 | Erreur | UPM-AUTH : erreur : échec de AuthManager::CryptoAPI_Initialize.


Zone de fonctionnalité: Catalogue

Envoyer des commentaires sur cette page Commerce Server 2002

Zone de fonctionnalité : Catalogue

Le tableau suivant répertorie des messages d’événements connus pour la zone de fonctionnalité Catalogue.

ID du message | Gravité | Commentaires
20480 | Erreur | Texte de message avec deux paramètres %2 de substitution de chaîne %1.
20481 | Erreur | Fichier XML non valide %1
20482 | Erreur | Les propriétés utilisées en tant que ProductID ou VariantID ne sont pas présentes dans le <CatalogSchema>.
20483 | Erreur | Échec de la conversion de %1 de chaîne en type de données requises.
20484 | Erreur | Échec de la mise à jour de l’index de texte intégral pour le système de catalogue. %1
20485 | Erreur | L’identificateur unique requis pour Produit/Catégorie/Composant produit est manquant. %1 %2
20486 | Avertissement | Début de l’importation du catalogue de Commerce Server.
20487 | Avertissement | Fin de l’importation du catalogue de Commerce Server.
20489 | Erreur | Échec de l’opération de base de données. %1
20490 | Erreur | Erreurs lors de l’ajout/la mise à jour des définitions de catalogue. %1
20491 | Erreur | Échec de l’ajout de colonnes aux tables de catalogue %1.
20492 | Erreur | Erreurs lors de l’ajout/la mise à jour des hiérarchies de catalogues. %1.
20493 | Erreur | Erreurs lors de l’ajout/la mise à jour des relations de catalogue. %1.
20495 | Erreur | Échec de l’ajout d’un nouveau produit/d’une nouvelle catégorie %1 %2 %3.
20496 | Erreur | Échec de la mise à jour d’un produit/d’une catégorie %1 %2 %3.
20497 | Erreur | Il existe une référence à un produit/une catégorie/une propriété qui n’est pas comprise dans le fichier XML %1.
20498 | Avertissement | Importation du catalogue "%1"
20499 | Avertissement | Impossible de créer le fichier %1
20500 | Avertissement | Début de l’exportation du catalogue de Microsoft Commerce Server
20501 | Avertissement | Fin de l’exportation du catalogue de Microsoft Commerce Server
20502 | Avertissement | Exportation du catalogue "%1" de Microsoft Commerce Server.
20503 | Erreur | Une propriété non valide est utilisée dans le produit. %1. Les causes possibles sont les suivantes : pour une propriété de chaîne, la valeur de la propriété dépasse la longueur de la propriété ; pour une propriété énumérée, la valeur énumérée n’existe pas ; pour une propriété de date, la date n’est pas comprise dans la plage de dates spécifiées.
20504 | Erreur | Impossible d’ouvrir ou de créer le fichier %1
20505 | Erreur | Données non valides présentes dans le fichier %1
20512 | Erreur | La nouvelle opération d’importation/exportation ne peut commencer qu’une fois l’importation en cours terminée.
20513 | Erreur | Échec de la mise à jour du prix (cy_list_price) %1 %2.
20514 | Erreur | Échec de la conversion des données de leur type de données en chaîne.
20515 | Erreur | 0.01
20516 | Erreur | La chaîne "%1" spécifiée contenait un caractère réservé ( "[," " qui ne devait pas être utilisé).
20517 | Erreur | Création des index de texte intégral.
20518 | Erreur | La catégorie %1 existe déjà dans le catalogue. Les noms de catégories d’un catalogue doivent être uniques.
20519 | Erreur | Le produit %1 existe déjà dans le catalogue. Les noms de produits d’un catalogue doivent être uniques.
20520 | Erreur | Le composant produit %1 existe déjà dans le catalogue. Les noms de composants produits d’un catalogue doivent être uniques.
20521 | Erreur | Le catalogue %1 n’existe pas.
20522 | Erreur | Ne doit pas correspondre à un nom de définition. Indiquez un nom de catalogue valide.
20523 | Erreur | La valeur de la propriété %1 ne se situe pas dans la plage autorisée pour les valeurs entières. Les valeurs valides pour cette propriété sont comprises entre -2 147 483 648 et 2 147 483 647.
20524 | Erreur | La valeur de la propriété %1 ne se situe pas dans la plage autorisée pour les valeurs entières longues. Les valeurs valides pour cette propriété sont comprises entre -9 223 372 036 854 775 808 et 9 223 372 036 854 775 807.
20525 | Erreur | Le type de données Big Integer est pris en charge uniquement sur SQL Server 8 ou version ultérieure. Cette erreur s’est produite dans le fichier XML %1 à la ligne %2, position %3.
20526 | Erreur | Propriété non définie : la propriété de catalogue %1 se trouvant sous la définition %2 n’a pas été définie dans le fichier XML.
20527 | Erreur | Impossible d’ouvrir le fichier %1. La mémoire système est insuffisante.
20528 | Erreur | L’attribut %1 contenu dans le fichier CSV est une colonne intégrée de la table des produits de catalogue et ne peut pas être utilisée en tant qu’attribut. Vous devez renommer l’attribut. Le fichier CSV n’est pas valide.
20529 | Erreur | Une propriété non valide %1 est utilisée dans le catalogue %2 pour le produit %3. Les causes possibles sont les suivantes : pour une propriété de chaîne, la valeur de la propriété dépasse la longueur de la propriété ; pour une propriété énumérée, la valeur énumérée n’existe pas ; pour une propriété de date, la date n’est pas comprise dans la plage de dates spécifiées.
20530 | Erreur | Le produit %1 du catalogue %2 existe en plusieurs catégories de tarification. La règle de tarification ne sera pas appliquée à ce produit et il conservera son prix d’origine.


Zone de fonctionnalité: Composants

Envoyer des commentaires sur cette page Commerce Server 2002

Zone de fonctionnalité : Composants

Le tableau suivant répertorie des messages d’événements connus pour la zone de fonctionnalité Composants.

ID du message | Gravité | Commentaires
4096 | Avertissement | 0.01Événement utilisé par la méthode WriteWarningEvent de l’objet AdminEventLog.
4097 | Erreur | 0.01Événement utilisé par la méthode WriteErrorEvent de l’objet AdminEventLog.
4098 | Informatif | 0.01Événement utilisé par la méthode WriteInformationalEvent de l’objet AdminEventLog.
4100 | Erreur | Windows : %1<utilisation peu fréquente/abandonné> Enregistré par un petit ensemble de composants y compris le catalogue. Utilisé pour indiquer les erreurs système Win32.
4101 | Erreur | Commerce Server : %1<utilisation peu fréquente/abandonné> Enregistré par un petit ensemble de composants y compris le catalogue pour indiquer diverses erreurs Commerce.
4103 | Erreur | Erreur de connexion : %1<inutilisé>.
4104 | Erreur | <si la défaillance est au niveau d’un composant> Échec de l’exécution de composant pour le composant[[0x%1!X!] hr: 0x%2!X! Utilisé pour indiquer les erreurs d’exécution de pipeline/composant.
4105 | Erreur | [OrderDiscount] : la remise avec l’identificateur %1 possède une valeur non valide pour le champ ‘%2’. La remise a été annulée. Une remise non valide a été détectée dans ContentList. OrderDiscount prévient qu’il va traiter la remise comme si elle était inactive pour qu’elle ne s’applique pas.
4106 | Erreur | Erreur système WIN32. Si le problème persiste, contactez un ingénieur du support technique Microsoft en ayant les informations suivantes à portée de main : fichier source : %1, ligne : %2, WIN32_Error : %3".<inutilisé>
4107 | Erreur | Erreur système COM. Si le problème persiste, contactez un ingénieur du support technique Microsoft en ayant les informations suivantes à portée de main : fichier source : %1, ligne : %2, COM_HRESULT : %3".<inutilisé>
4108 | Erreur | Échec de l’appel à CoCreateInstance(CLSID_StdGlobalInterfaceTable). Les pipelines CS40 nécessitent NT4SP3 ou version ultérieure. Enregistré par le pipeline si cette dépendance de niveau système n’est pas respectée.
4109 | Erreur | Échec de l’inscription de l’application COM+ %1. HRESULT %2. Enregistré par le code d’inscription de l’application COM+ Pipeline (normalement exécuté par le programme d’installation) .
4110 | Erreur | Échec de l’inscription du composant COM+ %1. HRESULT %2.Enregistré par le code d’inscription de l’application COM+ Pipeline (normalement exécuté par le programme d’installation).
4111 | Erreur | Échec de l’annulation de l’inscription de l’application COM+ %1. HRESULT %2. Enregistré par le code d’inscription de l’application COM+ Pipeline (normalement exécuté par le programme d’installation).


Zone de fonctionnalité: Objets principaux

Envoyer des commentaires sur cette page Commerce Server 2002

Zone de fonctionnalité : Objets principaux

Le tableau suivant répertorie des messages d’événements connus pour les objets principaux.

ID du message | Gravité | Commentaires
4112 | Erreur | Le compteur de performances de Commerce Server 2000 dépasse la limite fixée à 2000. Un maximum de 2000 composants de pipeline peuvent être surveillés par Perfmon sur un serveur.


Zone de fonctionnalité: Générique

Envoyer des commentaires sur cette page Commerce Server 2002

Zone de fonctionnalité : Générique

Le tableau suivant répertorie des messages d’événements connus pour la zone de fonctionnalité Générique.

ID du message | Gravité | Commentaires
32768 | Erreur | La période d’évaluation de Commerce Server 2000 est terminée. Contactez Microsoft pour obtenir une version sous licence de Commerce Server 2000. Le délai a expiré.
32769 | Erreur | La période d’évaluation de BizTalk Server 2000 a expiré. Contactez Microsoft pour obtenir une version sous licence de BizTalk Server 2000.<inutilisé>
32770 | Erreur | La période d’évaluation de ce produit a expiré. Contactez Microsoft pour obtenir une version sous licence de ce produit.<inutilisé>
32771 | Avertissement | La période d’évaluation de Commerce Server 2000 est terminée. Contactez Microsoft pour obtenir une version sous licence de Commerce Server 2000. Le délai a expiré.
32772 | Avertissement | La période d’évaluation de BizTalk Server 2000 a expiré. Contactez Microsoft pour obtenir une version sous licence de BizTalk Server 2000.<inutilisé>


Zone de fonctionnalité: Marketing

Envoyer des commentaires sur cette page Commerce Server 2002

Zone de fonctionnalité : Marketing

Le tableau suivant répertorie des messages d’événements connus pour la zone de fonctionnalité Marketing.

ID du message | Gravité | Commentaires
8192 | Erreur | Le CacheManager a rencontré une erreur lors de l’actualisation du cache : ‘%1’ Les erreurs qui se produisent pendant l’actualisation du cache sont signalées par cette méthode. Le message d’erreur enregistré comprend le composant source et la description.
8193 | Avertissement | Commerce.WriteEvents : aucun dictionnaire de performances trouvé. Le dictionnaire contenant les données de l’événement publicitaire (demande et clic) ne se trouvaient pas dans le cache. WriteEvents ne peut prendre aucune mesure dans ce cas.
8194 | Avertissement | Commerce.WriteEvents : l’élément de la campagne avec l’identificateur %1 n’existe pas. <inutilisé>
8195 | Avertissement | Commerce.LoadAdvertisements : aucune publicité active n’a été renvoyée par la requête. Pensez à planifier des publicités maison pour éviter ce message. Message d’avertissement enregistré par CSFLoadAdvertisements lors de la première actualisation après le démarrage de l’application si la base de données ne contient aucune publicité active.
8196 | Erreur | 0.01Le message d’erreur réel extrait des ressources reposant sur l’erreur spécifique qui s’est produite. Tous les échecs de ListManager sont consignés.
8197 | Erreur | DTS marketing : impossible d’effectuer la liaison vers le fournisseur OLEDB de Commerce Server, à l’aide de l’URL suivante : %1 Erreur OLEDB.
8198 | Erreur | DTS marketing : %1 Permet de signaler diverses erreurs fatales depuis la tâche DTS marketing. Le message effectif dépend de l’erreur.
8199 | Erreur | Permet de définir la chaîne de connexion de la campagne : %1 L’appel ADO à put_ConnectionString a échoué.
8200 | Erreur | L’importation du DTS marketing a démarré <inutilisé - mis en commentaire - bogue #29037>.
8201 | Erreur | Erreur lors du remplissage des structures d’accès aux colonnes de base de données pour la classe : %1 Erreur OLEDB.
8202 | Erreur | Erreur OLEDB
8203 | Erreur | DTS marketing Importation réussie. Enregistrement réussi de l’exécution de la tâche DTS marketing.
8204 | Avertissement | Notification de contrôle du service Gestionnaire de listes : %1 Enregistrement du démarrage et de l’arrêt du service.


Zone de fonctionnalité: Pers Perf

Envoyer des commentaires sur cette page Commerce Server 2002

Zone de fonctionnalité : Pers Perf

Le tableau suivant répertorie des messages d’événements connus pour la zone de fonctionnalité Pers Perf.

ID du message | Gravité | Commentaires
28672 | Erreur | Composant CSPerfCounters : échec de l’initialisation des attributs de sécurité.
28673 | Erreur | Composant CSPerfCounters : échec de création de - ‘%1’.
28674 | Erreur | Composant CSPerfCounters : erreur lors de la lecture du fichier ini - ‘%1’.
28675 | Erreur | Composant CSPerfCounters : erreur de registre - ‘%1’.


Zone de fonctionnalité: Système de profils

Envoyer des commentaires sur cette page Commerce Server 2002

Zone de fonctionnalité : Système de profils

Le tableau suivant répertorie des messages d’événements connus pour le système de profils.

ID du message | Gravité | Commentaires
16384 | Erreur | Une erreur interne s’est produite dans le composant service Profils.
16385 | Erreur | Le type de données du service Profils ne peut pas être converti vers le type de données natif de la banque des données sous-jacente ni à partir de celui-ci.
16386 | Erreur | Opération non valide effectuée sur le composant service Profils.
16387 | Erreur | L’opération en cours a été lancée sur un objet supprimé et ne peut donc pas être effectuée. Libérez le descripteur de cet objet supprimé.
16388 | Erreur | L’opération en cours a été effectuée à l’aide d’un type de profil non valide.
16389 | Erreur | Impossible de mettre à jour la valeur de cette propriété car il s’agit d’une propriété Join Key. La propriété de clé de jointure est non-modifiable sur un objet persistant. Cette erreur est renvoyée en cas de tentative de modification de la clé de jointure sur un objet persistant.
16390 | Erreur | Impossible de réinitialiser l’objet du service Profils. Le composant du service Profils ne peut pas être initialisé plusieurs fois.
16392 | Erreur | Chaîne de connexion incorrecte fournie à l’objet service Profils.
16393 | Erreur | Définition de profil non valide.
16394 | Erreur | Espace de pile insuffisant dans le composant service Profils.
16395 | Erreur | L’objet de profil existe déjà.
16396 | Erreur | Objet de profil introuvable. Vérifiez le nom du membre clé et la valeur du membre puis recommencez.
16397 | Erreur | L’objet service Profils n’est pas initialisé.
16398 | Erreur | Le nom du catalogue des définitions de profils transmis à la méthode d’initialisation du service Profils n’est pas valide.
16399 | Erreur | Une propriété à valeurs multiples d’une définition de profil ne peut pas être marquée comme clé.
16400 | Erreur | Une valeur non valide a été spécifiée pour le membre clé.
16401 | Erreur | Une situation d’engorgement récupérable a été rencontrée dans le cache d’objets de profil. Renouvelez votre appel. Cette erreur peut se produire dans deux scénarios: (a) Si deux threads (ou plus) essaient simultanément d’extraire un objet de profil qui n’existe pas dans le cache de l’objet du profil, et tentent d’insérer cet objet dans le cache, alors toutes les threads sauf la première retourneront cette erreur. Dans ce scénario, cette erreur est mineure et peut être ignorée. (b) Les données de l’objet du profil ne sont pas conformes aux règles de définition de profil (par exemple, plusieurs objets ont la même valeur de propriété pour une propriété marquée comme étant une clé unique).
16402 | Erreur | Le cache d’objets de profil est plein. Libérez les entrées incorrectes, puis recommencez votre opération. Si le problème persiste, consultez la documentation du service Profils.


Zone de fonctionnalité: Predictor

Envoyer des commentaires sur cette page Commerce Server 2002

Zone de fonctionnalité : Predictor

Le tableau suivant répertorie des messages d’événements connus pour Predictor.

ID du message | Gravité | Commentaires
24577 | Avertissement | Service Predictor : seulement %1 cas ont été trouvés lors de la construction du modèle à partir de la configuration ‘%2’. Au moins %3 cas sont recommandés. Cette erreur se produit lorsque la taille des données (le nombre de cas distincts) est trop petit.
24578 | Erreur | Service Predictor : le modèle ‘%1’ existe déjà. Création non commencée.
24579 | Informatif | Service Predictor : gestionnaire non installé. Cette erreur se produit si CS a été installé sans Predictor, mais essaie de se connecter à un service Predictor distant.
24580 | Informatif | Service Predictor arrêté.
24581 | Informatif | Service Predictor démarré.
24582 | Informatif | Service Predictor : demande de service incorrecte. Cette erreur se produit lors d’une tentative de connexion incorrecte au service.
24583 | Erreur | Service Predictor : création du modèle ‘%1’ commencée à l’aide de la configuration de modèle ‘%2’.
24584 | Erreur | Service Predictor : une erreur s’est produite lors de la création du modèle à partir de la configuration du modèle ‘%1’ : %2%2 est la description de l’erreur.
24590 | Erreur | Service Predictor : erreur lors de la suppression du modèle ‘%1’ : %2%2 est la description de l’erreur.
24591 | Erreur | Service Predictor : erreur lors du changement du nom de modèle ‘%1’ en ‘%2’ : %3%3 est la description de l’erreur.
24592 | Erreur | Service Predictor : erreur lors de la suppression de la configuration de modèle ‘%1’ : %2%2 est la description de l’erreur.
24593 | Erreur | Service Predictor : erreur lors du changement du nom de configuration de modèle ‘%1’ en ‘%2’ : %3%3 est la description de l’erreur.
24594 | Informatif | Service Predictor : le modèle ‘%1’ a été supprimé.
24595 | Informatif | Service Predictor : le modèle ‘%1’ a été renommé ‘%2’.
24596 | Informatif | Service Predictor : la configuration de modèle ‘%1’ a été supprimée.
24597 | Informatif | Service Predictor : la configuration de modèle ‘%1’ a été renommée ‘%2’.


Zone de fonctionnalité: Configuration de site

Envoyer des commentaires sur cette page Commerce Server 2002

Zone de fonctionnalité : Configuration de site

Le tableau suivant répertorie des messages d’événements connus pour la zone de fonctionnalité Configuration de site.

ID du message | Gravité | Commentaires
36865 | Erreur | Erreur dans MSCSSiteConfig.cls::Initialize
36866 | Erreur | Erreur dans MSCSSiteConfigAdmin.cls::ImportResource
36867 | Erreur | Erreur dans MSCSSiteConfigAdmin.cls::ExportResource
36868 | Erreur | Erreur dans MSCSSiteConfigAdmin.cls::AddRefToGroupComponent
36869 | Erreur | Erreur dans Erreur objet Commerce SiteAdmin


Zone de fonctionnalité: Service de publipostage

Envoyer des commentaires sur cette page Commerce Server 2002

Zone de fonctionnalité : Service de publipostage

Le tableau suivant répertorie des messages d’événements connus pour le Service de publipostage.

ID du message | Gravité | Commentaires
10 | Informatif | Le service a démarré. Le Service de publipostage a démarré.
11 | Informatif | Le service s’est arrêté. Le Service de publipostage s’est arrêté.
12 | Informatif | L’exécution du travail %1 est terminée. Nom du travail : %2. Heure de début : %3. Heure de fin : %4. Nombre de destinataires : %5. Nombre d’erreurs : %6.Message de fin de travail.
256 | Avertissement | Demande de contrôle non valide. Demande de contrôle de service non valide reçue.
257 | Avertissement | Erreur lors de l’ouverture ou de l’ajout au fichier journal : %1. La journalisation est désactivée. Erreur pendant les opérations de journalisation. Journalisation terminée.
258 | Avertissement | Le travail ‘%1’ a été annulé en raison d’une erreur fatale ou parce que le nombre total d’erreurs liées au travail a dépassé la limite. Limite d’erreurs dépassée.
259 | Avertissement | Le travail ‘%1’ a été annulé en raison de la demande d’arrêt du système. Le travail a été annulé à la suite d’une demande d’arrêt.
260 | Avertissement | La tentative de connexion à la base de données du Service de publipostage a échoué. Vérifiez les paramètres de configuration et l’état du serveur de base de données. La connexion à la base de données a échoué.
261 | Avertissement | Le travail %1 a été annulé car la base de données du Service de publipostage n’est plus disponible. Nom du travail : %2. Heure de début : %3. Heure de fin : %4. Nombre de destinataires : %5 sur %6. Nombre d’erreurs : %7.Le travail continuera à afficher un état d’exécution (3) même lorsque la base de données sera de nouveau accessible lors d’une connexion en ligne. Pour redémarrer le travail, utilisez "dmlrun.exe /run:%1" ou arrêtez et redémarrez le Service de publipostage. Le travail a été arrêté car la base de données Job SQL n’est plus disponible et le nombre autorisé de nouvelles tentatives est atteint.
262 | Avertissement | Le travail %1 s’est arrêté avant la fin de son exécution. Nom du travail : %2. Heure de début : %3. Heure de fin : %4. Nombre de destinataires : %5 sur %6. Nombre d’erreurs : %7.Travail arrêté avant terme. Peut reprendre.
512
  • Erreur
 Impossible de démarrer le service : le Gestionnaire de services n’est pas installé. Erreur fatale dans le démarrage du service.
513 | Erreur | Impossible d’initialiser le service en raison de l’erreur suivante : %1. Résolvez le problème et redémarrez le service. Erreur de démarrage du service.
514 | Erreur | Impossible d’initialiser le service. Une exception inconnue a eu lieu. Exception non gérée pendant le démarrage du service.
515 | Erreur | Impossible d’accéder aux informations de configuration du service en raison de l’erreur suivante : hr=0x%1!x! %2. Résolvez le problème et redémarrez le service. Erreur de lecture de la configuration du service.
516 | Erreur | Impossible d’accéder à la configuration du service. Une exception inconnue a eu lieu. Exception non gérée pendant le démarrage du service.
517 | Erreur | Exception non gérée dans le module : %1 L’exécution du module s’est arrêtée. Exception non gérée au niveau du service. Arrêt.
518 | Erreur | Le service a été initialisé mais n’a pas pu se connecter à la base de données. Résolvez le problème et redémarrez le service. Le service tentera de se connecter plusieurs fois au démarrage mais échouera.
519 | Erreur | L’initialisation CDO a échoué : %1 <inutilisé>
520 | Erreur | L’initialisation ADO a échoué : %1<inutilisé>
521 | Erreur | La connexion ADO à la base de données du Service de publipostage a échoué : %1. Vérifiez les paramètres de configuration <inutilisé>
522 | Erreur | Impossible d’exécuter la commande ADO en raison du problème suivant : %1. Vérifiez les paramètres de configuration. <incorrect parce que non utilisé de façon cohérente> Enregistré à quelques endroits lorsque la commande ADO a échoué.
523 | Erreur | Paramètre(s) de configuration non valide(s).<inutilisé>
524 | Erreur | Erreur lors de la création ou de la manipulation d’un objet principal de Commerce Site Server ‘%1’. Code d’erreur %2.<incorrect> Utilisé à un emplacement pendant l’initialisation pour signaler une défaillance de type SimpleList.
525 | Erreur | Erreur lors de la création ou de la manipulation d’un objet interne ‘%1’. L’exécution s’est arrêtée.<incorrect> Utilisé à un emplacement pendant l’initialisation pour signaler à quoi correspond réellement une situation de mémoire insuffisante.


Zone de fonctionnalité: Tâche DTS du Générateur de modèles

Envoyer des commentaires sur cette page Commerce Server 2002

Zone de fonctionnalité : Tâche DTS du Générateur de modèles

Le tableau suivant répertorie des messages d’événements connus pour la Tâche DTS du Générateur de modèles.

ID du message | Gravité | Commentaires
26625 | Informatif | Tâche DTS du Générateur de modèles : %1.Indication du début de création du modèle. %1 sera remplacé par un modèle comprenant le nombre ordinal de la génération et le nom du modèle. La création du modèle « test » a commencé pour la 1ère fois.
26626 | Erreur | Tâche DTS du Générateur de modèles : %1. Indication de l’échec de la génération du modèle. %1 sera remplacé par un message d’erreur et de nouvelle tentative. La génération a échoué - le nombre de nouvelles tentatives est de 1 sur 5 en 30 secondes.
26627 | Informatif | Tâche DTS du Générateur de modèles : %1. Indication de la fin de la génération. %1 sera remplacé par un message comprenant le nom du modèle. La génération du modèle « test » s’est terminée avec succès.


Pour plus d'informations sur le dépannage

Envoyer des commentaires sur cette page Commerce Server 2002

Pour plus d’informations sur le dépannage

Pour obtenir des informations supplémentaires sur le dépannage, consultez les ressources suivantes :

Ressource | Emplacement
Rubriques sur le débogage dans l’aide de Commerce Server 2002
  • Debugging the Business Desk (en anglais)
  • Content Selection Framework Concepts
Fichier Lisezmoi de Commerce Server 2002 | CD-ROM d’installation de Microsoft Commerce Server 2002
Site Web Microsoft Commerce Server | http://go.microsoft.com/fwlink/?LinkId=945
Sites solutions Commerce Server Contient des informations techniques et des versions à télécharger des sites solutions Commerce Server.

http://go.microsoft.com/fwlink/?LinkId=6767
TechNet Contient des informations techniques et des outils conçus pour vous aider à planifier, développer, déployer et gérer vos sites Web d’e-commerce.

Pour plus d’informations sur Commerce Server, sélectionnez l’option Commerce Server du menu Products & Technologies situé sur le côté gauche de l’écran.

http://go.microsoft.com/fwlink/?LinkId=5160 (en anglais)
Kit de développement de logiciel (SDK, Software Development Kit) de Microsoft Commerce Server 2002. | Contient des informations techniques à l’intention des développeurs qui créent des programmes ou des pages Web intelligentes devant s’intégrer à l’interface API (Application Programming Interface) de Commerce Server. Le Kit de développement de logiciel contient un guide pour les programmeurs ainsi que des références aux diverses technologies Commerce Server et commerciales. Il comprend également des fichiers d’exemple et d’en-tête que vous pouvez utiliser pour créer vos propres programmes. Inclus avec Commerce Server 2002.
Microsoft Commerce Server 2000 Resource Kit | Le Kit de Ressources Techniques Commerce Server 2000 contient des informations techniques et des outils conçus pour vous aider à planifier, développer, déployer et gérer votre site Web d’e-commerce. Il est disponible auprès de Microsoft Press.
Informations MSDN | Contient des informations sur Commerce Server et d’autres serveurs d’entreprise Microsoft .NET. Visiter ce site de façon régulière peut s’avérer utile. Recherchez MSDN et entrez Commerce Server pour obtenir les documents et les livres blancs qui s’y rapportent. http://go.microsoft.com/fwlink/?LinkId=5161
Site des serveurs Microsoft Un guide sur la gamme entière des produits serveur Microsoft pour les informaticiens, les développeurs et les spécialistes Internet.

http://go.microsoft.com/fwlink/?LinkId=6732
Groupes de discussion Pour des annonces et des informations concernant le support de cette version, consultez le groupe de discussion Microsoft.private.CS2002.Discussion sur le serveur privatenews.microsoft.com.

Pour accéder à ce groupe de discussion, utilisez l’identificateur d’utilisateur et le mot de passe suivants :

  • ID d’utilisateur en partage : privatenews\cs2002
  • Mot de passe : cs2002

Pour plus d’informations sur l’accès aux groupes de discussion Microsoft, consultez http://go.microsoft.com/fwlink/?LinkId=5816 (en anglais)
Support Premier Le support Premier fournit un accès proactif à des compétences techniques spécialisées dont les grandes entreprises ont besoin pour maximaliser leur valeur économique et réduire leur coût global. Consultez notre site customized support sites réservé aux clients Premier ou affichez les résumés analytiques ci-dessous pour en savoir davantage. Pour plus d’informations, contactez votre chargé de compte Microsoft ou appelez le support technique Microsoft au 0825-827-829 (France) et au 1 (905) 568-3503 (Canada).
  • Support Microsoft Premier pour systèmes d’entreprise
  • Support Microsoft Premier pour les développeurs
  • Support Microsoft Premier pour MCSPs
  • Support Microsoft Premier pour OEM (Original Equipment Manufacturers)
  • Support Microsoft Authorized Premier Support


Glossaire

A B C D E F G H I L M N O P R S T U V W X Z

Symboles

.NET Framework

Plate-forme permettant de créer, de déployer et d’exécuter des services et des applications Web. Elle fournit un environnement multilingue hautement performant basé sur les normes pour l’intégration des investissements existants d’une entreprise à des applications et des services de nouvelle génération, ainsi que la souplesse nécessaire pour relever les défis que présentent le déploiement et le fonctionnement d’applications à l’échelle d’Internet. La plate-forme .NET Framework se compose de trois parties principales : le Common Language Runtime, un ensemble hiérarchique de bibliothèques de classes unifiées et une version par composants de ASP, appelée ASP.NET.

Voir aussi : ASP.NET, Common Language Runtime

A

abonnement à une liste de publipostage

Action effectuée par un utilisateur pour s’inscrire à une liste de publipostage.

abonnement

Processus par lequel les utilisateurs ajoutent leur adresse de messagerie à une liste du Gestionnaire de listes afin de recevoir du contenu, ou fournissent des informations d’inscription pour récupérer du contenu ou accéder à un service ou à un site.

accès anonyme

Voir authentification anonyme.

accès authentifié

Option d’accès des utilisateurs que vous pouvez définir au niveau du site Web par défaut ou de l’application dans les services IIS. Contrairement à l’accès anonyme, l’accès authentifié exige que l’utilisateur ait un compte et un mot de passe valides pour accéder au site. Les trois types d’accès authentifié sont l’authentification de base, l’authentification Digest et l’authentification intégrée de Windows.

accès

Action unique (par exemple, un clic sur une publicité) effectuée par un utilisateur d’un site Web qui entraîne l’ajout d’une ligne de données dans le fichier journal du serveur Web.

Acheter

Modèle de contenu utilisé dans Commerce Server pour encourager les achats sur impulsion : l’utilisateur peut acheter des produits sur n’importe quelle page Web disponible sur Internet. Lorsqu’un utilisateur clique sur l’image d’un produit, une boîte de dialogue lui demandant son adresse de livraison et son numéro de carte de crédit s’affiche.

action de ciblage

Option qui spécifie qu’un contenu doit être affiché lorsque la cible est atteinte plus souvent que lorsqu’elle ne l’est pas. Utilisez une action de ciblage lorsqu’il est difficile de respecter les ciblages quantitatifs de l’élément de la campagne (par exemple, si vous n’avez pas suffisamment de cibles par rapport au nombre d’affichages souhaité). Par exemple, si vous devez livrer 1 000 demandes de publicité à des utilisateurs qui vivent en Alaska et que seuls 15 utilisateurs répondent à ce critère, vous serez obligé de livrer cette publicité à des personnes qui ne vivent pas en Alaska. Utilisez le module Groupes cibles de Business Desk pour spécifier l’action de ciblage pour une expression.

Active Directory

Service d’annuaire de Windows NT 4.0 et Windows 2000 Server. Active Directory stocke les informations concernant les objets du réseau et permet aux administrateurs système et aux utilisateurs autorisés d’accéder à ces informations. Il permet aux utilisateurs du réseau d’accéder aux ressources autorisées de l’ensemble du réseau à l’aide d’un seul processus d’ouverture de session. En outre, il fournit aux administrateurs système un affichage hiérarchique intuitif du réseau et offre un point d’administration unique pour tous les objets du réseau.

Active Directory Service Interfaces (ADSI)

Modèle de service d’annuaire basé sur le modèle COM (Component Object Model) qui permet aux applications clientes compatibles ADSI d’accéder à une large gamme de protocoles d’annuaire, comme les services d’annuaire Windows, le protocole LDAP (Lightweight Directory Access Protocol) ou le service NDS (Novell Directory Services), en utilisant un ensemble d’interfaces unique et standard. ADSI épargne à l’application cliente les détails d’implémentation et de fonctionnement de la banque de données ou du protocole sous-jacents.

Active Server Pages (ASP)

Environnement de script côté serveur permettant de créer des pages Web dynamiques ou des applications Web. Les pages ASP sont des fichiers contenant des balises HTML, du texte et des commandes de script. Les pages ASP peuvent appeler des composants COM (Component Object Model) pour effectuer certaines tâches, par exemple pour se connecter à une base de données ou procéder à un calcul. Avec ASP, vous pouvez ajouter un contenu interactif à des pages Web ou créer des applications Web entières utilisant des pages HTML pour l’interface avec les clients.

Active Template Library (ATL)

Bibliothèque de modèles C++ qui facilite le développement de petits composants COM efficaces. Cette bibliothèque a été développée par Microsoft et est incluse dans Visual C++.

Active User Object (AUO)

Infrastructure qui fournit un mécanisme d’accès simple et uniforme pour toutes les informations de profil utilisateur, évitant ainsi aux créateurs de scripts de spécifier l’emplacement de l’identification des utilisateurs et de stockage du profil. Un administrateur système peut configurer un ordinateur pour définir un espace de noms virtuel pour les informations de profil, définissant ainsi les informations de configuration nécessaires pour accéder aux données de profil à partir de différentes sources.

Techniquement parlant, un objet AUO est un conteneur d’objets ADSI. Un administrateur système définit le nombre d’objets que l’objet AUO peut contenir et fournit des informations pour la gestion de ces objets. Cela permet d’obtenir un modèle extensible afin d’ajouter de nouveaux fournisseurs de stockage ou d’autres sources de profils. En créant ou en réutilisant des fournisseurs ADSI, vous pouvez accéder aux informations de profil de n’importe quelle banque.

ActiveX Data Objects (ADO)

Ensemble d’interfaces d’accès aux données basées sur les objets, indépendant du langage et de haut niveau, optimisé pour les applications de données. ADO permet aux applications clientes d’afficher et de manipuler les données d’un serveur de base de données via un fournisseur OLE DB.

Voir aussi : objets de données ADO MD (ActiveX Data Objects Multidimensional)

Active Server Page Extension (ASPX)

Voir ASPX (Active Server Page Extension).

administrateur

Voir administrateur système.

administrateur système

Principal utilisateur du Gestionnaire Commerce Server. Cette personne est responsable de l’installation, de la configuration et de la gestion de Commerce Server.

ADO MD

Voir objets de données ADO MD (ActiveX Data Objects Multidimensional).

ADO

Voir ActiveX Data Objects.

adresse URL pointée

Adresse URL que les utilisateurs voient lorsqu’ils cliquent sur un élément de votre site Web ou un message de publipostage.

adresse Internet

Voir nom de domaine Internet.

ADSI

Voir Active Directory Service Interfaces.

affinité d’étape

Qualité des composants qui peuvent fonctionner pour une certaine étape. Pour identifier la ou les étapes avec lesquelles un composant a une affinité, écrivez l’ID de classe du nouveau composant dans la clé \HKEY_CLASSES_ROOT\CLSID\component_classid\implemented categories\stage_catid du registre Microsoft Windows NT0, où stage_cat_id est l’identificateur global unique (GUID, globally unique identifier) de l’étape avec laquelle le composant aura une affinité, et où component_class_id est l’ID de classe du composant lui-même.

Voir aussi : étape

AggregateColumn

Colonne d’une table dense ou clairsemée qui attribue des valeurs à des propriétés identifiées dans la colonne PivotColumn. Par exemple, si la colonne PivotColumn contient les références des produits, la colonne AggregateColumn contient le nombre de fois où chaque produit a été acheté. Si la colonne PivotColumn contient des identificateurs de groupes de pages (PageGroupID), la colonne AggregateColumn contient le nombre de fois où chaque groupe de pages a été consulté. Si la colonne PivotColumn contient des identificateurs de publicités (AdID), la colonne AggregateColumn contient le nombre de fois où chaque publicité a fait l’objet d’un clic. La colonne AggregateColumn est identifiée dans la table PredictorDataTables.

Voir aussi : groupe de pages, CaseColumn, table clairsemée, table dense, PivotColumn

agrégation

Table ou structure contenant des données précalculées pour un cube OLAP (OnLine Analytical Processing). Les agrégations prennent en charge l’interrogation rapide et efficace d’une base de données multidimensionnelle.

agrégation par bandes

Processus de stockage de données dans des bandes sur un ou plusieurs disques physiques. Les données stockées sur un volume agrégé par bandes sont allouées tour à tour et uniformément (en bandes) sur des disques agrégés par bande. Les volumes agrégés par bandes offrent les meilleures performances de tous les volumes disponibles dans Windows 2000, mais ils ne proposent pas la tolérance de pannes. Si un disque d’un volume agrégé par bandes subit une défaillance, les données de l’ensemble du volume sont perdues. Vous ne pouvez créer des volumes agrégés par bandes que sur des disques dynamiques. Les volumes agrégés par bandes ne peuvent pas être mis en miroir ou étendus. Dans Windows NT 4.0, un volume agrégé par bandes était appelé « agrégat par bandes ».

algorithme de hachage MD5

Schéma de hachage 128 bits à sens unique aux normes de l’industrie, développé par RSA Data Security, Inc., et utilisé pour l’authentification cryptée. Un schéma de hachage est une méthode permettant de transformer des données (par exemple un mot de passe) de telle façon que le résultat est unique et ne peut pas être rétabli dans sa forme initiale.

annulation de l’abonnement

Action effectuée par un utilisateur pour annuler son inscription à une liste de publipostage. Cet utilisateur est alors ajouté à la liste des annulations d’abonnements.

application

Du point de vue de l’administration de Commerce Server 2002, une application est une application ASP accessible via une seule adresse URL (Uniform Resource Locator). Une application apparaît dans l’arborescence de la console de Commerce Server et dans celle des services IIS. L’application qui s’affiche dans l’arborescence de la console Gestionnaire Commerce Server est une représentation logique de l’application qui apparaît dans les services IIS.

Application Center 2000

Outil Microsoft de gestion et de déploiement pour les applications Web haute disponibilité créées pour Windows 2000.

application Commerce Server

Voir application.

application HTML (HTA, HTML Application)

Mécanisme d’Internet Explorer permettant d’afficher du code HTML sous la forme d’une application autonome. Commerce Server Business Desk est implémenté en tant qu’application HTML et contient du code empêchant son exécution dans une instance de navigateur classique.

application IIS

Voir application.

application non-Commerce Server

Conteneur de serveurs Web non-Commerce Server avec des propriétés communes pour l’application. Ce type d’application est comparable à une application Commerce Server et ses serveurs Web Commerce Server membres.

application Web

Voir application.

arborescence de la console

Volet gauche d’une interface MMC (Microsoft Management Console) qui affiche les éléments contenus dans la console. Par défaut, il s’agit du volet gauche de la fenêtre de la console, mais ce volet peut être masqué. Les éléments de l’arborescence de la console et leur organisation hiérarchique déterminent les fonctionnalités de cette console.

arborescence de décision

Représentation graphique d’un ensemble de règles de prévision indiquant la probabilité pour qu’un événement prévoie un autre événement en fonction de données historiques. L’arborescence de décision pour l’attribut X code la distribution de probabilité p (X | attributs qui prévoient X).

Voir aussi : réseau de dépendances

arc

Représentation graphique d’une relation statistique dans un réseau de dépendances. Par exemple, un arc du nœud A vers le nœud B signifie que l’attribut A aide à prévoir l’attribut B, mais n’implique pas que l’attribut B aide à prévoir l’attribut A.

Voir aussi : réseau de dépendances

architecture à trois niveaux

Architecture qui divise une application réseau en trois zones logiques : le niveau de l’interface utilisateur (également appelé « niveau supérieur »), le niveau de la logique commerciale (également appelé « niveau intermédiaire ») et le niveau des bases de données (également appelé « niveau inférieur »). Les niveaux peuvent comporter un ou plusieurs composants. Par exemple, il peut y avoir une ou plusieurs interfaces utilisateur dans le niveau de l’interface utilisateur. De plus, chaque interface utilisateur peut communiquer avec plusieurs applications du niveau de niveau de la logique commerciale, et les applications du niveau de la logique commerciale peuvent utiliser simultanément plusieurs bases de données. Les composants d’un niveau peuvent être exécutés sur un ordinateur qui est séparé des autres niveaux, en communiquant avec les autres composants via un réseau.

ASP.NET

Infrastructure permettant de créer des applications Web serveur. Évolution de Active Server Pages (ASP) en espace de code managé.

Voir aussi : code managé, .NET Framework, ASPX (Active Server Page Extension)

ASP

Voir Active Server Pages (ASP).

ASPX (Active Server Page Extension)

Extension de fichier utilisée pour les pages ASP écrites avec ASP.NET.

Voir aussi : ASP.NET

assembly

Ensemble de fonctionnalités créées, mises en œuvre dans différentes versions et déployées sous la forme d’unité d’implémentation unique (dans un ou plusieurs fichiers). Un assembly est le bloc de construction élémentaire d’une application .NET. L’ensemble des types et ressources managés sont signalés comme étant soit accessibles uniquement dans leur unité d’implémentation, soit exportés pour qu’ils soient utilisés par du code hors de cette unité. Lors de l’exécution, l’assembly établit l’étendue des noms pour la résolution de demandes, et les limites de visibilités sont renforcées. L’exécution peut déterminer et localiser l’assembly correspondant à tout objet en cours d’exécution, car chaque type est chargé dans le contexte d’un assembly.

Voir aussi : espaces de noms, PIA (Primary Interop Assembly)

Assistant Composant de pipeline ATL

Assistant Visual C++ qui utilise ATL et d’autres modèles pour faciliter le développement de composants de pipeline.

ATL

Voir Active Template Library (ATL).

attribut

Caractéristique qui décrit une propriété, un objet ou une personne. Les attributs peuvent inclure des informations telles que le type de données de la propriété (par exemple, nombre, texte ou décimal), si la propriété est exportée vers Data Warehouse de Commerce Server, si la propriété est affichée aux utilisateurs ou si la propriété est indexée en texte intégral. Un attribut peut correspondre à un ensemble de valeurs comme la couleur des cheveux ou l’âge. En fonction de la propriété ou de l’objet décrit, un attribut peut également être appelé variable, colonne ou dimension.

Voir aussi : nœud

attribut de propriété de profil

Caractéristique qui décrit une propriété de profil. Les attributs de propriété de profil fournissent des informations telles que le type de données de la propriété de profil (par exemple, nombre, texte et décimal), si la propriété comporte une valeur unique (par exemple, seul un prénom est autorisé) ou multiple, et si un utilisateur visitant le site Web peut effectuer une recherche à l’aide de cette propriété.

audit

Suivi des activités des utilisateurs via l’enregistrement de certains types d’événements dans le journal de sécurité d’un serveur ou d’une station de travail.

AUO

Voir Active User Object (AUO).

authentification anonyme

Une des méthodes d’authentification que vous pouvez définir au niveau du site Web ou de l’application dans les services IIS. L’authentification anonyme permet d’établir une connexion Web anonyme (HTTP) sans fournir de nom d’utilisateur ni de mot de passe. Elle est souvent utilisée dans les zones publiques d’un site Internet. Si vous activez l’authentification anonyme pour un site, une connexion anonyme sera établie même si l’accès authentifié a également été activé, à moins que des autorisations NTFS plus restrictives n’aient été définies sur le fichier demandé. Également appelée accès anonyme.

Authentification Digest

Une des méthodes d’authentification que vous pouvez définir au niveau du site Web par défaut ou de l’application dans les services IIS. Avec l’authentification Digest, une valeur de hachage est envoyée sur le réseau, et non un mot de passe en clair. Cette méthode fonctionne sur des serveurs proxy et des pare-feu (firewall). Il s’agit d’une méthode d’accès authentifié haute sécurité.

Authentification intégrée de Windows

Une des méthodes d’authentification que vous pouvez définir au niveau du site Web ou de l’application dans les services IIS. Cette méthode utilise le nom d’utilisateur et le mot de passe d’ouverture de session Windows pour l’authentification, mais ne demande pas ces informations à l’utilisateur, sauf si l’authentification échoue. Cette méthode ne fonctionne pas pour les connexions proxy et est utilisée pour les zones privées des intranets.

authentification mutuelle

Méthode d’authentification dans laquelle le client et le serveur doivent tous les deux prouver leur identité. L’authentification mutuelle peut être obtenue à l’aide du processus d’authentification par certificat, dans lequel un ordinateur client présente son certificat au serveur et le serveur présente son certificat à l’ordinateur client.

autorisation

Processus qui vérifie si un utilisateur dispose des autorisations adéquates pour accéder à une ressource (par exemple, une page Web ou une base de données ) ou s’il dispose des privilèges appropriés pour effectuer une tâche donnée (par exemple, une sauvegarde). L’autorisation est généralement définie par un administrateur système ou un développeur de site. Elle est vérifiée et supprimée par l’ordinateur. L’utilisateur fournit une identification, par exemple un numéro de code ou un mot de passe, que l’ordinateur confronte à ses enregistrements internes.

B

banque de données

Base de données SQL Server ou autre base de données contenant les données utilisées par un site commercial, par exemple des informations sur les utilisateurs inscrits, les produits ou les publicités. Ce terme désigne également le serveur qui contient les données (serveur de la banque de données).

banque d’expressions

Tables d’une base de données Commerce Server permettant de stocker les informations sur les expressions.

Voir aussi : banque

banque de configuration de site

Base de données d’administration contenant les paramètres de configuration du site, dont la devise de base, la devise secondaire et le nom du serveur SMTP.

banque

Ensemble de tables d’une base de données.

Voir aussi : banque d’expressions

barre d’état

Petite zone d’affichage en longueur située au bas du volet de contenu de Commerce Server Business Desk. Elle est utilisée pour afficher l’état de la tâche en cours (par exemple, le chargement d’un message) et la signification des symboles utilisés dans les composants HTML de la page d’action.

Voir aussi : page d’action

barre d’outils

Ligne horizontale de boutons située en haut d’un écran Commerce Server Business Desk lorsque le volet de contenu est affiché. Ces boutons permettent d’accéder aux fonctionnalités disponibles dans l’écran Business Desk affiché.

basculement

Processus consistant à mettre hors ligne des ressources, individuellement ou dans un groupe, sur un nœud de cluster de serveurs pour les remettre en ligne sur un autre nœud. La transition s’effectue dans un ordre prédéfini, les ressources qui dépendent d’autres ressources étant mises hors ligne avant et remises en ligne après les ressources dont elles dépendent.

Base de données d’administration

Base de données SQL Server qui stocke les données de configuration des ressources pour tous les ordinateurs exécutés dans le cadre d’une même installation logique de Commerce Server. Cette base de données est créée par le programme d’installation de Commerce Server.

base de données du service de publipostage

Base de données SQL Server qui contient des corps de message électronique, des données d’événement et des données de travail. Le programme d’installation de Commerce Server installe la base de données du service de publipostage lorsque vous installez le service de publipostage Commerce Server. Cette base de données est installée sur le même ordinateur que le service de publipostage. Utilisez le Gestionnaire Commerce Server pour spécifier la chaîne de connexion du service de publipostage vers la base de données du service de publipostage.

Voir aussi : Service de publipostage (Direct Mailer) Commerce Server

base de données du Gestionnaire de listes

Base de données qui stocke les listes d’enregistrements utilisateur. Vous créez des listes d’enregistrements utilisateur à l’aide du module Gestionnaire de listes de Commerce Server Business Desk. Ces listes sont utilisées par le service de publipostage pour exécuter des campagnes de publipostage et sont également disponibles dans le module Utilisateurs de Commerce Server Business Desk.

base physique

Bases de données physiques qui comprennent Data Warehouse.

batterie de serveurs (server farm)

Voir cluster de serveurs, batterie de serveurs Web (Web farm).

batterie de serveurs Web (Web farm)

Plusieurs serveurs Web connectés ensemble afin de partager des ressources et la charge des demandes. En règle générale, une batterie de serveurs Web (Web farm) implique une prise en charge de l’équilibrage de la charge, de la tolérance de pannes et du basculement, et s’affiche à l’utilisateur comme un serveur unique avec une adresse IP (Internet Protocol) unique. Également appelée batterie de serveurs (server farm) ou cluster de serveurs.

Voir aussi : cluster, cluster de serveurs

BCL

Voir bibliothèque de classes de base (BCL, Base Class Library)

BCP (Bulk Copy Program, programme de copie en bloc)

Utilitaire d’invite de commande pour la copie en bloc, qui copie des données SQL Server depuis ou vers un fichier de système d’exploitation au format spécifié par l’utilisateur.

bibliothèque de classes de base (BCL, Base Class Library)

Ensemble de classes, d’interfaces et de types de valeurs inclus dans l’infrastructure d’application .NET de Commerce Server. Cette bibliothèque permet d’accéder à la fonctionnalité d’exécution de Commerce Server ; en outre, elle est conçue pour représenter le point de départ en matière de création d’applications, de composants et de contrôles Commerce Server .NET.

BizTalk Server 2000

Produit Microsoft qui fournit les outils et l’infrastructure dont les entreprises ont besoin pour échanger des documents commerciaux entre différentes plates-formes et différents systèmes d’exploitation, quelle que soit l’application utilisée pour traiter ces documents.

Bulk Copy Program (BCP)

Voir BCP (Bulk Copy Program, programme de copie en bloc).

Business Desk

Voir Commerce Server Business Desk.

C

CA

Voir cryptage asymétrique.

cache

Sous-système mémoire dans lequel les données fréquemment utilisées sont dupliquées pour un accès plus rapide. Un cache stocke le contenu des emplacements de mémoire vive fréquemment demandés et les adresses où ces éléments de données sont stockés. Lorsque le processeur demande une adresse de mémoire, le cache vérifie s’il dispose de cette adresse. Si c’est le cas, les données sont renvoyées au processeur. Sinon, un accès mémoire classique est effectué.

Un cache est utile si les accès à la mémoire vive sont lents par rapport à la vitesse du microprocesseur, car la mémoire cache est plus rapide que la mémoire vive principale. Lorsque vous utilisez Commerce Server Business Desk, vous pouvez vider les caches qui stockent les données de profil, de catalogue, de transaction et de campagne marketing de votre site. La prochaine fois que Commerce Server recevra une demande pour ces données, les données mises à jour seront chargées dans les caches.

Voir aussi : module Publier les campagnes marketing, module Publier les profils, module Publier les codes de commandes

Cache Loader

Composant utilisé par l’objet CacheManager pour charger des données dans un objet cache Dictionary. Bien que ce composant soit implémenté en tant que composant de pipeline, il n’est pas exécuté dans le contexte d’un pipeline.

Cache Writer

Composant utilisé par l’objet CacheManager pour écrire des données d’activité à partir d’un objet cache Dictionary. Bien que ce composant soit implémenté en tant que composant de pipeline, il n’est pas exécuté dans le contexte d’un pipeline.

calcul du prix du produit

Détermination du prix à appliquer pour un produit donné et pour un utilisateur donné.

campagne marketing

Programme marketing qui utilise différents supports de communication (par exemple, la publicité ou le publipostage) pour parvenir à un résultat spécifique : augmentation des parts de marché, introduction de nouveaux produits ou encore fidélisation des clients.

campagne de publipostage

Campagne marketing qui consiste à envoyer des publicités sous forme de messages électroniques à un groupe d’utilisateurs ciblé. L’objectif est d’obtenir un taux de réponse élevé à ces publipostages.

canal

Ensemble de propriétés qui identifient la source des documents et définissent les étapes du traitement effectué par BizTalk Server avant qu’un document parvienne à la destination spécifiée par le port d’échanges auquel le canal est associé.

cas

Ensemble d’informations connues au sujet d’un utilisateur donné, par exemple les données de profil utilisateur et l’historique des transactions. Chaque cas est créé à partir des données de Data Warehouse de Commerce Server. Les cas permettent à Commerce Server de définir un modèle de prévision.

Voir aussi : fraction de l’échantillon mesurée pour la précision, taille de l’échantillon, table clairsemée, CaseColumn, table dense

CaseColumn

Colonne d’une table dense ou clairsemée qui identifie de façon unique un cas. Par exemple, dans un cas contenant des informations relatives à un utilisateur, la colonne contenant l’identificateur d’utilisateur (UserID) est la colonne CaseColumn. La colonne CaseColumn est identifiée dans la table PredictorDataTables.

Voir aussi : cas, table clairsemée, PivotColumn, table dense, AggregateColumn

catalogue de synthèse

Catalogue virtuel affichant le contenu de deux catalogues ou plus. Par exemple, si vous vendez le contenu de différents fournisseurs et que chacun d’eux vous envoie un ou plusieurs catalogues, vous pouvez regrouper le contenu dans un seul catalogue de synthèse. Pour l’utilisateur qui visite votre site, un catalogue de synthèse apparaît comme un seul catalogue. Un catalogue de synthèse se distingue d’un groupe de catalogues dans la mesure où vous spécifiez les utilisateurs ou organisations pouvant consulter un groupe de catalogues, alors qu’un catalogue de synthèse est à la disposition de tous les utilisateurs. Afin d’améliorer les performances, il est conseillé de matérialiser tous les catalogues de synthèse virtuels.

Voir aussi : matérialiser, catalogue virtuel, groupe de catalogues

catalogue de base

Catalogue source à partir duquel un catalogue virtuel est créé.

Voir aussi : catalogue, groupe de catalogues, catalogue virtuel, matérialiser

catalogue

Collection de catégories et de produits. Le nom de chaque catalogue est unique. Commerce Server prend en charge deux types de catalogues : les catalogues de base et les catalogues virtuels.

Voir aussi : catalogue virtuel, catalogue de base

catalogue personnalisé

Catalogue qui contient les mêmes catégories et produits qu’un catalogue de base, mais également des règles de tarification personnalisées pour les produits. Les catalogues personnalisés sont une fonctionnalité de Commerce Server 2000. Dans Commerce Server 2002, les catalogues virtuels remplacent les catalogues personnalisés.

Voir aussi : catalogue virtuel

catalogue de texte intégral

Objet SQL Server qui stocke l’index de texte intégral d’une base de données.

catalogue virtuel

il s’agit d’un catalogue référençant les données sur les produits d’un ou plusieurs catalogues de base. Si vous ajoutez un produit à un catalogue de base, le produit peut aussi apparaître dans le catalogue virtuel associé, en fonction des règles d’ajout qui ont été définies. Les produits ne sont répertoriés qu’une fois dans la base de données, quel que soit le nombre de catalogues virtuels dans lesquels ils apparaissent. Un catalogue virtuel hérite de toutes les langues des catalogues de base. Les catalogues virtuels sont principalement utilisés pour effectuer les trois opérations suivantes : regrouper plusieurs catalogues afin qu’ils apparaissent sous la forme d’un seul catalogue pour les utilisateurs ; tarifer les produits dans plusieurs devises et fournir une tarification spéciale, ou des sous-ensembles de produits, pour des groupes d’utilisateurs spécifiques.

Voir aussi : catalogue de base, catalogue, groupe de catalogues, tarif préférentiel, matérialiser, catalogue de synthèse, catalogue personnalisé

catégorie ancêtre

Catégorie plus proche de la catégorie racine par l’intermédiaire d’une ou plusieurs relations parent-enfant. Une catégorie parent est une catégorie ancêtre, ainsi que le parent de ce parent, et ainsi de suite.

Voir aussi : catégorie parent, catégorie racine, catégorie enfant, catégorie descendant

catégorie

Conteneur destiné à recevoir des produits ou des sous-catégories. Chaque catégorie est une instance unique d’une définition de catégorie. Par exemple, une catégorie basée sur la définition de catégorie Département (avec les propriétés Description et Responsable) peut être appelée Matériel et avoir les propriétés Outils électriques (Description) et Frank Lee (Responsable). Utilisez le module Éditeur de catalogue pour gérer les catégories.

catégorie (Commerce Server Business Desk)

Mécanisme d’organisation utilisé dans le volet de navigation et permettant de regrouper des modules Commerce Server Business Desk liés.

catégorie enfant

Entité utilisée dans les catalogues pour regrouper un ensemble de produits dans une hiérarchie. Une catégorie enfant dépend d’une catégorie parent. Par exemple, Musique est une catégorie parent, et Rock, Jazz et Classique sont des catégories enfants. Vous créez des catégories parent et enfant pour organiser les produits affichés sur votre site.

Voir aussi : catégorie ancêtre, catégorie descendant, catégorie parent, catégorie racine

catégorie descendant

Catégorie dépendant d’une autre catégorie par l’intermédiaire d’une ou plusieurs relations parent-enfant. Une catégorie enfant est une catégorie descendant, ainsi que l’enfant d’un enfant, et ainsi de suite.

Voir aussi : catégorie ancêtre, produits descendants, catégorie racine, catégorie parent, catégorie enfant

catégorie parent

Entité utilisée dans les catalogues pour regrouper un ensemble de produits dans une hiérarchie. Par exemple, Musique est une catégorie parent, et Rock, Jazz et Classique sont des catégories enfants. Vous créez des catégories parent et enfant pour organiser les produits affichés sur votre site.

Voir aussi : catégorie ancêtre, catégorie descendant, catégorie racine, catégorie enfant, catégorie parent primaire

catégorie de tarification

Catégorie dans laquelle le prix de chaque produit est défini selon cette catégorie. Cela signifie que la catégorie annule le prix attribué au niveau du produit.

catégorie parent primaire

Catégorie parent d’un produit ou d’une catégorie qui permet de déterminer le chemin d’accès canonique au produit ou à la catégorie en question, ou d’appliquer à la catégorie ou au produit des règles de tarification de niveau catégorie. Vous spécifiez la catégorie parent primaire lorsque vous attribuez une catégorie ou un produit à une catégorie parent. Une catégorie ou un produit ne peut avoir qu’une seule catégorie parent primaire. Lorsqu’un produit appartient à plusieurs catégories, la catégorie parent primaire détermine le chemin d’accès canonique au produit.

Voir aussi : chemin d’accès canonique, catégorie parent

catégorie racine

Catégorie qui n’est pas une catégorie enfant d’une autre catégorie. Une catégorie racine peut avoir ou non des catégories enfants, mais elle n’a pas de catégorie parent.

Voir aussi : catégorie parent, catégorie ancêtre, catégorie enfant, catégorie descendant

CCW (COM-Callable Wrapper)

Voir wrapper CCW (COM-Callable Wrapper, wrapper pouvant être appelé par une application COM).

chaîne de connexion

Série d’arguments délimités par des points-virgules définissant l’emplacement d’une base de données et la façon de s’y connecter.

chef d’entreprise

Principal utilisateur de Commerce Server Business Desk. Le chef d’entreprise connaît les objectifs commerciaux, les stratégies et les processus permettant de créer et de gérer un site Web d’e-commerce.

chemin d’accès canonique

Chemin d’accès définitif pour naviguer jusqu’à une catégorie ou un produit qui est membre de plusieurs catégories. La catégorie parent primaire détermine le chemin d’accès canonique à une catégorie ou à un produit ; une catégorie ou un produit ne peut avoir qu’une seule catégorie parent primaire. Vous pouvez afficher le chemin d’accès canonique à la catégorie ou au produit consulté par les utilisateurs qui visitent votre site Web en haut d’une page, par exemple, afin de leur indiquer l’organisation du catalogue.

Voir aussi : catégorie parent primaire

ciblage quantitatif de la campagne de publicité

Voir ciblage quantitatif de la campagne.

ciblage quantitatif de la campagne

Définition du nombre de publicités à livrer sur une période donnée. Vous pouvez définir le ciblage via n’importe quel événement, par exemple le nombre de clics ou la quantité vendue. Commerce Server prend en charge le ciblage quantitatif pour les publicités, mais pas pour les remises. Commerce Server Business Desk permet de définir des ciblages quantitatifs pour une campagne marketing au niveau de la campagne ou au niveau de la publicité.

Supposons par exemple que vous définissiez un ciblage quantitatif au niveau de la campagne et que votre client commande 25 000 demandes de publicité. Au niveau de l’élément de la campagne, une publicité est définie pour afficher 60 pour cent des demandes de publicité et une autre publicité est définie pour afficher 40 pour cent des demandes de publicité. Si le client décide de changer le nombre de demandes de publicité pour passer à 40 000, vous n’aurez pas à modifier manuellement le nombre d’affichages des publicités : vous conserverez les proportions de 60 % et de 40 %. Si vous définissez le ciblage quantitatif au niveau de l’élément de la campagne, vous définissez les ciblages quantitatifs en termes de demandes de publicité pour chaque publicité.

Voir aussi : demande de publicité, publicité payée, rendement

ciblage explicite

Livraison de contenu ciblé en utilisant les données existantes sur les utilisateurs qui visitent votre site.

ciblage quantitatif

Voir ciblage quantitatif de la campagne.

ciblage implicite

Livraison de contenu ciblé en utilisant les données utilisateur existantes pour déduire des informations inconnues sur les utilisateurs qui visitent votre site. Dans Commerce Server, la ressource Predictor vous permet de segmenter les utilisateurs pour prendre en charge le ciblage implicite.

ciblage

Livraison d’un contenu spécifique à des utilisateurs spécifiques.

cible publicitaire

Résultat d’un ensemble d’expressions décrivant une situation ou un groupe d’utilisateurs visés par une publicité.

cible

Une ou plusieurs expressions qui identifient l’emplacement, le moment et le destinataire du contenu à afficher. Vous pouvez cibler des données démographiques, des sections d’un site Web, ou les deux.

Voir aussi : expression de ciblage, groupe cible

classe

Collection logique de membres de données liés. Les classes représentent souvent des objets physiques (utilisateurs, produits) ou des entités conceptuelles (visites, accès Web). Une instance d’une classe représente les données utilisateur importées dans Data Warehouse de Commerce Server. Une classe est mappée vers une définition de table dans la base de données relationnelle sous-jacente.

Voir aussi : membre de données

clé composée

Type de clé qui combine une clé primaire et une clé de jointure. Vous pouvez utiliser ce type de clé lorsque vous ajoutez des attributs de profil dans Commerce Server Business Desk. Voir aussi clé de jointure, clé primaire.

Voir aussi : clé primaire, clé de jointure

clé de classe

Sous-ensemble de membres de données d’une classe dont les valeurs identifient de façon unique une instance de cette classe.

Voir aussi : clé

clé de hachage

Clé unique, souvent une colonne ou un groupe de colonnes d’une base de données, utilisée pour accélérer la recherche d’un élément dans une liste volumineuse.

clé de jointure

Association entre un champ d’une table ou requête et un champ d’une autre table ou requête utilisant le même type de données. Commerce Server utilise une clé de jointure pour lier les données d’une banque de données utilisée par la ressource Profils aux données d’une autre banque de données également utilisée par la ressource Profils. Par exemple, une clé de jointure peut être définie pour la propriété Nom d’utilisateur, liant le champ Nom d’utilisateur stocké avec des données Active Directory au champ Nom d’utilisateur stocké avec des données d’une table SQL Server. Commerce Server prend en charge l’utilisation d’une clé de jointure pour lier les données du catalogue de produits aux données stockées dans une banque de données externes à Commerce Server. Par exemple, vous pouvez utiliser la méthode CatalogManager.SetJoinTable pour ajouter des données externes aux recherches dans les catalogues, ou bien limiter les résultats des recherches aux produits disponibles en stock en créant une clé de jointure vers une table se trouvant dans un système d’inventaire externe.

Voir aussi : clé composée

clé étrangère

Colonne ou combinaison de colonnes dont les valeurs correspondent à la clé primaire ou à la clé unique de la même table ou d’une autre table.

Voir aussi : clé primaire, clé unique, intégrité référentielle

clé primaire

Un ou plusieurs champs (par exemple, dans une colonne) dont les valeurs identifient chaque enregistrement d’une table de façon unique. Une clé primaire n’accepte pas les valeurs nulles et doit toujours avoir un index unique. Une clé primaire permet de relier une table aux clés étrangères d’autres tables.

Voir aussi : clé unique, clé composée, intégrité référentielle, clé étrangère

clé privée

Moitié secrète d’une paire de clés cryptographiques qui est utilisée avec un algorithme de clé publique. Les clés privées sont généralement utilisées pour décrypter des données qui ont été cryptées avec la clé publique correspondante.

Voir aussi : clé publique

clé publique

Moitié non secrète d’une paire de clés cryptographiques qui est utilisée avec un algorithme de clé publique. Les clés publiques sont généralement utilisées pour crypter des données qui peuvent être décryptées avec la clé privée correspondante.

Voir aussi : clé privée

clé unique

Champ qui contient un identificateur unique pour chaque enregistrement d’une table. Par exemple, le champ contenant le numéro de sécurité sociale est une clé unique pour les enregistrements employé.

Voir aussi : clé primaire, intégrité référentielle, clé étrangère

clé

Identificateur d’un enregistrement ou d’un groupe d’enregistrements dans un fichier de données. Une clé indique une propriété spéciale d’un champ ou d’un ensemble de champs dans un enregistrement. Les types de clés possibles sont la clé composée, la clé de jointure, la clé primaire et la clé unique.

Voir aussi : clé de classe

clic sur publicité

Action d’un utilisateur qui clique sur une publicité ou un autre élément lié sur une page Web, cette action étant enregistrée par le serveur et provoquant l’affichage d’une nouvelle page ou d’un nouveau contenu.

Voir aussi : taux de clics sur publicité, pourcentage de clics

client

Programme ou utilisateur qui émet une demande dans une relation client-serveur. Par exemple, un utilisateur de Commerce Server Business Desk émet des demandes client pour obtenir des informations du serveur Business Desk.

client

Société ou personne pour laquelle vous exécutez des campagnes marketing. Un client peut être une agence, un publicitaire ou votre propre entreprise.

CLS

Voir spécification de langage commun (CLS, Common Language Specification).

cluster

Dans la fonctionnalité Commerce Server Predictor, groupe d’utilisateurs qui partagent certaines caractéristiques de profil. Les clusters sont identifiés par la ressource Predictor et peuvent être affichés à l’aide du module Identification de segments.

Voir aussi : batterie de serveurs Web (Web farm)

cluster de serveurs

Plusieurs ordinateurs connectés ensemble afin de partager des ressources et la charge des demandes. Chaque membre d’un cluster de serveurs est appelé un nœud. Les nœuds d’un cluster de serveurs peuvent avoir leurs propres périphériques de stockage ou partager un périphérique commun. En règle générale, le clustering implique une prise en charge de l’équilibrage de la charge, de la tolérance de pannes et du basculement.

Voir aussi : batterie de serveurs Web (Web farm)

code de pays/région

Code de données à trois caractères utilisé dans Commerce Server Business Desk pour identifier le pays ou la région dans lesquels vous expédiez des produits ou avec lesquels vous entretenez des relations commerciales. Des codes de pays/région doivent être définis pour que vous puissiez utiliser le module Taux de taxes de Business Desk.

code de données

Valeur de code utilisée pour représenter des informations textuelles pour les propriétés, par exemple le code de pays/région, de département et de statut de la commande. Par exemple, WA est le code de données correspondant à l’état de Washington.

code d’activité

Identificateur d’un secteur spécifique, par exemple l’industrie automobile, l’aéronautique ou l’agroalimentaire. Les codes d’activité sont créés à l’aide du module Tables de références. Les codes d’activité permettent d’identifier l’activité associée à une publicité, afin d’éviter que deux publicités de sociétés concurrentes d’une même activité s’affichent sur la même page. Les codes d’activité sont associés aux campagnes marketing au niveau du client. Le même code d’activité est utilisé par défaut pour toutes les campagnes de publicité d’un client donné. Si vous ne définissez pas de code d’activité au niveau du client, vous devez le faire au niveau de la publicité.

code managé

Code exécuté avec un « contrat de coopération » au moment de l’exécution. Le code managé doit procurer les métadonnées nécessaires à l’exécution pour fournir certains services tels que la gestion de la mémoire, l’intégration interlangage, la sécurité d’accès au code et la gestion automatique de la durée de vie des objets. Tout code basé sur le langage intermédiaire Microsoft (MSIL, Microsoft Intermediate Language), est exécuté en tant que code managé.

Voir aussi : langage intermédiaire Microsoft (MSIL, Microsoft Intermediate Language), ASP.NET

code de statut de la commande

Code de données numérique utilisé dans Commerce Server Business Desk pour identifier les types de statuts de commande utilisés sur votre site Web. Par exemple, vous pouvez créer des codes pour définir les commandes enregistrées, les commandes supprimées et les commandes en attente.

code de région

Code de données à trois caractères utilisé dans Commerce Server Business Desk pour identifier la région ou l’état dans lequel les produits seront expédiés. Des codes de région doivent être définis pour que vous puissiez utiliser le module Taxes de Commerce Server Business Desk.

code non managé

Code qui est créé sans considérer les conventions et exigences de l’exécution. Le code non managé s’exécute dans l’environnement du Common Language Runtime avec des services minimaux (par exemple, aucune opération garbage collection, débogage restreint, etc.).

COM

Voir modèle COM (Component Object Model).

commande multidevise

Achat en ligne d’articles qui sont tarifés dans différentes devises. Par exemple, une entreprise peut commander des articles auprès d’un fournisseur qui propose certains de ces articles tarifés en dollars américains et d’autres en euros. Pour prendre en charge les commandes multidevises sur votre site, un développeur doit personnaliser le pipeline de traitement des commandes.

Voir aussi : devise de l’acheteur, type de conversion, devise de base, devise du fournisseur

commande

Achat en ligne soumis par un utilisateur à votre site Web. Une commande comprend généralement un ou plusieurs articles, le nom et l’adresse de l’utilisateur et le mode de paiement.

Commerce Server Business Desk

Outil de gestion de site Web disponible dans Commerce Server 2002 qui héberge des modules de gestion commerciale utilisés pour gérer et analyser des sites de commerce. Par exemple, vous pouvez mettre à jour les prix de votre catalogue, cibler de nouvelles publicités pour des utilisateurs spécifiques, puis exécuter des rapports pour déterminer l’impact de ces modifications sur la productivité du site. Commerce Server Business Desk est accessible à partir de n’importe quel ordinateur qui exécute Microsoft Internet Explorer 5.5 et, comme il est basé sur le Web, vous pouvez y accéder localement ou à distance.

Par défaut, à chaque site Web Commerce Server est associée une instance distincte de Business Desk. L’infrastructure est implémentée principalement en langage DHTML (Dynamic Hypertext Markup Language). Ce produit est conçu pour que les développeurs de site puissent modifier ou étendre les fonctionnalités de gestion fournies avec Business Desk.

commerce électronique

Voir e-commerce.

Common Language Runtime

Moteur au cœur de l’exécution de code managé. L’exécution fournit du code managé avec des services tels que l’intégration interlangage, la sécurité d’accès au code, la gestion de la durée de vie des objets, ainsi que la prise en charge du débogage et des profils.

Voir aussi : .NET Framework

comparaison de segments

Dans le module Identification de segments, affichage indiquant les différences entre les segments sélectionnés.

composants de threads cloisonnées

Composants COM qui se trouvent sur une seule thread d’exécution. Les composants de threads cloisonnés utilisent COM pour synchroniser les appels qui leur sont destinés. Tous les objets COM créés avec Visual Basic sont de type threads cloisonnées.

composant COM (Component Object Model)

Fichier binaire contenant du code pour les références de classe, les classes COM, les mécanismes d’entrée dans le Registre, le code de chargement, etc.

composant par défaut

Objet serveur COM (Component Object Model) qui garantit la présence des valeurs indispensables pour une étape donnée. Les composants par défaut apparaissent généralement au début d’une étape.

Voir aussi : étape

composant HTML (HTC, HTML Component) DynamicTable

Composant HTML (HTC) utilisé pour modifier les colonnes affichées dans un tableau.

composant HTML (HTC, HTML Component) EditField

Composant HTML (HTC) utilisé pour modifier des éléments de données de différents types. Les composants HTML EditField sont souvent incorporés à d’autres composants HTML, comme DynamicTable, EditSheet ou ListEditor.

composant HTML (HTC, HTML Component ) EditSheet

Composant HTML (HTC) utilisé pour regrouper les contrôles permettant de modifier les données.

composant HTML (HTC, HTML Component) ExpressionBuilder

Composant HTML (HTC) utilisé pour créer des expressions nommées qui peuvent être utilisées pour un ciblage. Le composant HTML ExpressionBuilder utilise une version incorporée du composant HTML QueryBuilder.

composants de threads libres

Composants COM qui peuvent se trouver sur plusieurs threads d’exécution. Ces composants prennent en charge l’accès par plusieurs clients et n’utilisent pas COM pour synchroniser les appels qui leur sont destinés.

composant HTML (HTC, HTML Component)

Contrôle implémenté à l’aide de comportements DHTML d’Internet Explorer. Des composants HTML sont utilisés dans les modules de Commerce Server Business Desk pour afficher et manipuler les données.

composant HTML (HTC, HTML Component) ListBox

Composant HTML (HTC) utilisé pour les copies et déplacements entre listes.

composant HTML (HTC, HTML Component) ListEditor

Composant HTML (HTC) utilisé pour modifier les données d’un tableau. La modification des enregistrements est effectuée dans un tableau séparé situé sous le tableau contenant la liste.

composant HTML (HTC, HTML Component) ListSheet

Composant HTML (HTC) utilisé pour afficher une liste d’enregistrements et pour sélectionner un ou plusieurs enregistrements à modifier. Le composant HTML ListSheet est en lecture seule.

composant de pipeline

Objet serveur COM (Component Object Model) qui implémente les interfaces de composant de pipeline requises. Chaque composant effectue des opérations une partie d’un objet OrderForm ou Dictionary avant de l’envoyer au composant suivant ou à l’étape suivante dans le pipeline.

Voir aussi : Pipeline du service de publipostage, pipeline de sélection de contenu

composant produit

Élément spécifique regroupé avec des composants liés qui forment un produit. Les composants sont souvent identiques à une ou plusieurs propriétés près. Par exemple, un maillot vert, de taille moyenne avec la référence 14678 est un composant produit du produit Maillot ; la taille, la couleur et la référence forment un composant. Un composant produit inclut toujours un identificateur unique (par exemple, une référence) et un prix. Chaque composant produit est basé sur la même définition de produit.

composant HTML (HTC, HTML Component) ProfileDesigner

Composant HTML utilisé pour modifier les profils, par exemple des profils utilisateur.

composant HTML (HTC, HTML Component) QueryBuilder

Composant HTML utilisé pour créer une requête simple.

composant requis

Objet serveur COM (Component Object Model) qui garantit l’intégrité des données pour une étape. Les composants requis exécutent également des conversions de devise et d’entier afin que les étapes contenant tous les composants Site Server 3.0 Édition Commerce électronique effectuent correctement les étapes contenant tous les composants Commerce Server 2002.

composant logiciel enfichable (snap-in)

Type d’outil que vous pouvez ajouter à une console prise en charge par Microsoft Management Console (MMC). Un composant logiciel enfichable (snap-in) autonome peut être ajouté de façon indépendante. Un composant logiciel enfichable d’extension peut uniquement être ajouté à un autre composant logiciel enfichable pour étendre ses fonctionnalités.

Voir aussi : Microsoft Management Console (MMC)

composant HTML (HTC, HTML Component) TreeView

Composant HTML utilisé pour afficher une structure XML (Extensible Markup Language) sous la forme d’une arborescence développable.

composant

Combinaison unique d’attributs disponibles pour un produit. Par exemple, pour un type de maillot spécifique, chaque combinaison de couleur, de taille et de référence est un composant. Un composant produit comprend toujours un identificateur unique, tel qu’une référence, et un prix. Chaque composant produit est basé sur la même définition de produit.

compte Windows

Enregistrement composé de toutes les informations qui définissent un utilisateur Windows 2000. Le compte Windows de chaque utilisateur ou ouverture de session SQL Server est mappé vers un compte d’utilisateur dans une base de données. L’administrateur système crée des comptes Windows et définit des autorisations pour les comptes d’utilisateur ou de groupe avec le module Autorisations Business Desk.

Voir aussi : module Autorisations

Configuration du Data Warehouse (DWC, Data Warehouse Configurator)

Assistant de configuration, disponible dans le programme d’installation de Commerce Server, qui permet de configurer une installation distribuée du Data Warehouse ainsi que les applications et les serveurs Web non-Commerce Server.

confiance par défaut

Valeur qui représente la probabilité d’achat. Seuls les éléments dont la probabilité d’achat est supérieure à ce chiffre sont renvoyés.

configuration de modèle de prévision

Description définie par l’utilisateur des données utilisées pour un modèle de prévision ou un modèle de segment.

contenu publicitaire

Contenu à placer dans la planification d’une publicité. Dans le secteur de la publicité, le contenu publicitaire désigne le propriétaire du contenu. Vous ne pouvez pas modifier l’aspect de la publicité de quelque manière que ce soit sans l’accord de la société propriétaire de la publicité que vous exécutez.

contraintes de données

Restrictions concernant les valeurs autorisées pour une propriété. Les contraintes de données sont spécifiques à chaque type de données. Par exemple, pour un nombre, les contraintes peuvent être la valeur minimale et la valeur maximale.

contrôle DTC

Type de contrôle ActiveX spécial utilisé pour générer du texte dans un environnement d’édition. En règle générale, l’utilisateur peut choisir entre différentes options dans ce contrôle. Les choix effectués modifient les détails d’une section de code de script ou de code HTML placée sur la page que l’utilisateur modifie.

contrôle de serveur Web

Élément pouvant être déposé dans une page ASP.NET ou un formulaire Web. Les contrôles serveur Web sont des objets côté serveur hiérarchiques, programmables et réutilisables (avec ou sans interface utilisateur).

cookie

Informations sur un utilisateur stockées dans un fichier, par exemple un numéro d’identification, un mot de passe, un historique des clics ou le nombre de visites d’un utilisateur sur un site donné. Un cookie peut également stocker des données de ticket. Commerce Server prend en charge les cookies persistants et non persistants. Les cookies persistants sont stockés sur l’ordinateur des utilisateurs. Les cookies non persistants permettent de suivre l’activité des utilisateurs authentifiés qui visitent votre site. Les cookies non persistants sont supprimés à la fin de la session.

Voir aussi : ticket

corps de message

Contenu livré dans un message électronique.

cryptage asymétrique (CA)

Méthode de cryptage utilisant deux clés de cryptage qui sont liées mathématiquement. L’une de ces clés est appelée « clé privée » et reste confidentielle. L’autre est appelée « clé publique », et est communiquée librement à tous les correspondants potentiels. La complexité de la relation entre la clé publique et la clé privée signifie que, si les clés sont suffisamment longues, il est impossible de déduire par calcul l’une à partir de l’autre.

CryptoAPI

Interface de programmation d’applications (API, Application Programming Interface) fournie en tant que partie de Microsoft Windows. CryptoAPI propose un ensemble de fonctions qui permettent aux applications de crypter de façon souple des données tout en garantissant la protection des données de clé privée sensibles de l’utilisateur. Des opérations cryptographiques réelles sont effectuées par des modules indépendants appelés « fournisseurs de services cryptographiques (CSP, Cryptographic Service Provider) ».

CSF

Voir infrastructure de sélection de contenu (CSF, Content Selection Framework).

csv

Voir fichier de valeurs délimitées par des virgules.

cube

Structure qui contient un sous-ensemble des données de Data Warehouse de Commerce Server, défini par des dimensions et des indicateurs partagés. Dans Commerce Server, un cube est créé lors du processus de décompression et est rempli et traité pour la récupération des données lors de l’exécution de la tâche DTS de préparation des rapports. Le stockage des données dans des cubes permet d’accélérer la récupération des données.

Voir aussi : OLAP (online analytical processing)

D

data marshalling

Méthode de décompression des données permettant de conserver ces données dans un emplacement de stockage et de les récupérer ultérieurement par décompression. Commerce Server utilise data marshalling pour conserver le contenu des objets Dictionary dans la base de données.

Data Warehouse

Dans Commerce Server, combinaison composée d’une base de données SQL Server, d’une base de données OLAP (Online Analytical Processing) et d’un ensemble de processus qu’un administrateur système utilise pour importer et gérer de gros volumes de données provenant de différentes sources de données.

définition de catalogue

Description d’un catalogue qui spécifie ses définitions de catégories, de produits et de propriétés. Plusieurs catalogues peuvent partager une même définition. Utilisez le module Concepteur de définitions de catalogues pour gérer les définitions de catalogues.

définition de catégorie

Propriétés disponibles pour un type de catégorie donné. Une définition de catégorie peut être utilisée pour plusieurs catégories. Par exemple, la définition de catégorie Département peut contenir les propriétés Description et Responsable. Utilisez le module Concepteur de définitions de catalogues pour gérer les définitions de catégories.

définition du produit

Propriétés disponibles pour un type de produit donné. Chaque produit est associé à une définition de produit. Par exemple, la définition de produit Livre peut contenir les propriétés suivantes : « Auteur », « Titre » et « Prix catalogue ». Une définition de produit doit avoir un identificateur de produit, par exemple une référence SKU (unité de gestion de stock), et une propriété Prix catalogue. Utilisez le module Concepteur de définitions de catalogues Business Desk pour gérer les définitions de produits.

définitions de profil

Propriétés disponibles pour un type de profil donné. Chaque profil est associé à une définition de profil. Par exemple, la définition de profil Nouvel utilisateur peut contenir les propriétés suivantes : nom, âge, sexe, adresse, etc. Utilisez le module Concepteur de définitions de profils Business Desk pour gérer les définitions de profils.

définition de propriété

Spécification d’une propriété qui peut être utilisée pour les définitions de profil, de catégorie ou de produit. Par exemple, vous pouvez créer une définition de propriété appelée Description, utilisant le type de données « chaîne ». Vous pouvez également créer une définition de propriété appelée Sexe, utilisant le type de données « énuméré » et acceptant uniquement les deux valeurs suivantes : « Homme » ou « Femme ». Utilisez les modules Concepteur de définitions de catalogues et Concepteur de définitions de profils Business Desk pour gérer les définitions de propriétés.

définition de rapport

Champs et requêtes renseignés lors de l’exécution d’un rapport. Chaque rapport a sa propre définition de rapport. Lorsque vous personnalisez un rapport, vous personnalisez la définition du rapport, et non le rapport qui contient les données.

demande de publicité

Opportunité de livraison d’un élément de publicité à un visiteur d’un site Web. Les demandes sont générées par certains événements sur le site, par exemple la demande d’une page particulière ou l’achat d’un article donné. La publicité utilisée pour répondre à la demande est déterminée par l’estimation de livraison (EDL). Lorsque vous créez une campagne marketing ou un élément de la campagne à l’aide du module Gestionnaire de campagnes, vous pouvez indiquer le nombre de demandes de publicité ou de clics devant être enregistrés par Commerce Server pour cette campagne marketing ou pour cet élément de la campagne.

Voir aussi : taux de clics sur publicité, ciblage quantitatif de la campagne, estimation de livraison (EDL), publicité payée, rendement

demande

Connexion à un site Internet afin de récupérer du contenu à l’aide d’une adresse URL. Contrairement aux accès, les demandes sont liées au contenu et au comportement de l’utilisateur. Par exemple, si un utilisateur demande une page HTML contenant trois fichiers graphiques, le serveur Web peut ajouter une entrée de journal pour les trois fichiers graphiques et la page HTML, et éventuellement quelques lignes pour la charge de traitement. Toutefois, pour les rapports exécutés dans les modules Analyse Business Desk, une seule demande est comptabilisée. Également appelée demande Web ou demande HTTP.

développeur de site

Personne qui écrit le code HTML/ASP de votre site Web afin de le personnaliser pour votre entreprise. Cette personne peut également personnaliser les rapports et ajouter ou modifier des modules Business Desk pour adapter les fonctionnalités aux besoins uniques de votre entreprise.

devise secondaire

Unité de devise utilisée sur un site pour convertir et formater une devise secondaire pour un double affichage. Cette propriété est généralement utilisée sur les sites européens qui ont recours à l’objet EuroDisplay pour afficher à la fois la devise de base et la correspondance en euros.

devise de base

Devise utilisée par une entreprise pour enregistrer toutes les transactions dans ses grands livres, ou devise principale dans laquelle elle effectue des transactions avec sa banque. La devise de base est aussi fréquemment appelée « devise de facturation », « devise de fonction » ou « devise de réservation » d’une entreprise. Le pipeline de traitement des commandes traite toujours les commandes en utilisant la devise de base du site Web. La devise de base peut être différente de la devise des acheteurs et de la devise des fournisseurs. Elle est stockée dans le champ billing_currency de l’en-tête du bon de commande (orderform).

Voir aussi : devise de l’acheteur, commande multidevise, transaction multidevise, devise du fournisseur

devise de l’acheteur

Devise dans laquelle l’utilisateur choisit de consulter les prix affichés sur le site. La devise de l’acheteur (lorsqu’elle est différente de la devise de base) est utilisée à des fins d’affichage uniquement. Le pipeline de traitement des commandes traite toujours les commandes dans la devise de base du site. Le champ buyer_currency est stocké dans l’en-tête du bon de commande (orderform).

Voir aussi : devise de base, devise du fournisseur, commande multidevise

devise du fournisseur

Devise de base de l’entreprise qui fournit les articles sur le site Web. La devise du fournisseur peut être différente de la devise de l’acheteur et de la devise de base du site. Le champ supplier_currency est stocké dans l’élément de ligne du bon de commande.

Voir aussi : devise de l’acheteur, commande multidevise, devise de base, transaction multidevise

dimension en colonne

Dimension d’un rapport dynamique qui définit les données placées dans un en-tête de colonne. Vous pouvez sélectionner n’importe quelle dimension comme dimension en colonne ou en ligne.

Voir aussi : dimension, dimension de filtrage, dimension en ligne

dimension

Attribut qui décrit un indicateur, généralement textuel et discret. Par exemple, une dimension peut décrire le nombre d’achats. La quantité numérique correspond alors à l’indicateur.

Voir aussi : OLAP (online analytical processing), indicateur, rapports groupés, dimension en colonne, dimension de filtrage, dimension en ligne

dimension de filtrage

Dimension d’un rapport dynamique utilisée pour filtrer les résultats d’un rapport. Par exemple, si vous voulez que seuls des sites spécifiques apparaissent dans un rapport, vous pouvez utiliser la dimension de filtre pour afficher uniquement les sites A, B et C. Les sites D, E et F sont exclus.

Voir aussi : dimension, dimension en ligne, dimension en colonne

dimension en ligne

Dimension d’un rapport dynamique qui définit les données placées dans les lignes d’un rapport. Vous pouvez sélectionner n’importe quelle dimension comme dimension en ligne ou comme dimension en colonne.

Voir aussi : dimension, dimension de filtrage, dimension en colonne

disponibilité

Mesure de la tolérance de pannes pour un ordinateur, un cluster de serveurs ou un système et ses programmes. Un ordinateur ou un système haute disponibilité doit fonctionner à un niveau de service acceptable au moins 99,9 pour cent du temps.

distribution de probabilité

Pour un attribut discret, ensemble de probabilités (une pour chaque valeur possible de l’attribut).

Pour un attribut continu x, fonction qui, intégrée de a à b, donne la probabilité pour que la valeur de x soit comprise entre a et b. Également appelée densité de probabilité pour x.

données de catalogue

Contenu d’un catalogue, c’est-à-dire les données concernant les différents produits et les catégories d’organisation.

données opérationnelles

Données collectées généralement dans des fichiers journaux, tous les jours ou selon un autre intervalle spécifié. Une fois collectées, les données opérationnelles sont souvent importées dans Data Warehouse.

données de transaction

Données générées lorsque des utilisateurs achètent des produits sur votre site. Les données de transaction peuvent inclure n’importe quelle activité de l’utilisateur enregistrée à partir d’une page de produit, d’une page de panier ou d’une page de validation. Par exemple, elles peuvent comporter le nom d’utilisateur, l’adresse de livraison, la date et l’heure, le produit acheté et la valeur totale de la commande.

DTC

Voir contrôle DTC.

DTS

Voir services de transformation de données (DTS, Data Transformation Services).

durée de la visite

Temps écoulé entre la première et la dernière demande d‘une visite. Cette durée n’inclut pas la temps pendant lequel l’utilisateur visualise la dernière demande d’une visite.

DWC

Voir Configuration du Data Warehouse.

E

échange électronique de données (EDI, Electronic Data Interchange)

Transfert de données entre différentes sociétés à l’aide de réseaux comme Internet. Compte tenu du nombre croissant d’entreprises qui se connectent à Internet, EDI acquiert un rôle crucial en tant que mécanisme simple permettant aux sociétés d’acheter, de vendre et de négocier des informations.

e-commerce

Processus d’achat et de vente de produits et de services sur Internet.

EDI

Voir échange électronique de données (EDI, Electronic Data Interchange).

éditeur de logiciel (ISV, Independent Software Vendor)

Fournisseur tiers qui développe des logiciels (par exemple, des logiciels d’imposition, de livraison ou d’inventaire) qui s’intègrent à Commerce Server et étendent ses fonctionnalités. Vous pouvez comparer les éditeurs de logiciel aux Partenaires Solutions qui personnalisent Commerce Server pour des clients ou des marchés verticaux spécifiques et conçoivent puis déploient des systèmes.

éditeur de méthode d’entrée (IME, Input Method Editor)

Programme utilisé pour entrer les milliers de caractères différents des langues asiatiques avec un clavier standard à 101 touches. Un éditeur de méthode d’entrée se compose d’un moteur qui convertit les frappes de touche en caractères phonétiques et idéographiques, ainsi que d’un dictionnaire des mots idéographiques couramment utilisés. Lorsque l’utilisateur entre des séquences de touches, le moteur de l’éditeur de méthode d’entrée tente d’identifier le ou les caractères en lesquels ces frappes doivent être converties.

EDL

Voir estimation de livraison.

élément de la campagne

Support de communication qui contribue à obtenir un résultat spécifique pour une campagne marketing. Commerce Server permet de créer trois types d’éléments de campagne : publicités, publipostage et remises. Vous pouvez utiliser des produits tiers pour créer d’autres types d’éléments de campagne.

élément

Dans le module Autorisations Business Desk, instance d’une entité qui peut être sécurisée. Un élément est un sous-ensemble d’une entité, qui peut être une tâche Business Desk ou un article décrivant l’entité pour les catalogues et les profils. Par exemple, Enregistrer est un élément de l’entité Taux de taxe, et Prix catalogue est un élément de l’entité Propriétés du catalogue. Adresse (1re ligne) est un élément qui décrit l’entité Adresse. Chacun de ces éléments peut être sécurisé.

Voir aussi : zone, entité, module Autorisations

en-tête de l’hôte

Information qui permet aux services IIS de résoudre une demande basée sur le nom de domaine spécifié par le navigateur, et non pas une demande basée uniquement sur l’adresse IP et le numéro de port. Par exemple, le nom de l’en-tête de l’hôte pour l’adresse URL http://www.microsoft.com est www.microsoft.com. En utilisant des en-têtes d’hôte, vous pouvez utiliser la même adresse IP et le même port pour plusieurs sites Web IIS.

en-tête de message

Première partie d’un message électronique qui spécifie l’adresse du destinataire, le format du message, la langue et éventuellement l’identificateur global unique (GUID).

en-tête du bon de commande

Regroupement logique de champs à la racine de l’objet OrderForm qui mappent vers la table OrderFormHeader du Data Warehouse Commerce Server.

entité

Élément du niveau le plus élevé dans Business Desk pouvant être sécurisé. Une entité peut être soit un module Business Desk, soit une propriété de catalogues et de profils. Les entités pouvant être sécurisées sont, par exemple : les propriétés de profil utilisateur, les propriétés de profil d’organisation et les rapports. Une entité peut contenir plusieurs éléments.

Voir aussi : zone, module Autorisations, élément

entrées du glossaire du site

Liste de valeurs spécifiques pertinentes pour votre site. Une entrée du glossaire du site vous permet d’attribuer cette liste de valeurs, appelées termes, à une propriété de profil comme le type de propriété. Par exemple, vous pouvez créer une entrée du glossaire du site intitulée Sexe et définir les termes possibles suivants : « Féminin » et « Masculin ». Lorsque vous créez une propriété de profil appelée Sexe, et que vous attribuez l’entrée du glossaire du site « Sexe » comme référence de type, les utilisateurs pourront sélectionner « Féminin » ou « Masculin » dans la liste déroulante qui s’affiche pour la propriété Sexe sur votre site Web. Les utilisateurs peuvent sélectionner seulement une de ces valeurs pour la propriété.

En appliquant les entrées du glossaire du site aux propriétés de profil, vous établissez des mots communs qu’il est possible d’utiliser n’importe où dans Commerce Server, par exemple pour cibler le contenu d’une publicité pour certains utilisateurs.

Voir aussi : module Éditeur d’entrées du glossaire du site, Lexique du site

enveloppe

Ensemble de propriétés qui représentent un document commercial spécifique. Les propriétés d’enveloppe incluent un format d’enveloppe et éventuellement un pointeur vers une spécification d’enveloppe. Désigne également les informations d’en-tête et de pied de page, ou uniquement les informations d’en-tête, qui contiennent les données de commerce électronique pour le transport.

Environnement d’exécution de scripts WSH (Windows Script Host)

Environnement de script indépendant du langage pour les plates-formes Windows 32 bits, installé par défaut avec Windows 2000 et les services IIS. WSH peut être utilisé pour automatiser des tâches d’administration sur un serveur, à l’aide de n’importe quel langage de script.

équilibrage de charge

Amélioration des performances d’un programme serveur (par exemple, un serveur Web) en répartissant les demandes des clients entre les différents serveurs du cluster de serveurs. Chaque hôte peut spécifier le pourcentage de charge qu’il gérera, ou bien la charge peut être répartie équitablement entre tous les hôtes. Si un hôte tombe en panne, la charge est redistribuée dynamiquement entre les hôtes restants. L’équilibrage de charge réseau est la solution d’équilibrage de la charge utilisée par le clustering Windows, disponible avec Windows 2000 Advanced Server.

espaces de noms

Schéma logique d’affectation des noms pour regrouper des types associés. Par exemple, le .NET Framework utilise un schéma d’affectation de noms hiérarchiques pour regrouper les types en catégories logiques de fonctionnalités associées, telles que l’infrastructure d’application ASP.NET ou la fonctionnalité d’accès à distance. Les outils de conception peuvent utiliser les espaces de noms pour permettre aux développeurs de parcourir et de référencer plus facilement les types dans leur code. Le concept d’espace de noms est lié au concept d’assembly : un assembly unique peut contenir des types dont les noms hiérarchiques ont des racines d’espaces de noms différentes, et une racine d’espace de noms logique peut s’étendre sur plusieurs assemblys. Dans le .NET Framework, un espace de noms est une convenance de dénomination logique au moment de la création, tandis qu’un assembly établit l’étendue de noms pour les types lors de l’exécution.

Voir aussi : assembly

estimation de livraison (EDL)

Formule utilisée par Commerce Server pour déterminer l’heure et la fréquence de livraison d’un contenu. Cette formule tient compte de la quantité totale de contenu à livrer et de la période sur laquelle cette quantité doit être livrée. L’estimation de livraison est calculée par l’infrastructure de sélection de contenu pour chaque demande de publicité, une fois la demande de publicité traitée. L’estimation de livraison est appliquée aux publicités payées, mais pas aux publicités maison.

Voir aussi : demande de publicité, publicité payée, rendement

étape

Subdivision d’un pipeline permettant de regrouper les composants de manière logique. Par exemple, l’étape Taxe regroupe les composants du pipeline liés au calcul des taxes à appliquer à une commande donnée.

Voir aussi : composant par défaut, Pipeline du service de publipostage, pipeline de sélection de contenu, affinité d’étape

événement

Occurrence d’une action spécifique effectuée par un utilisateur. Par exemple, un événement peut consister à appuyer sur une touche du clavier ou à cliquer avec la souris pour choisir un bouton. Les événements sont enregistrés avec l’heure à laquelle ils ont eu lieu. Les programmeurs écrivent du code pour répondre à ces actions.

Voir aussi : fréquence

évolutivité

Développement des capacités d’un serveur Web ou d’un cluster de serveurs pour prendre en charge un trafic plus important et améliorer les performances d’un site.

évolutivité horizontale

Accroissement des capacités d’un site Web en ajoutant des serveurs au cluster de serveurs.

Voir aussi : évolutivité verticale

évolutivité verticale

Accroissement des capacités d’un site Web en mettant à niveau le matériel (par exemple, en ajoutant de la mémoire vive ou des processeurs), tout en conservant le même encombrement et le même nombre de serveurs dans le cluster de serveurs.

Voir aussi : évolutivité horizontale

expression de catalogue

Expression qui spécifie les produits d’un catalogue auxquels une remise peut être appliquée.

expression

Condition évaluée par rapport aux profils pour déterminer s’il convient de livrer du contenu ou d’effectuer une autre action. Par exemple, une expression peut être « user.totalvisit > 100 ». Si cette expression est vraie, un contenu spécifique est affiché à l’utilisateur. Utilisez le module Expressions de la campagne pour créer des expressions, puis combinez ces expressions avec l’action que vous souhaitez effectuer une fois ces expressions évaluées.

Voir aussi : Générateur d’expressions

expression multidimensionnelle (MDX, multidimensional expression)

Expression utilisée pour interroger et manipuler les données multidimensionnelles stockées dans les cubes de serveur OLAP.

expression de ciblage

Pour les campagnes marketing Commerce Server, expression qui indique où, quand et pour qui un contenu doit être affiché. Par exemple, vous pouvez cibler un contenu pour des utilisateurs possédant des propriétés de profil spécifiques. Vous pouvez également cibler un contenu en fonction des sections spécifiques d’un site Web. Par exemple, vous pouvez créer une expression de ciblage qui affiche certaines publicités uniquement sur les pages traitant de sport.

Voir aussi : personnalisation, cible

Extensible Markup Language (XML)

Format de données permettant un échange de documents structuré sur le Web. Ce langage à balises est appelé extensible car son format n’est pas fixe comme celui du langage HTML. Le langage XML est conçu pour prendre en charge le langage SGML (Standard Generalized Markup Language) sur le Web. Il ne s’agit pas d’un langage à balises simple. C’est un métalangage qui permet à l’utilisateur de concevoir un langage à balises. Un langage à balises classique définit la façon de décrire les informations dans un certain type de documents (par exemple, HTML). Avec XML, vous pouvez définir votre propre langage à balises personnalisé pour de nombreux types de documents.

extension

Unité d’espace allouée à un objet SQL Server, tel qu’une table ou un index, chaque fois que l’objet nécessite davantage d’espace. Dans SQL Server 2000, une extension se compose de huit pages contiguës.

extensions serveur FrontPage

Ensemble de programmes que vous pouvez utiliser pour administrer, créer et parcourir un site Web étendu FrontPage.

extensions MIME (Multipurpose Internet Mail Extensions)

Norme qui étend le protocole SMTP (Simple Mail Transfer Protocol) pour permettre le transfert via une messagerie Internet de données comme des vidéos, des sons ou des fichiers binaires, sans conversion préalable de ces données au format ASCII.

Voir aussi : MHTML (MIME Encapsulation of Aggregate HTML Documents)

extensions serveur

Ensemble de programmes d’un serveur Web permettant d’administrer, de créer et de parcourir un site Web étendu FrontPage.

extracteur de cas

Composant qui lit les données de Data Warehouse de Commerce Server et fournit des cas pour la création de modèles.

extranet

Extension d’un intranet d’entreprise utilisant la technologie Web, afin de faciliter la communication avec les fournisseurs et les clients de cette entreprise. Un extranet permet aux clients et fournisseurs d’avoir un accès limité à l’intranet d’une société afin d’accélérer les communications et d’améliorer l’efficacité des relations commerciales.

F

famille de produits

Produit qui a des composants produit. Par exemple, la famille de produits « Maillots en thermolactyl pour femme » peut avoir les composants produit suivants : maillot rouge, maillot bleu et maillot vert. Une famille de produits comprend toujours un identificateur unique, tel que le nom du produit.

fiabilité

Mesure du temps entre les pannes (temps moyen entre pannes). Le terme « panne » désigne la carence de service acceptable pour une application, un système informatique ou un système réseau. Par opposition, la disponibilité se définit en termes de fiabilité et de temps nécessaire pour remettre le système en état de fonctionnement après une panne (ou après une déconnexion pour une opération de maintenance prévue ou une mise à niveau). Lorsque vous planifiez une installation de Commerce Server, vous devez planifier le matériel, le réseau et les procédures de fonctionnement selon le niveau de fiabilité nécessaire.

fichier délimité par des virgules

Voir fichier de valeurs délimitées par des virgules.

fichier de valeurs délimitées par des virgules (.csv, comma-separated value)

Fichier texte qui utilise la virgule pour séparer ou délimiter les colonnes ou les champs de base de données. La plupart des bases de données et des programmes peuvent exporter et importer un fichier CSV. Des fichiers de base de données peuvent donc être créés dans un programme et utilisés par un autre programme.

fichier de travail du service de publipostage

Fichier texte qui spécifie des informations sur le travail du service de publipostage, par exemple si des corps de message personnalisés doivent être livrés, le format des en-têtes de message électronique et l’emplacement de la liste de destinataires. Un fichier de travail du service de publipostage est utilisé uniquement pour le mode autonome du service de publipostage.

fichier

Dans les bases de données SQL Server, unité de stockage de base pour une base de données. Une base de données peut être stockée dans plusieurs fichiers. SQL Server utilise trois types de fichiers : les fichiers de données (qui stockent des données), les fichiers journaux (qui stockent des journaux des transactions) et les fichiers de sauvegarde (qui stockent les sauvegardes d’une base de données).

fichier journal

Enregistrement des transactions ou des activités d’un système informatique. Il peut s’agir d’un fichier texte ou d’un fichier de base de données. Dans Commerce Server, les fichiers journaux sont importés dans Data Warehouse afin que vous puissiez analyser l’activité sur votre site à l’aide des modules Analyse de Commerce Server Business Desk.

Voir aussi : visite en cours, visite terminée, masque de fichier journal

fichier de configuration maître

Fichier de configuration XML qui définit les catégories et modules disponibles dans une instance donnée de Commerce Server Business Desk. Chaque entrée de module identifie un fichier de configuration de module qui contient les informations de configuration de ce module.

fichier de configuration de module

Fichier de configuration XML qui définit les actions, les tâches et les points d’entrée pour un module de Commerce Server Business Desk (ou pour un ensemble de modules). Les points d’entrée d’un module identifient la catégorie à laquelle ils sont associés.

fichier PE (Portable Executable)

Voir fichier exécutable portable (PE, Portable Executable).

fichier de configuration de pipeline

Fichier contenant les données de configuration d’un pipeline. Le pipeline spécifié dans le fichier est créé et exécuté par un objet de pipeline. Le fichier contient des étapes et des composants qui peuvent être personnalisés à l’aide de Pipeline Editor.

fichier exécutable portable (PE, Portable Executable)

Format de fichier utilisé pour les programmes exécutables, ainsi que pour les fichiers qui sont liés entre eux pour former des programmes exécutables.

fichier texte

Fichier composé de caractères textuels. Un fichier texte peut être un fichier de traitement de texte ou un fichier ASCII simple codé dans un format qui peut être lu par quasiment tous les ordinateurs. Pour le module Gestionnaire de campagnes, le texte est l’un des types d’affichage disponibles pour les publicités et les remises. Une publicité de ce type s’affiche sous forme de lignes de texte sur une page.

filtre ISAPI (ISAPI, Internet Server Application Programming Interface)

Programme qui répond lorsque le serveur Web reçoit une demande HTTP. Les filtres ISAPI se distinguent des applications dans la mesure où ils sont principalement pilotés par des événements de serveur Web, et non pas par la demande d’un client. Ces événements doivent néanmoins être le résultat de demandes d’un client. Vous pouvez associer un filtre ISAPI à un événement de serveur Web particulier ; le filtre reçoit une notification chaque fois que l’événement qui lui est associé survient.

formulaire Web

Infrastructure de page ASP.NET prenant en charge les contrôles côté serveur qui restituent une interface utilisateur HTML dans les navigateurs Web. Également appelé « page ASP.NET ».

fournisseur de services Internet (ISP, Internet Service Provider)

Fournisseur public de connexions à distance à Internet. Un fournisseur de services Internet est une société qui permet aux utilisateurs distants d’accéder à Internet en fournissant des connexions d’accès à distance ou en installant des lignes spécialisées. Un fournisseur de services Internet peut héberger des sites commerciaux pour des sociétés clientes, hébergeant plusieurs sites sur un seul serveur ou cluster de serveurs. Le fournisseur de services Internet offre une infrastructure et effectue les tâches d’administration communes à tous les sites, tout en permettant aux clients d’effectuer certaines tâches d’administration à partir de leurs ordinateurs distants.

fournisseur

Partenaire commercial dans un site entreprise-entreprise. Utilisez Microsoft BizTalk Server pour ajouter des fournisseurs à un site. Également appelé vendeur.

fraction d’entrée

Fraction des propriétés utilisées lorsqu’un modèle d’analyse est construit pour prévoir les propriétés renvoyées par le modèle. Par exemple, si un modèle d’analyse utilise les références des produits pour prévoir les propriétés démographiques, et que la fraction de propriété d’entrée est définie à 0,5, seule la moitié supérieure des références les plus significatives sera utilisée pour les prévisions. Voir aussi : fraction de sortie

Voir aussi : fraction de sortie

fraction de l’échantillon mesurée pour la précision

Pourcentage de l’exemple de données utilisé pour évaluer le score d’un modèle d’analyse.

Voir aussi : cas, score, taille de l’échantillon

fraction de sortie

Fraction des propriétés qui seront prévues par un modèle d’analyse. Par exemple, si un modèle d’analyse utilise les propriétés démographiques pour prévoir les achats de produits, et que la fraction de propriété de sortie est définie à 0,5, seule la moitié supérieure des produits achetés les plus significatifs sera prévue.

Voir aussi : fraction d’entrée

fréquence des clics

Nombre de clics divisé par la portée des clics.

Voir aussi : portée

fréquence

Nombre d’événements divisé par la portée de ces événements.

Voir aussi : événement, portée

G

Générateur d’expressions de liaison de données

Outil disponible via Microsoft Visual Studio .NET lorsqu’il est installé avec Commerce Server 2002. Le Générateur d’expressions de liaison de données génère des expressions de liaison de données à partir de trois systèmes Commerce Server : le système de catalogue de produits, le système de commande et le système de profils.

Générateur d’expressions

Outil utilisé pour créer une expression. Le Générateur d’expressions comprend une liste des expressions courantes permettant de définir les propriétés que vous souhaitez cibler. Vous accédez au Générateur d’expressions lors de la création d’une nouvelle expression de ciblage ou de catalogue dans le module Expressions de la campagne.

Voir aussi : expression

Gestionnaire Commerce Server

Outil d’administration système permettant de gérer et de configurer les ressources, sites, applications et serveurs Web de Commerce Server. Le programme d’installation de Commerce Server l’installe automatiquement lors d’une installation de serveur Web ou complète, ou lorsque vous sélectionnez le composant Outils d’administration lors d’une installation personnalisée. Microsoft Management Console (MMC) héberge le Gestionnaire Commerce Server.

Gestionnaire de package de site Commerce Server

Outil de déploiement utilisé pour compresser un site, des applications et des ressources dans un seul fichier (avec l’extension .pup), puis placer ce fichier sur un autre ordinateur. Le Gestionnaire de package de site permet de déployer votre site sur plusieurs ordinateurs dans un environnement distribué. Le programme d’installation de Commerce Server l’installe automatiquement lors d’une installation de serveur Web ou complète, ou lorsque vous sélectionnez le composant Objets d’exécution lors d’une installation personnalisée.

gestionnaire de sections de configuration

Classe implémentant l’interface IConfigurationSectionHandler. Les gestionnaires de sections de configuration contiennent des informations lues par les applications Commerce Server .NET lors de l’exécution pour configurer les paramètres des applications.

Gestionnaire de package de site

Voir Gestionnaire de package de site Commerce Server.

groupe de catalogues

Ensemble de catalogues que vous mettez à la disposition de différents utilisateurs ou différentes organisations. Par exemple, vous pouvez créer deux catalogues que vous affichez aux membres d’une organisation donnée, puis créer deux autres catalogues que vous mettez à la disposition d’une autre organisation. Vous obtenez ainsi quatre catalogues intégrés à deux groupes de catalogues. Les catalogues de base, les catalogues virtuels et les catalogues de synthèse peuvent être membres d’un groupe de catalogues.

Voir aussi : catalogue de synthèse, catalogue de base, catalogue virtuel

groupe de fichiers

Dans SQL Server, collection nommée d’un ou de plusieurs fichiers qui constitue une unité d’allocation unique pour l’administration d’une base de données.

groupe

Dans un écran Commerce Server Business Desk, zone qui comporte un en-tête réductible permettant à l’utilisateur d’afficher ou de masquer les informations de cette section à sa convenance. Également appelé section.

groupe de pages

Ensemble de pages Web associées que vous créez à l’aide du module Tables de références de Business Desk. Par exemple, pour le site d’un journal, vous pouvez créer un groupe de pages pour les sports, un autre pour les nouvelles principales et un autre pour les nouvelles locales. Vous pouvez définir des taux de publicité par groupe de pages, exécuter des rapports pour connaître le nombre total d’accès pour un groupe de pages et cibler des publicités pour qu’elles s’affichent sur certains groupes de pages. Un développeur de site doit activer les publicités pour une page Web avant de pouvoir affecter cette page à un groupe de pages.

Voir aussi : AggregateColumn

groupe de segments

Dans le module Identification de segments, collection de segments similaires.

groupe cible

Ensemble de cibles pour lesquelles un contenu doit être affiché. Lorsque vous créez un groupe cible, vous combinez plusieurs expressions. En combinant des expressions dans un groupe cible, vous pouvez créer des expressions utilisant des instructions OR, afin de cibler efficacement un public plus large.

Voir aussi : personnalisation, cible

GUID

Voir identificateur global unique (GUID, globally unique identifier).

H

hachage à sens unique

Algorithme utilisé pour produire une valeur de hachage pour certaines données. Il est qualifié par « à sens unique » car le décryptage consécutif des données ne constitue pas une exigence.

hébergement partagé

Service fourni par un fournisseur de services d’application (ASP, Application Service Provider). Un ASP fournit des pages pour plusieurs sites Web, lesquels peuvent avoir, ou non, des noms de domaines Internet qui leur sont propres, à partir d’un seul serveur Web. L’hébergement partagé est la façon la moins coûteuse pour les entreprises de créer et de gérer une application Web.

héritage

Capacité d’un nouvel objet à prendre automatiquement les propriétés d’un objet existant. Par exemple, un nouveau répertoire enfant peut hériter des paramètres de contrôle d’accès du répertoire parent.

heure de conversion

Heure à laquelle le taux de conversion est appliqué à une transaction. Si le type de conversion est « à taux fixe », l’heure de conversion doit toujours être l’heure à laquelle la commande a été acceptée pour exécution. Si le type de conversion est « à taux ponctuel », l’heure de conversion est l’heure à laquelle la banque effectue la conversion.

Voir aussi : taux de conversion, type de conversion, taux ponctuel, taux fixe

hiérarchie de catégorie

Hiérarchie dans laquelle une catégorie est définie comme catégorie parent et une ou plusieurs catégories sont définies comme catégories enfants. Une catégorie ne peut pas être à la fois parent et enfant (descendant) de la même catégorie.

hiérarchie de segments

Dans le module Identification de segments, organisation hiérarchique des segments et groupes de segments selon laquelle un segment parent comprend tous les utilisateurs contenus dans ses segments enfants. Le groupe de segments de niveau supérieur représente l’intégralité des utilisateurs.

HTA

Voir application HTML (HTA, HTML Application).

HTC

Voir composant HTML (HTC, HTML Component).

HTTP

Voir protocole HTTP (Hypertext Transfer Protocol).

I

identificateur de publicité

Numéro d’identification généré par l’ordinateur pour une publicité ajoutée à Commerce Server à l’aide du module Gestionnaire de campagnes.

identificateur de l’élément de la campagne

Numéro d’identification généré par l’ordinateur pour un élément de la campagne.

identificateur de cas

Identificateur unique pour chaque utilisateur.

identificateur LCID de devise

Identifie les paramètres locaux pour la gestion des devises. La valeur par défaut est zéro et dans ce cas, le LCID par défaut du serveur est utilisé.

identificateur global unique(GUID, globally unique identifier)

Numéro à 128 bits globalement unique. En règle générale, les GUID sont créées à l’aide du programme de ligne de commande Guidgen.exe. Le programme Guidgen.exe ne génère jamais deux fois le même numéro, quel que soit le nombre d’exécutions ou le nombre d’ordinateurs sur lesquels il est exécuté. Dans Commerce Server, l’objet GenID permet de générer des GUID.

identification

Processus de mappage d’un objet en utilisant des schémas d’identification pris en charge ou d’obtention de l’identificateur unique d’utilisateur (UID). Cette identification est généralement fournie par le système d’exploitation, les services IIS ou Commerce Server.

identificateur du produit

Propriété obligatoire qui définit de façon unique les produits d’un catalogue, par exemple une référence. L’identificateur du produit ne peut pas être supprimé de la définition du produit.

identificateur de programmation (ProgID, Programmatic Identifier)

Nom unique qui identifie un programme ou un objet COM (Component Object Model). Contrairement au GUID, le ProgID est généralement une chaîne alphanumérique intelligible, par exemple « Commerce.Dictionary ».

identificateur de sécurité (SID, Security Identifier)

Numéro unique qui identifie chaque utilisateur, groupe et compte d’ordinateur. Un identificateur de sécurité (SID, Security Identifier) unique est émis pour chaque compte de votre réseau la première fois que le compte est créé. Les processus internes de Windows 2000 font référence au SID de compte plutôt qu’à l’utilisateur du compte ou au nom du groupe. Dans le module Autorisation Business Desk, le SID peut faire référence à un utilisateur ou à un groupe, et peut être intégré ou défini par l’utilisateur.

îlot de données XML (XML data-island)

Données XML contenues dans une page ASP ou accessibles à partir d’une page ASP. Un îlot de données est défini à l’aide d’un de ces deux éléments : xml ou script. Il est référencé à l’aide de l’attribut d’identificateur de ces éléments. Les données se trouvent souvent à l’intérieur de ces éléments, mais elles peuvent également se trouver ailleurs si un attribut source est utilisé pour fournir l’adresse URL (Uniform Resource Locator) d’un autre emplacement.

îlot de données Extensible Markup Language

Voir îlot de données XML (XML data-island).

image

Élément visuel utilisé sur une page Web, par exemple une illustration, une photographie ou une texture d’arrière-plan. Les images Web ont généralement une extension .gif ou .jpg.

IME

Voir éditeur de méthode d’entrée (IME, Input Method Editor).

impression

Voir demande de publicité.

index de texte intégral

Partie d’un catalogue de texte intégral qui stocke tous les mots de texte intégral et leur emplacement pour une table donnée. Lorsque des modifications sont apportées à un catalogue (par exemple, ajout ou suppression de produits ou modification des valeurs de champs pouvant faire l’objet de recherches en texte libre), l’index de texte intégral doit être mis à jour pour refléter ces modifications.

indicateur

Données généralement numériques qui mesurent un événement commercial. Par exemple, le nombre d’achats effectués par un utilisateur est un indicateur.

Voir aussi : dimension, rapports groupés

infrastructure de Business Desk

Ensemble de composants HTML (HTC), de routines utilitaires, de fichiers Include, de fichiers de configuration, de mécanismes de navigation et de conventions qui permettent une implémentation plus facile et uniforme des modules Business Desk.

infrastructure Commerce Server Business Desk

Ensemble de services fournis avec les modules Business Desk. Ces services incluent des contrôles de navigation, de sécurité et d’interface utilisateur. En outre, cette infrastructure fournit un ensemble de mécanismes standardisés qui définissent l’intégration des modules de Commerce Server Business Desk.

infrastructure de sélection de contenu (CSF)

Infrastructure de développement pour une livraison ciblée du contenu. L’infrastructure CSF fournit les composants permettant de créer un système de messagerie spécifique à une entreprise. Elle propose une plate-forme facilitant une prise de décision rapide lors du ciblage du contenu.

intégrité référentielle

État dans lequel toutes les valeurs de clé étrangère d’une base de données sont valides. Pour être valide, une clé étrangère doit contenir soit la valeur NULL, soit une valeur de clé existante provenant des colonnes de clé primaire ou de clé unique référencées par la clé étrangère.

Voir aussi : clé primaire, clé unique, clé étrangère

intervalle de confiance

Nombre indiquant la probabilité pour qu’une valeur prévue se trouve dans certaines limites.

Internet

Ensemble de réseaux informatiques distincts reliés par des passerelles qui gèrent le transfert des données et la conversion des messages du réseau expéditeur vers les protocoles utilisés par les réseaux destinataires. Ces réseaux et passerelles utilisent les protocoles TCP/IP (Transmission Control Protocol/Internet Protocol).

intervalle de demande

Temps écoulé entre deux demandes consécutives au cours d’une même visite.

intranet

Réseau conçu pour le traitement des informations dans une société ou une organisation. Il permet de distribuer des documents et des logiciels, d’accéder aux bases de données et de procéder à des formations. L’intranet doit son nom au fait qu’il utilise généralement des applications associées à Internet (par exemple, des pages Web, des navigateurs Web, des sites FTP, une messagerie électronique, des groupes de discussion et des listes de publipostage) accessibles uniquement aux utilisateurs de la société ou de l’organisation.

ISP

Voir fournisseur de services Internet (ISP, Internet Service Provider).

ISV

Voir éditeur de logiciel (ISV, Independent Software Vendor).

L

langage intermédiaire Microsoft (MSIL, Microsoft Intermediate Language)

Langage utilisé comme sortie d’un certain nombre de compilateurs et comme entrée d’un compilateur en temps utile (JIT, Just-In-Time). L’exécution comprend plusieurs compilateurs JIT pour la conversion du langage MSIL en code natif.

Voir aussi : code managé

LCID

Voir identificateur LCID de devise.

Lexique du site

Dans Site Server 3.0, ensemble de valeurs possibles d’attributs d’utilisateur et de contenu organisées de façon hiérarchique. Dans Commerce Server 2002, Lexique du site devient Entrées du glossaire du site.

Voir aussi : entrées du glossaire du site

limite d’affichage

Nombre de fois qu’un contenu peut être affiché à un utilisateur au cours d’une session. Par défaut, aucune limite d’affichage n’est imposée. Il est conseillé de définir une limite d’affichage maximale qui n’excède pas 10 affichages par utilisateur et par session.

liste des affinités

Liste d’utilisateurs créée à partir de l’un des trois modèles de prévision : Transactions, Parcours produits et Transactions et données démographiques combinées. Vous créez les listes des affinités dans Business Desk, puis vous les exportez dans le Gestionnaire de listes. Vous pouvez ensuite créer une campagne de publipostage destinée à cibler les utilisateurs susceptibles d’acheter un produit spécifique.

Voir aussi : module Gestionnaire de campagnes, module Listes des affinités

liste dynamique

Liste d’enregistrements utilisateur que le service Gestionnaire de listes crée lors de l’exécution, lorsque cela est nécessaire (par exemple, lors de l’exportation des données de la liste). Chaque fois que cette liste est demandée, le Gestionnaire de listes récupère les données les plus récentes dans Data Warehouse. Les informations nécessaires à la création de la liste sont stockées dans la base de données du Gestionnaire de listes. (En revanche, avec une liste statique, la liste des enregistrements utilisateur est stockée dans son intégralité dans la base de données du Gestionnaire de listes.) Utilisez des listes dynamiques pour les campagnes de publipostage que vous exécutez fréquemment ou si la liste des destinataires est souvent mise à jour.

Voir aussi : liste statique

liste de distribution par messagerie

Liste comportant une colonne rcp_email qui contient des adresses électroniques d’utilisateurs.

liste de publipostage

Liste à utiliser avec le service de publipostage. Une liste de publipostage contient cinq champs standard : rcp_email, rcp_guid, rcp_fmt, rcp_locale et rcp_url.

liste des annulations d’abonnements

Liste des utilisateurs qui ont choisi d’annuler leur inscription à une liste de publipostage.

liste statique

Liste d’enregistrements utilisateur créée immédiatement sur demande, puis stockée dans la base de données du Gestionnaire de listes. (En revanche, avec une liste dynamique, seules les informations nécessaires à la création de la liste sont stockées dans la base de données du Gestionnaire de listes.) Utilisez des listes statiques pour les campagnes de publipostage que vous n’exécutez pas souvent, ou si la liste des destinataires n’est pas souvent mise à jour.

Voir aussi : liste dynamique

liste des tâches

Affichage des détails et des tâches qui se rapporte à des nœuds spécifiques de l’arborescence du Gestionnaire Commerce Server. Par exemple, la liste des tâches du nœud Sites de commerce affiche les sites et les tâches de site que vous pouvez effectuer. Utilisez la liste des tâches pour effectuer certaines tâches telles que la compression d’un site, la suppression d’un site ou l’ajout de ressources à un site.

liste des utilisateurs

Liste comportant une colonne rcp_guid qui contient des identificateurs d’utilisateur.

M

majoration fixe

Montant exact à ajouter au prix catalogue pour obtenir un tarif préférentiel.

masque de fichier journal

Propriété configurée par l’utilisateur spécifiant les noms des fichiers journaux du serveur Web selon qu’ils feront l’objet d’une rotation dans le temps ou qu’ils seront basés sur la taille de fichier. Par exemple, une rotation quotidienne de fichier journal IIS est spécifiée en tant que exaammjj.log : le nom de fichier journal sera doté d’un préfixe « ex », suivi d’une année sur deux chiffres, d’un mois sur deux chiffres et d’un jour sur deux chiffres. Vous définissez le masque de fichier journal lorsque vous configurez un serveur Web à l’aide du Gestionnaire Commerce Server.

Voir aussi : fichier journal

matérialiser

Convertir une capture instantanée d’un catalogue virtuel en catalogue de base. Un catalogue virtuel matérialisé dispose les performances d’un catalogue de base pour toutes les opérations de recherche et de navigation, mais il est modifié en tant que catalogue virtuel. Afin d’améliorer les performances, il est conseillé de matérialiser tous les catalogues de synthèse virtuels. Pour matérialiser un catalogue virtuel, l’administrateur système peut exécuter le script materialize.vbs, lequel peut être exécuté dans le cadre du processus de publication d’un site. L’administrateur système peut également utiliser l’API Système de catalogue de produits pour définir l’attribut CatalogFlags du catalogue virtuel à 1. Le catalogue virtuel est alors matérialisé chaque fois qu’il est reconstruit.

Voir aussi : catalogue virtuel, catalogue de base, catalogue de synthèse

MDX

Voir expression multidimensionnelle (MDX, multidimensional expression).

membre de clé de classe

Un des membres d’une clé de classe à plusieurs valeurs.

membre de données

Membre d’une classe permettant de stocker des données. Un membre de données est mappé vers une colonne de la base de données relationnelle sous-jacente dans Data Warehouse.

Voir aussi : classe

métadonnées de classe

Modèle conceptuel qui décrit les attributs à spécifier pour créer une classe dans le schéma logique de Data Warehouse de Commerce Server.

métadonnée

Donnée utilisée pour décrire d’autres données. Par exemple, le type de données est une métadonnée qui décrit une propriété.

métamodèle de Data Warehouse

Modèle conceptuel qui décrit la création de classes, de membres de données, de relations et de clés dans le schéma logique de Data Warehouse.

MHTML (MIME Encapsulation of Aggregate HTML Documents)

Format de message pris en charge par le service de publipostage. Lorsque vous sélectionnez MHTML comme format d’un message du service de publipostage, vous pouvez envoyer des certaines parties ou l’intégralité d’une page Web sous forme de message. Ce dernier peut comporter l’ensemble ou plusieurs parties de la mise en forme HTML, des graphiques et des autres éléments contenus dans la page Web d’origine.

Voir aussi : extensions MIME (Multipurpose Internet Mail Extensions)

Microsoft Management Console (MMC)

Infrastructure permettant d’héberger des outils d’administration appelés consoles. Une console peut contenir des outils, des dossiers ou autres conteneurs, des pages Web et d’autres éléments d’administration. Ces éléments sont affichés dans le volet gauche de la console, appelé arborescence de la console. Une console se compose d’une ou plusieurs fenêtres qui contiennent des affichages de l’arborescence de la console. La fenêtre MMC principale fournit des commandes et des outils pour créer des consoles.

Voir aussi : composant logiciel enfichable (snap-in)

MIME Encapsulation of Aggregate HTML Documents (MHTML)

Voir MHTML (MIME Encapsulation of Aggregate HTML Documents).

MIME

Voir extensions MIME (Multipurpose Internet Mail Extensions).

mise en cache

Stockage en mémoire des documents, images, scripts CGI (Common Gateway Interface) ou ASP et DLL d’extension ISAPI (Internet Server API) fréquemment utilisés afin d’améliorer les performances. Pour plus d’informations, consultez la rubrique « Mise en cache des applications » dans l’aide des services IIS. Également appelée mise en cache de fichiers ou mise en cache de documents.

mise en cache de fichiers

Voir mise en cache.

mise en service de site

Processus de déploiement d’un nouveau site dans un environnement d’hébergement. La mise en service de site comprend des tâches telles que la décompression de l’application, la création des bases de données que le site doit utiliser et l’attribution d’autorisations qui permettent aux chefs d’entreprise de gérer le site.

mise à jour

Régénération de l’index de texte intégral. Cette opération s’effectue uniquement dans le module Éditeur de catalogue de Commerce Server Business Desk.

MMC

Voir Microsoft Management Console (MMC).

modèle COM (Component Object Model)

Modèle de programmation orienté objet qui définit les interactions entre les objets au sein d’une même application ou entre différentes applications. Avec le modèle COM, le logiciel client accède à un objet à l’aide d’un pointeur vers une interface (ensemble de propriétés et de méthodes associé).

modèle de configuration de pipeline

Fichier de modèle utilisé pour créer des pipelines. Les pipelines créés à l’aide d’un modèle de configuration de pipeline sont enregistrés en tant que fichiers de configuration de pipeline (.pct). Les modèles sont utilisés comme base pour la création de pipelines personnalisés. Dans tout modèle, vous pouvez ajouter, supprimer ou renommer des étapes et des composants.

Modèle de prévision

Synthèse des données utilisée par l’algorithme de prévision. Utilisez Prediction Model Viewer dans le Gestionnaire Commerce Server pour afficher les modèles de prévision.

Modèle de segment

Dans le module Identification de segments, synthèse des données utilisée par l’algorithme de segmentation. Utilisez le module Identification de segments de Commerce Server Business Desk pour afficher les modèles de segments.

module Listes des affinités

Module de Commerce Server Business Desk utilisé pour créer une liste des utilisateurs à partir de l’un des trois modèles de prévision suivants : Transactions, Parcours produits et Transactions et données démographiques combinées. Vous pouvez ensuite exporter cette liste vers le module Gestionnaire de listes et créer une campagne de publipostage ciblant ces utilisateurs.

Voir aussi : liste des affinités

module Gestionnaire de panier

Module de Commerce Server Business Desk utilisé pour gérer les paniers d’achat des utilisateurs qui visitent votre site Web. Les utilisateurs peuvent enregistrer un panier d’achat, puis revenir ultérieurement sur le site et acheter les articles contenus dans ce panier. Utilisez le Gestionnaire de panier pour rechercher et supprimer les paniers abandonnés (c’est-à-dire les paniers enregistrés restés inactifs pendant une longue période).

Voir aussi : panier

module de Business Desk

Élément que vous pouvez sélectionner dans le volet de navigation de Commerce Server Business Desk. Par exemple, vous pouvez choisir le module Gestionnaire de campagnes, Concepteur de définitions de catalogues ou Rapports. Chaque module Business Desk est un ensemble de fichiers ASP qui fournissent un certain type de fonctionnalités liées et qui disposent d’un ou plusieurs points d’entrée à partir du volet de navigation.

module Expressions de la campagne

Module de Commerce Server Business Desk utilisé pour créer et gérer des expressions.

Voir aussi : personnalisation

module Gestionnaire de campagnes

Module de Commerce Server Business Desk utilisé pour créer des comptes client, puis pour créer et gérer des campagnes de publicité, des campagnes de remise et des campagnes de publipostage.

Voir aussi : liste des affinités

module Concepteur de définitions de catalogues

Module de Commerce Server Business Desk utilisé pour créer et gérer des définitions de catalogues. Les définitions de catalogues se composent de définitions de catégories, de définitions de produits et de définitions de propriétés. Ces composants servent de base aux catégories, produits et propriétés des catalogues.

module Éditeur de catalogue

Module de Commerce Server Business Desk utilisé pour créer et gérer des catalogues. Le module Éditeur de catalogue prend en charge l’ajout, la modification et la suppression de produits et de catégories, ainsi que l’importation et l’exportation de catalogues et l’actualisation des index de texte intégral.

module Groupes de catalogues

Module de Commerce Server Business Desk utilisé pour créer et gérer des groupes de catalogues.

Module Commerce Server

Extension de l’infrastructure du module HTTP ASP.NET. Les modules Commerce Server sont chargés de l’initialisation des services d’exécution spécifiques aux applications Commerce Server .NET. Ils sont dérivés de la classe de base Microsoft.CommerceServer.Runtime.CommerceModule. Un module Commerce Server est un module HTTP.

Voir aussi : module HTTP

module Rapports finalisés

Module de Commerce Server Business Desk utilisé pour afficher à la fois l’état des rapports statiques exécutés et les rapports une fois leur exécution terminée.

module Codes de données

Module de Commerce Server Business Desk utilisé pour ajouter et gérer des codes de statut de la commande, des codes de région et des codes de pays. Des codes de pays/région et des codes de département doivent être définis pour que vous puissiez mettre à jour les tables de taxes dans le module Taux de taxes.

module HTTP

Module chargé de l’initialisation des services d’exécution et de fournir l’accès aux services d’exécution tout au long de la vie de l’application. Les modules HTTP encapsulent l’initialisation des composants et étendent les services d’exécution principaux fournis par ASP.NET. Les modules Commerce Server, qui sont des modules HTTP, implémentent l’interface System.Web.IhttpModule.

Voir aussi : Module Commerce Server

module Gestionnaire de listes

Module de Commerce Server Business Desk utilisé pour créer, importer, exporter, copier, supprimer et fusionner des listes d’enregistrements utilisateur. Par exemple, vous pouvez créer une liste de destinataires pour une campagne de publipostage.

module Statut de la commande

Module de Commerce Server Business Desk utilisé pour afficher des informations sur le statut des commandes, ainsi que tous les détails concernant cette commande, comme l’en-tête et les éléments de la commande.

module Organisations

Module de Commerce Server Business Desk utilisé pour ajouter, modifier ou supprimer des profils d’organisation.

Voir aussi : organisation

module Autorisations

Module de Commerce Server Business Desk utilisé pour définir des autorisations de sécurité pour tous les modules Business Desk.

Voir aussi : zone, entité, élément, compte Windows

module Concepteur de définitions de profils

Module de Commerce Server Business Desk utilisé pour ajouter et modifier des définitions de profil.

module Publier les campagnes marketing

Module de Commerce Server Business Desk utilisé pour mettre à jour votre site avec les nouvelles informations sur les campagnes marketing. Le module Publier les campagnes marketing vide les caches qui stockent les informations sur les campagnes marketing pour votre site. La prochaine fois que Commerce Server recevra une demande pour ces données, les données mises à jour seront chargées dans les caches.

Voir aussi : cache

module Publier les codes de commandes

Module de Commerce Server Business Desk utilisé pour mettre à jour votre site avec les nouvelles informations sur les transactions, par exemple de nouveaux taux de taxes ou modes de livraison. Le module Publier les codes de commandes vide les caches qui stockent les informations relatives aux transactions pour votre site. La prochaine fois que Commerce Server recevra une demande pour les codes de données associés aux commandes, les données mises à jour seront chargées dans les caches.

Voir aussi : cache

module Publier les profils

Module de Commerce Server Business Desk utilisé pour mettre à jour votre site avec les nouvelles informations de profil. Le module Publier les profils vide les caches qui stockent les informations sur les profils pour votre site. La prochaine fois que Commerce Server recevra une demande pour ces données, les données mises à jour seront chargées dans les caches.

Voir aussi : cache

module Tables de références

Module de Commerce Server Business Desk utilisé pour créer et gérer des tailles de contenu, des codes d’activité et des groupes de pages.

module Rapports

Module de Commerce Server Business Desk utilisé pour sélectionner et exécuter un rapport.

module Identification de segments

Module de Commerce Server Business Desk utilisé pour identifier les tendances d’utilisation et prendre des décisions marketing basées sur les similitudes entre utilisateurs.

module Modes de livraison

Module de Commerce Server Business Desk utilisé pour définir votre mode de livraison, en termes de poids, de quantité ou de sous-total.

module Éditeur d’entrées du glossaire du site

Module de Commerce Server Business Desk utilisé pour ajouter et modifier des entrées du glossaire du site.

Voir aussi : entrées du glossaire du site

module Groupe cible

Module de Commerce Server Business Desk utilisé pour gérer des groupes cibles.

module Taux de taxes

Module de Commerce Server Business Desk utilisé pour mettre à jour les tables de taxes et les taux pour votre site Web.

module Utilisateurs

Module de Commerce Server Business Desk utilisé pour modifier des enregistrements utilisateur et pour ajouter ou supprimer des informations sur les utilisateurs.

MSIL (Microsoft Intermediate Language)

Voir langage intermédiaire Microsoft (MSIL, Microsoft Intermediate Language.

N

niveau de la logique commerciale

Une ou plusieurs applications qui communiquent avec le niveau de l’interface utilisateur et avec le niveau des bases de données. Dans une installation Commerce Server, le niveau de la logique commerciale comprend les composants Commerce Server suivants : le système d’analyse commerciale, le système de catalogue de produits, le système de profil, le système de ciblage, le Gestionnaire de listes, le client Predictor et les composants de pipeline.

niveau des bases de données

Une ou plusieurs bases de données qui communiquent avec le niveau de la logique commerciale. Dans une installation Commerce Server, le niveau des bases de données comprend les bases de données d’administration et du service de publipostage, la base de données des composants Commerce Server (par exemple, les catalogues et les profils) et le Data Warehouse.

niveau de l’interface utilisateur

Un ou plusieurs programmes avec lesquels les utilisateurs sont en interaction. Dans une installation Commerce Server, le niveau de l’interface utilisateur comprend votre application Web d’e-commerce et l’application Business Desk.

nœud

Représentation graphique d’un attribut, affichée par Prediction Model Viewer.

Voir aussi : attribut

nom de domaine Internet

Nom utilisé pour l’hébergement d’un site sur Internet. Un nom de domaine Internet est une combinaison d’un nom de domaine de deuxième niveau (par exemple, « Microsoft ») et d’un nom de domaine de niveau supérieur (par exemple, « com » ou « net »), séparés par un point. Avant de créer un site commercial sur Internet, l’entreprise doit d’abord demander et enregistrer un nom de domaine de deuxième niveau auprès d’une autorité d’enregistrement de nom de domaine (DNS) certifiée. Ce nom doit répondre aux exigences de l’attribution de noms DNS externes et ne doit pas être identique à un nom déjà enregistré ou utilisé. Pour enregistrer un nom, l’entreprise doit obtenir (ou demander à un fournisseur de services Internet d’obtenir pour elle) au moins une adresse IP (Internet Protocol) valide à utiliser sur Internet et les adresses IP d’au moins deux serveurs DNS actifs sur Internet. Également appelé adresse Internet, nom de domaine ou adresse URL.

O

objets de données ADO MD (ActiveX Data Objects Multidimensional)

Ensemble d’interfaces d’accès aux données basées sur les objets, indépendant du langage et de haut niveau, optimisé pour les applications de données multidimensionnelles. Visual Basic et d’autres langages d’automatisation utilisent ADO MD comme interface d’accès aux données pour les emplacements de stockage de données multidimensionnelles. ADO MD est intégré à ADO version 2.0 et ultérieure.

Voir aussi : ActiveX Data Objects (ADO)

objet Dictionary

Objet utilisé pour prendre en charge la création, le stockage et la récupération de paires nom/valeur dans la mémoire. Tous les éléments d’un objet Dictionary étant de type Variant, vous pouvez créer un objet Dictionary contenant quasiment n’importe quel type de valeur (y compris d’autres objets Dictionary) et vous pouvez stocker n’importe quelle combinaison de types Variant dans le même objet Dictionary.

objet bon de commande

Objet qui stocke des données de statut sur les achats en cours (et éventuellement antérieurs) d’un utilisateur particulier.

objet de pipeline

Objet qui utilise des fichiers de configuration de pipeline pour exécuter une série de composants. Commerce Server 2002 fournit six objets permettant d’exécuter des pipelines : MtsPipeline, MtsTxPipeline, PooledPipeline, PooledTxPipeline, OrderGroup et OrderPipeline. Les objets MtsPipeline et PooledPipeline ne prennent pas en charge les transactions COM+.

Voir aussi : pipeline non traité, pipeline, pipeline traité

offre de lancement

Type spécifique de vente associée qui propose à l’utilisateur de remplacer un produit qu’il est en train de regarder ou qu’il a placé dans son panier par un produit plus intéressant. Utilisez le Kit de développement de logiciel (SDK) pour ajouter la fonctionnalité d’offre de lancement à votre site.

Voir aussi : vente croisée intelligente

OLAP (online analytical processing)

Classe de technologies conçues pour une analyse et un accès aux données appropriés et en direct. Les données OLAP sont stockées dans une base de données multidimensionnelle, qui considère chaque attribut de données (par exemple, un produit, un secteur géographique ou une période de temps) comme une dimension distincte. Les données OLAP sont regroupées et organisées en cubes, en fonction de dimensions partagées. Data Warehouse utilise des cubes OLAP pour stocker les données importées, ce qui permet d’accélérer le traitement des rapports et des demandes.

Voir aussi : dimension, cube

online analytical processing

Voir OLAP.

opérations XMLHTTP (Extensible Markup Language/ Hypertext Transfer Protocol)

Mécanisme utilisé par les composants HTML ListSheet et TreeView pour extraire des données XML du serveur, permettant d’afficher les nouvelles données sans régénérer la totalité de la page contenant ces données.

opérations Extensible Markup Language/Hypertext Transfer Protocol

Voir opérations XMLHTTP (Extensible Markup Language/ Hypertext Transfer Protocol).

organisation

Société, division, département ou autre unité d’une société identifiés dans Commerce Server Business Desk comme source ou destination dans le cadre d’échange de documents commerciaux. L’ensemble des propriétés qui représentent les principales caractéristiques de l’organisation dans le cadre de l’échange électronique de documents est appelé profil de l’organisation. Une organisation désigne également un ensemble d’utilisateurs.

Voir aussi : module Organisations

P

package

Fichier créé par l’outil de déploiement Gestionnaire de package de site Commerce Server, qui contient toutes les données nécessaires au déploiement d’un site sur un autre ordinateur. Cela inclut les applications et les ressources, y compris les paramètres de propriété de ressource stockés dans la base de données d’administration. Un package ne contient pas de paramètres de propriété spécifiques à un ordinateur (par exemple, les chaînes de connexion). Les fichiers de package ont une extension .pup.

Également, configuration spécifique de tâches DTS.

Voir aussi : services de transformation de données (DTS, Data Transformation Services), tâche de transformation de données (DTS, Data Transformation Services)

page d’action

Fichier ASP unique qui fournit un aspect spécifique de la fonctionnalité associée à un module de Commerce Server Business Desk. Par exemple, une page d’action peut définir les propriétés d’un produit donné. Des pages d’action sont généralement affichées lorsque l’utilisateur clique sur le nom d’un module dans le volet de navigation ou sur un bouton de tâche proposé par une autre page d’action du même module.

Voir aussi : barre d’état

page de modification

Un des deux principaux types de pages d’action dans Commerce Server Business Desk. Les pages de modification fournissent des mécanismes permettant de modifier des données dans Business Desk. Les pages de modification ne partagent pas l’espace de travail Business Desk avec le volet de navigation. Ce dernier est masqué lorsque les pages de modification sont affichées, ce qui empêche l’utilisateur de passer à un autre module jusqu’à ce qu’il ferme la page de navigation et revienne à une page de liste.

Voir aussi : page de liste

page d’extraction

Type de page ASP (Active Server Pages) conçue pour renvoyer des documents XML (Extensible Markup Language) contenant des données au format XML standard. La page renvoyée contient exclusivement des données XML. Les composants HTML ListSheet et TreeView attendent ce format de données lorsqu’ils effectuent des opérations XMLHTTP.

page de liste

Un des deux principaux types de pages d’action dans Commerce Server Business Desk. Une page de liste fournit un affichage en lecture seule de certains types de données et permet généralement de filtrer, trier et sélectionner ces données. Une page de liste contient un composant HTML ListSheet et parfois un volet de recherche au-dessus de ce composant. Les pages de liste partagent l’espace de travail Business Desk avec le volet de navigation.

Voir aussi : page de modification

panier

Liste d’articles qu’un utilisateur sélectionne en vue de les acheter sur un site Web commercial. Cette liste est généralement compilée dans un fichier.

Voir aussi : module Gestionnaire de panier

pare-feu (firewall)

Point de contrôle de sécurité qui sépare un intranet d’Internet (ou de groupes Internet). Seules certaines données spécifiques peuvent franchir un pare-feu (firewall).

partenaire commercial

Organisation externe avec laquelle votre organisation échange des données électroniques. Les échanges de données entre partenaires commerciaux sont réglementés par les accords, les pipelines et les listes de distribution créés entre votre organisation et ses partenaires commerciaux. Les échanges de données entre partenaires commerciaux sont gérés par Microsoft BizTalk Server 2000.

pénalité de popularité

Pénalité appliquée à une prévision afin de réduire la probabilité selon laquelle un article populaire (très connu) sera recommandé.

personnalisation

Fonctionnalité qui permet d’adapter un contenu Web ou un message électronique aux utilisateurs en fonction de leur profil utilisateur ou des demandes de contenu qu’ils ont effectuées auparavant.

Voir aussi : groupe cible, module Expressions de la campagne, Service de publipostage (Direct Mailer) Commerce Server, Ressource Predictor, expression de ciblage

PIA (Primary Interop Assembly)

Assembly contenant des métadonnées qui décrivent des types COM existants qui sont déjà décrit dans une bibliothèque de types COM. Lorsque vous utilisez les types définis dans une bibliothèque de types, référencez toujours l’assembly PIA pour cette bibliothèque de types, au lieu de réimporter ou de redéfinir les types eux-mêmes. Évitez d’utiliser les assemblys d’interopérabilité qui ne sont pas des assemblys PIA.

Voir aussi : wrapper RWC (Runtime Callable Wrapper, wrapper pouvant être appelé au moment de l’exécution), assembly

pipeline de sélection de contenu

Infrastructure qui lie les étapes et les composants de pipeline nécessaires pour collecter, filtrer, évaluer et sélectionner un contenu.

Voir aussi : pipeline, composant de pipeline, étape

Pipeline du service de publipostage

Infrastructure qui lie les étapes et les composants de pipeline nécessaires pour un publipostage.

Voir aussi : publipostage, composant de pipeline, pipeline, étape

pipeline non traité

Pipeline qui ne prend pas en charge les transactions COM+. MtsPipeline et PooledPipeline sont les seuls objets qui prennent en charge les pipelines non traités.

Voir aussi : pipeline, objet de pipeline, pipeline traité

pipeline de traitement des commandes

Infrastructure logicielle qui lie plusieurs composants et les exécute dans un certain ordre. Commerce Server 2002 comprend trois pipelines de traitement des commandes : produit, planification et achat.

pipeline

Infrastructure logicielle qui définit et relie entre elles une ou plusieurs étapes d’un processus commercial, en les exécutant sous forme séquentielle pour effectuer une tâche spécifique. Chaque étape d’un pipeline contient un ou plusieurs composants de pipeline (objets COM) qui peuvent être configurés en fonction des besoins spécifiques du site.

Voir aussi : pipeline non traité, objet de pipeline, pipeline traité, Pipeline du service de publipostage, pipeline de sélection de contenu

Pipeline Editor (en anglais)

Application utilisée pour créer et modifier des fichiers de configuration de pipeline (.pct) Commerce Server. Pipeline Editor affiche un pipeline sous la forme d’un tuyau, chaque étape du pipeline étant représentée par un segment du tuyau. Les composants utilisés pour une étape sont représentés par des robinets.

pipeline mis en pool

Objet de pipeline enregistré avec COM+ pour tirer parti de la mise en pool d’objets.

pipeline traité

Pipeline qui prend en charge les transactions COM+. MtsTxPipeline et PooledTxPipeline sont les seuls objets qui prennent en charge les transactions. Si l’un des composants d’un pipeline traité échoue, le travail des composants précédents est annulé et l’objet abandonne la transaction.

Voir aussi : pipeline non traité, pipeline, objet de pipeline

PivotColumn

Colonne d’une table dense ou clairsemée qui contient l’identification des propriétés qui sont utilisées pour les prévisions. Par exemple, la colonne PivotColumn contient des références lors des prévisions relatives à des produits, des identificateurs de groupes de pages (PageGroupID) lors de prévisions relatives à des groupes de pages ou des identificateurs de publicités (AdID) lors de prévisions relatives à des publicités. La colonne PivotColumn est identifiée dans la table PredictorDataTables.

Voir aussi : AggregateColumn, CaseColumn, table dense, table clairsemée

planification de la capacité

Planification des besoins en termes d’applications, de matériel et de réseau pour prendre en charge le trafic prévu et atteindre les performances souhaitées.

poids

Moyen permettant de déterminer à quel moment un élément de la campagne doit être affiché, par rapport aux autres éléments de la campagne d’un même client. Dans une campagne marketing, le poids s’applique uniquement aux publicités dont le ciblage quantitatif a été défini au niveau de la campagne. Pour les publicités maison, le poids est déterminé en fonction de toutes les autres publicités maison pour tous les clients et toutes les campagnes marketing. Pour les publicités payées, le poids est déterminé en fonction des autres publicités payées de la même campagne marketing. Pour déterminer quand les éléments de la campagne de remise sont affichés, vous utilisez la priorité, et non le poids.

Voir aussi : publicité maison, publicité payée

pointeur de ressource globale

Objet ressource affiché au niveau du site permettant de référencer une ressource globale utilisée par ce site. Ces ressources globales peuvent également être référencées et utilisées par d’autres sites.

port d’échanges

Ensemble de règles configurées à l’aide de BizTalk Messaging Manager, qui permettent de définir comment les documents sont enveloppés, sécurisés et transportés vers l’organisation de destination.

port

Voir port d’échanges.

portée

Nombre d’utilisateurs uniques qui ont effectué une action spécifique, par exemple nombre d’utilisateurs qui ont cliqué sur une publicité donnée.

Voir aussi : fréquence, fréquence des clics

possibilité de recherche en texte libre

Indicateur Oui/Non dans une définition de propriété qui indique si cette propriété peut faire l’objet d’une recherche en texte libre. Pour que cet indicateur ait la valeur Oui, le type de propriété doit être « chaîne » ou « énuméré ». Une recherche en texte libre localise les correspondances et mots exacts dérivés du ou des mots que vous avez spécifiés. Par exemple, le mot « conduire » renvoie les correspondances conduis, conduisit, conduisant et conduit.

possibilité de recherche avec propriété

Indicateur Oui/Non dans une définition de propriété qui indique si cette propriété peut faire l’objet d’une recherche avec propriété.

pourcentage de clics

Nombre de clics reçus par une publicité divisé par le nombre de publicités fournies, comme indiqué par le rapport Synthèse de l’élément de la campagne. Par exemple, si une publicité s’affiche 100 fois sur votre site et que des utilisateurs cliquent sur 25 d’entre elles, lorsque vous exécutez le rapport Synthèse de l’élément de la campagne, il calcule le pourcentage de clics à 25 pour cent.

Voir aussi : clic sur publicité

pourcentage de majoration

Pourcentage à ajouter au prix catalogue pour obtenir un tarif préférentiel. Par exemple, un pourcentage de majoration de 20 % signifie que le prix est de 120 % du prix catalogue.

pourcentage de remise

Pourcentage à retirer au prix catalogue pour obtenir un tarif préférentiel. Par exemple, un pourcentage de remise de 20 % signifie que le prix est de 80 % du prix catalogue.

Prediction Model Viewer

Outil de navigation permettant d’afficher le réseau de dépendances et les arborescences de décision d’un modèle de prévision.

Primary Interop Assembly (PIA)

Voir PIA (Primary Interop Assembly).

prix direct

Prix associé à un produit spécifique d’un catalogue plutôt qu’à une catégorie de tarification.

Voir aussi : prix indirect

prix explicite

Tarif préférentiel qui spécifie un montant précis. Le prix explicite annule le prix spécifié dans le catalogue de base.

prix indirect

Prix associé à une catégorie de tarification. Le champ de prix de l’enregistrement produit est ignoré.

Voir aussi : prix direct

produits descendants

Produits associés à une catégorie ou à une de ses catégories descendants.

Voir aussi : catégorie descendant

produit

Article à vendre dans un catalogue. Chaque produit est une instance unique d’une définition de produit. Par exemple, un produit basé sur la définition de produit Livre (avec les propriétés « Auteur », « Titre » et « Prix catalogue ») peut avoir les propriétés « Bill Gates », « La Route du futur » et « 15,00 € ». Utilisez le module Éditeur de catalogue pour gérer les produits.

produit racine

Produit d’un catalogue qui n’est associé à aucune catégorie.

profil de l’utilisateur

Processus de collecte des informations par lequel les utilisateurs qui visitent un site Web fournissent des données de profil sur eux-mêmes. Par exemple, les utilisateurs peuvent remplir un formulaire en ligne en indiquant leur nom, leur adresse, leur numéro de téléphone, etc.

Voir aussi : profil implicite de l’utilisateur

profil générique

Tout profil qui n’utilise pas la définition de profil Objet utilisateur ou Organisations. Par exemple, le profil Adresse est un profil générique basé sur la définition de profil Adresse.

profil implicite de l’utilisateur

Processus de collecte des informations par lequel les actions et comportements d’un utilisateur visitant un site Web sont enregistrés au fur et à mesure des déplacements et des actions de cet utilisateur dans le site Web.

Voir aussi : profil de l’utilisateur, Ressource Predictor

profil de l’organisation

Ensemble de propriétés qui décrivent une société, une division, un département ou une autre unité d’une société. Par exemple, le nom, le numéro de compte, les limites de dépenses ou la remise société sont des propriétés qui peuvent constituer le profil d’une organisation. Dans Commerce Server Business Desk, vous pouvez définir un profil d’organisation pour les sociétés avec lesquelles vous entretenez des relations commerciales.

profil

Ensemble de caractéristiques qui définissent les éléments à caractère commercial, tels qu’un utilisateur, une société ou un processus commercial. Chaque profil est une instance unique d’une définition de profil. Par exemple, un profil basé sur la définition de profil Nouvel utilisateur peut avoir les propriétés Alice Mirwault, 52, Femme. Vous pouvez spécifier les données de profil que le module Utilisateurs doit collecter pour les utilisateurs qui visitent votre site. Ces données peuvent inclure le nom, l’âge, le sexe, l’adresse, etc.

profil d’utilisation

Ensemble de propriétés qui décrivent les schémas de trafic sur un site. Par exemple, un profil d’utilisation indique combien de personnes consultent une page donnée, la proportion de celles qui achètent et le nombre d’utilisateurs qui ajoutent un article à leur panier puis qui le retirent. Les administrateurs système se servent du profil d’utilisation pour savoir combien de serveurs Web sont nécessaires et pour configurer un site.

profil utilisateur

Ensemble de propriétés prédéfinies qui décrivent un utilisateur. Par exemple, le nom, l’adresse et le sexe peuvent constituer un profil utilisateur.

ProgID

Voir identificateur de programmation (ProgID, Programmatic Identifier).

propriétés de catalogue

Propriétés de base qui décrivent un catalogue, comme le nom, la date de début, la date de fin, la devise, l’unité de mesure du poids et les identificateurs de produit uniques. Utilisez l’Éditeur de catalogue pour gérer les propriétés des catalogues.

propriétés de catégories

Propriétés qui composent une définition de catégorie. Par exemple, la définition de catégorie Département peut avoir les propriétés suivantes : Description et Responsable. Utilisez le module Concepteur de définitions de catalogues pour gérer les propriétés de catégories.

propriété à choix multiple

Propriété qui contient un ensemble de valeurs prédéfinies. Par exemple, vous pouvez créer une propriété à choix multiple appelée Taille_Maillot et définir les valeurs possibles suivantes : S, M et L.

propriétés du produit

Propriétés qui composent une définition de produit. Par exemple, la définition de produit Livre peut contenir les propriétés de produit suivantes : « Auteur », « Titre » et « Prix catalogue ». Utilisez le module Concepteur de définitions de catalogues Business Desk pour gérer les propriétés de produits.

propriétés du composant produit

Propriétés qui différencient les composants produit. Par exemple, le composant produit maillot vert de taille moyenne possède deux propriétés de composant produit : la taille et la couleur.

propriété de profil

Caractéristique qui spécifie les données de profil à collecter lorsqu’un utilisateur visite votre site Web. Par exemple, la propriété Prénom indique que le prénom de l’utilisateur doit être collecté. Utilisez le module Concepteur de définitions de profils Business Desk pour gérer les propriétés de profil.

propriété

Caractéristique d’un produit, d’une catégorie ou d’un profil. Toutes les propriétés ont un nom et un type de données (par exemple, Description).

protocole HTTP (Hypertext Transfer Protocol)

Protocole client-serveur utilisé pour transmettre et recevoir des données sur le Web. Lorsque vous tapez une adresse URL dans votre navigateur, vous envoyez en fait une demande HTTP à un serveur Web pour obtenir une page de données.

publicité

Contenu que Commerce Server affiche en fonction d’une formule de livraison spécifique appelée estimation de livraison (EDL).

publipostage

Message électronique destiné à un utilisateur spécifique qui répond aux critères de la campagne de publipostage correspondante.

Voir aussi : Pipeline du service de publipostage

publicité maison

Publicité affichée lorsque les publicités payées ont pris de l’avance sur leur planification d’estimation de livraison. Par exemple, un client commande 1 000 publicités payées à livrer sur quatre mois, mais dans les deux premiers mois, la commande a été affichée 850 fois. Dans ce cas, pour rééquilibrer la planification d’estimation de livraison, des publicités maison sont affichées. Des publicités maison sont également affichées lorsque aucune publicité payée ne convient pour la demande.

Par exemple, une publicité maison est affichée si aucune publicité payée ne convient à une cible donnée ou si toutes les publicités payées sont confrontées à une exclusion. Une publicité maison permet de vendre le stock invendu à prix réduit. Les publicités maison sont également utilisées si les publicités d’un site n’ont pas de but de livraison spécifique, mais que vous souhaitez exécuter des publicités avec des poids spécifiés.

Voir aussi : poids

publicité payée

Publicité qui est fournie avec des objectifs de livraison spécifiques. La détermination de fournir une publicité à un moment donné est basée sur un calcul d’estimation de livraison, qui tient compte de la quantité totale de contenu (nombre de publicités) à livrer, et de la période sur laquelle cette publicité doit être fournie. Vous spécifiez les critères utilisés pour fournir des publicités payées ; en d’autres termes, vous « définissez un ciblage quantitatif » pour ces publicités soit au niveau de la campagne marketing, soit au niveau des éléments de la publicité. Pour les publicités payées dont le ciblage quantitatif a été défini au niveau de la campagne, vous spécifiez un poids pour chaque publicité. Pour les publicités payées dont le ciblage quantitatif a été défini au niveau des éléments de la publicité, vous spécifiez une quantité de demandes de publicité ou de clics à remettre pour chaque publicité de la campagne de marketing.

Voir aussi : demande de publicité, ciblage quantitatif de la campagne, estimation de livraison (EDL), poids

publicité Services Windows Media

Publicité qui affiche des publicités audio et vidéo haute qualité.

PUP

Voir Gestionnaire de package de site Commerce Server.

R

rapport d’extraction

Rapport dynamique dans lequel vous pouvez afficher des informations détaillées concernant toutes les dimensions du cube qui contient la dimension sur laquelle vous avez cliqué. Dans Commerce Server, les rapports dynamiques suivants prennent en charge la fonctionnalité d’extraction : le rapport Ventes produits et le rapport Événements du panier d’achat. Vous pouvez configurer par programmation les limites d’extraction pour un nombre maximal d’enregistrements et activer l’extraction pour des rapports supplémentaires.

Voir aussi : rapport dynamique

rapport dynamique

Rapport créé lors de l’exécution. Chaque fois que le rapport est exécuté, il récupère les données les plus récentes dans Data Warehouse. Seule la définition du rapport, qui ne change jamais, est stockée. (Les rapports statiques, eux, sont stockés avec les données qu’ils contiennent dans Data Warehouse.) Vous pouvez afficher les rapports dynamiques dans un tableau croisé dynamique ou un graphique croisé dynamique. Utilisez le module Rapports pour exécuter des rapports dynamiques.

Voir aussi : rapport d’extraction

rapports groupés

Ensemble de rapports individuels créés simultanément avec chaque rapport affichant des données uniques. L’affichage de données présenté dans chaque rapport est basé sur une ou plusieurs dimensions. Par exemple, un rapport Ventes par utilisateur avec un affichage de la dimension utilisateur produirait un rapport des ventes pour chaque utilisateur. Un rapport Ventes annuelles par utilisateur avec un affichage de l’utilisateur et de l’année produirait un rapport des ventes annuelles pour chaque utilisateur pour chaque année où des ventes ont eu lieu. Les rapports groupés servent à limiter les données affichées dans un rapport à l’affichage de données spécifique à un utilisateur. Par exemple, si un site héberge plusieurs annonceurs, il serait logique de proposer les résultats d’une campagne de publicité uniquement au sponsor de la publicité plutôt que d’afficher tous les résultats des publicités à l’ensemble des annonceurs.

Voir aussi : dimension, indicateur

rapport de graphique croisé dynamique

Rapport affiché dans un graphique interactif. Vous pouvez utiliser ce graphique pour afficher et réorganiser les données graphiquement, comme dans un rapport de tableau croisé dynamique. Dans Commerce Server, vous pouvez afficher les rapports dynamiques sous forme de rapports de graphique croisé dynamique. Pour afficher des rapports de graphique croisé dynamique, utilisez le module Rapports de Commerce Server Business Desk.

rapport de tableau croisé dynamique

Rapport affiché dans un tableau interactif. Vous pouvez faire pivoter les lignes et les colonnes du tableau pour afficher différentes synthèses des données source, filtrer les données ou afficher des données détaillées pour différents centres d’intérêt. Dans Commerce Server, vous pouvez afficher les rapports dynamiques sous forme de rapports de tableau croisé dynamique. Pour afficher des rapports de tableau croisé dynamique, utilisez le module Rapports de Commerce Server Business Desk.

rapport statique

Rapport exécuté immédiatement sur demande, puis stocké avec ses données dans Data Warehouse. (En revanche, avec un rapport dynamique, seules les informations nécessaires à la création du rapport sont stockées dans Data Warehouse.) Vous pouvez publier des rapports statiques sur votre site Web et exporter les données d’un rapport statique vers le module Gestionnaire de listes de Business Desk. Utilisez le module Rapports pour exécuter des rapports statiques et utilisez le module Analyse de rapports pour les afficher.

recherche de texte intégral

Recherche dans un ou plusieurs documents ou enregistrements, ou dans une ou plusieurs chaînes, basée sur toutes les données de texte réelles plutôt que sur un index contenant un ensemble limité de mots clés.

recherche basée sur les propriétés

Méthode de recherche permettant de rechercher dans un catalogue les produits dont certaines propriétés ont des valeurs spécifiques (par exemple, un prix supérieur à 20 euros et la couleur bleue).

recherche avec propriété

Méthode permettant de rechercher des produits en affinant progressivement votre recherche, grâce à la définition de contraintes de paramètre comme une catégorie, un produit ou une propriété. Lorsque vous effectuez une recherche avec propriété, vous recherchez des propriétés en réduisant progressivement le nombre de produits qui répondent à vos critères de recherche. Les recherches avec propriété sont utiles si vous ne souhaitez pas rechercher parmi tous vos produits, mais identifier un groupe de produits.

Référence

Unité de gestion de stock. Dans Commerce Server, la référence est l’identificateur unique, généralement alphanumérique, d’un produit. La référence permet le suivi d’un produit à des fins d’inventaire. Une référence peut être associée à n’importe quel article pouvant être acheté. Par exemple, un maillot de type 3726, taille 8 peut avoir la référence 3726-8.

relation de catégorie

Méthode permettant d’associer un produit avec un autre produit ou une catégorie. Les relations de catégorie ont un nom, une description et une cible. Une catégorie peut être associée à une autre catégorie (par exemple, relation entre la catégorie Jeans et la catégorie Ceintures). Une catégorie peut également être associée à un produit (par exemple à un élément de cette catégorie). Une catégorie peut avoir plusieurs relations avec d’autres catégories et/ou produits.

relation de membre de classe

Association entre des membres de données spécifiques des deux classes composant la relation de classe.

relation de classe

Relation de type parent-enfant entre deux classes. La relation définit le nombre d’instances de chaque classe. Dans Data Warehouse de Commerce Server, pratiquement toutes les relations de classe sont de type plusieurs-à-un. Cela signifie qu’un parent peut ne pas avoir d’enfant ou peut en avoir un ou plusieurs.

relations entre produits

Méthode permettant d’associer un produit d’un catalogue avec un autre produit ou une catégorie. Par exemple, les imprimantes peuvent être associées aux rubans d’imprimante ou aux cartouches d’encre, bien que ces produits se trouvent dans des catégories différentes. Une relation entre produits possède un nom précisant le type de lien (par exemple, « Accessoire »), ainsi qu’un produit ou une catégorie source et un produit ou une catégorie cible. Utilisez le module Concepteur de définitions de catalogues Business Desk pour gérer les relations entre produits.

relation

Voir relation de classe et relation de membre de classe.

remise

Type de promotion spécifique qui permet aux acheteurs de faire des économies sur certains produits ou groupes de produits s’ils répondent à certaines conditions spécifiées. Dans Commerce Server, les remises ont un composant de ciblage et un composant d’affichage.

remise fixe

Montant exact à retirer au prix catalogue pour obtenir un tarif préférentiel.

rendement

Dans les rapports Business Desk, nombre de demandes de publicité réelles divisé par le nombre de demandes de publicité qui ont été spécifiées dans le ciblage quantitatif de la campagne dans le module Gestionnaire de campagnes. Commerce Server détermine le nombre de fois qu’un contenu doit s’afficher, tel qu’une publicité sur votre site, en analysant le nombre de demandes de publicité enregistré sur votre site et l’estimation de livraison (EDL) pour la publicité. Une fois les publicités exécutées pendant une durée donnée, vous exécutez le rapport Synthèse de l’élément de la campagne, lequel calcul le pourcentage de rendement, indiquant l’efficacité de cette campagne de publicité sur votre site.

Voir aussi : demande de publicité, estimation de livraison (EDL), ciblage quantitatif de la campagne

répertoire virtuel

Nom de répertoire utilisé dans une adresse Web, qui correspond à un répertoire physique du serveur. Parfois appelé mappage URL. Dans IIS (Internet Information Services) 5.0, un répertoire virtuel est l’élément suivant dans la hiérarchie de la console MMC (Microsoft Management Console) sous un site Web (serveur virtuel), et il hérite des propriétés du site Web. Certaines de ces propriétés peuvent être remplacées au niveau du répertoire virtuel, mais pas toutes. Certaines applications, notamment les applications Commerce Server, se trouvent au niveau du répertoire virtuel dans IIS, et n’ont pas la même relation parent-enfant avec le site Web.

réplication de contenu

Méthode permettant de copier le contenu d’un site Web d’un nœud de serveur vers un autre. Vous pouvez copier les fichiers manuellement ou utiliser un logiciel de réplication pour les copier automatiquement. La réplication est nécessaire pour le clustering, afin d’assurer la tolérance de pannes.

réplication

Processus de copie de contenu et/ou de paramètres de configuration d’un nœud de serveur vers un autre. Vous pouvez copier les fichiers manuellement ou utiliser un logiciel de réplication pour les copier automatiquement. La réplication est nécessaire pour le clustering, afin d’assurer la tolérance de pannes.

requête

Demande spécifique en vue de récupérer, de modifier ou de supprimer des données.

réseau de dépendances

Synthèse graphique des relations de prévision (dépendances) contenues dans un modèle Predictor. Utilisez Prediction Model Viewer pour afficher un réseau de dépendances.

Voir aussi : arc, arborescence de décision

ressource Configuration par défaut de l’application

Ressource Commerce Server avec des propriétés de niveau site, gérée via le Gestionnaire Commerce Server. Utilisez Configuration par défaut de l’application pour définir les propriétés qui déterminent les fonctionnalités du site pour les options de devise, les options de facturation et l’intégration de BizTalk Server.

ressource Autorisations Business Desk

Ressource Commerce Server avec des propriétés de niveau site, gérée via le Gestionnaire Commerce Server. Utilisez la ressource Autorisations Business Desk pour configurer la chaîne de connexion à la base de données contenant les données relatives aux autorisations Business Desk.

ressource Campagnes marketing

Ressource Commerce Server avec des propriétés de niveau site, gérée via le Gestionnaire Commerce Server. Utilisez cette ressource pour configurer la chaîne de connexion à la base de données contenant les données sur les campagnes marketing.

ressource CS Authentication

Ressource Commerce Server avec des propriétés de niveau global, gérée via le Gestionnaire Commerce Server. Utilisez CS Authentication pour configurer les options d’authentification pour un site.

ressource Data Warehouse

Ressource Commerce Server avec des propriétés de niveau global, gérée via le Gestionnaire Commerce Server. Utilisez la ressource Data Warehouse pour spécifier la chaîne de connexion à la base de données de Data Warehouse.

ressource globale

Ressource disponible pour tous les sites. Une ressource globale affiche un objet au niveau global dans le Gestionnaire Commerce Server et au niveau du site pour tous les sites qui utilisent cette ressource globale. Les propriétés d’une ressource globale sont configurées au niveau global.

Les ressources globales suivantes sont fournies avec Commerce Server : Direct Mail de Commerce Server et Predictor (qui sont également des services Windows 2000), CS Authentication, Profiles et Data Warehouse. Des éditeurs tiers peuvent développer des ressources globales personnalisées à utiliser avec Commerce Server. Utilisez le Gestionnaire Commerce Server pour gérer les ressources globales.

Voir aussi : ressource

ressource Autorisations

Voir ressource Autorisations Business Desk.

Ressource Predictor

Ressource globale qui est également un service Windows 2000. La ressource Predictor est gérée par le Gestionnaire Commerce Server et comprend un puissant moteur de data mining qui permet d’ajouter des fonctionnalités de prévision à votre site Web, en utilisant les propriétés résumées de tous les visiteurs de votre site. Utilisez la ressource Predictor pour créer des modèles d’analyse que vous pourrez déployer sur votre site Web pour analyser les informations sur les utilisateurs.

Voir aussi : profil implicite de l’utilisateur, personnalisation

ressource Catalogue de produits

Ressource Commerce Server avec des propriétés de niveau site, gérée via le Gestionnaire Commerce Server. Utilisez la ressource Catalogue de produits pour configurer la chaîne de connexion à la base de données contenant les données sur le catalogue.

ressource Profiles

Ressource Commerce Server avec des propriétés de niveau global, gérée via le Gestionnaire Commerce Server. Utilisez la ressource Profils pour spécifier la chaîne de connexion à la base de données contenant les données de profil utilisateur. La ressource Profils permet également de créer, de modifier et de supprimer des propriétés de profil et des profils. Vous pouvez ajouter et supprimer des sources de données, par exemple des bases de données SQL Server ou des sources de données Active Directory.

Voir aussi : service Biz Data

ressource

Entité qui fournit une fonctionnalité aux applications d’un site Commerce Server. Une ressource est composée d’un ou plusieurs objets COM. Ces objets sont utilisés sur les pages Web d’une application pour accéder aux fonctionnalités de la ressource. Une ressource peut avoir des propriétés globales ou des propriétés de niveau site, mais pas les deux. Les propriétés de ressource sont stockées dans la base de données d’administration. Commerce Server est livré avec un ensemble de ressources, dont certaines sont également des services Windows 2000. Des éditeurs tiers peuvent développer des ressources personnalisées à utiliser avec Commerce Server. Vous utilisez le Gestionnaire Commerce Server pour gérer les ressources.

Voir aussi : ressource globale, service, ressource de site

ressource de site

Ressource disponible pour un site spécifique. Toutes les ressources utilisées par un site affichent un objet au niveau du site dans le Gestionnaire Commerce Server. Par exemple, une ressource globale peut également être une ressource de site : une ressource globale utilisée par un site affiche un objet au niveau du site ; la seule propriété affichée par l’objet est un pointeur vers la ressource globale associée au niveau global.

Une ressource de site peut avoir toutes ses propriétés au niveau du site ou au niveau global, mais elle ne peut pas avoir des propriétés aux deux niveaux en même temps. Vous configurez les propriétés d’une ressource de site au niveau du site. Un certain nombre de ressources de site sont fournies avec Commerce Server et les éditeurs tiers peuvent développer des ressources de site personnalisées. Vous utilisez le Gestionnaire Commerce Server pour gérer les ressources du site.

Voir aussi : ressource

ressource Configuration de la transaction

Ressource Commerce Server avec des propriétés de niveau site, gérée via le Gestionnaire Commerce Server. Utilisez la ressource Configuration de la transaction pour configurer la chaîne de connexion à la base de données contenant les métadonnées de transaction.

ressource Transactions

Ressource Commerce Server avec des propriétés de niveau site, gérée via le Gestionnaire Commerce Server. Utilisez la ressource Transactions pour configurer la chaîne de connexion à la base de données contenant les métadonnées de transaction.

S

salt

Nombre aléatoire 32 bits qui est préfixé aux données utilisateur avant l’exécution du hachage. Cela augment la sécurité des schémas de cryptage par hachage.

schéma logique de Data Warehouse

Voir schéma logique.

schéma logique

Dans Data Warehouse, modèle conceptuel mappé vers les données de la base physique qui fournit un affichage compréhensible des données. Lorsqu’un développeur crée du code pour accéder ou apporter des modifications aux données de Data Warehouse, il interagit avec le schéma logique. Commerce Server traite l’accès aux données de Data Warehouse à l’aide du schéma logique.

schéma à plusieurs instances

Schéma de conception permettant la création de plusieurs instances pour une seule ressource.

Voir aussi : schéma à instance unique

schéma à instance unique

Schéma de création qui permet de créer une seule instance d’une ressource.

Voir aussi : schéma à plusieurs instances

score de sélection de contenu

Valeur numérique servant de base pour la sélection de contenu ciblé (par exemple, des publicités ou des remises) dans l’infrastructure de sélection de contenu (CSF). Un score initial est attribué à chaque élément lors de l’étape de définition du score initial (par défaut, le score initial est de 1 si aucune valeur n’est définie). Ce score est ensuite ajusté en fonction du degré de correspondance de l’élément avec le critère de ciblage. Le composant SelectWinners sélectionne les éléments dont le score ajusté est le plus élevé et les affiche à l’utilisateur du site Web. Les éléments dont le score est de zéro (0) ne sont pas sélectionnés.

score d’ajustement aux données

Valeur qui mesure la qualité des prévisions effectuées par un modèle d’analyse lors du remplissage des données manquantes.

Voir aussi : score

score de recommandation

Valeur qui mesure la qualité des modèles d’analyse lorsqu’ils servent à recommander des produits pour de la vente croisée. Ce score mesure la qualité d’une liste classée de recommandations renvoyées par les modèles.

Voir aussi : score

score

Mesure qui évalue la précision d’un modèle d’analyse pour la prévision des données. Vous pouvez utiliser ces scores pour mesurer l’efficacité des modèles d’analyse lorsque vous ajustez les valeurs utilisées pour les paramètres Taille de l’échantillon, Fraction d’attribut d’entrée et Fraction d’attribut de sortie dans la boîte de dialogue Propriétés de construction d’un modèle.

Voir aussi : score d’ajustement aux données, score de recommandation, fraction de l’échantillon mesurée pour la précision

segment

Dans le module Identification de segments, groupe d’utilisateurs qui partagent certaines propriétés de profil.

segmentation

Technique de data mining qui identifie des groupes de cas similaires. Utilisez le module Identification de segments pour effectuer une segmentation.

serveur Web non-Commerce Server

Serveur Web sur lequel Commerce Server n’a pas été installé. Il génère des fichiers journaux au format W3C qui peuvent être importés dans le Data Warehouse et utilisés pour analyse. Un serveur Web non-Commerce Server peut exécuter ou non les services IIS (Internet Information Services).

serveur proxy

Composant d’un pare-feu (firewall) qui gère le trafic Internet en provenance et en direction d’un réseau local et qui peut également proposer d’autres fonctionnalités, comme la mise en cache de documents ou le contrôle de l’accès. Un serveur proxy peut améliorer les performances en mettant en cache et en fournissant directement les données souvent demandées (par exemple des pages Web très visitées). Il peut également filtrer et rejeter les demandes auxquelles le propriétaire ne souhaite pas répondre, par exemple les demandes d’accès non autorisées à des fichiers propriétaires.

serveur virtuel

Également appelé « site Web » (tel que le site Web par défaut). Ordinateur virtuel qui se trouve sur un serveur HTTP mais s’affiche à l’utilisateur comme un serveur HTTP distinct. Plusieurs serveurs virtuels peuvent se trouver sur un ordinateur, chacun d’entre eux étant capable d’exécuter ses propres programmes et disposant d’un accès individualisé aux dispositifs d’entrée et autres périphériques.

Chaque serveur virtuel possède ses propres nom de domaine Internet et adresse IP (Internet Protocol) et s’affiche à l’utilisateur en tant que site Web distinct. Certains fournisseurs de services Internet utilisent des serveurs virtuels pour les clients qui souhaitent utiliser leurs propres noms de domaine. Un fournisseur de services Internet peut créer plusieurs sites Web IIS (Internet Information Services) 5.0 et décompresser des applications Commerce Server pour différents clients se trouvant dans des sites Web IIS distincts. Des applications Commerce Server se trouvant sous différents sites Web IIS peuvent partager des ressources globales.

Serveur Web

En règle générale, ordinateur équipé d’un logiciel serveur qui utilise des protocoles comme HTTP pour répondre aux demandes des clients Web sur un réseau TCP/IP (Transmission Control Protocol/Internet Protocol).

Dans Commerce Server, un serveur Web est un ordinateur serveur physique qui exécute les services IIS (Internet Information Services) 5.0 et hérite des propriétés du site Web IIS. Un serveur Web s’affiche sous une application dans la console Gestionnaire Commerce Server. Une application Commerce Server peut utiliser plusieurs serveurs Web qui fournissent différents types de contenus à l’application.

service d’authentification

Voir ressource CS Authentication.

service Biz Data

Nom de la ressource Profils tel qu’il apparaît dans le fichier pup.log.

Voir aussi : ressource Profiles

Service de publipostage (Direct Mailer) Commerce Server

Ressource globale qui est également un service Windows 2000. Le service de publipostage exécute des campagnes de publipostage. Il traite des listes de destinataires, crée des corps de messages personnalisés à partir de pages Web ou de fichiers statiques et envoie des messages électroniques aux destinataires. Utilisez le Gestionnaire Commerce Server pour configurer et gérer le service de publipostage et pour spécifier la chaîne de connexion à la base de données du service de publipostage. Le programme d’installation de Commerce Server installe le service de publipostage et la base de données du service de publipostage lors d’une installation de serveur Web ou complète, ou lorsque vous sélectionnez le service de publipostage lors d’une installation personnalisée.

Voir aussi : personnalisation, base de données du service de publipostage

services de transformation de données (DTS, Data Transformation Services)

Composant SQL Server utilisé pour importer, exporter et transformer des données provenant de différentes sources de données. Commerce Server fournit un ensemble de tâches DTS que vous pouvez utiliser pour importer des données dans Data Warehouse de Commerce Server.

Voir aussi : package, tâche de transformation de données (DTS, Data Transformation Services)

Service de publipostage

Voir service de publipostage Commerce Server.

Services IIS

Voir services IIS (Internet Information Services).

services IIS (Internet Information Services)

Services Windows 2000 qui prennent en charge la création, la configuration et la gestion de sites Web, ainsi que d’autres fonctions Internet. Vous devez installer les services IIS sur un serveur avant d’installer Commerce Server.

Service Gestionnaire de listes

Service Windows 2000 qui exécute les tâches que vous spécifiez dans le module Gestionnaire de listes de Commerce Server Business Desk. Par exemple, vous pouvez créer, supprimer, importer, exporter, copier et fusionner des listes d’enregistrements utilisateur. Pour créer une liste, vous pouvez importer des données à partir de fichiers plats, d’une base de données SQL Server, de Data Warehouse ou de segments de la ressource Predictor. Vous pouvez exporter une liste vers un fichier plat ou une base de données SQL Server.

service

Programme, routine ou processus qui exécute une fonction système spécifique pour prendre en charge d’autres programmes, en particulier à un bas niveau (proche du matériel). Si des services sont fournis sur un réseau, ils peuvent être publiés dans Active Directory, facilitant ainsi l’utilisation et l’administration orientées service. Les services ont des fonctions d’administration communes. Par exemple, un service peut être démarré, arrêté, suspendu ou repris, ses paramètres de démarrage peuvent être modifiés et il peut être administré à l’aide de scripts et d’utilitaires de ligne de commande. Commerce Server comprend les ressources suivantes, qui sont également des services : Service de publipostage, Predictor et Gestionnaire de listes.

Voir aussi : ressource

services Web XML

Unités de logique d’application fournissant des données et des services à d’autres applications. Les applications accèdent aux services Web XML via des protocoles Web standard et des formats de données tels que HTTP, XML et SOAP, indépendants de la façon dont chaque service Web XML est implémenté. Les services Web XML sont une pierre angulaire du modèle de programmation Microsoft .NET.

SID

Voir identificateur de sécurité.

site entreprise-entreprise

Site Web commercial conçu pour la création et la transmission de bons de commande entre des entreprises ayant une relation établie. Également appelé site fournisseur.

site entreprise-client

Site Web commercial permettant la vente au détail directement au public. Également appelé site de vente au détail.

site solution

Ensemble de fonctionnalités Commerce Server préconfigurées pour un scénario de site spécifique et regroupées dans un fichier de package. Le site solution Blank est inclus dans le coffret Commerce Server. Deux autres sites, Retail et Supplier, sont disponibles en ligne à l’adresse suivante : http://www.microsoft.com/commerceserver/solutionsites (en anglais). Chaque site solution est conçu pour être décompressé, puis personnalisé en fonction des besoins de votre site.

site Web

En règle générale, collection de fichiers et d’applications accessibles via une adresse Web, concernant un thème ou un sujet spécifique et gérés par une personne ou une organisation donnée. Un site Web réside sur des serveurs connectés au Web et fournit du contenu disponible dans le monde entier, 24 heures sur 24 et 7 jours sur 7. Les sites Web utilisent généralement le langage HTML pour mettre en forme et présenter les informations et pour fournir des fonctionnalités de navigation aux utilisateurs, leur permettant de se déplacer à l’intérieur du site et sur le Web. Du point de vue de l’administration IIS (Internet Information Services) 5.0, « site Web » signifie plus particulièrement « serveur virtuel » (tel que le site Web par défaut). Un serveur virtuel est un ordinateur virtuel qui se trouve sur un serveur HTTP mais s’affiche à l’utilisateur comme un serveur HTTP distinct. Plusieurs serveurs virtuels peuvent se trouver sur un ordinateur, chacun d’entre eux étant capable d’exécuter ses propres programmes et disposant d’un accès individualisé aux dispositifs d’entrée et autres périphériques. Chaque serveur virtuel a son propre nom de domaine Internet et sa propre adresse IP (Internet Protocol).

site

Dans le Gestionnaire Commerce Server, conteneur pour les applications Commerce Server et les ressources de niveau site. Par exemple, le site Retail contient deux applications : le site Web entreprise-client et Business Desk Commerce Server entreprise-client, qui partagent les mêmes ressources de niveau site.

spécification de langage commun (CLS, Common Language Specification)

Ensemble de règles vérifiables par programme qui régissent l’interopérabilité de types créés dans différents langages de programmation. L’interopérabilité des composants et outils compatibles CLS avec d’autres composants et outils compatibles CLS est garantie.

sponsor

Client qui paie pour exécuter des publicités dans certaines sections ou sur certaines pages d’un site, en demandant qu’aucune autre publicité n’y figure. Ces publicités sont prioritaires par rapport à toutes les autres, même par rapport aux publicités ciblées. Ces publicités sont souvent des messages intégrés à votre contenu de façon exclusive. Il peut s’agir par exemple de publicité de transition avec un message de type « proposé par ». Les pages et les cibles peuvent avoir des sponsors. Pour définir ce type de publicité, utilisez le module Groupes cibles de Business Desk et spécifiez l’action du sponsor dans une expression de ciblage.

synthèse de segment

Dans le module Identification de segments, liste triée des principales propriétés qui caractérisent un segment.

T

table dense

Table de base de données qui contient des informations denses. Par exemple, une table contenant des informations utilisateur avec un utilisateur par ligne et une colonne pour chaque propriété d’utilisateur, telle que la profession, l’âge et le sexe. Lorsqu’un cas est construit à partir d’une table dense, les colonnes de la table dense sont identifiées dans la table PredictorDataTables en tant que colonnes CaseColumn, PivotColumn et AggregateColumn. Une configuration de modèle ne peut référencer qu’une seule table dense à la fois.

Voir aussi : AggregateColumn, cas, CaseColumn, PivotColumn, table clairsemée

table clairsemée

Table de base de données qui contient des informations clairsemées. À titre d’exemple, une table clairsemée pourrait être une table d’historique des transactions contenant les colonnes suivantes : IDClient, IDProduit, Quantité. Dans cette table, il y a une ligne pour chaque achat. Si un utilisateur a acheté trois produits, ou si un produit est acheté par trois utilisateurs, ces informations sont stockées dans trois lignes. Lorsqu’un cas est construit à partir d’une table clairsemée, les colonnes de la table clairsemée sont identifiées dans la table PredictorDataTables par les colonnes CaseColumn, PivotColumn et AggregateColumn. Une configuration de modèle peut référencer plusieurs tables clairsemées et peut référencer plusieurs fois la même table clairsemée, en utilisant à chaque fois différentes colonnes telles que CaseColumn, PivotColumn et AggregateColumn.

Voir aussi : AggregateColumn, cas, CaseColumn, table dense, PivotColumn

tâche de transformation de données (DTS, Data Transformation Services)

Objet DTS (Data Transformation Services) qui définit des tâches à effectuer dans le cadre du processus de transformation des données.

Voir aussi : services de transformation de données (DTS, Data Transformation Services), package

tâche

Dans Commerce Server Business Desk, opération effectuée à partir d’une page d’action, entraînant souvent l’affichage d’une autre page d’action dans laquelle les détails de la tâche peuvent être effectués. Les tâches sont initiées en appuyant sur un bouton de tâche. Certaines tâches, comme les tâches de modification ou de suppression, dépendent du contexte : elles sont appliquées à l’élément sélectionné dans la page d’action actuelle.

taille du contenu

Hauteur et largeur (en pixels) de votre contenu. Vous pouvez définir de nouvelles tailles de contenu à l’aide du module Tables de références. Lorsque vous créez ou modifiez une taille de contenu, la mise à jour s’affiche dans la liste déroulante répertoriant les tailles de contenu, disponible dans le module Gestionnaire de campagnes.

taille de l’échantillon

Nombre de cas utilisés pour construire un modèle d’analyse.

Voir aussi : cas, fraction de l’échantillon mesurée pour la précision

tarif préférentiel

Règle de tarification spécifique qui s’applique aux produits d’un catalogue virtuel. Il existe trois types de tarifs préférentiels : pourcentage de remise, remise fixe et prix explicite.

Voir aussi : catalogue virtuel

taux de clics sur publicité

Pourcentage de demandes de publicité qui ont entraîné un clic sur publicité.

Voir aussi : clic sur publicité, demande de publicité

taux de conversion

Multiplicateur utilisé pour convertir la devise de base du site Web en devise de l’acheteur ou en devise du fournisseur. Le taux de conversion est stocké dans le mini-site de commandes « Order Sitelet » inclus dans le Kit de développement de logiciel (SDK) uniquement à titre indicatif, et un système d’exécution des commandes ou de comptabilité tiers de sites Web doit en effectuer le suivi.

Voir aussi : taux ponctuel, heure de conversion, type de conversion, taux fixe

taux fixe

Taux de conversion statique qui permet à chaque partie (acheteur, site Web ou fournisseur) de savoir exactement combien elle versera ou recevra pour des articles, car le taux de conversion est déjà défini.

Voir aussi : taux de conversion, heure de conversion, type de conversion, taux ponctuel

taux ponctuel

Taux de conversion dynamique qui n’est pas défini jusqu’à l’heure de conversion. Les changements du marché peuvent affecter le taux ponctuel entre l’heure à laquelle le client achète des articles sur le site et l’heure de conversion. C’est pourquoi il est suggéré que tous les prix d’articles non affichés dans la devise de base du site Web soient marqués comme étant approximatifs.

Voir aussi : taux de conversion, heure de conversion, type de conversion, taux fixe

test de charge

Voir test de stress.

test de stress

Test effectué sur une application Commerce Server pour s’assurer qu’elle peut prendre en charge un certain nombre d’utilisateurs simultanés et supporter les pics d’utilisation, tout en maintenant le niveau de performance souhaité. Ce test est effectué à l’aide d’un outil de stress qui génère les charges définies par l’administrateur système pour simuler le schéma d’utilisation attendu pour le site. Également appelé test de charge.

texte de remplacement

Chaîne de texte qui s’affiche à la place d’une image lorsqu’une page Web se charge, lorsque les graphismes ne sont pas affichés ou lorsque l’utilisateur s’arrête sur l’image avec sa souris. Les utilisateurs qui ne disposent pas d’un navigateur graphique ou qui ont choisi de ne pas télécharger les graphismes peuvent utiliser ce texte de remplacement pour identifier le graphisme qui aurait dû s’afficher.

ticket d’authentification

Ticket créé par Commerce Server pour les utilisateurs inscrits. Également appelé ticket MSCSAuth.

Voir aussi : ticket, ticket de profil

ticket MSCSAuth

Voir ticket d’authentification

ticket MSCSProfile

Voir ticket de profil.

ticket de profil

Ticket créé par Commerce Server pour les utilisateurs anonymes (invités). Également appelé ticket MSCSProfile.

Voir aussi : ticket d’authentification, ticket

ticket

Chaîne de paires propriété/valeur utilisée pour stocker des informations d’authentification et d’autres informations concernant un utilisateur. Par exemple, « Identificateur d’utilisateur/JeanUtilisateur » est un ticket. Les données de ticket peuvent être stockées dans un cookie ou dans une chaîne de requête d’adresse URL.

Voir aussi : ticket d’authentification, cookie, ticket de profil

traçage

Forme de débogage, effectué à l’aide de la classe Trace, qui effectue le suivi d’une application en cours d’exécution et présente les détails de son exécution. Le traçage est disponible pour toutes classe ASP.NET qui implémente une propriété Trace.

transaction multidevise

Échange monétaire pour des articles ou des services entre un acheteur et une entreprise, effectué via un site Web qui est la propriété de l’entreprise, ou entre un fournisseur et une entreprise à l’aide d’un site Web, dans lequel la devise par défaut de l’acheteur ou du fournisseur diffère de la devise de base spécifiée pour le site.

Voir aussi : devise du fournisseur, devise de base

transaction

Groupe d’opérations enregistrées dans un journal afin de pouvoir être annulées en cas d’erreur. Commerce Server 2002 fournit des objets de pipeline qui prennent en charge les transactions.

TRUSTe

Initiative indépendante à but non lucratif dont l’objectif est de gagner la confiance des utilisateurs d’Internet par la promotion des principes TRUSTe garantissant des pratiques loyales en matière de transmission d’informations. Microsoft est l’un des principaux acteurs du programme TRUSTe et applique le programme de confidentialité TRUSTe.

type de conversion

Type de conversion de devise utilisé pour convertir la devise de l’acheteur en devise de base du site Web, ou pour convertir la devise du fournisseur en devise de base dans une transaction multidevise. Le type de conversion peut être soit à taux fixe (statique), soit à taux ponctuel (dynamique).

Voir aussi : taux de conversion, heure de conversion, taux ponctuel, taux fixe, commande multidevise

type de données

Définition d’un ensemble de données qui spécifie la plage de valeurs possibles pour l’ensemble. Des exemples de types de données sont : nombre, décimal et texte.

U

Uniform Resource Identifier (URI)

Identifie des points de contenu sur Internet. Un contenu peut être une page de texte, une vidéo, un fichier son, une image ou un programme. Le type d’URI le plus courant est l’adresse de page Web, également appelée Uniform Resource Locator (URL). Un URI comprend généralement le nom de fichier de la ressource, le nom de l’ordinateur sur lequel la ressource se trouve et le protocole utilisé pour y accéder. Par exemple, http://www.microsoft.com/sql/techinfo/security/password.htm.

Uniform Resource Locator (URL)

Adresse d’un fichier (ressource) accessible sur Internet. Le type de ressource dépend du protocole d’application Internet. Par exemple, pour le protocole HTTP (Hypertext Transfer Protocol) utilisé sur le Web, la ressource peut être une page HTML, un fichier image, un programme comme une application CGI ou une applet Java ou tout autre fichier pris en charge par le protocole HTTP. L’adresse URL contient le nom du protocole nécessaire pour accéder à la ressource, un nom de domaine qui identifie un ordinateur spécifique sur Internet et une description hiérarchique d’un emplacement de fichier sur cet ordinateur.

Universal Character Set Transformation Code (UTF-8)

Protocole utilisé pour transformer des caractères Unicode étendus multioctets en séquences de longueurs variables de valeurs codées sur un octet afin de permettre la compatibilité avec des systèmes de fichiers hérités, des analyseurs et d’autres logiciels qui utilisent des valeurs ASCII codées sur un octet mais qui sont transparentes pour d’autres valeurs. Commerce Server Enterprise Edition vous permet d’importer des fichiers journaux UTF-8.

URI

Voir Uniform Resource Identifier (URI).

URL

Voir Uniform Resource Locator (URL).

UTF-8

Voir UTF-8 (Universal Character Set Transformation Format).

utilisateur anonyme

Utilisateur qui accède au contenu d’un site Web sans fournir de nom d’utilisateur ni de mot de passe. Parfois appelé utilisateur invité.

utilisateur distinct

Voir utilisateur unique.

utilisateur inscrit

Visiteur d’un site Web qui fournit volontairement des informations personnelles, comme son nom, son adresse ou son numéro de téléphone. Ces informations sont transmises au serveur et peuvent être utilisées pour indiquer la proportion d’hommes et de femmes parmi vos clients, le nombre de personnes qui ont acheté certains produits, le nom des clients qui achètent systématiquement les mêmes produits, ainsi que d’autres détails.

utilisateur unique

Utilisateur considéré comme unique pendant une durée spécifiée. Par exemple, un utilisateur peut visiter votre site 130 fois pendant une durée d’un mois. Commerce Server comptabilise l’utilisateur comme un utilisateur unique une seule fois. Toutefois, Commerce Server comptabilise l’utilisateur comme un utilisateur (non unique) 130 fois pendant la même période d’un mois.

Voir aussi : utilisateur

utilisateur non inscrit

Utilisateur qui visite un site Web et s’abstient volontairement de fournir les informations personnelles ou d’identification nécessaires à l’inscription.

utilisateur

Personne qui visite un site Commerce Server au moins une fois. Ce terme désigne toute personne qui clique sur le site, que cette personne soit inscrite ou non.

Voir aussi : utilisateur unique

V

valeur de code

Abréviation utilisée pour représenter des informations textuelles pour les propriétés, par exemple les codes de pays/région, de département et de statut de la commande. Par exemple, WA est la valeur de code correspondant à l’état de Washington.

valeur de devise haute précision

Valeur de devise exprimée par un entier à 64 bits et mis à l’échelle 10 000, par opposition aux entiers à 32 bits utilisés dans Site Server 3.0 Édition Commerce. Dans Commerce Server 2002, le chiffre 1,99 euros est représenté par la valeur 19 000. Les clés auxquelles une valeur de devise haute précision a été affectée ont le préfixe cy_. Par exemple, la version comportant une devise haute précision de la clé _oadjust_adjustedprice est _cy_oadjust_adjustedprice.

valeur

Donnée attribuée à une propriété de profil. Par exemple, la propriété de profil Prénom peut avoir la valeur Jean.

validation

Processus de finalisation d’un achat sur un site Web. Lorsqu’un utilisateur fait ses courses sur votre site Web, il peut sélectionner plusieurs articles et les enregistrer dans son panier d’achat. Une fois qu’il a terminé ses courses, l’utilisateur clique sur un bouton graphique ou un lien de validation qui affiche un formulaire en ligne lui permettant d’entrer son nom, son adresse de facturation, le type de paiement et les informations de livraison.

vendeur

Voir fournisseur.

vente croisée

Type spécifique de vente associée qui propose à l’utilisateur un produit lié aux produits qui se trouvent déjà dans son panier. Utilisez le Kit de développement de logiciel (SDK) de Commerce Server 2002 pour ajouter la fonctionnalité de vente croisée à votre site.

Voir aussi : vente associée

vente croisée intelligente

Méthode permettant d’adapter de façon dynamique les recommandations de produits affichées aux utilisateurs en fonction de leurs comportements d’achat antérieurs et des produits qu’ils affichent ou ajoutent à leur panier. Utilisez la ressource Predictor pour ajouter des fonctionnalités de vente croisée intelligente à votre site Web.

Voir aussi : vente associée, offre de lancement

vente associée

Classe de promotions permettant d’afficher des produits supplémentaires aux utilisateurs en créant une relation entre les produits affichés ou ajoutés au panier et d’autres produits associés. Utilisez le Kit de développement de logiciel (SDK, Software Development Kit) de Commerce Server 2002 pour ajouter des fonctionnalités d’offre de lancement et de vente croisée à votre site. Utilisez la ressource Predictor pour ajouter des fonctionnalités de vente croisée intelligente.

Voir aussi : vente croisée, vente croisée intelligente

vignette publicitaire

Publicité composée d’un texte affiché à côté de l’image correspondant à la publicité. Le texte peut être placé à gauche, à droite ou au-dessus de la vignette publicitaire.

visite terminée

Visite achevée avant qu’un fichier journal arrête de collecter des données.

Voir aussi : visite en cours, fichier journal, visite

visite en cours

Dans les rapports Business Desk, visite encore en cours lorsqu’un fichier journal arrête de collecter des données. Par exemple, vous définissez une rotation quotidienne de fichier journal afin que l’activité du site soit enregistrée dans un nouveau fichier journal chaque jour à partir de 00:00:01. Le rapport montre les utilisateurs qui ont des visites en cours dans le fichier journal pour lundi si ces utilisateurs commencent à naviguer sur votre site lundi dans la nuit et sont encore en train de le faire après 00:00:01 mardi matin.

Voir aussi : fichier journal, visite terminée, visite

visite

Série de demandes envoyées par un utilisateur. Les visites commencent de l’une des deux manières suivantes : les utilisateurs peuvent être référencés sur le site via un lien, ou bien taper l’adresse URL du site dans leur explorateur. La visite se termine lorsque aucune demande n’a été formulée sur le site pendant une période donnée (par défaut, 30 minutes).

Voir aussi : visite terminée, visite en cours

volet de contenu

Dans Commerce Server Business Desk, fenêtre dans laquelle les pages d’action sont affichées.

Volet Rechercher

Dans Commerce Server Business Desk, zone située dans la partie supérieure du volet de contenu du module dans une page de liste. Les critères de recherche sont entrés dans le volet de recherche. Ces critères sont ensuite utilisés par une tâche de recherche. En règle générale, la partie inférieure du volet de contenu du module contient un composant HTML ListSheet dans lequel les résultats de la tâche de recherche sont affichés.

volet de navigation

Dans Commerce Server Business Desk, fenêtre située dans la partie gauche d’une page de liste qui affiche la hiérarchie de catégories et de modules.

W

wrapper CCW (COM-Callable Wrapper, wrapper pouvant être appelé par une application COM)

Objet de proxy généré lors de l’exécution afin que les applications COM existantes puissent utiliser de façon transparente des classes managées, notamment les classes du .NET Framework.

wrapper RWC (Runtime Callable Wrapper, wrapper pouvant être appelé au moment de l’exécution)

Classe wrapper qui permet à une application .NET d’interagir avec un component COM. Le wrapper RCW est chargé de l’instanciation de l’objet COM, de la gestion des références à l’objet, de l’exécution d’appels de méthodes d’interface et du retour des valeurs.

Voir aussi : PIA (Primary Interop Assembly)

WSH

Voir Environnement d’exécution de scripts WSH (Windows Script Host).

X

XDR (XML Data Reduced)

Norme utilisée pour définir un schéma XML.

XDR

Voir définition pour : XDR (XML Data Reduced)

XML

Voir Extensible Markup Language (XML).

Z

zone

Regroupement d’entités de module de sécurité personnalisées pouvant être sécurisées dans Business Desk. Business Desk comprend deux zones par défaut : Catalogues et Profils. Votre administrateur système peut ajouter d’autres zones à Business Desk si vous souhaitez disposer d’autres groupes personnalisés.

Voir aussi : module Autorisations, entité, élément


Support Online

Support et informations
en ligne

* | Site Web Microsoft Commerce Server
* | Site Web de Microsoft sur la sécurité
* | Site Web des partenaires ISV Commerce Server
* | Site Web des sites solutions Commerce Server
* | Site Web des services de Support technique de Microsoft
* | MSDN Online
* | MSDN Online Library
* | Site Web COM Microsoft
* | Site Web Microsoft SQL Server
* | Site Web de Microsoft sur l'Accessibilité pour les personnes atteintes d'un handicap


Copyright

Les informations contenues dans ce document, y compris les URL et autres références à des sites Web Internet, pourront faire l’objet de modifications sans préavis. Sauf mention contraire, les noms de sociétés, d’organisations, de produits, de domaines, les adresses de messagerie, les logos, les personnes, les lieux et les événements mentionnés dans les exemples sont fictifs et toute ressemblance avec des noms de sociétés, d’organisations, de produits, de domaines, des adresses de messagerie, des logos, des personnes, des lieux ou des événements est purement fortuite et involontaire. L’utilisateur est tenu d’observer la réglementation relative aux droits d’auteur applicable dans son pays. Aucune partie de ce document ne peut être reproduite, stockée ou introduite dans un système de restitution, ou transmise à quelque fin ou par quelque moyen que ce soit (électronique, mécanique, photocopie, enregistrement ou autre) sans la permission expresse et écrite de Microsoft Corporation.

Microsoft peut détenir des brevets, avoir déposé des demandes d'enregistrement de brevets ou être titulaire de marques, droits d'auteur ou autres droits de propriété intellectuelle portant sur tout ou partie des éléments qui font l'objet du présent document. Sauf stipulation expresse contraire d'un contrat de licence écrit de Microsoft, la fourniture de ce document n'a pas pour effet de vous concéder une licence sur ces brevets, marques, droits d'auteur ou autres droits de propriété intellectuelle.

© 1996-2002 Microsoft Corporation. Tous droits réservés.

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 et Windows NT sont soit des marques de Microsoft Corporation, soit des marques déposées de Microsoft Corporation aux États-Unis d’Amérique et/ou dans d’autres pays/régions.

Les noms de sociétés et de produits mentionnés dans ce document sont des marques de leurs propriétaires respectifs.