본문 바로가기

SAP/ABAP

ALV 에서 fieldcatalog 속성으로 Material No Internal No 에서 External No 로 표시하기

ALV 에서 Material Number 를 Internal Number 에서 External Number 로 출력을 해야 할 때가 있다. MARA 테이블에서 MFRPN 이라는 필드의 값을 보여줘도 되지만 ALV 에서 Field Catalog 에 옵션을 추가하므로 ALV Grid 에 External Number 를 출력할 수 있다.

 

일단 MATNR 필드의 Convers Routine 을 확인한다. 이것은 MATNR 의 도메인에 가면 확인을 할 수 있는데 대부분 MATN1 을 기본적으로 사용한다. 

 

 

MATN1 과 MATN2 의 뭐가 다른지는 잘 모르겠지만 MATNR 에서 MATN1을 사용하니 이 것을 이용해서 MATNR 을 External Number 를 출력한다.

 

 

위에 코드는 ALV Field Catalog 구성하는 코드 중 일부이다. ls_fieldcat-convexit = 'MATN1' 을 입력해주면 MATNR 의 Internal Number 의 값이 External Number 로 출력이 된다. 이 방법이 Conversion 해주는 Function 을 사용하는 것 보다 장점은 MATNR 을 Open SQL 에서 사용할 때도 다시 역으로 Conversion 해 줄 필요가 없다는 것이다.

 

 

입력도 External Number로 입력을 하면 알아서 Internal Number로 변경을 해주기 때문에 Open SQL 전에 Conversion 함수를 실행할 필요가 없다.

 

참고로 MATN1 외에 ALPHA 를 입력하면 ALPHA CONVERSION 이 적용된다. 이게 더 유용한 내용일지도...