1. 程式人生 > >NUMBER_GET_NEXT 獲取編號 遇到關於按年度編號的問題

NUMBER_GET_NEXT 獲取編號 遇到關於按年度編號的問題

datum 測試 cnblogs cep ges 關於 logs font 成功

最近給財務做了一個平臺,在系統創建一些特殊類型的合同,需要生成合同編號:財務要求 合同類型+公司代碼 +年+三位流水號,

eg:CP6008-2017001

SNRO

子對象數據元素就是 公司代碼 不多解釋

勾選 截至年份標誌 :表示 按照年份 重新獲取編號(從範圍的最小值重新開始)

勾選 無滾動 :表示 所有編號用完 不會重新回到最小值開始,不勾選 反之 表示 重新從最小號開始編號

技術分享

好 ,那麽問題來了 今年是2017年,如果我只是維護2016年的編號範圍 NUMBER_GET_NEXT 報錯,

如果我直接維護2018年的編號範圍,NUMBER_GET_NEXT 獲取成功,輸入參數明明是2017年,卻在2018年獲取了編號

以下是測試過程:

技術分享

NUMBER_GET_NEXT: 按年編號 需要傳入 toyear 參數

技術分享

我在維護一下18年的編號範圍:

技術分享

NUMBER_GET_NEXT:

技術分享

技術分享

成功了 (被坑在這這個問題上,2017年的沒有維護 ,理論上是不是應該提醒一下啊 SAP同學?)

-----------------------------------------------------------------

沒辦法自己解決:

在執行 NUMBER_GET_NEXT 前 檢查一下 是否維護了當前年度的編號範圍。數據庫表為NRIV

技術分享

  CALL FUNCTION NUMBER_RANGE_ENQUEUE
EXPORTING OBJECT = ‘‘ EXCEPTIONS FOREIGN_LOCK = 1 OBJECT_NOT_FOUND = 2 SYSTEM_FAILURE = 3 OTHERS = 4 . CALL FUNCTION NUMBER_GET_NEXT EXPORTING NR_RANGE_NR = 00
OBJECT = SUBOBJECT = P_BUKCG TOYEAR = SY_DATUM+0(4) IGNORE_BUFFER = X IMPORTING NUMBER = P_HTNUM 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 . CALL FUNCTION NUMBER_RANGE_DEQUEUE EXPORTING OBJECT = ‘‘ EXCEPTIONS OBJECT_NOT_FOUND = 1 OTHERS = 2 .

-----------------------------

勵誌美文、《抉擇》 人的一生常處於抉擇之中,如:念哪一間大學?選哪一種職業?娶哪一種女子?……等等傷腦筋的事情。一個人抉擇力的有無,可以顯示其人格成熟與否。 倒是哪些胸無主見的人,不受抉擇之苦。因為逢到需要決定的時候,他總是求詢別人說:"嘿,你看怎麽做?" 大凡能夠成大功業的人,都是抉擇力甚強的人。他知道事之成敗,全在乎已沒有人可以代勞,更沒有人能代你決定。 在抉擇的哪一刻,成敗實已露出端倪。

NUMBER_GET_NEXT 獲取編號 遇到關於按年度編號的問題