Wenn eine View bereits WHERE enthält und Joins Typecasting (auch concat) enthalten ist das die denkbar schlechteste Lösung.
Bei kleinen Datenbeständen mag das noch angehen und performant sein.

Bei diesen Datenbeständen jedoch ist das die Katastrophe (wie du ja selber merkst).

Views sind dann sinnvoll, wenn klare 1:N (n=1-32)-Beziehungen über fixe Schlüssel vorhanden sind.

Alles andere ist dann eher Anwendungslogik.

Zumal über Views kein Index angelegt werden kann !

Allerdings:
Whereklauseln sind nicht unbedingt von Nachteil.
Und:

Zerlege die

t1.LGNT1G||t1.SCPB1G||t1.CMPN1G = '000000'

in

t1.LGNT1G = '00' and t1.SCPB1G='00' and t1.CMPN1G = '00'

Da wird dann direkt selektiert und nicht erst ein temporärer Index benötigt.

PS:
Wobei ich da keine Joinbeziehung erkennen kann.