Sapforum.Biz
Инструменты => ABAP - Инструментальные средства => Тема начата: NachDenken от Ноябрь 20, 2007, 06:52:21 am
-
Правильно ли я понимаю.
ищем user, screen exit - ы если их нет, то
1) создать вариант транзации
2) попробовать внести свою лепту через open-fi
3) прикрутить GuiXT и написать скрипт в котором "подрисовать"
4) скопировать программку в z и изменить экран
5) используя ключ модифицировать стандартный экран.
-
Ну тут все очень сильно зависит от транзакции...
1) создать вариант транзации
Ну если не устраивают некоторые поля, то как вариант проходит + по полномочиям помогает иногда разнести операции + можно жестко иногда задать например вид документа для конкретного пользователя.
2) попробовать внести свою лепту через open-fi
В целом OpenFI, если не устраивает стандартный вариант экранов транзакции не сильно поможет, он в основном может помочь если надо что-то при сохранении документа уже автоматом заменить в позиции или заголовке документа или спросить у пользователя допданные, но на стандартные экраны не сильно в нем повлияешь. Это очень частное решение для FI, и иногда при приходе новых версий может и отвалиться... так что тут надо писать корректно + при накатывании патчей или апгрейде можно получить небольшой облом для некоторых событий.
3) прикрутить GuiXT и написать скрипт в котором "подрисовать"
Ну не пользовался никогда, так что не скажу про +/-
4) скопировать программку в z и изменить экран
Не вот этот вариант не рекомендую... причина, ну реальный случай. На первой фазе людей не устроила стандартная транзакция, скопировали в свою и нарисовали свои поля на экране подробных данных. Через некоторое время, вторая фаза расширения функциональности и тут людей ждал облом дело в том одна из ключевых транзакций новой функциональности дергала в фоне... правильно оригинальную транзакцию, а не измененную Z, а у людей уже там на свои поля куча всего нарисована с проверками и прочим... в общем гемморой оказался еще тот. Так что это не очень хороший вариант.
5) используя ключ модифицировать стандартный экран.
А вот это вообще ставишь знак STOP и никогда и ни при каких условиях не выполняешь! Это так сказать последний рубеж за который заходить не надо ;D
Я еще могу предложить вариант, когда есть нужная BAPI, то можно нарисовать свою транзакцию... но тут может быть вариант такой же как и с пунктом 4 при обновлениях новых версий, но плюс в том что можно нарисовать вообще свою логику экранов, минус... ну сложно, точнее надо абап хорошо знать... ::)
-
А вот это вообще ставишь знак STOP и никогда и ни при каких условиях не выполняешь! Это так сказать последний рубеж за который заходить не надо ;D
:) это конечно был крайний вариант, тем более ключей никто не обещал.
выбираю путь с вариантом транзакции, но в доке написано , что мол скрыть или заполнить данными вариант экрана еще можно, а вот про добавить поле - молчание ягнят :)
-
выбираю путь с вариантом транзакции, но в доке написано , что мол скрыть или заполнить данными вариант экрана еще можно, а вот про добавить поле - молчание ягнят :)
Добавить свое поле нельзя. На то это и вариант транзакции, только скрыть или заполнить значениями... а то при добавлении это уже надо программу свою рисовать обновления и чтения значений для этого поля. А там экзита никакого нет, куда можно кнопку или подэкран повесить свой?
-
Тему перенес, так как тут скорее общие проблемы по разработке, чем конкретное решение по расширению транзакций через CMOD.
-
А там экзита никакого нет, куда можно кнопку или подэкран повесить свой?
в том то и дело, что нет. (с этого все и началось). Поиски велись через : TABLES: MODSAP, MODACT, TSTC.
-
А что за транзакция?
-
А что за транзакция?
тр. abnan
-
тр. abnan
Ну я бы нарисовал свой экран и потом CALL TRANSACTION сделал бы... транзакция простая как 5 копеек так что нарисовать бачинпут через SHDB вроде как не сложно.
-
Спасибо, Uukrul.
При детальном разборе ТЗ было установлено, что свой подэкран вовсе и не нужен :), достаточно копировать данные в .include таблицы, посему, обхожусь событием Создание Проводки , т.е. через 2) пункт.
-
А вообще самым первым пунктом всех если я бы поставил следующее... любой если от пользователей не нужно бросаться выполнять. Всегда сначала надо дать этому если полежать от недели до ... ну смотря от величины этого если. А вот когда оно уже вылежится, вот тогда можно приступать... но в 80% как показывает практика, это если отваливается само собой, причем со стороны пользователя, как не очень нужное ;)