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

Часовой пояс: 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 часа


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

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


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

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