Error in transport.txt: stack trace: java.lang.NumberFormatException: DataTypePacked: packed sign half byte is not hex 0x0D or 0x0F

Date:23 January, 2008
Product/Release:LANSA Integrator
Abstract:Error: stack trace: java.lang.NumberFormatException: DataTypePacked: packed sign half byte is not hex 0x0D or 0x0F
Submitted By:LANSA Technical Support

Description:

The following error may be produced when executing a service function written in RPG.

Brief Description:

stack trace: java.lang.NumberFormatException: DataTypePacked: packed sign half byte is not hex 0x0D or 0x0F

Detailed Listing:

stack trace: java.lang.NumberFormatException: DataTypePacked: packed sign half byte is not hex 0x0D or 0x0F, see packed.dump file
java/lang/Throwable.<init>(Ljava/lang/String;)V+4 (Throwable.java:94)
com/lansa/jsm/util/DataTypePacked.toString([B)Ljava/lang/String;+1 (:??)
com/lansa/jsm/w.a([BZ)[Ljava/lang/String;+103 (:??)
com/lansa/jsm/d.<init>(Lcom/lansa/jsm/y;Lcom/lansa/jsm/ag;[B)V+95 (:??)
com/lansa/jsm/m.if(Ljava/lang/String;[B)Lcom/lansa/jsm/d;+82 (:??)
com/lansa/jsm/m.int()V+41 (:??)
com/lansa/jsm/m.<init>([B[BLjava/util/Properties;Lcom/lansa/jsm/ah;Lcom/lansa/jsm/n;Lcom/lansa/jsm/y;)V+139 (:??)
com/lansa/jsm/a.do(Ljava/util/Properties;)Lcom/lansa/jsm/JSMCommand;+853 (:??)
com/lansa/jsm/a.new()Lcom/lansa/jsm/JSMCommand;+117 (:??)
com/lansa/jsm/b.a()Z+29 (:??)
com/lansa/jsm/b.run()V+283 (:??)

Cause:

The following are the potential causes of this error.

A message like DataTypeZoned : zoned sign half byte is not hex 0x0D or 0x0F, see zoned.dump file means that the EBCDIC zoned field from the LANSA function or RPG program has bad data.

Solution:

  1. The most common reasons would be a mismatch in the field order or datatype between the RPG data structure and the XML definition
  2. Is the data structure values initialized?
    Do Alphas have blanks?
    Do Packed and Zoned have zeroes?
  3. Does the function (RDML RPG) have a large number of fields and lists?

If the aggregate number of fields and lists exceed 9999 then the data structure starts to allocate pointers from 00xx again. Subsequently the field definitions in this corrupted pointer areas cannot be initialised, changed etc. Therefore you will need to see the DDS RPG listing to identify fields which are in the corrupted pointer zone.