Technical description
The Copy Document Pattern objects are a Processing Only Report that calls into an internal function called the Codeunit. The Report object needs to understand the valid options to copy the data around. We can, for example, copy a Posted Sales Shipment to a Sales Order, but we cannot copy a Sales Order to a Posted Sales Invoice.
The direction where we copy the data always needs to be an unprocessed document.
Validation logic
Unlike the posting pattern, we cannot only use TRANSFERFIELDS. We need to apply business logic that checks if the values are still valid. If we copy a document that has been in the archive for a year, the Product Master Data might be discontinued. Each Document has a unique set of validation protocols that follow functional data entry patterns. This protocol should be used in the Copy Document functions.
This following screenshot illustrates the validation logic to create a Sales Line:
This means that if the validation logic in the Document...