首页 > 解决方案 > 如何将长字符串移动到变量 cobol

问题描述

您好,我正在学习 cobol Online (CICS),我想做的是在 trans 名称之后获得 5 个数字,在前 5 个数字之后获得 5 个数字,然后我必须做 add , sub , mul , div 并显示它

这是代码

*******************************************************  
DATA DIVISION.                                           
WORKING-STORAGE SECTION.                                 
01 INBOUND-MESSAGE                  PIC X(06).           
01 OUTBOUND-MESSAGE                 PIC X(80).           
01 WS-VARIABLE.                                          
   05 WS-NUM1                       PIC 9(5).            
   05 WS-NUM2                       PIC 9(5).            
   05 WS-ADD                        PIC 9(10).           
   05 WS-SUB                        PIC 9(10).           
   05 WS-MUL                        PIC 9(15).           
   05 WS-DIV                        PIC 9(15).           
*******************************************************  
PROCEDURE DIVISION.                                      
                                                         
****TERIMA DATA DARI LUAR ****                           
    EXEC CICS RECEIVE                                    
        INTO (INBOUND-MESSAGE)                           
    END-EXEC.                                            
      EXEC CICS RECEIVE                                    
          INTO (INBOUND-MESSAGE)                           
      END-EXEC.                                            
                                                           
      MOVE INBOUND-MESSAGE(5:5) TO WS-NUM1.                
      MOVE INBOUND-MESSAGE(10:5) TO WS-NUM2.               
      ADD WS-NUM1   TO WS-NUM2 GIVING WS-ADD.              
      SUBTRACT WS-NUM1   FROM WS-NUM2 GIVING WS-SUB.       
      MULTIPLY WS-NUM1 BY WS-NUM2 GIVING WS-MUL.           
      DIVIDE WS-NUM1 BY WS-NUM2 GIVING WS-DIV.             
      MOVE 'HASIL JUMLAH: ' WS-ADD ' HASIL KURANG: ' WS-SUB
           ' HASIL KALI: ' WS-MUL ' HASIL BAGI: ' WS-DIV   
      TO OUTBOUND-MESSAGE.                                 
      EXEC CICS SEND                                       
          FROM (OUTBOUND-MESSAGE)                          
          ERASE                                            
      END-EXEC.                                            
                                                           
      EXEC CICS RETURN                                     
      END-EXEC.                                            

问题是我想要做的是显示

Hasil jumlah : ....
Hasil kurang : ....
Hasil kali   : ....
hasil bagi   : ....

我有一个错误

“MOVE”语句无效。应为“TO”,但找到“WS-ADD”。该声明被丢弃。

我该如何解决?谢谢你

标签: cobol

解决方案


MOVE只有一个源,可能有多个目标。您可能希望改为查找该STRING语句。


推荐阅读