Текущее время: Пн, июл 21 2025, 23:34

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
 Заголовок сообщения: Проблема с замещениями в FI
СообщениеДобавлено: Вт, апр 10 2007, 10:31 
Ассистент
Ассистент

Зарегистрирован:
Пт, дек 01 2006, 18:49
Сообщения: 28
Скопировал как положено rggbs000 в zrggbs000, запустил предварительную программу генерации АБАП-кода.
Описал в OBBH замещение поля bseg-zbd1t в зависимости от некоторого условия. Указал, что замещение будет выполнять exit U930. Описал его в zrggbs000 как

FORM get_exit_titles TABLES etab.
....

exits-name = 'U930'.
exits-param = c_exit_param_none.
exits-title = text-930.
APPEND exits.
....

Вставил точку прерывания -

FORM u930.
bseg-zbd1t = '5'.

break user01.

ENDFORM.

В результате на точке останова прога выполняется,
но значение bseg-zbd1t не меняется.
Что за ерунда? Где ошибка? В чем недочет?

Спасибо.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, апр 10 2007, 10:48 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пт, июл 01 2005, 13:23
Сообщения: 303
Откуда: Питер
Пол: Мужской
Так попробуй:
Замешение на поле создай.
Сбрось для поля флажок в таблице GB01 чтобы оно было доступно для замещения.

Code:
exits-name  = 'zf10'.
  exits-param = c_exit_param_field.
  exits-title = text-200.             "Cons. transaction type
  APPEND exits.                       "from xref1/2

FORM zf10 USING zbd1t type bseg-zbd1t .
...
zbd1t = '5'.
Endform.



Последний раз редактировалось Preatos Вт, апр 10 2007, 11:04, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Увы, так тоже ничего!
СообщениеДобавлено: Вт, апр 10 2007, 11:03 
Ассистент
Ассистент

Зарегистрирован:
Пт, дек 01 2006, 18:49
Сообщения: 28
Сделал так -

FORM ZF930 USING zbd1t TYPE bseg-zbd1t .

zbd1t = '5'.
bseg-zbd1t = '5'.
break user01.
ENDFORM.

А bseg-zbd1t не меняется. Ничего не понимаю! Ведь должно произойти замещение?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Увы, так тоже ничего!
СообщениеДобавлено: Вт, апр 10 2007, 11:07 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пт, июл 01 2005, 13:23
Сообщения: 303
Откуда: Питер
Пол: Мужской
Peter написал(а):
Сделал так -

FORM ZF930 USING zbd1t TYPE bseg-zbd1t .

zbd1t = '5'.
bseg-zbd1t = '5'.
break user01.
ENDFORM.

А bseg-zbd1t не меняется. Ничего не понимаю! Ведь должно произойти замещение?


а вот это написал сверху в описании формы?:
Цитата:
exits-param = c_exit_param_field.


Пересоздай замещение! Сделай замещение по полю своему.
Новое создай. И в конце желательно перегенерировать замещение с помощью проги: RGUGBR00


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Да, указал, что на вход идет параметр - но увы.....
СообщениеДобавлено: Вт, апр 10 2007, 11:12 
Ассистент
Ассистент

Зарегистрирован:
Пт, дек 01 2006, 18:49
Сообщения: 28
Попробую все переделать и перегенерить.
О результатах доложу!

Спасибо.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Ерунда какая-то
СообщениеДобавлено: Вт, апр 10 2007, 14:34 
Ассистент
Ассистент

Зарегистрирован:
Пт, дек 01 2006, 18:49
Сообщения: 28
Все перегенерил, при моделировании замещения данные в структурt bseg меняются! А при запуске в рабочем режиме - ничего не происходит! -((((


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, апр 10 2007, 15:00 
Специалист
Специалист

Зарегистрирован:
Чт, ноя 23 2006, 17:37
Сообщения: 197
Откуда: Москва
Пол: Мужской
Может, подойти к вопросу еще глобальнее? :)

Code:
form get_exit_titles tables etab.

  data: begin of exits occurs 50,
          name(5)   type c,
          param     like c_exit_param_none,
          title(60) type c,
        end of exits.
...

  exits-name  = 'U100'.
  exits-param = c_exit_param_class.
  exits-title = text-100.           
  append exits.
...
  refresh etab.
  loop at exits.
    etab = exits.
    append etab.
  endloop.

endform.                    "get_exit_titles

form u100 using bool_data type gb002_015.
...
  loop at bool_data-bseg into bseg.
    bseg-zbd1t = '5'.
    modify bool_data-bseg from bseg index sy-tabix
            transporting zbd1t.
  endloop.
...
endform.     


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Хм,
СообщениеДобавлено: Вт, апр 10 2007, 15:56 
Ассистент
Ассистент

Зарегистрирован:
Пт, дек 01 2006, 18:49
Сообщения: 28
так вообще в дамп вываливается .....((


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Хм,
СообщениеДобавлено: Вт, апр 10 2007, 16:03 
Специалист
Специалист

Зарегистрирован:
Чт, ноя 23 2006, 17:37
Сообщения: 197
Откуда: Москва
Пол: Мужской
Peter написал(а):
так вообще в дамп вываливается .....((


Оппа :shock: а причины?
Проходит ли исходный текст подпрограммы?
Если нет, на какой строке стпотыкается?

Да, естественно, всё надо перегенерить, т.к. в вызывающей программе, наверняка, остался старый синтаксис вызова подпрограммы.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, апр 10 2007, 16:15 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пт, июл 01 2005, 13:23
Сообщения: 303
Откуда: Питер
Пол: Мужской
Paul_80 написал:
Может, подойти к вопросу еще глобальнее? :)

Code:
form get_exit_titles tables etab.

  data: begin of exits occurs 50,
          name(5)   type c,
          param     like c_exit_param_none,
          title(60) type c,
        end of exits.
...

  exits-name  = 'U100'.
  exits-param = c_exit_param_class.
  exits-title = text-100.           
  append exits.
...
  refresh etab.
  loop at exits.
    etab = exits.
    append etab.
  endloop.

endform.                    "get_exit_titles

form u100 using bool_data type gb002_015.
...
  loop at bool_data-bseg into bseg.
    bseg-zbd1t = '5'.
    modify bool_data-bseg from bseg index sy-tabix
            transporting zbd1t.
  endloop.
...
endform.     


Ну это актуально при замещении на всём документе! То что я привёл, для позиции работает! Моменты замещения разные! Сделайте так как я сказал, всё должно работать!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, апр 10 2007, 17:26 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пн, янв 24 2005, 16:22
Сообщения: 749
Пол: Мужской
При проблемах в замещениях есть главное правило, которое гласит: "Перегенерация!".
Была ситуация, когда в разных системах одно замещение добавлял (с программой), так в одной работало, но в отладчик не мог провалиться, а во второй работал отладчик, но замена не происходила. В обеих все было решено после двух шагов: (1) выход и вход в систему и (2) перегенерация модуля, пересоздание индекса навигации, перегенерация замещения (через исправление и сохранение).

_________________
Счастье есть!


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 11 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB