фм объявлено:
tables: t7ruregiont.
А потом внутри такой код, где 1-й раз упоминается эта переменная.
IF t7ruregiont-bezei IS INITIAL.
t7ruregiont-bezei = ls_kladr_screen-regionname.
ENDIF.
Прикол в том, что t7ruregiont-bezei уже заполнено какими-то левыми данными и поэтому условие ложно и тот регион, который правильный, не подставляется.
Откуда взялись данные в t7ruregiont ?
в вызывающей программе заполнилось. Там тоже должно быть tables: t7ruregiont, своего рода глобальная переменная
спасибо, буду искать дальше имхо, это просто лютый изврат таким образом передавать данные внутрь ФМ инкапсуляция? не, не слышали
в то время, когда это все релизилось, может и не слышали
В случае с фм неверный совет. Нельзя передать данные в группу фм через tables. Сами значения данных может и были переданы из вызывающей программы, но только ранее через параметры вызова другого фм/подпрограммы из той же группы, а сама tables в группе могла заполнится только внутри
Спасибо за уточнение, давно лично не ковырял, таких нюансов не помню уж)
Обсуждают сегодня