Sie sind auf Seite 1von 7

*&---------------------------------------------------------------------*

*& Include
ZPPPI_DAILY_MONTHLY_SCREEN
*&---------------------------------------------------------------------*

TABLES: aufk, mara.


SELECTION-SCREEN : BEGIN OF BLOCK b_name1 WITH FRAME TITLE text-000.
SELECTION-SCREEN BEGIN OF LINE.
*SELECTION-SCREEN: POSITION 13. " for radio button position.
PARAMETERS : p_rb1 RADIOBUTTON GROUP rg1 MODIF ID r1 USER-COMMAND rb1 DEFAULT 'X
'.
SELECTION-SCREEN COMMENT 14(7) text-002 FOR FIELD p_rb1. " for radio button labe
l
********* ++ pwc_115 to add date wise reconsilation
PARAMETERS :p_rb5 AS CHECKBOX MODIF ID r5 USER-COMMAND onl.
SELECTION-SCREEN COMMENT 25(20) text-064 FOR FIELD p_rb5. " for radio button lab
el
********* ++ pwc_115
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
*SELECTION-SCREEN: POSITION 33. " for radio button position.
PARAMETERS : p_rb2 RADIOBUTTON GROUP rg1 MODIF ID r2 .
SELECTION-SCREEN COMMENT 14(9) text-003 FOR FIELD p_rb2. " for radio button labe
l
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
*SELECTION-SCREEN: POSITION 53. " for radio button position.
PARAMETERS :p_rb3 RADIOBUTTON GROUP rg1 MODIF ID r3.
SELECTION-SCREEN COMMENT 14(7) text-004 FOR FIELD p_rb3. " for radio button labe
l
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
*SELECTION-SCREEN: POSITION 73. " for radio button position.
PARAMETERS :p_rb4 RADIOBUTTON GROUP rg1 MODIF ID r4.
SELECTION-SCREEN COMMENT 14(7) text-005 FOR FIELD p_rb4. " for radio button labe
l
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK b_name1.
SELECTION-SCREEN: BEGIN OF BLOCK b_9001 WITH FRAME TITLE text-001.
PARAMETERS :
p_werks TYPE werks_d
MODIF ID b1.
SELECT-OPTIONS: s_auart FOR aufk-auart NO INTERVALS MODIF ID b1.
*PARAMETERS :
P_SDATE TYPE PM_ORDGSTRP MODIF ID B1,
*
P_EDATE TYPE CO_GLTRP MODIF ID B1.
PARAMETERS :
p_stat TYPE j_txt04
MODIF ID b1 .
SELECT-OPTIONS: s_mtart FOR mara-mtart NO INTERVALS MODIF ID b1.
PARAMETERS :
p_eutil TYPE char1
MODIF ID b1 AS CHECKBOX.
SELECTION-SCREEN END OF BLOCK b_9001.
*******
*******
SELECTION-SCREEN : BEGIN
PARAMETERS :
p_werks1
SELECT-OPTIONS: s_auart1
s_mtart1

OF BLOCK b_9002
TYPE werks_d
FOR aufk-auart
FOR mara-mtart

WITH FRAME TITLE text-001.


MODIF ID b2.
NO INTERVALS MODIF ID b2,
NO INTERVALS MODIF ID b2.

PARAMETERS :
p_eutil1 TYPE char1
MODIF ID b2 AS CHECKBOX.
SELECTION-SCREEN END OF BLOCK b_9002.
SELECTION-SCREEN : BEGIN OF BLOCK b_9003 WITH FRAME TITLE text-001.
PARAMETERS :
p_werks2 TYPE werks_d
MODIF ID b3.
SELECT-OPTIONS: s_auart2 FOR aufk-auart NO INTERVALS MODIF ID b3,
s_mtart2 FOR mara-mtart NO INTERVALS MODIF ID b3.
PARAMETERS :
p_eutil2 TYPE char1
MODIF ID b3 AS CHECKBOX.
PARAMETERS :
p_pdate TYPE sy-datum
MODIF ID b3.
SELECTION-SCREEN END OF BLOCK b_9003.
SELECTION-SCREEN : BEGIN OF BLOCK b_9004 WITH FRAME TITLE text-001.
PARAMETERS :
p_werks3 TYPE werks_d
MODIF ID b4.
SELECT-OPTIONS: s_auart3 FOR aufk-auart NO INTERVALS MODIF ID b4.
SELECTION-SCREEN END OF BLOCK b_9004.
*** Begin of additions
SELECTION-SCREEN BEGIN
PARAMETERS : p_bdates
IF ID b1 ,
p_sdates

by pwc_115
OF BLOCK zdates WITH FRAME TITLE text-080. .
RADIOBUTTON GROUP rad3 DEFAULT 'X' USER-COMMAND rad3 MOD
RADIOBUTTON GROUP rad3 MODIF ID b1 .

SELECTION-SCREEN BEGIN OF LINE .


SELECTION-SCREEN: COMMENT 3(22) text-081 FOR FIELD p_sdate MODIF ID rab .
SELECTION-SCREEN POSITION 33 .
PARAMETER: p_sdate TYPE afko-gstrp MODIF ID rab. "basic start date
SELECTION-SCREEN: COMMENT 55(23) text-082 FOR FIELD p_edate MODIF ID rab.
SELECTION-SCREEN POSITION 79 .
PARAMETER: p_edate TYPE afko-gltrp MODIF ID rab. "basic end date
SELECTION-SCREEN END OF LINE .
SELECTION-SCREEN BEGIN OF LINE .
SELECTION-SCREEN: COMMENT 3(22) text-083 FOR FIELD p_ssdate MODIF ID ras.
SELECTION-SCREEN POSITION 33 .
PARAMETER: p_ssdate TYPE afko-gstrp MODIF ID ras. " Scheduling start date
SELECTION-SCREEN: COMMENT 55(23) text-084 FOR FIELD p_sedate MODIF ID ras .
SELECTION-SCREEN POSITION 79 .
PARAMETER: p_sedate TYPE afko-gltrp MODIF ID ras. " Scheduling end date
SELECTION-SCREEN END OF LINE .
SELECTION-SCREEN END OF BLOCK zdates.
*** End of additions by pwc_115
SELECTION-SCREEN : BEGIN OF BLOCK b_9005 WITH FRAME TITLE text-066.
SELECT-OPTIONS: s_rdate FOR aufk-erdat MODIF ID b5 . " ++ PWC_115
SELECTION-SCREEN END OF BLOCK b_9005.
SELECTION-SCREEN BEGIN OF BLOCK b4 WITH FRAME TITLE text-046.
PARAMETER p_var TYPE disvariant-variant MODIF ID b2.
SELECTION-SCREEN END OF BLOCK b4.
********************************chnages

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_stat.


PERFORM get_f4data.
PERFORM val_req_status .
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_var.
gw_repid1 = sy-repid.
CLEAR gw_layout1.
MOVE gw_repid1 TO gw_layout1-report.
CALL FUNCTION 'LVC_VARIANT_F4'
EXPORTING
is_variant = gw_layout1
i_save
= gc_save
IMPORTING
e_exit
= gw_exit
es_variant = gw_speclayout
EXCEPTIONS
not_found = 1
OTHERS
= 2.
IF sy-subrc NE 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ELSE.
IF gw_exit NE 'X'.
* SET NAME OF LAYOUT ON SELECTION SCREEN
p_var
= gw_speclayout-variant.
ENDIF.
ENDIF.

AT SELECTION-SCREEN OUTPUT.
**** Begin of additions by pwc_115
IF p_rb1 NE 'X'.
CLEAR p_rb5 .
ENDIF.
**** End of additions by pwc_115
IF p_rb1 = ' '
AND p_rb5 NE 'X'.
" ++ PWC_115
LOOP AT SCREEN.
IF screen-group1 = 'B1' OR screen-group1 = 'RAB' OR screen-group1 = 'RAS'.
screen-active = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
IF p_rb2 = ' '.
LOOP AT SCREEN.
IF screen-group1 = 'B2'.
screen-active = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.

IF p_rb3 = ' '.


LOOP AT SCREEN.
IF screen-group1 = 'B3' .
screen-active = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
IF p_rb4 = ' '.
LOOP AT SCREEN.
IF screen-group1 = 'B4' .
screen-active = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
****** Begin of additions by pwc_115
IF p_rb5 = ' '.
LOOP AT SCREEN.
IF screen-group1 = 'B5'.
screen-active = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ELSEIF p_rb5 = 'X'.
LOOP AT SCREEN.
IF screen-group1 = 'B5'
OR screen-group1 = 'B1'.
screen-active = '1'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
IF p_rb1 NE 'X'.
LOOP AT SCREEN.
IF screen-name = 'P_RB5'.
screen-input = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF .
***** End of additions by PWC_115
*** Begin of additions by PWC_115
IF
p_bdates = abap_true .
LOOP AT SCREEN.
IF screen-group1
= 'RAB'.
screen-active = 1.
ELSEIF screen-group1 = 'RAS'.
screen-active = 0.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ELSEIF p_sdates = abap_true .
LOOP AT SCREEN.
IF screen-group1 = 'RAB'.

screen-active = 0.
ELSEIF screen-group1 = 'RAS'.
screen-active = 1.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ENDIF.
AT SELECTION-SCREEN .
****** Begin of additions by pwc_115
IF sy-ucomm = 'ONLI'.
IF p_rb1
= 'X' .
IF
p_werks IS INITIAL AND s_auart-low IS INITIAL
AND p_stat IS INITIAL AND s_mtart-low IS INITIAL .
MESSAGE 'Please input all the screen data'(065) TYPE 'E' .
ELSEIF ( ( p_sdate IS INITIAL AND p_edate IS INITIAL ) AND
( p_ssdate IS INITIAL AND p_sedate IS INITIAL ) ).
MESSAGE 'Please input all the screen data'(065) TYPE 'E' .
ENDIF.
IF p_eutil = 'X'.
READ TABLE s_mtart[] TRANSPORTING NO FIELDS WITH KEY low = 'ZWIP' .
IF sy-subrc IS NOT INITIAL.
MESSAGE 'Exclude utility materials option is only available for ZWIP m
aterial type'(092) TYPE 'E' .
ENDIF.
ENDIF.
ELSEIF p_rb2 = 'X' .
IF
p_werks1 IS INITIAL AND s_auart1-low IS INITIAL
AND s_mtart1 IS INITIAL .
MESSAGE 'Please input all the screen data'(065) TYPE 'E' .
ENDIF .
IF p_eutil1 = 'X'.
READ TABLE s_mtart1[] TRANSPORTING NO FIELDS WITH KEY low = 'ZWIP' .
IF sy-subrc IS NOT INITIAL.
MESSAGE 'Exclude utility materials option is only available for ZWIP m
aterial type'(092) TYPE 'E' .
ENDIF.
ENDIF.
ELSEIF p_rb3 = 'X' .
IF
p_werks2 IS INITIAL AND s_auart2-low IS INITIAL
AND p_pdate IS INITIAL .
MESSAGE 'Please input all the screen data'(065) TYPE 'E' .
ENDIF.
IF p_eutil2 = 'X'.
READ TABLE s_mtart2[] TRANSPORTING NO FIELDS WITH KEY low = 'ZWIP' .
IF sy-subrc IS NOT INITIAL.
MESSAGE 'Exclude utility materials option is only available for ZWIP m
aterial type'(092) TYPE 'E' .
ENDIF.
ENDIF.
ELSEIF p_rb4 = 'X' .
IF
p_werks3 IS INITIAL AND s_auart3-low IS INITIAL .
MESSAGE 'Please input all the screen data'(065) TYPE 'E' .
ENDIF.

ELSEIF p_rb5 = 'X' .


IF
p_werks1 IS INITIAL AND s_auart1-low IS INITIAL
AND s_mtart1 IS INITIAL AND s_rdate[] IS INITIAL.
MESSAGE 'Please input all the screen data'(065) TYPE 'E' .
ENDIF .
ENDIF.
** Make Reconsile data mandatory
IF p_rb5 IS NOT INITIAL AND s_rdate-low IS INITIAL .
MESSAGE 'Please maintain Reconcile date'(074) TYPE 'E' .
ENDIF.
ENDIF.
***** End of additions by PWC_115
*&---------------------------------------------------------------------*
*&
Form VAL_REQ_STATUS
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM val_req_status .
IF lines( gt_tj02 ) <> lines( gt_tj02t ).
LOOP AT gt_tj02 INTO gw_tj02.
READ TABLE gt_tj02t INTO gw_tj02t WITH KEY istat = gw_tj02-istat.
IF sy-subrc EQ 0. " Read table
gw_tj02t1-txt04 = gw_tj02t-txt04.
gw_tj02t1-txt30 = gw_tj02t-txt30.
APPEND gw_tj02t1 TO gt_tj02t1.
CLEAR gw_tj02t1.
ENDIF. " Read table
ENDLOOP.
ENDIF.
SORT gt_tj02t BY istat.
* CALL OWN F4-HELP, NOT SHOWING INTERNAL STATUS NUMBER
gw_value1 = gw_dynp-fieldvalue.
gw_repid = sy-repid.
* FILL KEY FOR PERSONAL VALUE LIST
gw_pvalkey = sy-uname.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
*
DDIC_STRUCTURE = 'TJ02T'
retfield
= 'TXT04'
pvalkey
= gw_pvalkey
value
= gw_value1
value_org
= 'S'
callback_program = gw_repid
TABLES
value_tab
= gt_tj02t1
return_tab
= gt_return.
* GET SELECTECT VALUE AND INTERNAL STATUS NUMBER
READ TABLE gt_return INTO gw_return INDEX 1. " WITH KEY FIELDNAME = 'TXT04'.
IF sy-subrc = 0.
READ TABLE gt_tj02t WITH KEY txt04 = gw_return-fieldval
INTO gw_tj02t.
"#EC WARNOK

CHECK sy-subrc = 0.
p_stat = gw_tj02t-txt04.
*
P_STAT = GW_TJ02T-ISTAT.
ELSE.
CLEAR: p_stat." C_STAT.
ENDIF.
ENDFORM.
" VAL_REQ_STATUS
*&---------------------------------------------------------------------*
*&
Form get_f4data
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
* --> p1
text
* <-- p2
text
*----------------------------------------------------------------------*
FORM get_f4data .
SELECT * FROM tj02 INTO TABLE gt_tj02
WHERE nodis = space.
IF sy-subrc <> 0.
REFRESH gt_tj02.
ENDIF.
IF gt_tj02 IS NOT INITIAL.
SELECT * FROM tj02t INTO TABLE gt_tj02t
FOR ALL ENTRIES IN gt_tj02
WHERE istat = gt_tj02-istat
AND spras = sy-langu.
IF sy-subrc <> 0.
REFRESH gt_tj02t.
ENDIF.
ENDIF.
ENDFORM.
" get_f4data
INITIALIZATION.
AUTHORITY-CHECK OBJECT 'S_TCODE'
ID 'TCD' FIELD sy-tcode.
IF sy-subrc <> 0.
MESSAGE e001(zpppi) WITH sy-tcode.
ENDIF.

"#EC CI_GENBUFF

Das könnte Ihnen auch gefallen