Текущее время: Пн, июл 28 2025, 01:42

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
 Заголовок сообщения: Вопрос стиля =)
СообщениеДобавлено: Вт, июл 22 2008, 14:03 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, июл 08 2008, 09:30
Сообщения: 55
Хотелось бы услышать ответ в основном от знающих HR, как корректнее проверять связь

запросом
Code:
  SELECT SINGLE sobid FROM hrp1001
    INTO lv_sobid
  WHERE plvar = gp_plvar AND
    otype = 'S' AND
    objid = p_objid AND
    rsign = 'B' AND
    relat = '007' AND
    sclas = 'C'.



или вызовом ФМ

Code:
   CALL FUNCTION 'RH_STRUC_GET'
      EXPORTING
        act_otype              = 'S'
        act_objid              = p_objid
        act_wegid              = 'B007'
*       ACT_INT_FLAG           =
       ACT_PLVAR              = gp_plvar
       ACT_BEGDA              = gp_date
       ACT_ENDDA              = gp_date
*     TABLES
*       RESULT_TAB             =
       RESULT_OBJEC           = lt_objec
       RESULT_STRUC           = lt_struc
     EXCEPTIONS
       NO_PLVAR_FOUND         = 1
       NO_ENTRY_FOUND         = 2
       OTHERS                 = 3
              .


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, июл 22 2008, 14:23 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пн, фев 11 2008, 11:54
Сообщения: 359
Откуда: Воронеж
Пол: Мужской
Если не со стороны HR а просто со стороны абапера читающего чужой код, второй вариант предпочтетильнее, т.к. сразу видно что вы делаете, а вот по select без коментариев непонятно.(хотя напрямую в таблицы работает быстрее)

_________________
Hормальные люди делают вещи намного более безумные чем всё, что делают сумасшедшие (c) С.Лем


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, июл 22 2008, 14:28 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, июл 08 2008, 09:30
Сообщения: 55
Спасибо, оперативно так ;)

Дело в том что "просто абапер" все равно не поймет что он получает в таблице lt_struc . Подожду что скажут HR-щики.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос стиля =)
СообщениеДобавлено: Вт, июл 22 2008, 14:31 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
Mystic_you написал(а):
Хотелось бы услышать ответ в основном от знающих HR, как корректнее проверять связь

запросом
Code:
  SELECT SINGLE sobid FROM hrp1001
    INTO lv_sobid
  WHERE plvar = gp_plvar AND
    otype = 'S' AND
    objid = p_objid AND
    rsign = 'B' AND
    relat = '007' AND
    sclas = 'C'.



или вызовом ФМ

Code:
   CALL FUNCTION 'RH_STRUC_GET'
      EXPORTING
        act_otype              = 'S'
        act_objid              = p_objid
        act_wegid              = 'B007'
*       ACT_INT_FLAG           =
       ACT_PLVAR              = gp_plvar
       ACT_BEGDA              = gp_date
       ACT_ENDDA              = gp_date
*     TABLES
*       RESULT_TAB             =
       RESULT_OBJEC           = lt_objec
       RESULT_STRUC           = lt_struc
     EXCEPTIONS
       NO_PLVAR_FOUND         = 1
       NO_ENTRY_FOUND         = 2
       OTHERS                 = 3
              .
Предпочитаю ФМ.
Тем более что в вашем случае в запросе не участвуют даты (правда ФМ то же с дамповой ошибкой написан). А это не правильно.
Вместо RH_STRUC_GET можно просто прочитать ИТ1001 через RH_READ_INFTY и проверить наличие соответствующих связей.

ADD1: к преимуществам ФМ можно отнести так-же ещё и то, что они изолируют подробности реализации, от наличия и влиянии различных настроечных таблиц, параметров, разных BAdI, UE, ....

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос стиля =)
СообщениеДобавлено: Вт, июл 22 2008, 15:12 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, июл 08 2008, 09:30
Сообщения: 55
О, гуру пишуть, клаассс =)

Цитата:
Тем более что в вашем случае в запросе не участвуют даты
вот это труъ. и как это я даты упустил...

Цитата:
(правда ФМ то же с дамповой ошибкой написан).
непринципиально, но интересно какая там ошибка кроме того что TABLES закомментировано


Цитата:
Вместо RH_STRUC_GET можно просто прочитать ИТ1001 через RH_READ_INFTY и проверить наличие соответствующих связей.

Вот оно решение!


Цитата:
ADD1: к преимуществам ФМ можно отнести так-же ещё и то, что они изолируют подробности реализации, от наличия и влиянии различных настроечных таблиц, параметров, разных BAdI, UE, ....
Ну это само собой, абстракция и все такое. Вопрос возник потому что параметры запроса абсолютно те же самые что и у ФМ. В общем, через RH_READ_INFTY ИТ 1001 будет самое то.

Спасибо.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Вопрос стиля =)
СообщениеДобавлено: Вт, июл 22 2008, 15:20 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
Mystic_you написал(а):
Цитата:
(правда ФМ то же с дамповой ошибкой написан).
непринципиально, но интересно какая там ошибка кроме того что TABLES закомментировано

...
Ну так этого вполне достаточно чтобы выпась в дамп по отсутствующим импортным параметрам RESULT_OBJEC и RESULT_STRUC . Хотя репорт вполне может активироваться без ошибок.

_________________
"После" - не значит "вследствие"


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

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


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

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


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

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