상세 컨텐츠

본문 제목

SAP BAdI 추가

ABAP

by Kiroc 2024. 9. 13. 14:41

본문

 

예를 들어 PO 생성시 체크로직을 추가하고 싶은 경우

 

구글링을 잘 해보면

Meth : IF_EX_ME_PROCESS_PO_CUST~CHECK 에서 체크로직을 추가할 수 있는 것을 확인 할 수 있다

 

Tcd : SE19

에서 이미 만들어져 있는 BAdI를 조회해 보자.

BAdI 정의 이름 눌러서 사용처 검색하다 보면 만들어진 BAdI와 메소드를 확인해 볼 수 있다.

 

* 예시 코드 : 

if ( ls_mepoitem-matnr+1(1) = 자재타입1 or ls_mepoitem-matnr+1(1) = 자재타입2 ).
  if ls_lfa1-필드 <> ls_mepoitem-필드2.
  ch_failed = 'X'.
  clear lv_msg.
  message e00(zmm) with ls_mepoitem-ebeln ls_mepoitem-ebelp into lv_msg.
  mmpur_message_forced sy-msgty sy-msgid sy-msgno
                       sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  endif.
endif.

DEFINE mmpur_message_enaco.
  set extended check off.
  gl_tabix = sy-tabix.
  gl_subrc = sy-subrc.

  message id &2 type 'W' number &3 with &4 &5 &6 &7 into gl_dummy. "#EC MG_PAR_CNT

  call method cl_message_mm=>create
    exporting
      im_msgid  = &2
      im_msgty  = &1
      im_msgno  = &3
      im_msgv1  = sy-msgv1
      im_msgv2  = sy-msgv2
      im_msgv3  = sy-msgv3
      im_msgv4  = sy-msgv4
      im_custom = 1
    exceptions
      failure   = 01
      dialog    = 02.
  if sy-subrc = 1 or sy-subrc = 2.

    message id sy-msgid type sy-msgty number sy-msgno
            with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

  endif.
  sy-subrc = gl_subrc.
  sy-tabix = gl_tabix.
  set extended check on.
END-OF-DEFINITION.

관련글 더보기