动态脚本中用于程序包运行选择的复选框BPC NW 10 NW

2020-08-20 22:42发布

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

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


嗨朋友,

在程序包运行中,选择"维度"而不是"需要下拉框"复选框以选择动态脚本中的成员

以下示例"运行软件包选择"

下面的更多详细信息: 实体尺寸

复选框:XYZ

复选框:ABC

复选框:123

用户要选中所有三个复选框并运行一个时间包。

感谢Kishore

runpackage.jpg (5.7 kB)

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

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


嗨朋友,

在程序包运行中,选择"维度"而不是"需要下拉框"复选框以选择动态脚本中的成员

以下示例"运行软件包选择"

下面的更多详细信息: 实体尺寸

复选框:XYZ

复选框:ABC

复选框:123

用户要选中所有三个复选框并运行一个时间包。

感谢Kishore

runpackage.jpg (5.7 kB)
付费偷看设置
发送
6条回答
95年老男孩
1楼 · 2020-08-20 23:17.采纳回答

我只能用RADIOBUTTON提出一个不太好的方案:

 PROMPT(RADIOBUTTON,%E1%," Select DE",DE,{" Yes,DE"," No,Empty"},{  " DE",""})
 提示(无线电按钮,%E2%,"选择FR",FR,{"是,FR","否,空"},{" FR",""}))
 ... 

每行将为用户提供一个包含或排除某些实体的选项,结果将存储在某些行变量(E1,E2 ...)中。

全部 提到的变量必须使用REPLACEPARAM传递到脚本lgf文件:

 INFO(%EQU%,=)
 INFO(%TAB%,;)
 任务(/CPMB/DEFAULT_FORMULAS_LOGIC,TAB,%TAB%)
 任务(/CPMB/DEFAULT_FORMULAS_LOGIC,EQU,%EQU%)
 任务(/CPMB/DEFAULT_FORMULAS_LOGIC,REPLACEPARAM,E1%EQU %% E1 %% TAB%E2%EQU %% E2%)
 

LGF脚本:

 * SELECT(%EN%,ID,ENTITY,ID = $ E1 $,$ E2 $)
 * XDIM_MEMBERSET ENTITY =%EN%

ENTITY的范围取决于用户的选择!

代楠1984
2楼-- · 2020-08-20 23:14

3个成员的演示:
高级脚本:

 PROMPT(RADIOBUTTON,%E1%," Select DE",DE,{" Yes,DE"," No,Empty"},{" DE",""})
 提示(无线电按钮,%E2%,"选择FR",FR,{"是,FR","否,空"},{" FR",""}))
 提示(无线电按钮,%E3%,"选择美国",美国,{"是,美国","不,空"},{"美国",""}))
 INFO(%EQU%,=)
 INFO(%TAB%,;)
 任务(/CPMB/DEFAULT_FORMULAS_LOGIC,TAB,%TAB%)
 任务(/CPMB/DEFAULT_FORMULAS_LOGIC,EQU,%EQU%)
 任务(/CPMB/DEFAULT_FORMULAS_LOGIC,REPLACEPARAM,E1%EQU %% E1 %% TAB%E2%EQU %% E2 %% TAB%E3%EQU %% E3%)
 任务(/CPMB/DEFAULT_FORMULAS_LOGIC,SUSER,%USER%)
 任务(/CPMB/DEFAULT_FORMULAS_LOGIC,SAPPSET,%APPSET%)
 任务(/CPMB/DEFAULT_FORMULAS_LOGIC,SAPP,%APP%)
 任务(/CPMB/DEFAULT_FORMULAS_LOGIC,LOGICFILENAME,TUSER4.LGF)

脚本逻辑TUSER4.LGF:

 * SELECT(%EN%,ID,ENTITY,ID = $ E1 $,  $ E2 $,$ E3 $)
 * XDIM_MEMBERSET ENTITY =%EN%
 * XDIM_MEMBERSET TIME = 2007.01
 * XDIM_MEMBERSET CATEGORY =实际
 * XDIM_MEMBERSET ACCOUNT = PL110

 *当帐户
 *是*
 * REC(EXPRESSION =%VALUE%)
 * ENDWHEN 

DM日志(全部选择了3个):

/CPMB/MODIFY在0秒内完成
/CPMB/DEFAULT_FORMULAS_LOGIC在0秒内完成
/CPMB/CLEAR在0秒内完成

 [选择]
 --------------------------------------------------  ------------

 E1 = DE
 E2 = FR
 E3 =美国


 [信息]
 --------------------------------------------------  ------------

 型号:规划。 套件状态:SUCCESS 

公式日志​​:

日志开始时间:2020-04-11 14:56:08
 文件:\ ROOT \ WEBFOLDERS \ SHELLTEST \ ADMINAPP \ Planning \ TUSER4.LGF
 USER:SUPPORT_EXT
 APPSET:避开
 应用:计划
 [INFO] GET_DIM_LIST():I_APPL_ID ="计划",#dimensions = 9
 帐户,审计,类别,实体,INTERCO,度量,产品,零售,时间

 #dim_memberset = 4
 ENTITY:DE,FR,US,共3个。  <-!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!  !!!!!!!!!!!!!!!!!!!!!!!!!!!
 时间:2007.01,1共。
 类别:实际,共1个。
 帐户:总计PL110,1。

 REC:%VALUE%

 开始计算:
 查询处理数据
 查询时间:0.00毫秒。 已查询3个记录。
 查询参考数据
 计算时间总计:0.00毫秒。
 生成了3个记录。
 计算结束。

 到累积时:生成了3个记录。

 数据回写:
 帐户审计类别实体INTERCO产品保密时间签名数据
 PL110输入实际DE I_DE产品A LC 2007.01 20.00
 ... 
wang628962
3楼-- · 2020-08-20 23:14

Harsha Jalakam

我尝试过包装复选框。 复选框已启用,但程序包出现错误。

在"我在动态脚本中尝试过的内容"下面(出于安全目的,我编辑了第二行的成员a1,a2 ..)

程序包运行后,以下错误

动态脚本

谢谢

Kishore

软件心理学工程师
4楼-- · 2020-08-20 22:57

P.S。 解决方案,在我的答案中提供: https://answers.sap.com/answers/13021422/ view.html

是没有复杂ABAP开发的唯一可能的解决方案!

SAP小黑
5楼-- · 2020-08-20 23:08

您好,
您可以在高级脚本中使用复选框提示,其语法如下。/p>

https://help.sap.com/viewer/ ec68e48b18a44a49abb12b8ee8ae306f/10.0.36/en-US/f9c3b74d6faf1014878bae8cb0e91070.html

关于,
Harsha

软件心理学工程师
6楼-- · 2020-08-20 23:19

使用CHECKBOXGROUP会导致变量%CHECKGROUP选择%CHECKGROUP 将会是:0,1,1或1,1,1

没有简单的方法 将其转换为ENTITY成员列表!

一周热门 更多>