点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨!
我创建了一个名为ProjectbaselineCostCenters的自定义BO,该BO具有一个名为Studiengange的[0,n]节点,该节点是德语成本中心的翻译。 我在BeforeSave事件中的ProjectBaseline BO扩展中编写了此逻辑。
导入ABSL; 将AP.Common.GDT导入为apCommonGDT; 进口AP.FO.MOM.Global; 导入AP.ProjectManagement.Global; var ProjectbaselineCostCenter = ProjectbaselineCostCenters.Retrieve(this.UUID); 如果(!ProjectbaselineCostCenter.IsSet()) { //基线 var pbData:ProjectbaselineCostCenters的元素; var pbccData:ProjectbaselineCostCenters的元素。 var pbccsData:ProjectbaselineCostCenters元素的集合。 //项目 var query = Project.QueryByCreationIdentity; var para = query.CreateSelectionParams(); para.Add(query.ProjectID.content," I"," EQ",this.BaseProjectID.content); var project = query.Execute(para); 如果(project.Count()> 0) { var ProjectCostCentersInstance = ProjectCostCenters.Retrieve(project.GetFirst()。UUID); foreach(ProjectCostCentersInstance.Studiengange中的var cc) { pbccData.Studiengang = cc.Studiengang; pbccData.StudiengangsID = cc.StudiengangsID; pbccsData.Add(pbccData); } pbData.BaseProjectID = this.BaseProjectID; pbData.ProjectbaselineUUID = this.UUID; ProjectbaselineCostCenter = ProjectbaselineCostCenters.Create(pbData); 如果(ProjectbaselineCostCenter.Studiengange.Count()<1) { ProjectbaselineCostCenter.Studiengange.CreateMass(pbccsData); //在这里转储!!!!!! } } }
我想在每次创建项目基线时都创建一个ProjectbaselineCostCenters对象。 我写了上面的逻辑,但是我在第57行有空异常,例如57。 那里有什么问题?
谢谢
Mousa
Mousa,
您具有以下代码段。 在调用.Create()之后,您无需检查是否设置了ProjectbaselineCostCenter ---所以我的猜测是"如果(ProjectbaselineCostCenter.Studiengange.Count()<1)"是崩溃的行,因为它正在尝试访问 可能不存在的对象的Studiengange节点。
Mousa,
创建并不总是成功的---在创建几乎任何对象时都会发生很多事情,因此,真正值得检查任何关联或变量总是值得的。 很高兴我可以提供帮助。
刘易斯
一周热门 更多>