IBM Sterling Transformation Extender

Sterling Transformation Extender

Come for answers, stay for best practices. All we're missing is you.


#Sterling
#Supplychain
 View Only
  • 1.  Zero Length Objects - ZLOs

    Posted 03/11/08 08:01 AM

    Originally posted by: Yusuf@BOE


    Hi,

    We've discovered a new feature in TX 8.1.0.3 - zero length objects.

    Having discussed this with IBM, this has been described as a fix to this problem:

    Example:
    We have a name:value input card.
    We want to lookup the value where name=Author.
    Up until now there have been two possible outcomes.
    1 - We find the value for Author and output it.
    2 - We don't and return NONE.

    Now we have a third possiblility.
    3 - We do find Author but there is no value.
    In the past this has returned None, but now this is described as a ZLO, and produces a zero length object, in other words a null value but including all initiators and terminators for this object.

    For us, this means an line in the output with an initiator value which we didn't have in previous versions

    Whilst I fully understand this fix as IBM have described it, it now means that if we want to move to version 8.1.0.3 (which we need to do to fix other problems), we will have to go through all of our existing code for possible instances where we might get a ZLO when we expect a NONE.

    Has anyone else come across this behavior?
    If so, what have you done to get around it?
    The obvious functions this affects are LOOKUP, EXTRACT, DBLOOKUP, DBQUERY but I think it could affect any rule where we expect a NONE or test for NONE.
    Any comments or thoughts would be welcome.

    Yusuf
    #DataExchange
    #IBM-Websphere-Transformation-Extender
    #IBMSterlingTransformationExtender


  • 2.  Re: Zero Length Objects - ZLOs

    Posted 03/12/08 05:39 AM

    Originally posted by: janhess


    That sounds more like a type tree error or mapping to the wrong level on output. If the output field is optional then if it has a null value it should not be output.

    I reread your post. Do you mean that the result of the lookup is a string that contains initiator and terminator but no value? If so I would regard it as a bug as it is a fundemental behavior change. This in not a publicised enhancement.

    Message was edited by: janhess
    #IBM-Websphere-Transformation-Extender
    #IBMSterlingTransformationExtender
    #DataExchange


  • 3.  Re: Zero Length Objects - ZLOs

    Posted 03/12/08 07:07 AM

    Originally posted by: LaurentB


    This may depend on the loookup table's type tree : if you want to be able to have a key with no value attached to it, I guess you have to make sure that the empty value is optional.
    #DataExchange
    #IBMSterlingTransformationExtender
    #IBM-Websphere-Transformation-Extender


  • 4.  Re: Zero Length Objects - ZLOs

    Posted 03/12/08 02:35 PM
      |   view attached

    Originally posted by: paul.brett


    I enclose an example that demonstrates this new behaviour. Output from previous versions of the software would be:

    TEXT1:ABC

    NUMBER:7

    This includes 6.5.2, 6.7.1, 7.5.1, 8.0.2 and 8.1.0.3(37).

    The new behaviour observed can be found with 8.1.0.3(50) and later:

    TEXT1:ACB
    TEXT2:
    NUMBER:7

    This is because the Input typetree has been defined as implicit, and therefore, as the key exists, the row exists, and the value becomes a Zero length Object.

    I hope that makes everything clear.
    #IBMSterlingTransformationExtender
    #IBM-Websphere-Transformation-Extender
    #DataExchange

    Attachment(s)



  • 5.  Re: Zero Length Objects - ZLOs

    Posted 03/13/08 04:59 AM

    Originally posted by: janhess


    How do I get 8.1.0.3 (50) It's not on the IBM software download Site.
    I can confirm that 8.2 intfix2 follows the new behaviour.
    #DataExchange
    #IBM-Websphere-Transformation-Extender
    #IBMSterlingTransformationExtender


  • 6.  Re: Zero Length Objects - ZLOs

    Posted 03/13/08 05:29 AM

    Originally posted by: Yusuf@BOE


    What confuses me, using Paul's example is:

    LOOKUP(Value, Name = TEXT2) produces a ZLO,

    whereas this workaround proposed by IBM does not:

    IF( LOOKUP(Value, Name = TEXT2)=NONE,
    NONE,
    LOOKUP(Value, Name = TEXT2) )

    Surely the first Lookup produces a ZLO, so the first part of the IF is false and the result should still be a ZLO?
    #DataExchange
    #IBM-Websphere-Transformation-Extender
    #IBMSterlingTransformationExtender


  • 7.  Re: Zero Length Objects - ZLOs

    Posted 03/13/08 05:35 AM

    Originally posted by: janhess


    I think this is going to have massive implications for upgrating to 8.2. I think this should be treated as a bug and if a site requires this behaviour it should be introduces as a specific patch. Why should all usere be stuck with huge testing requirements for a new feature that they don't necessarily want.

    I think this could be a serious problem for XML output which will generate start and end tags with no content where previously you got nothing. This will probably be invalid xml.

    Message was edited by: janhess
    #DataExchange
    #IBMSterlingTransformationExtender
    #IBM-Websphere-Transformation-Extender