- 论坛徽章:
- 0
|
正在学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 |
|