Текущее время: Ср, июл 30 2025, 21:49

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 25 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Ср, окт 03 2007, 23:08 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, окт 06 2005, 16:44
Сообщения: 3080
Откуда: Москва
vga написал(а):
Если логика программы позволяет, лучше не удалять записи, а внести дополнительное поле flag(1) и помечать 'X' его, если запись уже обработана. В главном цикле добавьте условие LOOP AT ... WHERE flag IS INITIAL.


Цитата:
в таблице выбирается 405309 записей....

:)
Да тут логика очень странная:
1.Похоже, таблица TCH_F ДОЛЖНА БЫТЬ сортирована перед циклом по плательщику, номеру фактуры и SUB_NUM (что кстати означает поле SUB_NUM?).
При этом удаление идет по номеру фактуры и SUB_NUM, из которых составлено NOM_LONG :lol:
Зачем было вводить это поле, если AT NEW могло прекрасно работать по полю SUB_NOM в случае правильной сортировки? Заодно от "тормозного" цикла избавитесь :D
2.Вот это:
Code:
IF WA_SLD-NOM_CH_F = NOM_CHF AND WA_SLD-SUB_NOM  = SUB_NOM.

вообще супер!
Разве это условие когда-нибудь не будет выполняться при присвоении в AT NEW полей NOM_CHF и SUB_NOM(опять же при нормальной сортировке)? :shock:
3.Где здесь год анализируется?
Code:
IF WA_SLD-MONAT = MONAT.

Я конечно понимаю, что обороты по платежам по фактуре могут за месяц формироваться, но оплачиваться счет-фактура теоретически может не один год. Поэтому здесь наверно уместно условие
Code:
IF WA_SLD-DATE_F GE DATE_B.

4.Может сделать таблицу ITKUN сортированной и вместо INSERT использовать COLLECT?

И напоследок: а сколько по времени отрабатывает данный шедевр? :?:

_________________
С уважением,
Удав.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, окт 04 2007, 07:43 
Ассистент
Ассистент

Зарегистрирован:
Пт, июн 22 2007, 07:24
Сообщения: 38
данный шедевр ...т.е. программа... работает 30 секунд....


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, окт 04 2007, 08:02 
Ассистент
Ассистент

Зарегистрирован:
Пт, июн 22 2007, 07:24
Сообщения: 38
При выполнении кода :
Code:
field-symbols: <tch> LIKE tch_f.
LOOP AT tch_f ASSIGNING <tch>.
  CONCATENATE <tch>-nom_ch_f <tch>-sub_nom INTO <tch>-nom_long.
ENDLOOP.



выдается : The addition "ASSIGNING <fs>" is not supported at present.

Это просто в моей версии SAP не работает ?????


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re:
СообщениеДобавлено: Чт, окт 04 2007, 08:03 
Ассистент
Ассистент

Зарегистрирован:
Пт, июн 22 2007, 07:24
Сообщения: 38
При выполнении кода :
Code:
field-symbols: <tch> LIKE tch_f.
LOOP AT tch_f ASSIGNING <tch>.
  CONCATENATE <tch>-nom_ch_f <tch>-sub_nom INTO <tch>-nom_long.
ENDLOOP.



выдается : The addition "ASSIGNING <fs>" is not supported at present.

Это просто в моей версии SAP не работает ?????


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, окт 04 2007, 10:53 
Специалист
Специалист

Зарегистрирован:
Вс, мар 13 2005, 13:59
Сообщения: 201
Откуда: Moscau
а какая версия у вас?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, окт 04 2007, 12:10 
Ассистент
Ассистент

Зарегистрирован:
Пт, июн 22 2007, 07:24
Сообщения: 38
Boger написал(а):
а какая версия у вас?


4.0


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re:
СообщениеДобавлено: Вс, сен 06 2009, 12:19 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, мар 13 2007, 22:57
Сообщения: 71
Удав написал(а):
По синтаксису: так не проходит?
4.Создать индекс c полями BUKRS GSBER KUNNR STAVKA DATE (порядок зависит от селективности этих полей)


что это значит?
порядок в индексе должен совпадать с порядком выбора в условии where ?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Re:
СообщениеДобавлено: Пн, сен 07 2009, 01:51 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Чт, мар 09 2006, 10:12
Сообщения: 565
Откуда: Волгодонск
Пол: Мужской
birds написал(а):
Удав написал(а):
По синтаксису: так не проходит?
4.Создать индекс c полями BUKRS GSBER KUNNR STAVKA DATE (порядок зависит от селективности этих полей)


что это значит?
порядок в индексе должен совпадать с порядком выбора в условии where ?


1. Планировщику запроса в большинстве случаев всё равно в каком порядке перечислены поля в запросе.

2. Есть такая процедура в БД "Сбор статистики" по таблицам, собранная информация использоваться планировщиком запросов для определения последовательности выборки, какие индексы использовать и т.д.

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

_________________
Изображение Попытка не пытка


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re:
СообщениеДобавлено: Пн, сен 07 2009, 09:33 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, мар 13 2007, 22:57
Сообщения: 71
EvgenySA написал(а):
Воспользуйтесь SE30, в настройках не забудьте указать сбор статистики по операциям с внутренними таблицами.
На вскидку, если TCH_F стандартная таблица то


подскажите, где в настройках указывается сбор статистики. у меня версия 4.7


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Re:
СообщениеДобавлено: Пн, сен 07 2009, 10:28 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Вт, ноя 07 2006, 09:49
Сообщения: 303
birds написал(а):
EvgenySA написал(а):
Воспользуйтесь SE30, в настройках не забудьте указать сбор статистики по операциям с внутренними таблицами.
На вскидку, если TCH_F стандартная таблица то


подскажите, где в настройках указывается сбор статистики. у меня версия 4.7

Ограничения измерения, закладка Операторы, в левом нижнем углу.

_________________
* * *


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 25 ]  На страницу Пред.  1, 2

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


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

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


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

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