SAP Business One E-Commerce and Web CRM Synch Plug-in Essentials

Slides:



Advertisements
Ähnliche Präsentationen
March 2009 Refined. Simplified. Expanded. SAP Business One a Glance.
Advertisements

EH&S Product Safety and Dangerous Goods Management Positioning Paper for SAP Best Practices Chemicals.
EH&S Product Safety and Dangerous Goods Management Important Information for SAP Best Practices Chemicals (France)
SAP Demos Procedure Overview SAP Global Web Team January 17, 2008 sample for a picture in the title slide.
Claudius Metze, ISM Healthcare
SAP Merchandise Catalog How to Enter Custom Orders
Scenario Overview – 1 Purpose and Benefits: Purpose Benefits
SAP Best Practices 業種別および業種共通のノウハウを組み込んだパッケージ
Account and Contact Management SAP Best Practices for CRM
Serial Number Management SAP Best Practices Baseline Package
Activity Management SAP Best Practices for CRM
Contribution Margin Planning SAP Best Practices for CP V1.603 (RU)
Time Recording SAP Best Practices Baseline package
Scenario Overview – 1 Purpose and Benefits: Purpose Benefits
Quotation-based Procurement SAP Best Practices for Retail (US)
Customer Order Management at POS SAP Best Practices for Retail (US)
Year-end Closing of Funds Management Overview
Territory Management SAP Best Practices for CRM
Invoice Verification SAP Best Practices for Retail (US)
SAP ERP Reporting for HCM (559)
SAP Best Practices Conversion Tool
Scenario Overview – 1 Purpose and Benefits: Purpose Benefits
Cross Department Project Management Overview
Centralized Budget Preparation with Budget Control System Overview
Scenario Overview 1 Purpose and Benefits: Purpose Benefits
Merchandise Distribution SAP Best Practices for Retail (US)
Scenario Overview 1 Purpose and Benefits: Purpose Benefits
Enterprise Structure Overview
Process Flow Diagram Maintain Material Master Extensions Event
Procure to Pay with Funds Management Overview
Scenario Overview – 1 Purpose and Benefits: Purpose Benefits
Assortment Operations SAP Best Practices for Retail (US)
Service Order Management (Standalone) SAP Best Practices for CRM
Scenario – Price and Revenue Management- Markdown
Promotion Management SAP Best Practices for Retail (US)
Scenario Overview 1 Purpose and Benefits: Purpose Benefits
Lead Management SAP Best Practices for CRM
Empty Management SAP Best Practices for CP V1.603 (RU)
Scenario Overview – 1 Purpose and Benefits: Purpose
Accounts Payable with Funds Management Overview
Lean Campaign Management SAP Best Practices for CRM
Free of Charge Delivery SAP Best Practices Baseline Package
Decentralized Budget Preparation with Budget Control System Overview
Create Cost Center Hierarchy SAP Best Practices Baseline Package
Asset Management with Funds Management Overview
Accounts Receivable with Funds Management Overview
Complaints and Returns Management SAP Best Practices for CRM
Scenario Overview – 1 Purpose and Benefits: Purpose Benefits
External Procurement of Services SAP Best Practices Baseline package
Travel Management SAP Best Practices Baseline Package
Credit Memo Processing SAP Best Practices Baseline package
Reference and Simulation Costing SAP Best Practices Baseline Package
Scenario Overview 1 Purpose and Benefits: Purpose Benefits
Scenario Overview – 1 Purpose and Benefits: Purpose Benefits
COW In MOIN Stefan Jesse Martin Kolb Christof Wildermuth October 2008.
Confidential MOIN Spi for Partition Event Notifications Christian Mohr, Martin Kolb Nov 2008.
使用计算方案 估计工作量 SAP CRM Best Practices
Prerequisites and Assumption for Effort Estimation
最新动态 SAP CRM Best Practices
SAP Business One Starter Paket Basis Schweiz Solution Map.
Sylvie Turcotte, SAP Canada Inc. November 26, 2008
IOpener i.c. stars August 22, 2008 Ed Lange Chief Customer Officer Global Field Operations, SAP AG.
Enterprise Structure SAP Best Practices Baseline Package (Japan)
Sales Quotation SAP Best Practices Baseline Package
Integration of GIS and SAP: A Use Case for SOA
SAP License Key Learning Map
sample for a picture in the title slide
sample for a picture in the title slide
sample for a picture in the title slide
Subsequent Settlement SAP Best Practices for Retail (US)
 Präsentation transkript:

SAP Business One E-Commerce and Web CRM Synch Plug-in Essentials Shane Hart, Webtools March 5, 2008 Please note that we are recording this session

Agenda 1. Prerequisites & Introduction Synchronization Basics 1.1. Objectives 1.2. Required Development Skills Synchronization Basics 2.1. The Synch Queues 2.2. The Synch Process Synch Plug-in 3.1. Plug-in Architecture 3.2. Plug-in Processing 3.3. SBOQueueObject 3.4. NPQueueObject Synch Plug-in Test Project 4.1. Setting up the Plug-in Test Application 4.2. Import Synch Config 4.3. Debug your Plug-in 4.4. 624 Code Amendment 4.5. Deploying the Plug-in

Introduction Objectives Understand synch architecture Understand the SynchPlugin abstract class Understand testing and deployment of the synch plug-in

Prerequisites Required Software Development Knowledge Familiarity with Visual Studio .NET, C# and basic OO concepts Basic knowledge of the Webtools/Business One synchronization process Familiarity with the Business One DI API Familiarity with the Webtools API

Agenda 1. Prerequisites & Introduction Synchronization Basics 1.1. Required Development Skills 1.2. Objectives Synchronization Basics 2.1. PRX_Transaction_Queue 2.2. TransactionQueue 2.3. The Synch Process Synch Plug-in 3.1. The Plug-in Architecture 3.2. Plug-in Processing 3.3. SBOQueueObject 3.4. NPQueueObject Synch Plug-in Test Project 4.1. Setting up the Plug-in Test Project 4.2. Import Synch Config 4.3. Debug Your Plug-in 4.4. 624 Code Amendment 4.5. Deploying the Plug-in

Synchronization Basics The Business One Queue - PRX_Transaction_Queue Queue Fields object_type BoObjectTypes in DI API documentation transaction_type [A]dd, [U]pdate, [D]elete, [C]ancel, c[L]ose num_of_cols_in_key list_of_key_cols_tab_del list_of_cols_vals_tab_del tmstmp synchstatus syncherror InQueue (and null), Failed, Skip SBO_SP_TransactionNotification Populates the queue. Documentation

Synchronization Basics The Webtools Queue - TransactionQueue Queue Fields ObjectType Netpoint.api DAO class name. TransactionType [A]dd, [U]pdate, [D]elete KeyFieldNames KeyFieldValues TimeStamp SynchStatus InQueue (and null), Failed, Skip SynchError NPBase in the netpoint.api is responsible for logging to the TransactionQueue. © SAP 2007 / Page 7

Synchronization Basics Synch Process – What happens behind the scenes Run upgrade script – runs based on NPVersion SynchVersion Create .lock file – prevents the synch from starting while another is running Load queues – load data from PRX_Transaction_Queue and TransactionQueue Run PluginExecutionLocation.BeforeSynch Synch pricelists Synch Synch inventory Run PluginExecutionLocation.AfterSynch Clear queues – delete successfully synchronized data from the queues Delete .lock file © SAP 2007 / Page 8

Agenda 1. Prerequisites & Introduction Synchronization Basics 1.1. Required Development Skills 1.2. Objectives Synchronization Basics 2.1. PRX_Transaction_Queue 2.2. TransactionQueue 2.3. Synch Process Synch Plug-in 3.1. The Plug-in Architecture 3.2. Plug-in Processing 3.3. SBOQueueObject 3.4. NPQueueObject Synch Plug-in Test Project 4.1. Setting up the Plug-in Test Project 4.2. Import Synch Config 4.3. Debug You Plug-in 4.4. 624 Code Amendment 4.5. Deploying the Plug-in

Synch Plug-in Netpoint.SynchSBO.SynchPlugin Architecture Key Concepts Synch Plug-ins must inherit the SynchPlugin abstract class The plug-in can operate on only one queue at a time The plug-in operates on one record at a time, which is passed to the plug-in from the synch The Constructor NPSecurityTicket – Object holding information from the synchconfig.xml Company – The Business One company that this plug-in will synch to Properties Name – The name used to identify the plug-in in the synch log SynchType – The queue type (business partner, item…) that the plug-in is requesting SynchRunTime – The plug-in code can run before or after the synch. Defaults to AfterSynch Methods B1ToWebTools Data is passed by the synch, one record at time in a SBOQueueObject which is a DAO wrapper to PRX_Transaction_Queue from the B1 database WebtoolsToB1 Data is passed by the synch, one record at a time in the a NPQueueObject which is a wrapper to TransactionQueue from the WT database © SAP 2007 / Page 10

Synch Plug-in Plug-in Processing Key Concepts How plug-ins are loaded The plug-in must inherit the Netpoint.SynchSBO.SynchPlugin abstract class The plug-in must be compiled into a DLL. The compiled DLL must be placed in the plug-ins directory. Typically, C:\Program Files\SAP\SAP Business One Web Tools\SynchManager\plugins Plug-ins are inefficient How plug-ins are loaded The synch searches the plug-ins directory for any file with the .dll extension. Once the .dlls are loaded, the synch iterates every class in the assembly and creates instantiates any class that inherits the IPlugin interface How data is passed to the plug-in The SynchType property defined by the plug-in determines which set of data will be passed to the plug-in. The specified queue will be handed to the plug-in one record at a time Data from the Business One PRX_Transaction_Queue is encapsulated in the NetPoint.SynchSBO.framework.SBOSynchObject Data from the Webtools TransactionQueue is encapsulated in the NetPoint.SynchSBO.framework.NPSynchObject

Synch Plug-in Plug-in Processing Error handling The plug-in should not handle errors. All errors generated by the plug-in will be recorded in the synch log.

Synch Plug-in SBOQueueObject Namespace: NetPoint.SynchSBO.framework.SBOQueueObject Stores data for one row from the PRX_Transaction_Queue Use the DI API to get data from Business One © SAP 2007 / Page 13

Synch Plug-in NPQueueObject Namespace: NetPoint.SynchSBO.framework.NPQueueObject Stores data for one row from the Webtools TransactionQueue Use the netpoint.api to get data from Webtools © SAP 2007 / Page 14

Synch Plug-in Test Project 1. Prerequisites & Introduction 1.1. Required Development Skills 1.2. Objectives Synchronization Basics 2.1. PRX_Transaction_Queue 2.2. TransacionQueue 2.3. Synch Process Synch Plug-in 3.1. The Plug-in Architecture 3.2. Processing Plug-ins 3.3. SBOQueueObject 3.4. NPQueueObject Synch Plug-in Test Project 4.1. Setting up the Plug-in Test Project 4.2. Import Synch Config 4.3. Debug Your Plug-in 4.4. 624 Code Amendment 4.5. Deploying the Plug-in

Synch Plug-in Test Project Setup Plug-in Test Project The test project is provided to allow plug-in developers to step through their code prior to deployment. Copy example code to the Synch Manager directory © SAP 2007 / Page 16

Synch Plug-in Test Project Setup Plug-in Test Project The test project is distributed with broken references, these must be remapped to your local files to get the project to compile. © SAP 2007 / Page 17

Synch Plug-in Test Project Import Synch Config Copy a valid synch config file local to the project. Preferably the config file used for a previously successful synch.

Synch Plug-in Test Project Debug Your Plug-In Select your synch profile.

Synch Plug-in Test Project Debug Your Plug-In Select the object type that of your plug-in. Set a break point

Synch Plug-in Test Project Debug Your Plug-In .Run the test Debug…

Synch Plug-in Test Project Deploy the Plug-in Compile the complete plug-in Place the plug-in in the plug-ins directory of the synch manager. C:\Program Files\SAP\SAP Business One Web Tools\Synch Manager\plugins by default © SAP 2007 / Page 22

Q & A Questions?

Thank you!

Copyright 2007 SAP AG All rights reserved No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG. The information contained herein may be changed without prior notice. Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors. SAP, R/3, mySAP, mySAP.com, xApps, xApp, SAP NetWeaver, Duet, Business ByDesign, ByDesign, PartnerEdge and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and in several other countries all over the world. All other product and service names mentioned and associated logos displayed are the trademarks of their respective companies. Data contained in this document serves informational purposes only. National product specifications may vary. The information in this document is proprietary to SAP. This document is a preliminary version and not subject to your license agreement or any other agreement with SAP. This document contains only intended strategies, developments, and functionalities of the SAP® product and is not intended to be binding upon SAP to any particular course of business, product strategy, and/or development. SAP assumes no responsibility for errors or omissions in this document. SAP does not warrant the accuracy or completeness of the information, text, graphics, links, or other items contained within this material. This document is provided without a warranty of any kind, either express or implied, including but not limited to the implied warranties of merchantability, fitness for a particular purpose, or non-infringement. SAP shall have no liability for damages of any kind including without limitation direct, special, indirect, or consequential damages that may result from the use of these materials. This limitation shall not apply in cases of intent or gross negligence. The statutory liability for personal injury and defective products is not affected. SAP has no control over the information that you may access through the use of hot links contained in these materials and does not endorse your use of third-party Web pages nor provide any warranty whatsoever relating to third-party Web pages Weitergabe und Vervielfältigung dieser Publikation oder von Teilen daraus sind, zu welchem Zweck und in welcher Form auch immer, ohne die ausdrückliche schriftliche Genehmigung durch SAP AG nicht gestattet. In dieser Publikation enthaltene Informationen können ohne vorherige Ankündigung geändert werden. Einige von der SAP AG und deren Vertriebspartnern vertriebene Softwareprodukte können Softwarekomponenten umfassen, die Eigentum anderer Softwarehersteller sind. SAP, R/3, mySAP, mySAP.com, xApps, xApp, SAP NetWeaver, Duet, Business ByDesign, ByDesign, PartnerEdge und andere in diesem Dokument erwähnte SAP-Produkte und Services sowie die dazugehörigen Logos sind Marken oder eingetragene Marken der SAP AG in Deutschland und in mehreren anderen Ländern weltweit. Alle anderen in diesem Dokument erwähnten Namen von Produkten und Services sowie die damit verbundenen Firmenlogos sind Marken der jeweiligen Unternehmen. Die Angaben im Text sind unverbindlich und dienen lediglich zu Informationszwecken. Produkte können länderspezifische Unterschiede aufweisen. Die in diesem Dokument enthaltenen Informationen sind Eigentum von SAP. Dieses Dokument ist eine Vorabversion und unterliegt nicht Ihrer Lizenzvereinbarung oder einer anderen Vereinbarung mit SAP. Dieses Dokument enthält nur vorgesehene Strategien, Entwicklungen und Funktionen des SAP®-Produkts und ist für SAP nicht bindend, einen bestimmten Geschäftsweg, eine Produktstrategie bzw. -entwicklung einzuschlagen. SAP übernimmt keine Verantwortung für Fehler oder Auslassungen in diesen Materialien. SAP garantiert nicht die Richtigkeit oder Vollständigkeit der Informationen, Texte, Grafiken, Links oder anderer in diesen Materialien enthaltenen Elemente. Diese Publikation wird ohne jegliche Gewähr, weder ausdrücklich noch stillschweigend, bereitgestellt. Dies gilt u. a., aber nicht ausschließlich, hinsichtlich der Gewährleistung der Marktgängigkeit und der Eignung für einen bestimmten Zweck sowie für die Gewährleistung der Nichtverletzung geltenden Rechts. SAP übernimmt keine Haftung für Schäden jeglicher Art, einschließlich und ohne Einschränkung für direkte, spezielle, indirekte oder Folgeschäden im Zusammenhang mit der Verwendung dieser Unterlagen. Diese Einschränkung gilt nicht bei Vorsatz oder grober Fahrlässigkeit. Die gesetzliche Haftung bei Personenschäden oder die Produkthaftung bleibt unberührt. Die Informationen, auf die Sie möglicherweise über die in diesem Material enthaltenen Hotlinks zugreifen, unterliegen nicht dem Einfluss von SAP, und SAP unterstützt nicht die Nutzung von Internetseiten Dritter durch Sie und gibt keinerlei Gewährleistungen oder Zusagen über Internetseiten Dritter ab. Alle Rechte vorbehalten.