Number_Get_Next产生流水号

2024-04-24 07:18
文章标签 产生 number get next 流水号

本文主要是介绍Number_Get_Next产生流水号,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 今天做了一个采购订单的採番,“採番”是日语词,通俗的讲就是按自己定义的规则生成流水号 。下面分享一下产生流水号的步骤:      

                  1. 系统中设定流水号

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


输入ObjectZLC_001,然后单击创建。


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

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


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


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

 

2. 程序中取得流水号

         REPORT  ZLC_NUMBER_RANGE.

 

         DATA W_MATNR TYPE MATNR.

 

         START-OF-SELECTION.

 

        CALLFUNCTION 'NUMBER_RANGE_ENQUEUE'

         EXPORTING

           OBJECT           ='ZLC_001' "Ceate with SNUM

         EXCEPTIONS

           FOREIGN_LOCK     =1

           OBJECT_NOT_FOUND= 2

           SYSTEM_FAILURE   =3

           OTHERS           =4.

 

       CALLFUNCTION '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.

 

       CALLFUNCTION 'NUMBER_RANGE_DEQUEUE'

          EXPORTING

            OBJECT= 'ZLC_001'.

 

      IFSY-SUBRC <> 0.

          MESSAGEID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

             WITHSY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

      ENDIF.

 

Tcode:SNUM定义对象,添加号码范围,使用 NUMBER_GET_NEXT获取号码。有时候会出现跳号现象,2个方法解决。

1.SNUM定义对象时,把缓存数设置为0.这个也可以用在SNRO里进行设置。一般这样就可以解决问题。如果还存在这种现象:

2.   call function 'NUMBER_GET_NEXT'

     exporting

       nr_range_nr            = '01'

       object                 = 'ZTEST_NUM'

       ignore_buffer           = 'X'

    importing

     number                        =  Num

把FUNCTION里的ignore_buffer          = 'X'设置为X即可解决

 

 

if sy-subrc = 0.

 concatenate sy-datum+4(4)  Num into  Num.

 select single * from t100 into corresponding fields of t100 where sprsl = 'M'

          and arbgb = sy-msgid and msgnr = sy-msgno.

  if sy-subrc = 0.

    move t100-text to text.

    replace '&' with sy-msgv1 into text.  condense text.

    replace '&' with sy-msgv2 into text.  condense text.

    replace '&' with sy-msgv3 into text.  condense text.

endif.

 endif.

write:/'Number is:'.write: Num.

write:/'text is:'.write: text.

 

源文档 <http://hi.baidu.com/derrial/blog/item/177ed6361719e9c9a2cc2b27.html>

 

 

这篇关于Number_Get_Next产生流水号的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/931089

相关文章

MySQL中Next-Key Lock底层原理实现

《MySQL中Next-KeyLock底层原理实现》Next-KeyLock是MySQLInnoDB存储引擎中的一种锁机制,结合记录锁和间隙锁,用于高效并发控制并避免幻读,本文主要介绍了MySQL中... 目录一、Next-Key Lock 的定义与作用二、底层原理三、源代码解析四、总结Next-Key L

Gin框架中的GET和POST表单处理的实现

《Gin框架中的GET和POST表单处理的实现》Gin框架提供了简单而强大的机制来处理GET和POST表单提交的数据,通过c.Query、c.PostForm、c.Bind和c.Request.For... 目录一、GET表单处理二、POST表单处理1. 使用c.PostForm获取表单字段:2. 绑定到结

你的华为手机升级了吗? 鸿蒙NEXT多连推5.0.123版本变化颇多

《你的华为手机升级了吗?鸿蒙NEXT多连推5.0.123版本变化颇多》现在的手机系统更新可不仅仅是修修补补那么简单了,华为手机的鸿蒙系统最近可是动作频频,给用户们带来了不少惊喜... 为了让用户的使用体验变得很好,华为手机不仅发布了一系列给力的新机,还在操作系统方面进行了疯狂的发力。尤其是近期,不仅鸿蒙O

SpringBoot中Get请求和POST请求接收参数示例详解

《SpringBoot中Get请求和POST请求接收参数示例详解》文章详细介绍了SpringBoot中Get请求和POST请求的参数接收方式,包括方法形参接收参数、实体类接收参数、HttpServle... 目录1、Get请求1.1 方法形参接收参数 这种方式一般适用参数比较少的情况,并且前后端参数名称必须

usaco 1.2 Name That Number(数字字母转化)

巧妙的利用code[b[0]-'A'] 将字符ABC...Z转换为数字 需要注意的是重新开一个数组 c [ ] 存储字符串 应人为的在末尾附上 ‘ \ 0 ’ 详见代码: /*ID: who jayLANG: C++TASK: namenum*/#include<stdio.h>#include<string.h>int main(){FILE *fin = fopen (

MCU7.keil中build产生的hex文件解读

1.hex文件大致解读 闲来无事,查看了MCU6.用keil新建项目的hex文件 用FlexHex打开 给我的第一印象是:经过软件的解释之后,发现这些数据排列地十分整齐 :02000F0080FE71:03000000020003F8:0C000300787FE4F6D8FD75810702000F3D:00000001FF 把解释后的数据当作十六进制来观察 1.每一行数据

题目1380:lucky number

题目1380:lucky number 时间限制:3 秒 内存限制:3 兆 特殊判题:否 提交:2839 解决:300 题目描述: 每个人有自己的lucky number,小A也一样。不过他的lucky number定义不一样。他认为一个序列中某些数出现的次数为n的话,都是他的lucky number。但是,现在这个序列很大,他无法快速找到所有lucky number。既然

10 Source-Get-Post-JsonP 网络请求

划重点 使用vue-resource.js库 进行网络请求操作POST : this.$http.post ( … )GET : this.$http.get ( … ) 小鸡炖蘑菇 <!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-w

Jenkins 通过 Version Number Plugin 自动生成和管理构建的版本号

步骤 1:安装 Version Number Plugin 登录 Jenkins 的管理界面。进入 “Manage Jenkins” -> “Manage Plugins”。在 “Available” 选项卡中搜索 “Version Number Plugin”。选中并安装插件,完成后可能需要重启 Jenkins。 步骤 2:配置版本号生成 打开项目配置页面。在下方找到 “Build Env

API28_OKgo_get注意事项

1: implementation 'com.lzy.net:okgo:2.1.4' 2:在BaseApplication中onCreate()中初始化initOKgo() private void initOKgo() {//---------这里给出的是示例代码,告诉你可以这么传,实际使用的时候,根据需要传,不需要就不传-------------//HttpHeaders headers