Hi, To do an automatic change to CHAR instead of BYTES, I see three ways to do this. 1. Create an API-program that updated all character fields
Downsides: There may be a ARAPI-version problem that corrupts the CharLimitsStruct if the API-program is of a different version 2. Export a def-file, manipulate the def file, reimport the def Downsides: It will require a very big def for large applications, which may not be good. 3. Do an SQL-update in the database and restart your AR Server. Downsides: The change may not be propagated to the clients, as the modify-date of the will not change. But that may not be necessary, as this check is done on the server side. Also this is not really supported by BMC. Number 3 may after all be the best choise, as it should be very fast. UPDATE field_char SET lengthUnits=1 WHERE lengthUnits=0 Maybe someone could comment on the possible risks, but I think they should be quite low. In my AR Server 7.6.04 I found three fields with lengthUnits=1 already: Form/FieldId/FieldName AR System Ignored Analyzer Results/20007/Object Parent AR System Form Field Info/90009/Results List Meta Data AR System Administration: Server Information/16799/atriumssoKeystore Document your own lengthUnits=1 fields before you do the change: SELECT schemaId,fieldId FROM field_char WHERE lengthUnits=1 Best Regards - Misi, RRR AB, http://www.rrr.se Products from RRR Scandinavia (Best R.O.I. Award at WWRUG10): * RRR|License - Not enough Remedy licenses? Save money by optimizing. * RRR|Log - Performance issues or elusive bugs? Analyze your Remedy logs. Find these products, and many free tools and utilities, at http://rrr.se. > Hi, > > I just saw something... > > You can change the "Length Unit" in the database properties of your field. > > The possible values are "Bytes" and "Characters". > > The default is "Bytes", but if you change this setting for all of your > character fields, the old field length should be able to hold all your > data even in utf8. > > According to the ar.h file, this functionality did not exist in version > 7.0 or 7.1, but was introduced in 7.5. > > Here is an exerpt form the ARAPI ar.h-file from 7.6.03: > > typedef struct ARCharLimitsStruct > { > unsigned int maxLength; /* 0 for maxLength means unlimited length */ > ... > unsigned int lengthUnits; /* 0 for in-byte, 1 for in-char */ > ... > } ARCharLimitsStruct; > > This should be ideal for a small RRR-utility, if there is enough demand. > Let me know that you would like a RRR|CharToBytes-utility! > > Or are there an easier way of doing this, such as a system wide default > setting??? > > Best Regards - Misi, RRR AB, http://www.rrr.se > > Products from RRR Scandinavia (Best R.O.I. Award at WWRUG10): > * RRR|License - Not enough Remedy licenses? Save money by optimizing. > * RRR|Log - Performance issues or elusive bugs? Analyze your Remedy logs. > Find these products, and many free tools and utilities, at http://rrr.se. > >> Hi, >> >> I have not tried this on Informix, but on Sybase, Oracle and MS-SQL. >> >> Remedy counts bytes, so the 255-byte character field will still be 255 >> bytes long. >> >> The problem is when you migrate your data, where a 255-character string >> will not allways fit in 255-bytes. In 99% of the cases, the string will >> probably fit, but you will have problems with some data. >> >> In this case you can choose to either truncate your data, or extend the >> field length sligthly. >> >> If you go from cp-1257, I think that most of the characters above code >> 127 >> will fit in two bytes. When I have converted Swedish systems, very few >> records has needed more than 10% extra space. >> >> The strategy I have most commonly used, on custom applications, is the >> following: >> 1. Character fields > 128 characters or so, truncate the data in the >> source database before transfer >> 2. Character fields < 128 characters, extend the target field size by 1 >> byte when the merge-operation fails for certain records, and merge again >> >> Best Regards - Misi, RRR AB, http://www.rrr.se >> >> Products from RRR Scandinavia (Best R.O.I. Award at WWRUG10): >> * RRR|License - Not enough Remedy licenses? Save money by optimizing. >> * RRR|Log - Performance issues or elusive bugs? Analyze your Remedy >> logs. >> Find these products, and many free tools and utilities, at >> http://rrr.se. >> >>> Hi, >>> >>> I've got the question about Remedy (7.5) and Informix (utf8). >>> We are going to migrate the workflow and data from Remedy 7.1 (Informix >>> cp-1257) to Remedy 7.5 (Informix utf8). >>> As far as I know the ARS 7.5 allows to set the Length Unit to >>> Characters >>> (not Bytes). What will happen with data if the Length Unit will be >>> changed >>> to Characters? >>> For example, if the character field's lenght in ARS 7.1 was 255 and it >>> was >>> possible to include this field in the query's qualification, does it >>> mean >>> that the field's length in ARS 7.5 automatically will be 255*4 and the >>> search will not be allowed without FTS? >>> >>> Best regards, >>> Irina >>> >>> _______________________________________________________________________________ >>> UNSUBSCRIBE or access ARSlist Archives at www.arslist.org >>> attend wwrug11 www.wwrug.com ARSList: "Where the Answers Are" >>> >> >> _______________________________________________________________________________ >> UNSUBSCRIBE or access ARSlist Archives at www.arslist.org >> attend wwrug11 www.wwrug.com ARSList: "Where the Answers Are" >> > > _______________________________________________________________________________ > UNSUBSCRIBE or access ARSlist Archives at www.arslist.org > attend wwrug11 www.wwrug.com ARSList: "Where the Answers Are" > _______________________________________________________________________________ UNSUBSCRIBE or access ARSlist Archives at www.arslist.org attend wwrug11 www.wwrug.com ARSList: "Where the Answers Are"