S4 新语法 碰上慢慢加
1.补零 l_lifnr = |{ l_lifnr ALPHA = IN }|.
去零 l_lifnr = |{ l_lifnr ALPHA = OUT }|.
2.消息拼接 MESSAGE |行项目 { ls_item-ebelp } 不满足MPQ数量 { ls_marc-bstrf } 的整数倍,请检查输入数量| TYPE 'W'.
3.截取任意位置字符串 在open SQL中使用,截取1-10位等于vbeln
JOIN cdhdr AS b ON substring( b~objectid,1,10 ) = a~vbeln
4.赋值 lt_sume = VALUE #( ebeln = lt_acdocae-ebeln
ebelp = lt_acdocae-ebelp
hsl = lt_acdocae-hsl ).
gt_alv_mx = VALUE #( base gt_alv_mx budat = lt_acdocae-budat "加base后不会丢失原数据
mblnr = lt_acdocae-belnr
zeile = lt_acdocae-buzei ).
5.给内表赋值 s_stlan[] = VALUE #( ( low = '1'
option = 'EQ'
sign = 'I'
) ).
用APPEND APPEND VALUE #( low = iv_erdat
high = iv_eddat
sign = 'I'
option = 'BT' ) TO lr_date.
6.截取字符串 最后一位 l_matnr = shift_right( val = l_matnr places = '1' ).
第一位 l_matnr = shift_left( val = l_matnr places = '1' ).
固定字符 l_matnr = shift_right( val = l_matnr sub = 'X' ).
7.将一个内表值赋给另外一个内表
lt_alv = CORRESPONDING #( lt_po MAPPING lifnr = lifnr budat = budat bwart = bwart mblnr = belnr matnr = matnr netpr = netpr peinh = peinh waers = waers mwskz = mwskz meins = meins ebeln = ebeln ebelp = ebelp bukrs = bukrs werks = werks txz01 = txz01 adrnr = adrnr zterm = zterm menge = menge kbetr = kbetr EXCEPT * ).
8.根据条件给内表赋值
lt_alv = CORRESPONDING #( lt_alv FROM lt_lfa1 USING KEY mky lifnr = lifnr MAPPING name1 = sortl ).