输入框函数POPUP_GET_VALUES

abap标准的有输入框函数十分好用,用来和用户进行交互,如果想要在输入框上写上文本信息,只需要将那个输入框设置为不可输入,再把信息写上去。如图:

image

此函数使用十分方便。

DATA: l_returncode TYPE c.
DATA: lt_sval TYPE STANDARD TABLE OF sval INITIAL SIZE 0,
      ls_sval LIKE LINE OF lt_sval.

break abap04.
break abap01.

"库存地
MOVE 'LIPS' TO ls_sval-tabname.
MOVE 'LGORT' TO ls_sval-fieldname.
APPEND ls_sval TO lt_sval.

data: ls_lgort type LGORT_D.
"收货库存地描述
select single LGORT
from ekpo
into ls_lgort
where ebeln = cs_lips-VGBEL.

data: ls_lgobe type LGOBE.
select single lgobe
from t001l
into ls_lgobe
where LGORT = ls_lgort.

MOVE 'T001L' TO ls_sval-tabname.
MOVE 'LGOBE' TO ls_sval-fieldname.
LS_SVAL-VALUE = LS_LGOBE.
ls_sval-FIELD_ATTR = '02'.
APPEND ls_sval TO lt_sval.

"物料号
MOVE 'LIPS' TO ls_sval-tabname.
MOVE 'MATNR' TO ls_sval-fieldname.
LS_SVAL-VALUE = cs_lips-MATNR.
ls_sval-FIELD_ATTR = '02'.
APPEND ls_sval TO lt_sval.

  "物料描述
MOVE 'LIPS' TO ls_sval-tabname.
MOVE 'ARKTX' TO ls_sval-fieldname.
LS_SVAL-VALUE = cs_lips-ARKTX.
ls_sval-FIELD_ATTR = '02'.
APPEND ls_sval TO lt_sval.

  "行项目
MOVE 'LIPS' TO ls_sval-tabname.
MOVE 'POSNR' TO ls_sval-fieldname.
LS_SVAL-VALUE = cs_lips-POSNR.
ls_sval-FIELD_ATTR = '02'.
APPEND ls_sval TO lt_sval.

"采购订单号
MOVE 'EKKO' TO ls_sval-tabname.
MOVE 'EBELN' TO ls_sval-fieldname.
LS_SVAL-VALUE = cs_lips-VGBEL.
ls_sval-FIELD_ATTR = '02'.
APPEND ls_sval TO lt_sval.

CALL FUNCTION 'POPUP_GET_VALUES'
  EXPORTING
    popup_title     = '输入库存地'
  IMPORTING
    returncode      = l_returncode
  TABLES
    fields          = lt_sval
  EXCEPTIONS
    error_in_fields = 1
    OTHERS          = 2.
IF sy-subrc <> 0.
  MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
          WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
  CHECK l_returncode IS INITIAL.
"赋值库存地
READ TABLE lt_sval INTO ls_sval INDEX 1.
MOVE ls_sval-value TO cs_lips-lgort.

lt_sval是一个内表,设置输入框的属性和文本信息,field_attr的具体值可以参考ls_sval结构字段的value range。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值