Текущее время: Вт, сен 09 2025, 03:22

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




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Проблема с выгрузкой экстрактора.
СообщениеДобавлено: Вт, апр 24 2012, 16:44 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, авг 08 2011, 15:42
Сообщения: 79
Имееся родовый экстрактор построенный на ракурсе.
Функциональным расширением необходимо добавить дополнительнительное поле, выборка по которым идет через таблицы BSEG и BKPF.
А конкретно:
Выборка документов платежа: ZTCNTR-CNTRNUM = BSEG-ZUONR, фильтр BSEG-FDLEV = "KZ", определить последний документ по BSEG-BELNR = BKPF-BELNR выбрать дату BKPF-BUDAT. Поле выводится ЕСЛИ ZTCNTR-STATUS = «E».

FIELD-SYMBOLS:<ZOXDR10303> LIKE ZOXDR10303.
...
LOOP AT C_T_DATA ASSIGNING <ZOXDR10303>.
IF <ZOXDR10303>-status = 'E'.
Select BELNR
from BSEG
into CORRESPONDING FIELDS OF TABLE lt_bseg
WHERE zuonr = <ZOXDR10303>-CNTRNUM
AND FDLEV = 'KZ' AND BUKRS = '1016'.
IF sy-subrc IS INITIAL.
SORT lt_bseg BY belnr DESCENDING.
READ TABLE lt_bseg INTO ls_bseg INDEX 1.
IF sy-subrc IS INITIAL.
Select SINGLE BUDAT from BKPF into <ZOXDR10303>-DATE_EXECUTI_22 WHERE Belnr = ls_bseg-BELNR AND gjahr = ls_bseg-gjahr.

ENDIF.
ENDIF.
ENDIF.
ENDLOOP.
Выборка выполняется, но очень долго.. 50 записей 15 минут, при условии чтобы записей получается 36с лишним тысяч. Как быть?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проблема с выгрузкой экстрактора.
СообщениеДобавлено: Вт, апр 24 2012, 19:02 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Ср, фев 09 2011, 07:19
Сообщения: 753
Откуда: Сибирь
Пол: Мужской
мне кажется лучше этот вопрос задать на ABAP форуме, там уж точно расскажут как оптимальнее сделать такие выборки.
select по bseg и bkpf в цикле это жесть..
1. Выберните данные во внутреннюю таблицу заранее, а в цикле уже ищите в ней нужные записи. Нагрузит память, но будет быстрее шевелиться.
Лучше выбирать данные из bseg (если есть возможность) по ключу: BUKRS GJAHR BELNR BUZEI.
посмотрите темы:
http://sapboard.ru/forum/viewtopic.php?f=13&t=61549&start=0
http://sapboard.ru/forum/viewtopic.php?f=13&t=3509
2. Может вместо bseg искать данные в:
- BSID (невыровненные дебиторские позиции);
- BSAD (выровненные дебиторские позиции);
- BSIK (невыровненные кредиторские позиции);
- BSAK (выровненные кредиторские позиции);
- BSIS (невыровненные позиции)
- BSAS (выровненные позиции)

_________________
Ешьте рыбу, в ней фосфор.
__
Чат в Telegram по SAP BW: http://t.me/BW_SAP


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с выгрузкой экстрактора.
СообщениеДобавлено: Вт, апр 24 2012, 21:59 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, сен 21 2010, 23:23
Сообщения: 83
:shumlol: код оставляет желать лучшего. Все забуферить надо во внутренние таблицы, и не то что шевелиться, а бегать будет.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проблема с выгрузкой экстрактора.
СообщениеДобавлено: Чт, апр 26 2012, 17:35 
Ассистент
Ассистент
Аватара пользователя

Зарегистрирован:
Ср, мар 09 2011, 17:18
Сообщения: 49
Пол: Женский
Для таких огромных таблиц как BSEG очень плохой вариант производить выборку не по ключевым полям и в цикле.

Если выбрку данных можно производить только из BSEG, то могу посоветовать следующее.

Перед обращением в BSEG заполните внутреннюю таблицу со всеми уникальными значениями для выбора данных. И затем произведите одно обращение к таблице. Это уже поможет экстрактору.

Например, у нас для каждого вида документа служат свои уникальные первые цифры номера. Это тоже можно использовать как дополнительный критерий для ключевого поля. И если возможно определить год, тоже будет замечательно.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проблема с выгрузкой экстрактора.
СообщениеДобавлено: Пн, апр 30 2012, 10:45 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, авг 08 2011, 15:42
Сообщения: 79
Значений Ключевых полей кроме BUKRS мне не дали...(((


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

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


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

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


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

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