Per selbst gestrickter SQL-Function kann man die Teilenummer je Auftrag sortiert nebeneinanderstellen, dann kann man die exakt gleichen Zusammensetzungen schon mal mittels Group greifen.
"AA150002206", "TEIL1202450550, TEIL1202470550"
usw.
Hilft aber im ersten Schritt nur für exakt gleiche.
Leider ist im Beispiel noch ein Syntaxfehler, aber so in etwa haben wir vergleichbare Functions im Einsatz:
Code:CREATE FUNCTION qtemp.buildTeileString ( P#AUFTRAG VARCHAR(11) ) RETURNS VARCHAR(200) LANGUAGE SQL SPECIFIC QTEMP.BUILDTEILESTRING NOT DETERMINISTIC READS SQL DATA CALLED ON NULL INPUT SET OPTION ALWBLK = *ALLREAD , ALWCPYDTA = *OPTIMIZE , COMMIT = *NONE , DECRESULT = (31, 31, 00) , DFTRDBCOL = *NONE , DYNDFTCOL = *NO , DYNUSRPRF = *USER , SRTSEQ = *HEX BEGIN DECLARE TEXT VARCHAR ( 200 ) ; SET TEXT = NULL ; FOR SELTEILE AS C1 CURSOR FOR SELECT DISTINCT TEILENUMMER AS TEIL FROM qtemp.a WHERE AUFTRAG = P#AUFTRAG order by TEILENUMMER DO IF TEXT IS NULL THEN SET TEXT = TEIL ; ELSE SET TEXT = TEXT CONCAT ', ' CONCAT TEIL; END IF ; END FOR ; RETURN TEXT ; END ;
![[NEWSboard IBMi Forum]](images/duke/nblogo.gif)



Mit Zitat antworten

Bookmarks