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
-
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 -
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,
AdeleAdele:
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 PMGordon, 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.RHai
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 elements 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 elements 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 modules 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 exits 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,
rajeshHi 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 helpI 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 RegardsHi,
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.DDear 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,
SalHi 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 -
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,
KitVALUEPART2,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
-
Is there an anti virus program for mac 9.1? Think I have a virus
I don't use an anti virus - using outlook express I got a strange message with no subject or sender - just a blank line. I tried deleting it but it wouldn't be deleted. Since then every time I try to delete it - it crashes the system. Same with Inter
-
Location of Redo log and control files?
Dear all, I am checking the location of redo log and control files, but found that the redo log file (like log02a.dbf ....) in the same directory of data files. However, I couldn't find any control files in the data files directries. What could be th
-
How to set proxy setting in all application
i am using college wifi system, it used by proxy setting and username and password for that, in the time of microsft updation I cant access internet, how to setup proxy for that??????
-
HT201210 what is error 409 and how to solve the error
i was trying to restore my iphone but it give an error 409 what does this mean and how to solve it
-
How do I shrink the page so that i can see the buttons on my downloader page?
How I shrink the page so that I can see the buttons on my downloader page?