Dazu muss allerdings VERTRAGSNUMMER als Variable ja auch irgendwo definiert worden sein.
Im Prinzip ist das wie ein Pointer oder eine C++-Referenzierung.

Solche Sprachkonstrukte sind mitunter nicht zu empfehlen, da ich ja die Variable varVertragsNr auch ohne @ ansprechen kann.
Vernünftigerweise sollte die Sprache
varVertragsNr = @VERTRAGSNUMMER
verlangen, damit ich weiß, dass eben die Adresse verlangt wird und es somit nicht zu Verwirrungen kommen kann (doppelte Verwendungsart).
Bei Scriptsprachen besteht da auch häufig das Problem.

In RPG sähe das dann so aus:

D PtrvarVertragsNr S *
D varVertragsNrDS DS based(PtrvarVertragsNr)
D varVertragsNr 10

C PtrvarVertragsNr = %addr(VERTRAGSNUMMER)

varVertragsNr verweist nun auf VERTRAGSNUMMER.