从一个详细记录到下一个详细记录的变量

2020-08-26 01:56发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我已经成功使用共享变量从子报表中...

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

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


我已经成功使用共享变量从子报表中提取数据,但是我需要将一个详细记录上的任务的开始日期与另一个详细记录上的任务的结束日期进行比较。 我尝试创建Local sharedCNRStartDate变量,但是如您所见,当Que为<>" Hold-For-CNR"

时,该变量为空

我有一个变量cnr1StartDate设置为
Local DateVar cnr1StartDate:=如果{RSS_TRACKING.QUE} =" HOLD-FOR-CNR"则为date({RSS_TRACKING.READY_DATE})

并将sharedCNR1StartDate设置为
Local DateVar CNR1StartDate:= {@ cnr1StartDate}

这是比较这些不同记录上的日期的最佳方法吗?

如果是这样,我需要对公式进行哪些更改? (或者也许我需要完全废弃我的公式?)

提前谢谢!

capture.jpg (29.6 kB)
3条回答
haha101010
2020-08-26 02:08

问题是您使用的是"本地"关键字,该关键字将变量范围限制为当前公式。 另外,使用" HOLD-FOR-CNR"始终是项的第一条记录吗? 如果不是,则需要在每个项目的开头重置该变量。

假设您要将数据分组到该项目上(例如,以" ALMANEQ1001"结尾的值,我可能会更改 公式如下:

 WhilePrintingRecords;
 DateVar cnr1StartDate;
 如果OnFirstRecord或{MyTable.ItemNo} <>上一页({MyTable.ItemNo}),则
   cnr1.StartDate:= null;
 如果{RSS_TRACKING.QUE} =" HOLD-FOR-CNR",则日期({RSS_TRACKING.READY_DATE})
 

然后,要比较另一条记录的值,您将执行以下操作以获取两个日期之间的天数:

 WhilePrintingRecords;
 DateVar cnr1StartDate;
 如果{RSS_TRACKING.QUE} =" PARTNERCMPT-D",则cnr1StartDate-date({RSS_TRACKING.READY_DATE})否则0 

-戴尔

一周热门 更多>