Текущее время: Вс, июл 20 2025, 21:17

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: Удаление данных во внутренней таблице
СообщениеДобавлено: Вт, фев 06 2007, 14:54 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, янв 10 2006, 12:01
Сообщения: 89
Есть внутенняя таблица оборотов по счетам (Счет, корреспондирующий счет, сумма)
TURN
c полями
ACC
KACC
SUMM

Есть таблица словаря данных Счет(Счет, Счет первого порядка).
/BIC/ACC
с полями
ACC
BALACC1

Как правильно сформировать таблицу, которая будет содержать
(Счет, Корреспондирующий счет, Сумму, Балансовый счет 1 порядка)?

Необходимо ли делат loop по всей таблице оборотов и последовательно вставлять строки в новую таблицу?

Или можно сделать что-то типа select с условиями, чтобы объединить несколько внутренних таблиц.

С АБАПОМ не работал много, так что может есть какой выход.

Заранее спасибо за помощь


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, фев 06 2007, 15:44 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Чт, апр 07 2005, 05:27
Сообщения: 621
Откуда: Москва
Пол: Мужской
1. Во внутреннюю таблицу TURN добавьте колонку BALACC1
2. Если ACC в пределах нескольких тыс. строк, то: SELECT целиком во внутр. таблицу it_acc
3.

Code:
LOOP AT turn.
  READ TABLE it_acc WITH KEY acc = turn-acc.
  IF sy-subrc = 0.
    turn-balacc1 = it_acc-balacc1.
    MODIFY turn.
  ENDIF.
ENDLOOP.


4. Optional, чтоб память не кушало.
Code:
REFRESH it_acc.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, фев 06 2007, 15:59 
Почетный гуру
Почетный гуру

Зарегистрирован:
Вт, авг 17 2004, 10:45
Сообщения: 550
Откуда: SAP_BASIS 640
lumer написал:
4. Optional, чтоб память не кушало.
Code:
REFRESH it_acc.


Чтобы память не кушало, лучше делать FREE it_acc. И в некоторых случаях совсем не optional.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, фев 06 2007, 16:06 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, апр 13 2006, 12:32
Сообщения: 1503
Откуда: Питер
lumer написал:
2. Если ACC в пределах нескольких тыс. строк, то: SELECT целиком во внутр. таблицу it_acc


Отсортировать it_acc забыли и использовать бинарный поиск. И плюс к этому стоит закешировать последнее значение.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, фев 06 2007, 16:44 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Чт, апр 07 2005, 05:27
Сообщения: 621
Откуда: Москва
Пол: Мужской
Согласен со всем, но если понтоваться, то

DTSTTCPW (искать яндексом) :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, фев 06 2007, 16:53 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, апр 13 2006, 12:32
Сообщения: 1503
Откуда: Питер
Цитата:
4. Optional, чтоб память не кушало.

ты первый про оптимизацию начал ;-)


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

Зарегистрирован:
Пн, дек 20 2004, 16:05
Сообщения: 1080
Откуда: 4.0B
Пол: Мужской
:) loop по turn можно через assign пропустить


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

Зарегистрирован:
Чт, апр 07 2005, 05:27
Сообщения: 621
Откуда: Москва
Пол: Мужской
Извращенцы ))
Нас г-н akula84 еще понимает? ))


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, фев 07 2007, 17:37 
Гость
еще можно очистить табличку
clear it_acc[].

:P


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, фев 07 2007, 18:40 
Почетный гуру
Почетный гуру

Зарегистрирован:
Вт, авг 17 2004, 10:45
Сообщения: 550
Откуда: SAP_BASIS 640
РМщик написал(а):
еще можно очистить табличку
clear it_acc[].

:P


По второму кругу пошли... Мопед не мой.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, фев 08 2007, 12:18 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Пн, дек 20 2004, 16:05
Сообщения: 1080
Откуда: 4.0B
Пол: Мужской
:) Захешить it_acc


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

Зарегистрирован:
Чт, апр 07 2005, 05:27
Сообщения: 621
Откуда: Москва
Пол: Мужской
Можно еще
SORT it_acc
и использовать бинарный поиск


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

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


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

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


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

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