Description
This service is for project management in SAP Business One.
Source table: OPMG.
Object Model
Example
| Adding a Project (C#) | Copy Code |
|---|
public int AddProject() { int absEntryOfCreatedProject = -1; SAPbobsCOM.CompanyService oCompServ = null; SAPbobsCOM.ProjectManagementService pmgService = null; try { // Company service oCompServ = (SAPbobsCOM.CompanyService)g_Company.GetCompanyService(); // ProjectManagementService pmgService = (SAPbobsCOM.ProjectManagementService)oCompServ.GetBusinessService(ServiceTypes.ProjectManagementService); // Add project SAPbobsCOM.PM_ProjectDocumentData project = (SAPbobsCOM.PM_ProjectDocumentData)pmgService.GetDataInterface(ProjectManagementServiceDataInterfaces.pmsPM_ProjectDocumentData); project.ProjectName = "ProjectByDI_01"; project.Owner = 1; project.StartDate = new DateTime(2016, 2, 1); project.DueDate = new DateTime(2016, 11, 30); project.ClosingDate = new DateTime(2016, 12, 31); project.ProjectType = ProjectTypeEnum.pt_External; project.BusinessPartner = "Customer_01"; project.BusinessPartnerName = "BP Name_01"; project.ContactPerson = 2; project.Territory = 1; project.SalesEmployee = 5; project.AllowSubprojects = BoYesNoEnum.tYES; project.ProjectStatus = ProjectStatusTypeEnum.pst_Started; project.FinancialProject = "FinProj_01"; project.RiskLevel = RiskLevelTypeEnum.rlt_High; project.Industry = 3; project.Reason = "Test comment"; project.AttachmentEntry = 1; SAPbobsCOM.PM_ProjectDocumentParams projectParam = pmgService.AddProject(project); absEntryOfCreatedProject = projectParam.AbsEntry; } catch (System.Exception ex) { throw new Exception(string.Format("Call PMG failed with error code: {0}", e.Message)); } finally { if (pmgService != null) { System.Runtime.InteropServices.Marshal.ReleaseComObject(pmgService); } } return absEntryOfCreatedProject; }
|
|
| Updating a Project (C#) | Copy Code |
|---|
public void UpdateProject() { SAPbobsCOM.CompanyService oCompServ = null; SAPbobsCOM.ProjectManagementService pmgService = null; try { oCompServ = (SAPbobsCOM.CompanyService)g_Company.GetCompanyService(); // ProjectManagementService pmgService = (SAPbobsCOM.ProjectManagementService)oCompServ.GetBusinessService(ServiceTypes.ProjectManagementService); // Update project SAPbobsCOM.PM_ProjectDocumentParams projectToUpdateParam = pmgService.GetDataInterface(ProjectManagementServiceDataInterfaces.pmsPM_ProjectDocumentParams); projectToUpdateParam.AbsEntry = 1; SAPbobsCOM.PM_ProjectDocumentData project = pmgService.GetProject(projectToUpdateParam); project.ProjectName = project.ProjectName + " Updated"; pmgService.UpdateProject(project); } catch (Exception e) { throw new Exception(string.Format("Call PMG failed with error code: {0}", e.Message)); } finally { if (pmgService != null) { System.Runtime.InteropServices.Marshal.ReleaseComObject(pmgService); } } }
|
|
| Canceling a Project (C#) | Copy Code |
|---|
public void CancelProject(int absEntry) { SAPbobsCOM.CompanyService oCompServ = null; SAPbobsCOM.ProjectManagementService pmgService = null; try { oCompServ = (SAPbobsCOM.CompanyService)g_Company.GetCompanyService(); // ProjectManagementService pmgService = (SAPbobsCOM.ProjectManagementService)oCompServ.GetBusinessService(ServiceTypes.ProjectManagementService); // Cancel project SAPbobsCOM.PM_ProjectDocumentParams projectToCancelParam = pmgService.GetDataInterface(ProjectManagementServiceDataInterfaces.pmsPM_ProjectDocumentParams); projectToCancelParam.AbsEntry = 1; pmgService.CancelProject(projectToCancelParam); } catch (Exception e) { throw new Exception(string.Format("Call PMG failed with error code: {0}", e.Message)); } finally { if (pmgService != null) { System.Runtime.InteropServices.Marshal.ReleaseComObject(pmgService); } } } |
|
| Add Document to Stage (C#) | Copy Code |
|---|
public void AddDocumentToStage() { try { CompanyService oCompServ = (SAPbobsCOM.CompanyService)g_Company.GetCompanyService(); ProjectManagementService pmgService = (SAPbobsCOM.ProjectManagementService)oCompServ.GetBusinessService(ServiceTypes.ProjectManagementService); SAPbobsCOM.PM_ProjectDocumentParams projectToUpdateParam = pmgService.GetDataInterface(ProjectManagementServiceDataInterfaces.pmsPM_ProjectDocumentParams); projectToUpdateParam.AbsEntry = 1; SAPbobsCOM.PM_ProjectDocumentData project = pmgService.GetProject(projectToUpdateParam); // add stage to the project SAPbobsCOM.PM_StagesCollection stagesCollection = project.PM_StagesCollection; SAPbobsCOM.PM_StageData stage = stagesCollection.Add(); stage.StageType = 1; stage.StartDate = DateTime.Now; stage.CloseDate = stage.StartDate.AddDays(30); stage.Task = 1; stage.Description = "StageWithDocByDI_01"; stage.ExpectedCosts = 150; stage.PercentualCompletness = 7; stage.IsFinished = BoYesNoEnum.tNO; stage.StageOwner = 5; stage.AttachmentEntry = 1; stage = stagesCollection.Add(); stage.StageType = 2; stage.StartDate = DateTime.Now.AddMonths(1); stage.CloseDate = stage.StartDate.AddDays(30); stage.Task = 2; stage.Description = "StageWithDocByDI_02"; stage.ExpectedCosts = 250; stage.PercentualCompletness = 8; stage.IsFinished = BoYesNoEnum.tNO; stage.StageOwner = 5; stage.DependsOnStage1 = 1; stage.StageDependency1Type = StageDepTypeEnum.sdt_Project; stage.DependsOnStageID1 = 1; // add document to the stage SAPbobsCOM.PM_DocumentsCollection documentsCollection = project.PM_DocumentsCollection; SAPbobsCOM.PM_DocumentData document = documentsCollection.Add(); document.StageID = 1; document.DocType = SAPbobsCOM.PMDocumentTypeEnum.pmdt_APCreditMemo; document.DocEntry = 7; pmgService.UpdateProject(project); MessageBox.Show("OK"); } catch (Exception e) { throw new Exception(string.Format("Call PMG failed with error code: {0}", e.Message)); } finally { if (pmgService != null) { System.Runtime.InteropServices.Marshal.ReleaseComObject(pmgService); } } }
|
|
| Adding a SubProject (C#) | Copy Code |
|---|
public void AddSubProject() { try { CompanyService oCompServ = (SAPbobsCOM.CompanyService)g_Company.GetCompanyService(); // ProjectManagementService ProjectManagementService phaService = (SAPbobsCOM.ProjectManagementService)oCompServ.GetBusinessService(ServiceTypes.ProjectManagementService); // Add subproject PM_SubprojectDocumentData subProject = phaService.GetDataInterface(ProjectManagementServiceDataInterfaces.pmsPM_SubprojectDocumentData); subProject.Owner = 4; subProject.SubprojectName = "SubProjectNameByDI_01_01"; subProject.StartDate = new DateTime(2016, 5, 1); subProject.DueDate = new DateTime(2016, 5, 15); subProject.SubprojectEndDate = new DateTime(2016, 5, 31); subProject.ProjectID = 1; subProject.SubprojectType = 1; subProject.SubprojectContribution = 15; subProject.SubprojectStatus = SubprojectStatusTypeEnum.sst_Open; subProject.ActualCost = 50; subProject.PlannedCost = 200; SAPbobsCOM.PM_SubprojectDocumentParams subprojectParam = phaService.AddSubproject(subProject); } catch (Exception e) { throw new Exception(string.Format("Call PHA failed with error code: {0}", e.Message)); } finally { if (pmgService != null) { System.Runtime.InteropServices.Marshal.ReleaseComObject(pmgService); } } }
|
|
See Also