5.Создание таблицы в SAP

 

В этой статье создадим таблицу  Staff. Следует понимать, что здесь мы создаем так называемую прозрачную таблицу Transparent Table, содержащую метаданные. Как только создана и активирована прозрачная таблица в репозитарии Repository, сразу же создается такая же таблица в базе данных, которая будет содержать уже реальные бизнес данные. Итак транзакция SE11. Переключаем радиокнопку на таблицу и вводим имя нашей таблицы.

image_38

Нажимаем создать.

Появляется экран (если поля обязательные, то перейти на другой экран не получится), где заполняем необходимые атрибуты таблицы. Кстати поля обязательные для заполнения отмечены галочкой. Не забываем использовать средства поиска. Вводим краткое описание таблицы. При выборе Delivery Clas, мы сможем использовать не все. В основном нас будут интересовать Application Table и Customizing Table.  В качестве Delivery Class указываем Application Table, т.е таблица которая будет содержать мастер данные и транзакционные данные.

image_39

image_39-1

Параметр Data Browser/Table View Maint. определяет каким образом смогут отображаться и вноситься данные в эту таблицу. Display/Maintenance Allowed with Restrictions позволит просматривать данные этой таблицы с помощью транзакции SE16, но не вносить данные, заполнять таблицу при таком ограничении можно с помощью Maintenance Dialog. В нашем случае укажем Display/Maintenance Allowed.

image_39-2

image_40

Переходим на вкладку поля и заполняем их. Т.к это будут Application данные, то обязательным первым полем будет поле Манданта.

image_41

Нажимаем Ввод и видим как перенеслась информация из наших элементов данных.

image_42

Сохранили таблицу и переходим на вкладку Технические настройки Technical Settings.

image_43

Заполняем обязательные поля. Data Class определяет насколько часто будет меняться таблица, Size category определяет размер, также есть настройки для буферизации. Это необходимо для оптимизации работы сервера, для каких-то технических настроек, для буфиризации (Буферизация определяет будет ли таблица считываться с жесткого диска или с оперативной памяти). 

image_44

image_44-1

image_44-2

Нажимаем Save  и возвращаемся назад F3.

image_44-3

Укажем в таблице какие поля будут ключевыми, для этого в столбце Key отметим нужные галочки и сохраним таблицу. Также перед активацией таблицы проверим ее на корректность, нажав клавишу Check.  Это можно было сделать при активации но Check отработает быстрее.

image_45

Проверка выявила ошибку.

image_46

Изменим поле Position на Staff_Position.

image_47

Сохраняем и активируем. Выскочило предупреждающее окно.

image_48

Нажимаем YES.

image_49

Предупреждения не ошибки так что все в порядке. Нажимаем Back(F3).

image_50

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

image_51

Создадим все остальные наши таблицы. Аналогичным образом создаем таблицы Customer, Order, Supplier, Supply. Для их создания необходимо было создать несколько дополнительных доменов и элементов данных.

image_52

image_53

image_54

Для создания таблицы Products  создадим дополнительный домен и элемент данных ZKRE_COST. В качестве типа данных Data Type для домена будем использовать предопределенный в SAP тип CURR.

image_55

image_56

Все теперь можно приступить к созданию таблицы Products. Заполняем атрибуты.

image_57

Заполняем поля и отмечаем какие из них будут ключевыми.

image_58

Сохраняем таблицу. И при нажатии Check у нас имеются ошибки.

image_59

На экране редактирования таблицы на вкладке Currency/Quantity Field необходимо указать ссылочную таблицу. В качестве ссылочной таблицы укажем таблицу TCURC.

image_60

Вернемся к нашей таблице продуктов и перейдем на вкладку Currency/Quantity Field. И заполним строки в столбцах Reference table Ref. Field.

image_61

image_62

Также заполним технические настройки для этой таблицы.

image_63

Еще раз сохраняем и активируем таблицу. Свяжем созданные ранее таблицы внешними ключами. Для этого зайдем в режим редактирования таблицы Order. Поле PROD_ID является внешним ключем таблицы Products. Отмечаем поле PROD_ID и нажимаем Foreign Keys.

image_64

Появилось такое окно, где необходимо будет указать проверочную таблицу, т.е таблицу из которой мы будем вводить ID. Нажимаем кнопку Generate Proposal.

image_65

Система сама подставила нужные значения. Нажимаем Copy.

image_66

В строке статуса видим сообщение что ключ успешно перенесен. Сохраняем и активируем таблицу.

Нажав Graphic (Ctrl+Shift+F11)  можно увидеть графическую модель таблиц.

image_67

image_68

Проделаем такую же процедуру для STAFF_ID и CUST_ID.

image_69

Все внешние ключи для таблицы Order заданы. Зададим все внешние ключи для остальных таблиц.

Используя транзакцию SE16 или SE16n, мы сможем просматривать и наполнять наши таблицы. Просмотрим например таблицу ZKRE_STAFF.

image_69-1

В этой транзакции имеется панель инструментов для просмотра контента таблицы F7, добавления новых записей F5. Кстати добавление новых записей через эту транзакцию возможно благодаря тому, что во время создании таблицы мы указали параметр Data Browser/Table View Maint - Display/Maintenance Allowed.

Нажав F7 попадаем на экран выбора Selection Screen, где можно ограничить выборку по каким-либо критериям. Нажимаем F8.

image_69-2

Кстати поставив курсор на поле FIRST_NAME и нажав F1 можно увидеть нашу документацию для этого элемента данных.

image_69-2-1

Появился экран с отображением контента. Добавим запись нажав F5.

image_69-3

image_69-4

Введем данные и нажимаем Save.

image_69-5

В строке статуса видно, что данные успешно сохранены.

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

image_69-6

Таблицы созданы, их можно наполнить данными через SE16. Теперь создадим текстовую таблицу для таблицы Products, как это сделать см. следующую статью- http://fibed.net/9/.

Комментарии

  • Рустам
    Рустам

    Спасибо большое автору. Очень помогло)

    on 09.12.2013 08:44
  • Александра
    Александра

    Огромное спасибо за цикл статей. все очень понятно и доходчиво объяснено.

    on 12.12.2014 13:48
  • Алексей
    Алексей

    Что-то не разобрался с таблицей Supply. В уроке про нее говорится: "Аналогичным образом создаем таблицы Customer, Order, Supplier, Supply." Какие поля в этой таблице Supply? Что-то про нее в уроке совсем ничего нет. Подскажите, какие в ней поля?

    on 02.02.2015 11:59
  • Елена
    Елена

    Подскажите, почему я не могу вносить данные в созданные таблицы, хотя их ведение разрешено?

    on 17.06.2015 20:46
    R K
    R K

    Каким образом вы пытаетесь вносить данные в таблицы? При создании таблицы 4-я картинка сверху, вы установили Display Maintenance Allowed?

    on 18.06.2015 11:02
    Елена
    Елена

    Да. Все по инструкции.

    on 18.06.2015 15:52
    R K
    R K

    Если по инструкции, то все должно работать:). Так как же вы вносите данные (транзакция и т.д)?

    on 19.06.2015 13:27
  • Антон
    Антон

    Добрый день.
    Скажите, а откуда вы взяли таблицу TCUR? Ее в триальной версии дистрибутива нет.

    on 18.01.2016 16:19
    Антон
    Антон

    Сори, нашел:)

    on 18.01.2016 16:46
  • aav
    aav

    Здравствуйте!

    Не могли бы Вы более подробно описать взаимосвязь таблиц между собой. Я имею ввиду, какая таблица с какой должна быть связана? В уроке 15 в комментариях я нашел информацию, что таблица ZKRE_SUPPLY связана с таблицей ZKRE_PRODUCTS, но хотелось бы более подробного пояснения.
    Спасибо за Ваш труд!

    on 14.12.2016 13:37
    Александр Вахнин
    Александр Вахнин

    http://fibed.net/2014/03/13/3-ya-programma-v-sap-rabota-s-include-i-formami-form/

    в комментариях расписано

    on 14.12.2016 14:34
    RK
    RK

    Сорри, но сейчас уже тяжеловато вспомнить, что с чем связано. Да и на самом деле это не важно для обучения, вы можете связать таблицы на свое усмотрение :)

    on 15.12.2016 05:50

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