To jest tak zwane 'dirty assign' - krótkie wytłumaczenie tutaj:
https://blogs.sap.com/2013/05/30/using- ... valuation/
stosuje się je głównie, żeby dostać się do zmiennych programu głównego, których nie ma w dostępnych bezpośrednio w metodzie/ exicie. W praktyce stosowane przez SAP oficjalnie nie zaleca stosowania tej konstrukcji (są inne metody również na przekazywanie takich zmiennych) ale jak się popatrzy na programowane w standardzie BTE / exity to tam chętnie tego używają
metoda w miarę bezpieczna jak się sprawdzi zawsze po assign jaki jest subrc, żeby nie nadziać się na dumpa przy działaniu na field symbol, że nie został przypisany.
Ta inna metoda o której pisałem w nawiasie to możliwość stosowania globalnych zmiennych grupy funkcyjnej - jeżeli masz się gdzieś wpiąć i przekazywać dane przez kilka miejsc procesowania to można stworzyć grupę funkcyjną z 3 modułami:
XXX_SET
XXX_GET
XXX_CLEAR
Zmienne, które chcesz przechowywać deklarujesz w TOP grupy funkcyjnej.
Podczas pierwszej metody wywołujesz zawsze razem: najpierw _CLEAR a potem _SET.
Następnie jak chcesz użyć danych to wywołujesz _GET i masz dostęp do danych w dowolnym momencie procesowania bo grupa funkcyjna je trzyma nawet jak lokalne zmienne z metody wywołania (tam gdzie było _SET) zostały wyczyszczone.
Marek