Текущее время: Чт, авг 21 2025, 15:18

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


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

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


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

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