SAPфорум.RU
https://www.sapboard.ru/forum/

Как добавить поле в сообщение ТОРО?
https://www.sapboard.ru/forum/viewtopic.php?f=13&t=61927
Страница 1 из 3

Автор:  mvs87 [ Ср, июн 30 2010, 12:09 ]
Заголовок сообщения:  Как добавить поле в сообщение ТОРО?

Добрый день. :)

Необходимо добавить поле в сообщение ТОРО.

Кто-нибудь добавлял? Как? Чем?


*
user_exit или badi не нашел.

Автор:  Besa [ Ср, июн 30 2010, 12:46 ]
Заголовок сообщения:  Re: Добавить поле в сообщение ТОРО

autor написал(а):
Добрый день. :)

Необходимо добавить поле в сообщение ТОРО.

Кто-нибудь добавлял? Как? Чем?


*
user_exit или badi не нашел.

UE QQM*, в частности
QQMA0001 QM/PM/SM: подэкран пользователя для заголовка сообщения
QQMA0008 QM/PM/SM: Подэкран пользов. для доп.дан. к позиции сообщения

Автор:  mvs87 [ Ср, июн 30 2010, 14:25 ]
Заголовок сообщения:  Re: Добавить поле в сообщение ТОРО

Besa написал:
UE QQM*, в частности
QQMA0001 QM/PM/SM: подэкран пользователя для заголовка сообщения
QQMA0008 QM/PM/SM: Подэкран пользов. для доп.дан. к позиции сообщения


Спасибо. Криво я искал значит.

Но тут проблемка с использованием.

Добавил в qmel поле.
В эксите создал экран. Добавил утда поле.
В настройках спозиционировал его куда надо.

А в таблицу не идет запись.

предлагается ФМ
Code:
FUNCTION EXIT_SAPMIWO0_008.
*"----------------------------------------------------------------------
*"*"Lokale Schnittstelle:
*"       IMPORTING
*"             VALUE(I_VIQMEL) LIKE  VIQMEL STRUCTURE  VIQMEL
*"                             OPTIONAL
*"             VALUE(I_AKTYP) LIKE  T365-AKTYP OPTIONAL
*"----------------------------------------------------------------------

*--- Save parameter I_VIQMEL as a global data
  MOVE I_VIQMEL TO VIQMEL.

  INCLUDE ZXQQMU07.


ENDFUNCTION.


поле в экране сразу табличное VIQMEL-ZZDAMAGE

призапуске этого ФМ-а в I_VIQMEL нет данных

Там есть ещё инклюд.
но при условии что нет данных в I_VIQMEL он безполезен.


Что делаю не правильно? :)


p.s. первый раз...

Автор:  Besa [ Ср, июн 30 2010, 14:40 ]
Заголовок сообщения:  Re: Добавить поле в сообщение ТОРО

В I_VIQMEL нету вообще данных или только ZZ полей?
Один модуль(008) это считывание данных из БД и передача в поля на экране.
Второй модуль(009) это считывание с экрана и передача в БД.

P.S. щас попробовал, у меня все работает.

Автор:  mvs87 [ Ср, июн 30 2010, 15:35 ]
Заголовок сообщения:  Re: Добавить поле в сообщение ТОРО

Besa написал:
В I_VIQMEL нету вообще данных или только ZZ полей?
Один модуль(008) это считывание данных из БД и передача в поля на экране.
Второй модуль(009) это считывание с экрана и передача в БД.

P.S. щас попробовал, у меня все работает.

только ZZ полей.

ааа, получается надо оба инклюда создавать ?

p.s.
Капец. Жаль что на работе времени не хватило второй модуль покрутить
Хоть обратно или на работу...
Besa, Спасибо за подсказки! :)

Автор:  Besa [ Ср, июн 30 2010, 15:49 ]
Заголовок сообщения:  Re: Добавить поле в сообщение ТОРО

autor написал(а):
Besa написал:
В I_VIQMEL нету вообще данных или только ZZ полей?
Один модуль(008) это считывание данных из БД и передача в поля на экране.
Второй модуль(009) это считывание с экрана и передача в БД.

P.S. щас попробовал, у меня все работает.

только ZZ полей.

ааа, получается надо оба инклюда создавать ?

p.s.
Капец. Жаль что на работе времени не хватило второй модуль покрутить
Хоть обратно или на работу...
Besa, Спасибо за подсказки! :)

Все правильно. Значений ZZ и не будет, так как Вы еще ничего не сохраняли в БД. Прикручивайте модуль 009, через него данные из экрана попадут в БД при сохранение, затем при считывание в 008 уже будут значения соответственно.

Автор:  mvs87 [ Ср, июн 30 2010, 15:58 ]
Заголовок сообщения:  Re: Добавить поле в сообщение ТОРО

Усё поняно!
Спасибо ещё раз.

p.s. главное настройки запротоколировать :)

Автор:  mvs87 [ Чт, июл 01 2010, 06:09 ]
Заголовок сообщения:  Re: Добавить поле в сообщение ТОРО

Создав и активировав 2 ФМ не заработало.

Прописал в ФМ
EXIT_SAPMIWO0_009
инклюде
INCLUDE ZXQQMU08 напрямую

E_VIQMEL-zzdamage = VIQMEL-zzdamage.
I_VIQMEL-zzdamage = VIQMEL-zzdamage.

низнаю правильно или нет так делать, но работает. :)
Хорошая штука эти юзер_экзиты :)

Автор:  Besa [ Чт, июл 01 2010, 06:30 ]
Заголовок сообщения:  Re: Добавить поле в сообщение ТОРО

autor написал(а):
Создав и активировав 2 ФМ не заработало.

Прописал в ФМ
EXIT_SAPMIWO0_009
инклюде
INCLUDE ZXQQMU08 напрямую

E_VIQMEL-zzdamage = VIQMEL-zzdamage.
I_VIQMEL-zzdamage = VIQMEL-zzdamage.

низнаю правильно или нет так делать, но работает. :)
Хорошая штука эти юзер_экзиты :)

Нет, так не правильно, чтобы корректно отрабатывало, надо чтобы участвовало обязательно два модуля.
Так как "Первый раз", объясню пошагово...
1. В ТОП инкюде объявите глобальную переменную damage.
2. Вставляете эту переменную на экран.
3. В инклюде ZXQQMU07, присваивайте damage = viqmel-zzdamage. Этим, мы передаем значение zzdamage из БД на экран. Этот модуль срабатывает перед отрисовкой экрана.
4. В инклюде ZXQQMU08, присваивайте E_VIQMEL-zzdamage = damage. Этим, мы передаем значение damage из экрана в дальнейшую обработку процесса, после чего значение, которое Вы ввели, сохранится в БД. Этот модуль срабатывает после отрисовки экрана.

P.S. Если не ошибаюсь есть курс по этой теме. bc425 - Enhancements And Modifications.

Автор:  mvs87 [ Пт, июл 02 2010, 08:08 ]
Заголовок сообщения:  Re: Добавить поле в сообщение ТОРО

Понятно. :)

По ходу возник Вопрос такой.

При закрытии сообщения новое поле остается доступным для изменения, а вообще должно стать неактивным.

На сколько знаю обычно это делается по присвоению группы объектов экрана.
Так же попробовал присвоить группы разные... Не получилось убрать активность в фазе время закрытия.
На сколько понимаю вот это как раз зашито в саповскм коде.

Как можно зависимость активности поля от статуса сделать?

Автор:  Besa [ Пт, июл 02 2010, 08:25 ]
Заголовок сообщения:  Re: Добавить поле в сообщение ТОРО

autor написал(а):
Понятно. :)

По ходу возник Вопрос такой.

При закрытии сообщения новое поле остается доступным для изменения, а вообще должно стать неактивным.

На сколько знаю обычно это делается по присвоению группы объектов экрана.
Так же попробовал присвоить группы разные... Не получилось убрать активность в фазе время закрытия.
На сколько понимаю вот это как раз зашито в саповскм коде.

Как можно зависимость активности поля от статуса сделать?

Да, конечно можно.
в ПБО логике экрана надо скрыть поле, в зависимости от
I_AKTYP - Тип действия в транзакции (H=Созд/V=Изм/A=Просм)
Code:
  LOOP AT SCREEN.
    IF SCREEN-NAME = 'поле экрана' AND I_AKTYP = 'A'.
      SCREEN-ACTIVE = '1'.
      SCREEN-INPUT = '0'.
      MODIFY SCREEN.
    ENDIF.
  ENDLOOP.

Как то так...
P.S. Почему программистам не отдадите? :)

Автор:  mvs87 [ Пт, июл 02 2010, 08:45 ]
Заголовок сообщения:  Re: Добавить поле в сообщение ТОРО

Besa написал:
autor написал(а):
Понятно. :)

По ходу возник Вопрос такой.

При закрытии сообщения новое поле остается доступным для изменения, а вообще должно стать неактивным.

На сколько знаю обычно это делается по присвоению группы объектов экрана.
Так же попробовал присвоить группы разные... Не получилось убрать активность в фазе время закрытия.
На сколько понимаю вот это как раз зашито в саповскм коде.

Как можно зависимость активности поля от статуса сделать?

Да, конечно можно.
в ПБО логике экрана надо скрыть поле, в зависимости от
I_AKTYP - Тип действия в транзакции (H=Созд/V=Изм/A=Просм)
Code:
  LOOP AT SCREEN.
    IF SCREEN-NAME = 'поле экрана' AND I_AKTYP = 'A'.
      SCREEN-ACTIVE = '1'.
      SCREEN-INPUT = '0'.
      MODIFY SCREEN.
    ENDIF.
  ENDLOOP.

Как то так...
P.S. Почему программистам не отдадите? :)


Спасибо. Так и хотел сделать, но был не уверен, что правильно мыслю.

:) ... я , можно сказать начинающий, программист.
С юзер_экзитами, бапишками и прочими не сталкивался ещё. Не хочу накосячить. (...у нас админ дядька злой :!: )
По этому по незнанке интересуюсь у знающих.

Терь понятно.
В экзитах свои мульки по вводу, выводу с экрана,
переменные свои использовать для новых полей,
всётаки можно играть в ПБО и ПАИ модулях.


Besa ещё раз спасибо за ответы на ламерские вопросы.

Автор:  mvs87 [ Пн, авг 23 2010, 13:16 ]
Заголовок сообщения:  Re: Добавить поле в сообщение ТОРО

в юзерэкзите QQMA0001 создал ещё один подэкран.
как этот подэкран вставить в маску экранов?

Прошлый раз вставлял просто, в маске оказался некий 090 Подэкран клиента (еxit клиента QQMA0001)
Использовав его - всё заработало.

Как добавлять другие?

Автор:  Besa [ Пн, авг 23 2010, 13:36 ]
Заголовок сообщения:  Re: Добавить поле в сообщение ТОРО

autor написал(а):
в юзерэкзите QQMA0001 создал ещё один подэкран.
как этот подэкран вставить в маску экранов?

Прошлый раз вставлял просто, в маске оказался некий 090 Подэкран клиента (еxit клиента QQMA0001)
Использовав его - всё заработало.

Как добавлять другие?

Это делается через настройку. Техобслуживание и ремонт оборудования & Сервис клиентов->Обработка данных ТОРО и управление сервисом->Сообщения ТОРО и серсисные сообщения->Открытие сообщения->Виды сообщений->Настройка масок экрана для вида сообщения

Автор:  mvs87 [ Пн, авг 23 2010, 13:56 ]
Заголовок сообщения:  Re: Добавить поле в сообщение ТОРО

Besa написал:
autor написал(а):
в юзерэкзите QQMA0001 создал ещё один подэкран.
как этот подэкран вставить в маску экранов?

Прошлый раз вставлял просто, в маске оказался некий 090 Подэкран клиента (еxit клиента QQMA0001)
Использовав его - всё заработало.

Как добавлять другие?

Это делается через настройку. Техобслуживание и ремонт оборудования & Сервис клиентов->Обработка данных ТОРО и управление сервисом->Сообщения ТОРО и серсисные сообщения->Открытие сообщения->Виды сообщений->Настройка масок экрана для вида сообщения

Так точно!
например
Там выбираю "М2", добавляю "Дополнительные данные 3",
проваливаюсь туда, в поле "ОбластьЭкрана 1" по средству поиска а там "нет никто".
всё что есть.
Code:
005   Ссылочный объект
010   Сферы ответственности
015   Позиция + причина
020   ДоступнПроизвОборуд
030   Ситуация и подробный текст
032   Ситуация и подробн.текст (Windows 32bit)
033   Ситуация и подробный текст (WebGUI)
035   Данные неисправности
039   Ссылочные документы/контрольная партия
040   Базисные сроки
045   Операции
050   Мероприятия
055   Причины
060   Адрес сообщения и объекта
065   Обзорный экран партнера (экран. таблица)
070   Инсталляция - иерархия
080   Гарантия
085   Обзор сообщений
090   Подэкран клиента (еxit клиента QQMA0001)
092   Соединения СУД


При чем 090 Подэкран клиента (еxit клиента QQMA0001) - это первый экран с юзерэкзита.

Вот, это очевидно, было бы всё так просто - не беспокоил бы :)

Страница 1 из 3 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/