海量数据依靠机会

2020-09-28 14:18发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们,

我的要求是每天更新"闲置天数","机会"和"潜在闲置天数"是KUT字段。

我关注了c4c pdf和此博客 https://blogs.sap.com/2016/05/12/how-to-mass-data-run-for-update-standard-business-object/

我已经创建了自定义BO,并创建了脚本文件。

1)

将AP.Common.GDT导入为apCommonGDT;

businessobject CustomOppLead {

[AlternativeKey]元素ID:ID;

元素ZOppID:BusinessTransactionDocumentID;

元素IdleDays1:LANGUAGEINDEPENDENT_EXTENDED_Text;

操作UpdateIdleDays;

}

2)

进口ABSL;

导入AP.CRM.Global;

var indicator = true;

var isTrue = false;

var OpptQry = Opportunity.QueryByElements;

if(指标)

isTrue = true;

//var OpptSel = OpptQry.CreateSelectionParams();

//OpptSel.Add(OpptQry。," I"," EQ",this.SubmittedBy.content);

//OpptSel.Add(OpptQry.Status.LifeCycleStatusCode,"I"," EQ"," 4");

var OpptRes = OpptQry.Execute();

var OpprtCount = OpptRes.Count();

如果(OpprtCount> = 1){

var OpenOppt_sorted = OpptRes.OrderByDescending(n => n.ID.content);

foreach(OpenOppt_sorted中的var oppt_tab){

var CurrentDateTime = Context.GetCurrentGlobalDateTime();

var changesOnDateTime = oppt_tab.SystemAdministrativeData.LastChangeDateTime;

var CurrentDate = CurrentDateTime.ConvertToDate();

varchangedOnDate = changedOnDateTime.ConvertToDate();

var DateDifference = changedOnDate.Delta(CurrentDate).ConvertToDays();

this.IdleDays1 = DateDifference.ToString();

//oppt_tab.ZIdleDays.content = DateDifferenc;

//oppt_tab.ZIdleDays.unitCode =" DAY";

}

}

3)创建了查询。

4)创建了海量数据运行对象。

5)生成CustomOppLead.xbo和massdatarun.run屏幕的屏幕,这些屏幕可启用工作中心并能够查看html5中的视图

但是,当我安排了UpdateIdleDays脚本时,脚本正在调用但不执行代码行。

1)我的查询是如何更新机会库字段" ZIdleDays"

oppt_tab.ZIdleDays.content = DateDifferenc;

oppt_tab.ZIdleDays.unitCode =" DAY";

但这是不允许的,因为它只允许读取而不能写入对象。

感谢与问候,

SRINIVAS BORRA

(15.6 kB)

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家们,

我的要求是每天更新"闲置天数","机会"和"潜在闲置天数"是KUT字段。

我关注了c4c pdf和此博客 https://blogs.sap.com/2016/05/12/how-to-mass-data-run-for-update-standard-business-object/

我已经创建了自定义BO,并创建了脚本文件。

1)

将AP.Common.GDT导入为apCommonGDT;

businessobject CustomOppLead {

[AlternativeKey]元素ID:ID;

元素ZOppID:BusinessTransactionDocumentID;

元素IdleDays1:LANGUAGEINDEPENDENT_EXTENDED_Text;

操作UpdateIdleDays;

}

2)

进口ABSL;

导入AP.CRM.Global;

var indicator = true;

var isTrue = false;

var OpptQry = Opportunity.QueryByElements;

if(指标)

isTrue = true;

//var OpptSel = OpptQry.CreateSelectionParams();

//OpptSel.Add(OpptQry。," I"," EQ",this.SubmittedBy.content);

//OpptSel.Add(OpptQry.Status.LifeCycleStatusCode,"I"," EQ"," 4");

var OpptRes = OpptQry.Execute();

var OpprtCount = OpptRes.Count();

如果(OpprtCount> = 1){

var OpenOppt_sorted = OpptRes.OrderByDescending(n => n.ID.content);

foreach(OpenOppt_sorted中的var oppt_tab){

var CurrentDateTime = Context.GetCurrentGlobalDateTime();

var changesOnDateTime = oppt_tab.SystemAdministrativeData.LastChangeDateTime;

var CurrentDate = CurrentDateTime.ConvertToDate();

varchangedOnDate = changedOnDateTime.ConvertToDate();

var DateDifference = changedOnDate.Delta(CurrentDate).ConvertToDays();

this.IdleDays1 = DateDifference.ToString();

//oppt_tab.ZIdleDays.content = DateDifferenc;

//oppt_tab.ZIdleDays.unitCode =" DAY";

}

}

3)创建了查询。

4)创建了海量数据运行对象。

5)生成CustomOppLead.xbo和massdatarun.run屏幕的屏幕,这些屏幕可启用工作中心并能够查看html5中的视图

但是,当我安排了UpdateIdleDays脚本时,脚本正在调用但不执行代码行。

1)我的查询是如何更新机会库字段" ZIdleDays"

oppt_tab.ZIdleDays.content = DateDifferenc;

oppt_tab.ZIdleDays.unitCode =" DAY";

但这是不允许的,因为它只允许读取而不能写入对象。

感谢与问候,

SRINIVAS BORRA

(15.6 kB)
付费偷看设置
发送
1条回答
哎,真难
1楼 · 2020-09-28 14:59.采纳回答

你好Srinivas,

之所以无法更新,可能是因为您可能是在商机位于CRM部署部门下时在Foundation Deployment Unit中开发了您的解决方案,请尝试在当前解决方案中定义一个集成方案,因此BO的 的不同部署部门之间可以互相交谈,也可以在机会的同一部署部门中创建解决方案。 因此您可以对其进行编辑。

希望这会有所帮助。

谢谢

Gayathri

一周热门 更多>