Текущее время: Ср, июл 30 2025, 21:57

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 29 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Многомерные массивы в ABAPе
СообщениеДобавлено: Вт, авг 25 2009, 14:30 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
Цитата:
А что такое "обёртки на классах"?

Не обязательно на классах(если Вам сложно), можете использовать макросы DEFINE или подпрограммы FORM, как написал sy-uname это просто для читабельности, для удобства.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Многомерные массивы в ABAPе
СообщениеДобавлено: Вт, авг 25 2009, 14:34 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
Цитата:
Или Вы предлагаете создавать N структур для работы с матрицами различных размерностей (зависит от кол-ва столбцов)?

Думаю что многие создавали таблицы динамически с помощью CALL METHOD CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE, в чем проблема сделать структуру?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Многомерные массивы в ABAPе
СообщениеДобавлено: Вт, авг 25 2009, 14:38 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, окт 03 2008, 17:20
Сообщения: 162
Besa написал:
Думаю что многие создавали таблицы динамически с помощью CALL METHOD CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE, в чем проблема сделать структуру?

И не сомневаюсь. :) Только вот на сколько это быстродейственно? И что делать при расширении кол-ва столбцов матрицы ( случай расширения векторного пространства)? Прийдется переписывать все значения в новую таблицу.

_________________
В SAPе есть всё, просто вы чего-то не нашли.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Многомерные массивы в ABAPе
СообщениеДобавлено: Вт, авг 25 2009, 14:56 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Вт, май 17 2005, 13:35
Сообщения: 4871
Откуда: Москва
Пол: Мужской
Если человек очень хорошо умеет работать молотком, то ему начинает казаться, что все окружающее является гвоздями (копирайт не помню кто).

Если серьезно, для каждой задачи свой инструмент. Нужно реализовать бизнес-логику в SAP - используйте ABAP
Нужен инструмент для работы с матрицами - используйте математические пакеты и их встроенные языки программирования (matlab, mapl и т.п.) Там все типовые операции над матрицами уже реализованы до вас.
http://ru.wikipedia.org/wiki/MATLAB

_________________
Удача - результат нашего желания (© А. Нортон)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Многомерные массивы в ABAPе
СообщениеДобавлено: Вт, авг 25 2009, 15:06 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, окт 03 2008, 17:20
Сообщения: 162
LKU написал:
используйте математические пакеты и их встроенные языки программирования

А как потом все это "подсчитанное добро" интегрировать в SAP? Если у Вас уже был подобный опыт - поделитесь :)

Минутой позже... Это значит, что у клиента на каждом терминале должен стоять соответствующие мат.приложение (Matlab, MatchCAD), которое требует лицензию. Сомневаюсь, что автору темы подойдет такое решение.

_________________
В SAPе есть всё, просто вы чего-то не нашли.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Многомерные массивы в ABAPе
СообщениеДобавлено: Вт, авг 25 2009, 15:23 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Пн, окт 11 2004, 20:32
Сообщения: 2470
Пол: Мужской
ivan_okunev написал(а):
int x = 0; // две переменные для хранения координат игрока
int map[15][20]; // массив для хранения игровой карты

Что то мне подсказывает что задача автора с бизнес-логикой слабо связана

_________________
- Может ли настоящий мастер кунг-фу получить по морде?
- Настоящий мастер может все!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Многомерные массивы в ABAPе
СообщениеДобавлено: Вт, авг 25 2009, 15:26 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, окт 03 2008, 17:20
Сообщения: 162
ArmAnn написал:
Что то мне подсказывает что задача автора с бизнес-логикой слабо связана

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

_________________
В SAPе есть всё, просто вы чего-то не нашли.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Многомерные массивы в ABAPе
СообщениеДобавлено: Вт, авг 25 2009, 15:41 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
SYS написал(а):
ArmAnn написал:
Что то мне подсказывает что задача автора с бизнес-логикой слабо связана

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

Лабу(или курсовик) сдавать надо будет полюбому. С опытом или без.

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Многомерные массивы в ABAPе
СообщениеДобавлено: Вт, авг 25 2009, 16:36 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Вт, май 17 2005, 13:35
Сообщения: 4871
Откуда: Москва
Пол: Мужской
По-моему, из первого поста этой темы с вероятностью 99% видно, что автор топика - студент и задача его учебная. Вот я и советую при наличии возможности поменять инструменты.

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

_________________
Удача - результат нашего желания (© А. Нортон)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Многомерные массивы в ABAPе
СообщениеДобавлено: Вт, авг 25 2009, 16:49 
Начинающий
Начинающий

Зарегистрирован:
Вт, авг 25 2009, 12:46
Сообщения: 4
Полная постановка задачи.

Сеть дистрибуторов. Заявки на закупку от филиалов (около 30 филиалов) в центральный офис. В центральном офисе постоянных 40 поставщиков (скидки , бонусы и т.п.) Цены у поставщиков, естественно, разные. Плюс ТЗР от поставщика на филиал. Более того. Часто поставщик не может поставить больше определённого количества (производственные, технологические проблемы). И заявку надо перераспределить на другого поставщика. Или, с поставщиком заключён договор, что у него возьмут не меньше определённго количества (для скидок). Вот и надо распределить поставщиков по филиалам и по материалам с минимальными затратами (стоимостью) на закупку. Ясное дело (я по специальности бывший математик) это симплекс метод. То бишь задача ЛИНЕЙНОГО программирования. Здесь без матриц, векторов и всяческих преобразований не обойтись.

Причём, какое количество переменных в целевой функции (линейный функционал) и какое количество неравенств должно быть, можно выяснить только после получения всей информации от филиалов: чего, сколько и кому надо.

И если внутренние таблицы ABAPа допускают любое количество в системе неравенств, то вот как определить количество элементов структуры (столбцов матрицы) для меня вопрос. Т.е. насколько я понимаю, это динамическое программирование.
Ну и следующий вопрос, как добиться легко-понятного (визуально) что я обратился именно к элементу A(i,j,k) в циклах по i, j и k.
Для информации: i - это филиал, j - это требуемый этому филиалу материал, k - это поставщик этого самого материала.

Вот какие пироги.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Многомерные массивы в ABAPе
СообщениеДобавлено: Вт, авг 25 2009, 17:03 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
ivan_okunev написал(а):
Полная постановка задачи.

...
И если внутренние таблицы ABAPа допускают любое количество в системе неравенств, то вот как определить количество элементов структуры (столбцов матрицы) для меня вопрос. Т.е. насколько я понимаю, это динамическое программирование.
Ну и следующий вопрос, как добиться легко-понятного (визуально) что я обратился именно к элементу A(i,j,k) в циклах по i, j и k.
Для информации: i - это филиал, j - это требуемый этому филиалу материал, k - это поставщик этого самого материала.

Вот какие пироги.

Зачем Вам вся эта геометрия? Столбцы, Строки, Уровни?
Используйте одну таблицу, почти как Вам советовал SYS, только обращайтесь к элементу не по индексу, а по ключу (ФИЛИАЛ МАТЕРИАЛ ПОСТАВЩИК): READ TABLE WITH KEY i = i j = j k = k.
Вы же, как бывший математик, должны уметь выполнять подобные преобразования.

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Многомерные массивы в ABAPе
СообщениеДобавлено: Вт, авг 25 2009, 17:38 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Вт, май 17 2005, 13:35
Сообщения: 4871
Откуда: Москва
Пол: Мужской
ivan_okunev, а вы пробовали симплекс-метод запрограммировать самостоятельно? Я пробовал на 5 курсе, на дельфи это заняло месяца полтора (правда, с визуализацией промежуточных результатов алгоритма и отбором только целочисленных значение результатов по методу Ленд и Дойг). На абапе будет еще дольше.

Так что в вашей постановке задачи очень даже имеет смысл задуматься об интеграции с внешним математическим пакетом где симплекс-метод давно реализован.
Или смотреть функуиональность APO, она для этого по идее и предназначена.

_________________
Удача - результат нашего желания (© А. Нортон)


Последний раз редактировалось LKU Ср, авг 26 2009, 12:19, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Многомерные массивы в ABAPе
СообщениеДобавлено: Ср, авг 26 2009, 10:10 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
Мне кажется, что для общего случая многомерных массивов с неопределенным количеством элементов, удобней использовать вложенные внутренние таблицы.

_________________
"For all entries" не в SAP-ах, "for all entries" в головах! :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Многомерные массивы в ABAPе
СообщениеДобавлено: Ср, авг 26 2009, 16:01 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, сен 10 2008, 11:30
Сообщения: 95
Посмотрите Help по SAP RFC API, с помощью него можно за пару минут подключить к САПу любую С/С++ прогу и вызывать потом в АВАПе Сишные процедуры как обычные RFC функции.
Есть еще такая штука Kernel Methods, но это уже экстремально :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 29 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB