欢迎来到萧静默的博客

书山有路勤为径,学海无涯苦作舟。

SAP 取得因为折旧价值变动的固定资产的方法

由于需要将固定资产价值变动后的数据实时传送给OA系统,找了很多都只到期间,最后想了个间接的方法,通过科目变动去判断固定资产价值有没有变动。

目前使用折旧科目进行判断,后期可以加入固定资产价值变动的其他科目。

 DATA:LT_ASSET_INFO TYPE STANDARD TABLE OF    ZSFI008,
       LS_ASSET_INFO TYPE ZSFI008.
  FIELD-SYMBOLS  : <LT_PAY_DATA>   TYPE ANY TABLE .
  FIELD-SYMBOLS : <LT_TEST> TYPE ANY . "LIKE LINE OF  it_tab .
  DATA LR_PAY_DATA  TYPE REF TO DATA.
RANGES:LR_SAKNR FOR SKA1-SAKNR."定义折旧科目
"根据折旧科目日期去取价值变动的资产,用于下传OA
  LR_SAKNR-SIGN = 'I'.
  LR_SAKNR-OPTION = 'EQ'.
  LR_SAKNR-LOW = '1602010001'.
  APPEND LR_SAKNR.
  CLEAR LR_SAKNR.
  LR_SAKNR-SIGN = 'I'.
  LR_SAKNR-OPTION = 'EQ'.
  LR_SAKNR-LOW = '1602020001'.
  APPEND LR_SAKNR.
  CLEAR LR_SAKNR.
  LR_SAKNR-SIGN = 'I'.
  LR_SAKNR-OPTION = 'EQ'.
  LR_SAKNR-LOW = '1602030001'.
  APPEND LR_SAKNR.
  CLEAR LR_SAKNR.
  LR_SAKNR-SIGN = 'I'.
  LR_SAKNR-OPTION = 'EQ'.
  LR_SAKNR-LOW = '1602040001'.
  APPEND LR_SAKNR.
  CLEAR LR_SAKNR.
  LR_SAKNR-SIGN = 'I'.
  LR_SAKNR-OPTION = 'EQ'.
  LR_SAKNR-LOW = '1602050001'.
  APPEND LR_SAKNR.
  CLEAR LR_SAKNR.
  LR_SAKNR-SIGN = 'I'.
  LR_SAKNR-OPTION = 'EQ'.
  LR_SAKNR-LOW = '1602990001'.
  APPEND LR_SAKNR.
  CLEAR LR_SAKNR.

CL_SALV_BS_RUNTIME_INFO=>SET( EXPORTING DISPLAY = ABAP_FALSE   METADATA = ABAP_FALSE DATA = ABAP_TRUE ).
      SUBMIT FAGL_ACCOUNT_ITEMS_GL "根据FAGLL03总账科目取数
      USING SELECTION-SCREEN '1000'
            WITH SD_SAKNR IN LR_SAKNR
            WITH SD_BUKRS IN S_BUKRS6
            WITH X_AISEL = 'X'
            WITH X_CLSEL = SPACE
            WITH X_OPSEL = SPACE
            WITH SO_BUDAT IN S_ERDAT6
*VIA  SELECTION-SCREEN
      EXPORTING LIST TO MEMORY AND RETURN.
      IF SY-SUBRC = 0.
        TRY.
            CL_SALV_BS_RUNTIME_INFO=>GET_DATA_REF( IMPORTING R_DATA = LR_PAY_DATA ).
            ASSIGN LR_PAY_DATA->* TO <LT_PAY_DATA>.
          CATCH CX_SALV_BS_SC_RUNTIME_INFO.
            MESSAGE `Unable to retrieve ALV data` TYPE 'E'.
        ENDTRY.
      ENDIF.
      CL_SALV_BS_RUNTIME_INFO=>CLEAR_ALL( ).
      IF <LT_PAY_DATA> IS  ASSIGNED.
        LT_DATA_6 = CORRESPONDING #( <LT_PAY_DATA> ).
      ENDIF.
SORT LT_DATA_6 BY BUKRS ANLN1 ANLN2.
  DELETE ADJACENT DUPLICATES FROM LT_DATA_6 COMPARING BUKRS ANLN1 ANLN2.

取出所有资产后,就可以根据ANLC去读取价值传送给OA

posted @ 2021-09-25 09:28  萧静默  阅读(402)  评论(0编辑  收藏  举报