воскресенье, 4 октября 2015 г.

Negative numbers in integer division

Решил проверить как работают операции целочисленного деления и остаток от целочисленного деления. Для этого написал небольшую программу:

REPORT z_test_integer_division.

CLASS lcl_controller DEFINITION ABSTRACT FINAL.
  PUBLIC SECTION.
    CLASS-METHODS:
      main.
ENDCLASS.

CLASS lcl_controller IMPLEMENTATION.
  METHOD main.
    " Test integer division and remainder of integer division operators.
    DATA:
      a TYPE i,
      b TYPE i,
      TYPE i.

    a 9.
    b 7.
    DIV b.
    WRITE'Result of 'a' DIV 'b' = 'c.
    a -9.
    b 7.
    DIV b.
    WRITE'Result of 'a' DIV 'b' = 'c.
    a 9.
    b -7.
    DIV b.
    WRITE'Result of 'a' DIV 'b' = 'c.
    a -9.
    b -7.
    DIV b.
    WRITE'Result of 'a' DIV 'b' = 'c.

    a 9.
    b 7.
    MOD b.
    WRITE'Result of 'a' MOD 'b' = 'c.
    a -9.
    b 7.
    MOD b.
    WRITE'Result of 'a' MOD 'b' = 'c.
    a 9.
    b -7.
    MOD b.
    WRITE'Result of 'a' MOD 'b' = 'c.
    a -9.
    b -7.
    MOD b.
    WRITE'Result of 'a' MOD 'b' = 'c.
  ENDMETHOD.
ENDCLASS.

START-OF-SELECTION.
  lcl_controller=>main).
 

Результат выполнения кода следующий:

Result of           9   DIV           7   =           1
Result of           9-  DIV           7   =           2
Result of           9   DIV           7-  =           1
Result of           9-  DIV           7-  =           2
Result of           9   MOD           7   =           2
Result of           9-  MOD           7   =           5
Result of           9   MOD           7-  =           2
Result of           9-  MOD           7-  =           5


Вывод по результата выполнения программы.
Используется метод отбрасывания дробной части с приближением к наименьшему целому. Знак ближайшего целого определяется по знаку первого операнда. Например, при отрицательном -9 результат деления будет -2, а не -1, т. к. в вещественных числах результат больше -1, а наименьшее целое как раз и будет -2.

вторник, 21 июля 2015 г.

среда, 18 марта 2015 г.

Eclipse IDE tuning for SAP Development Tools

Были проблемы с установкой плагинов SAP Development Tools.
Ошибка получения данных постоянно возникала.
Нашёл решение проблемы в следующем обсуждении. Добавил в параметры запуска исполняемого модуля следующую опцию:
-vmargs -Djava.net.preferIPv4Stack=true

вторник, 27 января 2015 г.

SoapUI: решение проблем с зависанием при запуске

Начал изучать реализацию веб-сервисов в SAP. Нашёл утилиту soapui для тестирования веб-сервисов. Но после установки возникли проблемы по работе с программой. После появления главного окна программы нельзя произвести никаких действий, программа не отвечает на нажатия кнопок мыши и клавиатуры.
В нескольких местах в Интернет нашёл рекомендации по добавлению опции -Dsoapui.jxbrowser.disable=true в файл bin/SoapUI-5.0.0.vmoptions. Но это мне не помогло.
Затем нашёл ещё одну интересную ссылку. По ней начал изменять значение параметра -Xmx в меньшую сторону и опытным путём подобрал, что на значении -Xmx128m программа стала стабильно запускаться.
Мои знания в технологиях Java нулевые. Поэтому подробной расшифровки ошибки дать не могу, но это видимо связано с тем, что ВМ Java требуется целый большой блок ОЗУ, а она его не получает и "зависает".