Element Name Considerations
The CDF2DDL utility will change the name of the elements it outputs under certain conditions. The names will be changed in the following cases:
- Web Service element names that are too long
DDL object names are limited to 30 characters. If while converting a Web service element name to a DDL name, the resulting name is longer than 26 characters, the name will be truncated and a numeric sequence will be appended to the name. - Web service element name is a host language reserved word
If while converting a Web service element name to a DDL object name, the resulting name is the same as a host language reserved word, a 'Z' character is appended to the name. - A child element has the same name as the parent element
If a child element of a web service type has the same name as the type itself, the child element name is altered by appending a 'Z' character to the name
If any changes are made by the CDF2DDL utility, the changes are documented in the DDL source header. Sample documentation is shown below:
!
! The following object names were altered to conform to DDL name
! length restrictions.
!
! ThirdPartyProductDetailsItemCount -> ThirdPartyProductDetails01
!
!
! The following object names were altered because they are reserved words
! in one or more host languages.
!
! page -> pagez
! mode -> modez
! type -> typez
! sort -> sortz
! Status -> Statusz
! return -> returnz
! author -> authorz
!
!
! The following child object names were altered because they were the
! same as their parent definition name.
!
! KeyPhrase -> KeyPhraseZ
!
To provide a DDL-compatible name that won't require changing by CDF2DDL, specify the 'ddlName' attribute on the <element> element in the CDF. For example:
<element name="ThirdPartyProductDetailsItemCount" type="unsignedNumeric" size="4"/>
produces this DDL:
02 ThirdPartyProductDetails01 PIC 9(4).
which, when output as COBOL, will look like this:
02 THIRDPARYPRODUCTDETAILS01 PIC 9(4).
whereas
<element name="ThirdPartyProductDetailsItemCount" type="unsignedNumeric" size="4" ddlName="THIRD-PARTY-PROD-DET-COUNT" />
produces this DDL:
02 THIRD-PARTY-PROD-DET-COUNT PIC 9(4).
which, when output as COBOL, will look like this:
02 THIRD-PARTY-PROD-DET-COUNT PIC 9(4).