OpenEdge:将固定长度变量导出到文件

OpenEdge: Export fixed length variables to file

我需要从我们的 OpenEdge 数据库创建数据文件以导入到另一个系统。要求文件没有格式或定界符,而是使用固定长度的字段。例如,导入系统正在寻找类似下面的内容,其中每个字段总是从文件中的相同位置开始,无论数据的长度如何,或者即使该字段中有数据。

例如,如果我导出名为 "contact" 的临时文件 table,其中包含名字、姓氏、城市、州、配偶姓名和最喜欢的颜色,我需要名字始终从位置 1 开始,姓氏始终从位置 16 开始,城市始终从位置 31 开始,依此类推。它应该看起来像:

Jane             Doe            Acme       NY       John        Blue
Joe              Sixpack        Spingfield IL                   Grey

我可以使用 PUT UNFORMATTED 去除 CHAR 字段周围的双引号并在没有分隔符的情况下导出,但无法强制每个字段每次都从完全相同的位置开始。结果看起来像:

JaneDoeAcmeNYJohnBlue
JoeSixpackSpringfieldILGrey

有办法吗?

我一直在做的是:

DEF TEMP-TABLE contact
   FIELD first-name as CHAR FORMAT "x(15)"
   FIELD last-name as CHAR FORMAT "x(15)"
   FIELD city as CHAR FORMAT "x(12)"
  ......

FOR EACH CONTACT:
  PUT UNFORMATTED first-name last-name city....
END.

你们很亲近。只需删除 UNFORMATTED 即可...

UNFORMATTED 只是告诉您 - 忽略格式。