Изменение стандартного кода ABAP - PullRequest
2 голосов
/ 18 января 2012

Я почти 4 месяца учусь / работаю в SAP. За все это время я сделал несколько отчетов и улучшений, но недавно я начал работать над требованием, связанным с мобильным вводом данных или RF, и оно в основном состоит в добавлении EAN и некоторых других данных в dynpro 2502.

Я сделал копию dynpro 2502 в программе SAPLLMOB в SAPLXLRF 9502, связал пользовательский выход MWMRF502 и запрограммировал его базовую функциональность, но он не работает, как я ожидал, потому что этот выход очень ограничен, и он позволяет только импортировать и экспортировать небольшую группу данных, и ее трудно выполнить точно так же, как в стандарте.

Я искал по всему интернету, и многие люди делают свои собственные реализации, а другие просто меняют стандарт. Я не знаю, как сделать свою собственную реализацию, потому что я не понимаю весь процесс внутри, и альтернатива изменения стандартного кода была бы лучше для производительности и времени, затрачиваемого на разработку, но, как я цитировал, мне пришлось бы изменить стандарт код, и это то, что я хотел бы сделать, только если нет другого варианта.

Но вопрос в том, можно ли менять стандарт? ¿Как часто стандартный код изменяется в реализациях SAP? ¿Что будет лучшей альтернативой?

Заранее спасибо.

Ответы [ 2 ]

3 голосов
/ 19 января 2012

Вы задаете правильные вопросы, и это хорошо, что вы не просто вспахиваете, не задумываясь о последствиях того, что вы делаете. Продолжайте исследовать!

Что касается изменения стандарта SAP, вы обычно не хотите копировать объект для его изменения. Для экранов SAP довольно часто создает пользовательский выход с подэкраном, который может быть изменен клиентом. Для Web-Dynpro вы можете использовать точки расширения и / или bADI для расширения функциональности.

Попробуйте поискать одно из следующего:

  • SAP bADI в области, которую вы хотите изменить (транзакция SE18),
  • пользовательский выход, позволяющий изменить необходимые экраны (транзакция SMOD),
  • явные улучшения в функциональности,
  • одна из неявных точек улучшения функциональности

На sdn.sap.com, а также в справке SAP есть много документации по вышеуказанным темам.

Если ни один из них не доступен, у вас не может быть другого выбора, кроме как изменить (восстановить) стандартные объекты SAP. Чтобы иметь возможность изменять стандарт SAP, вам необходимо зарегистрировать объект (ы), которые необходимо изменить, в SAP OSS и получить ключ восстановления, который необходим системе, чтобы позволить вам вносить изменения. При внесении изменений всегда убедитесь, что SAP Modification Assistant включен, это значительно облегчит вашу жизнь, когда вы исправляете или обновляете свою систему.

Если возможно, попытайтесь найти опытного программиста ABAP, который поможет вам в этом.

Также см. этот вопрос относительно изменения стандартного кода SAP:

Редактировать: Томас Вайс из SDN имеет полезную серию блогов по инфраструктуре улучшений и коммутации.

3 голосов
/ 18 января 2012

Всегда следите за тем, чтобы не было другого способа реализовать нужные вам функции. Если вы уверены в этом, то либо напишите собственную реализацию с нуля , либо просто измените код SAP. Просто не копируйте программы SAP в пространство имен клиентов, потому что я могу гарантировать, что это превратится в кошмар обслуживания. Вы должны будете решить сами, стоит ли размер изменения тратить время на создание собственной реализации или на изменение SAP.

Если вы решите изменить код SAP, имейте в виду, что все изменения появятся для проверки при обновлении системы, что потребует времени для оценки и адаптации к новому коду SAP.

...