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

Similar Messages

  • Problem Occurs when CFL is added with User defined field

    form-672-BOM
    item-3-datagrid
    U_EmpNo - user defined field column
    if i will give following codes under form load event will CFL bound with U_EmpNo
    or else plz suggest me with write codes
    oForm = SBO_Application.Forms.Item("672")
                oItem = oForm.Items.Item("3")
                oClmn = oItem.Specific
                oClmns = oClmn.Item("U_EmpNo")
                oClmns.DataSources.UserDataSources.Add("U_EmpNo", SAPbouiCOM.BoDataType.dt_SHORT_TEXT)
                MessageBox.Show("Did")
                AddChooseFromList()
                oClmns.DataBind.SetBound(True, "", "U_EmpNo")
                oClmns.ChooseFromListUID = "CFL1"
                oClmns.ChooseFromListAlias = "CardCode"

    hi

  • User defined Field Size limit

    Hi,
    would anyone know if there is a limit of the number of user defined fields that can be addeded to SAP Business One (2004A on SQL server 2000)?
    I think there is (in a diffrenet way). It looks like there is a maximmum byte size  - 8060.
    I have the following user fields already in the business partner master data screen .
    A - alphanumeric size = 50
    B - alphanumeric size = 20
    C - alphanumeric size = 20
    D - alphanumeric size = 20
    E - alphanumeric size = 254
    If I try to change B to size 254 ,This is the error message I get.
    "[CUFD] [Microsoft][ODBC SQL Server Driver][SQL Server] Warnning: The table 'ACRD' has been created but it's maximum row size 'User Fieds - Descr' (8522) exeeds the maximum number of bytes per row (8060)..."
    there is nothig else wqrong with the field exept I cannot make it size 254 (I can if I delete the field E though), so I definitely think it is SAP restricting the size. SQL Server does not have this size restriction. I can manually go and change the size using SQL Server Enterprise manager for example.
    I have managed to change the size directly on ACRD, and
    CUFD but dont thinks this is a very approprite way of handilng it.
    Is this an undocumented restriction/feature in SAP or have I missed reading about this ?
    Thanks in advance,
    Indika.

    Hi Spiros,
    I hope you are right. But I have experiences this with many atleast 3 other seperate installations. They were all SQL Server, ranging from Enterprise versio, to Developer version to standard.
    However I can directly change the size in SQL Server without an issue as I mentioned. This proves that this not an issue with SQL Server. Could it be some sort of a flag in the SAP? I get this on the SAP US demo company for example.
    If anyone else had the problem please do respond.
    Thanks,
    Indika

  • User-defined field limit

    Hi All,
    Is there a limit on the number of user-defined fields? In SBO 2005 PL03 I cannot create more than 30 UDFs on the BP table. I get the following error: WTR1 Error(1)
    The record limit of 8060 is not close to being reached.
    Thanks in advance,
    Adele

    Adele:
    Im running 2005 PL06, and I created 38 fields to try ypur problem, and I can keep creating fields.
    The strange thing is your error is in the WTR1 table, that is the Inventory transfer rows table.
    may I suggest that you try fewer fields, maybe one, with the total length of your 30 fields?  that way, you'll discard a maximum number of fields issue.
    Harold Gómez

  • Use of user define field in Task list

    Hi,
    Please give the solution for the strange requirement of the client as:
    My client wants to define the operation for preventive maintenace in two parts like
    check temperature  :  45 deg celcius.
    check temperature should be like operation and rest what he has to check to be defined in other field  i.e. both should not be together.
    so i find the solution as user defined fields in the task list where i can define this second parameter.
    But the problem is that system is not proposing this second field in the preventive order, only operation field is proposed.
    Please suggest some solution, how can this requirement can be mapped.

    Both operations of the inspection lot will need to be completed at some point.  They are in the same lot so they belong together.  Both operations should be available to the user.  (Unless you used workcenters and security to limit users to specific workcenters).
    Once set up, it will only be available to new inspection lots.  Few things in SAP are retroactive.
    Craig

  • SALES ORDER: Total of a Field from the Grid in a User-Defined Field in ORDR

    Hello!
    I created a User-Defined Field called "U_Soma" in table ORDR (Marketing Documents / Title).
    I need this U_Soma field Totalize the content of another User-Difined Field called "U_TotalPorUM" created in table RDR1 (Marketing Documents / Rows). It must get the Sum the value of all rows in the current record being edited.
    Using the Query below, it works fine with already saved records:
    SELECT SUM(T1.[U_TotalPorUM]) FROM ORDR T0  INNER JOIN RDR1 T1 ON T0.DocEntry = T1.DocEntry WHERE T0.DocEntry = $[ORDR.DocEntry]
    However, I need that it work with non saved (yet) records.
    Thank you!
    VALERIO OLIVEIRA
    Edited by: ValerioOliveira on Apr 22, 2010 10:14 PM

    Gordon, thank you for your fast answers!
    In other circumstances I would agree with you.
    But the U_Soma field must be used to control the maximum weight of a charge.
    It becames very usefull if user can see that the charge limit is reached, still when the Sales Order is being edited.
    (The U_TotalPorUM field shows the weight of each item).
    I would appreciate any help!
    Thanks a lot!
    VALERIO OLIVEIRA
    Edited by: ValerioOliveira on Apr 23, 2010 7:28 PM

  • 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

  • Addition of user defined fields in Results Recording screen (QE01)

    HI All,
    We've a business requirement to add user defined fields in results recording screen (Character Overview screen - QE01), so that the user will enter data in user defined fields during results recording. and the data entered in user defined fields should be saved in data base table along with actual results given by the user in order to retrieve data for reporting purpose.
    Please suggest valuable solutions to acheive the requirement.
    Thanks & regards,
    rajesh

    Hi Sujit,
    Thanks for your reply,
    We've tried using the " QEEM0029 User-Exit for Characteristic Overview Subscreen , however with "QEEM0029"  exit, we are only able to add fields to the characteristics overview screen and there is no provision in this exit to save the data entered in the user fields to a table (QALS,QAMR, QASE).
    Please suggest!
    Thanks & regards,
    rajesh

  • User Defined Fields/data items

    How can I add user defined fields on runtime in a pre-defined data blocks wiht the user defined attributes of data type, length and format masks.
    Ofcouse I should have those fields defined in DB first.
    Thanks for any help

    I have a similar need.
    I have a DB table that stores a list of questions and data types/sizes/usages of the answers required by the user of the form.
    In a multi-record database block, I currently list the questions, and supply a Text Item to capture the user's answers, and then provide validation code to check for the proper data type & number of characters.
    I would like to be able to use the data type/size/usage information that is stored with each question to create, at runtime, an appropriate item (numeric text item max length 3, or character drop-down list box, or character text item with an LOV, etc.) for each question record. In other words, one record could have a drop-down list box, while another record could have a numeric text item.
    I think that I can create separate fields for each type of item, and then enable/disable the fields when required, but this solution is less elegant than the programmatic solution that I desire.
    Is there a way to do this programmatically in Oracle Forms 6.0.5.0.2 for Windows, or with an OCX, or some other add-in? We do not have Oracle Applications in this group. Is there a way to get "FlexField" without having Oracle Applications?
    I agree that this is a normal requirement these days as administrator-type users (as opposed to data-entry end-users) of applications want to be able to dynamically customize the app for their usage.
    Oracle needs to address this issue by creating the ability in Forms/Reports to create customizable apps.
    Thank you in advance for any help you can provide.

  • User Defined Fields on System Form

    Dear All,
                   I want to know that how much User Defined Fields can be added on a system form. My problem is that I am developing an add-on for the Item Master Data. And I have used a lot of User Defined Fields on Item Master Data Forms which contains table 'OITM'. Now if I am trying to add any extra User Defined fields in OITM Table, I am not able to do so. I am getting an error as  'Internal Error Occurred'. What can i do regarding this problem.?  Help me. It is something very important.
    Thanks and Regards

    Hi,
    There is theoretically no limit on the number of UDF for a table. there is however a maximum number of characters for a record in SQL Sever.
    As far as I know this is 4000 in SQL Server 2005 and older and 8000 in SQL Server 2008.
    pls check Microsoft for the exact numbers
    Regards
    Ad

  • Linking the UDO of type document to user defined field

    I created the user defined field and i need to link the UDO of type document to that user defined field. How to link the UDO to user defined field.

    Dear
    do you mean to add a user defined field to an document type UDO? if this  is the case,
    1. create the UDT
    2. go to Tools-> customization tools->User Defined Fields-Management, expand User Tables, add the udf to the UDT
    3. register the UDT as UDO.
    best regards,
    xiaodan an

  • Print Option on  User Define Field

    Hello All,
               It is possible to take the printout of User Define Field. I tried it in the PLD. But what is the problem is, I created some UDF, In that some UDF direct entry , some other UDF are llike drop down UDF. 
    When I tried in the PLD only the drop down UDF available in the database. The other UDF are not available, so is it possible to print the other UDF also ?
    Regards,
    Pratheeviraj R.D

    Dear Pratheeviraj,
    In the current system, it is not possible to print Name rather than Code
    for UDF linked to UDT.
    As a workaround, please kindly create new UDF and link FMS to the UDF to
    retrieve Name.
    Regards,
    Raghu N
    SAP Business Forums Team

  • Limited Logistics users and User Defined Fields - UDF

    The SAP "Overview of SAP Business One License User Types" shows, in the last section under General, that only Professional users have any access at all to User-defined fields and tables.
    This seems counterintuitive as these fields are usually set up for others to see and to use.
    What is the real scoop on this?
    Thank you,
    Sal

    Hi Sal,
    It only means Professional User License has unlimited usages of UDF & UDT including managing and defining them.
    To read the values and use them are available to all license types.
    Thanks,
    Gordon

  • BAPI User Defined Field

    Hi,
      My client has added an user define field in SO line level.  Now, i want use the BAPI to create the sale order.  How can i map the value to this user defined field??
    Regards,
    Kit

    VALUEPART2,VALUEPART3 and VALUEPART4 are also to be used for populating data in the custom fields.
    Lets say you have added a structure to MARA called STR1 which has 3 fields, 10 char each. You also need to create STR1X which has 1 character flags for the fields in STR1.
    To populate values in these fields u need to maintain the extension tables as below:
    BAPIPAREX-STRUCTURE         = 'STR1'.
    BAPIPAREX-VALUEPART1+0(10)  = '1st FLD'.
    BAPIPAREX-VALUEPART1+10(10) = '2nd FLD'.
    BAPIPAREX-VALUEPART1+20(10) = '3rd FLD'.
    APPEND BAPIPAREX.
    BAPIPAREXX-STRUCTURE       = 'STR1X'.
    BAPIPAREXX-VALUEPART1+0(1) = 'X'.
    BAPIPAREXX-VALUEPART1+1(1) = 'X'.
    BAPIPAREXX-VALUEPART1+2(1) = 'X'.
    APPEND BAPIPAREXX.
    If you have more than 60 fields you could split the fields in to multiple strucutres and populate the extensions for each structure.
    -Kiran
    *Please reward useful answers

  • [Ask] User Defined Field

    Guys, I have two questions here...Hope you guys can help me solving the problems...
    1. How to make user defined field that link to user defined table?
    2. Can I make Query with Inventory master data as a base?
    Thx guys...

    Hi Dear,
    You can do this through SDK also as
    1) Create one UDT named OCT_ITEMSUBGRP1 as
    CreateTable("OCT_ITEMSUBGRP1", "Item SubGrroup1", 0)
    Create Table Procedure is
    Private Sub CreateTable(ByVal txttablename As String, ByVal txtTableDescription As String, ByVal txtTabletype As Integer)
            Dim iRet As Double
            Try
                OCT_tables = OCT_Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oUserTables)
                If OCT_tables.GetByKey(CStr(txttablename)) = False Then
                    OCT_tables.TableName = txttablename
                    OCT_tables.TableDescription = txtTableDescription
                    OCT_tables.TableType = txtTabletype
                    iRet = OCT_tables.Add()
                    OCT_Application.SetStatusBarMessage("The Table " & txttablename & " is Added.", SAPbouiCOM.BoMessageTime.bmt_Short, False)
                    System.Runtime.InteropServices.Marshal.ReleaseComObject(OCT_tables)
                Else
                    OCT_tables = Nothing
                End If
                If iRet <> 0 Then
                    OCT_Application.MessageBox(OCT_Company.GetLastErrorDescription)
                End If
                OCT_tables = Nothing
                GC.Collect()
            Catch ex As Exception
                OCT_Application.MessageBox(ex.Message)
            End Try
        End Sub
    Step 2) Creating the Linked Field
    Create_FieldLinked("OITM", "SubGrp1", "Company Classification", 0, 0, 8, "OCT_ITEMSUBGRP1", "")
    Create Linked Table Procedure is
    Private Sub Create_FieldLinked(ByVal txttablename As String, ByVal txtFieldname As String, ByVal txtFieldDescription As String, ByVal type As Integer, ByVal subtype As Integer, ByVal size As Integer, ByVal linktable As String, ByVal ValidField As String)
            'Create Instance of UserTablesMD object 
            OCT_FieldL = OCT_Company.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oUserFields)
            Try
                OCT_FieldL.Name = txtFieldname
                OCT_FieldL.Type = type
                OCT_FieldL.Size = size
                OCT_FieldL.Description = txtFieldDescription
                OCT_FieldL.SubType = subtype
                OCT_FieldL.TableName = txttablename
                OCT_FieldL.EditSize = size
                If linktable <> "" Then
                    OCT_FieldL.LinkedTable = linktable
                    OCT_FieldL.Size = 8
                    OCT_FieldL.EditSize = 8
                End If
                IretCode = OCT_FieldL.Add()
                OCT_Application.SetStatusBarMessage("The Field " & txtFieldname & " is Added.", SAPbouiCOM.BoMessageTime.bmt_Short, False)
                If IretCode <> 0 Then
                    OCT_Application.MessageBox(OCT_Company.GetLastErrorDescription)
                End If
            Catch ex As Exception
                OCT_Application.MessageBox(ex.Message)
                System.Windows.Forms.Application.Exit()
            End Try
            OCT_FieldL = Nothing
            GC.Collect()
        End Sub
    Hope this will help you..
    Warm Regards,
    Mahendra

Maybe you are looking for