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 只是告诉您 - 忽略格式。
我需要从我们的 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 只是告诉您 - 忽略格式。