Автор Тема: вызов одного фм запускает не его, а другой фм  (Прочитано 8595 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Victor Ghost

  • Newbie
  • *
  • Сообщений: 24
  • Репутация: +0/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Доброго дня всем живым на этом форуме :)

Столкнулся сейчас с непонятным (для меня и еще нескольких человек из консультантов и абаперов):
имеем фм 'TABCONTROL_RETRIEVE_SEL_OPTS', в котором вызывается фм 'DP_GET_TABLE', но, если зайти в отладку, то вместо 'DP_GET_TABLE' запускается 'DD_GET_NAMETAB_HEADER'.  :-\
Не пойму, как такое может быть..

/вообще оно нужно по причине "средство поиска по краткому тексту материала не всегда выдает результат поиска". Пример: ввожу (в MM03), например, название материала "ФРИТЮРНИЦА FB 4+4LT BECKERS ITALY SRL", не выдает в поиске ни одного материала. Ввожу "ФРИТЮРНИЦА FB 4+4LT BECKERS ITALY *" - выдает. Посмотрел, что происходит в отладчике - вот как раз после вызова фм 'DP_GET_TABLE' от названия "ФРИТЮРНИЦА FB 4+4LT BECKERS ITALY SRL" остается только "ФРИТЮРНИЦА FB 4+4LT BECKERS ITALY S". Но почему, непонятно. Пробовал на других материалах - длина текста роли не играет, разные символы тоже. Думается мне, что преобразование где-то некорректно происходит...

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 809
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Вообще-то:
Код: You are not allowed to view links. Register or Login
@CG\QАктуальная позиция пакета 18 FUNCTION DD_GET_NAMETAB_HEADER
                                    17 FORM DYN_ANALYSE_TABLE
                                    16 FUNCTION DP_GET_TABLE
                                    15 FUNCTION TABCONTROL_RETRIEVE_SEL_OPTS
Как-то типа так вызывается похоже.

Оффлайн Victor Ghost

  • Newbie
  • *
  • Сообщений: 24
  • Репутация: +0/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYears
это да. я потом в отладчике увидел, что за чем вызвалось.
но не пойму, как (вызвалось и отследить изменения в таблице) :)

/это получается динамический вызов фм идет?

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 809
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
You are not allowed to view links. Register or Login
/это получается динамический вызов фм идет?
Динамический вызов ФМ идет если вы видите в коде что-то типа CALL FUNCTION (function_module), т.е. вызов модуля по имени находящемуся в переменной, для этого имя переменной будет в скобах. Ну ли более сложный вариант, если где-то ранее вызывается динамическая генерация программы. В остальных случаях скорее всего у вас не включена отладка системных модулей кода.

Оффлайн Victor Ghost

  • Newbie
  • *
  • Сообщений: 24
  • Репутация: +0/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYears
точно! с новым интерфейсом непонятно, в каком месте находятся функции старые привычные.. спасибо :)

/правда, с включенной системной отладкой добрался до вызова функции 'DP_GET_CLIENT_TABLE45A', после которой как раз появляется урезанный текст в таблице, но отладчик в эту функцию не заходит.

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 809
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
You are not allowed to view links. Register or Login
/правда, с включенной системной отладкой добрался до вызова функции 'DP_GET_CLIENT_TABLE45A', после которой как раз появляется
Ну у меня такой функции вообще нет в системе. Так что тут не подскажу...

Оффлайн Victor Ghost

  • Newbie
  • *
  • Сообщений: 24
  • Репутация: +0/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYears
и на том спасибо =)

Sapforum.Biz