This is the example from BusinessObjects that I recommended:
How do you fill in the values of a prompt automatically, depending on the user login name, using VBA?
You created a report that prompts a user to select the values from the List of Values box.
You would like to know how you could fill in the values of the prompt automatically, depending on the user that is logged in.
You can use an "Open" event.
To use this, open the VBA editor by going to Tools > Macro > Visual Basic Editor. In the Project window, double click on "ThisDocument".
In the new window, select "Document" from the drop-down menu and "Open" in the right hand drop-down menu.
The following code is inserted in the window:
Private Sub Document_Open()
End Sub
Type in the following sample code between "Private Sub Document_Open()" and "End Sub":
Application.Interactive = False
Dim doc As Document
Set doc = Application.Documents.Open("NameOfYourDocument"

Dim myvar As String
myvar = Application.Variables.Item("BOUSER"

.Value
Select Case myvar
Case Is = "user1"
doc.Variables.Item("Which Country"

.Value = "France"
Case Is = "user2"
doc.Variables.Item("Which Country"

.Value = "US"
Case Is = "user3"
doc.Variables.Item("Which Country"

.Value = "Germany"
End Select
doc.Refresh
Application.Interactive = True
You must update "NameOfYourDocument" with the name of your document in:
Set doc = Application.Documents.Open("NameOfYourDocument"

and also change in Select Case statement the values for user1, user2, and user3 according to your local settings.