I was asked the question how to enhance the Dependent Object (DO) Transportation Charges.
In general, DOs like Address, TextCollection and Attachment Folder are not extensible. They are reuse DOs not owned by TM and they do not appear in the Enhancement Worbench as objects that you can create an enhancement object for (i.e. BOPF does not support extensions of these kind of DOs).
The DO Transpotation Charges /SCMTMS/TCC_TRNSP_CHRG in turn can be enhanced via the Enhancement Workbench like you may already know it form other TM BOs (e.g. /SCMTMS/TOR or /SCMTMS/TRQ, etc.). This Do is configired and defined to be extensible.
The only thing you have to keep in mind is the following.
- A DO is reused in different BOs, eventually even multiple times in the same BO.
- You can not enhance it directly via the Enhancement Object of the BO where the DO is included.
- Instead you need to start the Enhancement Workbench and create a separate Enhancement Object for DO /SCMTMS/TCC_TRNSP_CHRG.
- With this separate Enhancement Object you can then create all kinds of enhancements that you might know already from the TM BOs.
But also keep in mind:
- Any enhancement on the DO /SCMTMS/TCC_TRNSP_CHRG will be visible and (if not caught correctly) executed by each BO that includes the DO.
- So Field Extensions on this DO will be available in all BOs that reusethe DO, i.e. if the extension is required only in one BO the others nevertheless carry around these fields although not needed there.
- For BOs that do not require the enhancement this can lead to unwanted executions of enhancement functionality and performance issues if not done correctly. Make sure that your enhancements only get executed where required.
- This is especially an issue with Determinations and Validations. They must be implemented in a way that they get only executed where really required.