Юнит-тестлары

class ltc_simu_tester definition deferred.
class ycl_simu definition local friends ltc_simu_tester.
 
class ltc_simu_tester definition for testing
risk level harmless
duration medium.
 
  private section.
    data: m_cut type ref to ycl_simu.
    methods: setup,
    methods some for testing raising cx_static_check.
 
endclass.
 
class ltc_simu_tester implementation.
 
  method setup.
    " Initialize Class Under Test:
    "-----------------------------
    m_cut = ycl_simu=>factory( ).
 
    " test double injection:
    "-----------------------
*    data(lo_tmp) = new zsd_td_mat_custo( ).
*    lo_tmp->property = 'zsd_cl_snmathandl_standard'.
*    m_cut->o_mat_custo = lo_tmp.
 
  endmethod.
 
  method some.
    test-injection test_select.
      sflight_tab = value  #( ( carrid = 'AA' connid = '17' fldate = '20.10.2020' price = '422.94' currency = 'USD' planetype = '747-400' )
                              ( carrid = 'AA' connid = '17' fldate = '08.01.2021' price = '422.94' currency = 'USD' planetype = '747-400' ) ).
    end-test-injection.
    data(ls_result) = m_cut->select( i_1 = 2 ).
    cl_abap_unit_assert=>assert_equals( exp = '10'            " Data object with expected type
                                        act = ls_result-id ). " Data object with current value 
 
    test-injection test_select.
      sflight_tab = value  #( ( carrid = 'AA' connid = '17' fldate = '20.10.2020' price = '422.94' currency = 'USD' planetype = '747-400' )
                              ( carrid = 'AA' connid = '17' fldate = '08.01.2021' price = '422.94' currency = 'USD' planetype = '747-400' ) ).
    end-test-injection.
    ls_result = m_cut->select( i_1 = 3 ).
    cl_abap_unit_assert=>assert_equals(  exp = '11' act = ls_result-id ).
 
  endmethod.
 
endclass.

method select.
 
  test-seam test_select.
    select *
           from sflight
           where carrid = 'LH'
           into table @data(sflight_tab).
  end-test-seam.
 
  r_ret = 2. " erwartet 10!
 
endmethod.

db02 өчен SQL-сорау җибәрү синтаксисы

Эклипс SQL-консоленә:

    select o~matnr, o~sernr, e~equnr, e~objnr up to 100 rows
      from objk as o
        inner join equi as e on e~equnr = o~equnr
        inner join jest as j on j~objnr = e~objnr
      where o~matnr = '000000000000065035'
        and j~stat  = 'I0184'
        and j~inact = ''
        and o~taser = 'SER03'
        and o~equnr not in (
          select o0~equnr
            from objk as o0
              inner join equi as e0 on e0~equnr = o0~equnr
              inner join jest as j0 on j0~objnr = e0~objnr
            where
              j0~stat <> 'I0184'
              and o0~taser = 'SER03'
              and o0~equnr = o~equnr
              and j0~inact = '') " group by o~matnr, o~sernr, e~equnr, e~objnr  
              order by o~sernr.

DBACOCKPIT өчен

select o.matnr, o.sernr, e.equnr, e.objnr
from objk as o 
inner join equi as e on e.equnr = o.equnr
inner join jest as j on j.objnr = e.objnr
where o.matnr = '000000000000065035' and j.stat = 'I0184'
  and j.inact = ''
  and o.taser = 'SER03'
and o.equnr not in ( select o0.equnr from objk as o0
              inner join equi as e0 on e0.equnr = o0.equnr
              inner join jest as j0 on j0.objnr = e0.objnr
            where
              j0.stat <> 'I0184'
              and o0.taser = 'SER03'
              and o0.matnr = '000000000000065035'
              and o0.equnr = o.equnr
              and j0.inact = '') group by o.matnr, o.sernr /* , e.equnr, e.objnr */
 order by o.sernr limit 100

Кто хочет на новый проект с командировками?

(суммарно эта страница весит 50 мб)

Read the rest of this article

Берничә әйбәт программалар

Получить внешние вызовы ФМ, транзакций и многого другого внутри программы можно с помощью программы — RSINCL00.

Транзакция BIBS — примеры пользовательского интерфейса и кода.

Транзакция DWDM — демо примеры с использованием Enjoy контролов.

Программа ADBC_DEMO — демо программа ADBC API (для подключения к внешним базам данных).

Транзакция SE83 — библиотека примеров с ALV и прочими контролами.

Программа BALVBT01 — демонстрация множественного использования ALV.

Программа SHOWICON — список всех иконок.

Программа SHOWCOLO — все цвета используемые во WRITE или ALV.

Программа SHOWLINE — всевозможные линии во write отчётах.

Программа SHOWSYMB — символы.

Программа AFX_CODE_SCANNER (или RPR_ABAP_SOURCE_SCAN) — поиск в исходных кодах.

Программа RSBDCOS0 — выполнение системных команд на сервере.

Программа REPTRAN — массовая выгрузка исходников.

Шәҗәрә агачы

Синтаксис шикәр

»Коболны куллану аңны гарип итә; шуңа күрә аны өйрәтү – җинаять булып исәпләнергә тиеш.«

* range-зурлыкны эчке җәдвәлга әйләндерү
mt_kjahr = CORRESPONDING #( mr_kjahr MAPPING kjahr = low ).
* тернар операторы
DATA(bool) = COND #( WHEN i * i > number THEN abap_true ELSE abap_false ).
 
* range-зурлыкны тутыру
mr_tripn = VALUE #( FOR ls_xls_row IN mt_xls_rows
                  ( sign   = msc_range-sign_inclusive
                    option = msc_range-option_eq
                    low    = CONV tripn( |{ ls_xls_row-tripn ALPHA = IN }| ) )
                  ).
 
DATA(lr_nach) = VALUE rseloption( OPTION = 'EQ' SIGN = 'I' ( LOW = 'Z2N' )
                                                             ( LOW = 'NEU' ) ).   
* append ls_goodsmvt_item to lt_goodsmvt_item урнына
  APPEND VALUE #( material   = matnr
                  plant      = from_plant
                  stge_loc   = from_stloc
                  move_plant = to_plant
                  move_stloc = to_stloc
                  move_type = '309'
                  entry_qnt = menge
                  entry_uom = <fs>-meins ) TO lt_goodsmvt_item.
 
* call function 'CONVERSION_EXIT_ALPHA_INPUT' урнына
f_matnr = conv matnr( |{ l_matnr alpha = IN }| ).
 
RESULT = VALUE #( FOR row IN INPUT ( row-text ) ).
* LOOP AT input INTO DATA(row).
*  INSERT row-text INTO TABLE result.
* ENDLOOP.
 
DATA(LINE) = value_pairs[ NAME = 'A' ].
* READ TABLE value_pairs INTO DATA(line) WITH KEY name = 'A'.
 
DATA(EXISTS) = xsdbool( line_exists( value_pairs[ NAME = 'A' ] ) ).
IF line_exists( value_pairs[ NAME = 'A' ] ).
* READ TABLE value_pairs TRANSPORTING NO FIELDS WITH KEY name = 'A'.
* DATA(exists) = xsdbool( sy-subrc = 0 ).
Insert math as
Block
Inline
Additional settings
Formula color
Text color
#333333
Type math using LaTeX
Preview
\({}\)
Nothing to preview
Insert