【发布时间】:2021-06-20 06:49:18
【问题描述】:
我有一个导入文本文件的请求。
文本文件中的内容有些是静态的,有些是动态的。
例子:
H0X004010850TPQ0030030030030032021/03/1710:34:450
H100DEVTEST01
H2PQ003003003003003
H3CP001001001001001PP002002002002002
D1DEVTEST01
D2T-010
S1100000
这个 H0,H1,H2,H3 和 S1 在一个文件中只出现一次 但 D1 和 D2 可以多次出现。
如果我有静态数量的内容,下面的效果很好。 但是如果我的 D1 和 D2 出现多次,这将失败。
谁能帮我解决这个问题?
DEFINE TEMP-TABLE TT-File
FIELDS H0 AS CHAR
FIELDS H1 AS CHAR
FIELDS H2 AS CHAR
FIELDS H3 AS CHAR
FIELDS H4 AS CHAR
FIELDS D1 AS CHAR
FIELDS D2 AS CHAR
FIELDS S1 AS CHAR.
DEFINE VARIABLE W-IMPORT-FILE AS CHARACTER NO-UNDO.
DEFINE VARIABLE W-COUNT AS INTEGER NO-UNDO.
ASSIGN W-IMPORT-FILE = "C:\Temp\Manny.txt".
INPUT FROM VALUE(W-IMPORT-FILE).
ASSIGN W-COUNT = 0.
REPEAT TRANSACTION:
CREATE TT-File.
IMPORT UNFORMATTED TT-File.H0.
IMPORT UNFORMATTED TT-File.H1.
IMPORT UNFORMATTED TT-File.H2.
IMPORT UNFORMATTED TT-File.H3.
IMPORT UNFORMATTED TT-File.D1.
IMPORT UNFORMATTED TT-File.D2.
IMPORT UNFORMATTED TT-File.S1.
END.
INPUT CLOSE.
FOR EACH TT-File:
IF SUBSTRING(TT-File.H1,1,2) = "H0":U THEN
MESSAGE "Header 0 is available to parse":U.
END.
【问题讨论】:
-
如果您包含一个示例数据文件来说明 问题 数据,并且如果您描述了生成的临时表应该有哪些记录或任何其他输出应该有什么,这将很有帮助看起来像。
标签: openedge progress-4gl text-parsing