我在SQLRPGLE程序上遇到问题,该程序必须在表中插入记录。
我一直在用strdbg命令调试程序,我发现问题是由于在试图将值插入整数字段时,数据结构中一个名为Mes的压缩十进制字段引起的。
源数据结构定义(DS中的第一个字段是表面上需要转换的字段):
D DataDS DS QUALIFIED TEMPLATE
D Mes 6P 0
D Unidad 2P 0
D Subunidad 3P 0
D Grupopas 8P 0
D Productor 8P 0
D Asegurado 9P 0
. . .
. . .
. . .
目标字段是整数。
P Exportar...
P B
D PI
D data DS LIKEDS(DataDS)
/free
ClrBI();
CLEAR data;
EXEC SQL DeclARE B1 CURSOR FOR
SELECT MES,UNIDAD,SUBUNIDAD,GrupOPAS,PRODUCTOR,ASEGURADO,RAMA,TIPO_MOVIM,SUCURSAL,IFNULL(FACULTATIV,' '),CONDIC_IVA,UNIDAD_FC,SUBUNID_FC,GrupOPR_FC,MATRICULA,CANALCOBRO,IFNULL(CANALCOBRX,PRIMACOB,PREmioCOB,DEREMICOB,RECADMCOB,RECFINCOB,IVACOB,PER_IVACOB,ACR_IVACOB,ISSCOB,INTERNOCOB,PER_IBRCOB,COMISICOBR,COMISIAGEN,COMISIORGA,COMISIOTRS
COMISITOT
FROM BICOBRANZA
WHERE MES = :mes;
EXEC SQL OPEN B1;
EXEC SQL FETCH NEXT FROM B1 INTO :data;
DOW SQLCOD = 0;
SetBI(data);
CLEAR data;
EXEC SQL FETCH NEXT FROM B1 INTO :data;
ENDDO;
EXEC SQL CLOSE B1;
/end-free
P E
这是我第一次看到这样的错误。 有人遇到过这个问题吗?我什至不知道从哪里开始。
谢谢。