Search code examples
c#sapb1sap-business-one-di-api

SAP Business One Add BP Campaign Using C#


I want to generate a campaign of Business Partner in SAP B1 using DIAPI. Can anyone helpme with this.


Solution

  • From the Campaign in SAP Business One SDK article I can see the following example codes:

    Create a Campaign Document using DI API:

    SAPbobsCOM.CampaignsService oCampaignService = oCompany.GetCompanyService().GetBusinessService(SAPbobsCOM.ServiceTypes.CampaignsService);
    SAPbobsCOM.Campaign oCampaign = oCampaignService.GetDataInterface(SAPbobsCOM.CampaignsServiceDataInterfaces.csCampaign);
    SAPbobsCOM.CampaignParams oCampaignParams = (SAPbobsCOM.CampaignParams)oCampaignService.GetDataInterface(SAPbobsCOM.CampaignsServiceDataInterfaces.csCampaignParams);
    oCampaign.TargetGroupType = SAPbobsCOM.TargetGroupTypeEnum.tgtCustomer;
    oCampaign.StartDate = DateTime.Today;
    oCampaign.FinishDate = DateTime.Today.AddYears(1);
    oCampaign.Remarks = "This is a test for Campaign using DI API.";
    oCampaign.CampaignName = "TEST Campaign";
    oCampaign.CampaignBusinessPartners.Add().BPCode = "C20000";
    oCampaign.CampaignItems.Add().ItemCode = "A00001";
    oCampaign.AttachementsEntry = 2; // AbsEntry from the OATC Table
    oCampaignService.Add(oCampaign);
    

    Update a Campaign Document using DI API:

    SAPbobsCOM.CampaignsService oCampaignService = oCompany.GetCompanyService().GetBusinessService(SAPbobsCOM.ServiceTypes.CampaignsService);
    SAPbobsCOM.Campaign oCampaign = oCampaignService.GetDataInterface(SAPbobsCOM.CampaignsServiceDataInterfaces.csCampaign);
    SAPbobsCOM.CampaignParams oCampaignParams = (SAPbobsCOM.CampaignParams)oCampaignService.GetDataInterface(SAPbobsCOM.CampaignsServiceDataInterfaces.csCampaignParams);
    oCampaignParams.CampaignNumber = 2;
    oCampaign = oCampaignService.Get(oCampaignParams);
    oCampaign.CampaignItems.Add().ItemCode = "A00002";
    oCampaignService.Update(oCampaign);
    

    Cancel a Campaign Document using DI API:

    SAPbobsCOM.CampaignsService oCampaignService = oCompany.GetCompanyService().GetBusinessService(SAPbobsCOM.ServiceTypes.CampaignsService);
    SAPbobsCOM.Campaign oCampaign = oCampaignService.GetDataInterface(SAPbobsCOM.CampaignsServiceDataInterfaces.csCampaign);
    SAPbobsCOM.CampaignParams oCampaignParams = (SAPbobsCOM.CampaignParams)oCampaignService.GetDataInterface(SAPbobsCOM.CampaignsServiceDataInterfaces.csCampaignParams);
    oCampaignParams.CampaignNumber = 3;
    oCampaignService.Cancel(oCampaignParams);
    

    Remove/Delete a Campaign Document using DI API:

    SAPbobsCOM.CampaignsService oCampaignService = oCompany.GetCompanyService().GetBusinessService(SAPbobsCOM.ServiceTypes.CampaignsService);
    SAPbobsCOM.Campaign oCampaign = oCampaignService.GetDataInterface(SAPbobsCOM.CampaignsServiceDataInterfaces.csCampaign);
    SAPbobsCOM.CampaignParams oCampaignParams = (SAPbobsCOM.CampaignParams)oCampaignService.GetDataInterface(SAPbobsCOM.CampaignsServiceDataInterfaces.csCampaignParams);
    oCampaignParams.CampaignNumber = 3;
    oCampaignService.Delete(oCampaignParams);
    

    Is there something specific you would need help in?