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

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


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

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


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

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