Skip to Main Content
IBM Z Software


This portal is to open public enhancement requests against IBM Z Software products. To view all of your ideas submitted to IBM, create and manage groups of Ideas, or create an idea explicitly set to be either visible by all (public) or visible only to you and IBM (private), use the IBM Unified Ideas Portal (https://ideas.ibm.com).


Shape the future of IBM!

We invite you to shape the future of IBM, including product roadmaps, by submitting ideas that matter to you the most. Here's how it works:

Search existing ideas

Start by searching and reviewing ideas and requests to enhance a product or service. Take a look at ideas others have posted, and add a comment, vote, or subscribe to updates on them if they matter to you. If you can't find what you are looking for,

Post your ideas
  1. Post an idea.

  2. Get feedback from the IBM team and other customers to refine your idea.

  3. Follow the idea through the IBM Ideas process.


Specific links you will want to bookmark for future use

Welcome to the IBM Ideas Portal (https://www.ibm.com/ideas) - Use this site to find out additional information and details about the IBM Ideas process and statuses.

IBM Unified Ideas Portal (https://ideas.ibm.com) - Use this site to view all of your ideas, create new ideas for any IBM product, or search for ideas across all of IBM.

ideasibm@us.ibm.com - Use this email to suggest enhancements to the Ideas process or request help from IBM for submitting your Ideas.

Status Future consideration
Categories z/TPF
Created by Guest
Created on Nov 15, 2022

TPFUG: Enhance z/DFDL to process complex schemas more quickly and efficiently using choice keys

  1. Reference IBM Case: TS010552059 zDFDL CTL 10

  2. Z/TPF Lab's Bradd Kadlecik's analysis of the CTL-010 revealed that the problem was not with the size of the source event message being zDFDL parsed, but the time needed to parse a complex zDFDL schema through each of the source message's 14,300 LRECs. In this case the zDFDL had many conditional parsing statements to be processed against each of the message's LRECs and associated fields.

  3. Key Finding: The zDFDL parsing of very large messages with many LRECS using a complex zDFDL schema is very CPU intensive consuming large amounts of CPU time, MIPS and increasing latency.

  4. Short-term Fixes:

    1. Z/TPF Lab is providing a patch to the DFDL program to always use Time-Slice (tmslc) when using the IBM z/TPF Standard formatter.

      1. The patch will automatically tmslc when zDFDL is parsing thus eliminating CTL-010s. It will have an upper limit so that it can never process more than 10 or so seconds before issuing a CTL-2010 error.

    1. Z/TPF Lab is providing a short term zDFDL fix that will "cast" zDFDL schema compare values into binary rather than converting them to binary each time they are compare executed. The fix will reduce MIPs

  5. Long-Term Fixes

    1. The most desired long-term solution is to enhance the zDFDL parse process to be more efficient using the lab recommended choiceDispatchKey and choiceBranchKey DFDL annotations.

    1. Per the Lab's root cause analysis, parsing is troublesome when there are very large number of zDFDL parsing choice branches with discriminators with over 1000 lrecs in the data and each LRec key has a large number of TID layouts.

    2. The current zDFDL parsing approach uses a discriminator and causes each branch to be evaluated in order until an expression evaluates to true.

    3. The choiceDispatchKey would cause this evaluation to happen only once for all choice branches and the choiceBranchKey would provide the a simple and quick comparison match for each branch.

    4. Additionally IBM z/TPF Lab will type cast the zDFDL Schema compare operands in the DFDL expression similar to what was done for PJ45813

Idea priority High