Текущее время: Сб, июл 26 2025, 04:05

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Как достать тип объекта в инфонаборе на PCH в транзакции PQAH
СообщениеДобавлено: Вт, авг 16 2011, 18:00 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Вт, июл 25 2006, 14:50
Сообщения: 3481
Откуда: Moscow
Пол: Мужской
Есть инфонабор на основе PCH. В нем "зашит" код объекта.
При формировании отчетов на базе этого инфонабора через PQAH (опер.запрос) для поля ИД объекта нет средства поиска
Изображение
Средство поиска нужно. Сильно.

Сделал свое Z поле в P1000_AF (ИД курса которое), прицепил к нему поисковик, скопированный в Z из HRBAS00OBJID через тип данных. В поисковике задал свой FM вместо RHF4_EXIT_OBJID (стандартный в такой конфигурации как раз не может найти тип объекта.
В отладчике нахожу, что тип объекта лежит в {O:3*\FUNCTION-POOL=AQ_ADHOC\CLASS=LCL_QUERY_MAIN}-OBJECT_HANDLING-CONTEXT-OBJECT_KEY_FIELDS[2]-RANGES[1]+3(2)
В нужном месте FM пытаюсь сделать assign
Code:
    CALL FUNCTION 'F4UT_PARAMETER_VALUE_GET'
      EXPORTING
        parameter   = 'OTYPE'
      IMPORTING
        value       = local_value
      TABLES
        shlp_tab    = shlp_tab
        record_tab  = record_tab
      CHANGING
        shlp        = shlp
        callcontrol = callcontrol
      EXCEPTIONS
        OTHERS      = 0.

    if local_otype is not INITIAL.
      local_otype  = local_value.
    else.
      assign ('{O:3*\FUNCTION-POOL=AQ_ADHOC\CLASS=LCL_QUERY_MAIN}-OBJECT_HANDLING-CONTEXT-OBJECT_KEY_FIELDS[2]-RANGES[1]+3(2)') to <z_query_otype>.
      if <z_query_otype> is ASSIGNED.
        move <z_query_otype> to local_otype.
      endif.
    endif.


Пытаюсь извернуться разными методами, но не выходит каменный цветок.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как достать тип объекта в инфонаборе на PCH в транзакции PQAH
СообщениеДобавлено: Пт, авг 19 2011, 09:31 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Пн, окт 11 2004, 13:16
Сообщения: 1790
Proforg написал:
для поля ИД объекта нет средства поиска.
Средство поиска нужно. Сильно.
Сделал свое Z поле в P1000_AF (ИД курса которое)

А почему бы не сделать средство поиска для существующего поля, а не дополнительное поле со средством поиска?

Разве в кодировке инфонабора не получается так сделать?

В инфонаборе доступны все поля экрана выбора PCH, например, PCHOTYPE (см. INCLUDE DBPCHSEL).

_________________
/nex


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как достать тип объекта в инфонаборе на PCH в транзакции PQAH
СообщениеДобавлено: Пт, авг 19 2011, 12:22 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Вт, июл 25 2006, 14:50
Сообщения: 3481
Откуда: Moscow
Пол: Мужской
Гмм.. А как полю без СП прицепить в инфонаборе средство поиска? Модификацией как-то не комильфо.

Пока зашел чуть с другой стороны.
Code:
  FIELD-SYMBOLS: <z_query_wsid> type AQS_WSID.
  FIELD-SYMBOLS: <z_query_SGNAME> type AQS_SGNAME.
  data: i_key_fields type AQADH_T_OBJECT_KEY_FIELD.
  data: t_key_fields type aqadh_s_object_key_field OCCURS 0 WITH HEADER LINE ,
        w_key_fields type aqadh_s_object_key_field.
  data: t_ranges TYPE aqadh_s_ranges OCCURS 0 WITH HEADER LINE,
        w_ranges TYPE aqadh_s_ranges .

  data: l_otype LIKE ppmac-otype.

  data: wa_interface type DDSHIFACE.

  assign ('(RHADHOC0)L_AQS') to  <z_query_sgname>.
  assign ('(RHADHOC0)L_AQW') to  <z_query_wsid>.
  if <z_query_sgname> is ASSIGNED and <z_query_wsid> is ASSIGNED .

    CALL FUNCTION 'AQ_INT_GET_FUNCAREA_DEFINITION'
      EXPORTING
        WORKSPACE          = <z_query_wsid>
        FUNCAREA           = <z_query_sgname>
      IMPORTING
        OBJECT_KEY_FIELDS  = i_key_fields
      EXCEPTIONS
        INTERNAL_ERROR     = 1
        FUNCAREA_NOT_FOUND = 2
        OTHERS             = 3.
    if sy-subrc eq 0.
      t_key_fields[] = i_key_fields[].
      loop at t_key_fields into w_key_fields where NAME_IN_KEY_STRUC = 'OTYPE'.
        MOVE w_key_fields-ranges[] to t_ranges[].
        loop at t_ranges into w_ranges.
          move w_ranges-low to l_otype.
          exit.
        endloop.
      endloop.
    endif.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Как достать тип объекта в инфонаборе на PCH в транзакции PQAH
СообщениеДобавлено: Пт, авг 19 2011, 12:50 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
Proforg написал:
Гмм.. А как полю без СП прицепить в инфонаборе средство поиска? Модификацией как-то не комильфо.

Без модификаций. Может получиться через аппенд структуру. У Вас же алвшное поле? впрочем это не важно, для экранного тоже работает. http://sapboard.ru/forum/viewtopic.php?f=13&t=69473


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Как достать тип объекта в инфонаборе на PCH в транзакции PQAH
СообщениеДобавлено: Пт, авг 19 2011, 15:31 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Вт, июл 25 2006, 14:50
Сообщения: 3481
Откуда: Moscow
Пол: Мужской
Тут всё интересней. У меня СП отлично работает везде, кроме этого самого ADHOC'a на основе PCH'ной ЛБД, т.е. при использовании SQ01 проблемы нет. Соответственно, править там не хотелось бы.


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

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


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

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


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

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