Текущее время: Вт, июл 22 2025, 11:07

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 15 ] 
Автор Сообщение
 Заголовок сообщения: Выборка select'ами цен на материалы по виду условия
СообщениеДобавлено: Ср, ноя 27 2013, 16:46 
Начинающий
Начинающий

Зарегистрирован:
Ср, ноя 27 2013, 16:25
Сообщения: 7
я начинающий, просьба не пинать :mrgreen:
В SAP ERP нужно в абап-программе получить цены на материалы по определенным видам условий (которые выводятся транз. VK13, обычный прайс для сбытовой организации). Если конкретней, нужно получить внутреннюю таблицу с полями НомерМатериала, ВидУсловия, Цена, и далее в цикле по перебору материалов получать на них цены из этой таблицы.

Как я это вижу: селектом из таблицы A900 получить номера записей условий с последней начальной датой, дальше по этим номерам записей получить цены из таблицы KONP. Как на ABAP оптимальней это сделать?

Я рассчитывал получить все одним запросом, используя вложенные запросы вида "SELECT ... FROM (SELECT ...) AS ...", в ABAP такие конструкции возможны? У меня не вышло. Сделал отдельными селектами с использованием for all entries, но получился какой-то огород, хотя и работает


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Выборка select'ами цен на материалы по виду условия
СообщениеДобавлено: Чт, ноя 28 2013, 11:23 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Ср, дек 17 2008, 19:38
Сообщения: 434
Откуда: Санкт-Петербург
Пол: Женский
может проще использовать ФМ RV_PRICE_PRINT_ITEM?

_________________
Silence v.2.0


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Выборка select'ами цен на материалы по виду условия
СообщениеДобавлено: Чт, ноя 28 2013, 11:54 
Гуру-маршал
Гуру-маршал
Аватара пользователя

Зарегистрирован:
Пт, янв 30 2009, 09:59
Сообщения: 1594
Откуда: Москва, Минск
Пол: Мужской
Я бы делал так:
1) По виду условия определяешь последовательность доступа и таблицы A*, которые в нее входят.
2) Делаешь выборку данных из каждой таблицы A*
3) Делаешь выборку данных из таблиц KONH, KONP по номерам условий из A*

Далее нужно понимать что вам нужно - или вывести все ценовые условия для материала (а их может быть несколько с разными доступами), или выбрать 1 условие в зависимости от последовательности доступа.

Если нужно вывести одно условие - в зависимости от того, как расставлены таблицы условий в последовательности доступа, поочередно читаешь записи из таблиц A* - не нашел условие для первого доступа, идешь в следующую таблицу и т.д. Нашел запись - читаешь внутреннюю таблицу, куда выбраны данные KONH,KONP.
Но тут еще нужно анализировать если ли галка "Монопольно" в последовательности доступа.

Морочиться с тем, чтобы выбрать данные за 1 селект, ИМХО, не стоит.

_________________
Лучше быть умным и иногда тупить, чем быть тупым и постоянно умничать!


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Выборка select'ами цен на материалы по виду условия
СообщениеДобавлено: Чт, ноя 28 2013, 14:42 
Начинающий
Начинающий

Зарегистрирован:
Ср, ноя 27 2013, 16:25
Сообщения: 7
Silence1 написала:
может проще использовать ФМ RV_PRICE_PRINT_ITEM?

почитал про этот ФМ, он вроде бы используется при обработке документов, или я неправильно понял? Мне нужно имея номер материала (или список номеров), сбытовую орг. и номер вида условия получить цены на материалы, как примерно будет выглядеть вызов этого фм?

DED_MOROZ написал:
1) По виду условия определяешь последовательность доступа и таблицы A*, которые в нее входят.

Не могли бы вы поподробнее об этом пункте, из какой таблицы взять связь вида условия и последовательности доступа, и далее по какой таблице определить A*, которые входят в последовательность, у самого найти не получается :(

Вообще пока что вид условия один, в последовательности одна таблица А900. Но в дальнейшем потребуются еще несколько видов условий, с последовательностями по А901-А904, поэтому и уточняю.


И мне для понимания, все-таки, селект с вложенным запросом вида "SELECT ... FROM (SELECT ...) AS ..." в ABAP невозможен? Как оптимальней тогда делать выборки, если из результата одного селекта нужно сделать еще одну выборку?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Выборка select'ами цен на материалы по виду условия
СообщениеДобавлено: Чт, ноя 28 2013, 14:51 
Старший специалист
Старший специалист

Зарегистрирован:
Чт, окт 22 2009, 12:41
Сообщения: 473
Ну почему же, вложенные запросы есть: subqueries.
Вопрос эффективности и нужности - отдельный.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Выборка select'ами цен на материалы по виду условия
СообщениеДобавлено: Чт, ноя 28 2013, 16:33 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Вт, май 17 2005, 13:35
Сообщения: 4871
Откуда: Москва
Пол: Мужской
1. Можно сделать универсально, но медленно .
Для этого в цикле по товарам используем ФМ PRICING (выполняет расчет схемы калькуляции) или ФМ CONDITION_RECORD_READ (выполняет поиск значения одного вида условия с учетом последовательности доступа)

2. Можно сделать менее универсально (опираясь на априорное знание, но быстро) - прямой селект a*** inner join konp для множества товаров.

Второй вариант применим при двух условиях:
а. есть один-два вида условия, которые известны заранее, а не определяются динамичеки
б. у вида условия в последовательности доступа всего одна a*** таблица или их хотя бы не настолько много, чтобы идея повторения логики поиска по последовательности доступа имела смысл.

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Выборка select'ами цен на материалы по виду условия
СообщениеДобавлено: Пн, дек 09 2013, 14:36 
Начинающий
Начинающий

Зарегистрирован:
Ср, ноя 27 2013, 16:25
Сообщения: 7
всем большое спасибо, с выгрузкой разобрался.
Теперь вопрос в загрузке заказов, не создавая новой темы, спрошу здесь же. Планирую использовать BAPI_SALESORDER_CREATEFROMDAT2, с подготовкой параметров и вызовом более менее понятно, но кроме всего прочего мне еще нужно записать ID заказа из внешней системы. Есть ли подходящее поле у документа "заказ" или, возможно, добавить как-то пользовательское поле? Его можно будет заполнять с помощью BAPI? В общем нужно совет, как и где проще всего организовать хранение и заполнение такого поля.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Выборка select'ами цен на материалы по виду условия
СообщениеДобавлено: Пн, дек 09 2013, 14:52 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Вт, май 17 2005, 13:35
Сообщения: 4871
Откуда: Москва
Пол: Мужской
VBKD-BSTKD_M

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Выборка select'ами цен на материалы по виду условия
СообщениеДобавлено: Пн, дек 09 2013, 14:54 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
furec написал(а):
Есть ли подходящее поле у документа "заказ" или, возможно, добавить как-то пользовательское поле? Его можно будет заполнять с помощью BAPI? В общем нужно совет, как и где проще всего организовать хранение и заполнение такого поля.

1.Спросите у ваших консультантов по сбыту, какие поля на заголовке заказа не используются. Это лучший вариант.
2.Пользовательское поле добавить можно.
3.Через BAPI пользовательское поле можно заполнить - см. параметр EXTENSIONIN и ноту 143580

Общий совет - п.1

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Выборка select'ами цен на материалы по виду условия
СообщениеДобавлено: Пн, дек 09 2013, 15:28 
Старший специалист
Старший специалист

Зарегистрирован:
Вт, апр 08 2008, 10:42
Сообщения: 379
Пол: Мужской
>Спросите у ваших консультантов по сбыту, какие поля на заголовке заказа не используются. Это лучший >вариант.
да и в целом выбирать подходящее поле должен именно консультант, а не разработчик. запрашивайте, чтобы указали поле.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Выборка select'ами цен на материалы по виду условия
СообщениеДобавлено: Чт, дек 12 2013, 10:07 
Начинающий
Начинающий

Зарегистрирован:
Ср, ноя 27 2013, 16:25
Сообщения: 7
Удав, jh, спасибо, уточню у консультантов

LKU написал:
VBKD-BSTKD_M

не подскажете, чем отличаются поля VBKD-BSTKD_M и VBKD-BSTKD? смотрю в системе, сейчас у некоторых торговых документов заполнены оба поля одинаковыми значениями


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Выборка select'ами цен на материалы по виду условия
СообщениеДобавлено: Чт, дек 12 2013, 10:26 
Гуру-модератор
Гуру-модератор
Аватара пользователя

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

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


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Выборка select'ами цен на материалы по виду условия
СообщениеДобавлено: Чт, дек 12 2013, 12:41 
Начинающий
Начинающий

Зарегистрирован:
Ср, ноя 27 2013, 16:25
Сообщения: 7
еще один вопрос: набросал вызов BAPI_INQUIRY_CREATEFROMDATA2, документ не создается, в результирующей таблице сообщение:
'Sold To Party' or 'Ship To Party' not defined

в таблицу INQUIRY_PARTNERS передаю вот такое:

LS_INQUIRY_PARTNERS-partn_role = 'SP'.
LS_INQUIRY_PARTNERS-partn_numb = x. - тут номер существующего дебитора с ролью "заказчик"
append LS_INQUIRY_PARTNERS to LT_INQUIRY_PARTNERS.

LS_INQUIRY_PARTNERS-partn_role = 'SH'.
LS_INQUIRY_PARTNERS-partn_numb = x. - тут номер существующего дебитора с ролью "получатель материала"
append LS_INQUIRY_PARTNERS to LT_INQUIRY_PARTNERS.


посмотрел в SPRO сбыт - основные функции - выбор партнера - настроить для заголовка торгового документа, там для того вида торгового документа, который я создаю, схема не определена, может в этом причина? или я не там смотрю


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Выборка select'ами цен на материалы по виду условия
СообщениеДобавлено: Чт, дек 12 2013, 13:06 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
furec, зачем Вы засоряете тему вопросами про настройки?
Спросите у своих консультантов по сбыту или в соответствующей ветке на этом форуме.

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Выборка select'ами цен на материалы по виду условия
СообщениеДобавлено: Чт, дек 12 2013, 13:12 
Начинающий
Начинающий

Зарегистрирован:
Ср, ноя 27 2013, 16:25
Сообщения: 7
Удав написал(а):
furec, зачем Вы засоряете тему вопросами про настройки?
Спросите у своих консультантов по сбыту или в соответствующей ветке на этом форуме.

извиняюсь, просто чтобы убедиться, что с точки зрения кода все верно и дело именно в настройках

upd: разобрался, напутал с ролями


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

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


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

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


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

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