File: abap

package info (click to toggle)
ruby-rouge 4.6.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 6,836 kB
  • sloc: ruby: 38,168; sed: 2,071; perl: 152; makefile: 8
file content (74 lines) | stat: -rw-r--r-- 2,312 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
-- ABAP Lexer

FUNCTION z_do_nothing.
*"----------------------------------------------------------------------
*"*"Local Interface:
*"  IMPORTING
*"     REFERENCE(IV_IMPORT) TYPE  STRING
*"  EXPORTING
*"     REFERENCE(ET_EXPORT) TYPE  ICL_STRING_T
*"----------------------------------------------------------------------

* some declarations
  CONSTANTS: lc_const TYPE char10 VALUE '0123456789'.

  DATA: lv_dec    TYPE decfloat16,
        ls_mara   TYPE mara,
        lt_mara   TYPE TABLE OF mara,
        lo_object TYPE REF TO cl_any_class.

  DATA spfli_tab TYPE STANDARD TABLE OF spfli
                         WITH EMPTY KEY
             WITH NON-UNIQUE SORTED KEY carr_city
                             COMPONENTS carrid cityfrom.

  FIELD-SYMBOLS: <mara> TYPE mara.

* some basic functions
  CREATE OBJECT lo_obj
    EXPORTING
      iv_int = lv_int.

  lo_obj->do_nothing( ).

  SELECT SINGLE * FROM mara INTO ls_mara WHERE matkl EQ '1324'.

* some new functions from ABAP 7.40
  DATA(lv_int) = 1000.  " just an initializer

  SELECT * FROM mara INTO TABLE @DATA(lt_mara).

  LOOP AT lt_mara ASSIGNING FIELD-SYMBOL(<wa>)
    GROUP BY ( carrid = <wa>-matkl count = GROUP SIZE )
    ASCENDING
    ASSIGNING FIELD-SYMBOL(<group1>).

    CHECK <wa>-mtart EQ '0001'.
  ENDLOOP.

  IF line_exists( lt_mara[ matnr = '1324' ] ).
    ls_mara = lt_mara[ matnr = '1324' ].
    WRITE: / 'The Material', ls_mara-matnr, '...'.
  ENDIF.

  SELECT * FROM spfli INTO TABLE @spfli_tab.

  DATA(extract) = FILTER #( spfli_tab USING KEY carr_city
                              WHERE carrid   = CONV #( to_upper( carrid ) ) AND
                                    cityfrom = CONV #( to_upper( cityfrom ) ) ).

  DATA(rnd_color) = cl_abap_random_int=>create( seed = CONV #( sy-uzeit ) min = 1 max = 4 ).
  lt_fields = VALUE #( FOR i = 0 UNTIL i > 15
                         ( VALUE #( FOR j = 0 UNTIL j > 15
                             ( rnd_color->get_next( ) ) ) ) ).

  DATA lr_int TYPE RANGE OF i.
  lr_int = VALUE #( sign = 'I'  option = 'BT' ( low = 1  high = 10 )
                                              ( low = 21 high = 30 )
                                              ( low = 41 high = 50 )
                                option = 'GE' ( low = 61 )  ).
  IF 7 IN lr_int.
    " found
  ENDIF.

ENDFUNCTION.