• 两个NetSuite之间历史交易数据迁移的具体方案


    背景与展望:

    比如:公司要上市往往会要求提供过去几年的营业数据和报表等信息,

    而这些信息来源于正在一直运营使用的ERP和财务系统是最可靠与真实的。

    NetSuite实现的ERP和财务系统的完美结合,随着多年的经营积累和业务流程升级,

    NetSuite系统会不断改造和适应新的企业流程和应用。

    其中免不了切换新的NetSuite系统,或者International到OneWorld版本的升级等等。

    那现存多年的业务数据如何保存?

    笔者今年做的一个项目就是设计和实施一整套:

    从一个NetSuite的Transaction和Non-Transaction数据迁移到另外一个新NetSuite的Record Type和Non-Transaction记录中。

    成功迁移的数据记录超过4百多万条。

    设计思想:

    将Transaction以Transaction Body和Transaction Line(两个父子关系的自定义记录类型)的形式重现到新的NetSuite系统中。

    ’历史数据加载器‘设计包含:

    Step 1 – 分析原始NetSuite A中的事务处理数据然后存储到两个自定义记录中

    Analyze the Transactions of the Source Instance and Store Results in Two Custom Records 

      根据定义要迁移的Transaction Type(比如:sales order,purchase order, invoice,credit memo,vendorbill, payment。。。);自动分析现有Transaction,提取所有的系统字段和自定字段。

    Step 2 – 拷贝这两个分析得出结果记录到目标NetSuite B的相应自定义记录中(用CSV向导)

    Copy the data of these two Custom Records to the Destination Instance

      根据分析得出的要迁徙的具体字段信息(可能通用于不同的Transaction类型),把原始NetSuite A中的数据导出,生成一个个CSV文件,其中的具体要求比如:单个文件大小不许超过5MB,单个的行数不许超过20000行;这些基础的设置在Schedule Script中进行定义。

    Step 3 – 动态生成事务处理数据的两个自定义记录表,该自定义记录将用于存储所有的历史数据

    Automatically Create the Two New Custom Records which will store All the Transactional Data of the Source System

      根据分析得出的具体字段信息,动态生成Transaction Body和Transaction Line这两个Record Type; 用途:用于在目标NetSuite B中存储具体每一个个的Transaction数据。

    Step 4 – 拷贝传输原始NetSuite A的数据到目标NetSuite B中

    Copy the data from the Source Instance to the Destination Instance

      使用NetSuite的CSV导入功能,用’历史数据加载器‘的代码功能动态加载原始NetSuite A中Filecabinet的数据,然后POST到目标NetSuite B的CSV IMPORT queue。

    Step 5 – 在目标NetSuite B中给不用的事务处理类型自定义记录的表格,并关联到现有的客户和供应商记录上。

    Create a Custom Form for Each “Record Type” that Migrated from the Source System to the Destination System.

      美化导入的数据Form格式,并且关联到Customer,Vendor等等记录上,这样实现了,比如:从目标NetSuite B的Customer SubTab中查看过去几年的交易数据。

    精彩截图: 

     

     

    生成的迁移数据报表

    SQL Server帮忙查找遗失的数据

     这个处理遗失(未迁移)数据的思路非常新奇,这里要非常感谢我神奇的同事提供的思路。

    1.导出两个系统中的Transaction Internal ID

    2.导入百万条的数据到SQL Server的数据表中

    3. 用SQL 语句查询到未迁徙的数据列表;

    4.导入到原始NetSuite A中标记那些没有成功迁移的Transaction

    5.运行’历史数据加载器‘针对与这样的Saved Search,迁移这类数据。

     

    总结:

    本文仅供对该’历史数据加载器‘的总体浏览,不涉及具体的技术细节讨论。

    这个’历史数据加载器‘做成的bundle可以迁移任意两个NetSuite系统中的数据,

    功能灵活强大,适用与百万条以上的历史数据迁移。

    Hope it helps,

    Have a good day :)

  • 相关阅读:
    Provisioning profile 浅析
    Swift --> Map & FlatMap
    Swift 学习笔记(五)
    Swift 学习笔记(四)
    Swift 学习笔记 (三) 之循环引用浅析
    Swift 学习笔记 (二)
    HomeBrew
    UIGestureRecognizer 手势浅析
    frame、bounds表示大小和位置的属性以及center、position、anchorPosition
    UIViewContentMode 图文解说
  • 原文地址:https://www.cnblogs.com/backuper/p/datamigration_between_netsuite.html
Copyright © 2020-2023  润新知