none
Migrating From HIS 2000 to HIS 2013 RRS feed

  • Question

  • Hi,

    I have an App calling mainframe transactions via HIS 2000 using COM TI (COM+).

    Now I'm trying to call the same transactions via HIS 2013 using TI (Direct call).

    I'm having an error on the output fields that are COMP3

    HISMPCB0014 In BasePrimitiveConverter an invalid packed decimal value was encountered.

    I tried to change from COMP3 to DISPLAY but the error just changed from "invalid packed decimal" to "invalid zoned decimal".

    I also tried 2 diferente things in my app code in visual studio

    1 - Add a reference to the dll generated by TIConversiontool.exe

    2 - Did not use the previous point dll. Created a new TI in VS importing the old TLB and made my app use the dll generated by these new hidx.

    I also changed the app.config to have acceptBadCOMP3Sign="true" i.e: <conversionBehavior acceptBadCOMP3Sign="true"  and

    Installed the HIS 2013 CU3.

    The old app is working ok with HIS 2000 and COM TI. What do I need to do in order to have the app working with HIS 2013 and .NET TI? 

    I guess this must be a well know issue but I don´t find any info about this ...

    Help is really appreciated.

    Tks,

    DD

     

    Friday, August 26, 2016 5:04 PM

Answers

  • Hi,

    I was looking into this quickly and can confirm that acceptBadCOMP3Sign conversion behavior is working as expected. Did you check whether you have compiled your project properly ?

    Also, if you are getting an invalid packed decimal error message, please investigate what values you are receiving from the remote application. Typically a packed decimal is represented with a C,D or F value in the last nibble of the last byte. This indicates the Sign, positive, negative or unsigned. If this nibble contains another value then it is not recognized as valid packed decimal. TI can cope with this by adding the acceptBadCOMP3Sign = "True" parameter in the ConversionBehavior section of the app.config file. However, I would check with the mainframe guys why they are sending an invalid value if defined as COMP3.

    Thanks

    Manfred Mittermüller

    -- MSFT --

    • Marked as answer by DevDiver Tuesday, October 11, 2016 10:04 AM
    Friday, September 2, 2016 9:21 AM
    Moderator

All replies

  • Hello, 

    I'm using HIS 2013 CU3 with a lot of different copybooks. Is it possible to share me the copybook so that I can take a closer look what is wrong. COMP-3 fields are working without any problems.

    If you like, look for my contact in LinkedIn : Steve Melan, I will help you out.

    Afterwards, I will post the final solution here.

    Best regards,


    Steve Melan - BCEE My Blog : http://stevemelan.wordpress.com

    Wednesday, August 31, 2016 8:15 PM
  • Hi,

    I was looking into this quickly and can confirm that acceptBadCOMP3Sign conversion behavior is working as expected. Did you check whether you have compiled your project properly ?

    Also, if you are getting an invalid packed decimal error message, please investigate what values you are receiving from the remote application. Typically a packed decimal is represented with a C,D or F value in the last nibble of the last byte. This indicates the Sign, positive, negative or unsigned. If this nibble contains another value then it is not recognized as valid packed decimal. TI can cope with this by adding the acceptBadCOMP3Sign = "True" parameter in the ConversionBehavior section of the app.config file. However, I would check with the mainframe guys why they are sending an invalid value if defined as COMP3.

    Thanks

    Manfred Mittermüller

    -- MSFT --

    • Marked as answer by DevDiver Tuesday, October 11, 2016 10:04 AM
    Friday, September 2, 2016 9:21 AM
    Moderator
  • Over the years there have been a few issues when converting TI components to newer versions - I suspect you have run into such an issue here. I highly recommend opening your original type library in the HIS 2000 Component Builder and compare the various entries to what you see defined in the HIS 2013 hidx file.  I suspect you will find that for the COMP-3 fields the Precision and/or the Scale entries do not match.

    The HIS 2013 hidx should work as long as the data definitions match exactly what you see in the HIS 2000 data definitions.

    Saturday, September 3, 2016 12:14 AM
    Owner
  • Hi Steve,

    Thank you so much to offer to help us. I know your knowledge and experience are of great value.

    It turns out that, on the test machine, the acceptBadCOMP3Sign was not as expected (equals to true).

    Thank you again

    Best regards,

    DD 

    Wednesday, October 12, 2016 9:11 AM
  • Can You tell me where to update this flag (acceptBadCOMP3Sign) for BizTalk adapter please? I am having the same issue with COMP -3 value and failing while receiving the data. 

    Thanks,

    Sai. 

    Thursday, April 6, 2017 9:03 PM
  • Hello, You can set it either in the registry (prior HIS 2016) or in the btssvc config file which is the biztalk server service config file. Best regards,

    Steve Melan - BCEE My Blog : http://stevemelan.wordpress.com

    Friday, April 7, 2017 3:23 PM
  • Hi Steve, can you point out the exact location for registry entry please?

    Apart from COMP-3 I am also getting this below warning while generating schema from CopyBook, can I ignore these warnings?

    Warning 3 The data description named FINAL-RETURN-CODE contains the unsupported keyword SYNCHRONIZED.  No synchronization will be performed.

    Thanks,

    Sai.  



    Wednesday, April 26, 2017 7:33 PM