SAP:关键字VALUE的用法
定义一个范围的时候可以使用VALUE去定义:
*&---------------------------------------------------------------------*
*& Report ZSY_ZM_TEST03
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT zsy_zm_test03.
DATA:lr_auart TYPE RANGE OF vbak-auart.
lr_auart = VALUE #( sign = 'I' option = 'EQ' ( low = 'Z001' )
( low = 'Z002' )
( low = 'Z003' )
( low = 'Z004' )
( low = 'Z005' )
( low = 'Z006' )
( low = 'Z007' )
( low = 'Z008' )
( low = 'Z009' )
( low = 'Z010' )
( low = 'Z011' )
( low = 'Z012' )
( low = 'Z013' )
( low = 'Z014' )
( low = 'Z015' )
( low = 'Z016' )
( low = 'Z101' )
( low = 'Z102' ) ).
*WRITE:'1'.
cl_demo_output=>display( lr_auart ).
"
*CLASS c1 DEFINITION.
* PUBLIC SECTION.
* TYPES:BEGIN OF gs_c1,
* col1 TYPE i,
* col2 TYPE i,
* END OF gs_c1.
* CLASS-METHODS m1 IMPORTING p TYPE gs_c1.
*ENDCLASS.
*
*CLASS c1 IMPLEMENTATION.
* METHOD m1.
* WRITE: 'col1:',p-col1, 'col2:', p-col2.
* ENDMETHOD.
*ENDCLASS.
*
*START-OF-SELECTION.
* c1=>m1( VALUE #( col1 = 5 col2 = 6 ) ).
TYPES:BEGIN OF gs_itab,
col1 TYPE i,
col2 TYPE i,
col3 TYPE i,
END OF gs_itab.
DATA:gt_itab TYPE TABLE OF gs_itab,
gt_itab1 TYPE TABLE OF gs_itab.
"指定内表的值:
gt_itab = VALUE #( col1 = 1
( col2 = 2 col3 = 3 )
( col2 = 4 col3 = 5 )
).
gt_itab1 = VALUE #( ( col1 = 6 col2 = 7 col3 = 8 )
( col1 = 6 col2 = 8 col3 = 9 ) ).
gt_itab1 = VALUE #( BASE gt_itab1 ( col1 = 6 col2 = 8 col3 = 10 ) ). "在内表中添加一行
这样就不需要一个个append进去了.
附加内表赋值:无需LOOP循环处理中嵌套LOOP处理
gs_alv-lgobe_o = VALUE #( lt_lgort_o[ lgort = <fs_ekpo>-reslo werks = <fs_ekpo>-werks ]-lgobe OPTIONAL ).
针对内表循环赋值:
将内表lt_mtk 赋值到内表lt_mtk_u中
lt_mtk_u = VALUE #( FOR ls_mtk IN lt_mtk ( material = ls_mtk2-material plant = ls_mtk2-plant ) ).
ls_mtk无需定义
post SAP-Garson
原文链接:https://blog.csdn.net/weixin_43734184/article/details/123405905文章来自于网络,如果侵犯了您的权益,请联系站长删除!