Hello, Wade.
As you already know CommunicationInfoVS is a view set with different view areas. Among others there is a Dnis view area. If you look in runtime repository of the component ICCMP_HDR_CNTNT you'll find view ICCMP_HDR_CNTNT/CommDnis assigned to this view area.
The place where the system puts DNIS is in CommDnis.htm file:
<div id="CONTEXTAREA_MCMDISPLAY_DNIS" class="ctx_component_mcm_dnis" style="position:relative;float:left;width:100%;"> </div>
And here starts more interesting things. System sets DNIS (and sometimes other things in IC) in such a way that it uses only the id of this div element to find it in javascript code. Then it updates the content of this div. Quite common practice I should say.
The place where system do this is in CRMCMP_IC_FRAME application. Header_jscripts.js file.
I'd suggest to examine some functions from there in the following order:
- ContextArea.prototype.getDnisDisplayElement
- ContextAreaMCMDisplay.prototype.setDnis
- updateVisualState
- mContact_updateFromMessage
- wsb_ConStarted
I've personally never seen any BAdI to modify DNIS easily.