Warum willst Du denn überhaupt einen SELECT ... FETCH FIRST ROW?
Warum verdichtest Du die Daten nicht entsprechend mit einem Key in einer CTE (oder auch in einem SELECT in der FROM-Anweisung) und joinst das Ergebnis?
Mit dieser Technik, kann man in der Beispiel-View auch mindestens einen SELECT sparen. Bei dem Benutzer bin ich mir nicht ganz sicher, ob der auch in der gleichen CTE abgehandelt werden kann, dazu müsste ich die Dateien und Daten kennen.
... so auf die Schnelle, könnte das SELECT-Statement in der View wie folgt umgeschrieben werden (und zwar OHNE LATERAL).

Code:
With x as (select Firma, AuftragNr, KundenNr, ArtikelKZ, ArtikelNr, AuftragsPosition, 
                  count(*)          AnzInfoText,
                  Max(DateInfoText) AnzLastTextDate,
              from ordtxt01V),
              
     y  as (Select Firma, AuftragNr, KundenNr, ArtikelKZ, ArtikelNr, AuftragsPosition,
                   Benutzer as AnzInfoUser
                   Row_Number() Over(Partition By Firma, AuftragNr, KundenNr, 
                                                  ArtikelKZ, ArtikelNr, AuftragsPosition
                                     Order By DateInfoText Desc) LfdNr
                                     
select hdr.nlg                 as Firma  ,
        hdr.auftragsnr          as auftragsnr,
        hdr.kundennr            as kundennr,
        part.KDNAM1             as Kundenname,
        hdr.bestellnr           as bestellnr,
        hdr.datum_auftrag       as datum_auftrag,
        hdr.allamount           as allamount,
        pos.AUFTAGSPOS          as auftragsposition ,
        pos.artikelkz           as artikelkz,
        pos.artikelnr           as artikelnr,
        pos.bezeichnung1        as bezeichnung1,
        pos.bestellmenge        as bestellmenge,
        pos.waehrung            as waehrung,
        case when pos.waehrung = 'EUR' then  bruttopreiseur
             when pos.waehrung <> 'EUR' then bruttopreis    end as Bruttopreis,
        case when pos.waehrung = 'EUR' then  poswerteur
             when pos.waehrung <> 'EUR' then poswert          end as poswert,
      AnzInfoText,
      AnzInfoUser,
      AnzLastTextDate
 from wbordoh02v hdr join wbordop01v pos on hdr.AUFTRAGSNR =  pos.AUFTRAGSNR
                     join x              on     hdr.nlg        =  x.FIRMA
                                            and hdr.auftragsnr =  x.AUFTRAGNR
                                            and hdr.kundennr   =  x.KUNDENNR
                                            and pos.artikelkz  =  x.ARTIKELKZ
                                            and pos.artikelnr  =  x.ARTIKELNUMMER
                                            and pos.AUFTAGSPOS =  x.AUFTRAGPOSITION  
                     join y              on     hdr.nlg        =  y.FIRMA
                                            and hdr.auftragsnr =  y.AUFTRAGNR
                                            and hdr.kundennr   =  y.KUNDENNR
                                            and pos.artikelkz  =  y.ARTIKELKZ
                                            and pos.artikelnr  =  y.ARTIKELNUMMER
                                            and pos.AUFTAGSPOS =  y.AUFTRAGPOSITION                                                         
                                            and y.LfdNr        = 1;
Birgitta