SAP號碼段配置-SNRO/SNUM


T-CODE: SNRO、SNUM

1.創建一個號碼段對象

 2.設置編號長度域、警告(注意:必須是SAP系統已定意的域)

 3.設置緩沖,優點:不直接去數據庫里取數,提升效率;缺點:存在跳號

4.設置取數范圍

5.調整當前編號

 

 6.調用程序

FORM frm_vbenn_number  CHANGING cv_zvbeln.
  DATA: lv_object      TYPE  tnro-object,
        lv_nr_range_nr TYPE  inri-nrrangenr,
        c_zorder(10)   TYPE n,
        lv_zorder(7)   TYPE n,
        lv_data(2)     TYPE n,
        lv_c           TYPE string.
  CLEAR:c_zorder,lv_zorder,lv_data,lv_c.
  lv_data = sy-datum+2(2).
  CONCATENATE 'D' lv_data INTO lv_c.
  lv_object      'ZVBELN'.   " 對象
  lv_nr_range_nr '01'.

  "鎖定 NUMBER RANGE 對象
  CALL FUNCTION 'NUMBER_RANGE_ENQUEUE'
    EXPORTING
      object           = lv_object
    EXCEPTIONS
      foreign_lock     1
      object_not_found 2
      system_failure   3
      OTHERS           4.
  " 產生NUMBER RANGE
  CALL FUNCTION 'NUMBER_GET_NEXT'
    EXPORTING
      nr_range_nr             = lv_nr_range_nr
      object                  = lv_object
    IMPORTING
      number                  = c_zorder
    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.

  " 解鎖 NUMBER RANGE 對象
  CALL FUNCTION 'NUMBER_RANGE_DEQUEUE'
    EXPORTING
      object = lv_object.

  CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
    EXPORTING
      input  = c_zorder
    IMPORTING
      output = c_zorder.

  lv_zorder = c_zorder+3(7).
  CONCATENATE lv_c lv_zorder INTO cv_zvbeln.
ENDFORM.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM