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

Часовой пояс: 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 часа


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

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


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

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