SELECT *
INTO CORRESPONDING FIELDS OF TABLE zbset
FROM bset
FOR ALL ENTRIES IN gt_nn
WHERE bukrs = bukrs AND
belnr = gt_nn-belnr AND
gjahr = gjahr AND
shkzg = 'S' AND " дебет
hkont like '0064%'.
DESCRIBE TABLE zbset LINES cnt.
LOOP AT zbset .
wrbtr = wrbtr + zbset-HWSTE.
ENDLOOP.
может есть у уважаемого ALL, хоть какието идеии ?А select * обязательно? Длина записи под 300 байт всё-таки...
А select * обязательно?, так вроде бы INTO CORRESPONDING FIELDS OF TABLE zbset
Вообщем буду смотреть на индексы ......Там индекс только один и других быть не может ;)
В gt_nn - выбраные налоговые ....Не быстрее будет INTO TABLE а не CORRESPONDING FIELDS OF TABLE... причем значительно быстрее будет...
По поводу, так вроде бы INTO CORRESPONDING FIELDS OF TABLE zbset
работает быстрее.
Вообщем буду смотреть на индексы ......
А типа точечными запросами по каждой налоговой выборку делать?так там и есть по одной СФ все налоговые (их обычно 1, может две).
Кстати а какое время работы диалогового процесса у тебя выставлено? ......
Присоединяясь к вышесказанному: лучше не полениться и перечислить нужные поля и сделать SELECT [ПЕРЕЧЕНЬ ПОЛЕЙ ТАБЛИЦЫ ITAB] INTO TABLE ITAB - самая быстрая конструкция. Ну а про FOR ALL ENTRIES Uukrul в теме про оптимизацию уже писал: если вн. таб. пустая - лопатится вся BSET... А для подсчета суммы и налога никак не выкрутиться используя BSID/BSAD?вот сел писать
gt_nn - не пустая, все класносижу и думаю, это у меня в теста не пустая, а в пользователей,
BSID/BSAD?Пока как бы не нашел тех данных что мне нужны в этих табличках, завтра поспрашаю у наших FI-щиков, если сам не разберусь :)
вот сел писать сижу и думаю, это у меня в теста не пустая, а в пользователей,
Присоединяясь к вышесказанному: лучше не полениться и перечислить нужные поля и сделать SELECT [ПЕРЕЧЕНЬ ПОЛЕЙ ТАБЛИЦЫ ITAB] INTO TABLE ITAB - самая быстрая конструкция. Ну а про FOR ALL ENTRIES Uukrul в теме про оптимизацию уже писал: если вн. таб. пустая - лопатится вся BSET... А для подсчета суммы и налога никак не выкрутиться используя BSID/BSAD?
извините, а что это влечеть - время выборки или рост используемой памяти ?При перечеслении по порядку только нужных полей в определении вн. таблицы и непосредственно в синтаксисе запроса для выборки в нее с использ. конструкции INTO TABLE сокращается и то и другое. Дебиторка лежит в BSID(отк.поз.) и в BSAD(закр.), соответственно кредиторка в BSIK/BSAK. Налог можно подсчитать вытягивая процентную ставку (не обращайть внимание на SELECT...ENDSELECT, код древнее поповской собаки, оптимизируете, если что):
извините, а что это влечеть - время выборки или рост используемой памяти ?У меня подозрение, что при пустой таблице gt_nn у тебя вся BSET-а втягивается, так что или проверяй перед вызовом запроса gt_nn на заполнимость илиз попробуй механизм предложенный Dmitriy-eм.
У меня подозрение, что при пустой таблице gt_nn у тебя вся BSET-а втягивается, так что или проверяй перед вызовом запроса gt_nn на заполнимость илиз попробуй механизм предложенный Dmitriy-eм.
Т.е. получается, что ларчик-то просто открывался? :)Ну щаз автор пошаманит и скажет наверное чего ::)
Немного подправлю (редактирование недоступно):В целях сохранения логической истории постов со временем, дабы дурь каждого была видна, редактирование постов возможно в течении 90 секунд после отправки.
2 Администрация: предлагаю создать отдельную тему типа "Технология написания программ на ABAP" или "Особенности ....." или просто "Полезные фишки" и т.д., как и для оптимизации, ориентированну на уже достаточно продвинутых SAPеров. Есть много моментов, знание которых очень помогает в том или ином случае.Не вопрос, готово: http://sapforum.biz/index.php/board,29.0.html будешь там главным ;)
Немного подправлю (редактирование недоступно):
Конечно же FREE gt_nn[]. Рекомендую очищать занимаемую память от данных, которые в процессе дальнейшей обработки не нужны, причем не только в данном, конкретном случае, а почти всегда, т.к. может быть открыто несколько сессий, а память, выделямая на одного юзера не зависит от их кол-ва и есть CONST.
2 Администрация: предлагаю создать отдельную тему типа "Технология написания программ на ABAP" или "Особенности ....." или просто "Полезные фишки" и т.д., как и для оптимизации, ориентированну на уже достаточно продвинутых SAPеров. Есть много моментов, знание которых очень помогает в том или ином случае.
2 Паганель: надеюсь, вопрос "Знать или не знать ABAP" уже отпал сам собой? :)