|
Hi,
I've the next SQL statements in an ILE/RPG program:
insert into everpda/cabfra select * from everpda/cabfralb where (serifr
concat digits(nfrafr) concat digits(fechfr)) not in (select (serifr concat
digits(nfrafr) concat digits(fechfr)) from everpda/cabfra where tipofr<>'F')
insert into everpda/cabfra select * from everpda/cabfralc where (serifr
concat digits(nfrafr) concat digits(fechfr)) not in (select (serifr concat
digits(nfrafr) concat digits(fechfr)) from everpda/cabfra where tipofr<>'F')
where CABFRALB and CABFRALC are two views generated by the next SQL
statements:
CREATE VIEW CABFRALB AS ( SELECT SUBSTR ( A.HCDOC , 4 , 1 ) AS SERIFR , CAST
( SUBSTR ( A.HCDOC , 5 , 6 ) AS DECIMAL ( 6 , 0 ) ) AS NFRAFR , B.ACNALB AS
ALBAFR , ( CASE WHEN A.HCTMV = 12 THEN 'C' WHEN A.HCTMV = 11 THEN 'A' END )
AS CRABFR , A.HCCCN AS CLIEFR , A.HCFCH AS FECHFR , A.HCBRUD AS BRUTFR ,
A.HCNETD AS NETOFR , A.HCNETD AS TOTAFR , 'D' AS TIPOFR FROM IQS60F002.ALMHC
A JOIN IQS60F002.ALMAC B ON ( A.HCCIN2 = B.ACCIN AND A.HCAÑO2 = B.ACAÑO )
WHERE DATE ( SUBSTRING ( DIGITS ( A.HCFCH ) , 7 , 2 ) CONCAT '.' CONCAT
SUBSTRING ( DIGITS( A.HCFCH ) , 5 , 2 ) CONCAT '.' CONCAT SUBSTRING ( DIGITS
( A.HCFCH ) , 1 , 4 ) ) >= ( CURRENT DATE - 90 DAYS ) AND A.HCCCN IN (
SELECT
CLCDG FROM IQS60F002.CLNCL WHERE CLZON BETWEEN 01000 AND 13999 ) AND
A.HCTMV BETWEEN 11 AND 12 AND A.HCALM BETWEEN 600 AND 699 )
CREATE VIEW CABFRALC AS (SELECT SUBSTR(A.HCDOC, 4, 1) AS SERIFR,
CAST(SUBSTR(A.HCDOC, 5, 6) AS DECIMAL (6, 0)) AS NFRAFR, B.ACNALB AS ALBAFR,
(CASE WHEN A.HCTMV=78 THEN 'C' WHEN A.HCTMV=77 THEN 'A' END) AS CRABFR,
A.HCCCN AS CLIEFR, A.HCFCH AS FECHFR, A.HCBRUD AS BRUTFR, A.HCNETD AS
NETOFR, A.HCNETD AS TOTAFR, 'M' AS TIPOFR FROM IQS60F002.ALMHC A JOIN
IQS60F002.ALMAC B ON (A.HCCIN=B.ACCIN AND A.HCAÑO=B.ACAÑO) WHERE
DATE(SUBSTRING(DIGITS(A.HCFCH), 7, 2) CONCAT '.' CONCAT
SUBSTRING(DIGITS(A.HCFCH), 5, 2) CONCAT '.' CONCAT
SUBSTRING(DIGITS(A.HCFCH), 1, 4)) >= (CURRENT DATE - 90 DAYS) AND A.HCCCN IN
(SELECT CLCDG FROM IQS60F002.CLNCL WHERE CLZON BETWEEN 01000 AND 13999) AND
A.HCTMV BETWEEN 77 AND 78 AND A.HCALM = 803)
and CABFRA is a table generated by
CREATE TABLE EVERPDA.CABFRA ( SERIFR CHAR(1) CCSID 284 NOT NULL DEFAULT ''
, NFRAFR DECIMAL(6, 0) NOT NULL DEFAULT 0 , ALBAFR NUMERIC(9, 0) NOT
NULL DEFAULT 0 , CRABFR VARCHAR(1) CCSID 65535 DEFAULT NULL , CLIEFR
NUMERIC(10, 0) NOT NULL DEFAULT 0 , FECHFR NUMERIC(8, 0) NOT NULL DEFAULT 0
, BRUTFR DECIMAL(11, 2) NOT NULL DEFAULT 0 , NETOFR DECIMAL(11, 2) NOT NULL
DEFAULT 0 , TOTAFR DECIMAL(11, 2) NOT NULL DEFAULT 0 , TIPOFR VARCHAR(1)
CCSID 65535 NOT NULL DEFAULT '' )
The first insert runs ok, but in the second one I get the following
messages:
MCH3601 Pointer not set for location reference
CPF5257 Failure for device or member CABFRALC file CABFRALC in
library EVERPDA
CPF4273 Error occurred during creation of temporary result.
If I run both statements in interactive SQL I get the same results. When I
run only the SELECT statement it runs ok. If I run the same INSERT statement
inserting the result in other table created by CRTDUPOBJ from EVERPDA/CABFRA
it runs ok.
Any idea about this?
Thanks.
Juan Carlos
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.