Resolving e-mail addresses from a role
Rickayzen, Alan
alan.rickayzen at sap.com
Tue Dec 12 12:23:59 EST 2000
Jan,
There are several places that the e-mail address can be stored.
E.g. The user data (su01), the HR data...
I did an ASUG presentation on advanced workflow techniques (1998) where I
extended the user object (and delegated) to include the e-mail address as an
attribute from the SU01 data. I've still got the screencam which I added to
SAPnet 5 minutes ago.
http://service.sap.com/webflow
(it may take 24 hours to replicate to the US. See media/presentations)
Unbelievably the system and source code still exist so I'm including it in
this mail. Bear in mind that I wrote the code assuming that no-one would
ever see it! The result was what counted for the demo.
Another approach would be to ask your users to create an auto-forward
address. Personally I prefer this approach because:
a) the users can maintain this themselves
b) you don't have to do any coding whatsoever.
If you do this you just send the mail to the user and allow the autoforward
functionality to transmit the e-mail over the internet to the users. You
need to configure your system to enable internet (or Lotus or Exchange)
mail.
Here's the code,
Alan Rickayzen
--------------------------
FUNCTION Z_SWU_INTERNET_ADDRESS_READ.
*"----------------------------------------------------------------------
*"*"Local interface:
*" IMPORTING
*" VALUE(ORG_OBJECT) LIKE RHOBJECTS STRUCTURE RHOBJECTS
*" TABLES
*" ADDRESS_LIST
*"----------------------------------------------------------------------
DATA: OTYPE LIKE SWHACTOR-OTYPE,
OBJID LIKE SWHACTOR-OBJID,
OFFICE_LST LIKE SOUSRADRI1 OCCURS 0
WITH HEADER LINE,
OFFICE_ID LIKE SOUDNAMEI1 OCCURS 0
WITH HEADER LINE,
AGENT_LST LIKE SWHACTOR OCCURS 0
WITH HEADER LINE,
T_AGENT_LST LIKE SWHACTOR OCCURS 0
WITH HEADER LINE.
* Convert PD type to Office address type.
OTYPE = ORG_OBJECT(2).
OBJID = ORG_OBJECT+2(*).
CALL FUNCTION 'SWI_GET_USERS_OF_ORG_UNIT'
EXPORTING
OTYPE = OTYPE
OBJID = OBJID
TABLES
USER_LIST = T_AGENT_LST
EXCEPTIONS
NOT_FOUND = 1
NO_ACTIVE_PLVAR = 2
OTHERS = 3.
CHECK SY-SUBRC = 0.
APPEND LINES OF T_AGENT_LST[] TO AGENT_LST[].
SORT AGENT_LST.
DELETE ADJACENT DUPLICATES FROM AGENT_LST.
CLEAR OFFICE_LST. REFRESH OFFICE_LST.
OFFICE_LST-COM_TYPE = 'INT'. "Communication method = Internet
* Find the addresses.
LOOP AT AGENT_LST.
REFRESH OFFICE_ID. CLEAR OFFICE_ID.
OFFICE_ID-SAPNAME = AGENT_LST+2(*).
CALL FUNCTION 'SO_NAME_CONVERT_API1'
EXPORTING
NAME = OFFICE_ID
TABLES
NAMES = OFFICE_ID
EXCEPTIONS
USER_NOT_EXIST = 1
PARAMETER_ERROR = 2
X_ERROR = 3
OTHERS = 4.
CHECK SY-SUBRC = 0.
LOOP AT OFFICE_ID WHERE USERID <> ''.
OFFICE_LST-USERID = OFFICE_ID-USERID.
APPEND OFFICE_LST.
ENDLOOP.
ENDLOOP.
CALL FUNCTION 'SO_USER_ADDRESS_READ_API1'
TABLES
USER_ADDRESS = OFFICE_LST
EXCEPTIONS
ENQUEUE_ERRROR = 1
PARAMETER_ERROR = 2
X_ERROR = 3
OTHERS = 4.
LOOP AT OFFICE_LST WHERE
ADDRESS <> ''.
APPEND OFFICE_LST-ADDRESS TO ADDRESS_LIST.
ENDLOOP.
SORT ADDRESS_LIST.
DELETE ADJACENT DUPLICATES FROM ADDRESS_LIST.
ENDFUNCTION.
-----Original Message-----
From: Angie Jan [mailto:angie_jan at hotmail.com]
Sent: Tuesday, December 12, 2000 5:08 PM
To: SAP-WUG at MITVMA.MIT.EDU
Subject: Resolving e-mail addresses from a role
Hi All,
I have written a role, which works fine. My question is, how would I be
able to find the e-mail address(es) when the role is resolved? Any
suggestions would be very much appreciated.
Thanks
Angie
____________________________________________________________________________
_________
Get more from the Web. FREE MSN Explorer download : http://explorer.msn.com
More information about the SAP-WUG
mailing list