SAPфорум.RU
https://sapboard.ru/forum/

Можно ли получить ФИО по ШД
https://sapboard.ru/forum/viewtopic.php?f=13&t=96353
Страница 1 из 1

Автор:  exotik [ Пт, май 04 2018, 09:50 ]
Заголовок сообщения:  Можно ли получить ФИО по ШД

Есть ИД ШД, как можно получить ФИО сотрудника на данной ШД? Я думал через ФМ RH_STRUC_GET найти ТН дальше из ит 0002 вытащить фио, есть более удобные варианты? :)

Автор:  Kuranov.Dmitry [ Пт, май 04 2018, 10:32 ]
Заголовок сообщения:  Re: Можно ли получить ФИО по ШД

1 вариант:
прочитать соединения ШД к ТН, получить ТН и HR_READ_INFOTYPE
2 вариант:
Code:
    SELECT SINGLE pernr INTO l_pernr  FROM PA0001 WHERE plans = 12345678 and begda <=sy-datum and endda >= sy-datum.
    CALL FUNCTION HR_READ_INFOTYPE
        ......


3 вариант

Code:
    SELECT a~begda a~endda a~nachn a~vorna a~midnm INTO TABLE lt_data FROM PA0001 as b JOIN PA0002  as a  ON a~pernr = b~pernr WHERE b~plans = 12345678 and  b~begda <=sy-datum and b~endda >= sy-datum.
    DELETE lt_data WHERE endda < sy-datum or begda > sy-datum.


Автор:  exotik [ Пт, май 04 2018, 10:38 ]
Заголовок сообщения:  Re: Можно ли получить ФИО по ШД

Kuranov.Dmitry написал(а):
1 вариант:
прочитать соединения ШД к ТН, получить ТН и HR_READ_INFOTYPE
2 вариант:
Code:
    SELECT SINGLE pernr INTO l_pernr  FROM PA0001 WHERE plans = 12345678 and begda <=sy-datum and endda >= sy-datum.
    CALL FUNCTION HR_READ_INFOTYPE
        ......


3 вариант

Code:
    SELECT a~begda a~endda a~nachn a~vorna a~midnm INTO TABLE lt_data FROM PA0001 as b JOIN PA0002  as a  ON a~pernr = b~pernr WHERE b~plans = 12345678 and  b~begda <=sy-datum and b~endda >= sy-datum.
    DELETE lt_data WHERE endda < sy-datum or begda > sy-datum.



Вышло вот так:
Code:
CALL FUNCTION 'RH_STRUC_GET'
          EXPORTING
            act_otype  = 'S'
            act_objid  = '500000038'
            act_wegid  = 'A008'
            act_endda  = sy-datum
          TABLES
            result_tab = lt_rmp_pernr.

        READ TABLE lt_rmp_pernr INTO ls_rmp_pernr INDEX 1.
        CHECK sy-subrc = 0.

        call FUNCTION 'HR_READ_INFOTYPE'
          EXPORTING
            pernr     = ls_rmp_pernr-OBJID
            infty     = '0002'
            begda     = sy-datum
            endda     = sy-datum
          TABLES
            infty_tab = lt_p0002.

        READ TABLE lt_p0002 INTO ls_p0002 INDEX 1.
        CHECK sy-subrc = 0.

        concatenate ls_p0002-NACHN  ls_p0002-VORNA  ls_p0002-MIDNM into ls_entity-FIO SEPARATED BY space.


Можно обернуть это в какой-то метод? Меняться будет только ИД ШД и поля вывода.

Автор:  Kuranov.Dmitry [ Пт, май 04 2018, 10:48 ]
Заголовок сообщения:  Re: Можно ли получить ФИО по ШД

Создайте свой ФМ и запихните это туда

Автор:  Saperx [ Пт, май 04 2018, 13:03 ]
Заголовок сообщения:  Re: Можно ли получить ФИО по ШД

exotik написал(а):
...
Можно обернуть это в какой-то метод?
...

Интересно, а если бы ответили "нет, нельзя", то чтобы тогда делал автор? :)

Автор:  Kuranov.Dmitry [ Пт, май 04 2018, 13:42 ]
Заголовок сообщения:  Re: Можно ли получить ФИО по ШД  Тема решена

Saperx написал(а):
exotik написал(а):
...
Можно обернуть это в какой-то метод?
...

Интересно, а если бы ответили "нет, нельзя", то чтобы тогда делал автор? :)

Копипаста 40 строк)

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/