Re: Remedy 7.5 and utf8
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
Re: Remedy 7.5 and utf8
, 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 ___ UNSUBSCRIBE or access ARSlist Archives at www.arslist.org attend wwrug11 www.wwrug.com ARSList: Where the Answers Are
Re: Remedy 7.5 and utf8
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 ___ 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
Re: Remedy 7.5 and utf8
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
Remedy 7.5 and utf8
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
Re: Remedy 7.5 and utf8
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