Screen - Radio Button
Hi,
I have a screen, where I have two radio buttons and input fields in front of them.
I want to make the input fields of one Radio button invisble when the other is selected.
However, when I select the radio button, I have to press Enter to make the input fields visible again.
I want the fields to be visible when the Radio button is selected.Is it possible to do so.
Please suggest.
Thanks in advance,
Archana
plz run the follwing code.
plz reward points if it helps you.
Report ZANID_TEST2 Message-ID ZM.
tables: SSCRFIELDS.
DATA: BEGIN OF it_file OCCURS 0,
buffer(2000),
END OF it_file.
DATA: filename1(128),
filename2(128),
rec(1750).
DATA: c_fnh_mask TYPE dxfields-filemask VALUE '*',
searched_dir TYPE dxfields-longpath,
file_path LIKE dxfields-longpath.
-parameters----
selection-screen:
Begin of block r1 with frame title text-006.
parameters:
p_cp1 radiobutton group rb1 default 'X' USER-COMMAND RND,
p_mv1 radiobutton group rb1,
p_ren radiobutton group rb1,
p_del1 radiobutton group rb1.
selection-screen:
End of block r1.
selection-screen:
begin of block b1 with frame title text-004.
parameters:
loc1(128) obligatory lower case "Location1
default 'E:\usr\sap\put' modif id 1,
file(128) obligatory lower case "Filename
default 'E:\usr\sap\put\ekpo.dat' modif id 2,
newname(128) obligatory lower case "Filname
default 'abcd.txt' modif id 3,
loc2(128) obligatory lower case "Location2
default 'E:\usr\sap\D12\SYS\gen' modif id 4.
selection-screen:
skip,
PUSHBUTTON /05(23) TEXT-001 USER-COMMAND ZCOPY modif id 5,"COPY
PUSHBUTTON 30(23) TEXT-002 USER-COMMAND ZMOV modif id 6, "CUT
PUSHBUTTON 55(23) TEXT-003 USER-COMMAND ZDELETE modif id 7, "DELTE
skip,
PUSHBUTTON /30(23) TEXT-005 USER-COMMAND ZREN modif id 8, "RENAME
end of block b1.
at selection-screen output .
perform modify_screen.
start-of-selection.
***your code
*& Form modify_screen
form modify_screen.
loop at screen.
if p_cp1 eq 'X'.
if screen-group1 = '3' or
screen-group1 = '6' or
screen-group1 = '7' or
screen-group1 = '8'.
screen-active = 0.
endif.
elseif p_mv1 eq 'X'.
if screen-group1 = '3' or
screen-group1 = '5' or
screen-group1 = '7' or
screen-group1 = '8'.
screen-active = 0.
endif.
elseif p_del1 eq 'X'.
if screen-group1 = '3' or
screen-group1 = '4' or
screen-group1 = '5' or
screen-group1 = '6' or
screen-group1 = '8'.
screen-active = 0.
endif.
elseif p_ren eq 'X'.
if screen-group1 = '4' or
screen-group1 = '5' or
screen-group1 = '6' or
screen-group1 = '7'.
screen-active = 0.
endif.
endif.
modify screen.
endloop.
endform. " modify_screen
Similar Messages
-
Selection screen radio buttons problem
How enable and disable the radio button in selection screen?
Hi Ram,
Try using the below code it may useful for solving your problem .
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-014.
SELECT-OPTIONS kunnr FOR komg-kunnr.
SELECT-OPTIONS waerk FOR komg-waerk MODIF ID def .
SELECT-OPTIONS pltyp FOR komg-pltyp MODIF ID abc.
SELECT-OPTIONS matnr FOR komg-matnr MODIF ID abc.
SELECT-OPTIONS vkorg FOR a007-vkorg MODIF ID jkl.
SELECT-OPTIONS vtweg FOR a007-vtweg MODIF ID jkl.
SELECT-OPTIONS spart FOR a007-spart MODIF ID jkl.
PARAMETERS datum LIKE rv12l-datint DEFAULT sy-datum.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-015.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS:r3 RADIOBUTTON GROUP g1 DEFAULT 'X' USER-COMMAND ucom.
SELECTION-SCREEN COMMENT 10(20) text-018.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS:r1 RADIOBUTTON GROUP g1.
SELECTION-SCREEN COMMENT 10(20) text-016.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS:r2 RADIOBUTTON GROUP g1.
SELECTION-SCREEN COMMENT 10(20) text-017.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS:r4 RADIOBUTTON GROUP g1.
SELECTION-SCREEN COMMENT 10(20) text-022.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK b2.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF r1 EQ 'X'.
IF screen-group1 = c_jkl.
screen-input = 0.
screen-invisible = 1.
ENDIF.
ENDIF.
IF r2 EQ 'X'.
IF screen-group1 = c_def OR screen-group1 = c_jkl.
screen-input = 0.
screen-invisible = 1.
ENDIF.
ENDIF.
IF r3 EQ 'X'.
IF screen-group1 = c_abc OR screen-group1 = c_def.
screen-input = 0.
screen-invisible = 1.
ENDIF.
ENDIF.
IF screen-group1 = c_ghi.
screen-input = 0.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
Regards,
Jana -
Selection screen: Radio button
HI,
I want to create a report with the selection screen.
In the selection screen. there are two radio button under which there are two fields in each of it. Like Below
Radio Button 1
Field 1
Field 2
Radio Button 2
Field 3
Field 4
if the User select the first radio button then Field 1 & 2 should be available for input and field 3 & 4 in the other radio button should not be available for input. which means it should be grayed out. Vice versa.
Where do i need to modify the screen parameter for the fields?..
Please suggest me a way forward
Regards
Suresh KumarReport ZTEST1.
DATA : FLAG(1) value 1,
FLAG1(1) value 0.
selection-screen begin of block b1 with frame.
PARAMETERS : APPLSER RADIOBUTTON GROUP R1 USER-COMMAND R,
P_ASER(25) MODIF ID AS,
P_ASER1(25) MODIF ID AS.
*selection-screen end of block b1.
SELECTION-SCREEN COMMENT /1(30) comm2.
*selection-screen begin of block b2.
parameters : PRESER RADIOBUTTON GROUP R1,
P_PSER(25) MODIF ID PS,
P_PSER1(25) MODIF ID PS.
selection-screen end of block b1.
AT SELECTION-SCREEN.
IF SY-UCOMM = 'R'.
IF APPLSER = 'X'.
FLAG = '1'.
FLAG1 = '0'.
ELSEIF PRESER = 'X'.
FLAG = '0'.
FLAG1 = '1'.
ENDIF.
ENDIF.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'AS'.
SCREEN-INPUT = FLAG.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'PS'.
SCREEN-INPUT = FLAG1.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
Message was edited by:
Sriram Ponna -
Provide code for desplay radio button in POP UP window(REUSE_ALV_POP
Dear Experts,
I m using Function module REUSE_ALV_POPUP_TO_SELECT . I can use check box but radio button is required. How to declared that radio button in main Program and I need radio button on POPUP window also along with other fields. That radio button should not display on my main selection screen, Radio Button should be display on POPUP window only .
Pl provide me code for .....
Thanks & Regards,
Swapnika
Edited by: swapnika on Nov 28, 2011 8:09 AMHi,
Using radio button for single selection.
You can double click at the line for the single selection instead of radio button by leaving I_CHECKBOX_FIELDNAME blank.
Hope this help.
Tiwa N. -
Adding function code dynamically for radio buttons
Hi Experts,
I have two radio buttons in standard screen which when clicked my custom logic should be executed.
The issue here is the standard screen radio button does not have a Fcode assigned in the field properties because of this no event is triggered when the radio button is selected.
Thank You,
Anupama.Hi anu,
Try the following procedure,
- Combine all the radio buttons into a group. T
- Create a common function code for all the radio buttons. F
- Assign all the radio buttons to the same modification group. F
- Enclose all entire radio button in a frame. F
Also check the website it help u as u need,
[http://help.sap.com/saphelp_nw04/Helpdata/EN/3d/c3b23782a9cc68e10000009b38f8cf/content.htm]
Hope it helps u....
Regards,
Annevit -
Radio buttons are disabled in Custom Infotyope
Hi All,
I have created a custom infotype for rating.This infotype is having 5 radiobutton fields. In the field attributes i marked this as an input field.But if go in PA30(create) these radiobuttons are disabled.I am not able to make an input.
Thanks
Parthi.hi partha,
give your infotype similar "infotype characterstics" as of a standarad infotype
check out for time constraints.
take infotype 000 and ur custom infotype check if there is any differance in the
"infotype characterstics".
its surely gng 2 hep you.
also just check that you have followed the given all steps correctly
1) Go to Transaction PM01.
2) Enter the custom Infotype number which you want to create (Should be a 4 digit number, start with 9).
3) Select the 'Employee Infotype' radio button.
4) Select the 'PS Structure Infotype'.
5) Click on Create... A separate table maintenance window appears...
6) Create a PS structure with all the fields you want on the Infotype
7) Save and Activate the PS structure
8) Go back to the initial screen of PM01.
9) Click on 'All' push button. It takes a few moments.
10) Click on 'Technical Characteristics'. Infotype list screen appears
11) Click on 'Change'(pencil) button
12) Select your Infotype and click on 'Detail' (magnifying glass) button
13) Give 'T591A' as subtype table
14) Give 'T591S' as subtype txt tab
15) Give your subtype field as subtype field
16) Save and come back to PM01 initial screen
17) Click on 'Infotype Characteristics' ... Infotype list screen appears
18) Click on 'Change' (pencil) button
19) Click on 'New Entries'
20) Enter your Infotype number and short text
21) Here we have to set different Infotype Characteristics as per the requirement. (Better open another session with some standard Infotype's infotype characteristics screen and use as the reference to fill yours)
22) Save your entries.
23) Now the Infotype is created and ready to use.
24) If you want to change the layout of the Infotype as per your requirement...
25) In the PM01 initial screen...Select 'Screen' radio button and give 2000 as the screen name, then click on edit.
26) In the next screen.. Select 'Layout Editor' and click 'Change'.
27) Screen default layout appears...here you can design/modify the screen..change the attributes of the fields..etc.
28) Save and activate. (Don't forget to 'Activate at every level)
let me know if its helpful
thnkx
bhanu -
How can i declare a single radio button field in selection-screen ?
How can i declare a single radio button field in selection-screen ?
>
Rob Burbank wrote:
> And how will you turn it off once it is turned on??
>
> Rob
Thats correct ;)...See ravi if users will ask so many things its our Job to convay the correct solution ....
Just post your org requirement..SOo some body guide you better//
Sas -
Radio button in three column in a single selection-screen
Hi,
I am trying to create radio buttons with three column within a single selection-screen.
I.e.
Column 1:
radio1
Column2:
radio2
radio3
column3:
radio4
radio5
radio6
Also I wish to give three names(as headers) to each columns.Is is possible?If yes how?Hi,
write as :
SELECTION-SCREEN COMMENT /1(50) text-001.
PARAMETERS: r1 RADIOBUTTON GROUP rad1.
SELECTION-SCREEN COMMENT /1(30) text-002.
PARAMETERS: r2 RADIOBUTTON GROUP rad1,
r3 RADIOBUTTON GROUP rad1.
SELECTION-SCREEN COMMENT /1(30) text-003.
PARAMETERS: r4 RADIOBUTTON GROUP rad1,
r5 RADIOBUTTON GROUP rad1,
r6 RADIOBUTTON GROUP rad1.
Regards,
Srini. -
Radio button and selection screen
hi
my requirement is that if the user enters some particular combination of value in the select options and clicks a particular radio button there should be an error message displayed.
1) I am getting the error message in the form a dialog box , but it has only option of exit , and the user is thrown of the screen. my requirement is that after the error message the user must still be at the same screen so that he can enter new values.
2) the code that i have written also has one more anamoly that the displaying of error depends upon the sequence of actions .
if i enter the value in the select option first and then click the radio button then the error message is displayed which is correct.
but it doesnt work i click the radio button first and then enter the value, the program is executed and NO ERROR message is flashed.
here is what i have written
SELECTION-SCREEN BEGIN OF BLOCK blk WITH FRAME.
SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.
SELECT-OPTIONS: p_year for s021-spmon obligatory ,
p_kunag FOR vbrk-kunag ,
p_matnr FOR vbrp-matnr ,
p_augru FOR vbrp-augru_auft modif id a1 ,
p_vbeln FOR vbrk-vbeln .
SELECTION-SCREEN END OF BLOCK blk1.
SELECTION-SCREEN BEGIN OF BLOCK blk2 WITH FRAME TITLE text-002.
PARAMETERS: nrw RADIOBUTTON GROUP g1 user-command check,
mwd RADIOBUTTON GROUP g1 ,
rws RADIOBUTTON GROUP g1 ,
edu RADIOBUTTON GROUP g1 ,
standard RADIOBUTTON GROUP g1 default 'X' .
SELECTION-SCREEN END OF BLOCK blk2.
SELECTION-SCREEN END OF BLOCK blk.
at selection-screen output.
loop at screen.
if nrw = 'X' and p_augru-low EQ 'MWD'.
MESSAGE e000(oo) WITH '<Please Enter the correct Order Reason>'.
endif.
endloop.
START-OF-SELECTION.
CASE 'X'.
WHEN nrw.
PERFORM set_dates_nrw.
PERFORM load_data_nrw.
PERFORM get_cust_info_nrw.
PERFORM set_alv_field_cat_nrw.
PERFORM display_alv_nrw.
endcase.Hi
Change this piece of code
at selection-screen output.
loop at screen.
if nrw = 'X' and p_augru-low EQ 'MWD'.
MESSAGE e000(oo) WITH '<Please Enter the correct Order Reason>'.
endif.
endloop.
by
<b>at selection-screen.
if nrw = 'X' and p_augru-low EQ 'MWD'.
MESSAGE e000(oo) WITH '<Please Enter the correct Order Reason>'.
endif.</b>
Reward points if useful.
Regards,
Atish -
Radio button in BEx variable screen
I want in a report to find the value of Key figure in absolute or not .
There must be a radio button in the varible screen to populate KF either in absolute or as it is .
Display absolute ( Yes or No) : .......
If yes it will show the KF only in absolute else it will show only as it is .
How should I approach ?create two kf.
1st, your kf.
2nd (calculated) as absolute value of your 1st kf.
put a radio button, in design mode, under dimensions choose key figures.
switch off design mode.
hope this helps.
derya -
While opening a screen none of the radio button should not selected
Hi,
i have three radio button on the screens.By default the first radio button is getting selected for each and every time when ever i'm opening the screen.i dont want the default select should happen and even i dont want any of the radio button should be selected.
how i can acheive through dialog programming.
kind regards,
Poornima.Hi,
You can have radio buttons with any one field selected from a group .
ex:
selection-screen begin of block b2 with frame title text-042.
parameters:r_detail radiobutton group g2 user-command cmd default
'X',
r_sumry radiobutton group g2,
r_totals radiobutton group g2.
selection-screen end of block b2.
or
selection-screen begin of block b2 with frame title text-042.
parameters:r_detail radiobutton group g2 user-command cmd,
r_sumry radiobutton group g2 default 'X',
r_totals radiobutton group g2.
selection-screen end of block b2.
or
selection-screen begin of block b2 with frame title text-042.
parameters:r_detail radiobutton group g2 user-command cmd,
r_sumry radiobutton group g2 ,
r_totals radiobutton group g2 default 'X'.
selection-screen end of block b2.
Else you can opt for checkbox and have all of them not checked.
Regards,
Dep -
Creation of selection screen with 2 radio button groups
Hi All,
I have following selecton screen to be created:
1. Radio Button for File
A. Radio Button for PC File
- Parameter for PC File Input
B. Radio Button for UNIX File
- Parameter for Unix File Input
2. Radio Button for Material
- Material Select-Option
As per above Either of Radio Buttons 1/2 File/Material will be selected.
If 1(File) Selected Radio Button for PC File/Unix File will be selected, No other radio buttons will be active.
If 2(Material) Selected Material Select-option input will be given, No other radio buttons will be active.
How can we write the selection screen code for above design.
Thanks in advance.
Thanks,
Deep.Hi,
go through the following example-----
**************************************INTERNAL TABLE DECLERATION**************************************
DATA: BEGIN OF ITAB2 OCCURS 0,
VALUE(250) TYPE C,
END OF ITAB2.
**************************************DATA DECLERATION************************************************
DATA: PATH LIKE DYNPREAD-FIELDNAME.
DATA : P TYPE STRING,
D TYPE STRING.
DATA : V_DATASET LIKE FILENAMECI-FILEEXTERN.
**************************************SELECTION SCREEN***********************************************
PARAMETERS: V_PATH TYPE RLGRAP-FILENAME DEFAULT 'C:\Documents and Settings\vchaturvedi\Desktop\vijay.txt'.
PARAMETERS: D_PATH TYPE RLGRAP-FILENAME.
SKIP 5.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME.
PARAMETERS: PC_ONE RADIOBUTTON GROUP RAD1 DEFAULT 'X',
PC_OTHER RADIOBUTTON GROUP RAD1.
SELECTION-SCREEN END OF BLOCK B1.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR V_PATH.
HELP FOR SEARCHING FILES PATH************************************************
IF PC_ONE = 'X'.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
PROGRAM_NAME = 'Z8VIJAY_SHADOWER_COVERSIONDATA'
DYNPRO_NUMBER = SYST-DYNNR
FIELD_NAME = PATH
IMPORTING
FILE_NAME = V_PATH.
*******CONVERT IN TO STRING************
P = V_PATH.
ENDIF.
**************************************SELECTION SCREEN VALIDATION***********************************
AT SELECTION-SCREEN.
IF V_PATH = ''.
MESSAGE E014. "FILE PATH NOT FOUND!!!!!!!
ENDIF.
IF D_PATH = ''.
MESSAGE E016. "TARGET FILE NOT FOUND!!!!!!!
ENDIF.
*******************FOR DOWNLOAD**********
AT SELECTION-SCREEN ON VALUE-REQUEST FOR D_PATH.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
PROGRAM_NAME = 'Z8VIJAY_SHADOWER_COVERSIONDATA'
DYNPRO_NUMBER = SYST-DYNNR
FIELD_NAME = PATH
IMPORTING
FILE_NAME = D_PATH.
***************CONVERT INTO STRING***********
D = D_PATH.
*******************************************MAIN LOGIC************************************************
START-OF-SELECTION.
IF P = ''.
P = 'C:\Documents and Settings\vchaturvedi\Desktop\vijay.txt'.
ENDIF.
******************UPLOAD DATA FROM OTHERS TO INTERNAL TABLE****************
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = P
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = ' '
HEADER_LENGTH = 0
READ_BY_LINE = 'X'
DAT_MODE = ' '
CODEPAGE = ' '
IGNORE_CERR = ABAP_TRUE
REPLACEMENT = '#'
CHECK_BOM = ' '
IMPORTING
FILELENGTH =
HEADER =
TABLES
DATA_TAB = ITAB2
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_READ_ERROR = 2
NO_BATCH = 3
GUI_REFUSE_FILETRANSFER = 4
INVALID_TYPE = 5
NO_AUTHORITY = 6
UNKNOWN_ERROR = 7
BAD_DATA_FORMAT = 8
HEADER_NOT_ALLOWED = 9
SEPARATOR_NOT_ALLOWED = 10
HEADER_TOO_LONG = 11
UNKNOWN_DP_ERROR = 12
ACCESS_DENIED = 13
DP_OUT_OF_MEMORY = 14
DISK_FULL = 15
DP_TIMEOUT = 16
OTHERS = 17
IF sy-subrc = 1.
MESSAGE E014. "FILE PATH NOT FOUND!!!!!!!
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
******************************DOWNLOAD DATA FROM INTERNAL TABLE TO OTHERS******************************
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
BIN_FILESIZE =
FILENAME = D
FILETYPE = 'ASC'
APPEND = ' '
WRITE_FIELD_SEPARATOR = ' '
HEADER = '00'
TRUNC_TRAILING_BLANKS = ' '
WRITE_LF = 'X'
COL_SELECT = ' '
COL_SELECT_MASK = ' '
DAT_MODE = ' '
CONFIRM_OVERWRITE = ' '
NO_AUTH_CHECK = ' '
CODEPAGE = ' '
IGNORE_CERR = ABAP_TRUE
REPLACEMENT = '#'
WRITE_BOM = ' '
TRUNC_TRAILING_BLANKS_EOL = 'X'
WK1_N_FORMAT = ' '
WK1_N_SIZE = ' '
WK1_T_FORMAT = ' '
WK1_T_SIZE = ' '
IMPORTING
FILELENGTH =
TABLES
DATA_TAB = ITAB2
FIELDNAMES =
EXCEPTIONS
FILE_WRITE_ERROR = 1
NO_BATCH = 2
GUI_REFUSE_FILETRANSFER = 3
INVALID_TYPE = 4
NO_AUTHORITY = 5
UNKNOWN_ERROR = 6
HEADER_NOT_ALLOWED = 7
SEPARATOR_NOT_ALLOWED = 8
FILESIZE_NOT_ALLOWED = 9
HEADER_TOO_LONG = 10
DP_ERROR_CREATE = 11
DP_ERROR_SEND = 12
DP_ERROR_WRITE = 13
UNKNOWN_DP_ERROR = 14
ACCESS_DENIED = 15
DP_OUT_OF_MEMORY = 16
DISK_FULL = 17
DP_TIMEOUT = 18
FILE_NOT_FOUND = 19
DATAPROVIDER_EXCEPTION = 20
CONTROL_FLUSH_ERROR = 21
OTHERS = 22
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
IF PC_OTHER = 'X'.
****************************8FOR ONE SERVER TO ANOTHER************************************************
OPEN DATASET V_DATASET FOR INPUT IN TEXT MODE ENCODING DEFAULT.
IF SY-SUBRC = 0.
DO.
READ DATASET V_DATASET INTO ITAB2.
IF SY-SUBRC <> 0.
EXIT.
ENDIF.
APPEND ITAB2.
ENDDO.
ENDIF.
ENDIF.
*********************************PRINTING DATA *********************************************************
LOOP AT ITAB2.
WRITE :/5 ITAB2-VALUE.
ENDLOOP.
****do reward if usefull
Regards,
vijay -
At-selection screen output and radio button together
Hi all,
I want to make a screen with radio buttons and a drop down menu on selection screen as soon as I check any button and click on Open from drop down menu the output should come according to the button cheked but the problem is that desired output is not coming.
Please see if something could be done.
Thanks,
ShwetaHi,
Here is the code see y it didnt responds,
I made ZMENU2 in SE41 with Menu bar as OPEN , also activated buttons BACK and EXIT.
tables : sscrfields.
CONSTANTS : buttonselected TYPE c LENGTH 1 VALUE 'X'.
DATA: ok_code LIKE sy-ucomm.
SELECTION-SCREEN BEGIN OF BLOCK frame1 WITH FRAME TITLE text-001.
SELECTION-SCREEN ULINE /1(60).
PARAMETERS: first RADIOBUTTON GROUP rad DEFAULT 'X',
second RADIOBUTTON GROUP rad,
third RADIOBUTTON GROUP rad,
fourth RADIOBUTTON GROUP rad,
fifth RADIOBUTTON GROUP rad.
SELECTION-SCREEN END OF BLOCK frame1.
AT SELECTION-SCREEN OUTPUT.
SET PF-STATUS 'ZMENU2'.
If first = buttonselected and ok_code = 'OPEN'..
WRITE 'You selected first button'.
ELSEIF second = buttonselected and ok_code = 'OPEN'..
WRITE 'You selected second button'.
ELSEIF third = buttonselected and ok_code = 'OPEN'.
WRITE 'You selected third button'.
ELSEIF fourth = buttonselected and ok_code = 'OPEN'.
WRITE 'You selected fourth button'.
ELSEIF fifth = buttonselected and ok_code = 'OPEN'.
WRITE 'You selected fifth button'.
ELSEIF ok_code ='BACK'.
LEAVE PROGRAM.
ELSEIF ok_code ='EXIT'.
LEAVE PROGRAM.
ENDIF. -
Report should executed based on the radio buttons on the selection screen
Hi everyone,
Greets....................
My scenario is I have 2 selection screen blocks on same screen..
One selection screen block contains input parameters as follows
Company Code - S_BUKRS
Business Area - S_GSBER
Customer Code - S_KUNNR
Fiscal Area - S_GJAHR
GL Account - S_HKONT
Posting Date -S_ZFBDT
Ledger Type -P_RLDNR
Open Item Key Date - P_ZFBDT
Another selection screen block contains 2 radio buttons with the option as follows
Collection Plan
*Credit days summary.
If i click Collection plan the report output should come based on the input parameters in first selection-screen block.
If i click Credit days summary the report output should come based on the input parameters in first selection-screen block.
Pls send me the sample code for this.
Thanks in Advance
Regards
Raj kumarSee the below folling example : it will have radio buttons and depends on radio button it will show output.
REPORT ZPPR_BOM_INFOL_REPORT no standard page heading
line-size 160
line-count 60.
======================================================================
Program Name : ZPPR_BOM_INFOL_REPORT
Description : This Program would be used for BOM List for a material*
and the component's where used list *
Author : Seshu *
Date : 07/24/2006 *
MODIFICATION HISTORY *
DATE | AUTHOR | CHANGE # | DESCRIPTION OF MODIFICATION *
|----
|----
|----
*12/04/06 | Seshu | DEVK921821 | Removed new page for each material *
======================================================================
Table definition *
TABLES: mast,
stko,
stpo,
T418,
makt.
TYPE - POOLS
TYPE-POOLS: slis.
Constants
constants : c_tcode(4) type c value 'CS03',
gc_formname_top_of_page TYPE slis_formname
VALUE 'TOP_OF_PAGE'.
Variables
data : v_maktx like makt-maktx,
wa_stko like stko.
DATA:
Objekttyp 'Material'
otyp_mat(1) TYPE c VALUE '1',
ootyp_mat(1) TYPE c VALUE 'M',
Objekttyp 'kein Objekt'
otyp_noo(1) TYPE c VALUE '2',
Objekttyp 'Dokument'
otyp_doc(1) TYPE c VALUE '3',
Objekttyp 'Klasse'
otyp_kla(1) TYPE c VALUE '4',
Objekttyp 'Intramaterial'
otyp_ntm(1) TYPE c VALUE '5'.
maximal anzeigbare Menge
data: max_num(7) TYPE p DECIMALS 3 VALUE '9999999999.999',
ueberl_kz(1) TYPE c VALUE '*',
min_num(7) TYPE p DECIMALS 3 VALUE '9999999999.999-',
b_flag(1) TYPE c VALUE 'X',
ecfld(250) TYPE c,
v_flag type c.
ALV Variables
DATA: gt_fieldcat TYPE slis_t_fieldcat_alv,
gs_layout TYPE slis_layout_alv,
gs_keyinfo TYPE slis_keyinfo_alv,
gt_sp_group TYPE slis_t_sp_group_alv,
gt_events TYPE slis_t_event.
DATA: g_repid LIKE sy-repid.
DATA: gt_list_top_of_page TYPE slis_t_listheader,
g_tabname_header TYPE slis_tabname,
g_tabname_item TYPE slis_tabname,
g_save(1) TYPE c,
gx_variant LIKE disvariant,
g_variant LIKE disvariant,
g_default(1) TYPE c,
g_exit(1) TYPE c.
Includes *
INCLUDE .
Internal Table Declaration *
DATA: t_mast LIKE STANDARD TABLE OF mast WITH HEADER LINE.
*DATA: t_makt LIKE STANDARD TABLE OF makt WITH HEADER LINE.
BOM Function module Related
DATA: t_matcat LIKE cscmat OCCURS 0 WITH HEADER LINE.
Internal Table for Level by Level Function module
DATA: t_stb LIKE stpox OCCURS 0 WITH HEADER LINE.
Get the Relevant data from FM
DATA: BEGIN OF hd_tab OCCURS 0,
stufe LIKE stpox-stufe,
vwegx LIKE stpox-vwegx,
END OF hd_tab.
Final Output
DATA: BEGIN OF alv_stb OCCURS 0.
INCLUDE STRUCTURE stpox_alv.
DATA: info(3) TYPE c,
END OF alv_stb.
DATA: BEGIN OF stb_orig.
INCLUDE STRUCTURE stpox.
DATA: END OF stb_orig.
DATA: BEGIN OF stb_add.
INCLUDE STRUCTURE stpol_add.
DATA: END OF stb_add.
Internal Table for STPO
*-- BOM Line item
TYPES: BEGIN OF ty_stpo,
stlty TYPE stpo-stlty,
stlnr TYPE stpo-stlnr,
stlkn TYPE stpo-stlkn,
stpoz TYPE stpo-stpoz,
idnrk TYPE stpo-idnrk,
meins TYPE stpo-meins,
menge TYPE stpo-menge, "Component Qty
END OF ty_stpo.
DATA: t_stpo TYPE STANDARD TABLE OF ty_stpo WITH HEADER LINE.
*-- BOM Header
TYPES: BEGIN OF ty_stko,
stlty TYPE stko-stlty,
stlnr TYPE stko-stlnr,
stlal TYPE stko-stlal,
stkoz TYPE stko-stkoz,
bmein TYPE stko-bmein,
bmeng TYPE stko-bmeng,
END OF ty_stko.
DATA: t_stko TYPE STANDARD TABLE OF ty_stko WITH HEADER LINE .
data : t_makt like makt occurs 0 with header line.
DATA: BEGIN OF cl_clstab OCCURS 0, "YHG079407
class LIKE klah-class, "YHG079407
klart LIKE klah-klart, "YHG079407
chked LIKE csdata-xfeld, "YHG079407
noobj LIKE csdata-xfeld, "YHG079407
dsply LIKE csdata-xfeld, "YHG079407
END OF cl_clstab.
*-- Header table
TYPES: BEGIN OF ty_main_material,
matnr TYPE mast-matnr, "Material
werks TYPE mast-werks, "Plant
maktx TYPE makt-maktx, "Description
stlal TYPE mast-stlal, "Alternative BOM
stlnr TYPE stko-stlnr, "BOM Number
bmein TYPE stko-bmein, "UOM
bmeng TYPE stko-bmeng, "Base Qty
expand(1) TYPE c, "Expanding Field
END OF ty_main_material.
DATA: t_main_material TYPE STANDARD TABLE OF ty_main_material WITH
HEADER LINE.
*-- Item (Component) Table
TYPES: BEGIN OF ty_item_material,
matnr TYPE mast-matnr, "Material
werks TYPE mast-werks, "Plant
idnrk TYPE stpo-idnrk, "Component (Material)
maktx TYPE makt-maktx, "Description
stlal TYPE mast-stlal, "Alternative BOM
stlnr TYPE stpo-stlnr, "BOM Number
meins TYPE stpo-meins, "UOM
menge TYPE stpo-menge, "Base Qty
END OF ty_item_material.
DATA: t_item_material TYPE STANDARD TABLE OF ty_item_material WITH
HEADER LINE.
Selection Screen *
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS: p_werks LIKE marc-werks DEFAULT '1000' OBLIGATORY.
SELECT-OPTIONS s_stlal FOR mast-stlal .
SELECT-OPTIONS s_stlan FOR mast-stlan DEFAULT '1'.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
SELECTION-SCREEN SKIP.
PARAMETERS: p_bomlst RADIOBUTTON GROUP g1 DEFAULT 'X'.
SELECT-OPTIONS s_matnr FOR mast-matnr.
SELECTION-SCREEN SKIP.
PARAMETERS: p_compon RADIOBUTTON GROUP g1.
SELECT-OPTIONS: s_idnrk FOR stpo-idnrk.
SELECTION-SCREEN END OF BLOCK b2.
SELECTION-SCREEN END OF BLOCK b1.
selection-screen begin of block b03 with frame title text-b03.
selection-screen begin of line.
selection-screen comment 1(40) text-005.
parameters: p_all radiobutton group r1 default 'X'.
selection-screen end of line.
selection-screen begin of line.
selection-screen comment 1(40) text-006.
parameters: p_one radiobutton group r1 .
selection-screen end of line.
selection-screen end of block b03.
SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-003.
PARAMETERS: p_vari LIKE disvariant-variant.
SELECTION-SCREEN END OF BLOCK b3.
At slection screen events *
*-- Process on value request
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_vari.
PERFORM f4_for_variant.
Intitialisation
INITIALIZATION.
g_repid = sy-repid.
g_tabname_header = 'T_MAIN_MATERIAL'.
g_tabname_item = 'T_ITEM_MATERIAL'.
*-- define keyinformation
CLEAR gs_keyinfo.
gs_keyinfo-header01 = 'MATNR'.
gs_keyinfo-item01 = 'MATNR'.
PERFORM e03_eventtab_build USING gt_events[].
PERFORM e04_comment_build USING gt_list_top_of_page[].
PERFORM e07_sp_group_build USING gt_sp_group[].
PERFORM e08_layout_build USING gs_layout.
Set Options: save variants userspecific or general
g_save = 'A'.
PERFORM variant_init.
Get default variant
gx_variant = g_variant.
CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
EXPORTING
i_save = g_save
CHANGING
cs_variant = gx_variant
EXCEPTIONS
not_found = 2.
IF sy-subrc = 0.
p_vari = gx_variant-variant.
ENDIF.
S T A R T - O F - S E L E C T I O N *******************
start-of-selection.
if p_all = 'X'.
Get the data from MAST and MAKT Table
if p_bomlst = 'X'.
Get the data Based On Material #
perform get_data.
else.
Get the data Based On Component
perform get_data_component.
endif.
else.
Get the Single Level Report
*-- Moved the fiedl catalog here inorder to change the layout based on
*-- Selection
PERFORM e01_fieldcat_init USING gt_fieldcat[].
PERFORM select_data.
endif.
E N D - O F - S E L E C T I O N *******************
end-of-selection.
if p_one = 'X'.
perform alv.
endif.
User Command
at line-selection.
Interactive to CS03 Transaction
case sy-ucomm.
when 'PICK' or 'F2'.
if not alv_stb-idnrk is initial .
if not alv_stb-werks is initial.
if not alv_stb-objty is initial.
SET PARAMETER ID 'MAT' FIELD alv_stb-idnrk.
SET PARAMETER ID 'WRK' FIELD alv_stb-werks.
SET PARAMETER ID 'CSV' FIELD alv_stb-OBJTY.
call transaction c_tcode and skip first screen.
endif.
endif.
endif.
clear alv_stb.
endcase.
*& Form get_data
Get data from MAST and MAKT Table
FORM get_data.
data : wa_lines type sy-index.
REFRESH : T_MAST,
t_STB,
t_MATCAT,
alv_STB.
CLEAR : T_MAST,
t_STB,
t_MATCAT,
alv_STB.
Get the data from MAST Table
Get all the information from MAST - BOM Table
SELECT * FROM mast INTO TABLE t_mast WHERE matnr IN s_matnr AND
werks = p_werks AND
stlan IN s_stlan AND
stlal IN s_stlal.
describe table t_mast lines wa_lines.
if wa_lines is initial.
Write:/2 'List contains no data'.
stop.
endif.
loop at t_mast.
clear : v_maktx.
Start of change Seshu
Reason - Remove the new page option
if sy-tabix ne 1.
skip 1.
endif.
End of Change Seshu
Get the material Description
select single maktx from makt into v_maktx
where matnr = t_mast-matnr
and spras = 'E'.
Get the material details from STKO Table
select single * from stko into wa_stko
where STLTY = 'M'
and STLNR = t_mast-stlnr
and STLAL = t_mast-stlal.
Main Header for Each Material
format color 5 on.
write:/2 'Material',20 'Material Description',65 'Alternative BOM',
90 'Base Qty', 115 'Base Unit'.
format color 5 off.
format color 1 on.
write:/2 t_mast-matnr,20 v_maktx,65 wa_stko-STLAL, 85 wa_stko-BMENG,
115 wa_stko-BMEIN.
format color 1 off.
Use the Function Module and get the format level by level
perform get_level_level.
endloop.
ENDFORM. " get_data
Top of page *
top-of-page.
perform report_header .
*& Form report_header
text
--> p1 text
<-- p2 text
FORM report_header.
new-page line-size 160 .
format color col_heading intensified on.
write:/ sy-uline(160) .
*--- Write Company Name.
perform calc_col_and_write using text-h00
sy-linsz.
*--- Write Report Title.
perform calc_col_and_write using sy-title
sy-linsz.
*--- Write User Id, Date / Time, Program Id, Page etc.
perform write_other_hdr_details.
write:/ sy-uline(160) .
ENDFORM. " report_header
*& Form calc_col_and_write
text
-->P_TEXT_H00 text
-->P_SY_LINSZ text
FORM calc_col_and_write USING P_TEXT
P_LINSZ.
data: col1 type i,
col2 type i,
len type i,
str type i.
str = strlen( p_text ).
col1 = ( p_linsz / 2 ) - ( str / 2 ) .
len = p_linsz - col1 - 2.
write: at /1 '|'.
write: at col1 p_text,
at sy-colno(len) space.
write at 160 '|'.
ENDFORM. " calc_col_and_write
*& Form write_other_hdr_details
text
--> p1 text
<-- p2 text
FORM write_other_hdr_details.
data: col1 type i,
col2 type i,
len type i.
col1 = 3.
write:/1 '|'.
write: at col1 'UserId : ',
sy-uname.
len = sy-linsz - 1.
write at sy-colno(len) space.
col2 = sy-linsz - 18.
write: at col2 'Date: ',
sy-datum mm/dd/yyyy.
write: at sy-linsz '|'.
write:/1 '|'.
write: at col1 'ReportId: ',
sy-repid.
write at sy-colno(len) space.
col2 = sy-linsz - 18.
write: at col2 'Page: ',
sy-pagno.
write: at sy-linsz '|'.
ENDFORM. " write_other_hdr_details
*& Form get_data_component
Get the data based on Component level
FORM get_data_component.
data wa_lines type i.
*-- Get the BOM item details
SELECT stlty stlnr stlkn stpoz idnrk meins menge
FROM stpo
INTO TABLE t_stpo
WHERE idnrk IN s_idnrk.
IF sy-subrc = 0.
CLEAR wa_lines.
DESCRIBE TABLE t_stpo LINES wa_lines.
IF wa_lines > 0.
SELECT stlty stlnr stlal stkoz bmein bmeng
FROM stko
INTO TABLE t_stko
FOR ALL ENTRIES IN t_stpo
WHERE stlnr = t_stpo-stlnr.
CLEAR wa_lines.
DELETE ADJACENT DUPLICATES FROM t_stko COMPARING ALL FIELDS.
DESCRIBE TABLE t_stko LINES wa_lines.
IF wa_lines > 0.
*-- Get the BOM item details
SELECT * FROM mast INTO TABLE t_mast FOR ALL ENTRIES IN t_stko
WHERE werks = p_werks AND
stlnr = t_stko-stlnr
and stlal in s_stlal.
ENDIF.
ENDIF.
else.
Write:/2 'List contains no data'.
stop.
endif.
loop at t_mast.
clear : v_maktx.
Start of change Seshu
Reason - Remove the new page option
if sy-tabix ne 1.
skip 1.
endif.
End of change Seshu
Get the material Description
select single maktx from makt into v_maktx
where matnr = t_mast-matnr
and spras = 'E'.
Get the material details from STKO Table
select single * from stko into wa_stko
where STLTY = 'M'
and STLNR = t_mast-stlnr
and STLAL = t_mast-stlal.
Main Header for Each Material
format color 5 on.
write:/2 'Material',20 'Material Description',65 'Alternative BOM',
90 'Base Qty', 115 'Base Unit'.
format color 5 off.
format color 1 on.
write:/2 t_mast-matnr,20 v_maktx,65 wa_stko-STLAL, 85 wa_stko-BMENG,
115 wa_stko-BMEIN.
format color 1 off.
Use the Function Module and get the format level by level
perform get_level_level.
clear : t_mast.
endloop.
ENDFORM. " get_data_component
*& Form obj_ident
text
FORM obj_ident.
weder Mat noch Doc
CHECK: T_stb-objty NE otyp_mat,
T_stb-objty NE ootyp_mat,
T_stb-objty NE otyp_doc,
T_stb-objty NE otyp_ntm.
?T418-WA schon ok
nein
IF T_stb-postp NE t418-postp.
T418 einlesen
PERFORM t418_lesen USING T_stb-postp.
ENDIF.
PERFORM cl_clstab_maint.
?MatNr-Eingabe bei diesem PosTyp moeglich
und keine Textposition
trifft zu
IF t418-matin NE '-'
AND t418-txpos IS INITIAL.
aktuelles Objekt ist Material NLAG
T_stb-objty = '1'.
PosKurztext in ObjKurztext uebernehmen.
T_stb-ojtxp = T_stb-potx1.
MODIFY T_stb.
ELSE.
IF T_stb-objty IS INITIAL.
T_stb-objty = '2'.
MODIFY T_stb.
ENDIF.
ENDIF.
ENDFORM. " obj_ident
*& Form t418_lesen
text
-->P_T_STB_POSTP text
FORM t418_lesen USING lkl_postp LIKE stpo-postp.
T418-WA initialisieren
CLEAR:
t418.
Key angeben
t418-postp = lkl_postp.
PosTypDefinition lesen
READ TABLE t418.
ENDFORM. " t418_lesen
*& Form cl_clstab_maint
text
FORM cl_clstab_maint.
nur fuer Klassenpositionen
CHECK t_STB-OBJTY EQ OTYP_KLA.
Teilkey der Klassenpositionentabelle
CL_CLSTAB-CLASS = t_STB-CLASS.
CL_CLSTAB-KLART = t_STB-KLART.
Klassenpositionentabelle lesen
READ TABLE CL_CLSTAB
WITH KEY CL_CLSTAB(21)
BINARY SEARCH.
aktuelle Klassenposition bereits in Klassenpositionentabelle
nein
IF SY-SUBRC <> 0.
Klassenposition in Klassenpositionentabelle hinzufuegen
INSERT CL_CLSTAB INDEX SY-TABIX.
ENDIF.
ENDFORM. " cl_clstab_maint
*& Form alv_stb_prep
Printing the data as LEVEL BY LEVEL
FORM alv_stb_prep.
CLEAR:
alv_stb,
stb_orig,
stb_add.
IF t_stb-hdnfo IS INITIAL.
stb_orig = t_stb.
IF t_stb-mngko >= max_num.
stb_add-ovfls = ueberl_kz.
ELSE.
IF t_stb-mngko <= min_num.
stb_add-ovfls = ueberl_kz.
ELSE.
CLEAR: stb_add-ovfls.
ENDIF.
ENDIF.
IF NOT t_stb-xtlnr IS INITIAL.
stb_add-bomfl = b_flag.
ENDIF.
IF NOT t_stb-knobj IS INITIAL
OR NOT t_stb-class IS INITIAL
OR NOT t_stb-kzclb IS INITIAL.
stb_add-knofl = 'X'.
ENDIF.
ELSE.
CHECK t_stb-stufe > 1.
alv_stb-info = 'C30'.
IF t_stb-ttidx <> t_matcat-index.
READ TABLE t_matcat INDEX t_stb-ttidx.
ENDIF.
stb_orig-hdnfo = t_stb-hdnfo.
stb_orig-stufe = t_stb-stufe - 1 .
stb_orig-ojtxp = t_stb-ojtxb.
IF NOT t_stb-altst IS INITIAL.
stb_orig-stlal = t_stb-stlal.
IF stb_orig-stlal(1) EQ '0'.
stb_orig-stlal(1) = ' '.
ENDIF.
ENDIF.
stb_orig-idnrk = t_matcat-matnr.
ENDIF.
CLEAR:
stb_add-dobjt,
stb_add-objic.
CASE t_stb-objty.
WHEN otyp_mat.
WRITE: stb_orig-idnrk TO ecfld.
stb_add-objic = '@A6@'.
WHEN 'M'.
WRITE: stb_orig-idnrk TO ecfld.
stb_add-objic = '@A6@'.
WHEN otyp_noo.
WRITE: stb_orig-potx1 TO ecfld.
stb_add-objic = '@0Q@'.
WHEN otyp_doc.
write stb_orig-doknr to ecfld. "note 489354
IF ecfld CP '*# '. ENDIF. "note 489354
sy-fdpos = sy-fdpos + 1. "note 489354
CONCATENATE
*d stb_orig-doknr "note 489354
stb_orig-dokar
stb_orig-doktl
stb_orig-dokvr
*d INTO ecfld "note 489354
INTO ecfld+sy-fdpos "note 489354
SEPARATED BY space.
stb_add-objic = '@AR@'.
WHEN otyp_kla.
CONCATENATE
stb_orig-class
stb_orig-klart
INTO ecfld
SEPARATED BY space.
stb_add-objic = '@7C@'.
WHEN otyp_ntm.
WRITE: stb_orig-intrm TO ecfld.
WHEN OTHERS.
ENDCASE.
*d CONDENSE ecfld. "note 515408
stb_add-dobjt = ecfld(40).
CLEAR: ecfld.
WRITE stb_orig-stufe TO stb_add-dstuf NO-SIGN.
*d MOVE-CORRESPONDING stb_orig TO alv_stb. "note 331962
MOVE-CORRESPONDING stb_add TO alv_stb.
MOVE-CORRESPONDING stb_orig TO alv_stb. "note 331962
APPEND alv_stb.
ENDFORM. " alv_stb_prep
*& Form get_level_level
text
FORM get_level_level.
REFRESH : T_STB,
T_MATCAT,
ALV_STB.
CLEAR : T_STB,
T_MATCAT,
ALV_STB.
CALL FUNCTION 'CS_BOM_EXPL_MAT_V2'
EXPORTING
capid = 'PP01'
datuv = sy-datum
mktls = 'X'
mehrs = 'X'
mtnrv = t_mast-matnr
stlal = '01'
stlan = '1'
stpst = 0
svwvo = 'X'
werks = p_werks
vrsvo = 'X'
TABLES
stb = t_stb
matcat = t_matcat
EXCEPTIONS
alt_not_found = 1
call_invalid = 2
material_not_found = 3
missing_authorization = 4
no_bom_found = 5
no_plant_data = 6
no_suitable_bom_found = 7
conversion_error = 8
OTHERS = 9.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CLEAR: hd_tab.
Entry der KlassenstatusTab. initialisieren
cl_clstab,
Entry 'Objekte von Klassen' initialisieren
cl_objmemo.
REFRESH: hd_tab.
SORT t_matcat BY index ASCENDING.
Get the All levels
loop at t_stb.
IF NOT t_stb-hdnfo IS INITIAL.
EXIT.
ENDIF.
Object Identification
PERFORM obj_ident.
READ TABLE hd_tab
WITH KEY stufe = t_stb-stufe
vwegx = t_stb-vwegx
BINARY SEARCH
TRANSPORTING NO FIELDS.
?gibt es diesen Satz schon
nein
IF sy-subrc <> 0.
dann in SFP-Infosatzverweistab. aufnehmen
*d APPEND HD_TAB. "HGH054648
hd_tab-stufe = t_stb-stufe.
"HGH054648
hd_tab-vwegx = t_stb-vwegx.
"HGH054648
INSERT hd_tab "HGH054648
INTO hd_tab "HGH054648
INDEX sy-tabix. "HGH054648
PosNr initialisieren
CLEAR: t_stb-posnr.
SFP-InfosatzKz setzen
t_stb-hdnfo = 'X'.
stb-objty = otyp_mat.
"HGE246532
als SFP-Infosatz in die STB aufnehmen
append t_stb.
ENDIF.
*del ENDIF.
clear t_stb.
endloop.
SORT t_stb ASCENDING BY stufe
index ASCENDING
*del POSNR ASCENDING. "HGC062735
posnr ASCENDING "HGC062735
hdnfo DESCENDING.
LOOP AT t_stb.
T_stb-index = sy-tabix.
MODIFY T_stb.
PERFORM alv_stb_prep.
ENDLOOP.
Displays the Value as Level by Level
loop at ALV_stb.
if sy-tabix = 1.
format color 3 on.
write:/2 'Level',12 'Item',22 'Component',
42 'Material Description',82 'Base Qty',
107 'Base Unit',120 'Assembly Indicator'.
format color 3 on.
endif.
if alv_stb-MEINs is initial.
v_flag = 'X'.
endif.
if v_flag = 'X'.
format color 5 on.
write:/2 ALV_stb-STUFE,12 alv_stb-posnr,22 alv_stb-idnrk,
42 alv_stb-OJTXP.
format color 1 off.
else.
if alv_stb-STUFE = '1'.
format color 1 on.
write:/2 ALV_stb-STUFE,12 alv_stb-posnr,22 alv_stb-idnrk,
42 alv_stb-OJTXP,72 alv_stb-mngko,
107 alv_stb-MEINs, 120 alv_stb-bomfl .
format color 1 off.
elseif alv_stb-STUFE = '2'.
format color 2 on.
write:/2 alv_stb-STUFE,12 alv_stb-posnr,22 alv_stb-idnrk,
42 alv_stb-OJTXP,72 alv_stb-mngko,
107 alv_stb-MEINs,120 alv_stb-bomfl.
format color 2 off.
elseif alv_stb-STUFE = '3'.
format color 3 on.
write:/2 alv_stb-STUFE,12 alv_stb-posnr,22 alv_stb-idnrk,
42 alv_stb-OJTXP,72 alv_stb-mngko,
107 alv_stb-MEINs,120 alv_stb-bomfl .
format color 3 off.
elseif alv_stb-STUFE = '4'.
format color 4 on.
write:/2 alv_stb-STUFE,12 alv_stb-posnr,22 alv_stb-idnrk,
42 alv_stb-OJTXP,72 alv_stb-mngko,
107 alv_stb-MEINs,120 alv_stb-bomfl .
format color 4 off.
elseif alv_stb-STUFE = '5'.
format color 5 on.
write:/2 alv_stb-STUFE,12 alv_stb-posnr,22 alv_stb-idnrk,
42 alv_stb-OJTXP,72 alv_stb-mngko,
107 alv_stb-MEINs,120 alv_stb-bomfl .
format color 5 off.
elseif alv_stb-STUFE = '6'.
format color 7 on.
write:/2 alv_stb-STUFE,12 alv_stb-posnr,22 alv_stb-idnrk,
42 alv_stb-OJTXP,72 alv_stb-mngko,
107 alv_stb-MEINs,120 alv_stb-bomfl.
format color 6 off.
elseif alv_stb-STUFE = '7'.
format color 7 on.
write:/2 alv_stb-STUFE,12 alv_stb-posnr,22 alv_stb-idnrk,
42 alv_stb-OJTXP,72 alv_stb-mngko,
107 alv_stb-MEINs,120 alv_stb-bomfl .
format color 7 off.
else.
format color 1 on.
write:/2 alv_stb-STUFE,12 alv_stb-posnr,22 alv_stb-idnrk,
42 alv_stb-OJTXP,72 alv_stb-mngko,
107 alv_stb-MEINs,120 alv_stb-bomfl .
format color 1 off.
endif.
endif.
hide: alv_stb.
clear : alv_stb.
clear v_flag.
endloop.
ENDFORM. " get_level_level
*& Form f4_for_variant
text
FORM f4_for_variant.
CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
EXPORTING
is_variant = g_variant
i_save = g_save
i_tabname_header = g_tabname_header
i_tabname_item = g_tabname_item
it_default_fieldcat =
IMPORTING
e_exit = g_exit
es_variant = gx_variant
EXCEPTIONS
not_found = 2.
IF sy-subrc = 2.
MESSAGE ID sy-msgid TYPE 'S' NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ELSE.
IF g_exit = space.
p_vari = gx_variant-variant.
ENDIF.
ENDIF.
ENDFORM. " f4_for_variant
FORM E03_EVENTTAB_BUILD *
--> E03_LT_EVENTS *
FORM e03_eventtab_build USING e03_lt_events TYPE slis_t_event.
DATA: ls_event TYPE slis_alv_event.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
i_list_type = 0
IMPORTING
et_events = e03_lt_events.
READ TABLE e03_lt_events WITH KEY name = slis_ev_top_of_page
INTO ls_event.
IF sy-subrc = 0.
MOVE gc_formname_top_of_page TO ls_event-form.
APPEND ls_event TO e03_lt_events.
ENDIF.
ENDFORM.
FORM E04_COMMENT_BUILD *
--> E04_LT_TOP_OF_PAGE -
Sub screen: Handling the Radio button selection?
Hi,
Scenario:
I have a Main screen and a sub screen. From the main screen I am calling the sub screen. On the Sub screen, I have 2 radio button. On the selection of the Radio buttons, I am activating/deactivating few of the screen elements on the sub screen.
I have grouped the radio button and also tried assigning Function code to it, but in vain..:(
Issue
I am not able to handle the event triggered by the selection of the radio buttons?
Kindly suggest.
Regards
s@kHi,
Are you still have any Issue, Let us know
In the Main Screen Element List there is a field OK_CODE pass an entry into it
in the TOP Include
DATA : OK_CODE type SY-UCOMM. " This captures the OK_CODE from the Screen.
Since SUb Screen cant have their Own OK_CODE this can be handled in the Main Screen only
Try in PAI of Sub Screen using OK_CODE if it is not working then Implement the same in PAI of Main Screen
The system will generate UCOMM for Radio Button since they are in One Group only. Each Radio button cannt have a separate UCOMM assigned. In Screen Painter (if It is Module Pool) assign a FCode for the Radio Button.
Even if try changing the FCODe Value they still will have the New Changed Value but cannot be changed.
This automatically triggers PAI . only way to capture it is check
case ok_code. " Optionally you can omit this
when ok_code = 'RAD'. " This is common for all the Radio BUttons but cant be different
if r1 = 'X'.
elseif r2 'X' " Etc.
endif.
endcase.
Ram
Edited by: Ramchander Krishnamraju on Feb 26, 2010 10:37 AM
Maybe you are looking for
-
Uploading Importing text file & crosstab display
<p> I want to upload a text tab delimited file into our db, currently we are uploading it to a temp table in the db, do some validation checks and write to a table when done. I have two questions:</P> <p> 1) Is there a more efficient way of upload/im
-
Can you make an account without giving your credit card?
Im trying to make an itunes account, and i dont want to enter a credit card number because i will only be using prepaid giftcards, i already have one account where i didnt have to enter credit card info, but its old and it wont let me do it again for
-
Airdrop for Notes Not Available
I am trying to send a note via Notes by Airdrop from my Macbook Pro Retina mid-2014 to an iPhone 5. I can see all the different options but Airdrop. I click on More and get the Extensions System Preference panel and the Share Menu. Airdrop is checked
-
GRC AC 10 EAM - Distiguish between a firefighter id and a regular user id logon by looking at it
Hello, I have a requirement where users want to see a change in SAP screen( color/warning/note) while using a firefighter id. Reason behind the requirement is that some users are not logging off after using the firefighter id and by mistake using th
-
Managing updates for different groups
Hi I have installed WSUS on a Server 2008 R2 VM and have configure WSUS computer groups using group policy. These groups have all updated and I can see the computers in there containers within WSUS. Does anyone have any advice on how to manage the up