Текущее время: Сб, июл 19 2025, 13:16

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




Начать новую тему Ответить на тему  [ Сообщений: 8 ] 
Автор Сообщение
 Заголовок сообщения: Пакетный ввод классов.
СообщениеДобавлено: Чт, июл 31 2008, 11:55 
Ассистент
Ассистент

Зарегистрирован:
Пн, июн 16 2008, 10:34
Сообщения: 35
Доброго дня, коллеги.
Пытаюсь ввести пакетным вводом классы (несколько тысяч) у которых количество значений признаков изменяется.
Например в классе К1 признак П1 имеет значения 20, 30, 40, а в К2 этот же признак имеет всего одно значение. Т.е. в первом случае нужно вводить три раза, а во втором - один.Трудность в том, что пакетник формируется только на одно значение признака. Т.е. классы заранее группируем. Одна группа - классы у которых признак вводиться один раз, вторая - признак вводиться два раза и т.д.Делается столько пакетников сколько групп.Помоему это неправильно:-).Отсюда вопросы:
1) Можно ли при пакетном вводе реализовать циклы в зависимости от класса (тогда в документе, из которого скармливается информация в пакетник надо проставлять число циклов для каждого признака?).
2) Как еще можно реализовать ввод классов с переменным количеством значений признаков?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, июл 31 2008, 13:26 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, авг 24 2004, 07:19
Сообщения: 3952
Откуда: ECC 6.0, South Kazakhstan
Попробуй закачать с использованием БАПИ:
BAPI_CHARACT_CREATE
BAPI_CHARACT_CHANGE
BAPI_CLASS_CREATE
BAPI_CLASS_CHANGE


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, июл 31 2008, 13:38 
Младший специалист
Младший специалист
Аватара пользователя

Зарегистрирован:
Пн, ноя 20 2006, 14:07
Сообщения: 55
Откуда: Москва
используйте bapi


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, авг 05 2008, 14:18 
Ассистент
Ассистент

Зарегистрирован:
Пн, июн 16 2008, 10:34
Сообщения: 35
OlegDm написал(а):
Попробуй закачать с использованием БАПИ:
BAPI_CHARACT_CREATE
BAPI_CHARACT_CHANGE
BAPI_CLASS_CREATE
BAPI_CLASS_CHANGE


Мне стыдно :oops: , но как на них выйти в BAPI-проводнике?

Может ниже флуд, но тема перехода с других языков программирования на ABAP/4(равно как переход с других программ обработки данных на SAP) наверно для многих актуальна.
Аналогию Бапи можете посказать? Например Пакетный ввод в SAP - это полная аналогия записи и реализации макроса EXCEL, а бапи с чем сравнить можно? Смотрел программки в которых вызывается бапи, но не совсем понятно как подготавливаються данные для "скармливания" бапи (хотя язык abap/4 похож на родной мне VBA, а уж sql вообще почти одинаков что в SAP, что в Access). Может есть ссылки на подробное описание на русском?
Спасибо:-).


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, авг 05 2008, 20:15 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Вт, ноя 23 2004, 16:46
Сообщения: 496
Откуда: Москва, Siemens
Пол: Мужской
vvslv написал(а):
OlegDm написал(а):
Попробуй закачать с использованием БАПИ:
BAPI_CHARACT_CREATE
BAPI_CHARACT_CHANGE
BAPI_CLASS_CREATE
BAPI_CLASS_CHANGE


Мне стыдно :oops: , но как на них выйти в BAPI-проводнике?

Может ниже флуд, но тема перехода с других языков программирования на ABAP/4(равно как переход с других программ обработки данных на SAP) наверно для многих актуальна.
Аналогию Бапи можете посказать? Например Пакетный ввод в SAP - это полная аналогия записи и реализации макроса EXCEL, а бапи с чем сравнить можно? Смотрел программки в которых вызывается бапи, но не совсем понятно как подготавливаються данные для "скармливания" бапи (хотя язык abap/4 похож на родной мне VBA, а уж sql вообще почти одинаков что в SAP, что в Access). Может есть ссылки на подробное описание на русском?
Спасибо:-).

А зачем тебе искать их в BAPI-проводнике? Это функциональные модули такие, ведутся через SE37 или SE80, как и все САПовские ФМ.
Если очень надо в BAPI-проводнике, то "Компоненты, общие для всех приложений - Система классов - Characteristic, Компоненты, общие для всех приложений - Система классов - Class"
БАПИ - это модуль, который осуществляет ввод данных в систему не прямой записью в таблицу, а естественным путём, то есть имитация того, что ты вызываешь транзакцию, вводишь данные, а потом нажимаешь "сохранить". Данные подаются ему на вход, а получить их можно как угодно, хоть чтением из файла, хоть вводом на первом экране собственной программы (вдруг тебе не понравился интерфейс стандартной транзакции и ты захотел её переписать по-своему).
Короче обычно формируешь внутреннюю таблицу с данными ввода (одна запись в БД) и прогоняешь ФМ БАПИ, подавая на вход эту таблицу. Если грузишь много записей из файла, то делаешь всё это в цикле, читая и обрабатывая запись из файла и запихивая её во внутреннюю таблицу (например используя ФМ GUI_UPLOAD).
Документации на русском нет, но её вполне достаточно на английском (только надо обязательно войти в систему на английском)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, авг 27 2008, 07:54 
Ассистент
Ассистент

Зарегистрирован:
Пн, июн 16 2008, 10:34
Сообщения: 35
Vitp написал:
..подаются ему на вход..

Ключевой код подачи на вход подскажите пожалуйста?
Спасибо.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, авг 27 2008, 09:52 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Вт, ноя 23 2004, 16:46
Сообщения: 496
Откуда: Москва, Siemens
Пол: Мужской
Не вполне понятен вопрос, что ты хочешь узнать. Если то, какие параметры подавать на вход, то их посмотри следующим образом:
в SE37 вызови на просмотр нужный ФМ, например BAPI_CLASS_CREATE, зайди на закладку Импорт. Там увидишь все те параметры, которые принимает модуль. Некоторые из них отмечены галкой "необязательные". Те, которые не отмечены - обязательны. Например, входной параметр CLASSBASICDATA ссылочного типа BAPI1003_BASIC. Это структура, содержащая основные данные создаваемого класса, её нужно набить данными и подать на вход модуля при его вызове (CALL FUNCTION 'BAPI_CLASS_CREATE') в разделе EXPORTING.
Загляни ещё на закладку Таблицы в SE37. Там содержатся все таблицы, которыми оперирует модуль, как с входными, так и с выходными данными. Эти параметры подаются на вход модуля при его вызове в виде заполненных данными внутренних таблиц в разделе TABLES оператора CALL FUNCTION.
И, кстати, после вызова модуля вставляй commit work.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, авг 27 2008, 12:06 
Ассистент
Ассистент

Зарегистрирован:
Пн, июн 16 2008, 10:34
Сообщения: 35
Спасибо. Пошел разбираться:-).


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 8 ] 

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


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

Сейчас этот форум просматривают: Google [Bot]


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

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