Ввод данных в поле ZUONR при проводке банковской выписки

У нас на проекте поле ZUONR для позиций дебиторов заполняется номером договора. Возникла необходимость дать возможность бухгалтеру, при проводке банковской выписки в автоматическом режиме, возможность указать номер договора.
В качестве решения предлагаю использовать ФМ POPUP_GET_VALUES, который будет выдавать пользователю окошко для ввода номера договора и затем класть этот номер в ZUONR.
Для вызова этого ФМ можно воспользоваться замещениями GGB1. Настроить на заполнение поля ZUONR по определенному виду документа и коду проводки (можете указать доп. данные для более точного указания позиции). ZUONR будет замещаться пользовательской программой, в моем случае это U007, которую я создал. Для замещений у меня используется программа ZRGGBS000 (копия RGGBS0000).
Код подпрограммы U007:


FORM u007.
  " По
  message 'Укажите номер договора в поле Присвоение!' type 'I'.
  BREAK-POINT.
  DATA: I_DIALOG LIKE sval OCCURS 0 WITH HEADER LINE.
  DATA RETURNCODE    TYPE Char18.
    I_DIALOG-TABNAME    = 'BSEG'.
    I_DIALOG-fieldname   = 'ZUONR'.
    APPEND I_DIALOG.

    CALL FUNCTION 'POPUP_GET_VALUES'
     EXPORTING
        NO_VALUE_CHECK = ''
        popup_title  = 'Укажите номер договора'
        START_COLUMN = '5'
        START_ROW    = '15'

     TABLES
        FIELDS  = I_DIALOG.

* I_DIALOG-VALUE - это табельный номер
BSEG-ZUONR = I_DIALOG-VALUE.

ENDFORM.

При тестировании я вставил вызов message и брейк-поинт. Для использования в продуктиве их можно и нужно убрать.

P.S. Идею можно дальше развить и использовать по своему усмотрению.