Текущее время: Пт, май 16 2025, 02:11

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 15 ] 
Автор Сообщение
 Заголовок сообщения: Additional Field в InfoSet
СообщениеДобавлено: Чт, окт 06 2005, 13:59 
Гость
Подскажите, пожалуйста, вот по чему:
У меня есть Infoset на основе LDB KDF (Vendors).
Среди прочих таблиц я выбираю BKPF и мне нужно в BKPF
добавить дополнительное поле, КОТОРОЕ я ХОЧУ ЗАПОЛНИТЬ ПРОСУММИРОВАННЫМ ПОЛЕМ HWSTE ИЗ ТАБЛИЦЫ BSET.
Смысл всего этого - получить корректный Tax Amount для отдельных позиций поставщиков.
Значит, я создаю это поле на уровне таблицы BKPF (назовем его Correct_Tax_Am), описываю его при создании как LIKE BSET-HWSTE и в Coding Section Additional Field/Structure пишу следующий код его заполнения:

SELECT SUM(BSET-HWSTE)
FROM BSET
INTO Correct_Tax_AMM
WHERE BSET-MANDT = BKPF-MANDT
AND BSET-BUKRS = BKPF-BUKRS
AND BSET-BELNR = BKPF-BELNR
AND BSET-GJAHR = BKPF-GJAHR.

А SAP при генерации INFOSET говорит об ошибке.
Подскажите, как надо это сделать правильно.

Заранее большое спасибо .


Пометить тему как нерешенную
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, окт 06 2005, 14:26 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Вт, авг 17 2004, 08:55
Сообщения: 331
Откуда: Украина, г.Мариуполь
Пол: Мужской
Может, просто нет завершающего ENDSELECT'a? Или, в качестве альтернативы, использовать SELECT SINGLE? А вообще, желательно подробнее указывать, что говорится в сообщении.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, окт 06 2005, 14:37 
Гость
Спасибо за ответ и совет. ENDSELECT у меня был.
А ругается SAP следующими словами :
-----------------------------
Error in code for additional field CORRECT_TAX_AMM
Unknown column name "SUM(BSET-HWSTE)" not determined until runtime, you cannot specify a field list.
------------------------------

Может быть это тоже важно указать, что я создаю INFOSET на основе логической базы данных KDF, а в свое дополнительное поле делаю выборку из таблицы BSET, не входящей в эту LDB.

Вот так. Очень очень жду помощи


Пометить тему как нерешенную
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, окт 06 2005, 15:17 
Гость
Цитата:
Unknown column name "SUM(BSET-HWSTE)" not determined until runtime, you cannot specify a field list.

Это все синтаксис конснструкций ABAP :roll:
Нужно писать SUM( BSET-HWSTE ) :wink:


Пометить тему как нерешенную
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, окт 06 2005, 15:28 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Вт, авг 17 2004, 08:55
Сообщения: 331
Откуда: Украина, г.Мариуполь
Пол: Мужской
SUM( BSET-HWSTE ) - обязательно с пробелами!


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, окт 06 2005, 15:29 
Гость
Спасибо, я совсем забыла про это. Но при расстановке пробелов
SAP продолжает гневно писать
------------
Error in code for additional field TAX-BSET
uNKNOWN COLUMN NAME "bset-hwste". not determined until runtime, you cannot specify a field list.
-------------

Может это быть связано с тем, что таблица BSET, из которой я делаю SELECT, не входит в данную логическую базу данных. Если проблема в этом, то как ее описать ?


Пометить тему как нерешенную
Вернуться к началу
  
 
 Заголовок сообщения:   Тема решена
СообщениеДобавлено: Чт, окт 06 2005, 15:47 
Гость
Внимательно посмотрите на условие WHERE.
В левой части выражения нужно указывать не BSET-BUKRS, а BSET~BUKRS. Для остальных полей в левой части - то же самое.
:wink:


Пометить тему как нерешенную
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, окт 06 2005, 15:50 
Гость
И в SELECT тоже тильдочку проставить - SUM( BSET~HWSTE )
:roll:


Пометить тему как нерешенную
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, окт 06 2005, 16:02 
Гость
И наконец:
так как BSET - таблица кластера, то агрегация данных в ней не поддерживается...
:oops:


Пометить тему как нерешенную
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, окт 06 2005, 16:04 
Гость
Всем еще раз огромное спасибо.
Я расставила все тильдочки и "УРА" он [SAP] опознал данное поле но ПОЯВИЛАСЬ ДРУГАЯ ОШИБКА
--------------
Error in code for additional fiels TAX_BSET
Aggregate functions and the addition DISTINCT are not supported in field lists for pooled and cluster tables.
---------------

К сожалению, я точно знаю, что таблица BSET к таким таблицам относится.
Так что же делать ? Есть ли выход из данной ситуации ?


Пометить тему как нерешенную
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, окт 06 2005, 16:09 
Гость
Code:
data: sum type bset-hwste.

  clear correct_tax_amm.
  SELECT bset~hwste
  FROM bset
  INTO sum
  WHERE bset~bukrs = bkpf-bukrs
    AND bset~belnr = bkpf-belnr
    AND bset~gjahr = bkpf-gjahr.

    add sum to correct_tax_amm.

  ENDSELECT.


Пометить тему как нерешенную
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, окт 06 2005, 16:12 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Вт, авг 17 2004, 08:55
Сообщения: 331
Откуда: Украина, г.Мариуполь
Пол: Мужской
А разве не так должно быть:
Code:
  SELECT bset~hwste
  INTO sum
  FROM bset
?


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, окт 06 2005, 16:19 
Гость
Спасибо огромное !!! Заработало !!!.


Пометить тему как нерешенную
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, окт 06 2005, 16:22 
Гость
Добавление.
Все работает по коду

SELECT bset~hwste
FROM bset
INTO sum

.........


Пометить тему как нерешенную
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, окт 06 2005, 16:24 
Гость
RoadRunner написал:
А разве не так должно быть:
Code:
  SELECT bset~hwste
  INTO sum
  FROM bset
?

без разницы.
Главное, чтобы INTO после WHERE не стояло :lol:


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

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


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

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


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

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