SAP FI 系列 008: 會計科目設置要點總結

在設置會計科目表的時候,對科目清單中的科目,需要有一個嚴謹的設計,既要考慮賬務處理的要求,也要滿足 SAP 技術上的要求。本篇總結會計科目在 SAP 技術上的一些要點。

會計科目設置時考慮因素

從技術上來說,要考慮如下因素:

  • 哪些科目需要設置未清項目管理 (open item manangement)
  • 哪些科目須設爲自動過賬科目
  • 字段狀態碼,爲減少工作量,儘可能使用 SAP 標準字段狀態碼,比如 G045 - GR/IR,G067 - 統馭科目
  • 損益科目中,哪些科目需要設爲成本要素?哪些科目不能設爲成本要素科目?

重要科目說明

固定資產清理科目

SAP 要求固定資產清理科目( Fixed asset clearing) 爲損益科目,但不能爲成本要素。按中國會計科目體系,固定資產清理科目爲資產負債表科目,與 SAP 系統的要求不一致。

解決辦法:

  • 第一個方法:按 SAP 要求,將固定資產清理科目作爲損益科目。這種方法有兩個問題,一般情況下損益科目與資產類科目的編號範圍不一致,這樣固定資產清理科目放在損益科目中,與固定資產科目不在一起。第二個問題是,損益科目每年結轉的時候,科目餘額結轉至留存收益。儘管固定資產清理是一箇中間科目,但這也會導致問題。所以實務中並不多見。
  • 第二個方法:將固定資產清理科目作爲資產負債表科目,但需要在創建科目錢,用 OBA5 將 AC305/ AC306 消息改爲警告,創建完成之後再修改回去。

GR/IR

GR/IR 科目是 SAP 用於採購收貨和發票校驗的中間科目,該科目有如下要求:

  • 本位幣餘額
  • Open item management
  • 系統自動記賬
  • SAP 提供了一個專門字段狀態變式 G045

生產成本

西方會計爲損益科目,中國一般設爲資產負債表科目。

生產成本-在製品轉出

SAP 生產成本科目是作爲損益科目的,中國一般是作爲存貨類科目,作爲存貨的一部分。生產成本-在製品轉出科目用於月末結轉在製品,這個科目不能設成本要素,否則月結出現錯誤。

不必設爲成本要素的損益科目

以下科目可考慮不設成本要素:

  • 主營業務成本: 主營業務成本科目以及主營業務成本差異科目,可以不設爲成本要素
  • 營業稅 / 消費稅 / 城建稅 / 教育費附加/ 資源稅等一般不設爲成本要素
  • 財務費用: 一般不設成本要素
  • 固定資產減值損失: 固定資產減值損失,固定資產處置損益可以不設成本要素

會計科目清單報表

爲了方便對會計科目的字段屬性進行檢查,我編寫了如下程序對科目的重要字段進行檢查。也可用於展示科目表,可供參考。

REPORT  z_cocd_gl_list.

TABLES: ska1.

* For ALV
DATA: gr_salv_table TYPE REF TO cl_salv_table.

* ALV toolbar
DATA: gr_functions TYPE REF TO cl_salv_functions_list.

* Layout settings
DATA: gr_layout TYPE REF TO cl_salv_layout,
      layout_key TYPE salv_s_layout_key.

* AVL columns
DATA: gr_columns TYPE REF TO cl_salv_columns_table,
      gr_column  TYPE REF TO cl_salv_column_table.

* Define a structure representing Company code COA
TYPES: BEGIN OF ty_coa,
        ktopl  LIKE ska1-ktopl,       " Chart of account
        bukrs  LIKE skb1-bukrs,       " Company code
        saknr  LIKE ska1-saknr,       " G/L account number
        bilkt  LIKE ska1-bilkt,       " Group account number
        altkt  LIKE skb1-altkt,       " Alternative account number
        xbilk  LIKE ska1-xbilk,       " Is B/S account
        gvtyp  LIKE ska1-gvtyp,       " Is P/L account
        ktoks  LIKE ska1-ktoks,       " Account group
        mwskz  LIKE skb1-mwskz,       " Tax category
        xmwno  LIKE skb1-xmwno,       " Indicator: Tax code is not a required field
        fstag  LIKE skb1-fstag,       " Field status group
        mitkz  LIKE skb1-mitkz,       " Is recon. account
        waers  LIKE skb1-waers,       " Currency
        xsalh  LIKE skb1-xsalh,       " Only balances in local curreny
        xintb  LIKE skb1-xintb,       " Post systematically
        xkres  LIKE skb1-xkres,       " Display line items
        xopvw  LIKE skb1-xopvw,       " Open item management
        zuawa  LIKE skb1-zuawa,       " Sort key
        txt20c LIKE skat-txt20,       " Short text in Chinese
        txt50c LIKE skat-txt50,       " Text-Chinese
        txt20e LIKE skat-txt20,       " Short text in English
        txt50e LIKE skat-txt50,       " Text-English
      END OF ty_coa.

DATA: gt_coa TYPE STANDARD TABLE OF ty_coa,
      gs_coa LIKE LINE OF gt_coa.

* Selection screen
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.

PARAMETERS: p_bukrs LIKE t001-bukrs.  " company code
SELECT-OPTIONS:
  s_saknr FOR ska1-saknr.  " account number

SELECTION-SCREEN END OF BLOCK b1.

START-OF-SELECTION.
  PERFORM get_data.
  IF NOT gt_coa IS INITIAL.
    PERFORM disp_data.
  ELSE.
    WRITE 'No data is found.'.
  ENDIF.

FORM get_data.
  DATA: l_ktopl LIKE t001-ktopl.  " chart of account ID
  DATA: ls_cocd_detail LIKE bapi0002_2.

* Get chart of account from company code
  CALL FUNCTION 'BAPI_COMPANYCODE_GETDETAIL'
    EXPORTING
      companycodeid      = p_bukrs
    IMPORTING
      companycode_detail = ls_cocd_detail.

  IF sy-subrc = 0.
    l_ktopl = ls_cocd_detail-chrt_accts.
  ENDIF.

* Get chart of account for given company code
  SELECT * INTO CORRESPONDING FIELDS OF TABLE gt_coa
    FROM ska1
    INNER JOIN skb1 ON ska1~saknr = skb1~saknr
    WHERE ska1~ktopl = l_ktopl   " chart of account
    AND   skb1~bukrs = p_bukrs   " company code
    AND   ska1~saknr IN s_saknr. " account number

* Adding languages
  LOOP AT gt_coa INTO gs_coa.
    SELECT SINGLE txt20 txt50 INTO (gs_coa-txt20c, gs_coa-txt50c)
      FROM skat
      WHERE ktopl = l_ktopl        " chart of account
      AND   saknr = gs_coa-saknr   " account number
      AND   spras = '1'.           " language for Simplified Chinese

    SELECT SINGLE txt20 txt50 INTO (gs_coa-txt20e, gs_coa-txt50e)
      FROM skat
      WHERE ktopl = l_ktopl
      AND   saknr = gs_coa-saknr
      AND spras = 'E'.  " langugae for English

    MODIFY gt_coa FROM gs_coa.
    CLEAR gs_coa.
  ENDLOOP.
ENDFORM.                    "get_data

FORM disp_data.
*  TRY.
  CALL METHOD cl_salv_table=>factory
*    EXPORTING
*      LIST_DISPLAY   = IF_SALV_C_BOOL_SAP=>FALSE
*      R_CONTAINER    =
*      CONTAINER_NAME =
    IMPORTING
      r_salv_table   = gr_salv_table
    CHANGING
      t_table        = gt_coa .
*   CATCH CX_SALV_MSG .
*  ENDTRY.

* ALV toolbar
  gr_functions = gr_salv_table->get_functions( ).
  gr_functions->set_all( ).

* ALV layout settings
  gr_layout = gr_salv_table->get_layout( ).
  layout_key-report = sy-repid.
  gr_layout->set_key( layout_key ).

  gr_layout->set_save_restriction( cl_salv_layout=>restrict_none ).

* Set column description for languages
  gr_columns = gr_salv_table->get_columns( ).

* 設置科目描述(短文)-ZH
  gr_column ?= gr_columns->get_column( 'TXT20C' ).
  gr_column->set_long_text( '科目短文(中)' ).
  gr_column->set_medium_text( '科目短文(中)' ).
  gr_column->set_short_text( '科目短文(中)' ).

* 設置科目描述-ZH
  gr_column ?= gr_columns->get_column( 'TXT50C' ).
  gr_column->set_long_text( '科目中文' ).
  gr_column->set_medium_text( '科目中文' ).
  gr_column->set_short_text( '科目中文' ).

* 設置科目描述(短文)-EN
  gr_column ?= gr_columns->get_column( 'TXT20E' ).
  gr_column->set_long_text( '科目短文(英)' ).
  gr_column->set_medium_text( '科目短文(英)' ).
  gr_column->set_short_text( '科目短文(英)' ).

* 設置科目描述-ZH
  gr_column ?= gr_columns->get_column( 'TXT50E' ).
  gr_column->set_long_text( '科目英文' ).
  gr_column->set_medium_text( '科目英文' ).
  gr_column->set_short_text( '科目英文' ).

* 顯示ALV
  gr_salv_table->display( ).

ENDFORM.  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章