Текущее время: Вс, июл 27 2025, 19:43

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


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

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


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

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