| 复制参数和主数据 |  |
| 为了存档公司能正常运作，必须在存档公司中提供一些必备基本数据，例如主数据和参数数据。通用数据代表静态数据，用于保证为已存档数据提供参考。通常，将使用相关存档进程来复制通用数据。每当启动存档进程时，通常都会进行复制通用数据这一处理，并且根据要复制的通用数据量，可能会花费较长时间。以下部分提供了缩短存档此通用数据时间的各种提示。 大多数存档进程都具有存档通用数据复选框，通过它可以指定是否必须存档通用数据。例如，当您将多个存档进程放在单个作业中时，针对特定的功能领域（例如仓储）只需存档一次通用数据即可。那么仅需选择功能领域中第一个进程的复选框，然后清除作业中后续进程的复选框。这样可以避免重复存档相同的主数据，从而缩短存档通用数据所需的时间。 或者，可以利用更直接的数据库公用程序来存档通用数据。执行此操作时，从营运公司的通用数据创建平面文件，然后将这些平面文件导入存档公司。有两种方法可以用于执行此操作： 方法 1：使用常规进程复制通用数据。使用 Create Sequential Dump of Table (ttaad4226m000) 进程从营运公司导出数据，然后使用 Create Table from Sequential Dump (ttaad4227m000) 进程将此数据导入存档公司。这种方法有一个缺点，您必须重复此过程许多次，因为所涉及的表未处于连续范围中。 方法 2：使用 bdbpre 和 bdbpost 工具复制通用数据。如果您熟悉 bdbpre 和 bdbpost 命令的用法，这样做可以节省时间。 注意 “不能”将下列各表从营运公司复制到存档公司： 按集团公司列出的财务公司 (tfgld001) 集团公司参数 (tfgld003) 财务公司 (tfgld004) 如需更多信息，请参见本章中的公司参数 (tfgld0503m000) 进程和集团公司参数 (tfgld0501m000) 进程。 方法 1：使用常规进程复制通用数据 路径：// Tools / Database Management / Database Utilities 说明（在营运或 000 公司中） 步骤 1. 使用 Create Sequential Dump of Table (ttaad4226m000) 进程将数据从营运公司导出至转储文件： 指定（营运）公司并输入要为其创建转储文件的一个表或一组表。 在该进程的第二个标签上，指定转储文件名和错误日志文件名。这两个文件将会写入您的主目录或在表文件目录字段中输入的目录。 将自动为转储文件名添加扩展名；即点号后跟公司编号。 步骤 2. 将在上一步骤中导出的数据导入存档公司： 路径：// Tools / Database Management / Database Utilities 说明（在营运或 000 公司中） 使用 Create Table from Sequential Dump (ttaad4227m000) 进程可将以前创建的转储导入存档公司，如下所示。 步骤 1. 选中 Create Tables for Different Company 复选框并输入新存档公司的公司编号。 必须选中 Ignore Referential Integrity Constraints 复选框；否则在从连续转储创建表时，会出现 606 错误结果。因此，系统会返回 bdpost6.2 错误消息。 步骤 2. 为自之前部分创建的必备表的所有转储重复此操作。还必须指定在读取转储时将要创建的错误日志文件的文件名。 必须选中 Ignore Referential Integrity Constraints 复选框；否则在从连续转储创建表时，会出现 606 错误结果。因此，系统会返回 bdpost6.2 错误消息。 如果出现错误“运行 bdbpost6.2 时出错”，则主目录中的错误文件会显示准确的错误消息，显示内容可能如下： 步骤 3. 如下所示，运行已选中参考完整性和 Repair Reference Counter 复选框的 Reorganize Tables (ttaad4225m000) 进程。公司编号必须是存档公司的公司编号。 方法 2：使用 bdbpre 和 bdbpost 工具复制通用数据 要将前面提到的参数和通用数据从营运公司复制到存档公司，可以创建诸如 copy.erpln.data 之类的 ASCII 文件，在该文件中列出所有所需表（在第 5 章和第 6 章中枚举）。利用此文件和 bdbpre 命令，可以在转储文件中转储表。 利用 bdbpost 命令，可以按如下方式从转储文件创建表： 说明（UNIX 或 Windows 系统层） 步骤 1. 在一个或多个 ASCII 文件（例如 copy.erpln.data）中列出在附录 A 和 B 中指定的表的名称。 步骤 2. 使用下述语法，先将数据从营运公司导出 (bdbpre)，再将数据导入存档公司 (bdbpost)。 UNIX 在命令提示符处输入下列命令： export BSE= 路径 export BSE_TMP=$BSE/tmp set USER= 营运公司的名称 bdbpre6.2 –Icopy.erpln.data –Oerplndata001.dmp –C001 bdbpost6.2 –R –f –n –c901 –Ierplndata001.dmp 这会将所提供表的数据从公司 001 复制到公司 901。 Windows 在服务器的命令提示符处，输入下列命令： 在 $BSE\bin 目录：fillenv set user= 营运公司的用户名 bdbpre –Icopy.erpln.data –Oerplndata001.dmp –C001 bdbpost –R –f –n –c901 –Ierplndata001.dmp 这会将所提供表的数据从公司 001 复制到公司 901
copy.erpln.data | ASCII 文件包含要导出的表名称清单。 部分内容可能如下： tcccp000 tccom999 tcibd000 tcmcs000
001 | 营运公司的公司编号。
erplndata001.dmp | 转储文件名。
901 | 存档公司的公司编号。
步骤 3. 在将转储过帐到存档公司后，使用 Reorganize Tables (ttaad4225m000) 进程重组表。在此进程中，选中下列复选框： 参考完整性 Repair Reference Counter 选中此复选框的原因是使用了 bdbpost 选项 –n (Ignore referential integrity constraints)。 在 Infor Enterprise Server 8 - Technical Manual（《Infor Enterprise Server 8 - 技术手册》）中介绍了 bdbpre 和 bdbpost 命令的选项。 |