cancel
Showing results for 
Search instead for 
Did you mean: 

Assign filter by user

Former Member
0 Kudos

Is there way to set the data filter by user instead of by device id? What is the easiest way to handle filters and new users? What is the standard way of handling filters for new devices?

thanks

Brian

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

hello brian,

filtering by user is not supported.

however, you may be able to use the MobileGroup

to set a filter to those devices that does not

belong to this group e.g. the new device.

regards

jo

Former Member
0 Kudos

Hi Jo,

May I know the reason why filtering by user is not supported? Is SAP going to implement it future?

Regards,

Rahul

Former Member
0 Kudos

hello rahul,

>May I know the reason why filtering by user is not

>supported?

the architects and product managers are the only people

who can answer this question. perhaps there was no

requirements for such feature.

>Is SAP going to implement it future?

i don't have any idea as well...

the only way to filter by user at the moment is thru

your BAPI wrappers.

regards

jo

Former Member
0 Kudos

hello

can you hel me?

i need to use in a bapi wrapper function getList a parameter type IMPORT from a client request.

how can i do it?

Former Member
0 Kudos

Hi Eliana,

Will you pls clarify a bit more on what exactly you want to do? Also please raise a new question for your query, the reason why I am asking you do so is that since the current query raised by Brian has been solved very few people who help will get to know about your query.

Regards,

Rahul

Former Member
0 Kudos

hi rahul,

i need to filter for userid (= the user of MIclient) into getList function .

Former Member
0 Kudos

Hi Elaina,

Filtering on basis of the user is not supported yet. However, if you can ensure that only one user will be using each device, then you can achieve the same by filtering on the basis of Mobile ID.

Regards,

Rahul

Former Member
0 Kudos

hi Rahul,

i don't have 2 users from 1 only device.

i have this scenario:

client 1 has device 1 and login1;

client 2 has device 2 and login2;

these users from 2 differents devices call the WAS with 2 username differents.

WAS call R3 destination with 1 username login3.

R3 has getList function: this function filter by username of Miclient (login1 or login2) for return information.

How my ABAP function can read login1 or login2 in the getlist function?

the parameter ME_SYNC-USER is helpful as an default input parameter?

Former Member
0 Kudos

Hi Eliana,

This is what I have understood:

You want that when a user 'X' syncs with the WAS, the getlist function should get data from R3(backend) which is only assigned to the user 'X'.

I am not sure how, but you can use the SyncBO Exits. In merep_sbuilder enter your SyncBo name and then from the menu select SyncBo-> Maintain Exit. This will allow to write exits at various positions in the generated Replicator, Downlaoder or Uploader functions. You can then use you ME_SYNC-USER parameter to remove only the data for your user from the data got by getlist from the backend and return the retained data back to the MI client.

Regards,

Rahul

Former Member
0 Kudos

I've less knowledge in ABAP user exits.

I've identified only one exit for getlist method named "BAPI Wrapper for

GetList: Before Header Handling"; as the code is very complicated I cannot understand where to insert my code properly. Moreover is ME-SYNC_USER field as magic as Sy-UNAME in abap environment and which is the compared field mapped for my syncBO? Can I Use the exact name as the one present in SyncBo?

example IF ME_SYNC_USER = UNAME then.... then what?

kishorg
Advisor
Advisor
0 Kudos

HI elina,

just add one more import parameter to your getlist function module(Wrapper).

suppose ur import param is -> eg : userID,

then during syncbo creation , at the time of mapping , there u have the provision to create value id's for fields.

create one value id.

after the generation of syncbo , just set the default value for this value id as , SY-UNAME.

one thing to note is ,

user this userID for query.

regards

Kishor Gopinathan

Former Member
0 Kudos

hello eliana,

ME-SYNC_USER is the parameter from your sychronizer code

which holds the name of the synchronizing user from

the client. SY-UNAME on the other hand is the logged-on

user.

for example you have a USERID field name in your GETLIST

BAPI import parameters. define a SyncBo dependent default

value for value ID SYNCNAME as

-


ValueID | Value

SYNCNAME| ME-SYNC_USER

-


again back into your SyncBo Builder GETLIST BAPI import

paramaters, set the valueID of your USERID field name to

SYNCNAME. so in your BAPI, you have the parameter USERID

which holds the synchronizing user, and as well as access

to SY-UNAME.

if your BAPI doesn't have an import parameter defined for

the sync user, then you can only access the SY-UNAME.

take note however, that the ME-SYNC_USER and SY-UNAME

values may be different depending on your RFC connection

settings.

now, where to insert your code depends primarily on your

business scenario.

regards

jo

Former Member
0 Kudos

hello kishor,

i need to read username of MIclient user.

SY-UNAME is the username of RFC user for BAPI call.

e.g.:

miclient 'username'-> WAS -> rfc username(=SY-UNAME)-> BAPI call

Former Member
0 Kudos

>then during syncbo creation , at the time of mapping , >there u have the provision to create value id's for >fields.

>create one value id.

hi kishor,

we have created the import parameter as you told. we don't know how to create value id.

the only field we have done was set this parameter as filter, hence via 'environment-> filter criteria' we set a default value.

but this is a string constraint and we would like to avoid it. maybe your solution is better. but we need to know how to set this value id.

can you explain me/ post any example.

Former Member
0 Kudos

hi jo,

this is my scenario:

1.mi client user whit login 'username1' send a request to WAS. 2.WAS send a request to R3 via RFC call with login 'usernameRfc'.

i need to read in an abap function the 'username1' parameter(=ME-SYNC_USER), not the 'usernameRfc' (=SY-UNAME parameter).

but actually i don't read the value of parameter ME-SYNC_USER dinamically.

can you post any example of abap code?

Former Member
0 Kudos

hello eliana,

then you have to use ME-SYNC_USER.

1)your BAPI should have an import parameter for userid.

let's say it is USERID. so you should have an entry

USERID in the fieldName column of your Import parameters.

2)click on the valueID, then F4.

the Default Value ID Definition dialog should pop out.

3)create a value ID that will hold your username.

e.g. USERNAME

4)choose this value ID to be the value of your fieldname

so in your import you will have

fieldname USERID mapped to valueID USERNAME

5)run merep_sbuilder, enter your syncBo name and click on

Environment -> Default Values

6)On the SyncBo Dependent tab, set the USERNAME value

to ME-SYNC_USER.

now your field name USERID can be used in your ABAP code.

IF USERID = SY-UNAME.
* syncuser==rfcuser.
ELSE.
* syncuser!=rfcuser
ENDIF.

regards

jo

Former Member
0 Kudos

hello jo,

i have tried to import value as you suggest

but after client smartsynchronization the value of user parameter is empty.

any suggest?

maybe any configuration on the was layer?

please help me

Former Member
0 Kudos

thanks a lot jo

i have solved my problem.

great!

Former Member
0 Kudos

hello eliana,

i just read your reply.

im glad that you have it's working now.

jg

Answers (0)