In our project we are using the concept of segmentation if the message exceeds a specified length and set the flag "MQC.MQMF_SEGMENT" for every segment and "MQC.MQMF_LAST_SEGMENT" for the last segment. We even set the flag "MQC.MQMF_LAST_SEGMENT" for messages which are not segmented while putting in the queue. Now the application(installed on HP-UNIX) which picks these messages from the queue was able to get the message which was not segmented but had the flag "MQC.MQMF_LAST_SEGMENT" set. All went on fine but after sometime the application was installed on LINUX and could not pick the messages. We though it my be because the messages in the queue were uncommitted but later we realised that those messages are being picked up applications on UNIX or any other utility. So by hit and trial we though of setting the flags only for messages which are segmented and not for all messages and it worked fine.
Can anyone throw somemore light on this like is it something to do with the OS or there is something more to it.