Ibm midrange 偶然发现FMTDTA(IBM i)
我偶然发现了一些FMTDTA,它似乎是一种查询/排序语言,早于旧RPG系统中的SQL。我正试图解释它的用法 例如: 物理文件布局:Ibm midrange 偶然发现FMTDTA(IBM i),ibm-midrange,rpgle,Ibm Midrange,Rpgle,我偶然发现了一些FMTDTA,它似乎是一种查询/排序语言,早于旧RPG系统中的SQL。我正试图解释它的用法 例如: 物理文件布局: ORNO S 9 0 1 9 Order No ORCSTNO A 10 10 19 Custno ORDAT S 6 0 20 25 Order Date ORAMT S 12 2 26
ORNO S 9 0 1 9 Order No
ORCSTNO A 10 10 19 Custno
ORDAT S 6 0 20 25 Order Date
ORAMT S 12 2 26 37 Order Amt
HSORTR 25A Keyfields are 25 characters long - Sort Ascending
FNC 20 25 KEY 1: ORDER DATE
FNC 1 9 KEY 2: ORDERNO
FNC 10 19 KEY 3: CUST NO
FDC 1 37 Take whole record (1-37)
PF源成员ORDSRT中的排序条件:
ORNO S 9 0 1 9 Order No
ORCSTNO A 10 10 19 Custno
ORDAT S 6 0 20 25 Order Date
ORAMT S 12 2 26 37 Order Amt
HSORTR 25A Keyfields are 25 characters long - Sort Ascending
FNC 20 25 KEY 1: ORDER DATE
FNC 1 9 KEY 2: ORDERNO
FNC 10 19 KEY 3: CUST NO
FDC 1 37 Take whole record (1-37)
排序命令
FMTDTA INFILE((MYLIB/ORDHED)) OUTFILE(QTEMP/ORDHED)
SRCFILE(MYLIB/MYSRC) SRCMBR(ORDSRT) OPTION(*NOPRT)
结果:
按日期/ORD#/CUST成功排序#
然而,FMTSRC中还有一些其他线路,我不确定它们的用途。示例:
FOU
FOC
FNU
O C 1 1EQCD CANCELLED
I C 8 8EQCB CREDIT NOTE
O C 1 1EQCX OMIT CANCELLED
以下是这六行的意思:
FOU
Col 6:F表示它是一个字段语句
Col 7:O表示该字段是一个相反的控制字段
列8:U表示该字段包含分区格式的有符号十进制数据
FOC
O C 1 1EQCD CANCELLED
Col 6:F表示它是一个字段语句
Col 7:O表示该字段是一个相反的控制字段
第8列:C表示该字段包含字符数据
FNU
Col 6:F表示它是一个字段语句
第7列:N表示该字段为正常控制字段
列8:U表示该字段包含分区格式的有符号十进制数据
FOC
O C 1 1EQCD CANCELLED
Col 6:O表示省略
第8列:C表示因子1和因子2必须包含字符数据
FNU
列9:1是因子1的起始位置
第13列:1是因子1的结束位置
第17列:等式意味着因子1必须等于因子2
第19列:C表示系数2为常数
第20列:D是常数或关键字,与因子1进行比较
上校40:取消是一个评论
I C 8 8EQCB CREDIT NOTE
O C 1 1EQCX OMIT CANCELLED
上校6:我的意思是包括
第8列:C表示因子1和因子2必须包含字符数据
FNU
列9:8是因子1的起始位置
第13列:8是因子1的结束位置
第17列:等式意味着因子1必须等于因子2
第19列:C表示系数2为常数
第20列:B是常数或关键字,与因子1进行比较
第40列:信用证是一种评论
I C 8 8EQCB CREDIT NOTE
O C 1 1EQCX OMIT CANCELLED
Col 6:O表示省略
第8列:C表示因子1和因子2必须包含字符数据
FNU
列9:1是因子1的起始位置
第13列:1是因子1的结束位置
第17列:等式意味着因子1必须等于因子2
第19列:C表示系数2为常数
第20列:X是常数或关键字,与因子1进行比较
Col 40:OMIT CANCELLED是一个注释
I C 8 8EQCB CREDIT NOTE
O C 1 1EQCX OMIT CANCELLED
更多关于绊脚石的信息。
在SEU的控制线上。
知识产权?你可以在下面显示一个排序提示行,我在排序中有RF F行,我在开始位置按f1。今天,当我按f4键或键入错误内容时,它不会自动提示我。它不会找到它,但在提示出现时,您可以按f1帮助。然后你把它翻译成更现代的东西。