Recon and provisioning of user-defined object class ICF Active Directory
I have followed the documentation instructions for reconciliation of a user-defined object class in the ICF Active Directory connector. I am using OIM 11gR2 with the ICF Active Directory 11.1.1.5 connector patched to 11.1.1.5.0A. The procedure states to create the new object class in AD and then change the objectClass value in the Lookup.Configuration.ActiveDirectory lookup. In my case I am using the existing ObjectClass of contact, rather than a new object class. Just for completeness I am using a clone of the AD User Resource Object which I call AD User Contact and so my lookup name is Lookup.Configuration.ActiveDirCon.
When I changed the ObjectClass from User to Contact, and ran the Active DirCon User Target Recon scheduled job, with Object Type also = contact. The first issue I noticed was that the connector wanted a different set of lookups, which is not in the documentation. It is looking for a lookup in my Configuration lookup where code key=contact Configuration Lookup (which I should have expected since there are code keys for User, Group, and organizationalUnit). I added a line to the lookup where code key=contact Configuration Lookup and the Decode=Lookup.ActiveDirCon.CM.Configuration and then I created a new lookup by that name, assigning the 5 values to be the Lookup.ActiveDirCon.UM.xxx lookups. I did not see any need to create a new set of Lookup.ActiveDirCon.CM.xxx lookups with the exact same values.
I re-ran the scheduled job and it ran successfully, but did not generate any Recon Events, even though I had objects in the OU and I have that same OU in the Lookup.ActiveDirCon.OrganizationalUnits lookup (from the Org Lookup Recon). Everything looks good but getting no results. Looked at the log file from the ConnectorServer and it is building the query properly and executing it properly with the correct syntax, getting no errors, but the SearchAndReturnObjects method is returning zero results.
Looking to see if anyone has successfully reconciled in user-defined or other non-User objectClass objects from Active Directory, and if so, can you provide Lookup configuration and Connector Server information so I can troubleshoot.
I resolved this issue by changing the recon lookups to a blank lookup called Lookup.ActiveDirCon.CM.ReconAttrMap and only added in the parameters that are used by a Contact object. Only populate the ReconAttrMap with parameters that exist for the custom object.
Edited by: Keith Smith AptecLLC on Mar 27, 2013 6:31 AM
Oracle Support answered this question via SR
Similar Messages
-
I developed our own Authentication, Identity Assertion & Authorization providers
for weblogic 8.1 SP1. In the authenticator MBean i have one method which takes
user defined object as a argument and returns a user defined object. i am able
to call all the methods which takes java objects(for example: String, int, ArrayList,
HashMap, Etc...) as a argument and returns also a java object but when i user
any user defined object then it gives exception. if in the argument i used user
defined object then it is not able to call that method telling NoSuchMethodException.
Is there any way to use user defined object as an argument to MBean method?
can anyone please help us as we r in the final stage of the project?
Thanks
Lakshmi"Lakshmi Padhy" <[email protected]> wrote in message
news:3fc2f50c$[email protected]..
>
I developed our own Authentication, Identity Assertion & Authorizationproviders
for weblogic 8.1 SP1. In the authenticator MBean i have one method whichtakes
user defined object as a argument and returns a user defined object. i amable
to call all the methods which takes java objects(for example: String, int,ArrayList,
HashMap, Etc...) as a argument and returns also a java object but when iuser
any user defined object then it gives exception. if in the argument i useduser
defined object then it is not able to call that method tellingNoSuchMethodException.
>
Is there any way to use user defined object as an argument to MBeanmethod?
>
I seem to remember that jmx only supports scalar datatypes. Ask in the
weblogic.developer.interest.management newsgroup. -
Cfldap and deleted objects container in Active Directory
Hello,
I am trying to use a CFLDAP query to bind and search in the
Deleted Objects container of Active Directory. This would allow me
to get the sAMAccountname values of the users who have been deleted
within the last default 60 days (searching tombstone objects in
Deleted Objects).
I have tried various methods including <cfldap
start="CN=Deleted Objects, DC=<domain>, DC=<com>> (I
am omitting the rest of the CFLDAP attributes in the example
above). I'm not sure if CFLDAP can even query the deleted objects
container. Has anyone had any experience with this?
Thanks,
BenHi Michael,
Thanks for your help! I have however already explored those
solutions offered by Microsoft. Sadly, they only work in separate
programs (i.e. ldap.exe which comes with Windows Server tools).
After lots of research I have found a Java method that can bind
with the container and return the results. CFLDAP, I'm afraid is
just not capable of doing this - or at least I have had no luck
with it (I was connecting as domain admin btw).
The challenge now is to get the Java class to communicate
with the rest of my cf code.
Thanks again,
Ben -
How to clone a user-defined object?
Hello,
I need to clone an Object[] array (propArray) that holds objects of Integer, Double, Boolean type, along with objects of user-defined ClassA, ClassB, ClassC type. The matter is that the ClassA object isn't being cloned, while the rest of the user-defined objects are cloned just fine.
In more detail, ClassA has two properties:
public class ClassA implements Cloneable{
private String penaltyFor;
private Penalty[] penaltyArray;
protected Object clone(){
try{
ClassA o = (ClassA)super.clone();
o.penaltyFor = this.penaltyFor;
// o.penaltyArray = (Penalty[])penaltyArray.clone(); //This ain't working.
//But neither does this :(.
int penCount = this.penaltyArray.length;
o.penaltyArray = new Penalty[penCount];
for(int i = 0; i < penCount; i++)
o.penaltyArray[i] = (Penalty)this.penaltyArray.clone();
return o;
} catch(CloneNotSupportedException e){ throw new InternalError(); }
The Penalty class contains properties of primitive type and here is its clone() method:
public class Penalty implements Cloneable{
private String penaltyDesc;
private int lowLimit, upperLimit, penaltyValue;
protected Object clone(){
try{
Penalty o = (Penalty)super.clone();
o.penaltyDesc = this.penaltyDesc;
o.lowLimit = this.lowLimit;
o.upperLimit = this.upperLimit;
o.penaltyValue = this.penaltyValue;
return o;
} catch(CloneNotSupportedException e){ throw new InternalError(); }
}I don't know what else to try. I suppose the problem is the Penalty[] array, but I may be wrong. An alternative would be to use Copy Constructors, but it will cause too many changes to the code, since the clone() method is used for the propArray copy in many places and the ClassA object is a late addition to the propArray (unfortunately it wasn't planned to exist from the beginning).
Thank's.class ClassA implements Cloneable{
private String penaltyFor;
private Penalty[] penaltyArray;
public Object clone(){
try{
ClassA o = (ClassA) super.clone();
if (penaltyArray!=null){
o.penaltyArray = (Penalty[]) penaltyArray.clone();
for(int i = 0; i < penaltyArray.length; i++) {
Penalty penalty = this.penaltyArray;
if (penalty!=null)
o.penaltyArray[i] = (Penalty) penalty.clone();
return o;
} catch(CloneNotSupportedException e){
throw new InternalError();
class Penalty implements Cloneable{
private String penaltyDesc;
private int lowLimit, upperLimit, penaltyValue;
public Object clone(){
try{
return super.clone();
} catch(CloneNotSupportedException e){
throw new InternalError();
If your Penalties are immutable, you don't need to clone them -- rather,
make then unclonable, like Strings. -
Does Map Support User-Defined Object As Key?
Hi,
Map m = new HashMap();
m.put(myobj1, "Hello");
m.put(myobj2, "World");
I'm using my own object as the key for the map.
Since the key is a user-defined object, I would need to overload the equality operator in order to get the value.
Now, if I would to do something like this:
MyObj myObj = (MyObj)m.get(myobj3);
I found out that the equality operator for MyObj never even executes (by printing out some message). But if I would to retrieve using the original myobj1 and myobj2 object, then only the equality operator would get executed.
If I would to do the above using the String object instead of MyObj, the equality operator works fine.
I can't seemed to find a reason for the above behaviour. Any ideas?
Thanks in advance.In a hashmap, the object is located/stored by calculating its hash code. Therefore, you need to also override the hashCode() method of the Object class so that the same objects return the same hashCode, so that you can retrieve your objects.
-
DTW user-defined object issues
Dear all,
I've tried to import a user-defined object with a template through DTW.
However, I got an error message "To generate this document, first define the numbering series in the Administration moduleApplication-defined or object-defined error.
Any ideas?
Pls help.
ThanksHi,
It is a limitation of the UDO that it is not possible to enter new values via DI or DTW.
There is a way to automatically fill your object's user tables. Please see the Note [804685|https://websmp130.sap-ag.de/sap(bD1odSZjPTAwMQ==)/bc/bsp/spn/sapnotes/index2.htm?numm=804685] for more details regarding the issue description and the workaround available.
hope it helps,
Regards,
Ladislav
SAP Business One Forum Team -
how to use UDO--user defined object in sap b1????
Creating UDO in SAP B1
1. Create UDT, ( Create UDT as Document if want the code to be in auto increament form)
2. Create UDFs for created UDT,
3. Register Object using "Object Registration Wizard",
(a) Put UDT's unique name in "UNIQUE ID" field of UDO (Image - UDO01.jpg) ,
(b) Do further as per requirements,
4. After Registering the UDO, you can access it from where you have set it to access (@ UI Settings of "User - Defined Object Registration Wizard"),
5. If you wana change the field location / change the design of the form, Open screen painter as and click on "Open User Defined Object List " (Mostly 3rd icon from Left in screen painter),
6. Make required changes and save it by clicking "Save Form To Database" ( Mostly 2nd icon from Left in Screen Painter),
7. Now the UDO is ready and can be used by user. -
Problen in ChooseFromList & User Defined Object
Hello.
I'm trying to use a [ChooseFromList] that calls info from one User Table called @LABS this table is MasterData type.
I add a User Defined Object in runtime, called UO_Labs
Then, I add one ChooseFromList to my form (This form was made in ScreenPainter)
The user object was created fine, the ChooseFromList is added fine, the form loads fine, but, when I press tab or the button of the ChooseFromList I get this error: "Internal error (-1003) ocurred [Message 131-183]"
I try to use my ChooseFromList in one Matrix and in one EditText objects. And gives me the same error in both objects.
I'm using SAP 2007 PL 35
This is my code:
Adding the User Defined Object -
Dim UO As SAPbobsCOM.UserObjectsMD
UO = CompanyObj.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oUserObjectsMD)
UO.ManageSeries = SAPbobsCOM.BoYesNoEnum.tNO
UO.CanCancel = SAPbobsCOM.BoYesNoEnum.tYES
UO.CanClose = SAPbobsCOM.BoYesNoEnum.tYES
UO.CanDelete = SAPbobsCOM.BoYesNoEnum.tYES
UO.CanFind = SAPbobsCOM.BoYesNoEnum.tYES
UO.CanLog = SAPbobsCOM.BoYesNoEnum.tNO
UO.CanYearTransfer = SAPbobsCOM.BoYesNoEnum.tNO
UO.CanCreateDefaultForm = SAPbobsCOM.BoYesNoEnum.tYES
UO.Code = "UO_Labs"
UO.Name = "Laboratory Info."
UO.ObjectType = SAPbobsCOM.BoUDOObjType.boud_MasterData
UO.TableName = "LABS"
If UO.FormColumns.Count = 0 Then UO.FormColumns.Add()
UO.FormColumns.SonNumber = 0
UO.FormColumns.FormColumnAlias = "Code"
UO.FormColumns.FormColumnDescription = "Code"
UO.FormColumns.Add()
UO.FormColumns.SonNumber = 0
UO.FormColumns.FormColumnAlias = "Name"
UO.FormColumns.FormColumnDescription = "Name"
If UO.Add() <> 0 Then
Application.MessageBox(CompanyObj.GetLastErrorDescription)
End If
END Adding the User Defined Object -
This code adds my UDO and it works fine, has data and do the work.
Adding the [ChooseFromList] Object -
'// form object is send in parameters.
Dim oCFLs As SAPbouiCOM.ChooseFromListCollection = f.ChooseFromLists
Dim oCFL As SAPbouiCOM.ChooseFromList
Dim oCFL_CP As SAPbouiCOM.ChooseFromListCreationParams
Dim matrix As SAPbouiCOM.Matrix = form.Items.Item("matrix").Specific
oCFL_CP = App.CreateObject(SAPbouiCOM.BoCreatableObjectType.cot_ChooseFromListCreationParams)
oCFL_CP.MultiSelection = False
oCFL_CP.ObjectType = "UO_Labs"
oCFL_CP.UniqueID = "cfl_Labs"
oCFL = oCFLs.Add(oCFL_CP)
matrix.Columns.Item("labCode").ChooseFromListUID = "cfl_Labs"
matris.Columns.Item("labCode").ChooseFromListAlias = "Code"
form.Refresh()
END Adding the [ChooseFromList] Object -
Thanks for your time...
Greetings
Gabriel Vasquez.Hi Gabriel,
Please check in B1 if the UDO is created correctly, specifically the CanFind option. I got that error once, with one of my addons, that somehow was created with CanFind=tNo, despite my code indication CanFind=tYes...
Also, try adding the CFL directly in the XML form.
<column uid="C_labCod" type="116" title="Lab. Code" description="Laboratory Code" visible="1" AffectsFormMode="1" width="70" disp_desc="1" editable="1" right_just="0" val_on="Y" val_off="N" backcolor="-1" forecolor="-1" text_style="0" font_size="-1" ChooseFromListUID="cfl_Labs" ChooseFromListAlias="Code">
<databind databound="1" table="@LABS" alias="U_labCode"></databind>
<ExtendedObject linkedObject="" LinkedObjectType=""></ExtendedObject>
</column>
<ChooseFromListCollection>
<action type="add">
<ChooseFromList UniqueID="-1" ObjectType="-1" MultiSelection="0" IsSystem="1"></ChooseFromList>
<ChooseFromList UniqueID="cfl_Labs" ObjectType="UO_Labs" MultiSelection="0" IsSystem="0"></ChooseFromList>
</action>
</ChooseFromListCollection>
Also, it's a good practice to your SAP partner's NameSpace as prefix to UDOs, UDTs, UDFs and UDKeys, in order to avoid conflicts with other partner's add-ons.
Regards,
Vítor Vieira -
How to assign a query retrived value to a user defined object in a table
how to assign a query retrived value to a user defined object in a table
Rajeshwar,
If you use the "Search" feature in this forum, you should be able to find helpful links to similar questions. You could also look at the RecordSet and DoQuery documentation in the SAP Business One SDK Help Center documentation to assist you with your question.
HTH,
Eddy -
Wanting to copy DOM element child value into user defined object in PL/SQL.
We have a DOM object and can retrieve the object elements. We are wanting to take the elements and map them to user defined object attributes. We want to then place the element child (the text portion of <item>Foo</item> into the object attribute. Is there a package or utility that is available where we can simply pass the DOM and user defined objects and "magic happens here"?
We have a DOM object and can retrieve the object elements. We are wanting to take the elements and map them to user defined object attributes. We want to then place the element child (the text portion of <item>Foo</item> into the object attribute. Is there a package or utility that is available where we can simply pass the DOM and user defined objects and "magic happens here"?
-
Link button to User Defined Object in Grid
Hi,
I'm using SAP B1 8.81 with B1DE.
I have added a grid which is populated from a DataTable to a form.
One of the columns in the grid contains the DocEntry of a User Defined Object.
How can I display a link button on the grid ?
Regards,
BenHello Ben,
You need to set the column object type.
Dim oGrid As SAPbouiCOM.Grid = oForm.Items.Item("MyGrid").Specific
oGrid.Columns.Item("DocEntry").Type = BoGridColumnType.gct_EditText
Dim oEditCol As SAPbouiCOM.EditTextColumn = oGrid.Columns.Item("DocEntry")
oEditCol.LinkedObjectType = "2" 'The SDK documentation says you should use the value 0, but in previous versions it didn't work, so I recommend you user a value other than -1 or 0
You then need to catch the et_MATRIX_LINK_PRESSED event and other your user form...
From the SDK Help File regarding the BoLinkedObjectType enum
lf_None -1 No target object
lf_UserDefinedObject 0 User-defined object
lf_GLAccounts 1 G/L account object
lf_BusinessPartner 2 Business Partner object
lf_Items 4 Item object
lf_SalesEmployee 53 Sales employee object
Regards,
Vítor Vieira -
Dispose a user-defined object in Java
Hello,
Suppose I have the following loop :
while ( some_condition) {
UserDefinedClass abc = new UserDefinedClass();
// do some work and exit loop.
Everytime, I enter this loop I instantiate a new object "abc". I am worrying that if I keep doing this, after a while, I will run out
of memory. Is there a way to dispose a user-defined object? Or is this scenario taken care of by Java garbage collection process?
Any advice is much appreciated.
Akino.Akino wrote:
Hello,
Thank you for your reply.
I wonder if you could tell me how often Java does its garbage collection?That's pretty unpredictable.
I ran a test and observed that
my program's memory usage kept going up and up.If you gave it it 64M, and the most it ever needs at one time is 10M, it can still ramp up to the full 64M, even if it's doing frequent GC. Running GC does NOT mean that the JVM gives the memory back to the OS. It can do that, and I think it does under some circumstances, but there's no guarantee if, when, or how much it will give back. GC only means that the JVM has reclaimed space that is no longer in use by objects. Whether it holds onto that memory for future use or gives it back to the OS is up to it. -
Using User Defined Object in B1if
Hello Expert,
I am trying to configure the B1if scenario for User Defined Object, But when i check the consistency of the scenario there are three issues
1. 0142 vBIU warning - inbound - channel: defined object identifier is not listed in the repository
2. 0259 vBIU inconsistency - outbound - details: 'Service Method Identifier' is not correct
3. 0262 vBIU inconsistency - outbound - details: 'Get Method Identifier' is not correct
I have prepared the Test as a UDO in SAP B1.
*CONFIGURATION*
Scenario Step Definition INBOUND - CHANNEL
Channel : INB_B1_EVNT_ASYN_EVT
Type : SAP Business One
Mode : Asynchronous
Trigger : B1Event
Object : Test
Identification Parameter : n.a.
Namespace Definition : n.a.
Retrieval
Method : Retrieval
Adapter : DI API
Type : Service
Rule Document :
id : GeneralService
type : get
method : getByParams
tag : TestParams
keys : Code(Code)
Outbound Phase
Channel : OUT_B1
Type : SAP Business One
Format : DI Service
Regards
Vijay BarapatreHi All,
I have a UDO with one Table and Code and Name as fields, when I add data in SAP with the default screen I want to trigger it in B1IF, I have tried identifier 152, 153 and many more.
But my trigger keeps returning blank so it doesn't go through to my processes.
<?xml version="1.0" encoding="utf-8" ?>
- <Msg xmlns="urn:com.sap.b1i.vplatform:entity" xmlns:b1il="urn:com.sap.b1i.sim:b1ilog" xmlns:b1im="urn:com.sap.b1i.sim:b1imessage" xmlns:bfa="urn:com.sap.b1i.bizprocessor:bizatoms" xmlns:sim="urn:com.sap.b1i.sim:entity" xmlns:vpf="urn:com.sap.b1i.vplatform:entity" MessageId="13102816541180273503C0A80079CC46" BeginTimeStamp="20131028165411" recording="true" logmsg="0009" msglogexcl="false" MessageLog="true">
- <Header>
<msglog step="Default message log" always="false" b1ifactive="true" />
- <Resumption>
<starter ipo="/vP.0010000119.in_BEAE/com.sap.b1i.vplatform.runtime/INB_B1_EVNT_ASYN_EVT/INB_B1_EVNT_ASYN_EVT.ipo/proc" />
</Resumption>
<IPO Id="INB_B1_EVNT_ASYN_EVT" tid="13102815571480273490C0A8007961AC" />
<Sender Id="0010000119" />
</Header>
- <Body>
- <Payload Role="T" Type="B1Event" add="">
- <Event xmlns="" B1EventFilter="false">
- <b1e:b1events xmlns:b1e="urn:com.sap.b1i.sim:b1event">
- <b1e:b1event>
<b1e:eventsource>MobiPay</b1e:eventsource>
<b1e:objecttype>FC_PODO</b1e:objecttype>
<b1e:transactiontype>A</b1e:transactiontype>
<b1e:usercode>manager</b1e:usercode>
<b1e:userid>manager</b1e:userid>
- <b1e:keys count="1">
- <b1e:key>
<b1e:name>Code</b1e:name>
<b1e:value>test 2</b1e:value>
</b1e:key>
</b1e:keys>
<b1e:sourcesite>BDRAPER</b1e:sourcesite>
<b1e:sourceport>1433</b1e:sourceport>
<b1e:sourcetype>6</b1e:sourcetype>
<b1e:sld value="BDRAPER!!MobiPay" />
</b1e:b1event>
</b1e:b1events>
- <b1ie:B1IEvent xmlns:b1ie="urn:com.sap.b1i.sim:b1ievent" SysId="0010000119" SysTypeId="B1.9.0" Task="I" LocalObjectType="FC_PODO">
- <b1ie:PrimaryKeyList>
<b1ie:PrimaryKey Key="Code" Value="test 2" />
</b1ie:PrimaryKeyList>
</b1ie:B1IEvent>
</Event>
</Payload>
<Payload Role="S" />
</Body>
</Msg>
Please help,
Regards,
Brenden Draper. -
I pushed user defined objects in to the Vector or Stack.
But they return an java defined Object type when I try to use them.
Is there way that I can convert this Object into my defined object.
MyClass a;
MyClass b;
Stack table = new Stack();
table.push(a);
table.push(b);
//now when i use pop to get it back it returns an Object type
Object temp = table.pop();
//how do I change this object into MyClass so i can have access to MyClass stuff?dam..thank you so much I feel stupid..Don't.
Casting is one of those things that can take a while to get used to.
In your original post, you asked: how do I change this object into MyClass so i can have access to MyClass stuff?
It's important that you understand that casting doesn't change the object in any way.
All it does is cause a reference that's been declared as one type to be treated as a different type. So even though all the compiler knows about what's returned from pop() is that it refers to an Object, you're telling it you know better, and that the object pointed at will in fact be a MyClass, and so you can access MyClass' members.
If, at runtime, the object you happen to pop off the stack isn't a MyClass, casting won't magically turn it into one. You'll get a ClassCastException. -
User Defined Object Default Form - Can't add record
Hi,
I have created a user defined object on a Master Data Table with acccompanying Rows table.
For some reason I can't get any records in the Master table. SBO claims the operation (save) was succesfull however the table remains empty and the line I entered gets cleared!
I'm running SBO2005ASP01PL07 so I don't think I'm missing any updates.
Anyone have an idea as to what''s wrong?
Regards,
Ivo VinkFor those that encounter the same problem.
A tool from a third party had made a small change in the SBO_SP_TransactionNoticfication stored-procedure,
This change produced an error when a transaction was done on a UDO becuase the object type of an UDO is NOT numeric but contains the name of the UDO.
The adjustment made assumed Object_Type was allways numeric wich it is NOT.
An error occured, resulting in SBO rolling back the entire transaction.
Simple adjustment:
If isnumeric(@object_type) = 1
BEGIN
-- third party added code
END
Regards,
Ivo Vink
Maybe you are looking for
-
How to delete/deactivate a background job.
Hi Gurus! Is there any way to delete a background job? I have a send job which sends email notifications to internet mails. I want to deactivate or completely delete the job. Please guide on what to do. I'll give points for answers. Regards, Vhong
-
Firefox Sync not syncing everything
I have firefox sync running on two computers, one with windows 7, the other is a xubuntu. The xubuntu one has never synced properly. The bookmarks seem to sync fine, but I also want the addons. On a few occasions, I've said to wipe everything on the
-
Hi any one can u help me where is the standard CRM ISA b2b application is available in the internet for download.... please help me on this ....... Regards suresh
-
HT201341 what is X11 all about? what is the benefit of having X11?
what is X11 all about and what is the benefit of having X11?
-
Error (-3212) Any ideas?
Just installed an update for iTunes. Can't connect to iTunes Store now. Error (-3212) Any ideas? I am connected to my home network. Watching Hulu on another screen - no issues there.