获取36位进制序列数



REPORT  ZTEST131  MESSAGE-ID zmsg  LINE-SIZE  136  LINE-COUNT  33
NO  STANDARD  PAGE HEADING.

DATA:    snnum ( 5 VALUE  '00000',
         lnum  type  i,
         c1 ( 1 ),
         c2 ( 1 ),
         c3 ( 1 ),
         c4 ( 1 ),
         c5 ( 1 ),
         n1 ( 2 TYPE n,
         n2 ( 2 TYPE n,
         n3 ( 2 TYPE n,
         n4 ( 2 TYPE n,
         n5 ( 2 TYPE n.

do  300  times.
c1  snnum ( 1 ).
c2  snnum+1 ( 1 ).
c3  snnum+2 ( 1 ).
c4  snnum+3 ( 1 ).
c5  snnum+4 ( 1 ).

PERFORM get_num  USING c1  CHANGING n1.
PERFORM get_num  USING c2  CHANGING n2.
PERFORM get_num  USING c3  CHANGING n3.
PERFORM get_num  USING c4  CHANGING n4.
PERFORM get_num  USING c5  CHANGING n5.


n5  n5 +  1.
IF n5  36.
  n5  0.
  n4  n4 +  1.
   IF n4  36.
    n4  0.
    n3  n3 +  1.
     IF n3  36.
      n3  0.
      n2  n2 +  1.
       IF n2  36.
        n2  =   0.
        n1  n1 +  1.
       ENDIF.
     ENDIF.
   ENDIF.
ENDIF.


PERFORM get_char  USING n1  CHANGING c1.
PERFORM get_char  USING n2  CHANGING c2.
PERFORM get_char  USING n3  CHANGING c3.
PERFORM get_char  USING n4  CHANGING c4.
PERFORM get_char  USING n5  CHANGING c5.

CONCATENATE c1 c2 c3 c4 c5   INTO snnum.

lnum  lnum +  1.
write:snnum.

if lnum  15.
  lnum  0.
   WRITE /.
endif.

enddo.
*&---------------------------------------------------------------------*
*&      Form  get_num
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->P_C1  text
*      <--P_N1  text
*----------------------------------------------------------------------*
FORM get_num   USING    p_char
               CHANGING p_num.
   SEARCH  '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'  FOR p_char.
  p_num  sy -fdpos.
ENDFORM.                     " get_num
*&---------------------------------------------------------------------*
*&      Form  get_char
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->P_C1  text
*      <--P_N1  text
*----------------------------------------------------------------------*
FORM get_char   USING    p_num
               CHANGING p_char.
   DATA: l_string ( 36 VALUE  '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'.
  p_char  l_string+p_num.
ENDFORM.                     " get_char
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值