Если мы сибелёвским адаптером обращаемся(обновляем/создаём/редактируем и т.д.) к главному БК в БО то всё понятно. Пример этого:
DECLARE CampmemSMS NAMESPACE '
http://www.ibm.com/xmlns/prod/wbi/j2ca/siebel/bocampaignmemberssmsbccampaignmemberssms';
SET OutputRoot.DataObject.CampmemSMS:BOCampaignMembersSMSBCCampaignMembersSMS.CampaignId=Environment.CampaignId;
SET OutputRoot.DataObject.CampmemSMS:BOCampaignMembersSMSBCCampaignMembersSMS.Id=ref.(XMLNSC.Attribute)ClientId;
SET OutputRoot.DataObject.CampmemSMS:BOCampaignMembersSMSBCCampaignMembersSMS.Status='передано';
SET OutputRoot.DataObject.CampmemSMS:BOCampaignMembersSMSBCCampaignMembersSMS.Comments=SUBSTRING(ref from 1 for 1499);
Однако если мы хотим работать с БК не являющимся главным компонентов в БО, то начинаются проблемы. Во первых нельзя просто создать адаптер нацеленный на произвольный БК в пределах БО (если не включать главный БК в данном БО). Просто нельзя.
То есть придётся в любом случае включать главный БК в пределах данного БО даже если мы обращаемся к другому (не главному) БК. Однако и это ещё не всё. Обращаться нужно через так называемый контейнер (смотри что создаётся в МессаджСете при создании адаптера включающего главный БК в пределах БО и какой-нибудь ещё БК).
InputRoot.DataObject.CampmemContainerSMS:BOCampaignMembersSMSBCCampaignMembersSMSContainer[<].BOCampaignMembersSMSBCCampaignMembersSMS[<].TreatmentId;
DECLARE CampmemContainerSMS NAMESPACE '
http://www.ibm.com/xmlns/prod/wbi/j2ca/siebel/bocampaignmemberssmsbccampaignmemberssmscontainer';
DECLARE CampmemSMS NAMESPACE '
http://www.ibm.com/xmlns/prod/wbi/j2ca/siebel/bocampaignmemberssmsbccampaignmemberssms';
Важное примечание: В случае если вы добавляете новый сибелёвский адаптер настроенный на БО уже использующийся в другом адаптере в данном потоке и кладёте его в тот же самый мессадж-сет. То вы должны учитывать, что поведение других адаптеров настроенных на данный бо может измениться так как это поведение храниться в месадж-сете, а вы как раз его и изменяете. Выход есть. Создавайте другой мессадж-сет.