Текущее время: Чт, мар 28 2024, 14:54

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 12 ] 
Автор Сообщение
 Заголовок сообщения: Два соединения (JOIN) с одной и той же таблицей в ракурсе ведения
СообщениеДобавлено: Вт, авг 04 2015, 12:35 
Специалист
Специалист

Зарегистрирован:
Пн, мар 12 2012, 08:40
Сообщения: 226
Добрый день. Подскажите, может, кто знает.

Имеется таблица ZTABLE c полями KUNNR (номер дебитора1) и KUNNR2 (номер дебитора2). Нужно, чтобы в ракурсе ведения при заполнении таблицы ZTABLE отображались имена дебиторов из KNA1. Удается только создать одно соединение с таблицей KNA1. При добавлении второго соединения этой же таблицы c KNA1 выдается сообщение что это 'Отношение с неподходящей кардинальностью'.

Можно ли в ракурсе ведения таблицы указать два соединения (JOIN) с одной и той же таблицей?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Два соединения (JOIN) с одной и той же таблицей в ракурсе ведения
СообщениеДобавлено: Вт, авг 04 2015, 14:21 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, сен 23 2005, 11:11
Сообщения: 963
создайте ещё один ракурс к KNA1


Последний раз редактировалось trop Вт, авг 04 2015, 16:19, всего редактировалось 2 раз(а).

Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Два соединения (JOIN) с одной и той же таблицей в ракурсе ведения
СообщениеДобавлено: Вт, авг 04 2015, 14:43 
Специалист
Специалист

Зарегистрирован:
Пн, мар 12 2012, 08:40
Сообщения: 226
trop написал(а):
создайте ещё один ракурс

Не совсем понял, как это должно помочь решить проблему?
Уточните пожалуйста.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Два соединения (JOIN) с одной и той же таблицей в ракурсе ведения
СообщениеДобавлено: Вт, авг 04 2015, 14:59 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, янв 30 2007, 19:13
Сообщения: 74
Пол: Мужской
Как вариант, можно слегка подправить сгенерированный код, а именно в инклуде LZ*F00. В Вашем случае там будет несколько подпрограмм с селектами из KNA1.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Два соединения (JOIN) с одной и той же таблицей в ракурсе ведения
СообщениеДобавлено: Вт, авг 04 2015, 15:11 
Специалист
Специалист

Зарегистрирован:
Чт, ноя 23 2006, 17:37
Сообщения: 197
Откуда: Москва
Пол: Мужской
Много раз эта тема пережевывалась, в т.ч. и на страницах данного форума, при желании темы можно найти.

Вкратце: вместо подвязывания второй раз одной и той же таблицы создаете поля, подлежащие заполнению из второй таблице, а затем для событий AA
AD в генераторе ведения заполняете все требуемые поля (в данном случае, данные из KNA1 по KUNNR2)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Два соединения (JOIN) с одной и той же таблицей в ракурсе ведения
СообщениеДобавлено: Вт, авг 04 2015, 15:12 
Специалист
Специалист

Зарегистрирован:
Чт, ноя 23 2006, 17:37
Сообщения: 197
Откуда: Москва
Пол: Мужской
tav написал:
Как вариант, можно слегка подправить сгенерированный код, а именно в инклуде LZ*F00. В Вашем случае там будет несколько подпрограмм с селектами из KNA1.


Не надо таких вариантов - любая перегенерация ракурса приведет к потере доработок.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Два соединения (JOIN) с одной и той же таблицей в ракурсе ведения
СообщениеДобавлено: Вт, авг 04 2015, 16:27 
Специалист
Специалист

Зарегистрирован:
Пн, мар 12 2012, 08:40
Сообщения: 226
tav написал:
Как вариант, можно слегка подправить сгенерированный код, а именно в инклуде LZ*F00. В Вашем случае там будет несколько подпрограмм с селектами из KNA1.

tav Изменения в этом инклюде запрещены SAP.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Два соединения (JOIN) с одной и той же таблицей в ракурсе ведения
СообщениеДобавлено: Вт, авг 04 2015, 16:43 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, янв 30 2007, 19:13
Сообщения: 74
Пол: Мужской
skaa написал(а):
tav написал:
Как вариант, можно слегка подправить сгенерированный код, а именно в инклуде LZ*F00. В Вашем случае там будет несколько подпрограмм с селектами из KNA1.

tav Изменения в этом инклюде запрещены SAP.


Значит не тот инклуд изменяете, его имя должно быть: L<имя ракурса>F00

Но тут я соглашусь с Paul_80 - это плохая затея, правильней сделать через события.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Два соединения (JOIN) с одной и той же таблицей в ракурсе ведения
СообщениеДобавлено: Ср, авг 05 2015, 11:06 
Специалист
Специалист

Зарегистрирован:
Пн, мар 12 2012, 08:40
Сообщения: 226
Спасибо всем за помощь! Сделал через события AA AD.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Два соединения (JOIN) с одной и той же таблицей в ракурсе ведения
СообщениеДобавлено: Чт, янв 19 2017, 18:34 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Вт, май 17 2005, 13:35
Сообщения: 4842
Откуда: Москва
Пол: Мужской
Добрый день.
Просьба поделиться кодом событий для заполнения второго поля.
Пока что-то не получается сообразить, что написать.
Спасибо.

_________________
Удача - результат нашего желания (© А. Нортон)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Два соединения (JOIN) с одной и той же таблицей в ракурсе ведения
СообщениеДобавлено: Пт, янв 20 2017, 10:04 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Вт, май 17 2005, 13:35
Сообщения: 4842
Откуда: Москва
Пол: Мужской
Итого,
1. Событие AA вызывается до чтения данныхиз БД, в нем не понятно, как можно подменить значение одного из столбцов ракурса
2. Событие AD вообще вызывается после ввода данных, т.е. если просто открыть ракурс на просмотр, оно не вздрогнет

Решил вопрос методом грубой силы - неявный энхансмент в конце подпрограмки, которая читает данные:
Code:
  FIELD-SYMBOLS: <bukrs> type bukrs,
                 <BUTXT> type t001-butxt.
  loop at total ASSIGNING FIELD-SYMBOL(<total>).
    ASSIGN COMPONENT 'BUKRS_R' of structure  <total> to <bukrs>.
    ASSIGN COMPONENT 'BUKRS_R_NAME' of structure  <total> to <BUTXT>.

    select  SINGLE BUTXT
      from t001 into <BUTXT>
      where bukrs = <bukrs>.
  endloop.


Если кто может подсказать лучшее решение - очень интересно.

_________________
Удача - результат нашего желания (© А. Нортон)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Два соединения (JOIN) с одной и той же таблицей в ракурсе ведения
СообщениеДобавлено: Ср, апр 18 2018, 11:58 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, авг 24 2015, 11:01
Сообщения: 65
Пол: Мужской
Добрый день! Столкнулся с таким же вопросом. В таблице два поля "Материал", нужно два текста.

В SE54 реализовал два события:

1) При добавлении записи в ракурсе. Событие - 05.
zv_tab - название ракурса.
Code:
  if zv_tab-matnr_2 is initial.
    clear zv_tab-matnr_tx_2.
  else.
    select single  maktx into zv_tab-matnr_tx_2
      from makt
      where matnr = zv_tab-matnr_2
      and spras = sy-langu.
  endif.


2) При открытии ракурса. Событие - АА
Code:
types: begin of ts_total.
          include structure zv_tab.
  types:  action,
          mark,
  end of ts_total.

  field-symbols: <fs_ltot>  type any,
                  <fs_total> type ts_total..

  perform get_data_zv_tab.

  loop at total assigning <fs_ltot> .
    assign <fs_ltot> to <fs_total> casting.

    check <fs_total> is assigned.
    if <fs_total>-matnr_2 is not initial.
      select single maktx into <fs_total>-matnr_tx_2
        from makt
        where matnr = <fs_total>-matnr_2
        and spras eq sy-langu.
    else.
      clear <fs_total>-matnr_tx_2.
    endif.
  endloop.


form get_data_zv_tab. ---- Стандартная подпрограмма начитки данных для ракурса. Т.е. начитываю стандартом, потом меняю только одно поле.


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

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


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

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


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

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