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.

Similar Messages

  • 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

  • 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

  • Not able to create user defined field

    hi experts
    i am not able to create a user defined field through, 'user defined field management ' window,
    when i am selecting this window SAP B1 is hanging ,later i need to close the application .what should be the problem ,
    please help me to solve this issue
    thanks in advance
    ajith

    hi
    thanks for reply
    following is the my sap b1 version and PL
    SAP Business One 2007 B (8.60.035)  SP: 00  PL: 08  2007B_CORE_080709_0214
    yes i created user defined fields in employee  master records
    kind regards
    ajith

  • Create User-defined field for Marketing Documents

    I need to create a User-Defined field for Marketing Documents under Title and Rows.
    I need to do it via .NET instead of manually go into SAP to create it.
    Does anyone can give me idea on how to do this?

    Hi David,
    There are examples of how to do this in the SDK samples (look for MetaDataOperations project in the DI samples).
    There are also examples in the SDK help. Here's one:
    Private Sub AddUserField()
    '// The UserFieldsMD represents a meta-data object that allows you
    '// to addremove fields from tables or change the fields' characteristics
        Dim oUserFieldsMD As SAPbobsCOM.UserFieldsMD
    '// In any meta-data operation there should be no other object "alive"
    '// but the meta-data object, otherwise the operation will fail.
    '// This restriction is intended to prevent a collisions.
        '// The meta-data object needs to be initialized with a
        '// regular UserFields object
        Set oUserFieldsMD = oCompany.GetBusinessObject(oUserFields)
        '// When adding user tables or fields to the SAP Business One database
        '// use a prefix identifying your partner name space
        '// this will prevent collisions between the various partners add-ons
        '// SAP's name space prefix is "BE_"
        '// Set the Fields' mandatory properties
        oUserFieldsMD.TableName = "OCRD" '// BP table
        oUserFieldsMD.Name = "BE_UserField1"
        oUserFieldsMD.Description = "A user field"
        oUserFieldsMD.Type = db_Alpha '// am alphanumeric type
        oUserFieldsMD.EditSize = 20
        '// Add the field to the table
        oUserFieldsMD.Add
    End Sub
    Kind Regards,
    Owen

  • Problem in creating user defined fields

    hi,
       i created nearly 25 userdefined fields. after that b1 is not allowing me to created further, I like to know any restriction is there to create or kindly give me the solution to create.
    Regards
    R.vijai

    Vijaya,
    This kind of bottlenecks are common when using SQL Server 2000 where it has a row size limitation.
    Click on the link below and read the thread as it also related to the similar error.
    Error in defining the User Defined Fields
    Suda

  • Can i create user-defined fields that are checkboxes?

    I need to create a set of user defined fields on Activities that are a checkboxes. I cant see any options in the manage user fields dialog to set the field as a checkbox, the only options are alphanumeric, Datetime, Units & Totals etc.
    Can user defined fields be added that appear as checkboxes? if so, how do i do it?

    What you need will not be available by UDF.  You need SDK programming for any Check Boxes.  However, you may use predefined list for UDF to imitate part of functions of the check box.
    Thanks,
    Gordon

  • Create user defined field categories programatically

    i have an addin that creates multiple UDF's that are then managed/validated on the main form  and i would like to prevent the user from amending the UDFs from within the UDF pane so that my validation is always used.
    What I would like to do is to create a UDF category from within the addin and assign my UDFs to that category so that they are not shown by default.
    I cannot see that this is possible, does anyone know if it is?

    Gordon,
    The functionality via code is not currently available in looking at the UserFieldsMD and UserTablesMD objects offered.  If you need to keep users out of this area, you can use Authorizations to block users, but of course if they need to create other tables or user fields outside of your add-on ... that could cause a problem.
    Apologies,
    Eddy

  • 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

  • B1 create User Defined Field as nvarchar(max) in SQL 2005 database

    Hi everyone,
    I just created a UDF in B1 as alphanumeric(12), and noticed that B1 created a field in SQL 2005 as nvarchar(max) instead of nvarchar(12). I tested with both 2005A SP01 patch 14 and patch 20. It always creates UDF as nvarchar(max). Is this a bug? It will cause db file use more disk space and also reduce the query performance. Also, B1 won't create the index on the UDF even if you select the option.
    Thanks for help,
    David

    Hi David,
    I was running on patch 19 when I wrote my earlier posts. I'm now running patch 20 without any issues. I also have a range of clients who are running SBO 2005A SP1 on various patch levels above 10 (though not all are on SQL 2005) and I've yet to come across this issue.
    Did you log this with SAP Support? Have they come up with any suggestions?
    Maybe this will work:
    1) Start SBO. When you get to the login screen, click on Choose Company.
    2) Change the Current Server field from SQL 2005 to SQL 2000. Reenter your server settings if prompted
    3) Login as normal and try and create your field.
    4) Log out and go back in to change back to SQL 2005
    Kind Regards,
    Owen

  • Error when Create User Defined Field

    Hi all, i got an error when create UDF
    Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
    Here is part of my code
    oUserFieldMD.Name = fieldname
            oUserFieldMD.Description = fielddesc
            oUserFieldMD.Type = fieldtype
            oUserFieldMD.DefaultValue = defaultValue.ToString()
            If fieldtype <> SAPbobsCOM.BoFieldTypes.db_Date Then
                oUserFieldMD.Size = fieldlength
                oUserFieldMD.EditSize = fieldlength
            End If
            If fieldtype = SAPbobsCOM.BoFieldTypes.db_Float Then
                oUserFieldMD.SubType = SAPbobsCOM.BoFldSubTypes.st_Price
            Else
                oUserFieldMD.SubType = SAPbobsCOM.BoFldSubTypes.st_None
            End If
            oUserFieldMD.TableName = tablename
            lRetVal = oUserFieldMD.Add()
            prgbar.Value = prgbar.Value + 1
            If (lRetVal <> 0) Then
                msgs.Add(tablename & " - " & fieldname & " : " & oCompany.GetLastErrorDescription())
            Else
                msgs.Add(tablename & " - " & fieldname & " : successfully created!")
            End If
    the error come when reach lRetVal = oUserFieldMD.Add()
    what is wrong with my code ?
    thanks.

    This could be a x64/x86 problem. Try following this thread
    [GetCompanyService|GetCompanyService] and recompile your code for the platform you need.

  • Problem with creating User Defined Fields

    Hello,
    I have a big problem on one customers db. Everytime when user logs in SBO, he got immediatley after login message, that db structure was modified and user must click OK to continue (close all form - in this case is still no form opened).
    I tried to uninstall all addons to be sure that its not addon related but when is only clean SBO there, the message still pops up. It seems that somewhere in db is stored that this message must pops up.
    When I copied this db localy from custromer, the message still occurs.
    Is here someone who met this prolem and solved it?
    Thanks
    Petr

    Hi Petr,
    Just to remind that if you send a message to SAP based on Suda's answer belows:
    Petr,
    This is very unusual, Please check SAP Notes and also send a message to support. This should not be happening.
    Madhan: Just FYI - Petr is one of the Senior Implementation and SDK consultants who has spent a long time on the product and I am 100% sure that he knows the basics you are pointing to very well.
    Suda
    you must really make sure that you have performed support level 1 and level 2. If not, the SAP support will be happy to bill the message about 80 euro.
    Rgds,

  • 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

  • Creating a user-defined field in VL06

    Dear all ,
    Please guide me how to add few user defined fields in the output list of standard VL06 transaction code - (Delivery Monitor Report - WS_DELIVERY_MONITOR) - I have to add in the option of 'List Outbound deliveries' -
    Pls revert.
    Thanks in Advance.
    P.G.R

    Hai
    Follow the bellow steps for creating User Defined Field Exit
    Step by step procedure for creating Field Exits
    There are eight steps to creating a field exit:
    Step 1: Determine Data Element
    Step 2: Go To Field Exit Transaction
    Step 3: Create Field Exit
    Step 4: Create Function Module
    Step 5: Code Function Module
    Step 6: Activate Function Module
    Step 7: Assign Program/Screen
    Step 8: Activate Field Exit
    Step 1: Determine Data Element
    - Before you can begin adding the functionality for a field exit, you must know the corresponding data element.
    - An easy way to determine the data element associated to a particular screen field is to:
    Go the appropriate screen.
    Position the cursor in the appropriate field.
    Press ‘F1’ for field-level help.
    Click on the ‘Technical info’ pushbutton (or press ‘F9’) on the help dialog box.
    On this Technical Information dialog box, the data element will be specified if the field is 'painted' from the ABAP/4 Dictionary.
    Step 2: Go To Field Exit Transaction
    - The transaction to create field exits is CMOD.
    - You can use the menu path Tools -> ABAP/4 Workbench -> Utilities -> Enhancements -> Project management.
    - From the initial screen of transaction CMOD, choose the Text enhancements -> Field exits menu path.
    - After choosing this menu path, you will be taken to the field exits screen. From here, you can create a field exit.
    NOTE : Even though you use transaction CMOD to maintain field exits, you do not need to create a project to activate field exits.
    Step 3: Create Field Exit
    - From the field exit screen of transaction CMOD, choose the Field exit -> Create menu path.
    - After choosing this menu path, a dialog box will prompt you for the appropriate data element .
    - Enter the data element name and click the ‘Continue’ pushbutton.
    - Now, you will be able to create the function module associated to the data element’s field exit.
    Step 4: Create Function Module
    - You will automatically be taken to the Function Library (SE37) after entering a data element name and clicking the ‘Continue’ pushbutton.
    - In the ‘Function module’ field, a function module name will be defaulted by the system based on the data element specified. This name will have the following convention:
    FIELD_EXIT_<data element>
    - You can add an identifier (an underscore followed by a single character ).
    - The first function module for a data element’s field exit must be created without an identifier.
    - To create the function module, click on the ‘Create’ pushbutton, choose menu path Function module -> Create, or press ‘F5’.
    - After choosing to create the function module, you will get the warning: "Function module name is reserved for SAP". This message is just a warning so a developer does not accidentally create a function module in the field exit name range. By pressing ‘Enter’, you will be able to go ahead and create the function module.
    - Before coding the function module, you will have to specify the function modules attributes -- function group, application, and short text.
    Step 5: Code Function Module
    - From the function module’s attributes screen, click on the ‘Source code’ pushbutton or choose the Goto -> Function module menu path to the code of the function module.
    - Here you will add your desired functionality for the field exit.
    - Remember that field exit’s function module will have two parameters -- one importing parameter called "INPUT" and one exporting parameter called "OUTPUT". These parameters will be set up automatically by the system.
    - You must remember to assign a value to the OUTPUT field. Even if the value does not change, it must be moved from the INPUT field to the OUTPUT field.
    Step 6: Activate Function Module
    - After coding the function module, you must remember to activate it.
    - Use the Function module -> Activate menu path to activate the function module.
    - At this point, you can return to the field exit transaction.
    - You should be able to 'green arrow' back to this transaction.
    - When you return to the field exit transaction, you will see an entry for the newly created field exit.
    - At this point, the field exit is global. That is, it applies to all screens that use a particular data element. On any screen that uses the data element, the corresponding field exit function module will be triggered, once it is active.
    - Also, the field exit will not be triggered yet because it is inactive.
    Step 7: Assign Program/Screen
    - This step is only needed if you want to make a field exit local.
    - To make a field exit local, select the field exit and click on the ‘Assign prog./screen’ pushbutton.
    - In the dialog box , indicate the appropriate program name and screen number.
    This information indicates that the field exit is local to the specified screen in the specified program.
    - In the dialog box, you determine which function module gets executed for the field exit by specifying the identifier in the ‘Fld. Exit’ field.
    - If this field is left blank, the function module triggered will be 'FIELD_EXIT_<data element>'.
    - If a single-character identifier is entered into the field, the function module triggered will be 'FIELD_EXIT_<data element>_<identifier>'.
    Step 8: Activate Field Exit
    - The field exit must be active for it to be triggered by the system.
    - Activate the field exit by choosing the Field exit -> Activate menu path.
    - After assigning the field exit to a change request, its status will change to ‘Active’ and it will be triggered automatically on the appropriate screen(s).
    NOTE : In order to activate the field exit the profile parameter abap/fieldexit = YES must be set on all application servers
    Regards
    Sreeni

  • 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.

Maybe you are looking for

  • How to stream music to bluetooth?

    Anyone have pointers on how to stream music from my iPhone 5 to a Scala-Rider Q2 bluetooth unit?  I have paired the unit to my phone and can use it for calls but can't figure out how to access music files.

  • PSE( Arrows custom shapes: custom arrows show only in All shapes

    In PSE9 custom arrows show only in All shapes, not in Arrows. same in PSE8 worked fine with older version of PSE

  • Error Removing SharePoint Task Attachments via Outlook

    Hello, I'm having some trouble with my SharePoint (2010) task list when handling attachments via Outlook (2007 SP3). I created a set of simple Outlook macros for updating SharePoint tasks. I can create and update the tasks without issue and even atta

  • WRT320N can't connect... very weird problems...

    So here's the deal... I have a WRT320N router plugged into a cable modem. I get a WAN IP from the cable modem, I can surf the web, and everything is fine. Suddenly, the router 'loses' the WAN IP and no matter how many refreshes on the router, I can't

  • HP L7780 ADF Replacement

    The ADF on my L7780 is broken. I have a new ADF in hand including the paper tray, but I need to know how to remove the old assembly and replace it with the new one. Never mind, I just figured it out! Thanks!