24 июл. 2008 г.

Как считать переменную вышестоящей по стеку вызова программы

Для того, что бы считать переменную вышестоящей по стеку вызова программы, необходимо:
1. Объявить field symbol типа переменной, которую необходимо считать
2. Присвоить этому field symbol'у ссылку на эту переменную

Например:
В вышестоящий программе есть переменная l_bkpf типа bkpf
DATA: l_bkpf TYPE bkpf.

для доступа к ней объявляем field symbol того же типа
FIELD-SYMBOLS : <lfs_bkpf> TYPE bkpf.

присваиваем ссылку
ASSIGN ('(NAME_UPPER_PROGRAM)l_bkpf') TO <lfs_bkpf>. "NAME_UPPER_PROGRAM" - имя вышестоящей программы

теперь мы можем обращаться к этой переменной через field symbol, в том числе получаем доступ к ее компонентам
WRITE: \ <lfs_bkpf>-bukrs.

Комментариев нет: