从输入参数的两个字段中提取数据

2020-08-23 02:53发布

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

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


想要提供房屋银行和帐户ID业务的输入参数。

表格-T012T

房屋银行-HBKID + Text1

帐户ID +文本1

假设有"帐户ID"输入参数,并且在运行时提供搜索帮助,我们需要帐户ID数据及其描述,这意味着一个输入参数中有两个字段

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

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


想要提供房屋银行和帐户ID业务的输入参数。

表格-T012T

房屋银行-HBKID + Text1

帐户ID +文本1

假设有"帐户ID"输入参数,并且在运行时提供搜索帮助,我们需要帐户ID数据及其描述,这意味着一个输入参数中有两个字段

付费偷看设置
发送
6条回答
宇峰Kouji
1楼 · 2020-08-23 03:20.采纳回答

您好Nidhi,

如果我正确理解了您的问题。 您想在两个字段中获得F4帮助:1)银行银行(HBKID)和帐户ID(HKTID)。 对于这两个字段,您都希望拥有T012T-TEXT1以及HBKID或HKTID。

如果是这样,请按照您的要求执行以下步骤,(我已经显示了HBKID,对于其他提交的文件也遵循相同的方法)

 SELECT HBKID,
            TEXT1,
       从T012T
       插入表@DATA(lt_houbk_f4)。

     如果不是lt_houbk_f4 []是INITIAL。
           通话功能'F4IF_INT_TABLE_VALUE_REQUEST'
             出口
               retfield ='HBKID'
               dynpprog = sy-repid
               dynpnr ='1000'
               dynprofield ='S_HBKID'(考虑到此Select选项名称)
               value_org ='S'
             桌子
               value_tab = lt_houbk_f4
               return_tab = lt_return
             例外情况
               parameter_error = 1
               no_values_found = 2
               其他= 3。
           如果lt_return []不是INITIAL。
             读取lt_return INTO DATA(ls_return)索引1。
 如果sy-subrc = 0。
                 s_auskt-low = ls_return-fieldval。
 万一。
          万一。
    万一。
 
SAP浪
2楼-- · 2020-08-23 03:15

什么意思"一个输入参数中有两个字段"?

表T012T的键是公司,银行,帐户(当然还有语言),为什么忽略

代楠1984
3楼-- · 2020-08-23 03:21

如果检查表T012T,则对H_T012K字段用于HKTID字段并使用可能的输入参数BUKRS,HBKID和HKTID的搜索帮助已经针对该公司了吗?

因此,如果您创建了Z-Report,则需要使用上面的搜索帮助来选择正确的帐户ID。

1。 作为参数:

参数pa_acc类型hktid匹配代码对象H_T012K。

2。 作为选择:

 TABLES t012t。
 SELECT-OPTIONS so_acc FOR t012t-hktid。
 

3。 如果需要BUKRS和HBKID,还可以通过选择帐户自动填充:

 TABLES t012t。
 t012t-bukrs的SELECT-OPTIONS so_buk。  "无扩展,无间隔",无显示。
 t012t-hbkid的SELECT-OPTIONS so_bnk。  "无扩展,无间隔",无显示。
 t012t-hktid的SELECT-OPTIONS so_acc。  ""没有扩展,没有间隔。
 

您可以使BUKRS和HBKID的选择选项不可见(选项NO-DISPLAY),或者使选择选项减少(NO-EXTENSION,NO INTERVALS),或者仅在不需要时才可读 用户要弄混这三个无效的组合,请参见以下代码:

 INITIALIZATION。
   环视屏幕。
     IF屏幕名称CP'SO_BNK *'
     或屏幕名称CP'SO_BUK *'
       屏幕输入='0'。
       修改屏幕。
       出口。
     万一。
   结局。  

搜索帮助H_T012K:

让我 知道这是否已经解决了您的问题,是否有其他设置。

骆驼绵羊
4楼-- · 2020-08-23 03:10

但是,如果两个字段来自两个不同的表怎么办?

callcenter油条
5楼-- · 2020-08-23 03:11

首先, 用两个表中的数据准备一个内部表。 并使用FM F4IF_INT_TABLE_VALUE_REQUEST来获取F4帮助。

野沐沐
6楼-- · 2020-08-23 03:08

答案与Michael相同,只是简单地讲了代码,没有解释。 注意:如果您希望以复杂的方式进行操作,请使用F4IF_INT_TABLE_VALUE_REQUEST。

参数bukrs TYPE t012t-bukrs。
 参数hbkid类型t012t-hbkid。
 参数hktid TYPE t012t-hktid。

没有其他内容。

运行它,按F4 no HKTID字段,选择,所选行将填充所有输入字段:

一周热门 更多>