'전체 글'에 해당되는 글 70건

  1. 16:25:27 (ABAP-FI) 선급비용 마스터 생성 함수 (Manual Accrual) - ECC


> 선급비용 마스터 생성 (Manual Accrual) <

 

선급비용 마스터를 생성하는 로직을 만들어봄 (ECC 또는 S4HANA 초기버전)


  DATA: LS_ASSIGN   TYPE ACE_ASSIGNMENTS,
        LT_ACCOUNT  TYPE ACEDS_ACCOUNTS_T,
        LS_ACCOUNT  TYPE ACEDS_ACCOUNTS,
        LV_EFFDATE  TYPE ACE_EFFDATE,
        LS_HEADER   TYPE ACAC_OBJECT_HEADER_EXT,
        LT_ITEMS    TYPE ACEDS_ITEMS_T,
        LS_ITEMS    TYPE ACEDS_ITEMS,
        LV_CREATED  TYPE FLAG,
        LT_RETURN   TYPE BAPIRET2_T.


  CLEAR: LS_ASSIGN, LS_ACCOUNT, LT_ACCOUNT[], LV_EFFDATE,
         LS_HEADER, LS_ITEMS, LT_ITEMS[],
         LV_CREATED, LT_RETURN[].

  "-- 헤더데이터.
  LS_HEADER-BUKRS          = '1000'.        "- 회사코드.
  LS_HEADER-ACAC_OBJTYPE   = 'INSU_001'.    "- 발생오브젝트범주.
  LS_HEADER-TEXT           = 'TITLE'.       "- 텍스트(명칭).
  LS_HEADER-ACAC_RESPERSON = 'RESPERSON'.   "- 책임자.
  LS_HEADER-VALITY_FROM    = '20260101'.    "- 기간시작.
  LS_HEADER-VALITY_TO      = '20261231'.    "- 기간종료.

  "-- 기준일.
  LV_EFFDATE = '20260101'.

  "-- 계정지정.
  LS_ASSIGN-BUS_AREA   = '0001'.        "- 사업영역.
  LS_ASSIGN-COSTCENTER = '0000111111'.  "- 코스트센터.

  "-- 항목데이터.
  LS_ITEMS-ACRTYPE   = 'COSTSP'.        "- 발생유형.
  LS_ITEMS-ACCRULE   = 'GAAP'.          "- 회계기준.
  LS_ITEMS-AMOUNT    = 10000.           "- 총금액.
  LS_ITEMS-CURRENCY  = 'KRW'.           "- 통화.
  LS_ITEMS-ACRMETHOD = 'LINEDAY'.       "- 발생처리방법.
  APPEND LS_ITEMS TO LT_ITEMS.
  CLEAR LS_ITEMS.

  "-- 계정설정.
  LS_ACCOUNT-ACRTYPE          = 'COSTSP'.      "- 발생유형.
  LS_ACCOUNT-ACCRULE          = 'GAAP'.        "- 회계기준.
  LS_ACCOUNT-PER_START_ACCNT  = '0011052020'.  "- 선급비용계정.
  LS_ACCOUNT-PER_TARGET_ACCNT = '0061116140'.  "- 비용계정.
  LS_ACCOUNT-PER_DOC_TYPE     = 'SA'.          "- 전표유형.
  APPEND LS_ACCOUNT TO LT_ACCOUNT.
  CLEAR LS_ACCOUNT.

  "-- Object 생성.
  CALL FUNCTION 'ACAC_OBJECT_MODIFY_EXT'
    EXPORTING
      IS_ASSIGNMENTS  = LS_ASSIGN
      IT_ACCOUNTS     = LT_ACCOUNT
      ID_EFFDATE      = LV_EFFDATE
      ID_TESTRUN      = ''
    IMPORTING
      ED_DATA_CREATED = LV_CREATED
      ET_RETURN       = LT_RETURN
    CHANGING
      CS_OBJECT       = LS_HEADER
      CT_OBJECT_ITEMS = LT_ITEMS.

  IF LV_CREATED = 'X'.
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
      EXPORTING
        WAIT = 'X'.
    MESSAGE S000 WITH 'Success'.
  ELSE.
    CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
    READ TABLE LT_RETURN INTO DATA(LS_RETURN) WITH KEY TYPE = 'E'.
    MESSAGE S000 WITH LS_RETURN-MESSAGE DISPLAY LIKE 'E'.
  ENDIF.

 

끝.

 

 

Posted by Gomtui
,