[{TableOfContents }]

!!!Deep Copy Facility

In order to reduce the amount of duplicate data entries, [{$applicationname}] utilizes the Deep Copy facility.

!!Features
*Deep Copy allows certain selected form tables to have their values and dependant records copied to a new record.
*All user fields and notes are copied
*Deep Copy allows the user to change Unique Key information prior to the copy taking place.  
*A dialog is displayed containing the COPY form definition for the table in focus.
*Tables have the ability to flag (conditionally) that the deep copy feature is not allowed
*The Deep Copy function on each form can be customized at the form level (individual screen) to meet individual business requirements.

%%information Please Note:\\
*No date sensitive child can initiate a deep copy 
*Most employee records will NOT have the ability to be deep copied.
*Only current effective record is copied and Effective/Expiry set to BOT/EOT (Beginning Of Time / End Of Time) respectively. 
*Deep copy function is NOT available in Self Service.
*Since the Deep Copy takes place at the database level, the changes are saved immediately.%%

!!Using the Deep Copy Function.
Each form window has a toolbar at the top containing icons for commonly used actions. 

The Deep Copy action is seen in the screen shot as the copy icon.
[deep_copy_icon.jpg]
This icon allows the user to easily create new records by duplicating the record from the currently selected and highlighted field provided that the Deep Copy icon is active and not grayed out.
Users can also access the Deep Copy function by selecting the record and hitting the F5 key.

To perform a deep copy:

# Select the current date sensitive record to be deep copied from the date sensitive navigator.
# Select the Code field. 
# Click on the Deep Copy icon in the toolbar or hit F5. A separate dialog window will open.
# Enter a new Job and Unit code in the fields provided. These fields allow you to change the unique key information prior to the copy taking place. In this example, when copying jobs, both the Job and Unit codes have the ability to be changed.
# Once the data has been entered, select the “Copy” button. 
# Another window displaying the results of the Deep Copy attempt will be opened.  
# Once you select OK, the focus in the form will be on the newly copied record.\\The newly created record will have a BOT/EOT (Beginning / End of time) date range on the date sensitive navigator.  You now have the ability to update the date ranges to the desired values.  You should update the title and description fields along with any other data values that require changes. 
# Select Save.

!!SETUP/ IMPLEMENTATION  IMFD > FORM LAYOUT 
To allow users to copy all date-sensitive children in a copy you must manually add the COPY_ALL_CHILDREN toggle to the COPY form definition, If the toggle is not added to the COPY form definition, the Deep Copy functionality remains unchanged. If the toggle is added, the Deep Copy functionality copies all children only if the toggle is turned on. 
 
Each business class can conditionally turn off the deep copy feature by returning a false form from the Allow Deep Copy method.
The record which is chosen for Deep Copy is based on the field which is selected in a form.
For a deep copy to be allowed on a table a COPY screen must exist.  The system will look for a screen that starts with the letter Cxxx and then the table alias.  For the Jobs table, a screen by the name of CDJB will signify that a deep copy is allowed and the screen will be displayed when the deep copy action is performed on that Jobs table. 
The Cxxx screens are HLC supplied.

[{If var='loginstatus' contains 'authenticated'

----
![Discussion|Edit:Internal.DEEP_COPY_FACILITY] 	
[{InsertPage page='Internal.DEEP_COPY_FACILITY' default='Click to create a new discussion page'}] 	

}]