C2M3044 error using a key with length greater than 2000 bytes

Date: 30 November, 2007
Product/Release: LANSA for iSeries V11.3
Abstract: Total length of a key allowed in V5R4M0 increased from 2000 bytes to approximately 32K bytes but I/O fails with C2M3044 error
Submitted By: LANSA Technical Support


IBM increased the total length of the key allowed in V5R4M0 from 2000 bytes to approximately 32KB. This new limit can potentially be used in key fields in LANSA RDMLX files on iSeries (Note: this new limit cannot be used for keys in LANSA RDML files, where the existing limits still prevail). However, while a LANSA RDMLX file that has a key > 2000 bytes can be created OK, when you attempt to fetch a record by key, it fails with a C2M3044 error. IBM have confirmed that this is a known problem in V5R4M0 whereby the C native I/O APIs are still enforcing a limit of 2000 bytes on total key length. The correction for this problem is scheduled for IBM i 6.1M0 only.


Until IBM i 6.1 is available, the total length of a key used must remain less than 2000 bytes. Furthermore, the new limit of 32768 bytes for the total length of the key should not be implemented in your application until all versions of OS/400 that the LANSA application will be executing on are at IBM i 6.1 or greater.