年月日选择屏幕

陌路散爱 提交于 2019-12-05 17:09:08

*&---------------------------------------------------------------------*
*& Report Z_SELSCREEN_DEMO
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT Z_SALAH_SEL.

DATA GT_01 TYPE STANDARD TABLE OF EKKO.
DATA GV_STR TYPE STRING.

TYPES:BEGIN OF TYP_MONAT,
        MONAT TYPE ZDATA_E_N,
      END OF TYP_MONAT.

DATA GT_MONAT TYPE STANDARD TABLE OF TYP_MONAT.
DATA GS_MONAT TYPE TYP_MONAT.

**********************************************************************
*选择屏幕
**********************************************************************

"PARAMETERS P_MATNR TYPE CHAR18 MATCHCODE OBJECT ZHELP_DEMO. "搜索帮助
PARAMETERS P_GJAHR(4TYPE N MODIF ID YEA.
PARAMETERS P_MONAT(2TYPE N MODIF ID MON.
PARAMETERS P_AEDAT    TYPE EKKO-AEDAT MODIF ID DAT.
SELECTION-SCREEN BEGIN OF BLOCK BL_01 WITH FRAME TITLE TEXT-000.
PARAMETERS RADI1 RADIOBUTTON GROUP G1 USER-COMMAND UC01 DEFAULT 'X'.
PARAMETERS RADI2 RADIOBUTTON GROUP G1.
PARAMETERS RADI3 RADIOBUTTON GROUP G1.
SELECTION-SCREEN END OF BLOCK BL_01.


AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_MONAT.

  PERFORM FRM_SET_VALUE.

AT SELECTION-SCREEN OUTPUT.

  CASE abap_true.
    WHEN radi1.
      LOOP AT SCREEN.
        IF screen-group1 'MON' OR screen-group1 'DAT'.
          screen-active 0.
          MODIFY SCREEN.
        ENDIF.
      ENDLOOP.
    WHEN radi2.
      LOOP AT SCREEN.
        IF screen-group1 'DAT'.
          screen-active 0.
          MODIFY SCREEN.
        ENDIF.
      ENDLOOP.
    WHEN radi3.
      LOOP AT SCREEN.
        IF screen-group1 'MON' OR screen-group1 'YEA'.
          screen-active 0.
          MODIFY SCREEN.
        ENDIF.
      ENDLOOP.
  ENDCASE.


START-OF-SELECTION.


  CASE ABAP_TRUE.
    WHEN RADI1"年
      IF P_GJAHR IS INITIAL.
        MESSAGE '请输入' TYPE 'I'.
        EXIT.
      ENDIF.
    WHEN RADI2"月
      IF P_GJAHR IS INITIAL OR P_MONAT IS INITIAL.
        MESSAGE '请输入' TYPE 'I'.
        EXIT.
      ENDIF.
    WHEN RADI3"日期
      IF P_AEDAT IS INITIAL.
        MESSAGE '请输入' TYPE 'I'.
        EXIT.
      ENDIF.
      ENDCASE.



  CASE ABAP_TRUE.
    WHEN RADI1"年
      GV_STR 'AEDAT LIKE ' && ' ''' && P_GJAHR && 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!