WD ALV with mandatory selection mode (1..n or 1..1)
Hi there,
I tried to integrate an ALV table in my WD component. The problem here is, that I chose the selection 1..1 in my data supplying context node. Now I can't start my application anymore without the following error:
Number of Elements of Selection of VIEW_TABLE.1.DATA Violates Cardinality
What do I need to set as ALV property to solv the problem?
Kind regards,
Albert
i just want you to check the importance of this
IF_WD_CONTEXT_NODE~SET_CHANGED_BY_CLIENT - set as true so that what ever changes you make to standard ones through coding are implemented...first donot set this parameter and test the things...if still things doesnot work out then use this parameter...Please go through the documentation before you really use this parameter.
in ALV - you have you use if_salv_wd-table_settings~set_selection_state - > as MULTI..but if this placed you selection should be 0-n or 1-n...otherwise it may go for a dump...i guess there should be some workaround...for this..
may be we have to debug to get the things done....
Lukas -
If IF_WD_CONTEXT_NODE_INFO~IS_MULTIPLE_SELECTION would be set to ABAP_TRUE... - > This will not set the value that retuns the value...
Edited by: Lekha on Dec 29, 2011 1:38 PM
Similar Messages
-
Get Selections From ALV on Multiple Selection Mode
Hi,
How can i get values of selected rows from ALV that has selection '0..n' (multiple selection) ?
Can somebody help me pls?
Thanks.Hi Nurullah,
Steps to make multiple rows selectable in ALV:
1) Create the selection property of the node that you are binding to the DATA node as o..n
2) Un-check the, "Initialization Lead Selection" checkbox for the node which you are using to bind to the DATA node
3) In the WDDOINIT method specify the ALV's selection mode as MULTI_NO_LEAD. It is important that you set the selection mode to MULTI_NO_LEAD or else in the end you would be capturing 1 row lesser than the total number of rows the user has selected. This is because 1 of the rows would have the LeadSelection property & our logic wouldnt be reading the data for that row. Check the example code fragment as shown below:
DATA lo_value TYPE REF TO cl_salv_wd_config_table.
lo_value = lo_interfacecontroller->get_model( ).
CALL METHOD lo_value->if_salv_wd_table_settings~set_selection_mode
EXPORTING
value = cl_wd_table=>e_selection_mode-MULTI_NO_LEAD.
Steps to get the multiple rows selected by the user
In order to get the multiple rows which were selected by the user you will just have to call the get_selected_elements method of if_wd_context_node. So as you can see its no different from how you would get the multiple rows selected by the user in a table ui element. First get the reference of the node which you have used to bind to the ALV & then call this method on it. Check the example code fragment below:
METHOD get_selected_rows .
DATA: temp TYPE string.
DATA: lr_node TYPE REF TO if_wd_context_node,
wa_temp TYPE REF TO if_wd_context_element,
ls_node1 TYPE wd_this->element_node_flighttab,
lt_node1 TYPE wd_this->elements_node_flighttab.
lr_node = wd_context->get_child_node( name = 'NODE_FLIGHTTAB' ).
" This would now contain the references of all the selected rows
lt_temp = lr_node->get_selected_elements( ).
LOOP AT lt_temp INTO wa_temp.
" Use the references to get the exact row data
CALL METHOD wa_temp->get_static_attributes
IMPORTING
static_attributes = ls_node1.
APPEND ls_node1 TO lt_node1.
CLEAR ls_node1.
ENDLOOP.
ENDMETHOD.
Hope this helps resolve your problem.
Regards,
Uday -
Oo abap Display ALV with all selected lines
I will have to display an ALV report but all the records have to be selected while displaying.
I have to do this using OO ABAP only.
Thanks
KiranSolved on my own
-
Jlist with disabled selection mode
Hello,
I want a Jlist where i can switch from noselection possible to singleselection whenever i want to,
Single selection is no problem,
but no selection i founded only to disable the jlist, and thats no option.
Any suggestions,
thx in adv.
Donovan.Hi,
this should do, maybe you need to implement a constructor:public class MyList extends JList {
private boolean selectAllowed = true;
public void setSelectedIndex(int index) {
if (!selectAllowed) {
return;
super.setSelectedIndex(index);
public void setSelectedIndices(int[] indices) {
if (!selectAllowed) {
return;
super.setSelectedIndices(indices);
public void setSelectedValue(Object anObject, boolean shouldScroll) {
if (!selectAllowed) {
return;
super.setSelectedValue(anObject, shouldScroll);
public void setSelectionAllowed(boolean allowed){
if (!allowed) {
super.clearSelection();
selectAllowed = allowed; -
How to select multiple records in ALV with out pressing ctrl
Hi Experts,
Is there a way to select multiple records in ALV with out pressing ctrl button on the key board?
Selection and deselection should allow multiple records.
any clue is highly appreciated.
regards,
AjayThe keyboard always plays a role, although with the Shift key you can select blocks of records.
○ CTRLclick, CTRLspacebar
Toggles a selection.
○ SHIFTclick, CTRLshift
Selects the area from the lead selection to the row selected. If no lead selection is set, the selection starts from the first row. In the multiNoLead mode, the selection starts from the row last selected -
ALV with classes for selected fields
Hi ALL,
Please can anybody will give the example code for
<b>ALV with classes for selected fields</b> from database table .Hi,
*& Report YR_TANS_ALVTEST *
REPORT yr_tans_alvtest .
INCLUDE ya_yr_tans_alvtest_top.
TABLES yttans_test.
DATA itab LIKE yttans_test OCCURS 0.
DATA gr_alvgrid TYPE REF TO cl_gui_alv_grid .
DATA gc_custom_control_name TYPE scrfname.
gc_custom_control_name = 'CC_ALV'.
DATA gr_ccontainer TYPE REF TO cl_gui_custom_container .
DATA gt_fieldcat TYPE lvc_t_fcat .
DATA gs_layout TYPE lvc_s_layo .
data wa_itab like line of itab.
TYPES : BEGIN OF ty_help,
roll_no LIKE yttans_test-roll_no,
name LIKE yttans_test-name,
END OF ty_help.
DATA: git_returntab TYPE TABLE OF ddshretval INITIAL SIZE 0.
CLASS lcl_event_handler DEFINITION
CLASS lcl_event_handler DEFINITION .
PUBLIC SECTION .
METHODS:
handle_double_click FOR EVENT double_click OF cl_gui_alv_grid IMPORTING
e_row e_column es_row_no.
PRIVATE SECTION.
ENDCLASS. "lcl_event_handler DEFINITION
DATA gr_event_handler TYPE REF TO lcl_event_handler .
*& Form handle_double_click
text
-->I_ROW text
-->I_COLUMN text
-->IS_ROW_NO text
FORM handle_double_click USING i_row TYPE lvc_s_row i_column TYPE
lvc_s_col is_row_no TYPE lvc_s_roid.
leave to list-processing.
read table itab index is_row_no-row_id into wa_itab.
write:/ 'Roll no: ', wa_itab-roll_no, /'Name: ', wa_itab-name,
/'Marks: ', wa_itab-marks.
LEAVE SCREEN.
ENDFORM . "handle_double_click
CLASS lcl_event_handler IMPLEMENTATION
CLASS lcl_event_handler IMPLEMENTATION .
*--Handle Double Click
METHOD handle_double_click .
PERFORM handle_double_click USING e_row e_column es_row_no .
ENDMETHOD . "lcl_event_handler
ENDCLASS . "lcl_event_handler IMPLEMENTATION
SELECT-OPTIONS roll FOR yttans_test-roll_no .
AT SELECTION-SCREEN ON VALUE-REQUEST FOR roll-low.
DATA: lit_help TYPE TABLE OF ty_help.
DATA: wa_returntab LIKE LINE OF git_returntab.
SELECT roll_no name INTO TABLE lit_help FROM yttans_test.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'ROLL_NO'
dynpprog = sy-repid
dynpnr = sy-dynnr
dynprofield = 'roll-low'
value_org = 'S'
TABLES
value_tab = lit_help
return_tab = git_returntab
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
READ TABLE git_returntab INTO wa_returntab INDEX 1.
roll-low = wa_returntab-fieldval.
AT SELECTION-SCREEN.
SELECT * FROM yttans_test INTO TABLE itab WHERE roll_no IN roll.
START-OF-SELECTION.
CREATE OBJECT gr_event_handler .
CALL SCREEN '9000'.
*& Module STATUS_9000 OUTPUT
text
MODULE status_9000 OUTPUT.
SET PF-STATUS 'STATUS_9000'.
SET TITLEBAR 'TITLE_9000'.
ENDMODULE. " STATUS_9000 OUTPUT
*& Module USER_COMMAND_9000 INPUT
text
MODULE user_command_9000 INPUT.
DATA: ok_code TYPE sy-ucomm,
save_ok TYPE sy-ucomm.
save_ok = ok_code.
CLEAR ok_code.
CASE save_ok.
WHEN 'BACK' OR '%EX' OR 'RW'.
CALL METHOD gr_ccontainer->free.
CALL METHOD cl_gui_cfw=>flush.
LEAVE TO SCREEN 0.
ENDCASE.
ENDMODULE. " USER_COMMAND_9000 INPUT
*& Module alv_display_9000 OUTPUT
text
MODULE alv_display_9000 OUTPUT.
PERFORM display_alv .
ENDMODULE. " alv_display_9000 OUTPUT
*& Form display_alv
text
FORM display_alv .
IF gr_alvgrid IS INITIAL .
CREATE OBJECT gr_ccontainer
EXPORTING
PARENT =
container_name = gc_custom_control_name
STYLE =
LIFETIME = lifetime_default
REPID =
DYNNR =
NO_AUTODEF_PROGID_DYNNR =
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
create_error = 3
lifetime_error = 4
lifetime_dynpro_dynpro_link = 5
OTHERS = 6
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CREATE OBJECT gr_alvgrid
EXPORTING
I_SHELLSTYLE = 0
I_LIFETIME =
i_parent = gr_ccontainer
I_APPL_EVENTS = space
I_PARENTDBG =
I_APPLOGPARENT =
I_GRAPHICSPARENT =
I_NAME =
EXCEPTIONS
error_cntl_create = 1
error_cntl_init = 2
error_cntl_link = 3
error_dp_create = 4
OTHERS = 5
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
SET HANDLER gr_event_handler->handle_double_click FOR gr_alvgrid .
PERFORM prepare_field_catalog CHANGING gt_fieldcat .
PERFORM prepare_layout CHANGING gs_layout .
CALL METHOD gr_alvgrid->set_table_for_first_display
EXPORTING
I_BUFFER_ACTIVE =
I_BYPASSING_BUFFER =
I_CONSISTENCY_CHECK =
I_STRUCTURE_NAME =
IS_VARIANT =
I_SAVE =
I_DEFAULT = 'X'
is_layout = gs_layout
IS_PRINT =
IT_SPECIAL_GROUPS =
IT_TOOLBAR_EXCLUDING =
IT_HYPERLINK =
IT_ALV_GRAPHICS =
IT_EXCEPT_QINFO =
CHANGING
it_outtab = itab[]
it_fieldcatalog = gt_fieldcat
IT_SORT =
IT_FILTER =
EXCEPTIONS
invalid_parameter_combination = 1
program_error = 2
too_many_lines = 3
OTHERS = 4
IF sy-subrc <> 0.
LEAVE TO LIST-PROCESSING.
WRITE 'error'.
ENDIF.
ELSE.
CALL METHOD gr_alvgrid->refresh_table_display
EXPORTING
IS_STABLE =
I_SOFT_REFRESH =
EXCEPTIONS
finished = 1
OTHERS = 2
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.
ENDFORM. "display_alv
*& Form prepare_field_catalog
text
<--P_GT_FIELDCAT text
FORM prepare_field_catalog CHANGING p_gt_fieldcat TYPE lvc_t_fcat .
DATA ls_fcat TYPE lvc_s_fcat .
ls_fcat-fieldname = 'ROLL_NO'.
ls_fcat-coltext = 'ROLL No.'.
APPEND ls_fcat TO p_gt_fieldcat.
ls_fcat-fieldname = 'NAME'.
ls_fcat-coltext = 'NAME'.
APPEND ls_fcat TO p_gt_fieldcat.
ls_fcat-fieldname = 'MARKS'.
ls_fcat-coltext = 'MARKS'.
APPEND ls_fcat TO p_gt_fieldcat.
ENDFORM. " prepare_field_catalog
*& Form prepare_layout
text
<--P_GS_LAYOUT text
FORM prepare_layout CHANGING ps_layout TYPE lvc_s_layo.
ps_layout-zebra = 'X' .
ps_layout-grid_title = 'Students Details'.
ps_layout-smalltitle = 'X' .
ENDFORM. " prepare_layout
Regards,
Tanveer.
Mark helpful answers
Message was edited by: Tanveer Shaikh -
Checkedlistbox allows multiple selections with Selection mode set to one
I have a simple CheckedListBox with three options. I set Selection Mode to One. When I test the form, it allows me to have more than one box checked. I can clear the other two with a program, but my understanding of Selection Mode was that it would not
allow more than one box to be checked if set on one.Option Strict On
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
CheckedListBox1.SelectionMode = SelectionMode.One
For i = 1 To 10
CheckedListBox1.Items.Add("Number" & i.ToString)
Next
End Sub
Private Sub CheckedListBox1_ItemCheckChanged(sender As Object, e As ItemCheckEventArgs) Handles CheckedListBox1.ItemCheck
Dim ItemIndex As Integer = e.Index
For i = 0 To CheckedListBox1.Items.Count - 1
If i <> ItemIndex Then
CheckedListBox1.SetItemCheckState(i, CheckState.Unchecked)
End If
Next
End Sub
End Class
La vida loca -
Hai gurus,
In my ALV output I want to disable the left most button (Row selector) for some reasons Dynamically.
The user should not select the entire row for some condition.
loop at itab.
If itab-field1 eq 'AA'.
Disable row for selection.
endif.
endloop.
Thanks in advance .....Hi Shridhar,
I think it is difficult to have selection boxes on some condition.
We can have only one type of selection mode for alv.
Kindly refer following link for your solution
http://help.sap.com/saphelp_47x200/helpdata/en/ef/a2e9eff88311d2b48d006094192fe3/frameset.htm
I have tried it in many ways but not able to have its solution.
Kindly share it with all of us if you get the solution.
Hope it helps,
Pratik Vora
Edited by: Pratik Vora on Feb 23, 2009 11:23 AM -
Problem with showing selected rows
Hi,
I have writed ALV report with OO and some input field(dialog programming) in same screen.I want to select rows but rows looking like unselected(all of them) on ALV report when i fill input field after selected rows and use enter key.I didn't understand
why my input fields reset my ALV report.After selecting your Input fields, & when you processing the data, check in debugging mode, whether your ALV report (Table) is getting refreshed or not. If its refreshing, try it not to get refreshed, it solves your problem.
-Dileep .C -
Alv colour row select first row
Hi. I hava an alv with colour in some rows. When i want to select another row distint the first, it always goes to de first row and it doesn't allow me select other row.
how can i solve this to select for example the third row.
thanks.Hi,
Are you programatically setting the selection of the ALV row anywhere in your program? This might happen if you set the lead selection of the node in the WDDOMODIFYVIEW method of your view. Can you please check that ? Also you can try changing the selection mode of your ALV:
lo_config_model_value = lo_interfacecontroller->get_model( ).
lo_config_model_value->IF_SALV_WD_TABLE_SETTINGS~SET_SELECTION_MODE(CL_WD_TABLE=>E_SELECTION_MODE-AUTO).
Best Rgds,
Viqar. -
How to trigger New page while using ALV with classes/oops?
Hi All
I am trying to print a report which has to show the data in two pages.
I am using ALV with classes/oops.
Though I am able to print the report but a new page is not coming. Whole of the data is coming in one single page.
Please tell me as to how to trigger a NEW PAGE while using ALV with classes/oops.
Please send some code samples also if available.
Thanks in advance.
Jerryusing sort option you can do it. in case of grid/oo alv class ALV you can view that only in print mode/preview mode.
in case of list you can view that directly.
sort-fieldname = 'FIELDNAME'.
sort-group = '*' "triggers new page
sort-up = 'X'.
append sort to it_sort. -
Return from ALV Grid to Selection screen
hi,
I want to go back from ALV grid to selection screen.
I am using the following code:
WHEN 'BACK'.
CALL METHOD grid1->refresh_table_display.
CALL METHOD grid1->free.
CALL METHOD custom_container1->free.
CALL SELECTION-SCREEN 1000.
it is working,but when i press BACK button from selection screen to program it is showing ERROR IN FLUSH 4 Error.
Also I tried with method FLUSH
WHEN 'BACK'.
CALL METHOD grid1->refresh_table_display.
CALL METHOD grid1->free.
CALL METHOD custom_container1->free.
CALL METHOD cl_gui_cfw=>flush.
it's still showing same Error.
Please help on this.
Regards,
SankarHi,
My grid name is grid1.
I tried with :
DATA grid1 TYPE REF TO cl_gui_alv_grid.
CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
IMPORTING
e_grid = grid1.
CALL METHOD grid1->check_changed_data.
CALL METHOD grid1->refresh_table_display.
LEAVE TO SCREEN 0.
Even, I tried with declaring another grid : grid2
DATA grid1 TYPE REF TO cl_gui_alv_grid.
CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
IMPORTING
e_grid = grid1.
CALL METHOD grid1->check_changed_data.
CALL METHOD grid1->refresh_table_display.
LEAVE TO SCREEN 0.
In both cases, I am getting the following Error : OBJECTS_OBJREF_NOT_ASSIGNED -
Problem with checkbox selection in Tableview
Hi All
I am using table view with 8 columns - in the last 4 columns i have checkboxes for user input - i have a strange problem - when the table has multiple entries - for the last column i can only select the checkbox on line 1 - and i cannot select the checkbox on the remaining entries below - but for the other colums with checkboxes this is not the case
The selection mode for the table is no line selection - since the table is already displayed with input enabled fields - this is to reduce the no of clicks for user
Can anyone point out what is going wrong - how can i fix this - what i am doing wrong ?
Thanks
SenHi
When i click on the checkbox for the 2nd or 3rd rows of the last column - nothing happens - the checkox is still active but nothing happens -
this is the tableview code
<htmlb:tableView id = "Detail"
design = "ALTERNATING"
headerText = "Header Text"
onNavigate = "onMyNavigate"
emptyTableText = "test"
onRowSelection = "onMyRowSelection"
fillUpEmptyRows = "false"
footerVisible = "true"
visibleRowCount = "5"
table = "<%= DETAILTAB %>"
iterator = "<%= iterator %>" >
and this is the code for the last column
<htmlb:tableViewColumn columnName = "OBSOFLGICON"
width = "3"
type = "user"
horizontalAlignment = "CENTER"
title = "Obs" >
<htmlb:checkbox />
</htmlb:tableViewColumn>
Thanks
Sen -
How to create a table with multiple select on???
Hi all,
I am new to webdynpro and my requirement is to create a table with multiple selection on.I have to add abt 10 rows in the table but only 5 rows should be visible and moreover a verticalscroll should be available to view other rows.Can anybody explain me in detail how to do that.Please reply as if you are explaining to a newcomer.Reply ASAP as i have to do it today.
ThanxsHi,
1. Create a value node in your context name Table and set its cardinality to 0:n
2. Create 2 value attributes within the Table node name value1 and value2
3. Goto Outline view> Right click on TransparentUIContainer>Apply Template> Select Table>mark the node Table and it's attributes.
you have created a table and binded its value to context
Table UI properties
4.Set Selection Mode to Multi
5.Set Visible Row Count to 5
6.ScrollableColCount to 5
In your implemetaion, you can add values to table as follow:
IPrivate<viewname>.ITableElement ele = wdContext.nodeTable().createTableElement();
ele.setValue1(<value>);
ele.setValue2(<value>);
wdContext.nodeTable().addElement(ele);
The above code will allow you to add elements to your table node.
Regards,
Murtuza -
ALV with dropdown in column and other questions
hi,
I created an editable alv with configuration model via external context mapping.
now I have a column which contains strings and my aim is to show this whole column as a dropdownlist. the possible values of this dropdown are fetched in a database table at runtime and each cell in this column got its own selected value in this dropdownlist.
changes of the selected values should be written in the database table in a later step.
1. what changes do I have to do?
should I remove my external mapping concerning the alv and use the setData method? or what is the easiest way to get my dropdownlist in this column instead of normal text (string) ?
2. should I choose dropdownbykey or by index?
I suppose I have to change the context when changing the selected value in the dropdownlist and the read out the changed context element and update my database table?
3. how could I access rows (= tuples) in an alv?
4. how can I avoid that a row could be deleted, inserted or added with the normal functions of the alv?Hi Thorsten,
If the possible list of values in the dropdown is different for each row, you need a drop down by index. Else this can be done using a dropdown by key itself.
The only change that you need to do is create a cell editor of type dropdown for that particular column and configure your ALV model.
The sample code for changing the cell editor would be:
l_alv_model = l_ref_interfacecontroller->get_model( ).
DATA:
lr_column_settings TYPE REF TO if_salv_wd_column_settings,
lr_column type ref to CL_SALV_WD_COLUMN.
lr_dropdown TYPE REF TO CL_SALV_WD_UIE_DROPDOWN_BY_KEY.
lr_column_settings ?= l_alv_model.
lr_column = lr_column_settings->get_column( <column name> ).
CREATE OBJECT lr_dropdown EXPORTING
SELECTED_KEY_FIELDNAME= '<fieldname>'
lr_column->set_cell_editor( lr_dropdown ).
Here, you can substitute the field name with your field name that has to be displayed as a dropdown.
The dropdown list can be populated in the wddoinit method by attaching a value set to the attribute in the context node info. Everything else will be like you do in a normal table. You can so a get_static_attributes of your elements and persist in tables. Whenever you change the selected value, the context will be updated immediately. You can have a user defined function like 'Save' or something where you can just read the context and process the data.
If you do not want to display any of the normal functions, you can do the following:
data: lt_functions type SALV_WD_T_FUNCTION_STD_REF,
ls_function type SALV_WD_s_FUNCTION_STD_REF.
lt_functions = l_alv_model->if_salv_wd_function_settings~get_functions_std( ).
loop at lt_functions into ls_function.
ls_function-r_function->set_visible( CL_WD_UIELEMENT=>E_VISIBLE-NONE ).
endloop.
The above code will hide all the standard functions. If you want to hide specific ones, do a get_function(id) and set_visible.
Hope this helps.
Regards
Nithya
Maybe you are looking for
-
Safari and firefox stop working after a few minutes of browsing, regardless of what site I'm on. I have to restart my computer to get internet access again but it only works for a few more minutes, then I have to restart again. I don't get a spinning
-
Sending mail from mail.app using multiple email addresses?
I'm familiar with the strategy of going into the account settings and putting in another email separated by a comma. That works great and i've had much success doing that. The problem is when I compose a NEW message, it defaults to my...well...defaul
-
can this problem be fixed?
-
Benefit Plan Enrollment requiring EOI, existing Benefit pan is delimited
Hi Everyone, Here is the situation... When an employee changes his/her benefit plan and enrolls into a benefit plan requiring EOI, the existing benefit plan record is delimited, it puts an end date to the existing plan. We would like to keep the exis
-
Reminders will not open in icloud since upgrade to IOS 7. I am given an error message saying it can't open due to a network problem or a missing resource. This problem is consistent both at work and at home, two different windows 7 machines, two di