Cerca nel blog

lunedì 4 gennaio 2016

ABAP - Creazione Range di numerazione

Creazione Range di numerazione

Per creare un intervallo di numerazione per un oggetto, ad esempio per la fatturazione, per avere un identificativo univoco, bisogna definire a livello di customizing il Number Range Object, usando la transazione SNRO associandolo ad un oggetto che può essere chiamato nel codice abap con il FM NUMBER_GET_NEXT, per staccare il nuovo identificativo univoco.

Passi da seguire per la creazione Range di numerazione

Eseguire la transazione: SNRO (SAP NumberRangeObject)
Inserire il nome del Range da creare e premere il pulsante CREATE.


Valorizzare i seguenti campi:
  • Testo breve
  • Testo Esteso
  • Nel Tab Intervalli inserire:
    • Dominio 
    • % mess. di avviso (Supponiamo di definire un intervallo da 1 a 1000, Se si immette 10%, significa che si vuole un alert quando si arriva a 900) 
  • Nel Tab Customizing inserire:
    • Buffer
    • Quantità numeri nel buffer

Salvare ed Attivare. Premere il pulsante INTERVALLI


Nella schermata successiva premere il pulsante INTERVALLO.


Nella schermata successiva inserire l'intervallo e premere il pulsante di Salvataggio.


Testare il  Range di numerazione

Per testare il range creiamo un programma che richiama il FM
NUMBER_GET_NEXT per ottenere il valore della numerazione.
REPORT zsnro_test.

DATA:
  number TYPE i.

CALL FUNCTION 'NUMBER_GET_NEXT'
  EXPORTING
    nr_range_nr             = '01'
    object                  = 'ZIT_BANKNR'
  IMPORTING
    number                  = number
  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.

WRITE :/ 'Next available number is: ', number.


Nessun commento:

Posta un commento