Меню

TAW 10, функциональные группы и модули

В данном посте я хочу поделиться тем, как создавать функциональные группы и модули в них.

TAW10, функциональные группы и модули.

Из этой части курса я узнал:

  1. Как создаются функциональные группы.
  2. Как создаются функциональные модули в группах.
  3. Как правильно описывать функциональный модуль и затем вызывать его в программе.

Функциональный модуль( в дальнейшем ФМ ) напоминает собой подпрограмму, но в отличии от нее может использоваться много раз и в разных программах. Также ФМ должен обязательно принадлежать функциональной группе. В группе может быть много ФМ’ов и они должны быть корректно написаны и сгенерированы, иначе при вызове любого некорректного ФМ из группы будет рушить всю программу.

Практическое применение:

Итак, для того, чтобы создать ФМ нам нужно:

  1. Зайти в транзакцию se80 и выбрать пункт меню «Группа функций»
  2. Придумать название своей группе и двойным щелчком создать ее, добавив при этом краткое описание.
  3. После автоматической генерации группы нужно выбрать папку «ФункциональнМодули» и по правой клавише вызвать контекстное меню, далее выбрать создать  -> функциональный модуль.(модули и группы должны начинаться с буквы Zили Y, также как и при создании программ).

Если всё было проделано правильно, то получим следующую картинку( разумеется без написанного кода, как в моем примере):

По умолчанию всегда открывается закладка «Исходный текст», но их существует аж целых 7:

  • Свойства
  • Импорт
  • Экспорт
  • Изменение
  • Таблицы
  • Особые ситуации
  • Исходный текст.

В свойствах мы описываем группу, краткий текст, вид выполнения ФМ и общие данные. Для импорта характерна передача параметров из основной программы различных таблиц, полей, структур, методов, функций и т.д. Для экспорта прописываются выходные параметры из ФМ, т.е. те, которые будут специальным образом передаваться в программу, а из нее уже по выбору программиста использоваться. В изменении прописываются динамические параметры, которые будут меняться на протяжении вызова ФМ в каком-либо случае, описанном программно. В «таблицы»

Если хотите прочитать статью полностью и оставить свои комментарии присоединяйтесь к sapland

У вас уже есть учетная запись?

Войти

Обсуждения Количество комментариев20

Комментарий от  

Олег Точенюк

  |  12 декабря 2012, 14:16

Ужас, ужас, ужас - из анекдота можно сказать... Роман, своей колонкой об ABAP, мне даже сложно сказать то ли вы веселите людей, то ли в гоняете в смертную тоску, но то количество, ну скажем так "не соответствий правде", в каждом абзаце просто зашкаливает. Я все понимаю, колонка авторская и т.д. но может перед публикацией будете отдавать кому-то рядом, кто знает ABAP на почитать?
 
SE80 это замечательно, но можно и отдельной функцией SE37, хотя конечно SE80 гораздо нагляднее. Далее из ошибок, имя функционального модуля, согласно новым веяниям, должно начинаться с Z_ или Y_, а иначе вы получаете предупреждение: "Имя функционального модуля находится в области имен SAP.", т.е. гарантии что SAP не использует ваш вариант имени нет. Ну вот такие изменения, кажется с версии 4.6 в именовании объектов для модулей. Далее или точнее ранее, открою страшную тайну подпрограмма тоже может вызваться много раз и в разных программах, да и кстати модулей в группе функций действительно может быть много, но вот чтобы они "ВСЕ" были корректно написаны и сгенерированы это как раз не обязательное условие. Для переменных указанных на закладках импорта и экспорта, если установить галку "Переменные значения", то такие переменные тоже могут изменятся в тесте функционального модуля. А дальше, про  IN UPDATE TASK, это вы конечно мощно "отожгли", потому что это просто значит что модуль будет выполнятся в  процессе обновления, но никак не во время когда система будет менее или более загружена. В общем очень как-то печально все... точнее полный ужас...
 
=============================
Ну и собственно сам анекдот:
 
В публичный дом приходит посетитель — стра-а-ашный, аж жуть! Без содрогания сердца на такого и не взглянешь. Но что делать! И мадам отправляет к нему девушку. Через пару минут девушка пулей вылетает из комнаты и буквально слетает по лестнице, на ходу причитая: "Ужас! Ужас! Ужас!".
 
Тогда мадам отправляет к нему вторую девушку. Через минуту-другую сцена повторяется: девица чуть не кубарем слетает с лестницы, шепча в страхе: "Ужас! Ужас! Ужас!"
 
Мадам отправляет к нему третью девушку, но исход тот же: "Ужас! Ужас! Ужас!"
 
Что делать! Желания клиента — закон. И Мадам отправляется к нему сама. Девицы со страхом сгрудились внизу в ожидании того, что же сейчас произойдет. Но проходит две минуты, пять минут, десять, пятнадцать... В конце концов через двадцать минут мадам выходит из комнаты, победоносно спускается по лестнице и обращается к своему трудовому коллективу: "Ну, что?! Ну, да! Ну, ужас! Но не "ужас-ужас-ужас"!" :)

Комментарий от  

Николай Кронский

  |  13 сентября 2013, 15:22

Меня лично не перестают радовать слова разделов "на кого ориентирован" и "качество курса" :)
Читаю колонку с восхищением. Только за ресурс SAP Land немного обидно - я рассчитывал на более серьезные изыскания в колонках. Все-таки, не ЖЖ ...
Роман, если то, что вы публикуете, - это все, что остается после прослушивания темы, то либо надо поменять преподавателя, либо поменять "что-то в консерватории".

Комментарий от  

Олег Точенюк

  |  13 сентября 2013, 17:26

Меня лично не перестают радовать слова разделов "на кого ориентирован" и "качество курса" :)
Читаю колонку с восхищением. Только за ресурс SAP Land немного обидно - я рассчитывал на более серьезные изыскания в колонках. Все-таки, не ЖЖ ...
Роман, если то, что вы публикуете, - это все, что остается после прослушивания темы, то либо надо поменять преподавателя, либо поменять "что-то в консерватории".

Это электронные курсы, там нет преподавателя. Слайды + голос + задания в конце темы или раздела.

Комментарий от  

Олег Башкатов

  |  13 сентября 2013, 20:29

Это электронные курсы, там нет преподавателя. Слайды + голос + задания в конце темы или раздела.

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

Комментарий от  

Олег Башкатов

  |  13 сентября 2013, 20:40

а вообще достаточно смешно наблюдать, как два "как бы абапера", указавшие, что их опыт работы 15 и более лет, обсуждают курс, ориентированный на тех, кто имеет скромное представление об ABAP.
 
напоминает Ералаш
...
- Петров, ты чего в 1ом классе сел; 10е классы на 3м этаже.
- ступай, Щёткина: я у них тут самый умный
...

Комментарий от  

Олег Башкатов

  |  13 сентября 2013, 20:44

а вообще достаточно смешно наблюдать, как два "как бы абапера", указавшие, что их опыт работы 15 и более лет, обсуждают курс, ориентированный на тех, кто имеет скромное представление об ABAP.
 
напоминает Ералаш
...
- Петров, ты чего в 1ом классе сел; 10е классы на 3м этаже.
- ступай, Щёткина: я у них тут самый умный
...

хотя нет,
получается, что этот Ералаш, скорее, преуменьшение, нежели увеличение ситуации.
 
15лет - 6 месяцев > 10 класс - 1 класс

Комментарий от  

Олег Башкатов

  |  13 сентября 2013, 20:53

Это электронные курсы, там нет преподавателя. Слайды + голос + задания в конце темы или раздела.

и еще, Олег Витальевич, там есть интерактивное видео...
надеюсь, Вы понимаете, что это.
 

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

Комментарий от  

Олег Точенюк

  |  14 сентября 2013, 21:02

и еще, Олег Витальевич, там есть интерактивное видео...
надеюсь, Вы понимаете, что это.
 

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

Нет конечно же, не понимаю. Я вам уже это говорил, ранее.

Комментарий от  

Олег Точенюк

  |  14 сентября 2013, 21:13

а вообще достаточно смешно наблюдать, как два "как бы абапера", указавшие, что их опыт работы 15 и более лет, обсуждают курс, ориентированный на тех, кто имеет скромное представление об ABAP.
 
напоминает Ералаш
...
- Петров, ты чего в 1ом классе сел; 10е классы на 3м этаже.
- ступай, Щёткина: я у них тут самый умный
...

Все начинали, но публиковать материал, который содержит чуть ли не в каждом абзаце ошибочную информацию, на профессиональном ресурсе? Впрочем для вас видимо нормально, вы же сами, вместо того чтобы думать просто берете и пишите очередной LSMW по загрузке Заводов/БЕ/Складов... хотя это как то снова на личности, вот Михаила снова расстроим.

Комментарий от  

Олег Башкатов

  |  15 сентября 2013, 00:41

Все начинали, но публиковать материал, который содержит чуть ли не в каждом абзаце ошибочную информацию, на профессиональном ресурсе? Впрочем для вас видимо нормально, вы же сами, вместо того чтобы думать просто берете и пишите очередной LSMW по загрузке Заводов/БЕ/Складов... хотя это как то снова на личности, вот Михаила снова расстроим.

Тем не менее 15 лет - 6 месяцев = 14 лет и 6 месяцев.
 
Ситуация, когда 5курсник комментирует работу второклассника.
От Вас, в принципе, легко ожидаемо.
Хотя, думаю Вас не заставляют читать "второсортные статьи /колонки".
 

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

Комментарий от  

Олег Точенюк

  |  15 сентября 2013, 01:16

Тем не менее 15 лет - 6 месяцев = 14 лет и 6 месяцев.
 
Ситуация, когда 5курсник комментирует работу второклассника.
От Вас, в принципе, легко ожидаемо.
Хотя, думаю Вас не заставляют читать "второсортные статьи /колонки".
 

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

Так вставайте, что ли уже... мне конечно все равно, в какой галоше вы там сидите :-)

Комментарий от  

Олег Точенюк

  |  15 сентября 2013, 01:21

Тем не менее 15 лет - 6 месяцев = 14 лет и 6 месяцев.
 
Ситуация, когда 5курсник комментирует работу второклассника.
От Вас, в принципе, легко ожидаемо.
Хотя, думаю Вас не заставляют читать "второсортные статьи /колонки".
 

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

Что касается работы второклассников, то данный ресурс кажется позиционируется как: Интернет проект SAP Professional Journal Россия, второе слово там кажется что-то связанное с ответственностью за публикуемые тексты? Хотя могу ошибаться в редакционной политике не силен.

Комментарий от  

Олег Башкатов

  |  15 сентября 2013, 01:26

Что касается работы второклассников, то данный ресурс кажется позиционируется как: Интернет проект SAP Professional Journal Россия, второе слово там кажется что-то связанное с ответственностью за публикуемые тексты? Хотя могу ошибаться в редакционной политике не силен.

Нет, Олег Витальевич, в этот раз можете сколько угодно "безосновательно не в тему говорить" - я не буду.

Комментарий от  

Олег Точенюк

  |  15 сентября 2013, 01:34

Нет, Олег Витальевич, в этот раз можете сколько угодно "безосновательно не в тему говорить" - я не буду.

Так я ж говорю вам что иногда полезнее жевать :-) чем писать, но вы уже и так наговорили вагон и тележку, теперь подождем циферки.

Комментарий от  

Пётр Ромащенко

  |  30 апреля 2014, 14:31

Ужас, ужас, ужас - из анекдота можно сказать... Роман, своей колонкой об ABAP, мне даже сложно сказать то ли вы веселите людей, то ли в гоняете в смертную тоску, но то количество, ну скажем так "не соответствий правде", в каждом абзаце просто зашкаливает. Я все понимаю, колонка авторская и т.д. но может перед публикацией будете отдавать кому-то рядом, кто знает ABAP на почитать?
 
SE80 это замечательно, но можно и отдельной функцией SE37, хотя конечно SE80 гораздо нагляднее. Далее из ошибок, имя функционального модуля, согласно новым веяниям, должно начинаться с Z_ или Y_, а иначе вы получаете предупреждение: "Имя функционального модуля находится в области имен SAP.", т.е. гарантии что SAP не использует ваш вариант имени нет. Ну вот такие изменения, кажется с версии 4.6 в именовании объектов для модулей. Далее или точнее ранее, открою страшную тайну подпрограмма тоже может вызваться много раз и в разных программах, да и кстати модулей в группе функций действительно может быть много, но вот чтобы они "ВСЕ" были корректно написаны и сгенерированы это как раз не обязательное условие. Для переменных указанных на закладках импорта и экспорта, если установить галку "Переменные значения", то такие переменные тоже могут изменятся в тесте функционального модуля. А дальше, про  IN UPDATE TASK, это вы конечно мощно "отожгли", потому что это просто значит что модуль будет выполнятся в  процессе обновления, но никак не во время когда система будет менее или более загружена. В общем очень как-то печально все... точнее полный ужас...
 
=============================
Ну и собственно сам анекдот:
 
В публичный дом приходит посетитель — стра-а-ашный, аж жуть! Без содрогания сердца на такого и не взглянешь. Но что делать! И мадам отправляет к нему девушку. Через пару минут девушка пулей вылетает из комнаты и буквально слетает по лестнице, на ходу причитая: "Ужас! Ужас! Ужас!".
 
Тогда мадам отправляет к нему вторую девушку. Через минуту-другую сцена повторяется: девица чуть не кубарем слетает с лестницы, шепча в страхе: "Ужас! Ужас! Ужас!"
 
Мадам отправляет к нему третью девушку, но исход тот же: "Ужас! Ужас! Ужас!"
 
Что делать! Желания клиента — закон. И Мадам отправляется к нему сама. Девицы со страхом сгрудились внизу в ожидании того, что же сейчас произойдет. Но проходит две минуты, пять минут, десять, пятнадцать... В конце концов через двадцать минут мадам выходит из комнаты, победоносно спускается по лестнице и обращается к своему трудовому коллективу: "Ну, что?! Ну, да! Ну, ужас! Но не "ужас-ужас-ужас"!" :)

Олег, не судите строго - пусть цветут все цветы.
Вероятно, все указанные вами ошибки и впрямь допущены, и не исключено даже, что они существенны, и, тем не менее, аудитория есть и у этого материала: это я, к примеру. Я функциональщик, попавший в SAP из предметной области (бухгалтерия), и за несколько лет, к стыду своему, так ABAP и не освоивший, по причине отсутствия базовых навыков в программировании (ну и лени, разумеется, куда же без неё). Соответственно, эта статья - аккурат для таких, как я, пусть наше число и невелико, и лично я автора вопреки потоку критики (возможно, справедливой) поддержу

Комментарий от  

Олег Точенюк

  |  01 мая 2014, 12:42

Олег, не судите строго - пусть цветут все цветы.
Вероятно, все указанные вами ошибки и впрямь допущены, и не исключено даже, что они существенны, и, тем не менее, аудитория есть и у этого материала: это я, к примеру. Я функциональщик, попавший в SAP из предметной области (бухгалтерия), и за несколько лет, к стыду своему, так ABAP и не освоивший, по причине отсутствия базовых навыков в программировании (ну и лени, разумеется, куда же без неё). Соответственно, эта статья - аккурат для таких, как я, пусть наше число и невелико, и лично я автора вопреки потоку критики (возможно, справедливой) поддержу

На одном открывшемся автопреприятии, когда стали набирать штат, писали одним из ограничений: "без опыта работы в автопроме". Как вы думаете почему? Я думаю потому что научить с чистого листа как правильно, проще, чем переучить наученного делать не правильно. Так и тут, в этой статье вы прочитаете, запомните и потом выбить из вас эти не правильные знания будет, к сожалению, не реально. Поэтому не надо про пусть цветут. Чем так, лучше уже никак, вам же потом с этим работать, точнее другим с тем что вы напишете.
 
Что касается вообще программирования, то для начала неплохо бы почитать вообще о принципах работы абстрактных программ, хотя если честно я такой книги не встречал, ну чтобы с нуля.. хотя нет, была такая книжка: Мартузан Б.Я.
"Как Петя Бейсиков Тоню Соображалкину программировать учил", вот как по мне, то для тех кто вообще никогда нигде не программировал, она будет в самый раз. К сожалению про скачать я ее не видел, а свой экземпляр потерял лет 20 назад :-(.

Комментарий от  

Олег Башкатов

  |  01 мая 2014, 19:54

На одном открывшемся автопреприятии, когда стали набирать штат, писали одним из ограничений: "без опыта работы в автопроме". Как вы думаете почему? Я думаю потому что научить с чистого листа как правильно, проще, чем переучить наученного делать не правильно. Так и тут, в этой статье вы прочитаете, запомните и потом выбить из вас эти не правильные знания будет, к сожалению, не реально. Поэтому не надо про пусть цветут. Чем так, лучше уже никак, вам же потом с этим работать, точнее другим с тем что вы напишете.
 
Что касается вообще программирования, то для начала неплохо бы почитать вообще о принципах работы абстрактных программ, хотя если честно я такой книги не встречал, ну чтобы с нуля.. хотя нет, была такая книжка: Мартузан Б.Я.
"Как Петя Бейсиков Тоню Соображалкину программировать учил", вот как по мне, то для тех кто вообще никогда нигде не программировал, она будет в самый раз. К сожалению про скачать я ее не видел, а свой экземпляр потерял лет 20 назад :-(.

Отличный пример с автопромом!!! Где он сейчас?

Комментарий от  

Олег Башкатов

  |  01 мая 2014, 20:12

Отличный пример с автопромом!!! Где он сейчас?

Он - пример, автопредприятие)))

Комментарий от  

Олег Точенюк

  |  01 мая 2014, 21:47

Он - пример, автопредприятие)))

Да работало, но году кажется в 2011 остановили, так как кризис однако. Кстати денег в него было вложено вагон, сборка была почти по полному циклу была.

Комментарий от  

Олег Точенюк

  |  01 мая 2014, 21:47

Да работало, но году кажется в 2011 остановили, так как кризис однако. Кстати денег в него было вложено вагон, сборка была почти по полному циклу была.

Да там под SAP-ом крутилось учет весь.