Ich habe mir der erzeugten Outfile nochmals genauer angeschaut. In Datei QAYPEIAD befindet sich der Callstack immerhin mit bis zu 16 Einträgen, was bei einer C++ Applikation aber immer noch sehr wenig ist.
Die View würde damit so erzeugt werden:
Code:
CREATE or replace VIEW mattrc/heapv1 AS(
SELECT a.QRECN, a.QHPASA, a.QHPASZ, a.QHPOPR, a.QHPRET,
(select rtrim(QPRPGN)||':'||QPRPNM from mattrc/QAYPEPROCI where QIAKEY16 = QPRKEY) cs16, QIASTMT16,
(select rtrim(QPRPGN)||':'||QPRPNM from mattrc/QAYPEPROCI where QIAKEY15 = QPRKEY) cs15, QIASTMT15,
(select rtrim(QPRPGN)||':'||QPRPNM from mattrc/QAYPEPROCI where QIAKEY14 = QPRKEY) cs14, QIASTMT14,
(select rtrim(QPRPGN)||':'||QPRPNM from mattrc/QAYPEPROCI where QIAKEY13 = QPRKEY) cs13, QIASTMT13,
(select rtrim(QPRPGN)||':'||QPRPNM from mattrc/QAYPEPROCI where QIAKEY12 = QPRKEY) cs12, QIASTMT12,
(select rtrim(QPRPGN)||':'||QPRPNM from mattrc/QAYPEPROCI where QIAKEY11 = QPRKEY) cs11, QIASTMT11,
(select rtrim(QPRPGN)||':'||QPRPNM from mattrc/QAYPEPROCI where QIAKEY10 = QPRKEY) cs10, QIASTMT10,
(select rtrim(QPRPGN)||':'||QPRPNM from mattrc/QAYPEPROCI where QIAKEY9  = QPRKEY) cs9 , QIASTMT9,
(select rtrim(QPRPGN)||':'||QPRPNM from mattrc/QAYPEPROCI where QIAKEY8  = QPRKEY) cs8 , QIASTMT8,
(select rtrim(QPRPGN)||':'||QPRPNM from mattrc/QAYPEPROCI where QIAKEY7  = QPRKEY) cs7 , QIASTMT7,
(select rtrim(QPRPGN)||':'||QPRPNM from mattrc/QAYPEPROCI where QIAKEY6  = QPRKEY) cs6 , QIASTMT6,
(select rtrim(QPRPGN)||':'||QPRPNM from mattrc/QAYPEPROCI where QIAKEY5  = QPRKEY) cs5 , QIASTMT5,
(select rtrim(QPRPGN)||':'||QPRPNM from mattrc/QAYPEPROCI where QIAKEY4  = QPRKEY) cs4 , QIASTMT4,
(select rtrim(QPRPGN)||':'||QPRPNM from mattrc/QAYPEPROCI where QIAKEY3  = QPRKEY) cs3 , QIASTMT3,
(select rtrim(QPRPGN)||':'||QPRPNM from mattrc/QAYPEPROCI where QIAKEY2  = QPRKEY) cs2 , QIASTMT2,
(select rtrim(QPRPGN)||':'||QPRPNM from mattrc/QAYPEPROCI where QIAKEY1  = QPRKEY) cs1 , QIASTMT1
FROM mattrc/QAYPEHEAP a
LEFT JOIN mattrc/QAYPEIAD b
       ON a.QRECN = b.QRECN);