User defined fields via DI-API

I want to read user defined fields using the DI-API.
The following code works but lists only UDFs defined for articles:
SAPbobsCOM.Items item =
(SAPbobsCOM.Items) GetBusinessObject(SAPbobsCOM.BoObjectTypes.oItems);     
int count = item.UserFields.Fields.Count;
MessageBox.Show("count == "+anzahl.ToString(), "OK");
for(int i=0; i<count; i++){
  MessageBox.Show("index == "+i.ToString(), "OK");
  MessageBox.Show("name == "+item.UserFields.Fields.Item(i).Name, "OK");
If I try to list all UDFs defined in the system using the oUserFields object I get an exception when I assign the business object:
try{
  SAPbobsCOM.UserFields ufd = (SAPbobsCOM.UserFields)
  GetBusinessObject(SAPbobsCOM.BoObjectTypes.oUserFields); // exception
  int count = ufd.Fields.Count;
catch(System.Exception ex){
  MessageBox.Show("ex.ToString(), "OK");
The exception says something like
InvalidCastException: COM object of type 'System.__ComObject' can not casted into
interface type SAPbobsCOM.UserFields
Thank you for help,
Frank Romeni

Hi Vítor,
thank you for the hint to UserFieldsMD - now the access works.
You wanted to know what I am trying to do - let me explain the background even it is a bit complicated:
I have to access a certain UDF defined for articles.
To access this UDF I can't use a fixed index like e.g. '5' in
item.UserFields.Fields.Item(5).Value
because this index is 5 only on my local machine - it could be a different index on the target machine.
I solved this in writing some sql-code to access table CUFD and to find the index of this UDF in CUFD.FieldID.
But sometimes there is a problem when there are UDFs deleted from the database. It is possible that there are 'holes' between the FieldId of UDFs of one object, e.g.
Initial entries in CUFD (Table, FieldId, Name  => code to access field):
OITM 0 'myUDF1'   ==> item.UserFields.Fields.Item(0).Value
OITM 1 'myUDF2'   ==> item.UserFields.Fields.Item(1).Value
OITM 2 'myUDF3'   ==> item.UserFields.Fields.Item(2).Value
After deletion of 'myUDF2':
OITM 0 'myUDF1'
OITM 2 'myUDF3'
Now the access to 'myUDF2' with item.UserFields.Fields.Item(2).Value fails!
You have to use index '1' in .Item(index) to access 'myUDF2' because this UDF is now the second UDF in the item object (zero based).
After I realized this I didn't use the sql-code to get FieldID any longer and searched with a loop all existing indices and compared them with the name of my special UDF, e.g. (this code works as expected):
public int getUDFIndex(string udfName){
  index = -1;
  for(int i=0; i<item.UserFields.Fields.Count; i++{
    if(item.UserFields.Fields.Item(i).Name == udfName){
      index = i;
      break;
  return index;
Now I tried to make this method more general to find UDFs in any object - not only in item objects.
This is the background I wanted to access SAPbobsCOM.UserFields for.
The problem is that UserFieldsMD has no method like Item(index) as I used it in my example.
Do you have an idea to solve the problem with the 'holes' between FieldId in the UFD-table CUFD?
Frank Romeni

Similar Messages

  • Creating User Defined Fields via DI API

    Hello,
    Has anyone tried creating User Defined Fields via DI without direct database intervention ? My add on relies on some UDF's that have to be created on install.
    Thank you

    I regularly use the UI API to do this.  You can find several discussions on this forum.  I have not put this in my installation program, but I use UserFieldsMD in the DI API and a CSV file from Excel to store the information about the fields.

  • Error -5002 when adding linked user defined field using DI API

    Hello,
    When I try to add a linked user defined field using DI API I get the error number -5002 with description:
    "The field 'Related Table' should consist of 8 alphanumeric characters with no valid or default values"
    I Get the error when I use the Add method.
    What is the solution for this problem? I use SBO 2005 A SP1 Patch 18
    The code I use is (.NET C# 2.0):
    SAPbobsCOM.IUserFieldsMD uf = (SAPbobsCOM.IUserFieldsMD)company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oUserFields);
    uf.Name = "S_BUCO";
    uf.TableName = "OPOR";
    uf.Type = SAPbobsCOM.BoFieldTypes.db_Memo;
    uf.SubType = SAPbobsCOM.BoFldSubTypes.st_Link;
    uf.LinkedTable = "S_BU";
    uf.Description = "Description";
    uf.Add()
    Regards,
    Jeffrey

    Hi Jeffrey,
    Your code above does not match the settings you are using in the UI. In particular, the type and subtype you are setting in code are not correct.
    To create the UDF via code, set the field types as follows:
    SAPbobsCOM.IUserFieldsMD uf = (SAPbobsCOM.IUserFieldsMD)company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oUserFields);
    uf.Name = "S_BUCO";
    uf.TableName = "OPOR";
    uf.Type = SAPbobsCOM.BoFieldTypes.db_Alpha;
    uf.EditSize = 8;
    uf.LinkedTable = "S_BU";
    uf.Description = "Description";
    uf.Add()
    There's no need to set the SubType property as you require a regular alphanumeric field.
    Kind Regards,
    Owen

  • Can't remove a user defined field with DI API.

    Hi,
    I'm using the code below to remove a user field.  However, the first time I run it, I get the message that:
    "Ref count for this object is higher then 0"
    The second time I run it, I get the message that:
    "No matching records found (ODBC -2028)"
    As you can see, I am killing the UserFieldsMD object.  In fact, when the function is entered, the object is nothing but later instantiated with oCompany.
    The result in both cases is that the field doesn't get removed.  What am I missing?  Any ideas?
    Thanks,
    Mike
        Public Function RemoveUserField(ByVal FieldName As String, ByVal TableName As String, ByRef ErrMsg As String) As Boolean
            Dim Result As Boolean = False
            Dim Err As Integer
            Dim oUserFieldsMD As SAPbobsCOM.UserFieldsMD
            Try
                If Not FieldExists(TableName, FieldName) Then
                    Result = True
                Else
                    oUserFieldsMD = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oUserFields)
                    With oUserFieldsMD
                        .TableName = TableName
                        .Name = FieldName
                        Err = .Remove
                        If Err Then
                            oUtilCompany.GetLastError(Err, ErrMsg)
                            If ErrMsg = "No matching records found (ODBC -2028)" Then
                                Result = True
                            Else
                                ErrMsg = "Was not able to remove field " & FieldName & " from table " & TableName & " programmatically." & vbCrLf & _
                                         "Please remove it manually using the Tools menu."
                            End If
                        Else
                            Result = True
                        End If
                    End With
                End If
            Catch ex As Exception
                Throw ex
            Finally
                KillObject(oUserFieldsMD)
            End Try
            Return Result
        End Function
        Public Sub KillObject(ByRef Obj As Object)
            If Not Obj Is Nothing Then ObjectRelease(Obj)
        End Sub
        Private Sub ObjectRelease(ByRef Obj As Object)
            'This routine releases objects that were acquired with oCompany.GetBusinessObject().
            System.Runtime.InteropServices.Marshal.ReleaseComObject(Obj)
            Obj = Nothing
            GC.Collect()
        End Sub

    Hi Mike,
    The issue with your code is that you are not calling the GetByKey method of the field object. Until you do this the FieldID property is 0 so when the Remove method is called it will not try and remove the correct UDF (if you run SQL profiler then you'll see that SBO is looking for the UDF based on the table and fieldID values).
    Something like the following works for me:
    private void DeleteUDF(string sTableID, string sFieldName)
        SAPbobsCOM.UserFieldsMD sboField = (SAPbobsCOM.UserFieldsMD)_sboCompany.GetBusinessObject(BoObjectTypes.oUserFields);
        try
            int iFieldID = GetFieldID(sTableID, sFieldName);
            if(sboField.GetByKey(sTableID, iFieldID))
                if (sboField.Remove() != 0)_sboApp.SetStatusBarMessage("Error removing UDF: " + _sboCompany.GetLastErrorDescription(), SAPbouiCOM.BoMessageTime.bmt_Short, true);
        finally
            System.Runtime.InteropServices.Marshal.ReleaseComObject(sboField);
            sboField = null;
            GC.Collect();
    private int GetFieldID(string sTableID, string sAliasID)
        int iRetVal = 0;
        SAPbobsCOM.Recordset sboRec = (SAPbobsCOM.Recordset)_sboCompany.GetBusinessObject(BoObjectTypes.BoRecordset);
        try
            sboRec.DoQuery("select FieldID from CUFD where TableID = '" + sTableID + "' and AliasID = '" + sAliasID + "'");
            if (!sboRec.EoF) iRetVal = Convert.ToInt32(sboRec.Fields.Item("FieldID").Value.ToString());
        finally
            System.Runtime.InteropServices.Marshal.ReleaseComObject(sboRec);
            sboRec = null;
            GC.Collect();
        return iRetVal;
    Note that the parameter sAliasID is the field name without the U_ prefix.
    Kind Regards,
    Owen

  • Fill user defined fields via batch input

    Hello All,
    In CJ01 I have added certain new fields using the enhancements CNEX0006 and CNEX0007.
    Now I need to do a conversion to upload project system data to SAP, I am using BDC for that. The following is the piece of code.
          PERFORM bdc_dynpro   USING  'SAPLCJWB' '0100'.
          PERFORM bdc_field       USING  'BDC_CURSOR' '*PROJ-PSPID'.
          PERFORM bdc_field       USING  'BDC_OKCODE' '=MDTB'.
          PERFORM bdc_field       USING  '*PROJ-PSPID' fs_proj_final1-proj_def.
          PERFORM bdc_field       USING  'RCWBS-PROFL' fs_proj_final1-profl.
          l_proj_profl   = fs_proj_final1-profl .
          PERFORM bdc_dynpro   USING  'SAPLCJWB' '0998'.
          PERFORM bdc_field       USING  'BDC_OKCODE' '/00'.
          PERFORM bdc_field       USING  'PROJ-POST1' fs_proj_final1-post1.
          PERFORM bdc_field       USING  'BDC_CURSOR' 'PROJ-PRCTR'.
          PERFORM bdc_field       USING  'PROJ-VERNR' fs_proj_final1-vernr.
          PERFORM bdc_field       USING  'PROJ-VBUKR' fs_proj_final1-vbukr.
          PERFORM bdc_field       USING  'PROJ-STORT' fs_proj_final1-stort.
          PERFORM bdc_field       USING  'PROJ-PRCTR' fs_proj_final1-prctr.
          PERFORM bdc_field       USING  'PROJ-PRCTR' fs_proj_final1-prctr.
          PERFORM bdc_field       USING  'PROJ-PLFAZ' w_strt_dt.
    New Fields
          PERFORM bdc_dynpro   USING  'SAPLCJWB' '0215'.
          PERFORM bdc_field       USING  'BDC_OKCODE' '/00'.
          PERFORM bdc_field       USING  'PROJ-ZZACC_EXEC' fs_proj_final1-                                                                               
    zacc_exec.
          PERFORM bdc_field       USING  'PROJ-ZZBUS_DIR'  fs_proj_final1-zzbus_dir.
          PERFORM bdc_field       USING  'PROJ-ZZOPS_DIR'  fs_proj_final1-
                                                                                    zzops_dir.
          PERFORM bdc_dynpro   USING  'SAPLCJWB'  '0998'.
          PERFORM bdc_field       USING  'BDC_OKCODE' '=LETB'.
    I am getting an error message -
    "Currency copied from company code,No batch input data for screen SAPLCJWB
      0998"
    How to avoid this error? Please suggest.
    Thanks
    Indrajit

    Hello All,
    In CJ01 I have added certain new fields using the enhancements CNEX0006 and CNEX0007.
    Now I need to do a conversion to upload project system data to SAP, I am using BDC for that. The following is the piece of code.
          PERFORM bdc_dynpro   USING  'SAPLCJWB' '0100'.
          PERFORM bdc_field       USING  'BDC_CURSOR' '*PROJ-PSPID'.
          PERFORM bdc_field       USING  'BDC_OKCODE' '=MDTB'.
          PERFORM bdc_field       USING  '*PROJ-PSPID' fs_proj_final1-proj_def.
          PERFORM bdc_field       USING  'RCWBS-PROFL' fs_proj_final1-profl.
          l_proj_profl   = fs_proj_final1-profl .
          PERFORM bdc_dynpro   USING  'SAPLCJWB' '0998'.
          PERFORM bdc_field       USING  'BDC_OKCODE' '/00'.
          PERFORM bdc_field       USING  'PROJ-POST1' fs_proj_final1-post1.
          PERFORM bdc_field       USING  'BDC_CURSOR' 'PROJ-PRCTR'.
          PERFORM bdc_field       USING  'PROJ-VERNR' fs_proj_final1-vernr.
          PERFORM bdc_field       USING  'PROJ-VBUKR' fs_proj_final1-vbukr.
          PERFORM bdc_field       USING  'PROJ-STORT' fs_proj_final1-stort.
          PERFORM bdc_field       USING  'PROJ-PRCTR' fs_proj_final1-prctr.
          PERFORM bdc_field       USING  'PROJ-PRCTR' fs_proj_final1-prctr.
          PERFORM bdc_field       USING  'PROJ-PLFAZ' w_strt_dt.
    New Fields
          PERFORM bdc_dynpro   USING  'SAPLCJWB' '0215'.
          PERFORM bdc_field       USING  'BDC_OKCODE' '/00'.
          PERFORM bdc_field       USING  'PROJ-ZZACC_EXEC' fs_proj_final1-                                                                               
    zacc_exec.
          PERFORM bdc_field       USING  'PROJ-ZZBUS_DIR'  fs_proj_final1-zzbus_dir.
          PERFORM bdc_field       USING  'PROJ-ZZOPS_DIR'  fs_proj_final1-
                                                                                    zzops_dir.
          PERFORM bdc_dynpro   USING  'SAPLCJWB'  '0998'.
          PERFORM bdc_field       USING  'BDC_OKCODE' '=LETB'.
    I am getting an error message -
    "Currency copied from company code,No batch input data for screen SAPLCJWB
      0998"
    How to avoid this error? Please suggest.
    Thanks
    Indrajit

  • How to remove User Defined field in programitically

    Hi,
           How to remove user defined field in programitically. send the code
    Thanks,
    P.Suresh Kumar

    Hi,
    Please take a look at this thread:
    Re: Can't remove a user defined field with DI API.
    Kind Regards,
    Owen

  • Opening User defined Fields Form via API

    Hi
    Is there a posiibility to open those user defined field - forms via API. If yes is it possible to check if it is already open?
    TIA
    Phile

    Hi,
    In your eventhandler, you can use this:
    Set oSboForm = Sbo_application.Forms.GetFormByTypeAndCount(-pval.FormType, pval.FormTypeCount)
    form and udf-form are linked through a minus sign.
    I do not know of a nice way to check if they are anebled. What I'm currently doing is running the above line of code contained in an error handler. The error handler does a sendkeys of control shift u (which enables the udf-form) and displays a message. Problem is after control shift u, screen is not yet updated so your code cannot continue immediatelly. Development knows of this problem, but I never received a promise when this will be fixed.
    Hope this helps,
    Jacques

  • User Defined Fields Form

    Hi Philipp,
    This is in reference to ur post Dated Jan13,2005. "Opening User Defined Fields Form via API".
    Is it possible for u to give a code snippet. what i'm unable to get is
    - Check if i can get a handle of the UDF-Form in the Mainform Activate-Event
    and
    -disable the close button
    Thanx in anticipation.
    Manu.

    Hi Manu,
    Here is a code snipet where looks for the related UDF form. The FormTypeNum´s value is the same as pVal.FormType property.
    Dim oUDFForm As SAPbouiCOM.Form
    Try
    oUDFForm = con.Forms.GetForm("-" + FormTypeNum.ToString.Trim, con.Forms.Item(FormUID).TypeCount)
    Catch ex As Exception
       con.ActivateMenuItem("6913")
       oUDFForm = con.Forms.GetForm("-" + FormTypeNum.ToString.Trim, con.Forms.Item(FormUID).TypeCount)
    End Try
    The other issue is solved in your other post.
    Regards,
    Ibai Peñ

  • 64,000 character limit on UDT user defined field column

    Hey All.
    We are storing more then 64,000 characters into a UDT user defined field column as it stores a large XML document. How can I retreive this information from the UDT using the DI API? Everytime I try to do this using either the UDT object or SAP recordset it chops off the data to 64000 characters. The UDF was created as a "TEXT" type using B1 client and when I look in the database it has a datatype of NTEXT.
    Is this a bug or is there no way using DI API to retreive all the data?

    Curtis,
    Apologies for my delay in getting back to you.
    I do not know the reasoning behind the limit.  As far as 2007A is concerned, the documentation that I was looking at when I first responded to your question was the 2007A SDK Help documentation, so I would say it is the same in 2007.
    I believe that you can use ADO to access data in SAP Business One as there are other ISV's that use ADO, just not access via stored procedures directly to the Business One database.  ADO and ODBC connectivity have rules in place for data validation, although it is recommended that you use the Business One API's for data access as much as possible.  You could also store data in your own tables in a separate database and retrieve from there.
    Eddy

  • Issue while deleting user defined field in oim 11.1.1.3

    All,
    Made a mistake while creating user defined field called "Profile for" (loing to OIM -> advanced -> configuration -> User configuration). We are trying to delete it. It appears to get deleted from user attributes screen. But when we run LDAP User Create and Update Reconciliation Task we get the following error below:
    oracle.iam.ldapsync.exception.ProcessLDAPReconDataException: oracle.iam.ldapsync.exception.ReconEventCreationException: Thor.API.Exceptions.tcAPIException: Profile for - LDAPUser object does not exists for resource object
    Is any thing else need to be deleted adn cleaned up?
    thanks in advance,
    Prasad.

    How do i check what resource object the recon task is running against. here is what i found so far.
    I cannot find LDAPUser resource object when i query Resource Management -> Resource Objects in design console. Same thing with Manage Resource and search (here i only find Xellerate User, Xellerate Organiztion, USERS_GTC, and Installation) in OIM advanced administration menu.
    The LDAP User Create and Update Reconciliation job itself has the following parameters (batch size, last change number, OIM employee type, OIM User organization name, OIM user type)
    I also decompiled LDAPUserChangesReconTask and it is looking for LDAPUser metadata from MDS directly.
    Prasad.

  • User defined field values doesnot show up in summary tab

    Hi,
    I have created my own stylesheet to display some of my user defined field values (associated with organization address book entry type) in the summary tab of the addressbook entry. But Groupwise 8.0 client FAILS to display any of the user defined field values in the summary tab FOR ONLY ORGANIZATION ADDRESSBOOK ENTRY types. NOTE: These organization addressbook entries are created using the C++ Groupwise object API. But the Advanced tab of these organization addressbook entry shows those user defined fields with values in it.
    Also Groupwise 8.0 Client is able to display the user defined field values in the summary tab for the PERSON ADDRESSBOOK ENTRY types, that are created using the Groupwise Object API. Also when I create a Organization addressbook entry using the Groupwise Client (NEW ORGANIZATION) and fill in the user defined field values using the Advanced tab or that addressbook entry, the summary tab displays those user defined field values.
    So there could be some problem in setting the user defined field value for the Organization address book entry using the Object API or it could be Groupwise 8.0 Client issue in displaying the user defined field values ONLY FOR ORGANIZATION ADDRESS BOOK ENTRY, WHICH ARE CREATED USING THE OBJECT API. I also tried to see the underlying XML data in the summary tab and that XML data is missing the USERDEFINEDFIELDS and CATEGORIES tag for the organization address book entry.
    I would like to know, if there is any need for special handling only for Organization addressbook entry in Groupwise 8.0 API. Any thoughts or help is really appreciated.

    Hi,
    Does anyone have an idea?? Think I have the same issue. Except, when I log in the client (ver. 802) then all the info is displayed. But when the user logs in on the same client and the same pc, he sees the xml info except the office address.
    Any help is greatly appreciated!
    Grtz,
    Joost Brenters

  • Modifying/Updating User Defined Field in a Scheduled Task

    I've written a notification task to send an e-mail to a manager who has a contract employee with a contract that is about to expire.
    Once we isolate a user who has a contract about to expire, we send a notification to the manager. The date that the notification is sent out should be stored in the USR table in a user-defined field, "USR_UDF_LASTSENT."
    Updating this USR_UDF_LASTSENT field is where I'm having difficulty.
    I've tried using the UserManager in a couple of ways. Suppose I've isolated a single user using SearchCriteria and the UserManager and have a single User object called "currentUser." I want to store a Date object in the user defined field "USR_UDF_LASTSENT". Date today = new Date();
    I've tried: currentUser.setAttribute("USR_UDF_LASTSENT", today); //This will run without error, but when I check the DB there is no change to the attribute.
    With a defined instance of UserManager userManager, I've tried: userManager.modify("USR_UDF_LASTSENT", today, currentUser); //This errored out with this error - oracle.iam.identity.exception.NoSuchUserException: IAM-3054135:No user found for the criteria USR_UDF_LASTSENT-9/24/13 2:58 PM.:USR_UDF_LASTSENT:9/24/13 2:58 PM. It looks like it's doing a search rather than a modification.
    I've also tried using the entity manager in the following way:
    Date today = new Date();
    HashMap<String, Object> mapAttrs = new HashMap<String, Object>(); 
    mapAttrs.put("USR_UDF_LASTSENT", today); 
    EntityManager entMgr = Platform.getService(EntityManager.class); 
    entMgr.modifyEntity("User", currentUser.getEntityId(), mapAttrs);
    But it returns with this error: Failed: oracle.iam.platform.entitymgr.UnknownAttributeException: User : [USR_UDF_LASTSENT]
    Is my entityType, "User" inappropriate in this case? What should be used here?
    How can I Set or Update this user defined field from a scheduled task?

    Thanks guys. I did go to Identity System Administration console and chose 'Export' from under "System Managment" which I believe Kevin may have been hinting at. I got an xml export of the AttributeDefinitions for our user defined fields. In this file, there was a header for the attribute I was looking for:
    <AttributeDefinition repo-type="API" name="LastSent" subtype="User Metadata">
       <multiValued>
       <backendName>usr_udf_lastsent</backendName>
    I put the string "LastSent" in place of USR_UDF_LASTSENT in the EntityManager version of my attempt at this task. I believe this is what Kevin and delhi were getting at.
    This didn't work:
    Date today = new Date();
    HashMap<String, Object> mapAttrs = new HashMap<String, Object>(); 
    mapAttrs.put("USR_UDF_LASTSENT", today); 
    EntityManager entMgr = Platform.getService(EntityManager.class); 
    entMgr.modifyEntity("User", currentUser.getEntityId(), mapAttrs);
    But this did:
    Date today = new Date();
    HashMap<String, Object> mapAttrs = new HashMap<String, Object>(); 
    mapAttrs.put("LastSent", today); 
    EntityManager entMgr = Platform.getService(EntityManager.class); 
    entMgr.modifyEntity("User", currentUser.getEntityId(), mapAttrs);
    I wonder if currentUser.setAttribute("LastSent", today); would work... Hmm.

  • USER DEFINED FIELD ERROR

    Hi,
    The following is the setup.
    1. I defined a DBAT - ORACLE CONNECTOR and was able to provision users to it.
    2. Then I defined an user defined field in OIM i.e.
    2.1 added in the User defined field list in Users form - branch
    2.2 Added the entry with proper tags in formmetadata.xml
    2.3 And also updated it in the xlWebAdmin_en_US.properties file
    3. Restarted the server.
    4. And in the DBAT provisioning process added a new task, attached a process task adapter in integration.
    4.1 in Adapter variable mapping
    Adapter return value
    Map to - Process Data
    Qualifier - DEFAULT_BRANCH ( I think target attribute name)
    4.2 input value
    Map to - user definition
    qualifier - branch
    5. Added the USR_UDF_BRANCH CODE , Update DEFAULT_BRANCH to the the lookup usr process triggers.
    When an end user modifies from the account profile, it only reflects in the process form and not in the target table
    It gives the following error and also an error for email notification which i have not configured. it is using OOTB user profile edit process.
    ition xml of the connector 'DBPCAT'
    16:10:23,609 ERROR [REQUESTS] Class/Method: tcEmailNotificationUtil/sendEmail encounter some problems: {1}
    java.lang.NullPointerException
    at java.util.Hashtable.put(Hashtable.java:394)
    at com.thortech.xl.dataobj.util.tcEmailNotificationUtil.sendEmail(Unknown Source)
    at com.thortech.xl.dataobj.util.tcEmailNotificationUtil.sendEmailNotification(Unknown Source)
    at com.thortech.xl.ejb.beansimpl.tcRequestOperationsBean.createProfileModifyRequest(Unknown Source)
    at com.thortech.xl.ejb.beans.tcRequestOperationsSession.createProfileModifyRequest(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.jboss.invocation.Invocation.performCall(Invocation.java:359)
    at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionContainer.java:237)
    at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:158)
    at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInterceptor.java:169)
    at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:63)
    at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:121)
    at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:350)
    at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:181)
    at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:168)
    at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:205)
    at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:138)
    at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:648)
    at org.jboss.ejb.Container.invoke(Container.java:960)
    at sun.reflect.GeneratedMethodAccessor127.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
    at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
    at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
    at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
    at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
    at org.jboss.invocation.local.LocalInvoker$MBeanServerAction.invoke(LocalInvoker.java:169)
    at org.jboss.invocation.local.LocalInvoker.invoke(LocalInvoker.java:118)
    at org.jboss.invocation.InvokerInterceptor.invokeLocal(InvokerInterceptor.java:209)
    at org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:195)
    at org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:61)
    at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:70)
    at org.jboss.proxy.ejb.StatelessSessionInterceptor.invoke(StatelessSessionInterceptor.java:112)
    at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:100)
    at $Proxy778.createProfileModifyRequest(Unknown Source)
    at Thor.API.Operations.tcRequestOperationsClient.createProfileModifyRequest(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at Thor.API.Base.SecurityInvocationHandler$1.run(Unknown Source)
    at Thor.API.Security.LoginHandler.jbossLoginSession.runAs(Unknown Source)
    at Thor.API.Base.SecurityInvocationHandler.invoke(Unknown Source)
    at $Proxy806.createProfileModifyRequest(Unknown Source)
    at com.thortech.xl.webclient.actions.tcModifyProfileAction.modifyUser(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:280)
    at com.thortech.xl.webclient.actions.tcLookupDispatchAction.execute(Unknown Source)
    at com.thortech.xl.webclient.actions.tcActionBase.execute(Unknown Source)
    at com.thortech.xl.webclient.actions.tcAction.execute(Unknown Source)
    at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
    at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at com.thortech.xl.webclient.security.SecurityFilter.doFilter(Unknown Source)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:182)
    at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
    at java.lang.Thread.run(Thread.java:619)
    16:10:32,078 INFO [STDOUT] Running GENERICADAPTER
    16:10:32,078 INFO [STDOUT] Target Class = com.thortech.xl.gc.runtime.GCAdapterLibrary
    16:10:33,250 ERROR [APIS]
    java.lang.NullPointerException
    at com.thortech.xl.ejb.beansimpl.GCOperationsBean.getModelFromConnectorDefinition(Unknown Source)
    at com.thortech.xl.ejb.beansimpl.GCOperationsBean.lookup(Unknown Source)
    at com.thortech.xl.ejb.beans.GCOperationsSession.lookup(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.jboss.invocation.Invocation.performCall(Invocation.java:359)
    at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionContainer.java:237)
    at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:158)
    at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstanceInterceptor.java:169)
    at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:63)
    at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:121)
    at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:350)
    at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:181)
    at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:168)
    at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:205)
    at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:138)
    at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:648)
    at org.jboss.ejb.Container.invoke(Container.java:960)
    at sun.reflect.GeneratedMethodAccessor127.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.jboss.mx.interceptor.ReflectedDispatcher.invoke(ReflectedDispatcher.java:155)
    at org.jboss.mx.server.Invocation.dispatch(Invocation.java:94)
    at org.jboss.mx.server.Invocation.invoke(Invocation.java:86)
    at org.jboss.mx.server.AbstractMBeanInvoker.invoke(AbstractMBeanInvoker.java:264)
    at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:659)
    at org.jboss.invocation.local.LocalInvoker$MBeanServerAction.invoke(LocalInvoker.java:169)
    at org.jboss.invocation.local.LocalInvoker.invoke(LocalInvoker.java:118)
    at org.jboss.invocation.InvokerInterceptor.invokeLocal(InvokerInterceptor.java:209)
    at org.jboss.invocation.InvokerInterceptor.invoke(InvokerInterceptor.java:195)
    at org.jboss.proxy.TransactionInterceptor.invoke(TransactionInterceptor.java:61)
    at org.jboss.proxy.SecurityInterceptor.invoke(SecurityInterceptor.java:70)
    at org.jboss.proxy.ejb.StatelessSessionInterceptor.invoke(StatelessSessionInterceptor.java:112)
    at org.jboss.proxy.ClientContainer.invoke(ClientContainer.java:100)
    at $Proxy373.lookup(Unknown Source)
    at Thor.API.Operations.GCOperationsClient.lookup(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at Thor.API.Base.SecurityInvocationHandler$1.run(Unknown Source)
    at Thor.API.Security.LoginHandler.jbossLoginSession.runAs(Unknown Source)
    at Thor.API.Base.SecurityInvocationHandler.invoke(Unknown Source)
    at $Proxy814.lookup(Unknown Source)
    at com.thortech.xl.gc.runtime.GCAdapterLibrary.executeFunctionality(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.thortech.xl.adapterGlue.ScheduleItemEvents.adpDBPCAT_GTC.GENERICADAPTER(adpDBPCAT_GTC.java:125)
    at com.thortech.xl.adapterGlue.ScheduleItemEvents.adpDBPCAT_GTC.implementation(adpDBPCAT_GTC.java:70)
    at com.thortech.xl.client.events.tcBaseEvent.run(Unknown Source)
    at com.thortech.xl.dataobj.tcDataObj.runEvent(Unknown Source)
    at com.thortech.xl.dataobj.tcScheduleItem.runMilestoneEvent(Unknown Source)
    at com.thortech.xl.dataobj.tcScheduleItem.eventPostUpdate(Unknown Source)
    at com.thortech.xl.dataobj.tcDataObj.update(Unknown Source)
    at com.thortech.xl.dataobj.tcDataObj.save(Unknown Source)
    at com.thortech.xl.dataobj.tcScheduleItem.checkChildrenIfCompleted(Unknown Source)
    at com.thortech.xl.dataobj.tcScheduleItem.checkChildren(Unknown Source)
    at com.thortech.xl.dataobj.tcScheduleItem.eventPostUpdate(Unknown Source)
    at com.thortech.xl.dataobj.tcDataObj.update(Unknown Source)
    at com.thortech.xl.dataobj.tcDataObj.save(Unknown Source)
    at com.thortech.xl.adapterfactory.events.tcAdpEvent.updateSchItem(Unknown Source)
    at com.thortech.xl.adapterfactory.events.tcAdpEvent.finalizeProcessAdapter(Unknown Source)
    at com.thortech.xl.adapterfactory.events.tcAdpEvent.finalizeAdapter(Unknown Source)
    at com.thortech.xl.adapterGlue.ScheduleItemEvents.adpDBPCATPREPOPULATEADAPTER.implementation(adpDBPCATPREPOPULATEADAPTER.j
    ava:52)
    at com.thortech.xl.client.events.tcBaseEvent.run(Unknown Source)
    at com.thortech.xl.dataobj.tcDataObj.runEvent(Unknown Source)
    at com.thortech.xl.dataobj.tcScheduleItem.runMilestoneEvent(Unknown Source)
    at com.thortech.xl.dataobj.tcScheduleItem.eventPostInsert(Unknown Source)
    at com.thortech.xl.dataobj.tcDataObj.insert(Unknown Source)
    at com.thortech.xl.dataobj.tcDataObj.save(Unknown Source)
    at com.thortech.xl.client.events.tcTriggerUserProcesses.insertMileStones(Unknown Source)
    at com.thortech.xl.client.events.tcTriggerUserProcesses.trigger(Unknown Source)
    at com.thortech.xl.client.events.tcUSRTriggerUserProcesses.implementation(Unknown Source)
    at com.thortech.xl.client.events.tcBaseEvent.run(Unknown Source)
    at com.thortech.xl.dataobj.tcDataObj.runEvent(Unknown Source)
    at com.thortech.xl.dataobj.tcDataObj.eventPostUpdate(Unknown Source)
    at com.thortech.xl.dataobj.tcUSR.eventPostUpdate(Unknown Source)
    at com.thortech.xl.dataobj.tcDataObj.update(Unknown Source)
    at com.thortech.xl.dataobj.tcDataObj.save(Unknown Source)
    at com.thortech.xl.dataobj.tcTableDataObj.save(Unknown Source)
    at com.thortech.xl.dataobj.tcUSR.updateProfile(Unknown Source)
    at com.thortech.xl.dataobj.tcREQ.selfProfileEditUser(Unknown Source)
    at com.thortech.xl.dataobj.tcREQ.launchEntityDERActions(Unknown Source)
    at com.thortech.xl.dataobj.tcREQ.eventPostUpdate(Unknown Source)
    at com.thortech.xl.dataobj.tcDataObj.update(Unknown Source)
    at com.thortech.xl.dataobj.tcDataObj.save(Unknown Source)
    at com.thortech.xl.dataobj.tcTableDataObj.save(Unknown Source)
    at com.thortech.xl.dataobj.tcREQ.checkRequestReceived(Unknown Source)
    at com.thortech.xl.dataobj.tcREQ.eventPostUpdate(Unknown Source)
    at com.thortech.xl.dataobj.tcDataObj.update(Unknown Source)
    at com.thortech.xl.dataobj.tcDataObj.save(Unknown Source)
    at com.thortech.xl.dataobj.tcTableDataObj.save(Unknown Source)
    at com.thortech.xl.schedule.jms.requestapproval.InitRequestApproval.execute(Unknown Source)
    at com.thortech.xl.schedule.jms.requestapproval.InitRequestApproval.execute(Unknown Source)
    at com.thortech.xl.schedule.jms.messagehandler.MessageProcessUtil.processMessage(Unknown Source)
    at com.thortech.xl.schedule.jms.messagehandler.MessageHandlerMDB.onMessage(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.jboss.invocation.Invocation.performCall(Invocation.java:359)
    at org.jboss.ejb.MessageDrivenContainer$ContainerInterceptor.invoke(MessageDrivenContainer.java:495)
    at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionInterceptor.java:158)
    at org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor.invoke(MessageDrivenInstanceInterceptor.java:116)
    at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:63)
    at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:121)
    at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:350)
    at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:181)
    at org.jboss.ejb.plugins.RunAsSecurityInterceptor.invoke(RunAsSecurityInterceptor.java:109)
    at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:205)
    at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor.java:138)
    at org.jboss.ejb.MessageDrivenContainer.internalInvoke(MessageDrivenContainer.java:402)
    at org.jboss.ejb.Container.invoke(Container.java:960)
    at org.jboss.ejb.plugins.jms.JMSContainerInvoker.invoke(JMSContainerInvoker.java:1092)
    at org.jboss.ejb.plugins.jms.JMSContainerInvoker$MessageListenerImpl.onMessage(JMSContainerInvoker.java:1392)
    at org.jboss.jms.asf.StdServerSession.onMessage(StdServerSession.java:266)
    at org.jboss.mq.SpyMessageConsumer.sessionConsumerProcessMessage(SpyMessageConsumer.java:906)
    at org.jboss.mq.SpyMessageConsumer.addMessage(SpyMessageConsumer.java:170)
    at org.jboss.mq.SpySession.run(SpySession.java:323)
    at org.jboss.jms.asf.StdServerSession.run(StdServerSession.java:194)
    at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:761)
    at java.lang.Thread.run(Thread.java:619)
    16:10:35,203 ERROR [APIS] An exception occurred while creating the GenericConenctor Model from the Connector Definition file
    ... 126 more
    16:11:17,421 ERROR [FRAMEWORKPROVISIONING] An exception occurred while generating Generic Connector model from the connector defin
    ition xml of the connector 'DBPCAT'
    The other usecase is - when xelsysadm logs into idm console and updates the attribute on the user form, it updates the process form and the target table column also.
    Please help me...
    Thanks & Regards
    Kunal Jain

    You need to give permission to update the process form to any users who would be the source of the change. So if joe schmoe is updating the user, they need permission to update the process form for any user they update.
    -Kevin

  • Missing user-defined fields (project definition) in project inform. system

    Dear PS friends,
    I have extended the CI_PROJ structure with some user-defined fields.
    I have started report RCNCT001 (to analyze these new fields in the project information system). The include RCNPROJR was generated and contains the new fields (table XXL_DATA). Include RCNSOM00 was generated too. This is described in note 43493.
    But Iu2019m still missing the new user-defined fields in the dynamic selection of reports (e.g. CN40).
    What else I have to do? We use SAP_APPL : SAPKH60009
    Thanks in advance for any suggestions!

    have you used user defined field or custom field via exit CNEX......
    User defined fields are activated by configuration using field key
    If you added custom fields then check out OSS note 188663 on how to create a CUS view for dynamic selection.

  • User-defined fields in Enjoy transactions

    Hi,
    we have created two user-defined fields and added these in the entry variant for Enjoy transactions. However, we would like the fields to show with fewer characters. We have tried to reduce the length in the entry variant, but it seems that you cannot do this. We do not want to reduce the length of the field in the database.
    Is there any way around this?
    Thanks,
    Moly

    Hi,
    You should be able to do it via screen painter.
    Please check this help:-
    [http://help.sap.com/saphelp_nw04/helpdata/en/d1/801c3a454211d189710000e8322d00/content.htm]
    Also you should put this query in SAP ABAP forum, where you will get more appropriate answers.
    Regards,
    Gaurav

Maybe you are looking for

  • My phone wont let me download apps

    I tried updating apps on my iphone. When I click update all it acts like it's going to download. Then it tells me there's an error. I put in my billing information but it still won't download them. I don't know what to do.

  • Having problem with display of full name in finder bar!

    As shown in the image above, my full name in finder bar is not showing properly. When I select 'icon' from system preferences it shows correctly, but when I select full name or short name, it touches the top. Help me fixing this issue!

  • My iPod touch 3g will not charge nor will it connect to the computer.

    It won't charge at all. I have no idea how it's still on but for now it is even though it's been saying the battery is less the 20%. It's not the usb adapter/cable, I've tried many. My laptop nor desktop will even acknowledge it at all. I've done res

  • Invoice posting error

    Hi, I'm posting an invoice with trx MIRO. When I'm saving, the system generates the following error: Tax statement item missing for tax code 20 What's the problem Best regards

  • Oracle Standby setup for firewall

    Hi, Recently one of my client separated their primary and standby databases with Juniper firewall. After the activity, some primary database servers were unable to ship the archives whereas some of the primary databases were shipping the archives but