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.  Restart/Reject

    Posted 10/18/04 06:14 AM

    Originally posted by: SystemAdmin


    DSTX 6.7.1 Win NT4
    I have a file with the structure
    code:1:4994eb74bc
    Header
    Field1
    Field2
    Record(s)
    Field3
    Field4
    Group1
    field5
    field6
    field7
    Group2(s)
    field8
    ..
    ..
    fieldn

    [/code:1:4994eb74bc]

    In my data I have an invalid value for field8 - value not in restriction list.
    If I set a Restart on the Record and check the Record for invalid objects, it does not find any but if I set the Restart on Group2, rejects are handled correctly.
    Is this the correct behavior for Restart/Reject? From the documentation I would have expected it to handle invalid objects at the record level.
    Jan
    #IBMSterlingTransformationExtender
    #IBM-Websphere-Transformation-Extender
    #DataExchange


  • 2.  Re: Restart/Reject

    Posted 10/18/04 06:46 AM

    Originally posted by: SystemAdmin


    Hi
    from your description of the record format it appears that
    both the records group and group2 are optional segment groups
    (S) as opposed to (1:s) is this correct? if so RESTART only works
    correctly on mandatory groupings(the group must be a min occurrance of 1), try making the record level
    a 1TOS as opposed to S
    #IBM-Websphere-Transformation-Extender
    #IBMSterlingTransformationExtender
    #DataExchange


  • 3.  Re: Restart/Reject

    Posted 10/18/04 07:32 AM

    Originally posted by: SystemAdmin


    Sorry, Record is 1:s and Group2 is 1:s.
    All other fields are 1:1
    I just retested it and it worked ok. Strange how it consistently failed to work on Friday but is ok today.
    Jan
    #IBM-Websphere-Transformation-Extender
    #IBMSterlingTransformationExtender
    #DataExchange


  • 4.  Re: Restart/Reject

    Posted 10/18/04 12:46 PM

    Originally posted by: SystemAdmin


    I'm not sure I understand enough about your type tree to say anything for sure, but if you have "Restart" only on Record, then when an invalid field8 is encountered, the Group2 will be invalid; since it's an optional occurrence, the invalid Group2 will probably be thrown away, and the Record that is found will not include any of the stuff that's in Group2. Depending on how the various types are defined, that may be the end of validation for this data (unless the Group2 stuff looks enough like a new Record).

    With a "Restart" on Group2, you can have an invalid instance of Group2 in your Record: depending on how Group2 and the various "field"s are defined, you might keep all of Group2 (and recognize that the only thing in error is field8, and, because of it, Group2 itself), or you might not.

    A lot of things matter in the type definition, in addition to whether the instance found is considered required or optional. A lot depends on whether the various objects are "known to exist" or not, for example. But the "Restart" attribute is only known within a component list. Since Record and Group2 are at different levels (Group2 is a component of Record), I'd expect the results to be completely different when Group2 has the "Restart" attribute, and I'd expect them to be different again if any of Group2's components had "Restart", too.
    #IBM-Websphere-Transformation-Extender
    #IBMSterlingTransformationExtender
    #DataExchange


  • 5.  Re: Restart/Reject

    Posted 10/18/04 12:48 PM

    Originally posted by: SystemAdmin


    I'm not sure I understand enough about your type tree to say anything for sure, but if you have "Restart" only on Record, then when an invalid field8 is encountered, the Group2 will be invalid; since it's an optional occurrence, the invalid Group2 will probably be thrown away, and the Record that is found will not include any of the stuff that's in Group2. Depending on how the various types are defined, that may be the end of validation for this data (unless the Group2 stuff looks enough like a new Record).

    With a "Restart" on Group2, you can have an invalid instance of Group2 in your Record: depending on how Group2 and the various "field"s are defined, you might keep all of Group2 (and recognize that the only thing in error is field8, and, because of it, Group2 itself), or you might not.

    A lot of things matter in the type definition, in addition to whether the instance found is considered required or optional. A lot depends on whether the various objects are "known to exist" or not, for example. But the "Restart" attribute is only known within a component list. Since Record and Group2 are at different levels (Group2 is a component of Record), I'd expect the results to be completely different when Group2 has the "Restart" attribute, and I'd expect them to be different again if any of Group2's components had "Restart", too.
    #IBMSterlingTransformationExtender
    #DataExchange
    #IBM-Websphere-Transformation-Extender