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

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 11 ] 
Автор Сообщение
 Заголовок сообщения: Помощь с программой
СообщениеДобавлено: Чт, авг 05 2010, 09:53 
Специалист
Специалист

Зарегистрирован:
Сб, апр 24 2010, 11:41
Сообщения: 158
Не могли бы вы мне помочь с одной программой. Я в абапе совсем недавно и вот уже несколько дней мучаюсь с задачей.
Есть таблица, примерно такого вида:
DATA: BSEG_table like BSEG OCCURS 0 WITH HEADER LINE.
DATA: I_TAB LIKE Z00B_MON_DOC_SRTU OCCURS 0 WITH HEADER LINE.
SELECT MANDT BUKRS BELNR GJAHR DMBTR
FROM BSEG INTO CORRESPONDING FIELDS OF TABLE BSEG_table WHERE SHKZG = 'H'.

БЕ Номер_счета Сумма
1000 100000000 5000
2000 100000001 1000
1000 100000000 2000
4000 100000002 3000

Надо объединить ячейки по одним бе и номерам счета и получить сумму (желательно добавить все в I_TAB), те:
БЕ Номер_счета Сумма
1000 100000000 7000
2000 100000001 1000
4000 100000002 3000

Если есть какие-нибудь мысли как это сделать, буду благодарен!)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Помощь с программой
СообщениеДобавлено: Чт, авг 05 2010, 09:56 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пн, ноя 01 2004, 12:17
Сообщения: 298
Пол: Мужской
см. оператор COLLECT


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помощь с программой
СообщениеДобавлено: Чт, авг 05 2010, 10:21 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пт, окт 03 2008, 17:20
Сообщения: 162
RA написал:
см. оператор COLLECT
Я бы сказал смотри оператор SELECT и агрегирующие функции

_________________
В SAPе есть всё, просто вы чего-то не нашли.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помощь с программой
СообщениеДобавлено: Чт, авг 05 2010, 10:58 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Пт, янв 18 2008, 10:34
Сообщения: 716
Откуда: Moscow
Пол: Мужской
Faron написал(а):
Не могли бы вы мне помочь с одной программой. Я в абапе совсем недавно и вот уже несколько дней мучаюсь с задачей.
Есть таблица, примерно такого вида:
DATA: BSEG_table like BSEG OCCURS 0 WITH HEADER LINE.
DATA: I_TAB LIKE Z00B_MON_DOC_SRTU OCCURS 0 WITH HEADER LINE.
SELECT MANDT BUKRS BELNR GJAHR DMBTR
FROM BSEG INTO CORRESPONDING FIELDS OF TABLE BSEG_table WHERE SHKZG = 'H'.

БЕ Номер_счета Сумма
1000 100000000 5000
2000 100000001 1000
1000 100000000 2000
4000 100000002 3000

Надо объединить ячейки по одним бе и номерам счета и получить сумму (желательно добавить все в I_TAB), те:
БЕ Номер_счета Сумма
1000 100000000 7000
2000 100000001 1000
4000 100000002 3000

Если есть какие-нибудь мысли как это сделать, буду благодарен!)


интересно сколько все это будет работать :shock: . да и зачем вам это . есть же стандартные отчеты которые отображают сальдо по счету

_________________
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. (Э. Йодан)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Помощь с программой
СообщениеДобавлено: Чт, авг 05 2010, 11:11 
Специалист
Специалист

Зарегистрирован:
Сб, апр 24 2010, 11:41
Сообщения: 158
Это для бв надо для источника-данных, идет выгрузка данных в другую систему и все их переносить не надо. А код, это одна из манипуляций, скажем так))


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Помощь с программой
СообщениеДобавлено: Чт, авг 05 2010, 11:12 
Специалист
Специалист

Зарегистрирован:
Сб, апр 24 2010, 11:41
Сообщения: 158
RA написал:
см. оператор COLLECT

Спасибо, кажется получилось. Сейчас еще проверю данные.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Помощь с программой
СообщениеДобавлено: Чт, авг 05 2010, 12:04 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, авг 28 2006, 11:24
Сообщения: 292
Пол: Мужской
Цитата:
SELECT MANDT BUKRS BELNR GJAHR DMBTR
FROM BSEG INTO CORRESPONDING FIELDS OF TABLE BSEG_table WHERE SHKZG = 'H'.

И это работает?
К bseg следует обращаться только по primary key. Для прочих запросов - использовать вторичные индексы - таблицы bsis/bsas, например.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помощь с программой
СообщениеДобавлено: Чт, авг 05 2010, 12:25 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Пт, июн 16 2006, 00:43
Сообщения: 1686
Откуда: Москва <-> Красноярск
Пол: Мужской
Rokhay написал:
И это работает?

Есть мнение что в системе разработки - вполне ;)

Faron, смотрите индексные таблицы и агрегаты для SELECT. Ваш подход неверен и неработоспособен.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Помощь с программой
СообщениеДобавлено: Чт, авг 05 2010, 12:48 
Специалист
Специалист

Зарегистрирован:
Сб, апр 24 2010, 11:41
Сообщения: 158
Пономарев Артем написал:
Rokhay написал:
И это работает?

Есть мнение что в системе разработки - вполне ;)

Faron, смотрите индексные таблицы и агрегаты для SELECT. Ваш подход неверен и неработоспособен.


Ну пока что вроде бы все работает (может правда в другой системе будут ошибки). В чем неверность такой конструкции, я не совсем понял?
Что можно почитать в таком случае кроме документации?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Помощь с программой
СообщениеДобавлено: Чт, авг 05 2010, 13:18 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Пн, окт 11 2004, 20:32
Сообщения: 2470
Пол: Мужской
Faron написал(а):
Ну пока что вроде бы все работает (может правда в другой системе будут ошибки). В чем неверность такой конструкции, я не совсем понял?
Что можно почитать в таком случае кроме документации?

Неверность конструкции в ее крайней неэффективности.
BSEG - кластерная таблица, с ней так нельзя. Да и с некластерной так тоже нежелательно... прежде чем запускать в продуктиве - для начала прикинье через SE16 примерный объем данных, который будете обрабатывать.
Почитать: поищите по форуму слово BSEG (через строку поиска от гугла). Еще запустите тр. SE30, а там кнопка 'Советы...' - эти советы особенно внимательно почитайте

_________________
- Может ли настоящий мастер кунг-фу получить по морде?
- Настоящий мастер может все!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Помощь с программой
СообщениеДобавлено: Чт, авг 05 2010, 13:33 
Специалист
Специалист

Зарегистрирован:
Сб, апр 24 2010, 11:41
Сообщения: 158
Спасибо,буду разбираться...


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

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


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

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


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

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