Текущее время: Ср, апр 24 2024, 18:02

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


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


Вопросы по ППМ (MRP) - сюда.
Вопросы по классификации - сюда.
Вопросы по входящим поставкам - сюда.



Начать новую тему Ответить на тему  [ Сообщений: 13 ] 
Автор Сообщение
 Заголовок сообщения: Тип заказа на поставку и скрин экзит
СообщениеДобавлено: Ср, май 04 2005, 19:00 
Гость
Хай, Олл.
Есть расширение к ведению ЗП MM06E005 - (ME21,22,23) для юзер-полей. Сделал доп.экранчик для позиций. Но надо, чтобы он появлялся только для определенного вида ЗП. Скрыть в PBO можно, но как считать заранее тип введеного ЗП? кто может знает?
Система 40B
Спасибо.


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения: Re: тип зп и скрин экзит
СообщениеДобавлено: Чт, май 05 2005, 06:31 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, авг 24 2004, 07:19
Сообщения: 3952
Откуда: ECC 6.0, South Kazakhstan
Inferno2 написал(а):
Хай, Олл.
Есть расширение к ведению ЗП MM06E005 - (ME21,22,23) для юзер-полей. Сделал доп.экранчик для позиций. Но надо, чтобы он появлялся только для определенного вида ЗП. Скрыть в PBO можно, но как считать заранее тип введеного ЗП? кто может знает?
Система 40B
Спасибо.


Во многие ФМ этого экзита передается структура I_EKKO, в ней есть поля определяющие и вид документа закупки (ЕККО-BSART) и его тип (EKKO-BSTYP)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: тип зп и скрин экзит
СообщениеДобавлено: Чт, май 05 2005, 11:23 
Гость
OlegDm написал(а):
Inferno2 написал(а):
Хай, Олл.
Есть расширение к ведению ЗП MM06E005 - (ME21,22,23) для юзер-полей. Сделал доп.экранчик для позиций. Но надо, чтобы он появлялся только для определенного вида ЗП. Скрыть в PBO можно, но как считать заранее тип введеного ЗП? кто может знает?
Система 40B
Спасибо.


Во многие ФМ этого экзита передается структура I_EKKO, в ней есть поля определяющие и вид документа закупки (ЕККО-BSART) и его тип (EKKO-BSTYP)


Былоб так просто... наример, при создании, вызываются те экзиты, в которых этих структур нету, да и при просмотрах и редактировании те экзиты, где они есть, вызываются уже после прорисовки экрана...((


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения: Re: тип зп и скрин экзит
СообщениеДобавлено: Чт, май 05 2005, 13:27 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, авг 24 2004, 07:19
Сообщения: 3952
Откуда: ECC 6.0, South Kazakhstan
Inferno2 написал(а):
OlegDm написал(а):
Inferno2 написал(а):
Хай, Олл.
Есть расширение к ведению ЗП MM06E005 - (ME21,22,23) для юзер-полей. Сделал доп.экранчик для позиций. Но надо, чтобы он появлялся только для определенного вида ЗП. Скрыть в PBO можно, но как считать заранее тип введеного ЗП? кто может знает?
Система 40B
Спасибо.


Во многие ФМ этого экзита передается структура I_EKKO, в ней есть поля определяющие и вид документа закупки (ЕККО-BSART) и его тип (EKKO-BSTYP)


Былоб так просто... наример, при создании, вызываются те экзиты, в которых этих структур нету, да и при просмотрах и редактировании те экзиты, где они есть, вызываются уже после прорисовки экрана...((


Подожди ка, ты ж говоришь если будешь знать вид документа то сможешь соответственно модифицировать свой экран. Значит смотри в pbo логике своего экрана какой вид заказа и соответственно модифицируй экран. Чтоб узнать вид заказа в PBO используй assign к структуре MEPO_TOPLINE программы SAPLMEGUI.

Примерно так:

Code:
   data: x_mepo_topline like mepo_topline.

   field-symbols: <fs_mepo_topline> type any.

   assign: ('(SAPLMEGUI)MEPO_TOPLINE')  to <fs_mepo_topline>.

   if sy-subrc = 0.

      move: <fs_mepo_topline> to x_mepo_topline .
*     В поле x_mepo_topline-bsart твой вид заказа
      . . .

   endif.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: тип зп и скрин экзит
СообщениеДобавлено: Чт, май 05 2005, 15:46 
Гость
Подожди ка, ты ж говоришь если будешь знать вид документа то сможешь соответственно модифицировать свой экран. Значит смотри в pbo логике своего экрана какой вид заказа и соответственно модифицируй экран. Чтоб узнать вид заказа в PBO используй assign к структуре MEPO_TOPLINE программы SAPLMEGUI.

Примерно так:

Code:
   data: x_mepo_topline like mepo_topline.

   field-symbols: <fs_mepo_topline> type any.

   assign: ('(SAPLMEGUI)MEPO_TOPLINE')  to <fs_mepo_topline>.

   if sy-subrc = 0.

      move: <fs_mepo_topline> to x_mepo_topline .
*     В поле x_mepo_topline-bsart твой вид заказа
      . . .

   endif.
[/quote]

В 4.0 не нашел проги, хотя в 4.6 есть...
Проблемку пока решил - считываю из ID параметра BSA... но мне ет не очень нравиться..


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения: Re: тип зп и скрин экзит
СообщениеДобавлено: Чт, май 05 2005, 16:12 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, авг 24 2004, 07:19
Сообщения: 3952
Откуда: ECC 6.0, South Kazakhstan
Inferno2 написал(а):
Подожди ка, ты ж говоришь если будешь знать вид документа то сможешь соответственно модифицировать свой экран. Значит смотри в pbo логике своего экрана какой вид заказа и соответственно модифицируй экран. Чтоб узнать вид заказа в PBO используй assign к структуре MEPO_TOPLINE программы SAPLMEGUI.

Примерно так:

Code:
   data: x_mepo_topline like mepo_topline.

   field-symbols: <fs_mepo_topline> type any.

   assign: ('(SAPLMEGUI)MEPO_TOPLINE')  to <fs_mepo_topline>.

   if sy-subrc = 0.

      move: <fs_mepo_topline> to x_mepo_topline .
*     В поле x_mepo_topline-bsart твой вид заказа
      . . .

   endif.


В 4.0 не нашел проги, хотя в 4.6 есть...
Проблемку пока решил - считываю из ID параметра BSA... но мне ет не очень нравиться..




тогда:

Code:
data: x_RM06E like RM06E.

   field-symbols: <fs_RM06E> type any.

   assign: ('(SAPMM06E)RM06E)  to <fs_RM06E>.

   if sy-subrc = 0.

      move: <fs_RM06E> to x_RM06E.
*     В поле x_RM06E-bsart твой вид заказа
      . . .

   endif.


хотя взять из памяти тоже хороший вариант.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: тип зп и скрин экзит
СообщениеДобавлено: Чт, май 05 2005, 16:39 
Гость
тогда:

Code:
data: x_RM06E like RM06E.

   field-symbols: <fs_RM06E> type any.

   assign: ('(SAPMM06E)RM06E)  to <fs_RM06E>.

   if sy-subrc = 0.

      move: <fs_RM06E> to x_RM06E.
*     В поле x_RM06E-bsart твой вид заказа
      . . .

   endif.


хотя взять из памяти тоже хороший вариант.[/quote]

Спасибо, друг. Заработало через assign !


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, май 05 2005, 16:54 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, сен 09 2004, 07:32
Сообщения: 777
Откуда: Москва
Пол: Мужской
Я бы, прежде чем "швыряться" такими ... посмотрел на результат вызова

data: lf_bsart type bsart.
get parameter id 'BSA' field lf_bsart.

в твоем замещении... :?

_________________
"Прежде чем сделать что-то, подумай, к чему это может привести..."


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, май 06 2005, 06:15 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, авг 24 2004, 07:19
Сообщения: 3952
Откуда: ECC 6.0, South Kazakhstan
nicky555 написал:
Я бы, прежде чем "швыряться" такими ... посмотрел на результат вызова

data: lf_bsart type bsart.
get parameter id 'BSA' field lf_bsart.

в твоем замещении... :?


Nicky, если ты имеешь ввиду мой совет насчет assign-а, то мне так кажется, если он используется только для чтения - особого криминала в этом нет. Плюс кроме переменной которую можно взять из SAP памяти, можно проанализировать и еще кой-какие параметры структуры, которую читаешь, то чего из памяти не вытащишь.

Но если, нужен только вид заказа, то как уже говорил выше - прочитать из памяти наиболее верный вариант - не надо что-то там городить.

Откровенно говоря частенько бывает, что в экзитах нет нужной информации и использование assign решает многие проблемы.

Добавлю, что это сугубо мое мнение (не-абапера) ...


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, май 06 2005, 07:15 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, сен 09 2004, 07:32
Сообщения: 777
Откуда: Москва
Пол: Мужской
На мой взгляд простого АВАР'ера - использование динамического assign'а там, где достаточно сделать дополнительную выборку по имеющимся данным, или считать значения SPA/GPA, просто неоправданно.
Указанное средство стоит использовать в самую последнюю очередь, поскольку оно опасно и ненадежно.
Опасно в том плане, что, просто описАвшись, вы можете случайно изменить данные (а они уже прошли все стандартные проверки и готовы к записи в БД!).
Ненадежно, поскольку в своей процедуре вы должны жестко типизовать принимающее поле и привязаться к имени переменной в программе-отправителе.
"... что-то там городить..." - городите вы, используя динамическую ссылку (!)
Ну, и напоследок - см. мою подпись. Облегчая жизнь себе, вы не задумываетесь о будущем вашей системы (для консалтинга это нормально). А ведь впереди обновления версий, патчи... :roll:

_________________
"Прежде чем сделать что-то, подумай, к чему это может привести..."


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, май 06 2005, 07:44 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, авг 24 2004, 07:19
Сообщения: 3952
Откуда: ECC 6.0, South Kazakhstan
nicky555 написал:
На мой взгляд простого АВАР'ера - использование динамического assign'а там, где достаточно сделать дополнительную выборку по имеющимся данным, или считать значения SPA/GPA, просто неоправданно.
Указанное средство стоит использовать в самую последнюю очередь, поскольку оно опасно и ненадежно.
Опасно в том плане, что, просто описАвшись, вы можете случайно изменить данные (а они уже прошли все стандартные проверки и готовы к записи в БД!).
Ненадежно, поскольку в своей процедуре вы должны жестко типизовать принимающее поле и привязаться к имени переменной в программе-отправителе.
"... что-то там городить..." - городите вы, используя динамическую ссылку (!)
Ну, и напоследок - см. мою подпись. Облегчая жизнь себе, вы не задумываетесь о будущем вашей системы (для консалтинга это нормально). А ведь впереди обновления версий, патчи... :roll:


Nicky, когда я говорил "взять из памяти" - имел ввиду как раз таки SAP-память, и слово "городить" - как раз таки отнес к конструкции с assign-ами :) (но только в этом случае, когда можно легко получить значение из SAP-памяти)

И еще... лично мне ценны ваши советы :wink:

Но учительский тон иной раз ... :) (без обид)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, май 06 2005, 08:27 
Гость
OlegDm написал(а):
Но учительский тон иной раз ... :) (без обид)

:wink: Извиняюсь - привычка :)


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения: Re: тип зп и скрин экзит
СообщениеДобавлено: Ср, фев 11 2015, 11:06 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Чт, авг 22 2013, 01:09
Сообщения: 108
Откуда: г. Жлобин, Республика Беларусь
Пол: Мужской
Вот кстати столкнулся с реальным случаем, когда пришлось прибегнуть к assign: ('(SAPLMEGUI)MEPO_TOPLINE') to <fs_mepo_topline>.
Стандартный экран в транзакции me22n, поле номер материала. Клиент пожелал, чтобы в средстве поиска по виду материала учитывалась z-зависимость между видом заказа и видом материала. Создал свое элементарное средство поиска. Оно нормально работало когда можно было считать вид заказа. И в этом то и была вся загвоздка - при вызове средства поиска в рамках функционального модуля, связанного со средством поиска, get parameters id 'BSA' field lv_bsart не работал, переменная lv_bsart оставалась пустой. И пока не прибегнул к assign проблему победить не получалось. В итоге конечно средство сделалось зависимым от контекста запуска, но тут уж ничего другого в голову не пришло.

_________________
Когда другие слепо следуют за истиной, помни - ничто не истина.


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

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


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

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


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

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