如何基于选择屏幕上的单选按钮在前台和后台执行报告?

2020-09-09 10:14发布

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

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


大家好,

我有一个选择屏幕,其中包含两个单选按钮1.前景2.背景。 每当用户选择特定的单选按钮时,都必须以相应的模式执行报告。 目前,我已经编写了一份有关前台执行的报告,并且每当用户选择"后台"按钮时,我都会使用SUBMIT,JOB_OPEN和JOB_CLOSE调用另一个程序(上一个程序的副本)。 因此,存在两个重复的程序,这使得程序需要进行双重维护,并且对于特定版本是否需要更改也可能造成混淆。

还有其他方法可以满足我的要求吗?

谢谢。

此致

Ramesh

选择screen.jpg (41.6 kB)

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

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


大家好,

我有一个选择屏幕,其中包含两个单选按钮1.前景2.背景。 每当用户选择特定的单选按钮时,都必须以相应的模式执行报告。 目前,我已经编写了一份有关前台执行的报告,并且每当用户选择"后台"按钮时,我都会使用SUBMIT,JOB_OPEN和JOB_CLOSE调用另一个程序(上一个程序的副本)。 因此,存在两个重复的程序,这使得程序需要进行双重维护,并且对于特定版本是否需要更改也可能造成混淆。

还有其他方法可以满足我的要求吗?

谢谢。

此致

Ramesh

选择screen.jpg (41.6 kB)
付费偷看设置
发送
12条回答
小c菟菟
1楼 · 2020-09-09 10:59.采纳回答

您可以使用一个程序轻松完成此操作。 只要用户选中了后台选项,只要选中了前台选项就可以触发后台作业。 现在,当选中前台选项时,程序将只执行其操作。

落灬小鱼
2楼-- · 2020-09-09 11:05

Hello Gerrit,

感谢您的示例。

问题解决了。

此致

Ramesh

软件心理学工程师
3楼-- · 2020-09-09 10:53

您还可以使用一个报告和一个技巧作为

TABLES:sscrfields。

参数:p_foregr RADIOBUTTON GROUP作业,

p_backgr RADIOBUTTON GROUP作业。

在选择屏幕上。

IF(sscrfields-ucomm均衡器'ONLI'或sscrfields-ucomm均衡器'PRIN')

并且p_backgr不是初始的

和sy-batch是初始的。

sscrfields-ucomm ='SJOB'。

ENDIF。

此致

Raymond

粗暴的香蕉
4楼-- · 2020-09-09 10:42

你好Raymond,

谢谢您的答复。

我已经在您以前的一篇文章中看到了这段代码,并在我的报告中使用了它,但是它正在生成一些对话屏幕,用于填充背景打印参数,时间等。我的用户不想处理这些屏幕,他 每当他以BG模式执行报告时,都直接希望后台打印。

我不知道如何限制这些屏幕,所以才使用SUBMIT语句。

此致

Ramesh

nice_wp
5楼-- · 2020-09-09 10:49

嗨Ram,

那么,您在这里的困惑到底是什么。 似乎您已在同一程序中同时放置了前景代码和背景代码,它应该可以工作...

如果您询问如何使用此单选按钮,则必须将其设置为IF-ELSE条件 :

如果是前台,则调用您的方法以在屏幕上显示报告(ALV/Wrte语句),如果是背景,则调用ELSE,请调用"先前程序代码的副本"。 如果这是您的查询,则应该可以使用。

-ags

SC_Yao
6楼-- · 2020-09-09 10:46

Ags

感谢您的答复。

我有两个程序ZPGM(具有选择屏幕,包含两个单选按钮,用于前台运行)和ZPGM_BG(不具有选择屏幕,它将从ZPGM提取,用于后台运行)。 这两个程序包含相同的逻辑(我们可以将这两个称为重复)。

每当用户选择前景单选按钮时,progaram ZPGM将直接执行,如果他选择了背景单选按钮,则将使用SUBMIT语句从ZPGM调用程序ZPGM_BG并创建一个JOB。

在这里我的要求是,因为两个程序ZPGM和ZPGM_BG具有几乎相同的逻辑,所以我不需要两个程序,但是我应该只有一个程序ZPGM,它可以基于单选按钮在前台和后台运行。

希望您现在得到了我的要求。

此致

Ramesh

7楼-- · 2020-09-09 10:48

嗨,

我们有一个名为sy-batch的系统变量(用于Program在后台运行)。

如果程序在后台运行,则在前台运行时会显示" X",然后会空格。

注意

1。将所有代码放入适当的Perform中以进行代码模块化。

2.in 程序使用系统变量

如果sy-batch ='X'。

<背景活动>

其他

<地面活动>

endif。

一周热门 更多>