ABAP--如何创建和使用sap的号码范围对象
创建号码范围对象:
1.使用TCODE:SNRO (Simple way to remember is SapNumberRangeObject).
<shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="[email protected]@[email protected]@[email protected]@[email protected]@5xe" filled="f" stroked="f"><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f></formulas><path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"></path><lock v:ext="edit" aspectratio="t"></lock></shapetype><shape id="_x0000_i1025" style="WIDTH: 261.75pt; HEIGHT: 150.75pt" type="#_x0000_t75"><imagedata src="file:///C:/DOCUME~1/PARVAT~1/LOCALS~1/Temp/msoclip1/03/clip_image001.png" o:title=""></imagedata></shape>
2. 输入号码范围对象的名称 并点击“新建”按钮.
3. 输入描叙和相关字段具体参见下图:
<shape id="_x0000_i1030" style="WIDTH: 6in; HEIGHT: 394.5pt" type="#_x0000_t75"><imagedata src="file:///C:/DOCUME~1/PARVAT~1/LOCALS~1/Temp/msoclip1/03/clip_image003.png" o:title=""></imagedata></shape>
Warning% à Assume that an interval is defined from 1 to 1000. If you want to issue a warning at the number 900, enter 10 (%) here.
4. 点击“SAVE”按纽.系统将弹出下列屏幕:
<shape id="_x0000_i1031" style="WIDTH: 253.5pt; HEIGHT: 153.75pt" type="#_x0000_t75"><imagedata src="file:///C:/DOCUME~1/PARVAT~1/LOCALS~1/Temp/msoclip1/03/clip_image005.png" o:title=""></imagedata></shape>
5.点击“YES”按钮,并制定对象类.
6. 点击“Number Ranges” .
<shape id="_x0000_i1029" style="WIDTH: 349.5pt; HEIGHT: 273.75pt" type="#_x0000_t75"><imagedata src="file:///C:/DOCUME~1/PARVAT~1/LOCALS~1/Temp/msoclip1/03/clip_image007.png" o:title=""></imagedata></shape>
7. 点击 “Change Intervals”.
<shape id="_x0000_i1028" style="WIDTH: 255pt; HEIGHT: 172.5pt" type="#_x0000_t75"><imagedata src="file:///C:/DOCUME~1/PARVAT~1/LOCALS~1/Temp/msoclip1/03/clip_image009.png" o:title=""></imagedata></shape>
<shape id="_x0000_i1027" style="WIDTH: 409.5pt; HEIGHT: 237pt" type="#_x0000_t75"><imagedata src="file:///C:/DOCUME~1/PARVAT~1/LOCALS~1/Temp/msoclip1/03/clip_image011.png" o:title=""></imagedata></shape>
8.点击 “Insert Interval”.
9. 输入相应的数据值,参见下屏:
<shape id="_x0000_i1026" style="WIDTH: 411pt; HEIGHT: 161.25pt" type="#_x0000_t75"><imagedata src="file:///C:/DOCUME~1/PARVAT~1/LOCALS~1/Temp/msoclip1/03/clip_image013.png" o:title=""></imagedata></shape>
10. 点击 “Insert”,再点击保存.号码范围对象就已经成功建立.
测试the Number Range Object:
We can use the function module, NUMBER_GET_NEXT, to get the next number of any number range object.
Following is a test program to get the next available number of the object created above:
REPORT zsnro_test.
DATA:
NUMBER TYPE I.
CALL FUNCTION 'NUMBER_GET_NEXT'
EXPORTING
nr_range_nr = '01'
object = 'ZDEMO'
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.
Source URL:http://www.saptechnical.com/Tutorials/ABAP/SNRO/SNRO.htm