구매오더를 생성할 때 공급업체와 자재코드를 넣으면 자동으로 조건의 총가격을 시스템에서 가져옵니다.
자동으로 총가격을 가져오는 이유는 구매정보레코드(Purchasing Info Record)에 해당 공급업체의 자재코드에 대해 총가격(조건유형-PB00)을 등록해 놓았기 때문입니다.
구매오더에서 자동으로 가져오는 총가격은 마지막으로 등록된(유효기간이 현재일을 포함하는) 가격을 가져오게 됩니다.
공급업체별 정보 레코드(ME1L) 트랜잭션코드를 통해 현 시점에서 유효한 총가격 조건을 일괄로 조회해 볼 수 있습니다.
많이 사용하는 트랜잭션코드이니 꼭 기억해 두시길 바랍니다.
구매정보레코드의 총가격도 시간이 지나면서 변동 요인에 의해 계속해서 가격의 변동이 발생하게 됩니다.
그런데 가끔 과거의 총가격을 확인하고 싶을 때가 있습니다.
공급 업체의 모든 자재에 대한 변경 이력이 필요하다든지, 특정 구매조직에 있는 모든 구매정보레코드의 변경 이력이 필요하다든지 할 경우 프로그램으로 조회해서 확인하거나 조회 결과를 내려받기 해서 확인해야 합니다.
이번 글에서는 SAP 구매정보레코드의 총가격을 일괄 조회 또는 개별 상세 조회하는 방법과 ABAP 프로그램 개발로 과거 변경 이력을 조회하는 방법에 대해 알아보겠습니다.
구매정보레코드 조회(ME13)에서 조건의 총가격을 조회하는 방법
1. 트랜잭션코드 ME13(구매정보레코드)은 구매정보레코드를 조회하는 화면입니다.
※ 참고로 구매정보레코드 생성은 ME11, 변경은 ME12 입니다.
2. 빨간 사각형으로 표시한 부분을 보면 알 수 있듯이 해당 공급업체의 자재는 지금까지 3번 총가격이 변동 되었음을 알 수 있습니다.
3. 확인하고 싶은 효력일자를 마우스 더블클릭하거나 선택한 뒤 선택 버튼을 클릭하면 총가격 조건 조회 화면으로 넘어가게 됩니다.
4, 아래는 총가격조건 조회 화면입니다.
5. 앞에서 선택한 유효 기간의 총가격을 확인 할 수 있습니다.
ME1L(공급업체별 정보 레코드) 트랜잭션코드 안내 – 구매정보레코드 총가격 일괄 조회
– ME1L(공급업체별 정보 레코드)는 구매정보레코드의 총가격을 조회할 수 있는 트랜잭션코드 입니다.
- 다양한 검색 조건이 있어 원하는 구매정보레코드를 조회해 볼 수 있습니다.
- 단, 유효기간의 효력시작일과 효력종료일의 범위가 현재 일자를 포함하는, 다시 말해 현시점에 유효한 총가격 조건을 출력 합니다.
- 사실 업무에서는 현시점의 총가격 조건을 더 많이 확인함으로 해당 T-code를 많이 사용하게 됩니다.
구매정보레코드 조건(총가격)의 변경 이력 조회하는 ABAP 프로그램 소스
구매정보레코드의 변경 이력을 조회하기 위해서는 별도의 ABAP 프로그램 개발이 필요합니다.
◆ 필요한 테이블
– A017 : (자재정보레코드 (특정플랜트별))
– KONP : 조건(품목)
◆ 프로그램 주요 소스 부분
*—- SELECTION SCREEN SELECTION-SCREEN BEGIN OF BLOCK BL1 WITH FRAME TITLE TEXT-T01. PARAMETERS: PA_KAPPL LIKE A017-KAPPL, PA_KSCHL LIKE A017-KSCHL. SELECT-OPTIONS SO_LIFNR FOR A017-LIFNR. SELECTION-SCREEN END OF BLOCK BL1. *—- 자재정보레코드에서 조건 레코드 번호(KNUMH)를 가져온다. SELECT KAPPL KSCHL LIFNR MATNR EKORG WERKS DATAB KNUMH INTO CORRESPONDING FIELDS OF TABLE IT FROM A017 WHERE KAPPL = PA_KAPPL AND KSCHL = PA_KSCHL AND LIFNR IN SO_LIFNR. *—- 조건 레코드 번호를 가지고 조건의 총가격을 가져온다. LOOP AT IT. MOVE-CORRESPONDING IT TO IT_DOWN SELECT SINGLE KBETR KONWA INTO (IT_DOWN-KBETR, IT_DOWN-KONWA) FROM KONP WHERE KNUMH = IT-KNUMH AND KAPPL = IT-KAPPL AND KSCHL = IT-KSCHL. APPEND IT_DOWN. CLEAR IT_DOWN. ENDLOOP. *— IT_DOWN 인터널테이블에 구매정보레코드의 조건에 대한 모든 데이터가 채워지게 됩니다. |
◆ 프로그램 설명
– 어플리케이션 ‘M‘은 여러 정보레코드 중 구매를 의미합니다.
– 조건유형 ‘PB00‘은 총가격을 조회하기 위해 입력합니다.
– 공급업체는 조회하고자 하는 공급업체를 입력합니다.
정보레코드의 레코드 건수가 워낙 많아 최소 이렇게 3가지 조건은 주어야 실행하는데 무리가 업습니다.
※ 함께 읽으면 도움이 될 만한 다른 포스팅 글입니다.
이 글이 도움이 되었기를 바랍니다. ^-^