Page 1 of 1

Read that there is no need of SSA for ISRT, DLET, REPL?

Posted: Mon Apr 21, 2014 3:56 pm
by Raunak Singh
I read that there is no need of SSA for ISRT, DLET, REPL. I'm confused why is this so?

Re: Read that there is no need of SSA for ISRT, DLET, REPL?

Posted: Wed Apr 23, 2014 1:36 pm
by Anuj Dhawan
In simple words, you usually don't need any SSA on a DLET call because before delete you'd issuse a GH call and DLET will delete the segment you just retrieved, as I said, with a GET HOLD call. However, with a path call - you might retrieve more than one segment while you want to delete a specific segment then on a DLET (after a path call) one unqualified SSA is REQUIRED to tell IMS which one of the segments just retrieved is to be deleted.

It should be noted that only one SSA is allowed on a DLET and the SSA on a DLET MUST be UNQUALIFIED. Along with it, an I/O area is required. You will get an AB statcode if an I/O area is not present.

You might not need an SSA for an ISRT call **if** you're okay with the current "position in IMS database". Otherwise, an ISRT MUST have at least one unqualified SSA, naming the segment you are inserting. If there are no other SSAs, which parent(s) the new segment gets under depends on database position before the ISRT call, as I said earlier. With SSA , you can implicitly establish where a new segment goes by previous calls.

On the other hand the IMS manuals tells that a programmer should explicitly tell IMS exactly where the new segments should go by using qualified SSAs for all the higher level segments when an ISRT is issued. This way IMS checks the hierarchical path to the new segment and in case any parents are missing, the ISRT call will fail - which is correct.

It is possible to do a "path ISRT". But in any case where there is more than one SSA on an ISRT, the lowest-level SSA MUST be UNQUALIFIED. When there is only one SSA, it MUST be UNQUALIFIED.

Similarly, one do not use SSAs on a REPL call if the preceding GET HOLD gets only got one segment, you, as a programmer know that what segment is to be replaced, so no SSA is needed. But again, if the preceding GET HOLD was a path call which retrieves more than one segment - SSAs may be necessary on a REPL. Because with call if you get more than one segments and you issue a REPL they will all be replaced. If you want some of them to NOT be replaced you'd need an unqualified SSA for those segments with the *N command code. And with a qualified SSA on a REPL will give you an AJ status code.

Re: Read that there is no need of SSA for ISRT, DLET, REPL?

Posted: Thu Sep 25, 2014 9:01 am
by Raunak Singh
Thanks for the explanation Anuj!

Re: Read that there is no need of SSA for ISRT, DLET, REPL?

Posted: Sat Sep 27, 2014 9:05 am
by Anuj Dhawan
You're welcome! :)