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  ;