Текущее время: Чт, мар 28 2024, 17:38

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Работы с 150-ым экраном в user-exit
СообщениеДобавлено: Пт, сен 22 2017, 14:34 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Чт, янв 24 2013, 08:43
Сообщения: 778
Откуда: South Kazakhstan
Пол: Мужской
Добрый день всем.

В диалоговом программировании я не силен, поэтому заранее извиняюсь за возможно неумный вопрос. Есть расширение ITOB0001 PM: Customer-Include-Subscreen для осн. данных техн.объектов, там есть экран 150, на который можно добавить свои поля и вывести их в основной записи единицы оборудования. Так вот, одно поле я вывел на экран в виде справочника, ну т.е. создал z-овскую табличку и средство поиска к этому полю на экране 150. В z табличке справочник с ключевым полем цифрового значения и поле текстового значения. На экран 150 я вывожу ключевое поле из справочника, а рядом добавил поле типа output, которое бы мне выводило из справочника текстовое наименование связываясь по ключевому полю. С ключевым полем всё нормально, ну т.е. оно изменяется и добавляется и сохраняется, а вот рядом добавленное поле с атрибутом только output стоит пустое. Я так понимаю надо обрабатывать PBO и PAI, но не понятно можно ли делать это как со всеми z-овскими экранами или в user-exit это надо делать как то по другому? Вот код, он собственно не большой да и не факт, что правильный. Может кто делал и подскажет?
Code:
process before output.
module status_1000.
module status_1000 output.
  if sy-tcode = 'IE03'.
    loop at screen.
      screen-input = '0'.
      modify screen.
    endloop.
  endif.
endmodule.
MODULE USER_COMMAND_0100.
module USER_COMMAND_0100 output.

select single * from EQUI where ZZITO_LOC = EQUI-ZZITO_LOC.

endmodule.
process after input .
chain.
    field: EQUI-ZZITO_LOC.

MODULE USER_COMMAND_1000 on chain-request.
module USER_COMMAND_1000 input.
  select single * from ZIH08 where znum = EQUI-ZZITO_LOC.

endmodule.
   endchain


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Работы с 150-ым экраном в user-exit
СообщениеДобавлено: Пт, сен 22 2017, 14:58 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Вт, сен 05 2017, 23:56
Сообщения: 537
ваш юзер экзит в Z-программе
объявите в ней глобальную переменную с именем как у поля для текста и заселектите в неё текст в PAI.


.upd

Тут вы выбираете текст?
Code:
module USER_COMMAND_1000 input.
  select single * from ZIH08 where znum = EQUI-ZZITO_LOC.

endmodule.

как я понял раб область ZIH08 определена через TABLES глобально?

назовите ваш output контролл как ZIH08-text и будет вам счастье.
text - имz колонки с текстом


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Работы с 150-ым экраном в user-exit
СообщениеДобавлено: Пн, сен 25 2017, 06:43 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Чт, янв 24 2013, 08:43
Сообщения: 778
Откуда: South Kazakhstan
Пол: Мужской
Kuranov.Dmitry написал(а):

Тут вы выбираете текст?
Code:
module USER_COMMAND_1000 input.
  select single * from ZIH08 where znum = EQUI-ZZITO_LOC.

endmodule.


Добрый день Дмитрий. Спасибо, что ответили. Да, здесь я пытаюсь выбрать текст из справочника, вернее я пытаюсь сделать так, чтобы при изменении поля изменялся бы и текст в поле рядом в соответствии со справочником и вроде бы эта часть срабатывает, т.е. PAI модуль отрабатывает правильно, но вот при просмотре ЕО текста не видно, значит PBO не срабатывает или что?
Цитата:
как я понял раб область ZIH08 определена через TABLES глобально?

ZIH08 - это физическая табличка (справочник), к которому привязано средство поиска. Глобально я её ни где не определял. Я думал, что раз в PAI не возникает ошибки при компиляции, значит программа видит эту табличку. Или я не прав?

Цитата:
назовите ваш output контролл как ZIH08-text и будет вам счастье.
text - имz колонки с текстом

Я вот здесь не понял что Вы подразумеваете под output контролл. Это поле или что?

В общем есть табличка ZIH08, в ней два поля. Одно цифровое znum (ключевое), второе поле текстовое LOCATION, поле znum я добавил в физическую табличку EQUI и обозвал его как ZZITO_LOC. Данные при вводе из справочника при заполнении основной записи единицы обрудования берутся и сохраняются, но вот сам текст, который рядом должен в другом поле отображаться не передаётся. При чём если я делаю изменение этого поля или создание новой ЕО, то текст рядом отображается, но после сохранения при открытии основной запиМожно поподробнее объяснить мне что я не так делаю? Буду весьма признателен за это.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Работы с 150-ым экраном в user-exit
СообщениеДобавлено: Пн, сен 25 2017, 08:31 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Чт, янв 24 2013, 08:43
Сообщения: 778
Откуда: South Kazakhstan
Пол: Мужской
В общем вроде бы разобрался. Немного криво код написал, поэтому не отрабатывало. Создал новую табличку. В общем в итоге получилось что то вроде.
Code:
process before output.
MODULE USER_COMMAND_0100.
select single * from zie01_loc where znum = equi-zzito_loc.
endmodule.
process after input .
chain.
    field: EQUI-ZZITO_LOC.
MODULE USER_COMMAND_1000 on chain-request.
select single * from zie01_loc where znum = equi-zzito_loc.
endmodule.   
endchain.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Работы с 150-ым экраном в user-exit
СообщениеДобавлено: Пн, сен 25 2017, 09:15 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Вт, сен 05 2017, 23:56
Сообщения: 537
Maksimka написал:
Я вот здесь не понял что Вы подразумеваете под output контролл. Это поле или что?/

Я имел в виду рядом с полем ввести Textfield поставить ему только чтение и флажок двумерный


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Работы с 150-ым экраном в user-exit  Тема решена
СообщениеДобавлено: Пн, сен 25 2017, 09:25 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Вт, сен 05 2017, 23:56
Сообщения: 537
Maksimka написал:
Данные при вводе из справочника при заполнении основной записи единицы обрудования берутся и сохраняются, но вот сам текст, который рядом должен в другом поле отображаться не передаётся. При чём если я делаю изменение этого поля или создание новой ЕО, то текст рядом отображается, но после сохранения при открытии основной запиМожно поподробнее объяснить мне что я не так делаю? Буду весьма признателен за это.


Когда вы создали новую запись, экранная логика работает так
1) отработало PBO
2) Пользователь выбрал из справочника значение
3) отработало PAI и там выбрался текст

при открытии старой записи отрабатывает только PBO и выборки текста нет

текст имхо лучше выбирать в PBO


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

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


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

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


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

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