2.Создание пакета и транспортного запроса в SAP

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

image_1

Графический интерфейс пользователя — клиент в трехуровневой архитектуре SAP R/3. Интерфейс SAP GUI реализован на основе Windows Style Guide, стандартов EG 90/270 и ISO9241, определяющих эргономику интерфейсов. SAP GUI является универсальным клиентом SAP для доступа к функциям SAP приложений, таких как SAP - SAP ERP, SAP Business Suite (SAP CRM, SAP SCM и SAP PLM), SAP Business Intelligence и так далее. SAP GUI функционирует как браузер. Он получает информацию с сервера, чтобы отобразить содержимое в своем окне. Все члены семейства SAP GUI имеют уникальные свойства, которые делают их особенно подходящими для различных пользовательских сред. На данный момент реализованы интерфейсы для Windows, Unix, MacOS. В настоящий момент очень широкое распространение получает технология Web Dynpro, позволяющая для отображения информации использовать обычный браузер.

Появляется окно входа. Для входа в систему используем стандартного пользователя BCUSER и пароль который установили во время установки, а также Clien (Мандант) 001

Система R/3 является системой, поддерживающей концепцию мандантов. Концепция мандантов позволяет нескольким разным, не зависящим друг от друга предприятиям выполнять совместные операции в одной системе. При каждом пользовательском сеансе возможен доступ только к данным манданта, выбранного при регистрации в системе. Таким образом, SAP R/3 позволяет вести учет нескольким разным предприятиям в одной системе R/3.
Мандант - это организационно независимая часть в системе R/3. Каждый мандант имеет собственную среду данных, т.е. собственные основные и переменные данные, присвоенные основные записи пользователей, планы счетов и специфические параметры настройки. Номер манданта находится в диапазоне от 000 до 999.
Технически мандант организован как дополнительное ключевое поле в таблицах базы данных.

Кроме параметров настройки для определенного манданта, т.н. мандантозависимые настройки,  существуют также мандантонезависимые настройки, устанавливаемые один раз для всех активных мандантов. К таким общим для всех мандантов параметрам настройки относятся, например, настройки принтеров.
Репозитарий также является независящим от манданта объектом. Он содержит все объекты словаря (таблицы, элементы данных и домены), а также ABAP-программы, меню, экраны и т.п.
Вследствие того, что объекты репозитария являются общими для всех мандантов, разработанный в каком-либо манданте объект будет идентичным во всех мандантах этой системы.

Для обеспечения системной целостности при разработке рекомендуется сформировать системный ландшафт, состоящий из трех систем:
   1.  Система для разработки и настройки. В этой системе ведется  разработка программ, специфичных для предприятия, а также выполнение необходимой пользовательской настройки. Поскольку объекты репозитария являются общими для всех мандантов, система разработок не может одновременно использоваться для продуктивной эксплуатации. Это был бы слишком большой риск в плане нарушения целостности данных.
   2. Система для тестирования разработок. Все параметры пользовательской настройки, а также изменения репозитария (разработки, корректировки или модификации) переносятся в систему обеспечения качества (или "тестовую систему") для их проверки без связи с продуктивной эксплуатацией.
   3. "Продуктивная" система для производственной эксплуатации.  Все объекты и настройки, импортированные в тестовую систему и прошедшие тестирование, могут быть затем перенесены в одну или несколько продуктивных систем.

Трехсистемный ландшафт позволяет также тестировать обновления и помогает минимизировать время простоя во время обновления продуктивной системы

С началом нового проекта разработок в рамках проекта внедрения, руководитель проекта создает запрос на изменение и назначает разработчиков -  членов проектной группы. Организатор переносов присваивает запросу на изменение определенный номер (например, C11K900001). Запрос на изменение должен содержать логически взаимосвязанные изменяемые объекты, так как в дальнейшем в тестовую и затем в продуктивную систему будет переноситься запрос целиком вместе со всеми разработками, содержащимися в запросе. Таким образом, запросы на изменение позволяют осуществлять перенос и управление логически завершенными разработками.
Каждый раз, когда разработчик изменяет или добавляет объект репозитария, необходимо выбрать для этого изменяемого объекта класс разработок. Класс разработок представляет собой укрупненную тему проекта и предназначен для объединения логически связанных разработок. Например, может быть класс разработок для объединения приложений по финансам, сбыту и т.д.
Далее система запрашивает номер запроса, в который следует поместить объект. Автоматически для данного разработчика создается задача в рамках выбранного запроса, в которую помещается ссылка на изменяемый объект. Таким образом, каждый разработчик собирает в своих задачах все объекты, которые он создал или которые подверглись с его стороны модификации.
Если какой либо другой разработчик выберет тот же запрос для своих объектов, для него в пределах этого запроса будет создана задача, в которую будут помещены ссылки на измененные или созданные им объекты.
Таким образом, запрос объединяет усилия нескольких разработчиков для решения какой либо логически законченной задачи. При завершении своей части проекта разработок каждый участник проектной группы деблокирует свою задачу, после чего объекты задачи передаются в запрос на изменение. Запрос на изменение объединяет все объекты репозитария, которые были созданы или изменены в ходе проекта разработок.
После деблокирования всеми участниками группы своих задач руководитель проекта может деблокировать запрос на изменение, который затем может быть импортирован в систему тестирования. Параметры пользовательской настройки регистрируются точно таким же образом.
Изменения в репозитарии разделяются на три большие группы: разработки, расширения и модификации.
Клиенты могут добавлять в репозитарий свои собственные разработки.   Все разработки клиента выполняются с использованием области имен для клиента. Это значит, что все объекты, созданные клиентом, имеют имена, соответствующие определенной области имен. Например, ABAP-программы клиента должны начинаться с символов Y или Z, а функциональные модули – с символов Y_ или Z_.
Кроме того, клиенты могут добавлять так называемые "расширения клиента" - объекты клиента, добавляемые к существующим объектам в стандартной системе SAP. Клиенты добавляют свои расширения через так называемые customer exit'ы ("выходы в программы клиента").   
Модификации изменяют такие объекты SAP, как отчеты и определения таблиц. Репозитарий, поставляемый SAP, может быть не только расширен, но и изменен. Именно поэтому модификации могут потребовать адаптации в соответствии с новым репозитарием, инсталлированным в ходе последнего обновления системы SAP.

Используя транзакцию SE80, перейдем в навигатор объектов Object Navigator . Название говорит само за себя, с помощью этой транзакции, мы получаем быстрый доступ ко всем объектам системы. Транзакция SE80 - основная транзакция для разработчика.

 

Попадаем в навигатор объектов.

 

Для группировки(структуризации) наших объектов разработки cоздадим пакет Package. В процессе создания различных объектов системы будем применять названия из определенной области имен-namespace ZKRE*. Пакет можно создать с помощью транзакции SE21 или через SE80(мы воспользуемся именно SE80) Из выпадающего списка выбираем Package, вводим название пакета ZKRE_PRO1 и нажимаем кнопку Dispaly.

Появилось диалоговое окно, где система предлагает создать пакет.

image_5

Нажимаем YES, после чего появляется следующее окно.

image_6

Вводим необходимые атрибуты и нажимаем Enter. Для полей Application Component, Software Component, Transport Layer доступно средство поиска - Search Help нажатием клавиши F4. В стандартном девелопменте SAP, когда он сам ведет разработку очень важно указывать Application Component (влияет на хелп, на поиск и т.д), в нашем случае Z-девелопменте можно было бы ничего не указывать, но по правилам хорошего тона приассайним что-то типа AP. Поле Software Component опять таки важно для стандартной разработки, в нашем случае укажем HOME, что означает, что этот объект не покинет эту систему. Transport Layer выбираем ZNSP. Для Package Type выбираем Not a Main Package.  Нажимаем Ввод и переходим к следующему диалоговому окну,  где нам необходимо ввести номер нашего транспортного запроса, который еще не создан.

image_7

Если воспользоваться средством поиска увидим экран на котором нет ни одного запроса для юзера BCUSER.

image_7-1

Запрос можно было создать заранее используя транзакцию SE10, но можно создать прямо сейчас нажав  кнопку Create (F8).

image_7-2

Появляется окно, где необходимо ввести краткое описание для запроса.

Нажимаем Сохранить(Save). После того как запрос создан, система отобразит его техническое имя.

image_9

Где виден номер только что созданного запроса (может отличаться от вашего). Нажимаем Enter и на этом все - наш пакет создан(он отобразился в навигаторе объектов).

image_10

Используя транзакцию SE10 можно посмотреть что у нас получилось.

image_11

Нажимаем кнопку Display. И видим созданный нами запрос и пакет.

image_12

Раскрыв дерево увидим что там уже имеется наш пакет. В дальнейшем все наши создаваемые объекты мы будем помещать в только что созданный пакет и запрос.

image_13

Теперь можно приступать к созданию таблиц нашего магазина, но для этого необходимо создать соответствующие домены и элементы данных. Сделаем это в следующей статье http://fibed.net/7/.

 

Комментарии

  • Дмитрий
    Дмитрий

    Класс!. Все понятно. Я начал что - то понимать. Спасибо

    on 21.11.2013 21:49
    R K
    R K

    Чтож, если это так, я рад)), что эти статьи действительно полезны!

    on 23.11.2013 14:39
  • Леонид
    Леонид

    Спасибо за труд. Информации на русском по SAP мало, а надо.

    on 01.07.2015 11:27
  • Антон
    Антон

    Спасибо за уроки:)
    Возник вопрос:
    Вы вот написали "Transport Layer выбираем ZNSP", а когда мы его создали?
    У меня кроме Transport Layer SAP другого нет...

    on 07.10.2015 11:58
    RK
    RK

    Ох давно это было:) Все примеры делались в SAP NetWeaver AS ABAP 7.02 SP6 64-bit Trial, я ZNSP не создавал, он там уже был, нажатие F4 не помогает?. Transport layer это Zxxx (xxx=System ID системы, в моем случае это NSP). Если делали все step-by-step, то у вас тоже все должно быть. В любом случае, для тренировок(если вы не собираетесь переносить объекты разработок из одной системы в другую), абсолютно не важно какой transport layer, можно вообще не создавать пакет, а использовать $TMP.

    on 07.10.2015 22:43
  • Михаил
    Михаил

    а если требуется перенести наработки в другую систему, какой софтваре компонент надо выбрать?

    on 28.12.2015 09:36
    RK
    RK

    Не уверен, что в триальной версии доступны какие-либо другие компоненты кроме HOME, https://help.sap.com/saphelp_nw70ehp2/helpdata/en/ef/f43220b19b11d596c100a0c94260a5/content.htm.

    on 29.12.2015 03:21

Чтобы оставить комментарий, необходимо Войти или Зарегистрироваться.