‎2007 Jul 13 1:56 PM
HI FRIENDS
MY REQUIRMENT IS
Selection should contain two radio buttons
One for Purchase Order
Another for Sales Order
Each radio button should have once text box associated to that
By default the Purchase Order Radio button should select
If purchase order radio button selected, text box associated for sales order should be input disable and text box associated for purchase order should be input enabled
If Sales Order radio button is selected, text box associated for sales order should be input enable and text box associated for purchase order should be input disable
See if you can help.
‎2007 Jul 13 2:12 PM
Hi,
Please take the help from this code (check and run) :
tables : vbak, ekko.
selection-screen begin of block b1 with frame.
PARAMETERS: purchase RADIOBUTTON GROUP rad USER-COMMAND radio.
SELECT-OPTIONS: ebeln FOR ekko-ebeln MODIF ID sl1.
PARAMETERS: sale RADIOBUTTON GROUP rad.
SELECT-OPTIONS: vbeln FOR vbak-vbeln MODIF ID sl2.
selection-screen end of block b1.
at selection-screen output.
loop at screen.
IF purchase = 'X'.
IF screen-group1 = 'SL2'.
screen-input = 0.
ENDIF.
ELSEIF sale = 'X'.
IF screen-group1 = 'SL1'.
screen-input = 0.
ENDIF.
ENDIF.
Modify screen.
endloop.
Reward points, if helpful,
Sandeep Kaushik
‎2007 Jul 13 2:00 PM
hi,
check this one
&----
*& Report ZREPORT_EXE
*&
&----
*&
*&
&----
REPORT ZREPORT_EXEREPORT
NO STANDARD PAGE HEADING
LINE-SIZE 60
LINE-COUNT 35(5).
TABLES: MARA,
MAKT,
VBAK,
VBAP.
DATA : TVBAK LIKE VBAK OCCURS 0 WITH HEADER LINE,
TVBAP LIKE VBAP OCCURS 0 WITH HEADER LINE,
TEMP TYPE p decimals 5 VALUE '0.0' ,
A type i,
TMARA LIKE MARA OCCURS 0 WITH HEADER LINE,
TMAKT LIKE MAKT OCCURS 0 WITH HEADER LINE.
selection-screen begin of block block0 with frame titLE text-000.
selection-screen skip.
SELECTION-SCREEN BEGIN OF LINE.
parameter: rd1 radiobutton group rad1 USER-COMMAND CHECK .
selection-screen comment 10(20) com2 .
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
parameter: rd2 radiobutton group rad1 DEFAULT 'X' .
selection-screen comment 10(20) com3.
SELECTION-SCREEN END OF LINE.
selection-screen skip.
selection-screen END of block BLOCK0 .
*
selection-screen begin of block block1 with frame titLE text-001.
selection-screen skip.
selection-screen begin of line.
selection-screen comment 5(20) com0.
SELECT-OPTIONS CK1 FOR MARA-MATNR MODIF ID ABC OBLIGATORY.
selection-screen end of line.
selection-screen skip.
selection-screen begin of line.
selection-screen comment 5(20) com1.
SELECT-OPTIONS CK2 FOR VBAK-VBELN MODIF ID XYZ .
selection-screen end of line.
selection-screen END of block BLOCK1 .
*----
Initialization .
IF RD1 = 'X'.
CK1-LOW = 23.
CK1-HIGH = 2000.
CK1-SIGN = 'I'.
CK1-OPTION = 'BT'.
APPEND CK1.
ELSE.
CK2-low = 4000.
CK2-high = 7000.
CK2-option = 'BT'.
CK2-sign = 'I'.
APPEND CK2.
ENDIF.
*----
AT SELECTION-SCREEN .
IF RD2 = 'X'.
SELECT *
FROM VBAK
INTO TABLE TVBAK
WHERE VBELN IN CK2 .
IF sy-subrc ne 0.
MESSAGE 'ENTERED ORDER NOT FOUND' TYPE 'E'.
ENDIF.
ELSE.
SELECT *
FROM MARA
INTO TABLE TMARA
WHERE MATNR in CK1 .
IF sy-subrc ne 0.
MESSAGE 'ENTERED ORDER NOT FOUND' TYPE 'E'.
ENDIF.
ENDIF.
*----
START-OF-SELECTION.
REFRESH : TVBAK,
TMARA.
IF RD2 = 'X'.
SELECT *
FROM VBAK
INTO TABLE TVBAK
WHERE VBELN IN CK2.
ELSE.
SELECT *
FROM MARA
INTO TABLE TMARA
WHERE MATNR IN CK1.
ENDIF.
*----
END-OF-SELECTION.
IF RD2 = 'X'.
LOOP AT TVBAK.
WRITE: /2 SY-VLINE, TVBAK-VBELN INPUT ON,
15 SY-VLINE,TVBAK-ERDAT HOTSPOT ON,
30 SY-VLINE, 35 TVBAK-ERNAM,
49 SY-VLINE.
hide: tvbak-vbeln.
ENDLOOP.
A = SY-LINCT - SY-LINNO - 1.
SKIP A .
ELSE.
LOOP AT TMARA.
WRITE: /2 SY-VLINE, TMARA-MATNR INPUT ON,
15 SY-VLINE,TMARA-ERSDA,
30 SY-VLINE, 35 TMARA-ERNAM,
49 SY-VLINE.
hide: TMARA-MATNR.
ENDLOOP.
A = SY-LINCT - SY-LINNO - 1.
SKIP A .
ENDIF.
*----
AT SELECTION-SCREEN OUTPUT.
COM0 = 'MATERIAL NUMBER '.
COM1 = 'SALES ORDER NUMBER '.
COM2 = ' MATERIAL MASTER DETAIL '.
COM3 = ' SALES ORDER DETAIL '.
LOOP AT SCREEN.
IF RD1 = 'X' AND SCREEN-GROUP1 = 'XYZ' .
SCREEN-INPUT = '0'.
screen-active = 0.
MODIFY SCREEN.
ELSEIF RD2 = 'X' AND SCREEN-GROUP1 = 'ABC'.
SCREEN-INPUT = '0'.
screen-active = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
*----
TOP-OF-PAGE.
IF RD2 = 'X'.
ULINE.
WRITE /15 ' SALES ORDER REPORT ' COLOR = 1 .
ULINE.
WRITE : /7 ' VBELN ' ,
19 ' ERDAT ' ,
34 ' ERNAM ' .
ULINE.
ELSE.
ULINE.
WRITE /15 ' MATERIAL ORDER REPORT ' COLOR = 1 .
ULINE.
WRITE : /7 ' MATNR ' ,
19 ' ERSDA ',
34 ' ERNAM ' .
ULINE.
ENDIF.
*----
END-OF-PAGE.
IF SY-LSIND = 0.
ULINE.
A = SY-LINNO - A.
WRITE : /2 'NUMBER OF LINE IN THIS PAGE = ', A .
SKIP.
WRITE: /30 'PAGE NUMBER = ',SY-PAGNO.
ULINE.
ENDIF.
IF RD2 = 'X' AND SY-LSIND = 1.
ULINE.
WRITE : /12 'TOTAL PRICE = ' ,TEMP.
CLEAR TEMP.
SKIP.
WRITE : /30 'PAGE NUMBER = ', SY-PAGNO.
ULINE.
ELSE.
ULINE.
SKIP.
WRITE : /30 'PAGE NUMBER = ', SY-PAGNO .
ULINE.
ENDIF.
*----
at line-selection.
IF RD2 = 'X'.
IF SY-LSIND = 1.
SELECT
*
FROM VBAP
INTO TABLE TVBAP
WHERE VBELN = tvbak-vbeln.
LOOP AT TVBAP.
TEMP = TEMP + TVBAP-NETPR.
WRITE : /2 SY-VLINE, TVBAP-matnr,
17 SY-VLINE,TVBAP-VBELN,
30 SY-VLINE,TVBAP-NETPR,
49 SY-VLINE.
ENDLOOP.
ULINE.
A = SY-LINCT - SY-LINNO - 1.
SKIP A .
ELSEIF SY-LSIND = 2.
MESSAGE I002(ZSALES).
ENDIF.
ELSE.
IF SY-LSIND = 1.
SELECT
*
FROM MAKT
INTO TABLE TMAKT
WHERE MATNR = TMARA-MATNR.
LOOP AT TMAKT.
WRITE : /2 SY-VLINE, TMAKT-matnr,
10 SY-VLINE,TMAKT-SPRAS,
15 SY-VLINE,TMAKT-MAKTX,
SY-VLINE.
ENDLOOP.
ULINE.
A = SY-LINCT - SY-LINNO - 1.
SKIP A .
ENDIF.
ENDIF.
*----
TOP-OF-PAGE DURING LINE-SELECTION.
IF RD2 = 'X'.
WRITE : / SY-ULINE,
/7 ' DETAIL OF GIVEN SALES ORDER ' COLOR = 5,
/ SY-ULINE,
/4 'MATNR',
22 'VBELN',
35 'NETPR',
/ SY-ULINE.
ELSE.
WRITE : / SY-ULINE,
/7 ' DETAIL OF GIVEN MATERIAL ORDER ' COLOR = 5,
/ SY-ULINE,
/2 'MATNR',
11 'SPRAS',
35 'MAKTX',
/ SY-ULINE.
ENDIF.
*----
*-
Regards
ASHOK KUMAR
‎2007 Jul 13 2:12 PM
Hi,
Please take the help from this code (check and run) :
tables : vbak, ekko.
selection-screen begin of block b1 with frame.
PARAMETERS: purchase RADIOBUTTON GROUP rad USER-COMMAND radio.
SELECT-OPTIONS: ebeln FOR ekko-ebeln MODIF ID sl1.
PARAMETERS: sale RADIOBUTTON GROUP rad.
SELECT-OPTIONS: vbeln FOR vbak-vbeln MODIF ID sl2.
selection-screen end of block b1.
at selection-screen output.
loop at screen.
IF purchase = 'X'.
IF screen-group1 = 'SL2'.
screen-input = 0.
ENDIF.
ELSEIF sale = 'X'.
IF screen-group1 = 'SL1'.
screen-input = 0.
ENDIF.
ENDIF.
Modify screen.
endloop.
Reward points, if helpful,
Sandeep Kaushik
‎2007 Jul 13 2:19 PM
Hello,
SELECTION-SCREEN BEGIN OF BLOCK block11.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS:p_po RADIOBUTTON GROUP sdat DEFAULT 'X' user-command uid. "PO
SELECTION-SCREEN COMMENT 3(31) text-m01 FOR FIELD p_po.
PARAMETERS: p_postr TYPE char25 .
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS:p_so RADIOBUTTON GROUP sdat . "SO
SELECTION-SCREEN COMMENT 3(31) text-m02 FOR FIELD p_so.
PARAMETERS: p_sostr TYPE char25.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK block11.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF screen-name = 'P_SOSTR' AND p_po = 'X'.
screen-input = '0'.
MODIFY SCREEN.
ENDIF.
IF p_so = 'X'.
IF screen-name = 'P_POSTR' AND p_so = 'X'.
screen-input = '0'.
MODIFY SCREEN.
ENDIF.
ENDIF.
ENDLOOP.
Regards,
Deepu.K
‎2007 Jul 13 3:07 PM
HI I HAD CREATED THIS PROGRAM WITH PURCHESE ORDER AND PLANT DETAILS
THE REQUIREMENT IS SAME SO YOU CAN JUST CHANGE THE FEILDS
REWARD IF USEFUL
REPORT ZNNR_REPORT NO STANDARD PAGE HEADING MESSAGE-ID ZNNR LINE-SIZE 100 LINE-COUNT 65(4).
******DATA DECLARATIONS**********
DATA : BEGIN OF IT_PLANT OCCURS 0,
MATNR LIKE MARA-MATNR,
WERKS LIKE MARC-WERKS,
PSTAT LIKE MARC-PSTAT,
EKGRP LIKE MARC-EKGRP,
END OF IT_PLANT.
DATA : BEGIN OF IT_PONO OCCURS 0,
EBELN LIKE EKKO-EBELN,
EBELP LIKE EKPO-EBELP,
MATNR LIKE EKPO-MATNR,
WERKS LIKE EKPO-WERKS,
LGORT LIKE EKPO-LGORT,
END OF IT_PONO.
TABLES EKKO.
********END OF DATA DECLARATIONS*********
********SELECTION SCREEN DESIGN ***********
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
PARAMETER : P_WERKS LIKE MARC-WERKS VALUE CHECK MODIF ID S1.
SELECT-OPTIONS : S_EBELN FOR EKKO-EBELN OBLIGATORY NO INTERVALS MODIF ID S2.
SELECTION-SCREEN END OF BLOCK B1.
SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-004.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS : R1 RADIOBUTTON GROUP G1 DEFAULT 'X' USER-COMMAND UC1.
SELECTION-SCREEN COMMENT 5(20) TEXT-002 FOR FIELD R1.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS : R2 RADIOBUTTON GROUP G1.
SELECTION-SCREEN COMMENT 5(20) TEXT-003 FOR FIELD R2.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK B2.
******END OF SELECTION SCREEN DESIGN****************
*********INITIALIZATION OF SELECTION SCREEN ELEMENTS.*****
INITIALIZATION.
P_WERKS = '1000'.
S_EBELN-LOW = '4500016926'.
S_EBELN-OPTION = 'EQ'.
S_EBELN-SIGN = 'I'.
APPEND S_EBELN.
CLEAR S_EBELN.
************END OF INITIALIZATION***********************
************SCREEN MODIFICATIONS*******************
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN .
IF R1 EQ 'X' AND SCREEN-GROUP1 EQ 'S2'.
SCREEN-INPUT = 0.
MODIFY SCREEN.
ENDIF.
IF R2 EQ 'X' AND SCREEN-GROUP1 EQ 'S1'.
SCREEN-INPUT = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
********END OF SCREEN MODIFICATIONS*****************
***************SCREEN VALIDATIONS *****************
SELECT SINGLE *
FROM EKKO
INTO EKKO
WHERE EBELN IN S_EBELN.
IF SY-SUBRC <> 0.
SET CURSOR FIELD 'S_EBELN-LOW'.
MESSAGE E999 with text-005.
endif.
********end of screen validation*****************
START-OF-SELECTION.
IF R1 EQ 'X'.
SELECT MATNR
WERKS
PSTAT
EKGRP
FROM MARC
INTO TABLE IT_PLANT
WHERE WERKS = P_WERKS.
LOOP AT IT_PLANT.
WRITE : SY-VLINE , 2 IT_PLANT-MATNR COLOR COL_KEY,
21 SY-VLINE , 22 IT_PLANT-WERKS COLOR COL_KEY,
27 SY-VLINE ,28 IT_PLANT-PSTAT COLOR COL_NORMAL,
43 SY-VLINE ,44 IT_PLANT-EKGRP COLOR COL_NORMAL.
ENDLOOP.
ENDIF.
IF R2 EQ 'X'.
SELECT EBELN EBELP MATNR WERKS LGORT
FROM EKPO
INTO TABLE IT_PONO
WHERE EBELN IN S_EBELN.
LOOP AT IT_PONO.
WRITE : SY-VLINE , 2 IT_PONO-EBELN COLOR COL_KEY,
12 SY-VLINE , 13 IT_PONO-EBELP COLOR COL_KEY,
18 SY-VLINE , 19 IT_PONO-MATNR COLOR COL_NORMAL,
37 SY-VLINE , 38 IT_PONO-WERKS COLOR COL_NORMAL,
44 SY-VLINE , 45 IT_PONO-LGORT COLOR COL_NORMAL, 49 SY-VLINE..
ENDLOOP.
ENDIF.
TOP-OF-PAGE.
IF R1 EQ 'X'.
*ULINE AT /1(48).
WRITE : SY-VLINE ,2 'MATERIAL NUMBER',
21 SY-VLINE , 22 'PLANT',
27 SY-VLINE , 28 'STATUS',
43 SY-VLINE , 44 'GRUP', 48 SY-VLINE.
ULINE AT /1(48).
ENDIF.
IF R2 EQ 'X'.
WRITE : SY-VLINE , 2 'PO NUMBER',
12 SY-VLINE, 13 'ITEM',
18 SY-VLINE,19 'MATERIAL NUMBER',
37 SY-VLINE, 38 'PLANT',
44 SY-VLINE, 45 'GRUP',
49 SY-VLINE.
ULINE AT /1(50).
ENDIF.
END-OF-PAGE.
ULINE AT /1(50).
‎2007 Jul 13 3:18 PM
HI,
Check the following code:
parameters: p_erdat like zirpactivity-erdat modif id SC1 ,
r1 radiobutton group RAD1 user-command ABC default 'X',
r2 radiobutton group RAD1.
AT SELECTION-SCREEN.
check sy-ucomm = 'ABC'.
check sy-ucomm = 'F8'.
AT SELECTION-SCREEN OUTPUT.
loop at screen.
if r1 = 'X' and screen-group1 = 'SC1' .
screen-input = 0.
ENDIF.
IF r2 = 'X'.
screen-group1 = 'SC1' .
screen-input = 1.
endif.
modify screen.
endloop.
Hope this helps.
Reward if helpful.
Regards,
Sipra