@yansu , any field is fine.
Use the same script, but Replace the below @intenalName and @start with your campaign attribute, like expr="@campaignField1" expr="@campaignField2"
<node expr="@internalName"/><node expr="@start"/>
and inside for each loop, modify delivery.deliveryCode with delivery.deliveryNewAttribute
delivery.deliveryCode = eventT.@start;
To be clear, If you create 2 new attribute in campaign as @campaignField1 and @campaignField2
And create 2 new attribute in delivery as @deliveryField1 and @deliveryField2,
The script should be like,
var query = xtk.queryDef.create(<queryDef schema="nms:operation" operation="select"><select><node expr="@id"/><node expr="@campaignField1"/><node expr="@campaignField2"/></select>
<where><condition expr={"@id = '"+instance.operation_id+"'"}/></where>
</queryDef>);
var eventExistss = query.ExecuteQuery();
for each (var eventT in eventExistss.operation)
{
delivery.deliveryField1 = eventT.@campaignField1;
delivery.deliveryField2 = eventT.@campaignField2;
}
Note: This value will be reflected in delivery schema, and delivery created.
But in Campaign UI, while editing the delivery, or in delivery activity, these values wont get reflect in activity.