2016-10-01 21 views
0

COBOLプログラムを本を読んで、オンラインを見て、何の進展もなかったしているしている:こんにちは私はCOBO1を初めて使っています。私のヘッダーとフッターを表示するのに問題があります。私は

IDENTIFICATION DIVISION.       
PROGRAM-ID. PROG-TWO.       
AUTHOR.  MARKIED JONES.      


FD PATRON-LIST.         
01 PATRON-LINE  PIC X(80).     



ENVIRONMENT DIVISION.        

INPUT-OUTPUT SECTION.        
FILE-CONTROL.          
    SELECT PATRON-FILE ASSIGN TO INFILE.   
    SELECT PATRON-LIST ASSIGN TO OUTFILE.   

DATA DIVISION.          


FILE SECTION.          
FD PATRON-FILE.         
01 PATRON-RECORD.         
    03 PR-NAME    PIC X(18).   
    03 PR-ADDRESS   PIC X(18).   
    03 PR-CITY-STATE-ZIP  PIC X(24).   
    03 PR-TARGET-CONTR  PIC 9(4).    
    03 PR-ACTUAL-CONTR  PIC 9(4).    
    03 PR-CONTR-DATE.        
     05 PR-CONTR-MONTH  PIC XX.    
     05 PR-CONTR-DAY  PIC XX.    
     05 PR-CONTR-YEAR  PIC XX.    
    03 FILLER    PIC X(6).      
FD PATRON-LIST.            
01 PATRON-LINE.            
    03 FILLER    PIC X.       
    03 PL-NAME    PIC X(18).      
    03 FILLER    PIC X.       
    03 PL-ADDRESS   PIC X(18).      
    03 FILLER    PIC XX.       
    03 PL-CITY-STATE-ZIP  PIC X(24).      
WORKING-STORAGE SECTION.          


01 WS-PATRON-LINE   PIC X(80).      

01 WS-HEADER-LINE-1.           

    03 FILLER    PIC X(18) VALUE SPACES.   
    03 FILLER    PIC X(7) VALUE "INDIANA".  
    03 FILLER    PIC X  VALUE SPACE.   
    03 FILLER    PIC X(10) VALUE "UNIVERSITY". 
    03 FILLER    PIC X  VALUE SPACE.   
    03 FILLER    PIC X(2) VALUE "OF".   
    03 FILLER    PIC X  VALUE SPACE.   
    03 FILLER    PIC X(12) VALUE "PENNSYLVANIA". 

01 WS-HEADER-LINE-1-UL.          

    03 FILLER    PIC X(18) VALUE SPACES.   
    03 FILLER    PIC X(7) VALUE "-".   
    03 FILLER    PIC X  VALUE SPACE.   
    03 FILLER    PIC X(10) VALUE "-".   
    03 FILLER    PIC X  VALUE SPACE.   
    03 FILLER    PIC X  VALUE "-".   
    03 FILLER    PIC X  VALUE SPACE.   
    03 FILLER    PIC X(12) VALUE "-".   
01 HEADER-LINE-2. 
03 FILLER    PIC X(20) VALUE SPACES.         
    03 FILLER    PIC X(8) VALUE "COMPUTER". 
    03 FILLER    PIC X  VALUE SPACE.  
    03 FILLER    PIC X(7) VALUE "SCIENCE". 
    03 FILLER    PIC X  VALUE SPACE.  
    03 FILLER    PIC X(10) VALUE "DEPARTMENT". 
01 HEADER-LINE-2-UL.          
    03 FILLER    PIC X(20) VALUE SPACES.  
    03 FILLER    PIC X(8) VALUE ALL"-".  
    03 FILLER    PIC X  VALUE SPACE.  
    03 FILLER    PIC X(7) VALUE ALL"=".  
    03 FILLER    PIC X  VALUE SPACE.  
    03 FILLER    PIC X(10) VALUE ALL"-".  
01 HEADER-LINE-3.           
    03 FILLER    PIC X(22) VALUE SPACES.  
    03 FILLER    PIC X(7) VALUE "LISTING". 
    03 FILLER    PIC X  VALUE SPACE.  
    03 FILLER    PIC X(2) VALUE "OF".   
    03 FILLER    PIC X  VALUE SPACE.  
    03 FILLER    PIC X(7) VALUE "PATRONS". 
01 HEADER-LINE-3-UL.          
    03 FILLER    PIC X(22) VALUE SPACES.  
    03 FILLER    PIC X(7) VALUE "-".   
    03 FILLER    PIC X  VALUE SPACE.  
    03 FILLER    PIC X(2) VALUE "-".   
    03 FILLER    PIC X  VALUE SPACE.  
    03 FILLER    PIC X(7) VALUE "-".   
01 WS-COLUMN-HEADER-1.         
    03 FILLER    PIC X(4) VALUE SPACES.  
    03 FILLER    PIC X(6) VALUE "PATRON".  
    03 FILLER    PIC X(8) VALUE SPACES.  
    03 FILLER    PIC X(6) VALUE "PATRON".  
    03 FILLER    PIC X(15) VALUE SPACES.  
    03 FILLER    PIC X(6) VALUE "PATRON".  
01 WS-COLUMN-HEADER-1UL.         
    03 FILLER    PIC X(4) VALUE SPACES.  
    03 FILLER    PIC X(6) VALUE "-".   
    03 FILLER    PIC X(8) VALUE SPACES.  
    03 FILLER    PIC X(6) VALUE "-".     
    03 FILLER    PIC X(15) VALUE SPACES.    
    03 FILLER    PIC X(6) VALUE "-".     
01 WS-COLUMN-HEADER-2.           
    03 FILLER    PIC X(4) VALUE SPACES.    
    03 FILLER    PIC X(4) VALUE "NAME".    
    03 FILLER    PIC X(8) VALUE SPACES.    
    03 FILLER    PIC X(7) VALUE "ADDRESS".   
    03 FILLER    PIC X(12) VALUE SPACES.    
    03 FILLER    PIC X(14) VALUE "CITY-STATE-ZIP". 
01 WS-COLUMN-HEADER-2UL.           
    03 FILLER    PIC X(4) VALUE SPACES.    
    03 FILLER    PIC X(4) VALUE "-".     
    03 FILLER    PIC X(8) VALUE SPACES.    
    03 FILLER    PIC X(7) VALUE "-".     
    03 FILLER    PIC X(12) VALUE SPACES.    
    03 FILLER    PIC X(14) VALUE "-".     
01 WS-FOOTER-LINE-1.            
    03 FILLER    PIC X(24) VALUE      
           "TOTAL # OF PATRONS:".    
    03 WS-NUM-PATRONS  PIC Z9.        
01 WS-FOOTER-LINE-2.            
    03 FILLER    PIC X(32) VALUE      
           "PROGRAMMED BY A COSC 220 STUDENT". 



    01 WS-EOF-SWITCH    PIC X(3).       
    PROCEDURE DIVISION.            
    000-PRINT-PATRON-LIST.           

     OPEN INPUT PATRON-FILE          

      OUTPUT PATRON-LIST      
    MOVE "NO" TO WS-EOF-SWITCH     
    READ PATRON-FILE        
      AT END MOVE "YES" TO WS-EOF-SWITCH  
    END-READ          
    PERFORM 100-PROCESS-PATRON-RECORD   
     UNTIL WS-EOF-SWITCH IS EQUAL TO "YES" 
    CLOSE PATRON-FILE PATRON-LIST    
    STOP RUN          
    .           

100-PROCESS-PATRON-RECORD.      
     MOVE PR-NAME TO PL-NAME      
     MOVE PR-ADDRESS TO PL-ADDRESS    
     MOVE PR-CITY-STATE-ZIP TO PL-CITY-STATE-ZIP 
     WRITE PATRON-LINE       
     READ PATRON-FILE       
     AT END MOVE "YES" TO WS-EOF-SWITCH  
     END-READ         
     .           

    200-PRINT-PATRON-LINE.        
+0

どの書籍を読んでいますか? –

答えて

0

あなたの問題であり、あなただけの

write PATRON-LINE from WS-HEADER-LINE-1 
    write PATRON-LINE from WS-HEADER-LINE-1-UL 
    ... 
個人

を正確に何をする私は、ページの印刷コードを置きますそれ自体での手順(と行番号を確認してください)

r0900-Page-header. 

    if line-number > ... 
     write PATRON-LINE from WS-HEADER-LINE-1 
          after advancing page 
     ... 
     move ...    to line-number 
    end-if 
    . 

はまたadvancing clause

を見て
+0

私はあなたが示唆したコードスニペットを試しました:200-PRINT-PATRON-LINE。 WS-HEADER-LINE-1からPATRON-LINEを作成してください。 WS-HEADER-LINE-1-ULからPATRON-LINEを書きます。それでも、ヘッダやフッタを使用しないで出力します。 – Markie9

+0

質問のコードを更新できますか?また、あなたはどこから新しい手続きを???から呼びましたか? –

0

出力ファイルを開くと、別のパラを使用してすべてのヘッダーを1つずつ書き込むことができます。各ヘッダーを移動して書き込んだ後、PATRON-LINEを初期化することを忘れないでください。

+0

私はコブルにはとても新しいです。あなたは何を記述しているのかの例を書くことができますか? – Markie9

0

出力ファイルを開いたら以下を実行文に追加してください。

PERFORM 050-WRITE-HEADER。

050-WRITE-HEADER。 PATRON-LINE WRITEパトロン線に対する INITIALIZE PATRON-LINE MOVEのWS-HEADER-LINE-1を

INITIALIZE PATRON-LINE MOVE WS-HEADER-LINE-1-UL WRITEを-LINEにパトロンTO PATRON- LINE

ヘッダー2と3と同じです。

+0

INITIALIZE、同じフィールドに移動しますか?あなたはコンピュータを信用していませんか?注意してください、これは "フォーラム"ではありません。あなたはすべてのコメントに対して答えを出すのではなく、評判ポイントが50になるまでコメントできないようにするだけです。 –

+0

また、見出しを必要としないときに見出しを出力することは非常に厄介です(非常に一般的です)。何も出力線を書いていないと(何も条件に合致しない)?あなたはまだ見出しを得るが、見出しだけを得る。 –

関連する問題