SAP PP工作中心报表

复制代码
*&---------------------------------------------------------------------*
*& REPORT ZRPT_PP_ARBPL_LST
*&
*&---------------------------------------------------------------------*
*& author ABAP00
*& date 20251211
*& from
*& Tcode
*&---------------------------------------------------------------------*
REPORT ZRPT_PP_ARBPL_LST.

TABLES: CRHD, CRTX, TC23T, TC24, TC30T.

SELECTION-SCREEN BEGIN OF BLOCK 001 WITH FRAME TITLE BLKTIL.
SELECT-OPTIONS S_ARBPL FOR CRHD-ARBPL.          "工作中心
SELECT-OPTIONS S_WERKS FOR CRHD-WERKS.          "工厂
SELECT-OPTIONS S_LVORM FOR CRHD-LVORM.          "工作中心删除标志
SELECTION-SCREEN END OF BLOCK 001.

TYPES:
  BEGIN OF TYP_DATA,
    ARBPL TYPE CRHD-ARBPL,          "工作中心
    WERKS TYPE CRHD-WERKS,          "工厂
    AEDAT_TEXT TYPE CRTX-AEDAT_TEXT,          "更改日期
    AENAM_TEXT TYPE CRTX-AENAM_TEXT,          "用户名
    KTEXT0 TYPE CRTX-KTEXT,          "短描述
    BEGDA TYPE CRHD-BEGDA,          "开始日期
    ENDDA TYPE CRHD-ENDDA,          "结束日期
    VERWE TYPE CRHD-VERWE,          "工作中心类别
    KTEXT1 TYPE TC30T-KTEXT,          "工作中心类别描述
    LVORM TYPE CRHD-LVORM,          "工作中心删除标志
    PLANV TYPE CRHD-PLANV,          "任务清单使用码
    TXT TYPE TC23T-TXT,          "使用描述
    STAND TYPE CRHD-STAND,          "工作中心位置
    KTEXT2 TYPE CRHD-VERAN,          "工作中心负责人
    KTEXT TYPE TC24-KTEXT,          "文本,40 个字符长
    VGWTS TYPE CRHD-VGWTS,          "标准值码
  END OF TYP_DATA.

  DATA:
    STDATUM LIKE SY-DATUM,
    STUZEIT LIKE SY-UZEIT,
    GT_DATA     TYPE TABLE OF TYP_DATA,
    GS_DATA     TYPE TYP_DATA,
    GT_FIELDCAT TYPE LVC_T_FCAT,
    GS_FIELDCAT TYPE LVC_S_FCAT,
    GS_LAYOUT   TYPE LVC_S_LAYO.

INITIALIZATION.
BLKTIL = '请输入条件'.
  %_S_ARBPL_%_APP_%-TEXT = '工作中心'.
  %_S_WERKS_%_APP_%-TEXT = '工厂'.
  %_S_LVORM_%_APP_%-TEXT = '工作中心删除标志'.

START-OF-SELECTION.
  STDATUM = SY-DATUM.
  STUZEIT = SY-UZEIT.
  PERFORM GET_DATA.
  PERFORM PROCESS_DATA.
 "PERform WRITERPTRUNRECORD.
  PERFORM DISPLAY_DATA.

*&---------------------------------------------------------------------*
*&      FORM  GET_DATA
*&---------------------------------------------------------------------*
*       获取数据
*----------------------------------------------------------------------*
FORM GET_DATA.
  SELECT
    CRHD~ARBPL,          "工作中心
    CRHD~WERKS,          "工厂
    CRTX~AEDAT_TEXT,          "更改日期
    CRTX~AENAM_TEXT,          "用户名
    CRTX~KTEXT AS KTEXT0,          "短描述
    CRHD~BEGDA,          "开始日期
    CRHD~ENDDA,          "结束日期
    CRHD~VERWE,          "工作中心类别
    TC30T~KTEXT AS KTEXT1,          "工作中心类别描述
    CRHD~LVORM,          "工作中心删除标志
    CRHD~PLANV,          "任务清单使用码
    TC23T~TXT,          "使用描述
    CRHD~STAND,          "工作中心位置
    CRHD~VERAN AS KTEXT2,          "工作中心负责人
    TC24~KTEXT,          "文本,40 个字符长
    CRHD~VGWTS           "标准值码
    INTO TABLE @GT_DATA
    FROM CRHD
    INNER JOIN CRTX ON CRTX~OBJID = CRHD~OBJID AND CRTX~OBJTY = CRHD~OBJTY
    LEFT JOIN TC24 ON TC24~WERKS = CRHD~WERKS AND TC24~VERAN = CRHD~VERAN
    LEFT JOIN TC30T ON TC30T~VERWE = CRHD~VERWE and tc30t~spras = '1'
    LEFT JOIN TC23T ON TC23T~PLANV = CRHD~PLANV and tc23t~spras = '1'
    WHERE CRHD~ARBPL IN @S_ARBPL
      AND CRHD~WERKS IN @S_WERKS
      AND CRHD~LVORM IN @S_LVORM.
ENDFORM.                    "GET_DATA
*&---------------------------------------------------------------------*
*&      FORM  PROCESS_DATA
*&---------------------------------------------------------------------*
*       处理数据
*----------------------------------------------------------------------*
FORM PROCESS_DATA.

ENDFORM.                    "PROCESS_DATA
*&---------------------------------------------------------------------*
*&      Form  BUILD_FIELDCAT
*&---------------------------------------------------------------------*
*       TEXT
*----------------------------------------------------------------------*
FORM BUILD_FIELDCAT USING P_FIELDNAME   TYPE FIELDNAME
                          P_QFIELDNAME  TYPE LVC_QFNAME
                          P_CFIELDNAME  TYPE LVC_CFNAME
                          P_REF_TABLE   TYPE LVC_RTNAME
                          P_REF_FIELD   TYPE LVC_RFNAME
                          P_CONVEXIT    TYPE CONVEXIT
                          P_EMPHASIZE   TYPE LVC_EMPHSZ
                          P_SCRTEXT_L   TYPE SCRTEXT_L
                          P_NO_ZERO     TYPE XFLAG
                          P_fix     TYPE XFLAG.
  GS_FIELDCAT-FIELDNAME     = P_FIELDNAME.
  GS_FIELDCAT-QFIELDNAME    = P_QFIELDNAME.
  GS_FIELDCAT-CFIELDNAME    = P_CFIELDNAME.
  GS_FIELDCAT-REF_TABLE     = P_REF_TABLE.
  GS_FIELDCAT-REF_FIELD     = P_REF_FIELD.
  GS_FIELDCAT-CONVEXIT      = P_CONVEXIT.
  GS_FIELDCAT-EMPHASIZE     = P_EMPHASIZE.
  GS_FIELDCAT-SCRTEXT_L     = P_SCRTEXT_L.
  GS_FIELDCAT-NO_ZERO   = P_NO_ZERO.
  GS_FIELDCAT-COLDDICTXT    = 'L'.
 GS_FIELDCAT-FIX_COLUMN = P_FIX.
  APPEND GS_FIELDCAT TO GT_FIELDCAT.
  CLEAR: GS_FIELDCAT.
ENDFORM.                    "BUILD_FIELDCAT
*&---------------------------------------------------------------------*
*&      FORM  DISPLAY_DATA
*&---------------------------------------------------------------------*
*       显示数据
*----------------------------------------------------------------------*
FORM DISPLAY_DATA.
  PERFORM BUILD_FIELDCAT USING 'ARBPL' '' '' 'CRHD' 'ARBPL' '' '' '工作中心' 'X' 'X'.
  PERFORM BUILD_FIELDCAT USING 'WERKS' '' '' 'CRHD' 'WERKS' '' '' '工厂' 'X' 'X'.
  PERFORM BUILD_FIELDCAT USING 'AEDAT_TEXT' '' '' 'CRTX' 'AEDAT_TEXT' '' '' '更改日期' '' ''.
  PERFORM BUILD_FIELDCAT USING 'AENAM_TEXT' '' '' 'CRTX' 'AENAM_TEXT' '' '' '用户名' '' ''.
  PERFORM BUILD_FIELDCAT USING 'KTEXT0' '' '' 'CRTX' 'KTEXT' '' '' '短描述' '' ''.
  PERFORM BUILD_FIELDCAT USING 'BEGDA' '' '' 'CRHD' 'BEGDA' '' '' '开始日期' '' ''.
  PERFORM BUILD_FIELDCAT USING 'ENDDA' '' '' 'CRHD' 'ENDDA' '' '' '结束日期' '' ''.
  PERFORM BUILD_FIELDCAT USING 'VERWE' '' '' 'CRHD' 'VERWE' '' '' '工作中心类别' '' ''.
  PERFORM BUILD_FIELDCAT USING 'KTEXT1' '' '' 'TC30T' 'KTEXT' '' '' '工作中心类别描述' '' ''.
  PERFORM BUILD_FIELDCAT USING 'LVORM' '' '' 'CRHD' 'LVORM' '' '' '工作中心删除标志' '' ''.
  PERFORM BUILD_FIELDCAT USING 'PLANV' '' '' 'CRHD' 'PLANV' '' '' '任务清单使用码' '' ''.
  PERFORM BUILD_FIELDCAT USING 'TXT' '' '' 'TC23T' 'TXT' '' '' '使用描述' '' ''.
  PERFORM BUILD_FIELDCAT USING 'STAND' '' '' 'CRHD' 'STAND' '' '' '工作中心位置' '' ''.
  PERFORM BUILD_FIELDCAT USING 'KTEXT2' '' '' 'CRHD' 'VERAN' '' '' '工作中心负责人' '' ''.
  PERFORM BUILD_FIELDCAT USING 'KTEXT' '' '' 'TC24' 'KTEXT' '' '' '文本,40 个字符长' '' ''.
  PERFORM BUILD_FIELDCAT USING 'VGWTS' '' '' 'CRHD' 'VGWTS' '' '' '标准值码' '' ''.

  gs_layout-cwidth_opt = 'X'.
  gs_layout-zebra = 'X'.

  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
    EXPORTING
      I_CALLBACK_PROGRAM       = SY-REPID
"      I_CALLBACK_PF_STATUS_SET = 'PF_STATUS_ALV'
      I_CALLBACK_USER_COMMAND  = 'USER_COMMAND_ALV'
      IT_FIELDCAT_LVC          = GT_FIELDCAT
      IS_LAYOUT_LVC            = GS_LAYOUT
      I_DEFAULT                = 'X'
      I_SAVE                   = 'A'
    TABLES
      T_OUTTAB                 = GT_DATA
    EXCEPTIONS
      OTHERS                   = 1.
ENDFORM.                    "DISPLAY_DATA
**&---------------------------------------------------------------------*
**&      FORM  PF_STATUS_ALV
**&---------------------------------------------------------------------*
**       TEXT
**----------------------------------------------------------------------*
*FORM PF_STATUS_ALV USING RT_EXTAB TYPE SLIS_T_EXTAB .
*  SET PF-STATUS 'STATUS_ALV' EXCLUDING RT_EXTAB.
*ENDFORM.                    "PF_STATUS_ALV
*&---------------------------------------------------------------------*
*&      FORM  USER_COMMAND_ALV
*&---------------------------------------------------------------------*
*       TEXT
*----------------------------------------------------------------------*
FORM USER_COMMAND_ALV USING R_UCOMM     LIKE SY-UCOMM
                            RS_SELFIELD TYPE SLIS_SELFIELD.
  DATA:LS_SELDATA like GS_DATA.
  READ TABLE GT_DATA INTO LS_SELDATA INDEX RS_SELFIELD-TABINDEX.
  CASE R_UCOMM.
    WHEN '&IC1'.
      CASE RS_SELFIELD-FIELDNAME.
        WHEN 'ARBPL'.
          CHECK RS_SELFIELD-VALUE IS NOT INITIAL.
          SET PARAMETER ID 'WRK' FIELD LS_SELDATA-WERKS.
          SET PARAMETER ID 'AGR' FIELD RS_SELFIELD-VALUE.
          CALL TRANSACTION 'CR03' AND SKIP FIRST SCREEN.
      ENDCASE.
  ENDCASE.
ENDFORM.                    "USER_COMMAND_ALV
相关推荐
哇哈哈&9 小时前
gcc9.2的离线安装,支持gcc++19及以上版本
linux·运维·服务器
一条咸鱼¥¥¥10 小时前
【运维经验】使用QQ邮箱SMTP服务器设置ssms计划任务完成时邮件发送
运维·服务器·经验分享·sql·sqlserver
【上下求索】10 小时前
学习笔记095——Ubuntu 安装 lrzsz 服务?
运维·笔记·学习·ubuntu
Caster_Z12 小时前
WinServer安装VM虚拟机运行Linux-(失败,云服务器不支持虚拟化)
linux·运维·服务器
SohongAI智慧办公12 小时前
广州AI办公软件哪家可以落地
其他·微信·微信公众平台
小小测试开发12 小时前
提升WebUI自动化效率与性能:从脚本到架构的全链路优化指南
运维·架构·自动化
中屹指纹浏览器13 小时前
指纹浏览器抗检测进阶:绕过深度风控的技术实践
服务器·网络·经验分享·笔记·媒体
The star"'13 小时前
mysql(1-3)
运维·mysql·云计算
model200513 小时前
Alibaba linux 3安装LAMP(5)
linux·运维·服务器