Традиционно СПП-элемент, непонятным образом фактически имеет два ключа, первое это текстовое представление (естественный ключ) с и именем POSID, доменом PS_POSID и длиной CHAR-24 и второе представление это уникальный код (синтетический ключ) с именем PSPNR, доменом PS_POSNR и длиной NUMC-8. Причем, второе представление является первичным ключем, а на первое построен уникальный индекс. Можно конечно обойтись и самому чтением таблички PRPS - СПП-элемент (элемент СтруктурПлана проекта) - ОсновнДанные, для преобразования первого во второе и наоборот, ну а можно воспользоваться двумя функциональными модулями:
DATA: l_pspnr LIKE prps-pspnr,
l_posid LIKE prps-posid.
l_posid = 'MY_ELEMENT'.
CALL FUNCTION 'CONVERSION_EXIT_ABPSP_INPUT'
EXPORTING
input = l_posid
IMPORTING
output = l_pspnr
EXCEPTIONS
not_found = 1
OTHERS = 2.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
l_pspnr = '1'.
CALL FUNCTION 'CONVERSION_EXIT_ABPSP_OUTPUT'
EXPORTING
input = l_pspnr
IMPORTING
output = l_posid.
В чем польза эти ФМ в отличии от просто чтения таблицы PRPS. Ну скажем так, не надо предварительной вызвать функциональный модуль CONVERSION_EXIT_ALPHA_INPUT для параметров перед использованием в SELECT, так как они это умеют делать сами. В общем виде заворачиваем это дело в макрос и успешно начинаем использовать.