Hi,
In my system, one recipient has multiple source id which has different addresses attached to each source id.
I have a requirement of creating target mapping which should log the data into same Recipient delivery log (SourceID is already a existing column in Recipient delivery log) using sourceId as target dimension.
I have created the new target mapping without using linked data , reason if i use linked data to recipient any one address is picked and some time discarded by delivery because of no address populated against one of sourceId.
Other changes i have done is below:
Change in Recipient delivery log
<element integrity="normal" label="Source system" name="sourcesystem" noDbIndex="true" revIntegrity="normal"
revLabel="Recipient delivery logs" revLink="broadLog" target="av:sourcesystem"
type="link">
<join xpath-dst="@sourceId" xpath-src="@sourceId"/>
</element>
Now when i created new mapping and run campaign getting below failure message:
Configuration error: no link is defined to reach the targeting dimension 'ad:Source' from the custom delivery logs schema 'nms:broadLogRcp'.
------
XSV-350000 Unable to load document of identifier 'temp:forecastLog' and type 'xtk:schema'.
XSV-350000 Unable to load document of identifier 'temp:forecastLog' and type 'xtk:schema'.
------
error in delivery appears:
XSV-350122 An error occurred and the process has been stopped. SOP-330011 Error while executing the method 'PrepareMessage' of service 'nms:delivery'. SOP-330011 Error while executing the method 'PrepareMessageImpl' of service 'nms:delivery'. THEN 6 ELSE 0 END, CASE WHEN BL.iFailureReason = 127 THEN 8 WHEN BL.sTargetCode = E'__MAIN__' THEN 0 WHEN BL.sTargetCode = E'__BAT__' THEN 2 ELSE 4 END, GetDate(), GetDate(), BL.iMsgId, BL.sEventType,BL.iEventId,BL.sSegmentCode,
SQL log :
06/11/2017 13:46:47 delivery SQL: INSERT INTO wkf75845879_28_1_ALL(isourceID,iDeliveryId ) SELECT isourceID,75894670 FROM wkf75845879_27_1
06/11/2017 13:46:47 delivery SQL:... autovacuum_enabled=FALSE, toast.autovacuum_enabled=FALSE);
06/11/2017 13:46:47 delivery SQL: -- Log: Creating table 'wkf75845879_28_1_ALL' SELECT DropTableIfExists('wkf75845879_28_1_ALL'); CREATE UNLOGGED TABLE wkf75845879_28_1_ALL( iDeliveryId INTEGER NOT NULL Default 0, isourceID INTEGER Default 0, iTargetDataId SERIAL ) WITH (
WDB-200001 SQL statement 'INSERT INTO NmsBroadLogRcp (iBroadLogId, iDeliveryId, sAddress, iStatus, iFlags, tsEvent, tsLastModified, iMsgId, sEventType,iEventId,sSegmentCode,irecipientId,iSourceId,iStreetAddId,iCommonId,iSegmentId,iListId,iSourceId ) SELECT BL.iMessageId, 75894670, JuxtWords(BL.sLine1,E' ')||JuxtWords(BL.sLine2,E' ')||JuxtWords(BL.sLine3,E' ')||JuxtWords(BL.sLine4,E' ')||JuxtWords(BL.sLine5,E' ')||JuxtWords(BL.sLine6,E' ')||Coalesce(BL.sLine7,E''), CASE WHEN BL.iFailureReason
PGS-220000 PostgreSQL error: ERROR: column "iSourceId" specified more than once LINE 1: ...yId,iStreetAddressId,iCommonId,iSegmentId,iListId,iSourceId )... ^
can see in SQL sourceID is appearing twice in sql statement
can some one help.
thanks,
Kaushal