Автор Тема: Функции преобразования для СПП-элементов  (Прочитано 14060 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 809
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Традиционно СПП-элемент, непонятным образом фактически имеет два ключа, первое это текстовое представление (естественный ключ) с и именем POSID, доменом PS_POSID и длиной CHAR-24 и второе представление это уникальный код (синтетический ключ) с именем PSPNR, доменом PS_POSNR и длиной NUMC-8. Причем, второе представление является первичным ключем, а на первое построен уникальный индекс. Можно конечно обойтись и самому чтением таблички PRPS - СПП-элемент (элемент СтруктурПлана проекта) - ОсновнДанные, для преобразования первого во второе и наоборот, ну а можно воспользоваться двумя функциональными модулями:

Код: You are not allowed to view links. Register or Login
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, так как они это умеют делать сами. В  общем виде заворачиваем это дело в макрос и  успешно начинаем использовать.

Sapforum.Biz