При использовании некоторых ФМ для работы с классификацией, например описанной You are not allowed to view links.
Register or
Login следует тщательно проверять вводимые данные, иначе последствия .... ну читайте в соответствующей теме.
Или просто необходимо проверить проверить, например проклассифицирован ли обьект. Для этого используется внутренний номер
Как видим основная проблема заключается в том, что описание класса то конечно вставляется в привязке к материалу, но на самом деле классифицировать будем то партии?! Вот поэтому надо получить внутренний номер объекта для конфигурации, поле allkssk-cuobj, причем как видим для класса 023 указываем таблицу не MCHA из описания класса, а таблицу MARA.
Пример использования ФМ, обернут в form для удобства дальнейшего использования.
*&---------------------------------------------------------------------*
*& Form CHECK_EXIST
*&---------------------------------------------------------------------*
* Проверяем нет ли присвоения
*----------------------------------------------------------------------*
FORM check_exist_mat USING rs_matnr TYPE KSSK-OBJEK
CHANGING rs_exist TYPE c.
" Приводим номер материала к внутреннему формату
" На всякий случай
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.
exist = 'X'.
DATA: object_number LIKE inob-cuobj.
CALL FUNCTION 'CUOB_CHECK_EXISTENCE_OF_OBJECT'
EXPORTING
class_type = pa_klart
object_id = rs_matnr
table = 'MARA'
IMPORTING
object_number = object_number
EXCEPTIONS
lock_problem = 1
object_not_found = 2.
IF sy-subrc <> 0.
exist = space.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM. " CHECK_EXIST
Думаю суть понятна с комментариев.