SAP/Function

Material Internal No 를 External No 로 변경하는 함수

그녀는애교쟁이 2014. 8. 19. 10:29
반응형

오늘은 Material 의 Internal No 를 External No 로 변경하는 Function 을 소개하려고 한다. Material 이 있는 테이블 ( MARA ) 에서 보면 MATNR - 자재테이블 Primary Key 가 Char 18 자리로 되어 있다. 그런데 어떤 경우에는 숫자만 표시되고 어떤 경우에는 자재명 텍스트가 표시되는 현상을 볼 수 있다. 이것은 자재 테이블은 Internal No 와 External No 를 가지고 있어서 발생하는 현상인데 External No 는 MFPRN 필드를 사용해도 되나 별도의 함수를 사용해서 Internal <-> External 을 변경이 가능하다. 


Internal No -> External No :  CONVERSION_EXIT_MATN1_INPUT

External No -> Internal No :  CONVERSION_EXIT_MATN1_OUTPUT



REPORT ztest014.

DATA : l_internal  TYPE mara-matnr,
       l_external TYPE mara-matnr.

CLEAR : l_internal, l_external.

l_internal = 'Bolt'.

" Internal -> External
CALL FUNCTION 'CONVERSION_EXIT_MATN1_INPUT'
  EXPORTING
    input  = l_internal
  IMPORTING
    output = l_external.

" External -> Internal
CALL FUNCTION 'CONVERSION_EXIT_MATN1_OUTPUT'
  EXPORTING
    input  = l_external
  IMPORTING
    output = l_internal.




SE11 로 Mara Table 을 조회해 보면 Internal No 혹은 External No 로 Matnr 이 보이는 경우가 있다. 필요에 따라  Internal <-> External No 를 변경하기 위해서는 아래의 옵션을 찾아서 설정해 주면 된다. SE11 에서 MARA 테이블을 조회하고 데이터를 조회한 이후의 화면이다. 



[ ▲ Matnr 이 Internal No 로만 보인다. ]




[ ▲ 상단 메뉴중 Settings > User Parameters 메뉴를 선택 ]




[ ▲ Internal No 로만 표시된 경우 Format > Consider Conversion Exit 를 선택 ]




[ ▲ Consider Conversion Exit 를 선택하고 완료 ]




[ ▲ Matnr 이 자재명으로 변경되었다. (공개는 할수없지만.. 해보면 안다.) ]



항상 이런 것은 알면 아무것도 아닌 문제인데 알기는 쉽지 않은 부분이 SAP에는 많은 것 같다. 깨알 같은 거라도 기록으로 남겨서 SAP 개발자들의 당황하지 않고 문제를 잘 해결했으면 하는 나의 작은 바램이다.