如何将参数值从默认值更改为报表F8之后给出的值?

2020-08-31 22:19发布

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

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


在我的示例中,我想将month和year参数字段更改为其他值。 当我单击ENTER按钮时,月份和年份字段值将更改为默认值。
 我在示例中错过了逻辑,谁能解决我的问题?

 带框架的blck1块的选择屏幕开始。

 选择屏幕行的开始。

 参数:p选择RADIOBUTTON GROUP rad1默认'X'用户命令ucomm。

 选择屏幕注释(30)文本001。

 参数:p_month TYPE numc2 MODIF ID mnt,
             p_year TYPE numc4 MODIF ID yer。

 选择屏幕行尾。

 选择屏幕行的开始。

 参数:pdate RADIOBUTTON GROUP rad1。

 选择屏幕注释(30)文本002。

 参数:p_date1 TYPE sy-datum MODIF ID dt。

 选择屏幕行尾。

 块blck的选择屏幕结束。

 选择屏幕输出时。

   环视屏幕。

     如果pselect ='X'。

       如果screen-group1 ='DT'。

         屏幕输入='0'。

         p_date1 =''。

         p_year = sy-datum + 0(4)。

         p_month = sy-datum + 4(2)。

         修改屏幕。

       万一。

     ELSEIF pdate ='X'。

       p_year =''。

       p_month ="。

       p_date1 = sy数据。

       如果screen-group1 ='MNT'。

         屏幕输入='0'。

         修改屏幕。

       万一。

       如果screen-group1 ='YER'。

         屏幕输入='0'。

         修改屏幕。

       万一。

     万一。

   ENDLOOP。

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

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


在我的示例中,我想将month和year参数字段更改为其他值。 当我单击ENTER按钮时,月份和年份字段值将更改为默认值。
 我在示例中错过了逻辑,谁能解决我的问题?

 带框架的blck1块的选择屏幕开始。

 选择屏幕行的开始。

 参数:p选择RADIOBUTTON GROUP rad1默认'X'用户命令ucomm。

 选择屏幕注释(30)文本001。

 参数:p_month TYPE numc2 MODIF ID mnt,
             p_year TYPE numc4 MODIF ID yer。

 选择屏幕行尾。

 选择屏幕行的开始。

 参数:pdate RADIOBUTTON GROUP rad1。

 选择屏幕注释(30)文本002。

 参数:p_date1 TYPE sy-datum MODIF ID dt。

 选择屏幕行尾。

 块blck的选择屏幕结束。

 选择屏幕输出时。

   环视屏幕。

     如果pselect ='X'。

       如果screen-group1 ='DT'。

         屏幕输入='0'。

         p_date1 =''。

         p_year = sy-datum + 0(4)。

         p_month = sy-datum + 4(2)。

         修改屏幕。

       万一。

     ELSEIF pdate ='X'。

       p_year =''。

       p_month ="。

       p_date1 = sy数据。

       如果screen-group1 ='MNT'。

         屏幕输入='0'。

         修改屏幕。

       万一。

       如果screen-group1 ='YER'。

         屏幕输入='0'。

         修改屏幕。

       万一。

     万一。

   ENDLOOP。
付费偷看设置
发送
4条回答
xfwsx85
1楼-- · 2020-08-31 22:46

最简单的方法是添加以下条件:

如果p_year是INITIAL。  " <====添加此行
   p_year = sy-datum + 0(4)。
   p_month = sy-datum + 4(2)。
 万一。  " <====添加此行
Alawn_Xu
2楼-- · 2020-08-31 23:03

在F8之后,您无需更改某些内容,因为您不想再询问用户了...

参数 p_toto输入char10。

选择开始。

p_toto = cond#(当p_toto ='titi'时则是'tutu'else p_toto)。

闻人可可
3楼-- · 2020-08-31 22:57

Anusha anusha

您需要了解程序的作用,

根据您的程序,无论您在"月"和"年"字段中输入什么内容,都要求您根据当前程序默认设置值。

>

您所需要的只是 Sandra Rossi 建议的一个简单的调整,请确保值是 仅当用户未输入该值时才默认该值,换句话说,仅当它们为空时才默认该值。

以下代码应为您完成工作!

选择屏幕开始 带框架的blck1块。

 选择屏幕行的开始。
 参数:p选择RADIOBUTTON GROUP rad1默认'X'用户命令ucomm。
 选择屏幕注释(30)文本001。
 参数:p_month TYPE numc2 MODIF ID mnt,
             p_year TYPE numc4 MODIF ID yer。
 选择屏幕行尾。

 选择屏幕行的开始。
 参数:pdate RADIOBUTTON GROUP rad1。
 选择屏幕注释(30)文本002。
 参数:p_date1 TYPE sy-datum MODIF ID dt。
 选择屏幕行尾。
 块blck的选择屏幕结束。

 选择屏幕输出时。
   环视屏幕。
     如果pselect ='X'。
       如果screen-group1 ='DT'。
         屏幕输入='0'。
         p_date1 =''。

         如果p_year是初始的。
           p_year = sy-datum + 0(4)。
         万一。

         如果p_month是初始的。
          p_month = sy-datum + 4(2)。
         万一。

         修改屏幕。
       万一。
     ELSEIF pdate ='X'。
       p_year =''。
       p_month ="。
      
       如果p_date1是初始的。
        p_date1 = sy数据。
       万一。

       如果screen-group1 ='MNT'。
         屏幕输入='0'。
         修改屏幕。
       万一。

       如果screen-group1 ='YER'。
         屏幕输入='0'。
         修改屏幕。
       万一。
     万一。
   ENDLOOP。
Doze时光
4楼-- · 2020-08-31 22:47

我无法在示例中的"参数的月份和年份"屏幕参数字段中设置另一个值吗?

有人可以告诉我该怎么做吗?

一周热门 更多>