赛跑网

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 577|回复: 0

[FICO] 彭氏ML差异无敌分析器-工单层次-原创

[复制链接]
发表于 2021-11-1 14:09:58 | 显示全部楼层 |阅读模式

REPORT zfir084.
TABLES: bseg,bkpf,skat,acdoca,cskt,/srep/is_group.
TYPES: BEGIN OF ty_outtab,

         rbukrs TYPE acdoca-rbukrs,
         werks  TYPE acdoca-werks,
         AUFNR  TYPE acdoca-AUFNR,
         gjahr  TYPE acdoca-gjahr,
         belnr  TYPE acdoca-belnr,
         docln  TYPE acdoca-docln,
         racct  TYPE acdoca-racct,
         hsl    TYPE acdoca-hsl,
         kdauf  TYPE acdoca-kdauf,
         kdpos  TYPE acdoca-kdpos,


       END OF ty_outtab.

DATA: gs_outtab TYPE ty_outtab,
      gt_outtab TYPE TABLE OF ty_outtab.

DATA: gt_fieldcat TYPE lvc_t_fcat,
      gs_fieldcat TYPE lvc_s_fcat,
      gs_layout   TYPE lvc_s_layo.

SELECTION-SCREEN BEGIN OF BLOCK bk1 WITH FRAME TITLE TEXT-001.

  SELECT-OPTIONS: s_bukrs FOR acdoca-rbukrs,
                  s_poper FOR acdoca-poper,
                  s_werks FOR acdoca-werks,
                  s_AUFNR FOR acdoca-AUFNR,
                  s_kdauf FOR acdoca-kdauf.

SELECTION-SCREEN END OF BLOCK bk1.
************************************************************************
* 初始化数据赋值
************************************************************************
INITIALIZATION.
  s_poper = VALUE #( low = sy-datum+4(2) sign = 'I' option = 'EQ' ) .
  APPEND s_poper.

************************************************************************
* 选择屏幕数据检查
************************************************************************
AT SELECTION-SCREEN.
************************************************************************
* 数据的查询整理
************************************************************************
START-OF-SELECTION.
  PERFORM frm_get_sqldata.
************************************************************************
* 结果清单的输出
************************************************************************
END-OF-SELECTION.
  PERFORM frm_show_alv. "alv显示数据
*&---------------------------------------------------------------------*
*& Form frm_get_sqldata
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& -->  p1        text
*& <--  p2        text
*&---------------------------------------------------------------------*
FORM frm_get_sqldata .

  DATA lv_hsl TYPE acdoca-hsl.

  SELECT
    *
    FROM acdoca
    INTO CORRESPONDING FIELDS OF TABLE @gt_outtab
    WHERE rbukrs IN @s_bukrs
    AND poper IN @s_poper
    AND werks IN @s_werks
    AND AUFNR IN @S_AUFNR
    AND kdauf IN @s_kdauf
    AND racct IN (
                  '5001010100',
'5001010200',
'5001010300',
'5001020100',
'5001020101',
'5001020102',
'5001020103',
'5001020104',
'5001020105',
'5001020106',
'5001020107',
'5001020108',
'5001020109',
'5001020110',
'5001020111',
'5001020112',
'5001020113',
'5001030100',
'5001030201',
'5001030202',
'5001030203',
'5001030300',
'5001030301',
'5001030400',
'5001030500',
                  '7043010100',
                  '7043010200',
                  '7043020100',
                  '7043020200',
                  '7043020300'
                  ).

  SORT  gt_outtab BY rbukrs werks AUFNR.

  LOOP AT gt_outtab ASSIGNING FIELD-SYMBOL(<fs>).

    lv_hsl = lv_hsl + <fs>-hsl.
    AT END OF AUFNR.
      IF lv_hsl EQ 0.
        DELETE gt_outtab WHERE AUFNR EQ <fs>-AUFNR.
      ENDIF.
      CLEAR lv_hsl.
    ENDAT.

  ENDLOOP.


ENDFORM.
*&---------------------------------------------------------------------*
*& Form frm_show_alv
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& -->  p1        text
*& <--  p2        text
*&---------------------------------------------------------------------*
FORM frm_show_alv .
  PERFORM frm_fieldcat. "alv界面展示字段添加
  PERFORM frm_layout. "ALV全局属性定义
  PERFORM frm_output. "调用ALV函数显示数据
ENDFORM.
*&---------------------------------------------------------------------*
*& Form frm_fieldcat
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& -->  p1        text
*& <--  p2        text
*&---------------------------------------------------------------------*
FORM frm_fieldcat .
  CLEAR: gs_fieldcat,gt_fieldcat.
  DEFINE addfieldcat.
    gs_fieldcat-fieldname   = &1."字段名
    gs_fieldcat-coltext     = &2.
    gs_fieldcat-no_zero     = &3."字符不显示前导0
    gs_fieldcat-icon        = &4.
    gs_fieldcat-ref_field   = &5."参考字段名
    gs_fieldcat-ref_table   = &6."参考表名
    APPEND gs_fieldcat TO gt_fieldcat.
  END-OF-DEFINITION.

  addfieldcat  'RBUKRS'  '公司代码 ' space space space space.
  addfieldcat  'WERKS'   '工厂 ' space space space space.
  addfieldcat  'AUFNR'   '订单号 '  space space space space.
  addfieldcat  'GJAHR'   '会计年度 ' space space space space.
  addfieldcat  'BELNR'   '凭证号 ' space space space space.
  addfieldcat  'DOCLN'   '凭证行项目' space space space space.
  addfieldcat  'RACCT'   '科目号 ' space space space space.
  addfieldcat  'HSL'     '金额' space space space space.
  addfieldcat  'KDAUF'   '销售订单' space space space space.
  addfieldcat  'KDPOS'   '销售订单行项目' space space space space.

ENDFORM.
*&---------------------------------------------------------------------*
*& Form frm_layout
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& -->  p1        text
*& <--  p2        text
*&---------------------------------------------------------------------*
FORM frm_layout .
  gs_layout-cwidth_opt = 'X'.   " 自动调节字段长度
  gs_layout-sel_mode   = 'D'.   " 选择模式,可选择多行
  gs_layout-zebra      = 'X'.   " 颜色交替显示
  gs_layout-no_merging = 'X'.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form frm_output
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& -->  p1        text
*& <--  p2        text
*&---------------------------------------------------------------------*
FORM frm_output .
  DATA: r_repid TYPE sy-repid.
  r_repid = sy-repid.
  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
    EXPORTING
      i_callback_program = r_repid
      is_layout_lvc      = gs_layout
      it_fieldcat_lvc    = gt_fieldcat
      i_save             = 'A'
    TABLES
      t_outtab           = gt_outtab
    EXCEPTIONS
      program_error      = 1
      OTHERS             = 2.
  IF sy-subrc <> 0.
* Implement suitable error handling here
    MESSAGE ID sy-msgty TYPE sy-msgty NUMBER sy-msgno
   WITH sy-msgv1  sy-msgv2  sy-msgv3  sy-msgv4.
  ENDIF.
ENDFORM.

最近访客

  • tangsy09
    2023-11-02
  • 45159679
    2023-07-07
  • wx_47322
    2023-06-13
  • wx_16126
    2023-06-03
  • 鹏刘~
    2023-06-01
  • qq511oo
    2023-05-31
  • mizhenyu
    2023-05-30
  • admin
    2023-05-30
  • 唐千机
    2023-03-03
  • 快乐小鱼
    2022-11-10
  • 2022-08-23
  • wx_65155
    2022-06-14
  • 小钢牙
    2022-05-18
  • jnfico
    2022-04-28
  • wx_11001
    2022-03-24
  • 紫龙
    2022-03-22
  • 2022-02-27
  • sapxf
    2022-01-18
  • 稻草人20
    2022-01-18
  • rocky_fr
    2022-01-14
  • 良辰
    2021-12-28
  • 6152794@
    2021-12-19
  • asdf6307
    2021-12-09
  • LJS
    2021-12-03
  • 在边缘/k
    2021-11-30
  • 育林
    2021-11-22
  • kaboo
    2021-11-22
  • 夕木
    2021-11-08
  • CY8122
    2021-11-02




上一篇:彭氏ML差异无敌分析器-物料层次-原创
下一篇:F-59付款申请
本楼点评(0) 收起
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|联系我们|赛跑网 ( QQ:108519493QQfsq

GMT+8, 2024-11-1 07:40 , Processed in 0.194004 second(s), 59 queries .

Powered by 91SAP X3.4

© 2001-2023 91sap Team.

快速回复 返回顶部 返回列表