SAP/FI

(FI) 고정자산 잔존가액 확인 Function Module

Gomtui 2017. 11. 29. 17:29
728x90

 

> (FI) 고정자산 잔존가액 확인 Function Module <

 

자산 처분과 관련된 프로그램을 개발해야 하는데 여기저기 테이블에서 값을 가져와 계산하는게 귀찮아서 특정 시점의 잔존가액을 확인할 수 있는 Function Module이 있는지 찾아본 결과 알아낸 Function Module

FIAA_NBV_SHOW

아래와 같이 사용한다.

 

  CALL FUNCTION 'FIAA_NBV_SHOW'
    EXPORTING
      I_BUKRS                  C_BUKRS    " 회사코드
      I_AFABE                  L_AFABE     " 감가상각영역
      I_BZDAT                  L_BZDAT    " 확인하고픈 시점
      I_DIALOG                 ''
      I_ANLN1                  L_ANLN1    " 자산번호
      I_ANLN2                  L_ANLN2    " 자산하위번호
    IMPORTING
      E_NBV                    L_NBV        " 잔존가액
    EXCEPTIONS
      BUKRS_NOT_DEFINED        1
      ASSET_NOT_DEFINED        2
      AREA_NOT_DEFINED         3
      BZDAT_MISSING            4
      NO_AUTHORITY             5
      AREA_NOT_VALID_FOR_ASSET 6
      INPUT_IS_INCOMPLETE      7
      BZDAT_PROBLEMS           8
      BZDAT_WRONG              9
      ERRORS_CALC_DETECTED     10
      AREA_IS_DERIVED          11.

 

문제는 이 Function을 사용하면 Lock Entry에 해당 Asset이 잡혀버리는 현상이... ㅡㅡ;

조회하고 처분하려면 Lock 오류메시지가 나타난다.

그래서 아래와 같이 잔존가액 확인 후 Lock Entry를 삭제하도록 했더니 원하는대로 조회성공~~

 

  DATAL_GNAME LIKE SEQG3-GNAME,
        L_GARG  LIKE SEQG3-GARG,
        L_SUBRC LIKE SY-SUBRC.
  DATALT_ENQ  TYPE TABLE OF SEQG3.

* Lock Entry 확인.
  L_GNAME 'ANLA'.
  CONCATENATE SY-MANDT C_BUKRS P_ANLN1 P_ANLN2 INTO L_GARG.

  CALL FUNCTION 'ENQUEUE_READ'
    EXPORTING
      GNAME  L_GNAME
      GARG   L_GARG
    TABLES
      ENQ    LT_ENQ
    EXCEPTIONS
      OTHERS 0.

  DESCRIBE TABLE LT_ENQ LINES SY-TFILL.

  CHECK SY-TFILL > 0.

* Lock Entry 삭제.
  CALL FUNCTION 'ENQUE_DELETE'
    EXPORTING
      SUPPRESS_SYSLOG_ENTRY 'X'
    IMPORTING
      SUBRC                 L_SUBRC
    TABLES
      ENQ                   LT_ENQ.

 

끝.

반응형