SAP R/3 форум ABAP консультантов
Russian ABAP Developer's Club

Home - FAQ - Search - Memberlist - Usergroups - Profile - Log in to check your private messages - Register - Log in - English
Blogs - Weblogs News

Массовое присоединение классов к ЕО при помощи БАПИ?



 
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ABAP
View previous topic :: View next topic  
Author Message
vad-anatolij
Специалист
Специалист



Joined: 17 Dec 2007
Posts: 51

PostPosted: Tue Jul 08, 2008 10:40 am    Post subject: Массовое присоединение классов к ЕО при помощи БАПИ? Reply with quote

Добрый день.
Бапи поможет присоединить к ЕО классы по определенной логике?
Поясню.
Делаем экспорт данных из одной базы (не Р3) в ТОРО SAP R3.
Для этого
1) Пакетником перебросили базу по ЕО (в IE01).При этом в одном из свободных полей ЕО (ITOB-MAPAR) поместили код его класса (где код конкретного класса - это значение ключевого поля класса в первоначальной базе).
2) Пакетником перебросили базу по классам.При этом в качестве одного из признаков сделали код класса (опять же код из первоначальной базы)
3) Теперь необходимо соединить ЕО с классами.Пакетником это не сделать, ведь необходимо выполнить условие: конкретному ЕО необходимо присвоить класс у которого значение признака равно значению содержимого ITOB-MAPAR этой ЕО.
Раньше работал в Accesse и там это можно сделать. По моему разумению (совсем мало занимаюсь Р3) подобное можно сделать с помощью Бапи, но наши специалисты говорят вроде как нет.
Можно все таки реализовать п.3 с помощью БАПИ и если нет то какие могут быть варианты (ну кроме ручного ввода т.к. ЕО почти под 100 тыс)?
Спасибо.
P.S. Надеюсь я смог пояснить проблемуSmile.
Back to top
View user's profile Send private message Blog
vad-anatolij
Специалист
Специалист



Joined: 17 Dec 2007
Posts: 51

PostPosted: Tue Aug 05, 2008 3:27 pm    Post subject: Reply with quote

С большим трудом (не беспомощи) понял что мне нужно.

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

BAPI_CHARACT_CREATE
BAPI_CHARACT_CHANGE
BAPI_CLASS_CREATE
BAPI_CLASS_CHANGE

Может ниже флуд, но тема перехода с других языков программирования на ABAP/4(равно как переход с других программ обработки данных на SAP) наверно для многих актуальна.
Аналогию Бапи можете посказать? Например Пакетный ввод в SAP - это полная аналогия записи и реализации макроса EXCEL, а бапи с чем сравнить можно? Смотрел программки в которых вызывается бапи, но не совсем понятно как подготавливаються данные для "скармливания" бапи (хотя язык abap/4 похож на родной мне VBA, а уж sql вообще почти одинаков что в SAP, что в Access). Может есть ссылки на подробное описание на русском?
СпасибоSmile.
Back to top
View user's profile Send private message Blog
vga
Мастер
Мастер


Age: 60
Joined: 04 Oct 2007
Posts: 1218
Location: Санкт-Петербург

PostPosted: Tue Aug 05, 2008 3:48 pm    Post subject: Reply with quote

Функциональные модули это, вводите имя bapi в se37 . Если грубо, bapi служат для замены пакетного ввода.
Back to top
View user's profile Send private message Blog Visit poster's website
John Doe
Модератор
Модератор


Age: 46
Joined: 05 Nov 2007
Posts: 725
Location: КраснАдар

PostPosted: Tue Aug 05, 2008 4:10 pm    Post subject: Reply with quote

vad-anatolij wrote:
СМне стыдно Embarassed , но как выйти в BAPI-проводнике на:

BAPI_CHARACT_CREATE
BAPI_CHARACT_CHANGE
BAPI_CLASS_CREATE
BAPI_CLASS_CHANGE

СпасибоSmile.

Компоненты, общие для всех приложений -> Система классов
Back to top
View user's profile Send private message Blog
vad-anatolij
Специалист
Специалист



Joined: 17 Dec 2007
Posts: 51

PostPosted: Tue Aug 05, 2008 4:42 pm    Post subject: Reply with quote

John Doe wrote:

Компоненты, общие для всех приложений -> Система классов


Виноват...я там искал...но не нашел, поковырялся в настройках и..о чудо... появилось Rolling Eyes .

vga
То что замена пакетному вводу - я понимаю, и даже в каких случаях..
Но вот как это?
Есть две таблицы KLAH (поле CLASS) и CAWN (поле ATWRT), которые относяться друг к другу как "1" к "n". Причем на каждое значение из KLAH приходиться РАЗНОЕ число значений ATWRT. Пакетным вводом здесь можно, но долго и не одним пакетником. Как их заполнить с помощью BAPI?
Спасибо.
Back to top
View user's profile Send private message Blog
Удав
Гуру
Гуру


Age: 48
Joined: 25 Jan 2008
Posts: 580
Location: Москва

PostPosted: Tue Aug 05, 2008 7:48 pm    Post subject: Reply with quote

Вы не путаете структуру класса с классификацией объектов? Confused
Таблицы KLAH, KSSK, - это описание класса, CABN, CAWN - описание значений признака.
Классификация объектов - это таблица AUSP.
Что вам нужно сделать: Изменить структуру класса или для объекта ЕО ввести классификацию?

_________________
С уважением,
Удав.
Back to top
View user's profile Send private message
vad-anatolij
Специалист
Специалист



Joined: 17 Dec 2007
Posts: 51

PostPosted: Tue Aug 05, 2008 9:24 pm    Post subject: Reply with quote

Удав wrote:

Что вам нужно сделать: Изменить структуру класса или для объекта ЕО ввести классификацию?


Пытаюсь ввести пакетным вводом классы (несколько тысяч) у которых количество значений признаков изменяется.
Например в классе К1 признак П1 имеет значения 20, 30, 40, а в К2 этот же признак имеет всего одно значение. Т.е. в первом случае нужно вводить три раза, а во втором - один.Трудность в том, что пакетник формируется только на одно значение признака. Т.е. классы заранее группируем. Одна группа - классы у которых признак вводиться один раз, вторая - признак вводиться два раза и т.д.
Back to top
View user's profile Send private message Blog
Удав
Гуру
Гуру


Age: 48
Joined: 25 Jan 2008
Posts: 580
Location: Москва

PostPosted: Wed Aug 06, 2008 2:15 pm    Post subject: Reply with quote

По-моему как-то намудрили с тысячами классов Confused

Можно предложить работу в 2 этапа:
1.Создание класса с помощью BAPI_CLASS_CREATE
2.Для изменения значений признака можно использовать ФМ BUS1088_DATABASE_UPDATE, для корректного наполнения данными нужно произвести анализ таблицы KSML для нужного класса (через поле IMERK найти нужный признак, через поле OMERK - изменять перезаписываемый признак).

_________________
С уважением,
Удав.
Back to top
View user's profile Send private message
vad-anatolij
Специалист
Специалист



Joined: 17 Dec 2007
Posts: 51

PostPosted: Wed Aug 06, 2008 4:12 pm    Post subject: Reply with quote

Удав wrote:
По-моему как-то намудрили с тысячами классов Confused


Ну пока в "песочнице" можно и ...помудрить Very Happy . А вообще на вопрос "Чем может помешать большое количество классов" никто не может дать ответа, кроме как "внутреннее ощущение - что это много". Но для SAPa ведь несколько тысяч - это пустяки, так?

Удав wrote:
Создание класса с помощью BAPI_CLASS_CREATE


Вернулись к первоначальной теме
vad-anatolij wrote:
Смотрел программки в которых вызывается бапи, но не совсем понятно как подготавливаються данные для "скармливания" бапи

и как определить что данные введуться именно туда и никуда больше? Может есть ссылка на примерчик где подробно расписано работа бапи?
Спасибо.
Back to top
View user's profile Send private message Blog
Удав
Гуру
Гуру


Age: 48
Joined: 25 Jan 2008
Posts: 580
Location: Москва

PostPosted: Wed Aug 06, 2008 4:54 pm    Post subject: Reply with quote

vad-anatolij wrote:
Удав wrote:
По-моему как-то намудрили с тысячами классов Confused


Ну пока в "песочнице" можно и ...помудрить Very Happy . А вообще на вопрос "Чем может помешать большое количество классов" никто не может дать ответа, кроме как "внутреннее ощущение - что это много". Но для SAPa ведь несколько тысяч - это пустяки, так?

Классы нужны для определения структуры данных для объектов.
Почему для каждого объекта одного типа нужна своя структура данных?

vad-anatolij wrote:
Удав wrote:
Создание класса с помощью BAPI_CLASS_CREATE


Вернулись к первоначальной теме
vad-anatolij wrote:
Смотрел программки в которых вызывается бапи, но не совсем понятно как подготавливаються данные для "скармливания" бапи

и как определить что данные введуться именно туда и никуда больше? Может есть ссылка на примерчик где подробно расписано работа бапи?
Спасибо.

Пользуйтесь поиском, хотя бы в Яндексе Wink

_________________
С уважением,
Удав.
Back to top
View user's profile Send private message
vad-anatolij
Специалист
Специалист



Joined: 17 Dec 2007
Posts: 51

PostPosted: Wed Aug 27, 2008 9:15 am    Post subject: Reply with quote

Удав wrote:
Классы нужны для определения структуры данных для объектов.
Почему для каждого объекта одного типа нужна своя структура данных?


Был в отпуске, поэтому запоздало:

Из чего исходили:
1) Делаем классификацию ЕО. А ЕО как известно может быть большое кол-во типов Smile
2) Играет значение количество уровней. Например возмем двигатели.

1 уровень - тип двигателя (он же класс)
2 уровень - характеристики двигателя (они же признаки)
3 уровень - значения характеристик двигателя (они же значения признаков)
Классов двигателей немеряно.
Допустим мы решили сократить количество классов. Ввели два класса: "Переменного тока" и "Постоянного тока", тогда типы двигателей сместились из класса в признаки, соответственно всё сместилось. Возникают две проблемы:
а) Исчезает привязка типа двигателя к признакам класса, т.е. нужна подчиненность признака признаку. Есть такое в стандарте?
б) Исчезает привязка значений признаков к типу двигателя
Или есть решения?
Спасибо.
Back to top
View user's profile Send private message Blog
Удав
Гуру
Гуру


Age: 48
Joined: 25 Jan 2008
Posts: 580
Location: Москва

PostPosted: Mon Sep 01, 2008 2:07 pm    Post subject: Reply with quote

а)Можно применять ограничения на видимость/обязательность признаков, присвоение значений с помощью механизма отношений.
Или вообще посмотреть в сторону конфигурации вариантов
б) Для проверки значений можно использовать отношения с таблицами вариантов

_________________
С уважением,
Удав.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ABAP All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


All product names are trademarks of their respective companies. SAPNET.RU websites are in no way affiliated with SAP AG.
SAP, SAP R/3, R/3 software, mySAP, ABAP, BAPI, xApps, SAP NetWeaver and any other are registered trademarks of SAP AG.
Every effort is made to ensure content integrity. Use information on this site at your own risk.