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

2020-08-26 01:56发布

         点击此处--->   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)

         点击此处--->   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
1楼-- · 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 

-戴尔

jovirus
2楼-- · 2020-08-26 02:15

谢谢 非常感谢您的帮助! 不幸的是,每条记录我仍然得到0。 我再次将else子句更改为24来帮助解决问题,并获得了以下内容。

空代码
3楼-- · 2020-08-26 02:24

在这一点上,我认为我需要查看报告本身。 如果您访问我的网站- http://www.dellstinnett.com ,则会找到我的电子邮件地址。 如果可以的话,将报告与数据一起保存并发送给我。 如果有机会,我会看一下。 您使用的是哪个版本的Crystal?

-戴尔

一周热门 更多>