Professional Documents
Culture Documents
Abap New Syntax Examples 7.40 7.52
Abap New Syntax Examples 7.40 7.52
Açıklama: Eğer name1 dolu ise name1 çek, boş ise name2 çek
SELECT SINGLE FROM kna1
FIELDS coalesce( name1, name2 )
INTO @DATA(lv_value).
**********************************************************************************
**********************************************
REPLACE Example
//To replace a string based on substring
// case : case sensitivy belirtmek amacıyla eklemiştir
DATA(s1) = `Hello UI5 and ABAP Dev`.
DATA(s2) = replace( val = s1 sub = `UI5` with = `X-Mas` case = abap_false )
. " result hello x-mas and ABAP dev
**********************************************************************************
**********************************************
Select Substring Query
Kod Açıklaması : ernamı B ile başlayan ernam alanının 2. harfinden itibaren +6 karakter
daha sonrasını alıp ernam_Cs alanına yaz
SELECT FROM vbak
FIELDS vbak~vbeln,
SUBSTRING( vbak~ernam,2,6 ) AS ernam_cs
WHERE ernam EQ @( substring_from( val = syst-uname sub = 'B' ) )
INTO TABLE @DATA(t_vbak).
Output
**********************************************************************************
**********************************************
Maximum & Minimum & Random Number
* Get Random Numbers
DATA(lr_rnd) = cl_abap_random_int=>create( seed = + sy-uzeit
min = 1
max = 10 ).
Data(lv_rndm) = lr_rnd=>get_next( ).
************************************ OR
**********************************************************************************
***
**********************************************************************************
**********************************************
* Max Value
Açıklama : Yukardaki it_rand tablosundaki değerlerden en yükseğini max değeri içine atar
DATA(max) = REDUCE i( INIT max_value = VALUE #( it_rand[ 1 ] OPTIONAL )
FOR <line> IN it_rand FROM 2
NEXT max_value = COND #( WHEN <line> GT max_value THE
N <line>
ELSE max_value ) ).
**********************************************************************************
**********************************************
Bukrs_range çıktısı :
Veya yukardaki gibi tablodaki değerler ilk başta elimizde değilse direkt değerleri t001 tablosundan
range içine çekebiliriz. Alttakinin çıktısı yukardaki ile aynı
Fill Range Directly from Select Statement:
SELECT @if_fsbp_const_range=>sign_include AS sign,
@if_fsbp_const_range=>option_equal AS option,
bukrs AS low,
CAST( @space AS CHAR( 4 ) ) AS high
FROM t001
INTO TABLE @DATA(range_of_comp_codes).
**********************************************************************************
**********************************************
Repeat Function
TRY.
DATA(lv_repeat_result) = repeat( val = `A` occ = 10 ).
CATCH cx_sy_strg_par_val.
ENDTRY.
**********************************************************************************
**********************************************
BAPI Return or Commit Control
DATA:lt_return TYPE bapiret2_t.
"BAPI Call Here
IF NOT line_exists( lt_return[ type = cl_cms_common=>con_msg_typ_e ] ) AND
NOT line_exists( lt_return[ type = cl_cms_common=>con_msg_typ_a ] ).
"Commit Work-Success Handling
ELSE.
"Rollback Work-Error Handling
ENDIF.
**********************************************************************************
**********************************************