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

«Ко­рре­кти­ро­вка таблиц базы данных с помощью ABAP»
Олег Точенюк:
Андрей а вам никто никогда не говорил, что обновлять таблицы базы данных SAP категорически запрещено, независимо от того чем обусловлены такие желания. Свои Z-таблицы, да сколько угодно, но......
«Тра­нза­кция SM02: сообщения в SAP системе»
Олег Башкатов:
С помощью ФМ TH_POPUP можно отправить сообщение конкретному пользователю :-)
«MVC или как писать отчеты быстро и просто»
Олег Точенюк:
>>"Самое главное - это расположить инклуды с моделью и представлением до инклуда с контроллером"   А может проще написать в начале что-то типа: CLASS: <имя> DEFINITION...

База знаний

Перенос комплексных типов данных с помощью RFC

838

Ключевое понятие

Для определения комплексной структуры данных в исходной системе можно разработать общий подход с разложением структуры на несколько экземпляров простых типов данных в четко заданной последовательности для отправки в целевую/принимающую систему. Далее выполняется сборка этих экземпляров в полную структуру данных.

При взаимодействии двух систем SAP структура данных должна быть синхронизирована. Иногда эта структура данных является комплексной структурой из вложенной таблицы/структуры и элементов данных. Как правило, определение комплексной структуры данных жестко закодировано в обеих системах, и чтобы выполнить перенос данных с таким определением структуры требуются программы с жестким кодом.

Для более сложных типов структур данных требуются более зависящие от структуры данных программы. Это делает процесс разработки негибким, затратным по усилиям и неэффективным. Поскольку определение простых типов данных можно передать из исходной системы в целевую с помощью общего программирования, вы можете разложить определение комплексной структуры данных на несколько экземпляров простых типов данных в заданной последовательности. В каждом экземпляре в целевую систему передается определение простого типа данных. В целевой/принимающей системе вы снова собираете эти определения типов данных в комплексную структуру данных согласно установленной последовательности.

Такой метод значительно повышает эффективность кода при разработке интерфейсов и не вызывает в будущем трудностей при сопровождении.

Давайте определим комплексный тип данных. Под этим я имею в виду вложенную структуру данных, показанную на рис. 1.

Рис. 1. Определение комплексной структуры ts_rec

Тип TS_COMP — это структура, которая состоит из четырехзначного признака compcode и string loc. Структура type ts_rec состоит из имени строки, структуры типа TS_COMP и члена таблицы типа uja_t_dim_member.

Чтобы лучше понять комплексный тип структуры данных ts_rec, визуализируем его. Я объявляю таблицу dt_rec, которая относится к типу структуры ts_rec. Далее я заполняю таблицу DT_REC двумя записями. Теперь она выглядит как в режиме отладки на рис. 2.

Рис. 2. Таблица DT_REC, определенная как таблица с типом структуры TS_REC

Дважды щелкните по DT_REC (рис. 2). Откроется экран, показанный на рис. 3. Теперь таблица отображается с подробными данными двух записей (рис. 3).

Рис. 3. Подробные данные двух записей

В поле в столбце Name [строка] указано значение Simulation. Поле в столбце COMP [глубокая структура] является структурой. Поле в столбце MEMBER [внутренняя таблица] является таблицей, поэтому следует развернуть поле COMP первой записи, дважды щелкнув Structure: deep в первой строке. Появятся подробные данные, как показано на рис. 4. На экране вы видите поля и соответствующие значения для структуры COMP первой записи.

Рис. 4. Значение структуры VCOMP первой записи

Поля и соответствующие значения для структуры COMP второй записи показаны на рис. 5.

Рис. 5. Значение структуры COMP второй записи

На рис. 6 представлены значения для члена первой записи. Как видно на рис. 3, MEMBER является третьим полем структуры. MEMBER — это таблица из двух записей, представленная на рис. 6. Я присвоил значение MBR_11 в виде первой записи таблицы MEMBER, а значение MBR_12 в виде второй записи таблицы MEMBER.

Вы хотели бы увидеть полную версию статьи?

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

Если вы хотите подписаться на журнала SAP Professional Journal, пожалуйста, обратитесь в редакцию или сделайте заказ на сайте.

Правила получения тестового доступа к статьям SAP Professional Journal

Функциональная область: Информационные технологии / IT, Basis, ABAP
Ролевое назначение: SAP Консультант / Consultant

Любое воспроизведение запрещено.
Копирайт © «Издательство ООО «Эксперт РП» Copyright © 2010 Wellesley Information Services. All rights reserved.