zoukankan      html  css  js  c++  java
  • 物料成本估算细项明细——BAPI_COSTESTIMATE_GETEXPLOSION

    效果:

    对比CK13N:

    代码:

    ************************************************************************
    * Program Name      :
    * Descriptions      :
    * T-Code            :
    * Updates Tables    :
    * Input  Parameters :
    * Output Parameters :
    * Return Codes      :
    * Special Logic     :
    * Includes          :
    ************************************************************************
    * Modification Log
    ************************************************************************
    *   Date   Ver. Programmer   Descriptions
    * -------- ---- ------------ -------------------------------------------
    * 2020/09/20   xxx Create
    *
    ************************************************************************
    REPORT ZCORTEST4.
    ***********************************************************************
    * Tables Definitions
    ************************************************************************
    *TABLES:.
    ************************************************************************
    TABLES: mara.
    * Data Definitions
    ************************************************************************
    
    DATA: gt_list   TYPE TABLE OF bapiexplosionlist,
          gs_return TYPE bapireturn.
    
    TYPE-POOLS: slis.
    DATA: gs_layout   TYPE slis_layout_alv,
          gt_fieldcat TYPE slis_t_fieldcat_alv.
    
    ************************************************************************
    * Includes Module
    ************************************************************************
    
    ************************************************************************
    * Selection Screen
    ************************************************************************
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE TEXT-b01.
    PARAMETERS: p_werks LIKE marc-werks DEFAULT '2000',
                p_matnr LIKE marc-matnr DEFAULT 'CTAAAAAAXX',
                p_lot   LIKE bapicostes-lotsize DEFAULT 100,
                p_sicht LIKE tckh8-sicht DEFAULT '01'.
    SELECTION-SCREEN END OF BLOCK b1.
    
    ************************************************************************
    * Initialization
    ************************************************************************
    INITIALIZATION.
    
    ************************************************************************
    * At Selection Screen
    ************************************************************************
    AT SELECTION-SCREEN.
    
    ************************************************************************
    * At Selection Screen Output
    ************************************************************************
    AT SELECTION-SCREEN OUTPUT.
    
    ************************************************************************
    * Report Format
    ************************************************************************
    TOP-OF-PAGE.
    
    END-OF-PAGE.
    ************************************************************************
    * Main Process
    ************************************************************************
    START-OF-SELECTION.
      PERFORM get_data.
      PERFORM display_data.
    
    END-OF-SELECTION.
    
    *&---------------------------------------------------------------------*
    *&      Form  GET_DATA
    *&---------------------------------------------------------------------*
    FORM get_data.
      DATA: lt_keko TYPE TABLE OF keko,
            ls_keko TYPE keko.
    
      SELECT * INTO TABLE lt_keko
                   FROM keko
                   WHERE werks = p_werks
                   AND matnr = p_matnr.
    
      SORT lt_keko BY kalnr DESCENDING.
    
      READ TABLE lt_keko INTO ls_keko INDEX 1.
    
      CALL FUNCTION 'BAPI_COSTESTIMATE_GETEXPLOSION'
        EXPORTING
          referenceobject     = ls_keko-bzobj "KEKO-BZOBJ
          costingnumber       = ls_keko-kalnr "KEKO-KALNR
          costingtype         = ls_keko-kalka "KEKO-KALKA
          costingdate         = ls_keko-kadky  "KEKO-KADKY
          costingversion      = ls_keko-tvers "KEKO-TVERS
          valuationvariant    = ls_keko-bwvar  "KEKO-BWVAR
          enteredmanually     = ls_keko-kkzma  "KEKO-KKZMA
          cost_component_view = p_sicht  "TCKH8-SICHT
    *     explosion_depth     =
          lot_size            = p_lot
    *     explode_kf_too      = ' '
        IMPORTING
    *     explosion_incomplete       =
          return              = gs_return
        TABLES
      explosion_list      = gt_list.
    
    ENDFORM.                "GET_DATA
    
    *&---------------------------------------------------------------------*
    *&      Form  DISPLAY_DATA
    *&---------------------------------------------------------------------*
    FORM display_data.
      DATA: l_repid    TYPE sy-repid,
            l_inclname TYPE trdir-name,
            l_index    LIKE sy-tabix.
    
      l_repid = l_inclname = sy-cprog.
    
      "栏位最适宽度
      gs_layout-colwidth_optimize = 'X'.
    
      CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
        EXPORTING
          i_program_name         = l_repid
          i_structure_name       = 'BAPIEXPLOSIONLIST'
          i_inclname             = l_inclname
        CHANGING
          ct_fieldcat            = gt_fieldcat
        EXCEPTIONS
          inconsistent_interface = 1
          program_error          = 2
          OTHERS                 = 3.
    
      LOOP AT gt_fieldcat INTO DATA(ls_fieldcat).
        IF ls_fieldcat-fieldname = 'CCODE_CURRENCY_TOTAL_VALUE'
          OR ls_fieldcat-fieldname ='CCODE_CURRENCY_FIXED_VALUE'.
          ls_fieldcat-emphasize = 'C310'.
        ENDIF.
        MODIFY gt_fieldcat FROM ls_fieldcat.
      ENDLOOP.
    
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          i_callback_program = sy-repid
          is_layout          = gs_layout
          it_fieldcat        = gt_fieldcat
          i_save             = 'A'
        TABLES
          t_outtab           = gt_list
        EXCEPTIONS
          program_error      = 1
          OTHERS             = 2.
    ENDFORM.                    "DISPLAY_DATA
  • 相关阅读:
    node vue 项目部署问题汇总
    Java删除空字符:Java8 & Java11
    moco固定QPS接口升级补偿机制
    Selenium4 IDE特性:无代码趋势和SIDE Runner
    JsonPath工具类单元测试
    Mac上测试Internet Explorer的N种方法
    JsonPath工具类封装
    Selenium4 IDE,它终于来了
    质量保障的方法和实践
    JsonPath实践(六)
  • 原文地址:https://www.cnblogs.com/StephenAmell/p/13701961.html
Copyright © 2011-2022 走看看