SAP系统中设定流水号

通俗的讲就是按自己定义的规则生成流水号 。下面分享一下产生流水号的步骤:     

                  1. 系统中设定流水号

使用T-Code SNRO来创建一个流水号标识对象,

 

输入Object ZLC_001,然后单击创建。

 

然后输入Short text, Long text, Number length domain在写程序的时候应该会另外创建,这里测试就使用料号的Domain MATNR来做,其他的参数使用默认值就可以了,然后保存输入的资料。

系统提示创建成功,这里还需要维护一个子对象,单击“号码范围”。

 

单击“间隔”,维护具体的流水号规则。

 

然后保存 ,流水号设定完成,接下来就是程序中如何取得这些流水号了。

 

2. 程序中取得流水号

         REPORT  ZLC_NUMBER_RANGE.

 

         DATA W_MATNR TYPE MATNR.

 

         START-OF-SELECTION.

 

        CALL FUNCTION 'NUMBER_RANGE_ENQUEUE'

         EXPORTING

           OBJECT           = 'ZLC_001' "Ceate with SNUM

         EXCEPTIONS

           FOREIGN_LOCK     = 1

           OBJECT_NOT_FOUND = 2

           SYSTEM_FAILURE   = 3

           OTHERS           = 4.

 

       CALL FUNCTION 'NUMBER_GET_NEXT'

         EXPORTING

           NR_RANGE_NR             = '00'

           OBJECT                  = 'ZLC_001'

         IMPORTING

           NUMBER                  = W_MATNR

         EXCEPTIONS

           INTERVAL_NOT_FOUND      = 1

           NUMBER_RANGE_NOT_INTERN = 2

           OBJECT_NOT_FOUND        = 3

           QUANTITY_IS_0           = 4

           QUANTITY_IS_NOT_1       = 5

           INTERNAL_OVERFLOW       = 6

           OTHERS                  = 7.

 

       CALL FUNCTION 'NUMBER_RANGE_DEQUEUE'

          EXPORTING

            OBJECT = 'ZLC_001'.

 

      IF SY-SUBRC <> 0.

          MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

      ENDIF.

  给屏幕字段复值:

data field (50).

field-symbols:<f1> type any,<f2> type any.

data i_no(10) type N.

clear i_no.

 

       CALL FUNCTION 'NUMBER_GET_NEXT'

         EXPORTING

           NR_RANGE_NR             = '00'

           OBJECT                  = 'ZLC_001'

         IMPORTING

           NUMBER                  = i_no.

field = ' i_no'.

ASSIGN (FIELD) TO <f1>. 

field = '(SAPLMIGO)GOHEAD-XBLNR'."SAPLMIGO程序名;GOHEAD-XBLNR屏幕字段

assign (FIELD) to <f2>.

<F2> = <f1>.

 

 

转载于:https://www.cnblogs.com/weichuo/archive/2011/05/18/2050243.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值