I get message ACF99058 (invalid DSN) when creating an alias with IDCAMS using the SYMBOLICRELATE parameter.

Document ID : KB000006098
Last Modified Date : 14/02/2018
Show Technical Document Details
Issue:

I want to create an alias for a dataset using IDCAMS and use a symbolic via the SYMBOLICRELATE
parameter.

When I use input parameters like this...

  DEFINE ALIAS (NAME(XY.A123456.TESTAL) SYMBOLICRELATE(XY.A123456.&SW_CICS_..TEST))

And I created a symbolic in IEASYM00 for "&SW_CICS_."

When I run the IDCAMS job it fails with messages
ACF99913 ACF2 VIOLATION-08,05,A123456,,XY.A123456.&SW_CICS_..TEST,N/A
ACF99058 INVALID DSN SY.A710444.&SW_CICS_..TEST OR LIB SYS1.LINKLIB    
ACF95913  -AMS/CATALOG FUNCTION SUPPRESSED; AUTHORIZATION IS REQUIRED.  

 

 

Cause:

ACF2 dataset name validation requires that all dataset name index levels are 8 characters or less.
Also there must be data between periods in the dataset name.

The documentation for the IEASYMxx parmlib member (where symbolics are defined)
states that the period is optional but recommended.

see  https://www.ibm.com/support/knowledgecenter/SSLTBW_2.1.0/com.ibm.zos.v2r1.ieae200/ieae200265.htm
for details of IEASYMxx parameter definitions.

 

Resolution:

when using symbolicrelate in an IDCAMS DEFINE ALIAS request, you must remember
that there will be a validation for the symbolicrelate name as specified in the request - It will
not be a validation against the "converted" dataset name after converting the symbolic to its value.

All standard ACF2 dataset validation rules must be followed.

In this example there are two distinct problems...

1) the dataset index with the symbolic was too long.
      "&SW_CICS_." is 10 characters - it needs to be reduced to no more that 8 - including the & .

2) at the end of the symbolic name is a period - which is normal for mvs symbolics.
    In this instance, where the symbolic is not converted to a value, this cause two periods to be
    together without data in between.   "&SW_CICS_.."

 

The resolution is 

 change the symbolic name to 8 characters or less  and remove the period at the end of the symbolic

e.g " &SW_CIC_ "