Scribe模板在集成解决方案中的应用与实践
1. Scribe集成的关键技巧
在Scribe集成过程中,有几个方面需要特别注意:
-
复杂逻辑封装
:在Scribe Workbench中进行源与目标系统的链接时,可能需要创建复杂的公式来实现数据转换。可采用以下两种方式封装复杂逻辑:
- 创建Visual Basic 6.0编译函数,这种方式能带来更大的灵活性,并且由于是编译执行而非解释执行,性能会有轻微提升。在
%SCRIBE%\Samples\VBFunctions\
文件夹中有相关文档,详细介绍了如何创建和注册VB 6.0函数。
- 使用Scribe中的计算变量,这样可以重复使用复杂公式,无需重新创建。
-
模糊逻辑扩展
:Scribe自带一些“模糊”逻辑类型的函数,可避免创建重复条目。例如,使用
STRIPCOMPANY([...])
公式可以去除一些多余部分,如“ The”和“ , Inc.”等。还可以通过在
SCRIBEINTERNAL
数据库的
STRIPCOMPANY
表中添加行来扩展该函数的行为,以满足特定需求。
-
日志定期清理
:随着时间推移,执行日志和警报日志会变得相当大。可以定期运行Scribe产品自带的SQL脚本
%SCRIBE%\ScribeMaintenance.sql
来清除旧条目。该脚本允许定义保留条目的时间期限,此脚本可以手动运行,也可以设置SQL作业定期执行。
2. Scribe特定模板介绍
Scribe有一些专门针对Microsoft Dynamics CRM的模板,其中最受欢迎的包括:
- Scribe ERP to Microsoft Dynamics CRM
- Microsoft Dynamics GP to Microsoft Dynamics CRM
- Microsoft Dynamics NAV to Microsoft Dynamics CRM
2.1 Scribe ERP to Microsoft Dynamics CRM模板概述
该模板提供了ScribeERP示例应用程序与Microsoft Dynamics CRM之间的有效集成,可集成客户、产品、订单和发票数据。它既可以用于演示目的,也可以作为构建Microsoft Dynamics CRM与其他ERP系统集成的框架。
使用该模板创建简单集成的步骤如下:
1. 使用示例元素创建一个简单的工作集成,并根据目标应用程序的需要进行修改。
2. 使用示例应用程序构建和测试框架后,移除ScribeERP示例元素,替换为目标ERP应用程序。
要使新的集成工作,需要创建两个组件:
- 一个组件用于捕获ERP应用程序中的更改,并将其放入消息队列,以便Scribe将这些数据与Microsoft Dynamics CRM集成。
- 另一个组件用于接收Scribe以XML消息形式提供的Microsoft Dynamics CRM中的更改,并将其放入ERP系统。
2.2 模板目标
该模板的目标如下:
1. 为交互式ERP用户提供客户的订单和发票历史记录。
2. 允许用户创建和提交源自Microsoft Dynamics CRM的订单。
3. 支持创建基于订购或开票产品与客户之间关系的报告,从而支持对产品购买趋势和与账户相关的详细信息(如地区/区域和销售代表)进行报告。
4. 提供业务活动监控器,通知关键业务用户与客户购买公司产品相关的事件(例如,超过一定金额的订单、延迟发货的订单)。
5. 保持客户数据同步。
6. 将ERP系统中的主产品同步到Microsoft Dynamics CRM。
2.3 模板流程
该模板支持以下业务流程和ERP系统与Microsoft Dynamics CRM之间的数据流:
-
客户和地址
:该数据可以在ERP系统或Microsoft Dynamics CRM中创建或修改(某些系统专属字段除外,如信用额度或信用授权),添加或更改将同步到另一个应用程序。公司匹配组件提供模糊账户匹配,避免创建重复账户,并促进现有ERP和CRM环境的初始同步。
-
项目和价格列表(主产品计划)
:该数据在ERP系统中管理,并复制到Microsoft Dynamics CRM,以支持Microsoft Dynamics CRM中的订单处理需求。
-
订单
:订单在Microsoft Dynamics CRM中创建,在提交到ERP系统之前可以在Microsoft Dynamics CRM中修改。ERP系统会向Microsoft Dynamics CRM提供订单的更新信息。源自ERP系统的订单以提交状态提供给Microsoft Dynamics CRM。在Microsoft Dynamics CRM中取消的订单在ERP系统中作废,反之亦然。ERP系统中的转移订单也会包含在内。
以下是流程的可视化表示:
graph LR
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
A[ERP]:::process -->|New/Update| B[Dynamics CRM]:::process
B -->|New/Update| A
A -->|New/Update/Delete| B
B -->|New/Cancelled| A
A -->|New/Update| B
B -->|New/Update| A
subgraph Data
style Data fill:#ffffff,stroke:#000000,stroke-width:1px;
C[Orders (Header and Detail)]
D[Invoices (Header and Detail)]
E[Customer and Address]
F[Product and Price List]
end
2.4 集成接触点
以下是ScribeERP到Microsoft Dynamics CRM集成的接触点:
| ScribeERP Object | Microsoft Dynamics CRM Object |
| — | — |
| Customer + primary address | Account + primary address |
| Address | Customer address, contact |
| Order + items | Order + products (existing, write - in) |
| Invoice + items | Invoice + products (existing, write - in) |
| Product, price lists/levels | Product + price list item |
2.5 DTS组件
DTS组件用于自动化DTS文件的处理,以下是相关DTS组件及其用途:
| Component | Purpose |
| — | — |
| AccountToERP | Runs AccountToERP.dts |
| AddressToERP | Runs AddressToERP.dts |
| CascadeAccountToERP | Runs CascadeAccountToERP.dts, forwards message to OrderToERP |
| CascadeAddressesToERP | Runs CascadeAddressesToERP.dts |
| OrderToERP | Runs OrderToERP.dts, forwards message to OrderToERP_Result |
| OrderToERP_Cancel | Runs OrderToERP_Cancel.dts, forwards message to OrderToERP_Result |
| OrderToERP_Result | Runs OrderToERP_Result.dts |
| AccountToCRM | Runs AccountToCRM.dts |
| AddressToCRM | Runs AddressToCRM.dts |
| InvoiceToCRM | Runs InvoiceToCRM.dts |
| OrderToCRM | Runs OrderToCRM.dts |
| ProductToCRM | Runs ProductToCRM.dts |
2.6 DTS文件作用
DTS文件包含用于将数据从源集成到目标的字段映射、数据转换公式和数据处理规则。具体的DTS文件及其用途如下表所示:
| Component | Purpose |
| — | — |
| AccountToCRM.dts | Sends new and updated customers from ScribeERP to Microsoft Dynamics CRM. |
| AccountToERP.dts | Sends new and updated customers from Microsoft Dynamics CRM to ScribeERP. |
| AddressToCRM.dts | Sends new and updated addresses from ScribeERP to Microsoft Dynamics CRM. |
| AddressToERP.dts | Sends new and updated addresses from Microsoft Dynamics CRM to ScribeERP. |
| CascadeAccountToERP.dts | Triggered when an order is submitted. Its purpose is to make sure that the account is shared between Microsoft Dynamics CRM and ScribeERP. If the account is not shared, it updates the type to customer in Microsoft Dynamics CRM, causing the account to be sent. |
| CascadeAddressesToERP.dts | Touches all the addresses in Microsoft Dynamics CRM for a newly shared account. This causes all the addresses to be sent to ScribeERP. |
| InvoiceToCRM.dts | Sends all invoices (including posted) from ScribeERP to Microsoft Dynamics CRM. |
| OrderToCRM.dts | Sends all orders (including transferred orders) from ScribeERP to Microsoft Dynamics CRM. |
| OrderToERP.dts | Sends submitted orders from Microsoft Dynamics CRM to ScribeERP. |
| OrderToERP_Cancel | Sends a request to cancel/void an order from Microsoft Dynamics CRM to ScribeERP. |
| OrderToERP_Result.dts | Updates CRM with the results of an order submit or cancel. Sets the submit status description and the last submitted date. |
| ProductToCRM.dts | Sends new and updated products from ScribeERP to Microsoft Dynamics CRM. |
2.7 发布者
发布者负责收集ScribeERP和Microsoft Dynamics CRM系统中的更改,并将这些更改作为XML消息发布到ScribeIn消息队列中,具体如下:
| Component | Purpose |
| — | — |
| Dynamics CRM | Interacts with callout mechanism on Microsoft Dynamics CRM server to track changes to accounts, addresses, and sales orders. Publishes these changes as XML messages in the ScribeIn message queue. |
| AccountFromERP_UpdateSource | Collects ScribeERP customer changes from the Scribe shadow table and publishes them as XML messages in the ScribeIn message queue. |
| AddressFromERP_UpdateSource | Collects ScribeERP address changes from the Scribe shadow table and publishes them as XML messages in the ScribeIn message queue. |
| InvoiceFromERP_UpdateSource | Collects ScribeERP invoice changes from the Scribe shadow table and publishes them as XML messages in the ScribeIn message queue. |
| ProductDeleteFromERP_UpdateSource | Collects ScribeERP deleted products from the Scribe shadow table and publishes them as XML messages in the ScribeIn message queue. |
| ProductFromERP_UpdateSource | Collects ScribeERP product changes from the Scribe shadow table and publishes them as XML messages in the ScribeIn message queue. |
| SalesOrderFromERP_UpdateSource | Collects ScribeERP sales order changes from the Scribe shadow table and publishes them as XML messages in the ScribeIn message queue. |
3. 订单历史监控器
订单历史监控器会根据Microsoft Dynamics CRM数据库中的业务活动创建警报。当你将警报接收者添加到“销售经理”组时,Scribe Insight服务器可以将这些警报发送给个人。以下是具体的监控器及其用途:
| Component | Purpose | Notification | Recipient |
| — | — | — | — |
| Accounts Placed on Credit Hold | 向账户经理发出警报,列出当天更新且处于信用冻结状态的账户 | 账户经理 | MSCRMUsers recipient map |
| Accounts with No Recent Orders | 发出警报,列出30天内未下订单的账户 | 无 | Sales Managers recipient group |
| Large Orders | 当输入或修改总金额超过25,000美元的订单时发出警报 | 无 | Sales Managers recipient group |
| New Order from Preferred Customer | 当输入或修改来自首选客户的订单时发出警报 | 无 | Sales Managers recipient group |
| New Orders | 当输入新订单时发出警报 | 无 | MSCRMUsers recipient map |
| Newly Linked Accounts | 发出警报,列出从ERP添加或关联的账户 | 无 | Sales Managers recipient group |
| Order Rate High | 当当天新订单数量超过30时发出警报 | 无 | Sales Managers recipient group |
| Order Rate Low | 当当天新订单数量少于5时发出警报 | 无 | Sales Managers recipient group |
| Order Shipping Late | 发出警报,列出有未发货商品且当前日期大于等于要求交付日期的订单 | 无 | MSCRMUsers recipient map |
4. 订单历史数据视图
订单历史数据视图会以不同方式报告和汇总有关订单的信息,包括按时间段、销售人员和地区等。具体如下:
| Component | Purpose |
| — | — |
| Order Rate by Day | 过去30天内ERP中的订单插入/更新情况。 |
| Product Cross - Sell | 统计产品A、产品B以及两者的客户数量。 |
| Sales of Products by Quarter | 按季度统计产品销售数量(过去12个月内)。 |
| Sales of Products by Rep | 按销售人员统计产品销售数量(过去12个月内)。 |
| Sales of Products by Territory | 按地区统计产品销售数量(过去12个月内)。 |
| ERP Alerts by Type | 按类型统计过去12周内的警报数量。需要更新SQL查询以包含你实施的ERP到CRM协作的名称。 |
5. 审计数据视图
审计数据视图显示应该共享但未共享的数据。其SQL查询使用Scribe内部数据库、ScribeERP数据库和Microsoft Dynamics CRM数据库之间的外连接来确定记录是否应共享。当记录存在于ScribeERP、Microsoft Dynamics CRM和Scribe内部数据库的
KEYCROSSREFERENCETWOWAY
表中时,该记录被认为是共享的。
5.1 审计数据视图的含义
-
如果记录出现在审计数据视图中,且
APP_A_KEY和APP_B_KEY列中没有数据,意味着该记录从未从源系统发送,或者从源系统发送但未能插入到目标系统。 -
如果记录出现在审计数据视图中,且
APP_A_KEY和APP_B_KEY列中有数据,意味着该记录曾经共享,但现在不同时存在于两个系统中。
5.2 具体的审计表视图
| Component | Purpose |
|---|---|
| Addresses – Not shared from CRM | 显示Microsoft Dynamics CRM中应与ScribeERP共享但未共享的地址。 |
| Addresses – Not shared from ERP | 显示ScribeERP中应与Microsoft Dynamics CRM共享但未共享的地址。 |
| Customers – Not shared from CRM | 显示Microsoft Dynamics CRM中应与ScribeERP共享但未共享的客户。 |
| Customers – Not shared from ERP | 显示ScribeERP中应与Microsoft Dynamics CRM共享但未共享的客户。 |
| Invoices – Not shared from CRM | 显示Microsoft Dynamics CRM中应与ScribeERP共享但未共享的发票。 |
| Invoices – Not shared from ERP | 显示ScribeERP中应与Microsoft Dynamics CRM共享但未共享的发票。 |
| Invoices – Not shared from ERP History | 显示ScribeERP中应与Microsoft Dynamics CRM共享但未共享的历史发票。 |
| Orders – Not shared from CRM | 显示Microsoft Dynamics CRM中应与ScribeERP共享但未共享的订单。 |
| Orders – Not shared from ERP | 显示ScribeERP中应与Microsoft Dynamics CRM共享但未共享的订单。 |
| Orders – Not shared from ERP History | 显示ScribeERP中应与Microsoft Dynamics CRM共享但未共享的历史订单。 |
| Products – Not shared from CRM | 显示Microsoft Dynamics CRM中应与ScribeERP共享但未共享的产品。 |
| Products – Not shared from ERP | 显示ScribeERP中应与Microsoft Dynamics CRM共享但未共享的产品。 |
| ShadowTable – Summary | 按对象显示各种同步状态值的计数。提供ERP数据库的连接信息。 |
| Shared Records – Summary | 显示每个对象共享的记录数量。 |
6. 关键交叉引用数据视图
关键交叉引用(Key XRef)数据视图显示Scribe内部数据库中
KEYCROSSREFERENCETWOWAY
表的内容。该表中的记录表示记录已共享或曾经共享。
KEYCROSSREFERENCETWOWAY
表存储来自ScribeERP和Dynamics CRM的共享记录的主键ID。例如,对于与Microsoft Dynamics CRM共享的ScribeERP客户,该表存储ScribeERP的客户编号和Microsoft Dynamics CRM的账户ID。具体视图如下:
| Component | Purpose |
| — | — |
| Key XRef – Accounts | 显示账户信息。 |
| Key XRef – Addresses | 显示地址信息。 |
| Key XRef – Invoices | 显示发票信息。 |
| Key XRef – Orders | 显示订单信息。 |
| Key XRef – Orphans | 显示
KEYCROSSREFERENCETWOWAY
表中在ScribeERP和Microsoft Dynamics CRM中不再有对应记录的记录。 |
| Key XRef – Products | 显示产品信息。 |
| Key XRef – Summary | 显示摘要信息。 |
7. 设置数据视图
设置数据视图提供ScribeERP中的数据列表,帮助你在Dynamics CRM设置中输入这些值:
| Component | Purpose |
| — | — |
| ERP Price Levels | 显示ScribeERP中配置的价格级别列表。在配置Microsoft Dynamics CRM系统以匹配时很有帮助。 |
| ERP Units of Measure | 显示ScribeERP中配置的计量单位(及其相应的计划)列表。在配置Microsoft Dynamics CRM系统以匹配时很有帮助。 |
综上所述,Scribe模板在Microsoft Dynamics CRM与ERP系统的集成中发挥着重要作用。通过使用这些模板、组件和视图,可以实现高效的数据集成、业务流程自动化以及对业务活动的有效监控和分析。无论是从数据同步、订单处理还是业务决策的角度来看,都能为企业提供有力的支持。
超级会员免费看
36

被折叠的 条评论
为什么被折叠?



