My solution is a bit more indirect. The amount of manipulation that I must do to the data coming in is _significant_, so I had to use a staging form. This is an extension of the existing integration we built (when Axton was here) for eDir to populate SHR:People in Help Desk 5.5. I get my records pushed into a SQL Server table via a Novell data exchange from eDir. The LDAP system (eDir) is fed in batch from PeopleSoft, plus real-time updates. Anything that eDir gets, it pushes into my table when it processes inserts or updates. AIE runs ten data exchanges each hour - one for each number 0-9 that can be the trailing number in an employee id, so that instead of comparing 150,000 records in each exchange it is only comparing about 15,000. It pushes almost every attribute from LDAP to my staging form, into a section that stores the latest values from LDAP. New records are flagged as inserts and are processed a little differently for efficiency; changed records (where the PeopleEID and UserEID have already been posted back to the staging form) are compared field to field with data in the section that contains existing data, and filters act on the differences. A third section of the staging form ends up holding all of the data that will be pushed into CTM:People or User, with all of the necessary transformations of data already done. For example, LDAP gives me the building and room separately, and I concatenate them to the value to set in Desk Location. LDAP gives me a budget account number, which I look up in a supporting table and use to set Company, Organization, Department, Region, Site Group, and Site. LDAP gives me role codes that are used in PeopleSoft and eDir, and I push them all the way into the CTM:People form and and company permissions accordingly. Every customer with a valid role is added to the UNT Customers company; specific roles will also add them to UNT SYS Students and/or UNT SYS Employees, which gives them access to different categories within the Kinetic Request service catalogs. When creating new People and User records, the filters set flags for a loop that submits a new record as Proposed, and after it completes the new record ids and Profile Status = Enabled are set on the staging form records. Everything after that is an update. Another filter traps for updates that did not originally qualify to create People and User records (no role), and if an update adds a role it is treated as a new create process. Here is a create: /* Tue Apr 15 2008 19:48:09.6420 */ Checking "+EDS:PersonShadow-CreatePeopleEntry01" 0: Push Fields -> "CTM:People" <deferred from filter +EDS:PersonShadow-CreatePeopleEntry01> Display_Locale (1000003974) = 1000 Notification Availability (1000000846) = 1 Phone Number Home (1000000062) = Phone Number Fax (1000000060) = Phone Number Business (1000000056) = Corporate ID (1000000054) = 99999999 Internet E-mail (1000000048) = Desk Location (1000000035) = Client Sensitivity (1000000027) = 1 VIP (1000000026) = 1 Support Staff (1000000025) = 1 Nick Name (1000000024) = Nick JobTitle (1000000023) = Client Type (1000000022) = 7000 Middle Initial (1000000020) = Thomas First Name (1000000019) = Nicholas Last Name (1000000018) = Gage Full Name (1000000017) = Nicholas Thomas Gage Organization (1000000010) = Helpdesk Support Company (1000000001) = UNT Customers UNT Phone (900000001) = Hourly Rate (240000040) = .00 USD zTmpUpdateRole (600003998) = 0 LDAP_role (600000242) = untapp Accounting Number2 (302006500) = TU### ManagerLoginID (301336500) = Contact Type (260141102) = Primary ManagersName (260000006) = Site (260000001) = UNT Students Accounting Number (240000042) = TU### Region (200000012) = University of North Texas System Site Group (200000007) = Students and Applicants Department (200000006) = UNT Students Full Text License Type (110) = 0 License Type (109) = 0 Default Notify Mechanism (108) = 0 Password (102) = *** Profile Status (7) = 0 Remedy Login ID (4) = abc1234 Submitter (2) = abc1234 /* Tue Apr 15 2008 19:48:09.9740 */ Checking "+CTM:PPL:SubmitUserInfo_502_Customer`!" (502) --> Passed -- perform actions 0: Push Fields -> "User" Disable Password Management (138) = 0 Full Text License Type (110) = 0 License Type (109) = 0 Default Notify Mechanism (108) = 0 Group List (104) = 1000000006; Email Address (103) = Password (102) = Login Name (101) = abc1234 Full Name (8) = Nicholas Thomas Gage Status (7) = 0 Creator (2) = Demo
/* Tue Apr 15 2008 19:48:10.4210 */ Checking "+EDS:PersonShadow-CreateARUserPreference01" 0: Push Fields -> "AR System User Preference" <deferred from filter +EDS:PersonShadow-CreateARUserPreference01> Report Server (24002) = itsm7.ars.unt.edu;22700;; OpenHomePageAuto (23681) = 1 ODBC Use Underscores (23235) = 1 FlatLookOnForms (23208) = 1 Num Item in Recently Used List (23206) = 9 Prompt For Login (23201) = 1 Maximize AR System User (23200) = 1 Refresh Table Field on Display (20119) = 0 Max Items Returned (20104) = 1000 Limit Number of Items (20103) = 1 Short Description (8) = Preference entry for abc1234 Submitter (2) = abc1234 Group 1000000006 is UNT Customers If this were a student or staff person, not an applicant, this OOTB code would start the process to add more company permissions as group ids to the existing one: /* Tue Apr 15 2008 19:57:48.9000 */ Checking "SHR:SHR:UpdateGroupListCompanyG_550" (550) --> Passed -- perform actions 0: Set Fields z1D Permission Group ID (1000001582) = 1000000006 1: Call Guide "CTM:PPL:UpdateGroupList-Add" /* Tue Apr 15 2008 19:57:48.9000 */ Checking "SHR:SHR:UpdateGroupListAdd_100" (100) --> Passed -- perform actions 0: Set Fields z1D Permission Group List (1000001583) = 1: Set Fields z1D Permission Group List (1000001583) = 2: Set Fields z1D Permission Group List (1000001583) = 3: Set Fields z1D Permission Group List (1000001583) = 1000000006; 4: Set Fields Assignee Groups (112) = 1000000006; /* Tue Apr 15 2008 19:57:48.9000 */ Call Guide "CTM:PPL:UpdateGroupList-Add" (return) Christopher Strauss, Ph.D. Call Tracking Administration Manager University of North Texas Computing & IT Center http://itsm.unt.edu/ _____ From: Action Request System discussion list(ARSList) [mailto:[EMAIL PROTECTED] On Behalf Of Joe D'Souza Sent: Thursday, April 17, 2008 12:48 PM To: arslist@ARSLIST.ORG Subject: Re: The General Access group in ITSM 7... ** Chris, Thanks for your response.. I noticed that the General Access group gets added automatically like you said whenever you select any Permission Group that is of type Application Permission. How did you go about 'automatically' creating users from PeopleSoft? What were your Push field mappings to the CTM People form? Any of the temporary fields that need to be populated? I populated the obvious which are visible, including Site ID, which is associated with the Region and Site group.. However although the user that is running the data exchange has got Contact People Admin permission but yet I get that error (ARERR 1071032): As the Application Data Admin of this ticket, you do not have permission to submit or modify the People profile Status from "" to "Obsolete". So looking at the filter CTM:PPL:StatusRulesErr_032 that causes this error message, I might need to populate some of those tmp fields??? Joe _______________________________________________________________________________ UNSUBSCRIBE or access ARSlist Archives at www.arslist.org Platinum Sponsor: www.rmsportal.com ARSlist: "Where the Answers Are"