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

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: Google [Bot]


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

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