Recovering in Endevor from accidental delete of approver groups
search cancel

Recovering in Endevor from accidental delete of approver groups

book

Article ID: 403608

calendar_today

Updated On:

Products

Endevor

Issue/Introduction

Situation:

  • All the approver groups from an Environment have been mistakenly deleted
  • Endevor has deleted the approver group relationships when deleting the approver groups 
  • You keep a backup of the MCF datasets where the definitions are still present
  • There has been element activity in that environment so simply restoring the MCFs is not an option as it would corrupt any elements that have been updated since the backup was taken.

Resolution

The idea of the resolution is to restore the backup of the MCFs into another 'endevor' (that may be created for the event). Since the deleted definitions will be present in the new 'endevor', they may be extracted into SCL statements using the ENBE1000 utility and the generated statements may be used to rebuild the deleted definitions

1 - Create a temporary 'endevor' 

You need to assemble a C1DEFLTS table defining one environment (preferably with the same name as the affected environment) that points to the MCFs that you will restore from the backup media. The DSNs for the other control datasets (elmcatl, eindex, package, ACMRxxx) need to be unique to prevent any collision with other 'endevors'

You need to restore the backups of the MCFs into the DSNs named in the C1DEFLTS TYPE=ENVRNMNT macro.

You need also to define the other control datasets named in C1DEFLTS using the model jobs distributed in the CSIQJCL library

  • BC1JACMD for the ACMROOT and ACMXREF datasets
  • BC1JJB05 for the package dataset
  • BC1JJB07 for the element catalog

Finally, you need to run the BC1JXCNM utility in UPDATE mode so that the MCFs are marked with the DSN of the element catalog which is stored in C1DEFLTS. At this point, this temporary 'endevor' is ready to run

*** WARNING ***

You MUST NOT execute any action against any element in this 'endevor'. The MCFs may point to the DSN's of the base/delta libraries of the original 'endevor'. If an element is successfully updated here without the knowledge of the original 'endevor', it will be corrupted in the original 'endevor' 

2 - Run the ENBE1000 utility to extract the definitions

The sample JCL is in member ENBE1000 in the CSIQJCL library

The STEPLIB DD needs to load the C1DEFLTS that defines the temporary 'endevor'

The statements to run are

BUILD SCL FOR APPROVER GROUP *
        FROM ENVIRONMENT name
        TO DDNAME ddname
        .
BUILD SCL FOR APPROVER RELATION
       FROM ENVIRONMENT name
       APPROVER GROUP *
       TO DDNAME ddname
       .

 

The name of the environment is the one you have defined in the temporary 'endevor', which should match the name of the environment where the definitions were deleted. This way, the resulting DEFINE statements will have the correct environment name.

If the environment names do not match, then the generated DEFINE statements need to be edited to correct the environment name

3 - Run ENBE1000 utility to execute the generated DEFINE statements

This time, STEPLIB DD needs to load the C1DEFLTS that defines the original 'endevor. This way, the missing definitions will be recreated.