Ibm midrange 偶然发现FMTDTA(IBM i)

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

我偶然发现了一些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    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帮助。然后你把它翻译成更现代的东西。