环境
1、环境1: HP-UX B.11.31 U ia64, tuxedo8.1 64位
2、环境2: HP-UX B.11.31 U ia64, tuxedo8.1 64位
3、环境3: AIX 6.1, tuxedo8.1 64位, 编译器vacpp10
AIX是客户端hpux是服务端,在用FML32格式传一个long型数据正数没问题,传负数时出现问题。
比如,在HP-UX端的服务传一个值-1500(16进制是FFFFFFFFFFFFFA24),
在AIX的客户端的缓冲区收到的却是4294952296(16进制是FFFFFA24),感觉就是只收到后半的低字节部分。
FML32格式
#101~6000:TABLE DEFINE FIELD,存放在文件tblflds、tblflds.h中;
# NUMBER(10)以上的整数以string形式进行表示
#table defined FML fields
# name number type flags comments
ACCT_ID102long-帐户标识
ACCT_SEQ_NBR103long-帐户标识序列号
ACCT_ITEM_CHARGE104long-帐目金额
ACCT_ITEM_TYPE_ID105long-帐目类型标识
ACCT_ITEM_TYPE_NAME106string-帐目类型名
ACCT_NAME107string -帐户名
ACCT_NBR_97108string-97合同号
ACC_NBR109string -用户号码
ADJUST_DUE110long-滞纳金调整额度
APP_ID111long-应用程序标识
AREA_CODE112string-区号
BALANCE113long-帐户余额
各位有遇到这种情况么?给个建议吧!!!!!!万分感谢!!!!!!1