Текущее время: Пт, июл 25 2025, 05:53

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 2 ] 
Автор Сообщение
 Заголовок сообщения: FULL OUTER JOIN
СообщениеДобавлено: Сб, дек 03 2011, 11:54 
Начинающий
Начинающий

Зарегистрирован:
Сб, дек 03 2011, 11:51
Сообщения: 9
Подскажите плз, как на ABAP сделать FULL OUTER JOIN двух таблиц?
или какую нибудь технику как это сделать с помощью loop?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: FULL OUTER JOIN
СообщениеДобавлено: Сб, дек 03 2011, 15:53 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пн, авг 03 2009, 15:37
Сообщения: 292
Откуда: Алматы
Пол: Мужской
Vugl написал(а):
Подскажите плз, как на ABAP сделать FULL OUTER JOIN двух таблиц?
или какую нибудь технику как это сделать с помощью loop?

Можно так...
Code:
TYPES: BEGIN OF ll_tab1
         , field1
         , field2
         , END OF ll_tab1
         , lt_tab1 TYPE STANDARD TABLE OF ll_tab1 WITH KEY field1.
DATA: lt_tab1 TYPE lt_tab1
    , ll_tab1 TYPE ll_tab1.

TYPES: BEGIN OF ll_tab2
         , field2
         , text2
         , used
         , END OF ll_tab2
         , lt_tab2 TYPE STANDARD TABLE OF ll_tab2 WITH KEY field2.
DATA: lt_tab2 TYPE lt_tab2
    , ll_tab2 TYPE ll_tab2.

TYPES: BEGIN OF ll_tab3
         , field1
         , field2
         , text
         , END OF ll_tab3
         , lt_tab3 TYPE STANDARD TABLE OF ll_tab3 .
DATA: lt_tab3 TYPE lt_tab3
    , ll_tab3 TYPE ll_tab3.

FIELD-SYMBOLS: <ll_tab2> TYPE ll_tab2.

SELECT * INTO CORRESPONDING FIELDS OF TABLE lt_tab1
  FROM tab1.

SELECT * INTO CORRESPONDING FIELDS OF TABLE lt_tab2
  FROM tab2.
 
LOOP AT lt_tab1 INTO ll_tab1.
  CLEAR ll_tab3.
  MOVE-CORRESPONDING ll_tab1 TO ll_tab3.
  READ TABLE lt_tab2 ASSIGNING <ll_tab2> WITH TABLE KEY field2 = ll_tab1-field2.
  IF sy-subrc = 0.
    MOVE-CORRESPONDING <ll_tab2> TO ll_tab3.
    IF <ll_tab2>-used = ''.
      <ll_tab2>-used = 'X'.
    ENDIF.
  ENDIF.
  APPEND ll_tab3 TO lt_tab3.
ENDLOOP.

CLEAR ll_tab3.
LOOP AT lt_tab2 INTO ll_tab2 WHERE used = ''.
  MOVE-CORRESPONDING ll_tab2 TO ll_tab3.
  APPEND ll_tab3 TO lt_tab3.
ENDLOOP.

_________________
Все в этом мире стоит под сомнением, над сомнением – только google...


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

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


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

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


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

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