Текущее время: Пн, июл 21 2025, 05:40

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


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

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


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

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