SELECT carrid, connid, fldate, seatsmax, seatsocc,seatsmax – seatsocc AS seatsfreeFROM sflightWHERE seatsmax – seatsocc > @( meth( ) )INTO TABLE @DATA(result).
SELECT CONCAT( CONCAT( carrid,LPAD( carrname,21,’ ‘ ) ),LPAD( url,40,’ ‘ ) ) AS lineFROM scarrINTO TABLE @DATA(result).
Questa concatenazione non è possibile con l'operatore && disponibile da ABAP 7.40.
SELECT CON DICHIARAZIONE INLINE DELLA TABELLA
DATA(lv_bukrs) = '1000'.
SELECT mandt, bukrs, kostl
FROM ztable
INTO TABLE @DATA(lt_test)
WHERE bukrs = @lv_bukrs.
IF sy-subrc = 0.
READ TABLE lt_test INTO DATA(ls_test) WITH KEY bukrs = lv_bukrs.
IF sy-subrc = 0.
WRITE: / ls_test-bukrs.
ENDIF.
ENDIF.
SELECT UNION
DATA prog_range TYPE RANGE OF trdir-name.
SELECT 'I' AS sign, 'EQ' AS option,
obj_name AS low, ' ' AS high
FROM tadir
WHERE pgmid = 'R3TR'
AND object = 'PROG'
AND devclass = @devclass
UNION
SELECT 'I' AS sign, 'CP' AS option,
obj_name && '*' AS low, ' ' AS high
FROM tadir
WHERE pgmid = 'R3TR'
AND object = 'CLAS'
AND devclass = @devclass
UNION
SELECT 'I' AS sign, 'EQ' AS option,
'SAPL' && obj_name AS low, ' ' AS high
FROM tadir
WHERE pgmid = 'R3TR'
AND object = 'FUGR'
AND devclass = @devclass
UNION
SELECT 'I' AS sign, 'CP' AS option,
'L' && obj_name && '+++' AS low, ' ' AS high
FROM tadir
WHERE pgmid = 'R3TR'
AND object = 'FUGR'
AND devclass = @devclass
INTO TABLE @prog_range.
Lettura di una riga da una tabella interna in una Work Area
DATA(lv_bukrs) = '1000'.
SELECT mandt, bukrs, kostl
FROM ztable
INTO TABLE @DATA(lt_test)
WHERE bukrs = @lv_bukrs.
IF sy-subrc = 0.
TRY.
DATA(ls_test) = lt_test[ BUKRS = lv_bukrs ].
WRITE: / ls_test-bukrs.
CATCH cx_sy_itab_line_not_found.
MESSAGE e000(db) WITH 'Record non trovato'.
ENDTRY.
ENDIF.
CONV operator
Il requisito nell'esempio è convertire il tipo di dati del valore all'interno della variabile 'Testo' che è di tipo 'C' nel tipo di dati 'String'.
DATA: text TYPE c LENGTH 255.
DATA(xstr) = cl_abap_codepage=>convert_to( source = CONV #( text ) ).
Il requisito nell'esempio è convertire il risultato della divisione tra interi in un float.
IF CONV decfloat34( 1 / 3 ) > 0
....
ENDIF.
SU DB HANA, è possibile fare la select su tabelle interne
select matnr into table @data(lt)
from mara
up to 10 rows.
select mara~matnr, mara~mtart
from @lt as zmara
INNER JOIN mara
on mara~matnr = zmara~matnr
into TABLE @data(lt_mara).
cl_demo_output=>display_data( lt_mara ).
SU DB HANA, è possibile fare un estrazione di dati facendo una ricerca su un campo indipendentemente da come è scritto in tabella
DATA: lt_table TYPE STANDARD TABLE OF kna1-name1.
DATA(lr_result) = NEW cl_sql_statement( )->execute_query(
`SELECT NAME1 FROM KNA1 WHERE CONTAINS(NAME1, 'domestique')`).
lr_result->set_param_table(
EXPORTING
itab_ref = REF #( lt_table[] )
).
lr_result->next_package( upto = 100 ).
lr_result->close( ).
cl_demo_output=>display_data( lt_table ).
SU DB HANA, LOOP...GROUP BY
SELECT * INTO TABLE @DATA(lt_vbap) FROM vbap
UP TO 100 ROWS
ORDER BY vbeln , posnr.
LOOP AT lt_vbap INTO DATA(ls_vbap) GROUP BY ( vbeln = ls_vbap-vbeln )
ASSIGNING FIELD-SYMBOL(<group>).
*in questo primo loop ci entro tante volte quante sono le chiavi diverse
LOOP AT GROUP <group> ASSIGNING FIELD-SYMBOL(<item>).
lt_membri_del_gruppo = VALUE #( BASE lt_membri_del_gruppo ( <item> ) )..
ENDLOOP.
free lt_membri_del_gruppo.
ENDLOOP.
1. SAP EWM (Extended Warehouse Management)
3. SAP VIM (Vendor Invoice Management)
>>> RECENSIONI DEI LIBRI su Amazon Kindle <<<
Ebook: SAP MM: https://www.amazon.it/dp/B0C3MKD9BR#customerReviews
Ebook: SAP MII: https://www.amazon.it/dp/B0C4392MY9#customerReviews
Ebook: SAP VIM: https://www.amazon.it/dp/B0C6FBK8QN#customerReviews
Nessun commento:
Posta un commento