COBOL字符串拼接

 
字符串连接语句(STRING语句)
 
(1)STRING是字符连接语句,可以将多个发送项字符发送到一个接收项中。
         STRING A,B,C DELIMITED BY SIZE INTO D.
 
(2)DELIMITED是界定短语,用来控制各个发送项的终止位置。
         DELIMITED BY SIZE     表示把每个发送项的内容全部送到接收项;  
         DELIMITED BY SPACE 表示发送项中的空格将不会送到接收项;
         DELIMITED BY 'H'       表示发送项遇到字符‘H’不传送到接收项。
        案例1:STRING A,B,C DELIMITED BY SIZE INTO D.
        案例2:STRING A DELIMITED BY 'H' B DELIMITED BY 'Y' C DELIMITED BY 'W' INTO D.
 
        说明:使用界定短语,当遇到界定字符,只会把界定字符之前的字符段送到接收字段;界定字符后的数据丢失。
 
(3)POINTER是指针短语,控制接收项开始接收字符的位子。
         STRING A,B,C DELIMITED BY SIZE WHIT POINTER T INTO D.
         如果T=3,则表示接收项D从第三位开始接收数据;T不能小于1或者大于接收项长度,否则发生数据溢出。
 
(4)OVERFLOW是溢出短语,用来判断是否发生溢出,以及发生溢出后所做的处理。
         STRING A,B,C DELIMITED BY SIZE INTO D ON OVERFLOW DISPALY 'OVERFLOW'.
         如果发生溢出就显示“OVERFLOW”信息。
 
 
字符串分解语句(UNSTRING语句)
 
 
(1)UNSTRING是字符串分解语句,是STRING的逆操作。
         UNSTRING A INTO B,C,D.
         将字符串A分解,如果B项接收长度满了则C开始接收,如果C项接收长度满了D开始接收。
 
(2)使用DELIMITED进行字符串分解界定,是将字符串按照界定字符分成若干部分。
         UNSTRING A DELIMITED BY 'M' INTO B,C,D.            //以字符'M'界定。
         UNSTRING A DELIMITED BY ALL 'M' INTO B,C,D.     //以单个或者多个字符'M'界定。
         将字符串以字符‘M’分成若干部分,第一部分给B,第二部分给C,第三部分给D。
         如果发送项A中不存在字符'M',则字符只有一个部分,给B项,C和D不传值。
         如果发送项A被分成部分多于3份,则只取前三份。
 
(3)COUNT短语,用于计算已经传到接收项的字符数量。
         UNSTRING A DELIMITED BY 'T' INTO B COUNT IN W.
 
(4)DELIMITER是定界符存储短语,如果使用多个定界符,在传送接收项时,同事把界定符存储。
          UNSTRING A DELIMITED BY 'T' OR ALL ' ' OR 'R' INTO B DELIMITER INTO Q
                                                                                                    C DELIMITER INTO Q
                                                                                                    D.
(5)POINTER指针短语,指定从发送项的某位开始发送。
         UNSTRING A INTO C WITH POINTER U.
 
(6)TALLYING接收项计数短语,用来记录实际接收项的项数。
          UNSTRING A DELIMITED BY 'M' INTO B,C,D TALLYING IN N.
 
(7)溢出短语OVERFLOW。
 
编程实例
 
 UNSTRING WS-ENG-LLONG-NAME DELIMITED BY ALL SPACE
              INTO WS-ENG-SSNAME(01),
                   WS-ENG-SSNAME(02),
                   WS-ENG-SSNAME(03),
                   WS-ENG-SSNAME(04),
                   WS-ENG-SSNAME(05),
                   WS-ENG-SSNAME(06),
                   WS-ENG-SSNAME(07),
                   WS-ENG-SSNAME(08),
                   WS-ENG-SSNAME(09),
                   WS-ENG-SSNAME(10),
                   WS-ENG-SSNAME(11),
                   WS-ENG-SSNAME(12),
                   WS-ENG-SSNAME(13),
                   WS-ENG-SSNAME(14),
                   WS-ENG-SSNAME(15),
                   WS-ENG-SSNAME(16),
                   WS-ENG-SSNAME(17),
                   WS-ENG-SSNAME(18),
                   WS-ENG-SSNAME(19),
                   WS-ENG-SSNAME(20),
                   WS-ENG-SSNAME(21),
                   WS-ENG-SSNAME(22),
                   WS-ENG-SSNAME(23),
                   WS-ENG-SSNAME(24),
                   WS-ENG-SSNAME(25)
 
 STRING WS-ENG-SSNAME(01) DELIMITED BY SPACE
                  ' ' DELIMITED BY SIZE
                  WS-ENG-SSNAME(02) DELIMITED BY SPACE
                  ' ' DELIMITED BY SIZE
                  WS-ENG-SSNAME(03) DELIMITED BY SPACE
                  ' ' DELIMITED BY SIZE
                  WS-ENG-SSNAME(04) DELIMITED BY SPACE
                  ' ' DELIMITED BY SIZE
                  WS-ENG-SSNAME(05) DELIMITED BY SPACE
                  ' ' DELIMITED BY SIZE
                  WS-ENG-SSNAME(06) DELIMITED BY SPACE
                  ' ' DELIMITED BY SIZE
                  WS-ENG-SSNAME(07) DELIMITED BY SPACE
                  ' ' DELIMITED BY SIZE
                  WS-ENG-SSNAME(08) DELIMITED BY SPACE
                  ' ' DELIMITED BY SIZE
                  WS-ENG-SSNAME(09) DELIMITED BY SPACE
                  ' ' DELIMITED BY SIZE
                  WS-ENG-SSNAME(10) DELIMITED BY SPACE
                  ' ' DELIMITED BY SIZE
                  WS-ENG-SSNAME(11) DELIMITED BY SPACE
                  ' ' DELIMITED BY SIZE
                  WS-ENG-SSNAME(12) DELIMITED BY SPACE
                  ' ' DELIMITED BY SIZE
                  WS-ENG-SSNAME(13) DELIMITED BY SPACE
                  ' ' DELIMITED BY SIZE
                  WS-ENG-SSNAME(14) DELIMITED BY SPACE
                  ' ' DELIMITED BY SIZE
                  WS-ENG-SSNAME(15) DELIMITED BY SPACE
                  ' ' DELIMITED BY SIZE
                  WS-ENG-SSNAME(16) DELIMITED BY SPACE
                  ' ' DELIMITED BY SIZE
                  WS-ENG-SSNAME(17) DELIMITED BY SPACE
                  ' ' DELIMITED BY SIZE
                  WS-ENG-SSNAME(18) DELIMITED BY SPACE
                  ' ' DELIMITED BY SIZE
                  WS-ENG-SSNAME(19) DELIMITED BY SPACE
                  ' ' DELIMITED BY SIZE
                  WS-ENG-SSNAME(20) DELIMITED BY SPACE
                  ' ' DELIMITED BY SIZE
                  WS-ENG-SSNAME(21) DELIMITED BY SPACE
                  ' ' DELIMITED BY SIZE
                  WS-ENG-SSNAME(22) DELIMITED BY SPACE
                  ' ' DELIMITED BY SIZE
                  WS-ENG-SSNAME(23) DELIMITED BY SPACE
                  ' ' DELIMITED BY SIZE
                  WS-ENG-SSNAME(24) DELIMITED BY SPACE
                  ' ' DELIMITED BY SIZE
                  WS-ENG-SSNAME(25) DELIMITED BY SPACE
                  INTO WS-TMP-ENG-NAME
 
 
 
 
 
 
 

猜你喜欢

转载自blog.csdn.net/weixin_41849360/article/details/80029897