вторник, 29 апреля 2014 г.

Testing ABAP Objects knowledge

Deleting Leading Zeros

The example of code:

REPORT ztest_delete_zeros NO STANDARD PAGE HEADING.

PARAMETERS: str TYPE char10.

START-OF-SELECTION.
  DATA: str2 TYPE char20.

  " Variant 1.
  str2 = str.
  SHIFT str2 LEFT DELETING LEADING '0'.
  WRITE: / 'Before deleting:', str.
  WRITE: / 'After deleting:', str2.

  " Variant 2.
  str2 = str.
  CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
    EXPORTING
      input  = str2
    IMPORTING
      output = str2.

  WRITE: / 'Before deleting:', str.
  WRITE: / 'After deleting:', str2.

  " Difference between the two variants:
  " variant 1: '00000' --> '';
  " variant 2: '00000' --> '0'.

вторник, 22 апреля 2014 г.

How to determine Unicode system

Пример кода для определения типа системы по признаку Unicode (код взят из стандарта):
* Unicode information
if cl_abap_char_utilities=>charsize = 1.
  unicode_sys = 'nein'(003).
else.
  unicode_sys = 'ja'(004).
endif.