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”。
- 数据格式
- .csv 文件必须包含作为标题的事务输入字段的名称,即文件中的第一行。
- 只有您需要的字段才可以使用,例如:键字段和要导入的数据。
- 标题以及整个文件内容部分必须用逗号 (,) 或分号 (;) 分隔。这些是唯一支持的分隔符。
- 必须存在空的字段列,以使每行中的分隔符数相同。
- 不支持千位分隔符。
- 日期必须指定为“yyyymmdd”。
- 数字小数分隔符应始终为小数点 (.)。下表显示 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 工具指定的格式。即它应该包含至少两个工作表,其中:
- 第一个工作表包含 API 或功能程序和事务的名称,以及两者是否均应处于活动状态。
API 和功能程序之间的命名不同:
API 示例:
“API_MMS200MI_AddItmBasic”
功能程序示例:
“FNC_MMS015Fnc_INmaintain_ADD”
- 第二个工作表包含要导入的数据。
在第一个工作表中,在第二行的第一列中指定程序名称和事务。第一个指示的字段引用工作簿中的第二个工作表。第一个工作表中的字段排列方式与后续工作表名的排列方式相同,后续字段名取自后续工作表。
下表显示了示例。列标题 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 或功能程序和事务的名称,以及两者是否均应处于活动状态。
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 目录中的所有可用文件。
遵循以下步骤:
- 选择相关的文件。
- 选择相关选项 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”概念操作。此外,此概念记录也可用于仅筛选出这些行以获得更好的可读性。