Автор Тема: CUOB_GET_NUMBER - получение внутреннего номера объекта классификации  (Прочитано 7245 раз)

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

Оффлайн Паганель

  • Я НЕ ЗАНИМАЮСЬ SAP
  • Administrator
  • Full Member
  • *****
  • Сообщений: 1 367
  • Репутация: +20/-0
  • Пол: Мужской
  • https://noteifyapp.com
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • MacPlus Software
Аналогична CUOB_CHECK_EXISTENCE_OF_OBJECT (You are not allowed to view links. Register or Login)
проверяет существует ли объект  и возвращает внутренний номер  объекта классификации, комментарии думаю излишни, все понятно с кода, можно использовать в программе You are not allowed to view links. Register or Login, для удобства использования оформлена как form

Код: You are not allowed to view links. Register or Login
*&---------------------------------------------------------------------*
*&      Form  get_object_number
*&---------------------------------------------------------------------*
*      Получение внутреннего номера
*----------------------------------------------------------------------*
FORM get_object_number  USING   rs_matnr TYPE mara-matnr
                       CHANGING rs_object_number TYPE kssk-objek.

    DATA: temp_object_id LIKE kssk-objek.

    " Приводим номер материала к внутреннему формату
    " На всякий случай
     CALL FUNCTION 'CONVERSION_EXIT_MATN1_INPUT'
         EXPORTING
            input = rs_matnr
         IMPORTING
            output = rs_matnr
          EXCEPTIONS
            length_error = 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.


     CALL FUNCTION 'CUOB_GET_NUMBER'
      EXPORTING
        class_type = pa_klart
        object_id  = rs_matnr
        table      = 'MARA'
        "I_READ_DB_FIRST
      IMPORTING
         object_number = rs_object_number
       EXCEPTIONS
         lock_problem = 1
         object_not_found = 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.
ENDFORM.                    " get_object_number
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login

Оффлайн Паганель

  • Я НЕ ЗАНИМАЮСЬ SAP
  • Administrator
  • Full Member
  • *****
  • Сообщений: 1 367
  • Репутация: +20/-0
  • Пол: Мужской
  • https://noteifyapp.com
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • MacPlus Software
Для вызова использую такую конструкцию (в основном для приведения типов),
предположим, что есть параметр

Код: You are not allowed to view links. Register or Login
PARAMETERS: pa_matnr type mara-matnr.
.......
DATA: L_OBJEK_ID TYPE KSSK-OBJEK.
DATA: temp_object_id LIKE kssk-objek.
MOVE so_matnr-low TO L_OBJEK_ID.

perform get_object_number  USING   L_OBJEK_ID
                       CHANGING temp_object_id.
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login

Sapforum.Biz