M3 Data Import

使用 M3 Data Import 可以通过 API 和功能程序将流文件中的数据导入到 M3 数据库。使用 API 和功能程序可确保 M3 业务逻辑用于验证数据是否插入到适当的位置,并使用适当的授权控件完成。

源文件将复制到 M3 文件传输区域,其中将执行两个程序之一来读取文件,设置适当的 API 和功能程序事务格式,并调用相关的 API 和功能程序。这些程序在后台执行,因此系统可以更好地控制执行情况。

限制

  • 文件名最多只能包含 60 个字符,包括文件扩展名。
  • 以下是仅支持的文件格式:
    • 具有 UTF-8 编码的 .csv(逗号分隔值)文本文件。
    • 含有 .xlsx 扩展名的 XML 格式的 Microsoft Excel 文件。

源文件名和格式

命名并格式化源文件必须遵循以下规则:

.csv 文件

  • 文件名

    .csv 文件的正确命名至关重要。该命名让导入程序知道应使用什么 API 和事务。

    API 的格式为:“自由指定的名称-MIProgram.事务.csv”。

    例如:“NewCustomers-CRS610MI.Add.csv”。

    功能程序的格式是:“FreeName-FncProgram.pList.MaintainMode.csv”。

    例如:“Test-MMS015Fnc.INmaintain.ADD.csv”。

  • 数据格式
    1. .csv 文件必须包含作为标题的事务输入字段的名称,即文件中的第一行。
    2. 只有您需要的字段才可以使用,例如:键字段和要导入的数据。
    3. 标题以及整个文件内容部分必须用逗号 (,) 或分号 (;) 分隔。这些是唯一支持的分隔符。
    4. 必须存在空的字段列,以使每行中的分隔符数相同。
    5. 不支持千位分隔符。
    6. 日期必须指定为“yyyymmdd”。
    7. 数字小数分隔符应始终为小数点 (.)。
      下表显示 API 的 CSV 文件数据的简单示例。列标题 A、B、C 代表电子表格列,1、2、3 代表电子表格行:
      A B C
      1 MMSTAT;MMITNO;MMITDS
      2 20;Item123;Test
      3 20;Item234;Test
      下表显示功能程序的 .csv 文件数据的简单示例:列标题 A、B、C 代表电子表格列,1、2、3 代表电子表格行:
      A B C
      1 ITNO;AUTP;ALUN;COFA;DMCF
      2 !MAT001;2;G;1;1
      3 !MAT001;2;BAG;1;1

Excel 文件

  • 文件名

    Excel 文件的命名是自由的,因为 API 或功能程序和事务都在工作簿中指定。

  • 数据格式
    Excel 文件必须遵循为 Smart Data 工具指定的格式。即它应该包含至少两个工作表,其中:
    1. 第一个工作表包含 API 或功能程序和事务的名称,以及两者是否均应处于活动状态。

      API 和功能程序之间的命名不同:

      API 示例:

      “API_MMS200MI_AddItmBasic”

      功能程序示例:

      “FNC_MMS015Fnc_INmaintain_ADD”

    2. 第二个工作表包含要导入的数据。

    在第一个工作表中,在第二行的第一列中指定程序名称和事务。第一个指示的字段引用工作簿中的第二个工作表。第一个工作表中的字段排列方式与后续工作表名的排列方式相同,后续字段名取自后续工作表。

    下表显示了示例。列标题 A、B、C 代表电子表格列,1、2 代表电子表格行。在 A 列第 2 行中显示的 API 和交易引用工作簿中的第二个工作表:
    A B C
    1 工作表 描述 数据
    2 API_MMS200MI_AddltmBasic x
    创建了更多工作表,用于指定要执行的其他 API,每个程序都在新行上指定。在第二列中,可以提供描述,但 API 不使用它。第三列指定相关工作表是否应当在运行时处于活动状态。
    A B C
    1 工作表 描述 数据
    2 API_MMS200MI_AddltmBasic API_MMS200MI_AddltmBasic x
    3 API_CRS610MI_Add API_CRS610MI_Add x
    请参阅以下列表获取可以在“数据”列上指定的可能值及其各自的含义:
    • 字母“x”表示数据应处于活动状态。
    • 连字符“-”表示无法处理工作表。
    • 空白“空格”字符表示从此开始,将完全停止处理过程。

API 交易数据工作表格式

与 .csv 文件类似,数据工作表的第一行应该有交易的字段名。

设置工作表数据的格式的规则如下:

  • 在第一列的第一行,根据 Smart Data 规范指定具有名为 MESSAGE 的确切名称的字段。
  • 字段名必须从第二列的第一行开始。
  • 指定第二行上的字段描述。
  • 在第三行中,标识是否处理每个字段。用“yes”或“no”指定。
  • 从第四行开始,指定数据。

    下表显示了示例。列标题 A、B、C、D 代表电子表格列,1、2、4、4、5、6 代表电子表格行:

    A B C D
    1 MESSAGE STAT ITNO ITDS
    2 消息 状态 物料号 物料说明
    3
    4 20 测试 测试
    5 20 测试 2 测试 2
    6 20 测试 3 测试 3
  • 工作簿中的所有数据字段都应格式化为纯文本。以其他格式设置字段可能会导致 Excel 将十进制值转换为实际指定值的不精确表示。这反过来又可能导致该行不能被导入或用 M3 中的另一个值填充。
  • 不支持脚本。
  • 与 .csv 文件类似,仅支持日期格式“yyyymmdd”。
  • 不支持千位分隔符。
  • 数字小数分隔符应始终使用一个小数点“.”。

执行

源文件必须放置在 M3 文件传输磁盘的 FileImport 目录中。为此,使用“管理工具”菜单中的 M3 Business Engine 文件应用。

当需要运行导入时,此操作在“M3 数据导入。打开”(EVS100)中完成。该程序列出了 FileImport 目录中的所有可用文件。

遵循以下步骤:

  1. 选择相关的文件。
  2. 选择相关选项 20 =“导入”。

根据文件扩展名选择正确的程序。

为特定文件扩展名运行的程序:
  • .csv 文件 - EVS101(导入 .csv 格式文件)
  • Excel 文件 - EVS102(导入 Excel 格式文件)。

使用作业。连接作业队列 (MNS310) 将 EVS101 和 EVS102 分配到作业队列。执行 (EVS100) 后可以在作业。显示历史记录 (MNS320) 中监控作业。

应用程序消息。打开 (CRS420) 中显示 012 消息类型消息,其中会显示与执行相关的信息。消息显示已读取、已处理和失败的记录数。

错误处理

执行导入时,可能会出现两种类型的错误:
  • 取消执行的严重错误
  • 从 API 业务逻辑返回的错误。

发生严重错误时,向启动导入的用户发送一条脉冲消息。该消息将发送至 Ming.le 收件箱,并写入作业日志。

根据输入数据中找到的错误,API 错误可能有所不同。这些类型的错误以及输入数据字符串在结果文件中记录。成功的交易不包含在结果文件中。在为失败的事务更正了数据之后,结果文件立刻可执行。

导入完成后,将随同脉冲消息一起发送执行报告。
注意

必须在 BOD 处理器中激活 ProcessPulseAlert BOD。此外,必须在“设置 - 应用程序消息”(CRS424)中激活消息类型“012”。

概念记录可用于问题调查。导入程序按可以在作业日志中打开的“mvx.import.debug”概念操作。此外,此概念记录也可用于仅筛选出这些行以获得更好的可读性。