*&---------------------------------------------------------------------*
*& Report ZIAN01
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT zian01 .
TABLES : afko ,afpo ,resb ,jest ,pordarch ,t001w ,
tj02t ,mara ,mkpf ,mseg ,mbew ,zwip .
TYPE-POOLS :slis .
CONSTANTS : cs_callback_user ( 30 ) TYPE c VALUE 'ALV_USER_COMMAND' ,
cs_pf_status_set ( 30 ) TYPE c VALUE 'PF_STATUS_SET' .
DATA :wcl_container TYPE REF TO cl_gui_custom_container ,
wip_wcl_alv TYPE REF TO cl_gui_alv_grid .
DATA :gs_fieldcat TYPE lvc_s_fcat .
DATA :gt_fieldcat TYPE lvc_t_fcat .
DATA :gs_layout TYPE lvc_s_layo .
DATA :ok_code TYPE sy -ucomm .
DATA : gs_print TYPE slis_print_alv ,
it_sort TYPE slis_t_sortinfo_alv .
CONSTANTS :casechar TYPE c VALUE 'X' .
SELECTION-SCREEN BEGIN OF BLOCK pz WITH FRAME TITLE text - 123 .
SELECTION-SCREEN BEGIN OF BLOCK pd WITH FRAME TITLE text - 001 .
SELECT-OPTIONS :
so_werks FOR t001w -werks MEMORY ID wrk MODIF ID rz1 ,
s_model FOR afpo -matnr MODIF ID rz1 ,
s_dispo FOR afko -dispo MODIF ID rz1 .
PARAMETERS :
cutoff TYPE sy -datum DEFAULT sy -datum OBLIGATORY MODIF ID rz1 . .
SELECTION-SCREEN END OF BLOCK pd .
*&input screen
SELECTION-SCREEN BEGIN OF BLOCK pe WITH FRAME TITLE text - 002 .
PARAMETERS :tkdate2 TYPE sy -datum MODIF ID rz2 DEFAULT sy -datum .
SELECT-OPTIONS : s_sttsn2 FOR zwip -sttsn MODIF ID rz2 .
SELECTION-SCREEN BEGIN OF LINE .
SELECTION-SCREEN COMMENT 1 ( 10 ) text -p01 MODIF ID rz2 .
PARAMETERS :co_psmng TYPE afpo -psmng MODIF ID rz2 .
SELECTION-SCREEN COMMENT 35 ( 12 ) text -p02 MODIF ID rz2 .
PARAMETERS :po_psmng TYPE afpo -psmng MODIF ID rz2 .
SELECTION-SCREEN END OF LINE .
SELECTION-SCREEN BEGIN OF LINE .
SELECTION-SCREEN COMMENT 1 ( 14 ) text -p03 MODIF ID rz2 .
PARAMETERS :p_conf1 AS CHECKBOX MODIF ID rz2 .
SELECTION-SCREEN COMMENT 35 ( 14 ) text -p04 MODIF ID rz2 .
PARAMETERS :p_conf2 AS CHECKBOX MODIF ID rz2 .
SELECTION-SCREEN END OF LINE .
SELECTION-SCREEN END OF BLOCK pe .
*&display&print screen.
SELECTION-SCREEN BEGIN OF BLOCK pf WITH FRAME TITLE text - 002 .
PARAMETERS : tkdate3 TYPE sy -datum MODIF ID rz3 .
SELECT-OPTIONS : s_sttno FOR zwip -sttno MODIF ID rz3 .
SELECT-OPTIONS : s_werks FOR zwip -werks MODIF ID rz3 .
SELECT-OPTIONS : s_model3 FOR zwip -model MODIF ID rz3 .
SELECT-OPTIONS : s_sttsn FOR zwip -sttsn MODIF ID rz3 .
SELECTION-SCREEN END OF BLOCK pf .
PARAMETERS : p_create RADIOBUTTON GROUP pz
USER-COMMAND com .
PARAMETERS : p_change RADIOBUTTON GROUP pz DEFAULT 'X' .
PARAMETERS : p_disply RADIOBUTTON GROUP pz .
PARAMETERS : p_print RADIOBUTTON GROUP pz .
PARAMETERS : p_input RADIOBUTTON GROUP pz .
SELECTION-SCREEN END OF BLOCK pz .
AT SELECTION-SCREEN OUTPUT .
PERFORM modify_screen .
INITIALIZATION .
START-OF-SELECTION .
CASE casechar .
WHEN p_create .
" PERFORM get_all_data.
" PERFORM collect_data.
* PERFORM display_wip_by_model.
" PERFORM create_fieldcat.
CALL SCREEN 100 .
WHEN p_change .
"PERFORM change_fieldcat.
CALL SCREEN 100 .
WHEN p_disply .
" PERFORM get_stock_taking.
" PERFORM display_fieldcat.
CALL SCREEN 100 .
WHEN p_print .
SUBMIT zppr016b WITH cutoff EQ tkdate3
WITH s_sttno IN s_sttno
WITH s_werks IN s_werks
WITH s_model IN s_model3 AND RETURN
.
WHEN p_input .
MESSAGE '暂时未起用' TYPE 'I' .
STOP .
ENDCASE .
END-OF-SELECTION .
FORM modify_screen .
LOOP AT SCREEN .
IF screen -group1 = 'RZ1' .
IF p_create = 'X' .
screen -active = 1 .
MODIFY SCREEN .
CONTINUE .
ELSEIF p_change = 'X' .
screen -active = 0 .
MODIFY SCREEN .
CONTINUE .
ELSEIF p_disply = 'X' .
screen -active = 0 .
MODIFY SCREEN .
CONTINUE .
ELSEIF p_print = 'X' .
screen -active = 0 .
MODIFY SCREEN .
CONTINUE .
ELSEIF p_input = 'X' .
screen -active = 0 .
MODIFY SCREEN .
CONTINUE .
ENDIF .
ENDIF .
IF screen -group1 = 'RZ2' .
IF p_create = 'X' .
screen -active = 0 .
MODIFY SCREEN .
CONTINUE .
ELSEIF p_change = 'X' .
screen -active = 1 .
MODIFY SCREEN .
CONTINUE .
ELSEIF p_disply = 'X' .
screen -active = 0 .
MODIFY SCREEN .
CONTINUE .
ELSEIF p_print = 'X' .
screen -active = 0 .
MODIFY SCREEN .
CONTINUE .
ELSEIF p_input = 'X' .
screen -active = 0 .
MODIFY SCREEN .
CONTINUE .
ENDIF .
ENDIF .
IF screen -group1 = 'RZ3' .
IF p_create = 'X' .
screen -active = 0 .
MODIFY SCREEN .
CONTINUE .
ELSEIF p_change = 'X' .
screen -active = 0 .
MODIFY SCREEN .
CONTINUE .
ELSEIF p_disply = 'X' .
screen -active = 1 .
MODIFY SCREEN .
CONTINUE .
ELSEIF p_print = 'X' .
screen -active = 1 .
MODIFY SCREEN .
CONTINUE .
ELSEIF p_input = 'X' .
screen -active = 0 .
MODIFY SCREEN .
CONTINUE .
ENDIF .
ENDIF .
ENDLOOP .
ENDFORM . " MODIFY_SCREEN
*& Report ZIAN01
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT zian01 .
TABLES : afko ,afpo ,resb ,jest ,pordarch ,t001w ,
tj02t ,mara ,mkpf ,mseg ,mbew ,zwip .
TYPE-POOLS :slis .
CONSTANTS : cs_callback_user ( 30 ) TYPE c VALUE 'ALV_USER_COMMAND' ,
cs_pf_status_set ( 30 ) TYPE c VALUE 'PF_STATUS_SET' .
DATA :wcl_container TYPE REF TO cl_gui_custom_container ,
wip_wcl_alv TYPE REF TO cl_gui_alv_grid .
DATA :gs_fieldcat TYPE lvc_s_fcat .
DATA :gt_fieldcat TYPE lvc_t_fcat .
DATA :gs_layout TYPE lvc_s_layo .
DATA :ok_code TYPE sy -ucomm .
DATA : gs_print TYPE slis_print_alv ,
it_sort TYPE slis_t_sortinfo_alv .
CONSTANTS :casechar TYPE c VALUE 'X' .
SELECTION-SCREEN BEGIN OF BLOCK pz WITH FRAME TITLE text - 123 .
SELECTION-SCREEN BEGIN OF BLOCK pd WITH FRAME TITLE text - 001 .
SELECT-OPTIONS :
so_werks FOR t001w -werks MEMORY ID wrk MODIF ID rz1 ,
s_model FOR afpo -matnr MODIF ID rz1 ,
s_dispo FOR afko -dispo MODIF ID rz1 .
PARAMETERS :
cutoff TYPE sy -datum DEFAULT sy -datum OBLIGATORY MODIF ID rz1 . .
SELECTION-SCREEN END OF BLOCK pd .
*&input screen
SELECTION-SCREEN BEGIN OF BLOCK pe WITH FRAME TITLE text - 002 .
PARAMETERS :tkdate2 TYPE sy -datum MODIF ID rz2 DEFAULT sy -datum .
SELECT-OPTIONS : s_sttsn2 FOR zwip -sttsn MODIF ID rz2 .
SELECTION-SCREEN BEGIN OF LINE .
SELECTION-SCREEN COMMENT 1 ( 10 ) text -p01 MODIF ID rz2 .
PARAMETERS :co_psmng TYPE afpo -psmng MODIF ID rz2 .
SELECTION-SCREEN COMMENT 35 ( 12 ) text -p02 MODIF ID rz2 .
PARAMETERS :po_psmng TYPE afpo -psmng MODIF ID rz2 .
SELECTION-SCREEN END OF LINE .
SELECTION-SCREEN BEGIN OF LINE .
SELECTION-SCREEN COMMENT 1 ( 14 ) text -p03 MODIF ID rz2 .
PARAMETERS :p_conf1 AS CHECKBOX MODIF ID rz2 .
SELECTION-SCREEN COMMENT 35 ( 14 ) text -p04 MODIF ID rz2 .
PARAMETERS :p_conf2 AS CHECKBOX MODIF ID rz2 .
SELECTION-SCREEN END OF LINE .
SELECTION-SCREEN END OF BLOCK pe .
*&display&print screen.
SELECTION-SCREEN BEGIN OF BLOCK pf WITH FRAME TITLE text - 002 .
PARAMETERS : tkdate3 TYPE sy -datum MODIF ID rz3 .
SELECT-OPTIONS : s_sttno FOR zwip -sttno MODIF ID rz3 .
SELECT-OPTIONS : s_werks FOR zwip -werks MODIF ID rz3 .
SELECT-OPTIONS : s_model3 FOR zwip -model MODIF ID rz3 .
SELECT-OPTIONS : s_sttsn FOR zwip -sttsn MODIF ID rz3 .
SELECTION-SCREEN END OF BLOCK pf .
PARAMETERS : p_create RADIOBUTTON GROUP pz
USER-COMMAND com .
PARAMETERS : p_change RADIOBUTTON GROUP pz DEFAULT 'X' .
PARAMETERS : p_disply RADIOBUTTON GROUP pz .
PARAMETERS : p_print RADIOBUTTON GROUP pz .
PARAMETERS : p_input RADIOBUTTON GROUP pz .
SELECTION-SCREEN END OF BLOCK pz .
AT SELECTION-SCREEN OUTPUT .
PERFORM modify_screen .
INITIALIZATION .
START-OF-SELECTION .
CASE casechar .
WHEN p_create .
" PERFORM get_all_data.
" PERFORM collect_data.
* PERFORM display_wip_by_model.
" PERFORM create_fieldcat.
CALL SCREEN 100 .
WHEN p_change .
"PERFORM change_fieldcat.
CALL SCREEN 100 .
WHEN p_disply .
" PERFORM get_stock_taking.
" PERFORM display_fieldcat.
CALL SCREEN 100 .
WHEN p_print .
SUBMIT zppr016b WITH cutoff EQ tkdate3
WITH s_sttno IN s_sttno
WITH s_werks IN s_werks
WITH s_model IN s_model3 AND RETURN
.
WHEN p_input .
MESSAGE '暂时未起用' TYPE 'I' .
STOP .
ENDCASE .
END-OF-SELECTION .
FORM modify_screen .
LOOP AT SCREEN .
IF screen -group1 = 'RZ1' .
IF p_create = 'X' .
screen -active = 1 .
MODIFY SCREEN .
CONTINUE .
ELSEIF p_change = 'X' .
screen -active = 0 .
MODIFY SCREEN .
CONTINUE .
ELSEIF p_disply = 'X' .
screen -active = 0 .
MODIFY SCREEN .
CONTINUE .
ELSEIF p_print = 'X' .
screen -active = 0 .
MODIFY SCREEN .
CONTINUE .
ELSEIF p_input = 'X' .
screen -active = 0 .
MODIFY SCREEN .
CONTINUE .
ENDIF .
ENDIF .
IF screen -group1 = 'RZ2' .
IF p_create = 'X' .
screen -active = 0 .
MODIFY SCREEN .
CONTINUE .
ELSEIF p_change = 'X' .
screen -active = 1 .
MODIFY SCREEN .
CONTINUE .
ELSEIF p_disply = 'X' .
screen -active = 0 .
MODIFY SCREEN .
CONTINUE .
ELSEIF p_print = 'X' .
screen -active = 0 .
MODIFY SCREEN .
CONTINUE .
ELSEIF p_input = 'X' .
screen -active = 0 .
MODIFY SCREEN .
CONTINUE .
ENDIF .
ENDIF .
IF screen -group1 = 'RZ3' .
IF p_create = 'X' .
screen -active = 0 .
MODIFY SCREEN .
CONTINUE .
ELSEIF p_change = 'X' .
screen -active = 0 .
MODIFY SCREEN .
CONTINUE .
ELSEIF p_disply = 'X' .
screen -active = 1 .
MODIFY SCREEN .
CONTINUE .
ELSEIF p_print = 'X' .
screen -active = 1 .
MODIFY SCREEN .
CONTINUE .
ELSEIF p_input = 'X' .
screen -active = 0 .
MODIFY SCREEN .
CONTINUE .
ENDIF .
ENDIF .
ENDLOOP .
ENDFORM . " MODIFY_SCREEN