Chinaunix

标题: 问一下OPNQRYF 的参数格式。 [打印本页]

作者: sunokla    时间: 2006-03-09 09:28
标题: 问一下OPNQRYF 的参数格式。
正在学opnqryf的使用。建了两个表:其中第一个表是查询主表,第2个表是为查询结果建的表。
FMT PF .....A..........T.Name++++++RLen++TDpB......Functions++++++++++++++++++
        ******************** 数据开始 *****************************************
0001.00      A                                      UNIQUE                     
0002.00      A          R ORDERR                                                
0003.00      A            ORDERID        8P 0                                   
0004.00      A            ORDERCUS      10O                                    
0005.00      A            PRICE          6P 2                                   
0006.00      A            NUMBER         6P 0                                   
0007.00      A          K ORDERID                                               


FMT PF .....A..........T.Name++++++RLen++TDpB......Functions++++++++++++++++++
        ******************** 数据开始 *****************************************
0001.00      A          R ORDERSQLR                                             
0002.00      A            ORDERID   R               REFFLD(ORDERID ORDER)      
0003.00      A            CUSNAME   R               REFFLD(ORDERCUS ORDER)      
0004.00      A            TOTAL          6P 2                                   
        ******************** 数据结束 *****************************************

先打开查询文件:
0001.00 PGM                                                                    
0002.00     OVRDBF FILE(ordersql) TOFILE(order) SHARE(*YES) OPNSCOPE(*job)    +
0003.00      OVRSCOPE(*JOB)                                                   
0004.00     OPNQRYF FILE((order)) FORMAT(ordersql)                            +
0005.00             MAPFLD((TOTAL 'PRICE + NUMBER'))                          +
0006.00             IGNDECERR(*YES)                  
0007.00 ENDPGM                                                                 

使用了mapfld参数计算变换字段total,编译能通过,可是运行出错(+号改为×仍出错)。大侠帮忙看看问题出在什么地方。

注:
这段代码后是读取查询结果的RPG程序,然后撤销覆盖和查询结果。
0001.00 PGM                                                                    
0002.00 CLOF OPNID(ORDER)                                                      
0003.00 DLTOVR FILE(ORDERSQL) LVL(*JOB)                                       
0004.00 ENDPGM




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2