SAP Select Screen 的实现代码

来源:互联网 发布:淘宝手机详情页怎么弄 编辑:程序博客网 时间:2024/06/12 03:39

*&---------------------------------------------------------------------*
*& Report ZREPORT2
*&
*&---------------------------------------------------------------------*
*& Gavin, 2008.09.13 Initial
*&
*&---------------------------------------------------------------------*

REPORT ZREPORT2.

TABLES: EKKO,MKPF.

DEFINE SCREEN_HIDE_PO.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'PO'.
SCREEN-ACTIVE = 0.
SCREEN-INPUT = 1.
SCREEN-OUTPUT = 0.
SCREEN-INVISIBLE = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
END-OF-DEFINITION.
DEFINE SCREEN_SHOW_PO.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'PO'.
SCREEN-ACTIVE = 1.
SCREEN-INPUT = 1.
SCREEN-OUTPUT = 1.
SCREEN-INVISIBLE = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
END-OF-DEFINITION.

SELECTION-SCREEN BEGIN OF BLOCK 001 WITH FRAME TITLE TEXT-001.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN POSITION 10.
PARAMETERS:
P_PO RADIOBUTTON GROUP RAD1 USER-COMMAND P_PO DEFAULT 'X'.
SELECTION-SCREEN COMMENT 13(18) TEXT-002 FOR FIELD P_PO .
SELECTION-SCREEN POSITION 37.
PARAMETERS:
P_MR RADIOBUTTON GROUP RAD1.
SELECTION-SCREEN COMMENT 40(18) sTEXT-03 FOR FIELD P_MR.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK 001 .

AT SELECTION-SCREEN OUTPUT.

CASE sy-langu.
WHEN 'M'.
WHEN 'E'.
* sTEXT-02 = 'MRP Orders'.
sTEXT-03 = 'PO Orders'.
WHEN '1'.
* sTEXT-02 = '生产'.
sTEXT-03 = '采购'.
WHEN OTHERS.
* sTEXT-02 = '生产'.
sTEXT-03 = '采购'.
ENDCASE.

*屏幕控制
PERFORM SCREEN_CONTROL.
** 对选屏进行权限检查
* PERFORM AUTHORITY_CHECK. " 权限校验

*&---------------------------------------------------------------------*
*& Form SCREEN_CONTROL
*&---------------------------------------------------------------------*
* 屏幕控制
*----------------------------------------------------------------------*
FORM SCREEN_CONTROL .
IF P_PO = 'X'.
SCREEN_SHOW_PO.
ELSE.
SCREEN_HIDE_PO.
ENDIF.
ENDFORM. " SCREEN_CONTROL

*查询对象
SELECTION-SCREEN BEGIN OF BLOCK 002 WITH FRAME TITLE TEXT-004.
SELECT-OPTIONS:
S_EBELN FOR EKKO-EBELN MODIF ID PO NO-EXTENSION NO INTERVALS, "采购订单号
S_BUDAT FOR MKPF-BUDAT MODIF ID PO, "入库时间
S_MBLNR FOR MKPF-MBLNR NO-EXTENSION NO INTERVALS , "物料凭证号
S_MJAHR FOR MKPF-MJAHR NO-EXTENSION NO INTERVALS. "会计年度
SELECTION-SCREEN END OF BLOCK 002 .