SAP技術者のサンプルコード置き場

ABAPの動作確認をしたコードと簡単な説明を置いておきます。

【ABAP】番号範囲オブジェクトの次番号をメソッドを使って取得する SUBSTITUTE METHOD FOR FM NUMBER_GET_NEXT

番号範囲オブジェクトの次番号を取得するメソッドです。 汎用M:NUMBER_GET_NEXTの代替として使用できます。

※現在の主流の書き方だと、 「CALL METHOD」でメソッドを呼び出すのではなく、 直接メソッドを呼び出す書き方になるのだぞうです(どちらでも動作は同じです) CALL METHODは動的な呼び出しのときのみ使うのだとか。

DATA: ex_num TYPE dec20.
DATA: w_rc TYPE sy-subrc.

TRY.
*CALL METHOD cl_number_range_hdb=>get_next_number
*  EXPORTING
**    im_client    = SPACE
*    im_object    = 'ZTESTNR01'
*    im_subobject = conv char6( space )
*    im_range_nr  = '01'
*    im_to_year   = conv num4( 0 )
*    im_quantity  = '1'
*  IMPORTING
*    ex_number    = ex_num
**    ex_quantity  =
*    ex_rc        = w_rc.

    cl_number_range_hdb=>get_next_number(
      EXPORTING
*    im_client    = SPACE
        im_object    = 'ZTESTNR01'
        im_subobject = CONV char6( space )
        im_range_nr  = '01'
        im_to_year   = CONV num4( 0 )
        im_quantity  = '1'
      IMPORTING
        ex_number    = ex_num
*    ex_quantity  =
        ex_rc        = w_rc ).

  CATCH cx_amdp_error .
ENDTRY.

cl_demo_output=>display( ex_num ).