Pikachus Ansatz ist da nicht so falsch:

UPPER verwandelt eben klein- in Großbuchstaben.
Somit ist ein "Artikelnummer = upper(Artikelnummer)" eben nur wahr, wenn keine Kleinbuchstaben enthalten sind, denn
Code:
"AbcD" <> "ABCD"
.

Das Gegenstück ist dann eben "Artikelnummer != upper(Artikelnummer)" und enthält Kleinbuchstaben.
Etwas ähliches gibts auch für Zahlen oder sonstige Kombinationen mit der Funktion Translate

Artikelnummer = translate(Artikelnummer, "ABCDEFGHIJ", "0123456789")

Jede Ziffer wird mit ihrem passenden Zeichen der Ersetzungstabelle ausgetauscht,
also 0 => A, 1 => B, ...., 9 => J.
Wenn also der Vergleich positiv ist enthält Artikelnummer eben keine Ziffern, wenn ungleich, dann sind eben Ziffern vorhanden.

https://www.ibm.com/docs/en/i/7.5?to...ions-translate