Hiding screen fields at an event
hi,
assume that i am having 3 fields in a screen.
after antering the values on the first field and if i place the cursor on the second or third fields then these fields (second and third ) should be disabled.
can anyone help me out in this. For me it works only by pressing the enter key. I want that to work if the cursor has been placed on other fields.is there any event available for that.
or pls tell me how to do this.
regards,
Phyrose.
Hi,
check the below.
*& Report ZHAR_DYN_SELSCR.
*& This program demonstrates how easy it is to set selection screen
*& element properties dynamically
*& The program uses 3 radio buttons to set the display and input
*& properties of selection screen fields dynamically
*& URL: http://allaboutsap.blogspot.com
REPORT ZHAR_DYN_SELSCR.
DATABASE TABLES
tables : mara.
SELECTION SCREEN
selection-screen begin of block b1 with frame.
*--- Radio buttons to set properties
PARAMETERS:
rad1 RADIOBUTTON GROUP rad default 'X' USER-COMMAND radio,
rad2 RADIOBUTTON GROUP rad,
rad3 RADIOBUTTON GROUP rad.
*--- Selection Screen fields
SELECT-OPTIONS:
s_matnr FOR mara-matnr MODIF ID MI1,
s_mtart FOR mara-mtart MODIF ID MI1,
s_mbrsh FOR mara-mbrsh MODIF ID MI2,
s_matkl FOR mara-matkl MODIF ID MI2.
selection-screen end of block b1.
AT SELECTION SCREEN
at selection-screen output.
loop at screen.
*--- If Radio Button 1 is checked
IF rad1 = 'X'.
IF screen-group1 = 'MI2'.
*--- Fields with MODIF ID MI2 disappear from the screen
screen-input = 0.
screen-invisible = 1.
ENDIF.
*--- If Radio Button 2 is checked
ELSEIF rad2 = 'X'.
IF screen-group1 = 'MI1'.
*--- Fields with MODIF ID MI1 are input-disabled
screen-input = 0.
ENDIF.
*--- If Radio Button 3 is checked
ELSEIF rad3 = 'X'.
IF screen-group1 = 'MI1' or screen-group1 = 'MI2'.
*--- All fields will appear input-enabled
screen-input = 1.
ENDIF.
ENDIF.
*--- MODIFY SCREEN mandatory addition to apply changes to the screen
Modify screen.
endloop.
Reward if helpful.
Regards,
Harini.S
Similar Messages
-
How to access screen field in pai event
Hi All,
I have created a custom screen it has the field say matnr selected from the dictionay.NOw how will I should access this field in PAI event module?
Thanks in advance
Maheshjust declare the same variable in your abap editor as per your layout field name.
suppose in your layout input field name is matnr just declare
data : matnr like mara-matnr.
in pai module if you are using matnr it will give you the screen data.
like
module pai input.
if matnr ne '1000'.
message 'Error matnr is not 1000' type 'E'.
endif.
endmodule.
reagards
shiba dutta -
Hiding Screen fields in a Report selection screen
Hi Experts,
I have a requirement to hide/disable screen fields in a report selection screen when the user clicks on some radio buttons .
Here is the scenario,
1) There are 4 radio buttons four radiobuttons in one group on the selection screen:--
Block no:1
PARAMETER: r_not TYPE c RADIOBUTTON GROUP a1 DEFAULT 'X'.
PARAMETER: r_prgs TYPE c RADIOBUTTON GROUP a1.
PARAMETER: r_remv TYPE c RADIOBUTTON GROUP a1.
PARAMETER: r_noresp TYPE c RADIOBUTTON GROUP a1.
2) Based on the user clicking/selecting the radio buttons no.2,3 nad 4 i need to hide some fields in the other selection block
in the selection screen.The parameters are as follows:
Block no:2( These fields need to be hidden/disabled)
PARAMETER: r_occ(3) TYPE c OBLIGATORY DEFAULT '1'.
PARAMETER: r_and TYPE c RADIOBUTTON GROUP g1.
PARAMETER: r_or TYPE c RADIOBUTTON GROUP g1.
PARAMETER: r_days(3) TYPE c OBLIGATORY DEFAULT '1'.
ThanksContd.....
AT SELECTION-SCREEN.
CASE SSCRFIELDS-UCOMM.
"When Customer button is clicked set flag 1
WHEN 'FC01'.
L_FLAG = '1'.
"When Sales Order button is clicked set flag 2
WHEN 'FC02'. "Sales order
L_FLAG = '2'.
"When Execute button is clicked set flag 4
WHEN OTHERS.
L_FLAG = '4'.
ENDCASE.
AT SELECTION-SCREEN OUTPUT.
CASE L_FLAG.
WHEN '1'. "When Customer button is clicked
LOOP AT SCREEN.
"Set the Production and Customer Block as inactive
IF SCREEN-GROUP1 = 'BL1' OR SCREEN-GROUP1 = 'BL3'.
SCREEN-ACTIVE = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
WHEN '2'. "When Sales Order button is clicked
LOOP AT SCREEN.
"Set the Production and Customer Block as inactive
IF SCREEN-GROUP1 = 'BL1' OR SCREEN-GROUP1 = 'BL2'.
SCREEN-ACTIVE = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
WHEN '3'. "When Refresh button is clicked
LOOP AT SCREEN.
"Set the all Blocks as active
IF SCREEN-GROUP1 = 'BL2' OR SCREEN-GROUP1 = 'BL3' OR SCREEN-GROUP1 = 'BL1'.
SCREEN-ACTIVE = '1'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
WHEN OTHERS."When Execute button is clicked
"Set the Sales order and Customer Block as inactive
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'BL2' OR SCREEN-GROUP1 = 'BL3'.
SCREEN-ACTIVE = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDCASE.
ENDFORM. -
Hiding Screen fields dynamcially
Hi,
Is there any way to show/hide screen fields dynamically in personas. What i want to achieve is that, When i click on a button , i need to display a group box. If i Click on another button , other box needs to be displayed.
Regards,
SivaganeshNo, in Personas 2 you can't directly control the visibility of objects from a script. There is a trick that achieves something very similar. See Tobias' answer in this discussion: SAP Screen Personas.
Steve. -
m using PNP selection screen. i want to hide some of these fields. how can i do it.
Hi Nidhi,
You can check if any of the existing "Report Category" suits your requirement. If none of them suit then you can create a new report category and assign that to your program (in <b>Attributes Screen there is a button called Report Category</b>).
<u>Report Categories can be created or assigned at</u>
SPRO -> Personnel Management -> HR Information System -> Reporting -> Adjusting Standard Selection Screen -> Create or Assign Report Categories
Reward Points if helpfull.
Regards,
Ram -
Hiding screen fields containing tables
HI guyz,
i have created a custom infotype which has 2 subtypes . certain fields should not be displayed when we select the subtypes. i have used the code below. the screen contains a table.
MODULE hide_FIELDS OUTPUT.
IF p9555-subty = '1'.
LOOP AT SCREEN.
IF screen-group2 = 'ABC'.
screen-active = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
IF p9555-subty = '2'.
LOOP AT SCREEN.
IF screen-group2 = 'XYZ'.
screen-active = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
ENDMODULE. " hide_FIELDS OUTPUT
the fields which are not in the table are not getting displayed as required but the fields in the table still appear on the screen(they are grayed out). i do not want them to appear on the screen. can anyone help me with this. Thanks in advance.Hi Madhu,
see the example one below :
Selection Screen
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS: s_werks LIKE zwafpo-dwerk OBLIGATORY DEFAULT '1000'.
"Plant
PARAMETERS: p_vdatu LIKE sy-datum OBLIGATORY modif id bel .
select-options : s_vdatu for sy-datum obligatory modif id rel.
SELECT-OPTIONS: s_waveno FOR zwafpo-zzrun. "Wave Run
SELECT-OPTIONS: s_dept FOR marc-zzdept OBLIGATORY. "Department
select-options : s_arbpl for RC68A-arbpl modif id arb.
select-options : s_mtart for mara-mtart modif id mta.
SELECT-OPTIONS: s_pwave FOR zwafpo-zzpwaveno.
SELECT-OPTIONS: s_swave FOR zwafpo-zzswaveno.
SELECT-OPTIONS: s_aufnr FOR zwafpo-aufnr.
SELECT-OPTIONS: s_matnr FOR zwafpo-matnr.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
SELECTION-SCREEN BEGIN OF LINE.
PARAMETERS p_conf AS CHECKBOX DEFAULT 'X'.
SELECTION-SCREEN COMMENT 5(30) text-003.
SELECTION-SCREEN END OF LINE.
selection-screen : begin of block blk with frame title text-010.
parameters : p_old radiobutton group rad default 'X',
p_new radiobutton group rad.
selection-screen : end of block blk.
User Dynamic Selection
at selection-screen output.
select single * from t000md.
loop at screen.
case screen-group1.
when 'REL'.
if not p_old is initial.
screen-input = '0'.
screen-required = '0'.
screen-invisible = '1'.
endif.
modify screen.
when 'BEL'.
if not p_new is initial.
screen-input = '0'.
screen-required = '0'.
screen-invisible = '1'.
endif.
modify screen.
when 'ARB'.
if p_new is initial.
screen-input = '0'.
screen-required = '0'.
screen-invisible = '1'.
endif.
modify screen.
when 'MTA'.
if p_new is initial.
screen-input = '0'.
screen-required = '0'.
screen-invisible = '1'.
endif.
modify screen.
endcase.
endloop.
Thanks
Seshu -
How to get values of selection screen fields in the POV event
I have two radio buttons r1,r2 and a field file_name on selection screen.
I have written At selection screen on value-request for the field file_name. Based on the selection of radio buttons I have to display different screens when f4 for field_name is pressed.
Unfortunately the values of r1 or r2 are not populated in the AT selection screen on value-request event.
Can any one tell me if there is a way to obtain the values of r1 or r2 in the AT selection screen on value-request event.Hi..
Try out this.
REPORT ZH_TEST4 .
CONSTANTS : c_x TYPE char01 VALUE 'X',
c_rg1(4) TYPE c VALUE 'RG1',
c_gr2(3) TYPE c VALUE 'GR2',
c_gr3(3) TYPE c VALUE 'GR3',
c_zero TYPE n VALUE '0',
c_neg(2) TYPE c VALUE '-1'.
data: w_sscrfields_ucomm1 TYPE sscrfields-ucomm.
SELECTION-SCREEN : BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.
PARAMETERS : p_back RADIOBUTTON GROUP rg1
USER-COMMAND pc,
p_fore RADIOBUTTON GROUP rg1
DEFAULT 'X'.
SELECTION-SCREEN : END OF BLOCK blk1.
SELECTION-SCREEN : BEGIN OF BLOCK blk2 WITH FRAME TITLE text-002.
PARAMETERS : p_phif LIKE rlgrap-filename MODIF ID gr2,
p_ahif LIKE rlgrap-filename MODIF ID gr3.
SELECTION-SCREEN : END OF BLOCK blk2.
AT SELECTION-SCREEN OUTPUT.
IF p_fore EQ c_x.
w_sscrfields_ucomm1 = c_rg1.
ELSE.
w_sscrfields_ucomm1 = space.
ENDIF.
LOOP AT SCREEN.
IF w_sscrfields_ucomm1 EQ space.
IF screen-group1 = c_gr2.
screen-active = c_zero.
ENDIF.
ELSE.
IF screen-group1 = c_gr3.
screen-active = c_zero.
ENDIF.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
also try out function module POPUP_WITH_TABLE_DISPLAY.
Plz reward points if this helps by clicking on star!1
Good Luck!!
Cheers,
Rajeev -
Screen field value under POV event
Hi All,
I have one issue...please suggest me solution for this.
In module-pool program i have one screen(1000) which has one field(hrname_1000).
Under this event:
PROCESS ON VALUE-REQUEST.
FIELD hrname_1000 MODULE hrname_1000.
under this module hename_1000 i have used F4IF_INT_TABLE_VALUE_REQUEST to put a search help for field hrname_1000.
after that i am trying to retrive HR related stuff's based on the field on module-pool i.e i am using hrname_1000 in the where condition.
but problem is that im not getting value for hrname_1000 which im giving in the module-pool screen.
thats y my select query is not working.
Where as im getting values for the hrname_1000 under PBO & PAI.
It will look like below.
PROCESS ON VALUE-REQUEST.
FIELD hrname_1000 MODULE hrname_1000.
(under the above module)
SELECT DISTINCT ename plans FROM pa0001 INTO CORRESPONDING FIELDS OF TABLE itab WHERE stell = '50001026'.
LOOP AT itab INTO wa WHERE ename = hrname_1000.
ENDLOOP.
Please suggest
Thanks & regards
AnsumeshHi,
I guess you don't get back value from function F4IF_INT_TABLE_VALUE_REQUEST to your global data object hrname_1000, althought it is returned from search help back to screen field.
See this thread. I explained there [how values are returned from screen field to a variable|https://www.sdn.sap.com/irj/scn/profile?userid=3509696]
You may also try with FM DYNP_VALUES_READ for reading dynpro fields values in POV.
Regards
Marcin -
Module-pool screen field value under POV event
Hi All,
I have one issue...please suggest me solution for this.
In module-pool program i have one screen(1000) which has one field(hrname_1000).
Under this event:
PROCESS ON VALUE-REQUEST.
FIELD hrname_1000 MODULE hrname_1000.
under this module hename_1000 i have used F4IF_INT_TABLE_VALUE_REQUEST to put a search help for field hrname_1000.
after that i am trying to retrive HR related stuff's based on the field on module-pool i.e i am using hrname_1000 in the where condition.
but problem is that im not getting value for hrname_1000 which im giving in the module-pool screen.
thats y my select query is not working.
Where as im getting values for the hrname_1000 under PBO & PAI.
It will look like below.
PROCESS ON VALUE-REQUEST.
FIELD hrname_1000 MODULE hrname_1000.
(under the above module)
SELECT DISTINCT ename plans FROM pa0001 INTO CORRESPONDING FIELDS OF TABLE itab WHERE stell = '50001026'.
LOOP AT itab INTO wa WHERE ename = hrname_1000.
ENDLOOP.
Please suggest
Thanks & regards
AnsumeshIn some of the cases the screen field is present in the screen but not holding the value in the required structure or field.
so here u need to check the option of reading the screen field values explictly..
//once u hit an enter and do the f4 i think the value will be there ...but if u dont hit enter and do an F4 the value cannot hold and i think u r in this case ..
1.Fill the screen field name in the structure dynpread.
DATA: BEGIN OF DYNP_VALUES OCCURS 10.
INCLUDE STRUCTURE DYNPREAD.
DATA: END OF DYNP_VALUES.
DYNP_VALUES-FIELDNAME = 'HRNAME_1000'.
APPEND DYNP_VALUES.
* read screen values
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
DYNAME = HELP_REPID "call the repid of ur prog
DYNUMB = HELP_DYNNR "pass the screen number
TABLES
DYNPFIELDS = DYNP_VALUES
EXCEPTIONS
OTHERS = 1.
now dynp_values hold the field name and field value of the screen .
now
SORT DYNP_VALUES BY FIELDNAME.
READ TABLE DYNP_VALUES WITH KEY 'HRNAME_1000' BINARY SEARCH.
IF SY-SUBRC EQ 0.
HELP_XXXX = DYNP_VALUES-FIELDVALUE. "store the value into a variable
TRANSLATE HELP_XXXX TO UPPER CASE.
ENDIF.
Now check the code with the value if its getting populated which once there will make ur select work ..
Vijay.. -
Hiding selection screen fields upon clicking a button
Hi .
I have a requirement like we need to hide and bring back the selection screen fields upon clicking a button( Expand and collapse in the same button) .
in ABAP Query,we can maintain this, for the variant we created.
We need this functionality on the selection-screen presently.
How to achieve this in the selection -screen?
Valuale pointers are desparately needful.
Regards,
SSR.Hi,
SELECTION SECREEN (P_) Parameter
(S_) Select Options
SELECTION-SCREEN : BEGIN OF BLOCK BLK1 WITH FRAME TITLE TEXT-001,
BEGIN OF LINE,
COMMENT (26) C1 MODIF ID XYZ.
SELECT-OPTIONS : S_MATNR FOR MARA-MATNR MODIF ID XYZ NO-EXTENSION .
SELECTION-SCREEN : END OF LINE,
BEGIN OF LINE,
COMMENT (26) C2 MODIF ID XYZ.
SELECT-OPTIONS : S_MATKL FOR MARA-MATKL MODIF ID XYZ NO-EXTENSION .
SELECTION-SCREEN : END OF LINE.
PARAMETERS : R_MATNR RADIOBUTTON GROUP RAD1 DEFAULT 'X'
MODIF ID ABC USER-COMMAND MAT,
R_MATKL RADIOBUTTON GROUP RAD1.
SELECTION-SCREEN END OF BLOCK blk1.
INITIALIZATION.
C1 = 'Product Code'.
c2 = 'Product Group'.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF SCREEN-NAME0(7) = 'S_MATNR' OR SCREEN-NAME0(7) = 'S_MATKL'.
SCREEN-INPUT = '0'.
SCREEN-INVISIBLE = '1'.
ENDIF.
CASE SCREEN-NAME+0(7).
WHEN 'S_MATNR'.
IF R_MATNR = 'X'.
SCREEN-INPUT = '1'.
SCREEN-INVISIBLE = '0'.
ENDIF.
WHEN 'S_MATKL'.
IF R_MATKL = 'X'..
SCREEN-INPUT = '1'.
SCREEN-INVISIBLE = '0'.
ENDIF.
ENDCASE.
IF R_MATNR = 'X'.
IF SCREEN-NAME = 'C1'.
C1 = 'Product code'.
C2 = SPACE.
ENDIF.
ENDIF.
IF R_MATKL = 'X'.
IF SCREEN-NAME = 'C2'.
C2 = 'Product Group'.
C1 = SPACE.
ENDIF.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
Hope it helps.
best regards,
Nagaraj Kalbavi -
Hi,
I created a selection screen with 2 fields.
SELECTION-SCREEN begin of block selscr1 with frame title text-s01.
example-
PARAMETERS: p_ptr type BU_PARTNER,
p_typ type BU_TYPE.
SELECTION-SCREEN begin of block selscr2 with frame title text-s02
My question is -
when user selects BP value (like example 1000000005 - then i want to display corresponding values in bp type field(p_typ) ( i dont want to display all the values, i want to scrutinize the values and then display.)
can any one tell me how i can do this?
Thanks.
Sandhya.hi,
use at selection-screen output.
change the second field acording to u'r requirment.
The assignments to input fields in the event block AT SELECTION-SCREEN OUTPUT always affect the selection screen and overwrite the user inputs from previous displays of the same selection screen. .
regards,
chandu
Edited by: CHANDRASEKHAR KONDAPANENI on Mar 26, 2008 11:47 PM -
Selection screen field problem
Hello experts..
i have a selection screen , in that i have a field s_bwart for mseg-bwart.
some times the user will input the data in the field and sometimes he wont. we have fixed movement types combination like
11-21 , 13-24 , 13-56 , 101-543 , 101-544 etc.
if the user did not input any thing in the selection screen , i am populating s_bwart in at-selection screen event with all the mvt types. after executing the report when user presses the back button to come to the selection screen, there the s_bwart field is containing all the mvt types in single values ie in the select options screen. So the user dont want that, if he comes back nothing should be there in the selection screen field s_bwart if he has not inputted anything. if he inputs only 11 mvt type then when he comes back after executing the report he should see only 11 in the select screen field ie s_bwart. Please send the replies on how to solve the problem.hi,
in ur program try to display values for users in START-OF-SELECTION event as it triggers after the selection screen displayed for users. if user doesn't give any input then display default values in this event. and also create a variable
for ex:
data: ws_flag type c,
p_value type i.
after u display default values for users in selection screen assign the flag as ' X '
ws_flag = 'X'.
before leaving ur program based on flag try to do like this.
if ws_flag = ' X '.
clear s_data. // s_data is the select options for u.
else.
s_data = p_value. // the value which user gave in selection screen as i/p.
endif.
if helpful reward some points.
with regards,
Suresh Aluri. -
Populating the screen field when the cursor moves to that field
hi every one,
I want to populate the screen field(MODULE POOL) When the cursor moves to that field.
So can any one help me out with this.
EXAMPLE..
I want to populate 'S10_TOT_PRICE' (Total Price). When the fields like 'S10_PIECES' (Number of Pieces) will be entered. I want to populate 'S10_TOT_PRICE' without pressing any button on the screen nor when enter is hit. When the field 'S10_PIECES'' will be entered with some value and the cursor moves to 'S10_TOT_PRICE' . The Total Price field should be populated. Please help me out with this.
THANKS & REGARDS.
Mahanta.
POINTS WILL BE REWARDED.Sorry but look at this SAP documentation <a href="http://help.sap.com/saphelp_nw2004s/helpdata/en/54/0608162d0711d295520000e8353423/frameset.htm">User Actions on Screens</a>
Extract :
<i>User Actions on Screens
There are various ways in which users can interact with screens.
Filling Input Fields
Users can enter values in any input field on the screen, or change the value using the mouse, in the case of radio buttons and checkboxes. The contents are placed in the corresponding screen field. Filling an input field does not normally trigger the PAI event. Exceptions to this are Checkboxes and Radio Buttons with Function Codes and input fields with Drop Down Boxes.</i>
So, i fear that you cannot "take hand" when user fill a numerical field to perform calculations and update the screen.
Regards -
Screen Fields Not getting Updated with DYNP_VALUES_UPDATE
Hi All,
I am using FM DYNP_VALUES_READ to read the screen field values and then modifying those values and passing the modified table to DYNP_VALUES_UPDATE. But the problem is screen fields are not populated with these values . The values I wish to populate are footer values . I am using OO ALV for this wherein I am handling an event for filter of records and accordingly I need to modify my footer. Any Suggestions??
*& Form footer
Caslculate Total items, number of hits/Miss and percent MSP
--> p1 text
<-- p2 text
FORM footer .
CLEAR : io_totitems,
io_tothit,
io_totmiss,
io_permiss.
IF NOT l_flag EQ 1.
Get total items
DESCRIBE TABLE i_outdata LINES io_totitems.
LOOP AT i_outdata INTO wa_outdata.
calculate number of hits
IF wa_outdata-hit_miss = 'HIT'.
io_tothit = io_tothit + 1.
ENDIF.
calculate number of Miss
IF wa_outdata-hit_miss = 'MISS'.
io_totmiss = io_totmiss + 1.
ENDIF.
CLEAR wa_outdata.
ENDLOOP.
calculate percent MSP
io_permiss = ( ( io_totitems - io_totmiss ) / io_totitems ) * 100 .
IF l_flag EQ 1.
wa_dynpread-fieldname = 'IO_TOTITEMS'.
APPEND wa_dynpread TO t_dynpread.
wa_dynpread-fieldname = 'IO_TOTHIT'.
APPEND wa_dynpread TO t_dynpread.
wa_dynpread-fieldname = 'IO_TOTMISS'.
APPEND wa_dynpread TO t_dynpread.
wa_dynpread-fieldname = 'IO_PERMISS'.
APPEND wa_dynpread TO t_dynpread.
CLEAR wa_dynpread.
d020s-prog = sy-repid.
d020s-dnum = sy-dynnr.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
dyname = d020s-prog
dynumb = d020s-dnum
translate_to_upper = 'X'
REQUEST = ' '
TABLES
dynpfields = t_dynpread.
MOVE io_totitems TO io_totitem.
CONDENSE io_totitem NO-GAPS.
MOVE io_tothit TO io_tothits.
CONDENSE io_tothits NO-GAPS.
MOVE io_totmiss TO io_totmis.
CONDENSE io_totmis NO-GAPS.
MOVE io_permiss TO io_permis.
CONDENSE io_permis NO-GAPS.
LOOP AT t_dynpread INTO wa_dynpread.
CASE: wa_dynpread-fieldname.
WHEN 'IO_TOTITEMS'.
wa_dynpread-fieldvalue = io_totitem .
MODIFY t_dynpread FROM wa_dynpread.
WHEN 'IO_TOTHIT'.
wa_dynpread-fieldvalue = io_tothits.
MODIFY t_dynpread FROM wa_dynpread.
WHEN 'IO_TOTMISS'.
wa_dynpread-fieldvalue = io_totmis.
MODIFY t_dynpread FROM wa_dynpread.
WHEN 'IO_PERMISS'.
wa_dynpread-fieldvalue = io_permis .
MODIFY t_dynpread FROM wa_dynpread.
ENDCASE.
CLEAR wa_dynpread.
ENDLOOP.
CALL FUNCTION 'DYNP_VALUES_UPDATE'
EXPORTING
dyname = d020s-prog
dynumb = d020s-dnum
TABLES
dynpfields = t_dynpread
EXCEPTIONS
invalid_abapworkarea = 1
invalid_dynprofield = 2
invalid_dynproname = 3
invalid_dynpronummer = 4
invalid_request = 5
no_fielddescription = 6
undefind_error = 7
OTHERS = 8.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDIF.
Get all fotter details in a internal table
this is used to download footer in Excel
wa_footer-fldname = 'Total Items '.
wa_footer-value = io_totitems.
APPEND wa_footer TO i_footer.
wa_footer-fldname = 'Number of HIT'.
wa_footer-value = io_tothit.
APPEND wa_footer TO i_footer.
wa_footer-fldname = 'Number of MISS'.
wa_footer-value = io_totmiss.
APPEND wa_footer TO i_footer.
wa_footer-fldname = 'Percentage MISS '.
wa_footer-value = io_permiss.
APPEND wa_footer TO i_footer.
CLEAR wa_footer.
ENDFORM. " footerdata: t_dynfields1 type table of dynpread with header line.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
dyname = d020s-prog
dynumb = d020s-dnum
translate_to_upper = 'X'
REQUEST = ' '
TABLES
dynpfields = t_dynfields1.
<b>read table t_dynfields1 index 1</b> I hope this is missing
I will be selecting from a list .
Because once the value is read we need to update the screen field with that value .
Here the selected value will be in the first place
Now
Your operation is to populate the fields with some variables .
In the same when I do this there is only one value then
Im expecting only one entry here
LOOP AT t_dynpread INTO wa_dynpread.
CASE: wa_dynpread-fieldname.
WHEN 'IO_TOTITEMS'.
wa_dynpread-fieldvalue = io_totitem .
MODIFY t_dynpread FROM wa_dynpread.
WHEN 'IO_TOTHIT'.
wa_dynpread-fieldvalue = io_tothits.
MODIFY t_dynpread FROM wa_dynpread.
WHEN 'IO_TOTMISS'.
wa_dynpread-fieldvalue = io_totmis.
MODIFY t_dynpread FROM wa_dynpread.
WHEN 'IO_PERMISS'.
wa_dynpread-fieldvalue = io_permis .
MODIFY t_dynpread FROM wa_dynpread.
ENDCASE.
CLEAR wa_dynpread.
ENDLOOP. */
Comment this for a while and
Change the code as
t_dynfields1-fieldname = ' '. "<--- header name
t_dynfields1-fieldvalue = ' '."<----val
append t_dynfields1.
t_dynfields1-fieldname = ' '.
t_dynfields1-fieldvalue = ' '.
append t_dynfields1.
t_dynfields1-fieldname = ' '.
t_dynfields1-fieldvalue = ' '.
append t_dynfields1.
And check .
CALL FUNCTION 'DYNP_VALUES_UPDATE'
EXPORTING
dyname = d020s-prog
dynumb = d020s-dnum
TABLES
dynpfields = t_dynfields1.
regards,
vijay -
DYNP_VALUES_UPDATE does not change the value of my screen fields
Hi,
I have a screen with a header area and a control with an ALV.
In my header area i have 2 fields shown as an icon. These icons should change
with an event triggered in the ALV (in handle_user_command)
In handle_user_command I check the values of a column in my ALV - I have 3 possible cases : a green led, a yellow led or a red led.
When i'm debugging the program, everything seems to be ok. In my table i see the new values of the icons, but when I see the screen afterwards the old values have not been replaced. (I also use an refresh of my ALV)
Any help is welcome!
THx,
HelgaHi,
declare the internal table like below:
DATA: i_fieldvalues TYPE dynpread OCCURS 0 WITH HEADER LINE.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR field.
PERFORM Display_contion_types.
FORM Display_contion_types.
Search help for Condition Type
PERFORM Display_contion_types.
Update screen fields like below:
Update Screen Field.
CLEAR i_fieldvalues[].
MOVE: 'V_TEXT' TO i_fieldvalues-fieldname .
WRITE i_t685-vtext TO i_fieldvalues-fieldvalue .
APPEND i_fieldvalues.
CALL FUNCTION 'DYNP_VALUES_UPDATE'
EXPORTING
dyname = sy-cprog
dynumb = sy-dynnr
TABLES
dynpfields = i_fieldvalues.
endif
regards,
Raja
Maybe you are looking for
-
Several purchase requsitions from one sales order
Hi, I am using item category TAB to create a purchase requsition from a sales order, this works fine. What I really want to do is to create one purchase requsition for each condition type of a special kind from the TAB position in the sales order. An
-
Is there and easier way to do keywords?
I love the idea of assigning keywords to my photos, but as soon as I foun that I have to enter in each keyword in the preferences pane before I can use it I am now not looking forward to it. I was hoping that I could just enter in my keywords on each
-
My ipod wont connect/charge and is stuck on the home screen while trying to update it
i tried to update it not realizing i needed to connect to itunes so it was on the screen to connect to itunes all day during school til i got home and it wouldn't update so i restored it 5 times and then it wont charge/ connect or restore at all
-
Getting the role of the user running the report?
Hello, I'm doing a report with Answers and need to recover the role of the user running the report. Is it possible? Thanks
-
I got my MacBook Pro in 2004. Over the years, I have put many files in it. And now that it crashed, I need help to get then back. The only problem is that I don't have another Mac, only a pc.. Please help...