从abap的下拉列表中选择

2020-09-03 20:39发布

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

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


大家好,

我有一个需要在其中创建如下下拉列表的要求。

与A相关

B不相关

与C相关的场景。

我已经创建了下拉列表代码。

但是我面临的难题是,当用户选择以上任何一个选项时。 应当在字段中显示为A(如果选择了A相关)或B或C。

我需要在下拉列表中显示完整的描述,但是当被选中时,它应该仅显示与该选择有关的alhehebet。

请帮助我。

预先感谢

SR

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

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


大家好,

我有一个需要在其中创建如下下拉列表的要求。

与A相关

B不相关

与C相关的场景。

我已经创建了下拉列表代码。

但是我面临的难题是,当用户选择以上任何一个选项时。 应当在字段中显示为A(如果选择了A相关)或B或C。

我需要在下拉列表中显示完整的描述,但是当被选中时,它应该仅显示与该选择有关的alhehebet。

请帮助我。

预先感谢

SR

付费偷看设置
发送
7条回答
My梦
1楼 · 2020-09-03 21:37.采纳回答

下拉列表框只能显示文本或键+文本,并且其宽度等于输入字段的宽度。

因此,您不能使用这样的列表框来显示

而是显示搜索帮助或使用F4IF_INT_TABLE_VALUE_REQUEST或...

shere_lin
2楼-- · 2020-09-03 21:35

嗨,尝试在您的计算机上更改以下设置 下拉列表的SAP GUI选项:

SAP GUI选项->可视化1->检查"在下拉列表中显示键"。

太Q了
3楼-- · 2020-09-03 21:18

在BIBS事务中检查示例

me_for_i
4楼-- · 2020-09-03 21:26

我刚刚使用以下值为下拉列表设置了域-

A接受

B-由于数据正确而被拒绝

由于错误的信息而被搁置

。 一直到H。

现在我已在我创建的选择屏幕中使用它,并将其命名为1000。

现在,我已使用I/O框并将其作为带有键的下拉列表。

但是在执行交易代码时。 我应该从上述下拉值中选择任何值,但是应该像下面这样填充它。

A

B

C

等等。

相反,它被填充为全值,例如(A-接受)。这是错误的,因为我的要求是,如果从下拉列表中选择(A-接受-),则字段应填充(A)。

我应该怎么做。 我无法为此编写代码。 有没有可能。

葫芦娃快救爷爷
5楼-- · 2020-09-03 21:23

嗨,

没有您的代码,我们什么也不能说。 但请尝试下面的代码。

 REPORT ztest。
 参数:p_drp AS列表框可见长度30修改ID pdf。
 *填写列表框
 选择屏幕输出时。

 数据:lv_id TYPE vrm_id,
       lv_values TYPE vrm_values,
       lv_value类似于lv_values的行。

   清除lv_value。
   将lv_value附加到lv_values。

   lv_value-key ='A'。
   lv_value-text ='相关'。
   将lv_value附加到lv_values。

   lv_value-key ='B'。
   lv_value-text ='无关'。
   将lv_value附加到lv_values。

   lv_value-key ='C'。
   lv_value-text ='错误相关的方案'。
   将lv_value附加到lv_values。
   lv_id ='P_DRP'。

   通话功能" VRM_SET_VALUES"
     出口
       id = lv_id
       值= lv_values
     例外情况
       id_illegavrm_id = 1
       其他= 2。
   如果sy-subrc <> 0。
     消息ID sy-msgid类型sy-msgty编号sy-msgno
     与sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4。
   万一。

 选择开始。
   如果sy-subrc = 0。
     写:/p_drp。
   万一。
 
spaceman01
6楼-- · 2020-09-03 21:20

我刚刚为下拉列表指定了以下值的域-

A接受

B-由于数据错误而被拒绝

由于错误的信息而处于开通状态

。 一直到H。

现在我已在我创建的选择屏幕中使用它,并将其命名为1000。

现在,我已使用I/O框并将其作为带有键的下拉列表。

但是在执行交易代码时。 我应该从上述下拉值中选择任何值,但是应该像下面这样填充。

A

B

C

等等。

相反,它被填充为(A接受)之类的全值,这是错误的,因为我的要求是,如果从下拉列表中选择(A接受-),则字段应填充(A)。

我应该怎么做。 我无法为此编写代码。

大简至美
7楼-- · 2020-09-03 21:18

将域/数据元素定义为长度为1的类型字符,当创建domain的值时,将" A"作为值,将文本作为" Accepted"或" A" -公认'。

此外,如果您定义的字段显示具有较短的可见长度(4或5,以为下拉图标保留空间),则屏幕仅应显示前导字符,但是在按下下拉图标时 ,全文将在选择过程中显示。

NB:无论使用什么可见长度值,传递给程序的字段都将是域定义中的1个字符长度。

参数:test4 TYPE aeclt AS LISTBOX可见长度 4。
 参数:test20 TYPE aeclt作为列表框可见长度20。

 选择开始。
   写:/test4,
         /test20。

 

一周热门 更多>