功能模块:可选的导入参数,默认值为*(所有值)

2020-09-17 05:37发布

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

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


专家您好,

我有一个具有7个输入参数的功能模块,其中4个是必填参数,而3个是可选参数。 在选择语句的地方,我需要一个条件,如:

选择*

FROM knvh

vkorg = in_vkorg AND vtweg = in_vtweg AND spart = in_spart AND hkunnr eq IN_hkunnr AND name1 = in_name1 AND ort01 = in _ ort01 AND kunnr = in_kunnr

* name1,ort01和kunnr是可选的

如果用户插入所有导入参数,它将起作用。 但是,如果用户未插入可选参数,则功能模块将返回一个空表。 我需要一些东西,如果用户不插入可选参数,则funct模块将返回一个表,该表的可能值为 name1,ort01和kunnr

是否可以在可选参数的默认值中实现此设置*(所有值)? 还是通过apap? 如果通过abap如何更改WHERE子句?

谢谢!

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

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


专家您好,

我有一个具有7个输入参数的功能模块,其中4个是必填参数,而3个是可选参数。 在选择语句的地方,我需要一个条件,如:

选择*

FROM knvh

vkorg = in_vkorg AND vtweg = in_vtweg AND spart = in_spart AND hkunnr eq IN_hkunnr AND name1 = in_name1 AND ort01 = in _ ort01 AND kunnr = in_kunnr

* name1,ort01和kunnr是可选的

如果用户插入所有导入参数,它将起作用。 但是,如果用户未插入可选参数,则功能模块将返回一个空表。 我需要一些东西,如果用户不插入可选参数,则funct模块将返回一个表,该表的可能值为 name1,ort01和kunnr

是否可以在可选参数的默认值中实现此设置*(所有值)? 还是通过apap? 如果通过abap如何更改WHERE子句?

谢谢!

付费偷看设置
发送
2条回答
风早神人
1楼-- · 2020-09-17 06:13

尼克(Nic)说的话。 虽然您可以为字段name1,ort01和kunnr定义一些范围,并在执行SQL语句之前填充这些范围(当然取决于是否提供参数)。

Nan4612
2楼-- · 2020-09-17 06:16

你好Eugenio

您可以为此使用"动态Where子句",根据填充的参数将语法添加到Where-Clause中...

例如请参阅此链接 ...

"创建一个字符串表LT_WHERE_CLAUSE
 "只要提供来自Parameters的数据,就添加SQL语法
 选择 *
   从knvh
   在哪里vkorg = in_vkorg
     AND vtweg = in_vtweg
     AND spart = in_spart
     AND hkunnr = in_hkunnr
     AND(lt_where_clause)。
 


在网络上查看一些示例,以了解如何进行这项工作...

希望这会有所帮助。

Nic T。

一周热门 更多>