Текущее время: Пн, авг 04 2025, 08:00

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: ПЕРЕСЕЧЕНИЕ содержимого внутренних таблиц
СообщениеДобавлено: Чт, фев 07 2008, 10:27 
Ассистент
Ассистент

Зарегистрирован:
Ср, июл 11 2007, 17:06
Сообщения: 47
Скажите пожалуйста,
есть ли эффективный способ проверить пересечение содержимого двух внутренних таблиц с одинаковой структурой? может в САПе какой-нибудь Ф.М. или оператор грешным делом завалялся?


Последний раз редактировалось gallek Чт, фев 07 2008, 11:58, всего редактировалось 1 раз.

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

Зарегистрирован:
Пт, окт 07 2005, 09:10
Сообщения: 752
Откуда: 4.6C
Пол: Мужской
Цитата:
Like other data objects, you can use internal tables as operands in logical expressions.

.... <itab1> <operator> <itab2> ...

For <operator>, all operators listed in the table in Comparisons Between Data Types can be used (EQ, =, NE, <>, ><, GE, >=, LE, <=, GT, >, LT, <).

If you are using internal tables with header lines, remember that the header line and the body of the table have the same name. If you want to address the body of the table in a comparison, you must place two brackets ([ ]) after the table name.

The first criterion for comparing internal tables is the number of lines they contain. The more lines an internal table contains, the larger it is. If two internal tables contain the same number of lines, they are compared line by line, component by component. If components of the table lines are themselves internal tables, they are compared recursively. If you are testing internal tables for anything other than equality, the comparison stops when it reaches the first pair of components that are unequal, and returns the corresponding result.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: сравнение содержимого внутренних таблиц
СообщениеДобавлено: Чт, фев 07 2008, 11:41 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
gallek написал(а):
Скажите пожалуйста,
есть ли эффективный способ сравнить содержимое двух внутренних таблиц с одинаковой структурой? может в САПе какой-нибудь Ф.М. или оператор грешным делом завалялся?

If iTab1[] = iTab2[].

_________________
"For all entries" не в SAP-ах, "for all entries" в головах! :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: сравнение содержимого внутренних таблиц
СообщениеДобавлено: Чт, фев 07 2008, 11:53 
Ассистент
Ассистент

Зарегистрирован:
Ср, июл 11 2007, 17:06
Сообщения: 47
Parazit написал:
gallek написал(а):
Скажите пожалуйста,
есть ли эффективный способ сравнить содержимое двух внутренних таблиц с одинаковой структурой? может в САПе какой-нибудь Ф.М. или оператор грешным делом завалялся?

If iTab1[] = iTab2[].


извините вопрос был задан неверно, а как проверить, есть ли в таблицах одинаковые записи, т.е. как в множествах пересекаются ли таблицы, но не обязательно полностью совпадают


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

Зарегистрирован:
Пт, авг 04 2006, 20:56
Сообщения: 1006
Откуда: 37 МИКРОРАЙОН
Пол: Мужской
Code:
FORM f_internelle_tabellen_compare.

DATA: COUNT LIKE SY-TABIX.

SORT IT_TAB1.

LOOP AT IT_TAB2 INTO WA_ITAB.

READ TABLE IT_TAB1 WITH KEY FIELD = WA_ITAB-FIELD
TRANSPORTING NO FIELDS BINARY SEARCH.

IF SY-SUBRC = 0.
ADD 1 TO COUNT.
ENDIF.

ENDLOOP.

WRITE: \'Количество совпаших записей: ', COUNT.

ENDFORM.


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

Зарегистрирован:
Ср, июл 11 2007, 17:06
Сообщения: 47
ROKO написал:
Code:
FORM f_internelle_tabellen_compare.

DATA: COUNT LIKE SY-TABIX.

SORT IT_TAB1.

LOOP AT IT_TAB2 INTO WA_ITAB.

READ TABLE IT_TAB1 WITH KEY FIELD = WA_ITAB-FIELD
TRANSPORTING NO FIELDS BINARY SEARCH.

IF SY-SUBRC = 0.
ADD 1 TO COUNT.
ENDIF.

ENDLOOP.

WRITE: \'Количество совпаших записей: ', COUNT.

ENDFORM.


спасибо, видно прийдётся так.


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

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


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

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


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

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