用于归档公用程序的 API


概述

任务

见于

Tivoli 问题管理

概述

文本文件选项

如果选择将数据归档到文本文件中,您必须知道操作引出的文本文件要做大量工作。这些文件很大,通常也难处理。

选择文本文件选项会产生一个文件,该文件将表中的一个记录放入该文件中的某一行。

有 5 个表供归档公用程序从中读取数据,但是对于文本文件中的行来说,有 6 种标签类型即标记

文本文件标记

在 eaacust.kb 知识库中标签叫作标记。文本文件标记有:
  • CALL
  • CALLI
  • SESION
  • PROBLEMS
  • WORK_HISTORY
  • PROBLEM_HISTORY

有一个 CALL 标签与一个 CALLI 标签的原因是 CALLI 表示信息呼叫。信息呼叫是在 Tivoli 问题管理中创建的呼叫,但它并不打开相应的问题。这意味着只有一个 CALL 和一个或多个 SESION 记录将在 Tivoli 问题管理数据库中创建。

文本文件格式

文本文件中的字段出现的顺序与它们在特定版本的 Tivoli 问题管理的 Tivoli 问题管理实体关系图中出现的顺序相同。

字符串与非字符串值之间有一点区别。如果某一列是作为一个 char 值创建的,则该列在文本文件中被视为字符串。在这种情况下,该值引在双引号中,如“字符串”。数据库中列的定界符被视为非字符串,且不引在双引号中。


任务

创建用于文本文件的分析程序

创建分析文本文件的各行的程序时,需要读取标记。标记后有一个三重管道序列(|||),以将标记与第一个字段的开头区分开。

创建用于文本文件的分析程序时,应该执行下列操作:

  1. 将字符读入三重管道。
  2. 分析列。必须考虑这些列是字符串还是非字符串。

通过编辑 eaacust.kb 可定制所有字符串。下面列出了文件引出字符。

文件输出字符 定义
EOL IS '' 行尾。这是放在输出文本文件行尾的字符。当前它是空白的。如果想让字符出现在文本文件中每行的行尾,则必须相应修改此常量。
STD IS '"' 字符串定界符/包装符。这是放在从数据库表输出的字符串“周围”的字符。例如,字符串由 char 和 varchar 列组成。该缺省值为双引号(")。
DELM IS ',' 列定界符。这是用来分隔文本文件输出中的输出列的字符。该缺省值为逗号(,)。
ND IS '' 非字符串列定界符/包装符。这是放在输出文本文件中非字符串列周围的字符。它的缺省值为空字符串。换句话说,非字符串周围什么也没有包装。
SEP IS '|||' 将标记与文本文件中的第一列分隔开的分隔符。这是文本文件中记录标记与某一行的输出数据的开头之间的分隔符。它的缺省值是三重管道(|||)。

如果对 eaacust.kb 文件进行了更改,则必须重新分析该文件。

处理文本文件

要处理归档公用程序创建的文本文件,可使用以下的算法概要,以重建 CALL、SESION、PROBLEMS、WORK_HISTORY 与 PROBLEM_HISTORY 表间的关系。
  • 如果读取 CALLI 标记,则处理 CALLI 行与具有 SESION 标记的任何后续行,直到看到另一个 CALLI 或 CALL 标记为止。
  • 如果读取 CALL 标记,则处理 CALL 行和所有 SESION 与 CALL 行,直到读取 PROBLEM 标记为止。也处理 PROBLEM 标记,以完成所有相关操作。