Kamis, 26 Mei 2011

Create Number Range

1. Buka T-Code "SNRO".
2. Beri nama "ZKAB".



3. Klik.
4.  Isi seperti gambar di bawah ini:
5. Simpan lalu klik.
6. Klik.
7. Klik.
8. Isikan seperti pada gambar berikut :

9. Simpan.
Sekarang kita akan membuat function module untuk memanggil Number Range tersebut.
10. Buat Function Module seperti yang telah dibuat sebelumnya.
      http://shobikhsahirar.blogspot.com/2011/04/rfc-insert.html
11.Ubah Coding seperti berikut.

FUNCTION z_ins_kab.
*"----------------------------------------------------------------------
*"*"Local interface:
*"  IMPORTING
*"     VALUE(X_PARAM) TYPE  ZKABUPATEN OPTIONAL
*"  EXPORTING
*"     VALUE(RETURN) TYPE  BAPIRET2
*"----------------------------------------------------------------------

data: wa_head type zappmm_kabupaten,
            xcrtdate like zappmm_kabupaten-ersda,
            xusname like zappmm_kabupaten-ernam,
            xnokab like zappmm_kabupaten-dist_kab.
      if x_param is initial.
        return-type = 'E'.
        return-message = 'Data harus harus diisi'.
       exit.
      endif.

       xcrtdate = sy-datum.
       x_param-ersda = xcrtdate.

       xusname = sy-uname.
       x_param-ernam = sy-uname.
       
       clear xnokab.
       PERFORM GET_NUMBER USING '01' CHANGING xnokab.
       x_param-dist_kab = xnokab.

      insert into zappmm_kabupaten values x_param.
        if sy-subrc eq 0.
          return-type = 'S'.
          return-message = 'Data  Berhasil Disimpan..'.
       else.
          return-type = 'E'.
          return-message = 'Data Gagal Disimpan Oleh Sistem ..'.
       endif.
    ENDFUNCTION.
    
FORM GET_NUMBER USING FU_ID  TYPE INRI-NRRANGENR  CHANGING FU_NUM.
  DATA: LV_NRRANGE TYPE iNRI-OBJECT   .
  LV_NRRANGE = 'ZKAB'.

    CALL FUNCTION 'NUMBER_GET_NEXT'
      EXPORTING
        NR_RANGE_NR                   = FU_ID
        OBJECT                        = LV_NRRANGE
       QUANTITY                      = '1'
*       SUBOBJECT                     = ' '
*       TOYEAR                        = '0000'
*       IGNORE_BUFFER                 = ' '
   IMPORTING
       NUMBER                        = FU_NUM
*       QUANTITY                      =
*       RETURNCODE                    =
     EXCEPTIONS
       INTERVAL_NOT_FOUND            = 1
       NUMBER_RANGE_NOT_INTERN       = 2
       OBJECT_NOT_FOUND              = 3
       QUANTITY_IS_0                 = 4
       QUANTITY_IS_NOT_1             = 5
       INTERVAL_OVERFLOW             = 6
       BUFFER_OVERFLOW               = 7
       OTHERS                        = 8
              .
    IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.

ENDFORM.

12. Simpan dan Activate.

Tidak ada komentar:

Posting Komentar