Skip to Content

Mapping: How to convert Blue color suppress to gray color suppres

Dear All.

my scenario is JDBC to SFTP scenario.

so from JDBC end i'll get all the field, and i need to place the condition whenever the value come i need to generated the target segment/fields.and i need to avoid the file which come constant value of "END"as well.

but when i do mapping , i'm getting all blue color suppress because no value at source side. because of blue color suppress value is not populating at target segment, please advise how i can get the gray color suppress in this case. or some other way do we achieve?

fyr

Regards

Ramesh

issue.PNG (167.6 kB)
Add a comment
10|10000 characters needed characters exceeded

Assigned Tags

Related questions

5 Answers

  • Posted on Jul 21, 2016 at 02:20 AM

    I just want to add on that there is no such thing as a gray suppress.

    A light gray section just indicates that there is a context change occurring in the queue. Values in light gray should be ignored (I don't know why XI/PI was designed that way but it has been a cause of confusion for many!) - the value there is just an indication of the last value of the context just before the context change occurred.

    If you see "SUPPRESS" in light gray, it is similar to a null context - i.e. there are no values at all in that particular context.

    Add a comment
    10|10000 characters needed characters exceeded

    • HI Eng.

      Thanks for you reply.

      since sender adapter is JDBC i always get row by row value. i spent all my time to finish this mapping and i completed almost, i struct only at this point, can you please suggest is there a way to change this suppress. do we have any UDF.

      please do needful.

  • Posted on Jul 21, 2016 at 01:02 AM

    Hi Ramesh!

    Please clarify what exactly do you want to receive as output: just values without "SUPPRESS" or each value in separate context with empty contexts for suppressed values?

    Regards, Evgeniy.

    Add a comment
    10|10000 characters needed characters exceeded

    • Thank you for your support. this requirement has been done.

      i asked the DB end to send the space to all the respected fields if value doesn't contain, earlier i get null. and in first mapping i mapped as is it, and the second mapping i placed my logic in segment level as if value contain space do not create and it's worked.

  • Posted on Jul 20, 2016 at 02:15 PM

    Ramesh,

    if there is no value in source side then for target field you want to generate empty field or pass any value ?

    Blues suppress comes whenever you are using IfthenWithoutelse,IfSthenwithoutelse or create if in which case target field wont be created.

    try using if-else and pass an empty constant in else condition so that to create target field .

    Br,

    Manoj

    Add a comment
    10|10000 characters needed characters exceeded

    • Hi Manoj.

      Even though if we go with "if-else" condition my second condition ( i need to avoid the fields which come constant value of "END"as well.) result also will give "false". this false also will generate the empty target segment.

      so here avoiding "END" value also not possible.

      is there a way we can achieve by writing UDF.

  • Posted on Jul 20, 2016 at 08:27 PM

    Hi Ramesh,

    Blue Suppress is nothing but the constant ResultList.SUPPRESS

    If you want to replace the blue suppress then in UDF compare the input value with constant ResultList.SUPPRESS and if it equals then simply output will be ResultList.CC.

    like:

    input is var1,
    UDF Type: Single value

    ////////////////////////////////////

    if(var1.equals(ResultList.SUPPRESS)){

    return (ResultList.CC);

    }

    else

    return (var1);

    /////////////////////////////////////

    with this you can convert the Blue Suppress to gray suppress.

    Hope this will help to get you desired result.

    Thanks,
    Suman

    Add a comment
    10|10000 characters needed characters exceeded

  • Posted on Jul 21, 2016 at 01:12 AM

    Hi Ramesh,

    Any reason why you can't use removeContext after the ifWithoutElse statement?

    Regards,

    Mark

    Add a comment
    10|10000 characters needed characters exceeded

    • Hi Mark.

      Thank for your reply.

      Yes, remove context is not works here, because CDRTRINF comes some places only so the same hierarchy we need to maintain at target end.

      like

      if CDRTRINF has a value then i need to generate the segment else to be ignored. on top of that i should ignore the same field when it has a value "END".

      please suggest me further.

      Regards

      Ramesh

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.