Capturing the current ALV grid contents. How?
Hi forum,
After lots of searching, I still can't find out how I can get the current contents of the ALV grid. I need this for an editable ALV grid to keep track of the data changes.
By the way, I am using the traditional ALV, not OO ALV.
Let me share the steps I already did but still failed.
1
I used the FM GET_GLOBALS_FROM_SLVC_FULLSCR to have access to the CL_GUI_ALV_GRID object. I tried using some of the methods inside that class, all to no avail.
Some methods I tried were set_selected_columns and set_selected_rows and then call the method get_selected_cells. Basically, the idea is to simulate highlighting of cells, and select them using get_selected_cells. But the problem is that get_selected_cells is not returning the value (although it correctly returns the row and column that I set -- but not the value in that cell coordinates).
2
I also saw the protected method get_changed_data -- but the problem is that it is protected, so I created a subclass of CL_GUI_ALV_GRID to ZCL_GUI_ALV_GRID and copied the private attributes and methods that get_changed_data depends on. I was able to do this but GET_GLOBALS_FROM_SLVC_FULLSCR strictly returns CL_GUI_ALV_GRID. The upcast from CL_GUI_ALV_GRID to ZCL_GUI_ALV_GRID fails. So I still can't use/test get_changed_data.
3
I also saw some code regarding events. Here's a sample but this doesn't work:
REFRESH lt_events.
lwa_event-name = 'DATA_CHECK'. "Event name
lwa_event-form = 'HANDLE_DATA_CHANGED'.
APPEND lwa_event TO lt_events.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
EXPORTING
it_fieldcat_lvc = it_fieldcat
is_layout_lvc = ls_layout
it_events = lt_events
FORM handle_data_changed using ref_data_changed
type ref to cl_alv_changed_data_protocol.
BREAK-POINT.
ENDFORM.
I would really appreciate it (and I know a lot of other ABAPers will, too) if you could point me to how I can get the ALV grid contents. Thanks.
Kyle
Hi Keshav,
sure I will check those tomorrow when I get back to work.
All,
Here's the code if it helps:
*& Report Z_ALV_EDITABLE
REPORT Z_ALV_EDITABLE.
TYPE-POOLS:
slis
DATA:
BEGIN OF i_out OCCURS 0,
operand1 TYPE i,
operand2 TYPE i,
operator TYPE c,
result TYPE i,
END OF i_out
START-OF-SELECTION.
PERFORM prepareData.
PERFORM refreshResults.
PERFORM createALV_LVC.
FORM prepareData.
REFRESH i_out.
DO 10 TIMES.
i_out-operand1 = 1.
i_out-operand2 = 2.
i_out-operator = '+'.
APPEND i_out.
ENDDO.
ENDFORM.
FORM refreshResults.
LOOP AT i_out.
CASE i_out-operator.
WHEN '+'.
i_out-result = i_out-operand1 + i_out-operand2.
WHEN '-'.
i_out-result = i_out-operand1 - i_out-operand2.
WHEN '*'.
i_out-result = i_out-operand1 * i_out-operand2.
WHEN '/'.
IF i_out-operand2 NE 0.
i_out-result = i_out-operand1 - i_out-operand2.
ENDIF.
WHEN OTHERS.
i_out-result = ''.
ENDCASE.
MODIFY i_out.
ENDLOOP.
ENDFORM.
FORM createALV_LVC.
DATA:
it_fieldcat TYPE lvc_t_fcat,
ls_layout TYPE lvc_s_layo,
lt_events TYPE slis_t_event,
lwa_event TYPE slis_alv_event
" Field Catalog
PERFORM createFieldcat CHANGING it_fieldcat.
" Sorting
PERFORM createSort.
" Layout
ls_layout-cwidth_opt = 'X'.
" Events
REFRESH lt_events.
lwa_event-name = 'DATA_CHECK'. "Event name
lwa_event-form = 'HANDLE_DATA_CHANGED'.
APPEND lwa_event TO lt_events.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
EXPORTING
it_fieldcat_lvc = it_fieldcat
is_layout_lvc = ls_layout
* it_sort =
it_events = lt_events
i_callback_program = 'Z_ALV_EDITABLE'
i_callback_user_command = 'USER_COMMAND'
i_callback_pf_status_set = 'PF_STATUS_SET'
i_save = 'X'
TABLES
t_outtab = i_out
EXCEPTIONS
program_error = 1
OTHERS = 2.
ENDFORM.
FORM createFieldcat CHANGING it_fieldcat TYPE lvc_t_fcat.
DATA:
wa_fcat LIKE LINE OF it_fieldcat
REFRESH it_fieldcat.
DEFINE m_append_fieldcat.
CLEAR wa_fcat.
wa_fcat-edit = &1.
wa_fcat-fieldname = &2.
wa_fcat-scrtext_m = &3.
APPEND wa_fcat TO it_fieldcat.
END-OF-DEFINITION.
m_append_fieldcat '' 'OPERAND1' 'Operand 1'.
m_append_fieldcat '' 'OPERAND2' 'Operand 2'.
m_append_fieldcat 'X' 'OPERATOR' 'Operator'.
m_append_fieldcat '' 'RESULT' 'Result'.
ENDFORM.
FORM createSort.
ENDFORM.
FORM PF_STATUS_SET USING P_EXTAB TYPE SLIS_T_EXTAB.
SET PF-STATUS 'Z_ALV_STATUS' EXCLUDING P_EXTAB.
ENDFORM. "PF_STATUS_SET
FORM user_command
USING
r_ucomm TYPE sy-ucomm
ls_selfield TYPE slis_selfield.
CASE r_ucomm.
WHEN 'REFRESH'.
" CHECK i_out HERE IF IT CHANGED ALONG WITH THE EDITS
BREAK-POINT.
* PERFORM refreshALV.
ENDCASE.
ENDFORM.
FORM handle_data_changed using ref_data_changed
type ref to cl_alv_changed_data_protocol.
BREAK-POINT.
ENDFORM.
Similar Messages
-
How to capture the current info in the top-of-page event in Reuse block dis
How to capture the current info in the top-of-page event in Reuse block dis
Hi Geetha,
If you don't have any information to pass the Heading Block, then why you are using this event ?
please comment/ remove that TOP_OF_PAGE code. and use subtotal code in field catalog block.
you can use below code for subtotal.
FORM field_catalog .
gs_fcat-do_sum = &2.
fcat : 'WRBTR' '15' 'X' ' ' ' ' 'WRBTR' 'Amount',
ENDFORM.
Regards,
Kunjan -
Really how secure is the current erase all content and settings?
I am not sure about taking my iPhone in for repair or exchange after reading many old articles about how unsecure the erase really is, seeing how many sensitive passwords and e-mails I have. I have the most current firmware. So tell me, how reliable for keeping my data safe and gone is the current "Erase all content and settings" feature?
Also note: I have iPhone 3g, not later or earlier. So I am not sure if the hardware would make a difference, but yeah.
Message was edited by: nkcrcrIt is what it is. Erase all contents & settings overwrites user settings and information, writing a series of ones to the data partition. This process can take several hours, depending on the storage capacity of your iPhone. During this time, the device displays the Apple logo and a progress bar. If you had a 3GS, it would be instantaneous, as the 3GS supports hardware encryption. Can someone still recover data? Yes. But the software & equipment necessary to do so is very expensive & generally only available to law enforcement.
-
Dear experts.
Can anyone help me to capture data from ALV grid to pass to a BAPI FM.
My ALV grid has the check box as first column and I want to capture only the rows in the grid with these checkboxes checked. I would prefer to do it without OO.
Regards
SatharLoop at the table used for ALV data where <checkbox-field> = 'X'.
Best,
Jim -
Problem in handling double click in the second alv grid control
Hi all,
I have a screen. In the screen , I have 2 custom container and each custom container has 1 alv grid control.
I need to handle double click event for both of alv grid controls in my screen.
I defined 2 local event handler class for each alv grid and defined 2 handle_double_click event.
In the first Alv grid double click works fine , everything is ok, world is peaceful.
But in the second alvgrid, the row parameters (E_ROW, E_COLUMN, ES_ROW_NO) comes initial so i cannot handle it.
All i need is to call a different transaction (displaying the equipment-IE03) when user double-click on a field in the second alv grid control. I tried to use hotspot_click event too but it does'nt give the row id either.
I read some posts in the forms ([Double click event of alv grid control|Double click event of alv grid control]).
I tried everything but nothing works.
Please help. Your answers will be appreciated.Hello Eagle
I am not sure where the problem lies in your case but sample report ZUS_SDN_THREE_ALV_GRIDS_01 shows that you can always find out the current cell after the double-click event (in any case you have the current cell already as IMPORTING parameters of the event):
*& Report ZUS_SDN_THREE_ALV_GRIDS_01
*& Flow logic of screen '0100' (no screen elements, ok-code => GD_OKCODE):
** PROCESS BEFORE OUTPUT.
** MODULE STATUS_0100.
** PROCESS AFTER INPUT.
** MODULE USER_COMMAND_0100.
*& Thread: problem in handling double click in the second alv grid control
*& <a class="jive_macro jive_macro_thread" href="" __jive_macro_name="thread" modifiedtitle="true" __default_attr="1172052"></a>
REPORT zus_sdn_three_alv_grids_01.
DATA:
gd_okcode TYPE ui_func,
gd_repid TYPE syst-repid,
go_docking TYPE REF TO cl_gui_docking_container,
go_splitter TYPE REF TO cl_gui_splitter_container,
go_splitter_2 TYPE REF TO cl_gui_splitter_container,
go_cell_top TYPE REF TO cl_gui_container,
go_cell_bottom TYPE REF TO cl_gui_container,
go_cell_left TYPE REF TO cl_gui_container,
go_cell_right TYPE REF TO cl_gui_container,
go_grid1 TYPE REF TO cl_gui_alv_grid,
go_grid2 TYPE REF TO cl_gui_alv_grid,
go_grid3 TYPE REF TO cl_gui_alv_grid.
DATA:
gt_outtab TYPE STANDARD TABLE OF vbak,
gt_outtab_2 TYPE STANDARD TABLE OF vbap,
gt_outtab_3 TYPE STANDARD TABLE OF vbep.
**PARAMETERS:
** p_bukrs TYPE bukrs DEFAULT '1000'.
* CLASS lcl_eventhandler DEFINITION
CLASS lcl_eventhandler DEFINITION.
PUBLIC SECTION.
CLASS-DATA:
ms_row TYPE lvc_s_row,
ms_col TYPE lvc_s_col.
CLASS-METHODS:
handle_double_click FOR EVENT double_click OF cl_gui_alv_grid
IMPORTING
e_row
e_column
es_row_no
sender.
ENDCLASS. "lcl_eventhandler DEFINITION
* CLASS lcl_eventhandler IMPLEMENTATION
CLASS lcl_eventhandler IMPLEMENTATION.
METHOD handle_double_click.
* define local data
DATA:
ls_outtab TYPE vbak,
ls_outtab_2 TYPE vbap,
ls_outtab_3 TYPE vbep.
" Initialize class data
CLEAR: ms_row,
ms_col.
CASE sender.
WHEN go_grid1.
ms_row = e_row.
ms_col = e_column.
* Triggers PAI of the dynpro with the specified ok-code
CALL METHOD cl_gui_cfw=>set_new_ok_code
EXPORTING
new_code = 'GET_ITEMS'
* IMPORTING
* rc =
WHEN go_grid2.
ms_row = e_row.
ms_col = e_column.
* Triggers PAI of the dynpro with the specified ok-code
CALL METHOD cl_gui_cfw=>set_new_ok_code
EXPORTING
new_code = 'GET_SCHEDULE_LINES'
* IMPORTING
* rc =
WHEN go_grid3.
** READ TABLE gt_vbap INTO ls_vbap INDEX e_row-index.
** CHECK ( ls_vbap-matnr IS NOT INITIAL ).
** SET PARAMETER ID 'MAT' FIELD ls_vbap-matnr.
** CALL TRANSACTION 'MM02' AND SKIP FIRST SCREEN.
WHEN OTHERS.
RETURN.
ENDCASE.
ENDMETHOD. "handle_double_click
ENDCLASS. "lcl_eventhandler IMPLEMENTATION
START-OF-SELECTION.
SELECT * FROM vbak INTO TABLE gt_outtab UP TO 100 ROWS.
PERFORM init_controls.
* Display data
CALL METHOD go_grid1->set_table_for_first_display
EXPORTING
i_structure_name = 'VBAK'
CHANGING
it_outtab = gt_outtab
EXCEPTIONS
OTHERS = 4.
IF sy-subrc NE 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
REFRESH: gt_outtab_2.
CALL METHOD go_grid2->set_table_for_first_display
EXPORTING
i_structure_name = 'VBAP'
CHANGING
it_outtab = gt_outtab_2 " empty !!!
EXCEPTIONS
OTHERS = 4.
IF sy-subrc NE 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
REFRESH: gt_outtab_3.
CALL METHOD go_grid3->set_table_for_first_display
EXPORTING
i_structure_name = 'VBEP'
CHANGING
it_outtab = gt_outtab_3 " empty !!!
EXCEPTIONS
OTHERS = 4.
IF sy-subrc NE 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
* Link the docking container to the target dynpro
gd_repid = syst-repid.
CALL METHOD go_docking->link
EXPORTING
repid = gd_repid
dynnr = '0100'
* CONTAINER =
EXCEPTIONS
OTHERS = 4.
IF sy-subrc NE 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
* NOTE: dynpro does not contain any elements
CALL SCREEN '0100'.
* Flow logic of dynpro:
*PROCESS BEFORE OUTPUT.
* MODULE STATUS_0100.
*PROCESS AFTER INPUT.
* MODULE USER_COMMAND_0100.
END-OF-SELECTION.
*& Module STATUS_0100 OUTPUT
* text
MODULE status_0100 OUTPUT.
SET PF-STATUS 'STATUS_0100'. " contains push button "ORDERS"
* SET TITLEBAR 'xxx'.
* Refresh display of detail ALV list
CALL METHOD go_grid2->refresh_table_display
* EXPORTING
* IS_STABLE =
* I_SOFT_REFRESH =
EXCEPTIONS
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.
ENDIF.
* Refresh display of detail ALV list
CALL METHOD go_grid3->refresh_table_display
* EXPORTING
* IS_STABLE =
* I_SOFT_REFRESH =
EXCEPTIONS
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.
ENDIF.
ENDMODULE. " STATUS_0100 OUTPUT
*& Module USER_COMMAND_0100 INPUT
* text
MODULE user_command_0100 INPUT.
CASE gd_okcode.
WHEN 'BACK' OR
'END' OR
'CANC'.
SET SCREEN 0. LEAVE SCREEN.
" Double-click on first or second ALV grid
WHEN 'GET_ITEMS' OR
'GET_SCHEDULE_LINES'.
PERFORM get_details.
WHEN OTHERS.
ENDCASE.
CLEAR: gd_okcode.
ENDMODULE. " USER_COMMAND_0100 INPUT
*& Form INIT_CONTROLS
* text
* --> p1 text
* <-- p2 text
FORM init_controls .
* Create docking container
CREATE OBJECT go_docking
EXPORTING
parent = cl_gui_container=>screen0
ratio = 90
EXCEPTIONS
OTHERS = 6.
IF sy-subrc NE 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
* Create splitter container
CREATE OBJECT go_splitter
EXPORTING
parent = go_docking
rows = 1
columns = 2
* NO_AUTODEF_PROGID_DYNNR =
* NAME =
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
OTHERS = 3.
IF sy-subrc NE 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
* Get cell container
CALL METHOD go_splitter->get_container
EXPORTING
row = 1
column = 1
RECEIVING
container = go_cell_left.
CALL METHOD go_splitter->get_container
EXPORTING
row = 1
column = 2
RECEIVING
container = go_cell_right.
* Create 2nd splitter container
CREATE OBJECT go_splitter_2
EXPORTING
parent = go_cell_left
rows = 2
columns = 1
* NO_AUTODEF_PROGID_DYNNR =
* NAME =
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
OTHERS = 3.
IF sy-subrc NE 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
* Get cell container
CALL METHOD go_splitter_2->get_container
EXPORTING
row = 1
column = 1
RECEIVING
container = go_cell_top.
CALL METHOD go_splitter_2->get_container
EXPORTING
row = 2
column = 1
RECEIVING
container = go_cell_bottom.
* Create ALV grids
CREATE OBJECT go_grid1
EXPORTING
i_parent = go_cell_top
EXCEPTIONS
OTHERS = 5.
IF sy-subrc NE 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CREATE OBJECT go_grid2
EXPORTING
i_parent = go_cell_bottom
EXCEPTIONS
OTHERS = 5.
IF sy-subrc NE 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CREATE OBJECT go_grid3
EXPORTING
i_parent = go_cell_right
EXCEPTIONS
OTHERS = 5.
IF sy-subrc NE 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
* Set event handler
SET HANDLER: lcl_eventhandler=>handle_double_click FOR go_grid1.
SET HANDLER: lcl_eventhandler=>handle_double_click FOR go_grid2.
SET HANDLER: lcl_eventhandler=>handle_double_click FOR go_grid3.
ENDFORM. " INIT_CONTROLS
*& Form GET_DETAILS
* text
* --> p1 text
* <-- p2 text
FORM get_details .
* define local data
DATA: ls_row TYPE lvc_s_row,
ls_col TYPE lvc_s_col.
data: ls_outtab type vbak,
ls_outtab_2 type vbap,
ls_outtab_3 type vbep.
BREAK-POINT.
CASE gd_okcode.
WHEN 'GET_ITEMS'.
CALL METHOD go_grid1->get_current_cell
IMPORTING
* e_row =
* e_value =
* e_col =
es_row_id = ls_row
es_col_id = ls_col
* es_row_no =
read TABLE gt_outtab into ls_outtab index ls_row-index.
refresh: gt_outtab_2,
gt_outtab_3.
SELECT * FROM vbap into TABLE gt_outtab_2
WHERE vbeln = ls_outtab-vbeln.
WHEN 'GET_SCHEDULE_LINES'.
CALL METHOD go_grid2->get_current_cell
IMPORTING
* e_row =
* e_value =
* e_col =
es_row_id = ls_row
es_col_id = ls_col
* es_row_no =
READ TABLE gt_outtab_2 into ls_outtab_2 index ls_row-index.
refresh: gt_outtab_3.
SELECT * FROM vbep into TABLE gt_outtab_3
WHERE vbeln = ls_outtab_2-vbeln
AND posnr = ls_outtab_2-posnr.
WHEN OTHERS.
RETURN.
ENDCASE.
IF ( lcl_eventhandler=>ms_row = ls_row AND
lcl_eventhandler=>ms_col = ls_col ).
MESSAGE 'Current cell identical' TYPE 'I'.
ELSE.
MESSAGE 'Current cell NOT identical' TYPE 'I'.
ENDIF.
ENDFORM. " GET_DETAILS
Regards
Uwe -
Would like to make the entire ALV Grid invisible.
Hello everyone,
I have a screen with 2 alv grids on a custom control.
Now when required I would like to hide one or both the alv grid. How can I do this?
Custom controls cannot be made invisible. Is there a method in alv which would make the entire alv grid disappear?
Thanks in advance,
Karan> Now when required I would like to hide one or both the alv grid. How can I do this?
> Custom controls cannot be made invisible. Is there a method in alv which would make the entire alv
> grid disappear?
Custom Control we cannot see directly on the screen output. If one of the Grid you want to make invisible
then you can follw some thing similar approach ..
in PBO you will intialize the controls. while initalizing it you pass the wrong Custom control name then it will not display the ALV GRID.
Custom control name is name of the Custom control of screen what ever you want to show. -
Can I have multiple hotspots on the same ALV grid?
Hi,
I have a simple ALV grid report with a hotspot. I can't seem to find any examples or information on whether I can have 2 hotspots on the same ALV grid line.
Is this possible and is there an example somewhere that I can look at?
Thanks for your help!
AndyCheck the code below
METHODS:set_hotspot_ebeln CHANGING pc_alv TYPE REF TO cl_salv_table
pc_report TYPE REF TO lcl_report.
*--Event Handlers for alv
METHODS:on_link_click FOR EVENT link_click OF cl_salv_events_table
IMPORTING row column .
METHOD set_hotspot_ebeln.
DATA: lf_cols_tab TYPE REF TO cl_salv_columns_table,
lf_col_tab TYPE REF TO cl_salv_column_table.
DATA: lf_events TYPE REF TO cl_salv_events_table.
lf_cols_tab = pc_alv->get_columns( ).
TRY.
lf_col_tab ?= lf_cols_tab->get_column( 'VGBEL' ).
CATCH cx_salv_not_found.
ENDTRY.
TRY.
CALL METHOD lf_col_tab->set_cell_type
EXPORTING
value = if_salv_c_cell_type=>hotspot. "5-stands for hot spot
CATCH cx_salv_data_error .
ENDTRY.
TRY.
lf_col_tab ?= lf_cols_tab->get_column( 'VBELN' ).
CATCH cx_salv_not_found.
ENDTRY.
TRY.
CALL METHOD lf_col_tab->set_cell_type
EXPORTING
value = if_salv_c_cell_type=>hotspot. "5-stands for hot spot
CATCH cx_salv_data_error .
ENDTRY.
lf_events = pc_alv->get_event( ).
*--Set event handler for click on cell
SET HANDLER lf_report->on_link_click FOR lf_events.
ENDMETHOD. "set_hotspot_ebeln
METHOD on_link_click.
DATA:la_put TYPE type_put.
READ TABLE lf_report->i_put INTO la_put INDEX row.
CHECK sy-subrc = 0.
if column = 'VGBEL'.
SET PARAMETER ID 'BES' FIELD la_put-vgbel.
CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.
elseif column = 'VBELN'
"<----
endif.
ENDMETHOD. "on_link_click -
When i log onto the internet a box come up on the bottom "show all content" how do i stop this
When i log into windows a message comes up on the bottom of the screen "SHOW ALL CONTENT" how do I stop this message from coming up it is so annoying.
This question was solved.
View Solution.Hi,
Close any open Internet Explorer windows.
Open windows Control Panel, open Internet Options, click the Security tab and click Custom Level. About half way down, under the heading Miscellaneous, there is an entry for 'Display Mixed Content' - click Enable and then Ok, then click Apply and Ok in the previous window.
Regards,
DP-K
****Click the White thumb to say thanks****
****Please mark Accept As Solution if it solves your problem****
****I don't work for HP****
Microsoft MVP - Windows Experience -
When I try to log into the app store to update apps or buy apps the user name that appears is an old one and it will not bring up the current user name/ email how do I stop that so that my current email show up ??
Settings>Store: Tap the AppleID and choose "Sign Out", it will then prompt you to sign in and you can use the new AppleID.
NOTE: Apps must be updated with the AppleID they were purchased under.
EE -
USB-6259 to capture the current waveforms
Hi all,
I am pretty new to LabView and data aquisition. Sorry to bother you all. I have a question:
"Can I use the USB-6259 DAQ device to capture the current waveform of electrical appliances e.g. electric kettle using current probes????? If yes, could you be very kind to guide me in this regard???"
Thanking in anticipation.
Best regards,
HaroonYes, you can do that. You need to do the following:
1. Put a shunt resistor (1ohm, high precision, high wattage) in series with your application.
2. Use one of the Analog input from your DAQ to measure the voltage drop across the shunt, and this will be your current waveform, since the resistor has 1 ohm.
Things to watch out for:
1. Power rating on shunt: make sure your shunt can handle the power.
2. Noise: you may need some filtering circuitry to get rid of the signal noise. If you are comforable with digital filtering, you can use some of the filtering function in LabVIEW.
3. Level at AI: maybe very low, since there are little drop across the shunt. If you don't mind a larger voltage drop, you can increase the value of the shunt to increase the level; if you just want to look at the pulse shape. Or, you can put an amplifying circuit for a little boost before you feel the signal to AI.
Yik
Kudos and Accepted as Solution are welcome! -
ECATT SAPGUI method to capture ALV grid contents
Dear All,
I am using eCATT SAPGUI method to record the transaction VF04. The problem here is I am unable to capture the contents of the ALV grid present in the transaction.
Were any one of you able to capture the contents of ALV grid using SAPGUI method, if so, please do help me to solve this problem.
Thanks in advance,
SidharthHi Sidharth,
Did u find any solution for this problem .
Iam facing same problem for MRIS,MRRL alv reports.Iam recording through SAP GUI but I want One out put field in log. If U find any solution for this plz forward to me.
Thanks in advance
Raju.K -
How to edit the existing ALV grid output variants
Hi experts,
The requirement states that I need to rearrange the existing output layout of the ALV & add a few fields in it. Currently, the output layout is stored as a variant. The program uses the FM LT_DBDATA_READ_FROM_LTDX, to load the fields associated with the variant.
Please explain how can i modify the existing variant? If not, then how to create a new variant?
Thanks in advance!You may use one of those FM
- REUSE_ALV_VARIANT_SELECT and REUSE_ALV_VARIANT_SAVE
- LVC_VARIANT_SELECT and LVC_VARIANT_SAVE
Regards,
Raymond -
ALV Grid editable - How to raise the data_changed event from outside object
Hi,
i'd like to like to raise the data_changed event from outside the ALV-Grid object in order to display errors to the user.
For example a new row was inserted within the program. The user has only to complete the missing informations. Before saving the transactions the program has to execute some semantic checks. The errors of this check process should be shown to the user by creating an instance of the cl_alv_changed_data_portocol object.
Thanks.
RegardsYou don't need to raise the data_changed event to perform the edits or to issue messages using cl_alv_changed_data_protocol.
The following assumes you have an ALV grid object g_alv based on the CL_GUI_ALV_GRID class.
You can mark the inserted records upon insertion as selected using the set_selected_rows method, and then retrieve these rows later using get_selected_rows and perform necessary edits.
Save the row number of each inserted row into a table of the appropriate type (see the method definition for this):
DATA: t_index_rows TYPE lvc_t_row.
DATA: s_row_no TYPE lvc_s_roid.
DATA: t_row_no TYPE lvc_t_roid.
Load entries into t_row_no after each insert. Capture the row number and save in the table t_row_no.
e.g.
PERFORM insert_row USING s_row_no-row_id.
APPEND s_row_no TO t_row_no.
FORM insert_row would have whatever code you are using to insert the row. Save the row id into s_row_no-row_id (which is an INT4).
When done with all inserts do the following
IF t_row_no[] IS NOT INITIAL.
CALL METHOD g_alv->set_selected_rows
EXPORTING
it_index_rows = t_index_rows
it_row_no = t_row_no
is_keep_other_selections = 'X'.
ENDIF.
Then, if SAVE is pressed without the data_changed event having been raised (such as if the user just pressed SAVE without changing anything), use method get_selected_rows to retrieve the rows that were inserted and perform the necessary edits.
DATA: l_t_rows TYPE lvc_t_row. " ALV control: Table rows
CALL METHOD g_alv->get_selected_rows
IMPORTING
et_index_rows = l_t_rows.
Loop through l_t_rows and use the row as an index into the grid, perform the necessary edits, just as you would if the data_changed event had been raised.
If any edits fail, then send messages to the user, abort the save, and re-display the grid.
Remember to refresh the t_row_no and t_index_rows tables if you load a new data set.
You can also use a similar technique with the data_changed event to mark each changed row as selected by saving the row ids, and then you only have to update the changed rows on SAVE, which can minimize database I/O.
Good luck.
Brian -
ALV Grid contents to be saved as Report Varaint
Hello Folks,
There is a requirement to select and specify Table Fields on the Report Selection Screen. The UI should be something in a form of a Table Control or an Editable ALV grid. ALV Grid is the choice made for capturing the Table Fields (through classical Dynpro).
This Table Fields will be then read in the program to retrieve data from the DB table and finally display it in the dynamic ALV.
I am thinking of how to achieve the following:
- Is it possible to have an editable ALV grid on a Report Selection Screen? If yes, how can it be achieved.
- is it possible to save the contents (data) on the ALV grid in something like a report variant. So that the the user do not have to fill-up the data in the grid everytime.
Thank youWell , Let this be a start for you. In the below code the alv is displayed in selection screen and the values can be saved as variant.
The dynamic table creation stuff's are discussed a lot here, please search for that. The below code is just written instantly and can be firther corrected and optimized.
Execute and check it once.
TYPE-POOLS:slis.
CLASS lcl_event_receiver DEFINITION DEFERRED.
TYPES:BEGIN OF ty,
field TYPE fld_namev,
END OF ty.
DATA:it TYPE TABLE OF ty,
wa TYPE ty,
fieldcat TYPE lvc_t_fcat,
l_valid TYPE c,
obj type ref to cl_gui_alv_grid,
g_verifier type ref to lcl_event_receiver,
wa_fcat type lvc_s_fcat,
repid type sy-repid,
dock type ref to cl_gui_docking_container.
CLASS lcl_event_receiver DEFINITION.
PUBLIC SECTION.
METHODS:
handle_data_changed
FOR EVENT data_changed OF cl_gui_alv_grid
IMPORTING er_data_changed.
ENDCLASS.
CLASS lcl_event_receiver IMPLEMENTATION.
METHOD handle_data_changed.
DATA:ls_good TYPE lvc_s_modi.
LOOP AT er_data_changed->mt_good_cells INTO ls_good.
ENDLOOP.
ENDMETHOD.
ENDCLASS.
PARAMETERS:pa_tab TYPE tabname16.
PARAMETERS:pa_str TYPE string NO-DISPLAY.
AT SELECTION-SCREEN OUTPUT.
IF NOT sy-slset IS INITIAL.
SPLIT pa_str AT cl_abap_char_utilities=>cr_lf INTO TABLE it.
ENDIF.
IF dock IS INITIAL.
repid = sy-repid.
CREATE OBJECT dock
EXPORTING
repid = repid
dynnr = sy-dynnr
ratio = 80
side = cl_gui_docking_container=>dock_at_bottom
name = 'DOCK_CONT'.
ENDIF.
IF obj IS INITIAL.
CREATE OBJECT obj
EXPORTING
i_parent = dock.
ENDIF.
IF fieldcat IS INITIAL.
wa_fcat-fieldname = 'FIELD'.
wa_fcat-seltext = 'Field Name'.
wa_fcat-edit = 'X'.
APPEND wa_fcat TO fieldcat.
ENDIF.
if g_verifier is initial.
CREATE OBJECT g_verifier.
SET HANDLER g_verifier->handle_data_changed FOR obj.
endif.
CALL METHOD obj->set_table_for_first_display
CHANGING
it_fieldcatalog = fieldcat
it_outtab = it.
CALL METHOD obj->set_ready_for_input
EXPORTING
i_ready_for_input = 1.
AT SELECTION-SCREEN.
IF sy-ucomm EQ 'SPOS'.
CALL METHOD obj->check_changed_data
IMPORTING e_valid = l_valid.
LOOP AT it INTO wa.
IF sy-tabix = 1.
pa_str = wa-field.
ELSE.
CONCATENATE pa_str cl_abap_char_utilities=>cr_lf
wa-field INTO pa_str.
ENDIF.
ENDLOOP.
ENDIF.
START-OF-SELECTION. -
Capture Changes on ALV Grid Display
Hi,
I am displaying a check box on ALV Grid Display. I have to provide a push button on the application tool bar through which i have to perform some other action. How can i capture the changes made to that check box?
I am using the FM 'REUSE_ALV_GRID_DISPLAY'.
Thanks in Advance.
Best Regards,
Phani
Message was edited by:
Sivapuram Phani KumarHi Amit,
Solved the problem... Thank you very much.
Yesterday i have raised one more thread regarding an issue with ALV Grid... Can u please check and help me out. Here is the link for that issue...
Issue with ALV Display
Regards,
Phani
Maybe you are looking for
-
Any recommendations for a super, duper beginners guide/book to AS 3.0?
Please, nothing like the Essential ActionScript 3.0 by Colin Moock cause although it's an amazing book, I've heard its super complex. I prefer the information being given to me like I was an 8 year old. By the way, the reason why I'm interested in le
-
How to change data type of input parameter
Hi In my procedure i declared the data type of "Value Date" Input parameter as Date where as in CR it is showing data type as "Date Time". Can any one please specify how to change to Date. While prompting for input parameter in description it is show
-
I'm having the same buffering issues that other users are having when I try to stream a short video from my Iphone 4S to my Apple TV Has anyone heard back from Apple on this bug ?
-
Hi, I have a problem with my iPod Shuffle. It won't turn on and when I connect it to the computer it won't recognize it. Nothing happens on the computer. The iPod flashes oranges four times. I tried to reset the unit with out any luck. Anyone who kno
-
How to register artissts feat. other artists without multiple posts?
How to register artists feat. other artists without multiple posts? If someone understand waht I mean. For example, in the list of artist I have "Missy Elliot" but on several songs she sings with someone i.e "Missy Elliot feat. Bill Clinton" than tha