在选择选项中提供默认日期范围?

2020-08-26 08:06发布

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

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


当我这样做

 SELECT-OPTIONS rangeDat,用于VBAK-ERDAT默认sy-data到sy-data NO-EXTENSION。

我得到输入屏幕,以输入一个包含当前日期的低值和高值的范围。

但是,如果我将低sy-datum替换为以下变量:

 DATA lowDate TYPE数据。
 lowDate = sy数据。

 SELECT-OPTIONS rangeDat,用于VBAK-ERDAT默认lowdate到sy-data否扩展。
 

然后低值显示为空白而不是预先填充。

为什么会这样?

(3.1 kB)

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

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


当我这样做

 SELECT-OPTIONS rangeDat,用于VBAK-ERDAT默认sy-data到sy-data NO-EXTENSION。

我得到输入屏幕,以输入一个包含当前日期的低值和高值的范围。

但是,如果我将低sy-datum替换为以下变量:

 DATA lowDate TYPE数据。
 lowDate = sy数据。

 SELECT-OPTIONS rangeDat,用于VBAK-ERDAT默认lowdate到sy-data否扩展。
 

然后低值显示为空白而不是预先填充。

为什么会这样?

(3.1 kB)
付费偷看设置
发送
2条回答
哎,真难
1楼 · 2020-08-26 08:22.采纳回答

如果您已调试程序,则可能会看到显示选择屏幕时,内核不会进行lowDate初始化。

1)不要被以下命令的顺序所误解 SELECT-OPTIONS语句不是经典的语句:它不会在运行时执行,在激活程序以创建"选择屏幕"对象(默认情况下为"默认选择屏幕",即dynpro编号1000)时,通常会对其进行解释。

2)为什么不执行lowDate:启动程序时,在显示默认选择屏幕之前,内核按以下顺序执行放置在三个事件块之后的语句:

< ul>
  • 加载程序
  • 初始化
  • 在选择屏幕输出
  • 这些块之前的任何语句都属于事件块START -OF-SELECTION,如果用户按下Execute按钮,则仅在显示选择屏幕后才执行此事件。

    3)解决方案:例如,添加语句" INITIALIZATION"。 在lowDate初始化之前。

    更多信息: ABAP文档可执行程序的流程

    我是小鹏鹏啊
    2楼-- · 2020-08-26 08:19

    "初始化"和"选择屏幕输出"均无效。 程序加载成功! 谢谢。

    一周热门 更多>