2016-01-09 83 views
0

我有一個輸入文件,其中包含標題記錄和連續詳細記錄。 總是隻有一個標題記錄。並且詳細記錄可能會有所不同(但所有數據都是相同的)。每個標題之後的 ,如果不是。的詳細記錄是兩個然後在輸出文件中寫入,如果不是。詳細記錄是大於二,然後在錯誤文件中寫入(我有一個計數器來計算沒有詳細記錄。) 在程序整個邏輯重複每個記錄COBOL程序中的邏輯

問題是:

當詳細記錄:2它正在輸出文件中正確寫入。 但是當細節記錄大於2時,它將寫入輸出文件以及錯誤文件。 但是當細節記錄大於2時,我只想寫入錯誤文件。

主要問題是:計數器將始終具有值2的某個時候,即使細節記錄3.因此通過它在這兩個「輸出文件」和「錯誤文件」

寫詳細記錄程序邏輯那麼應該有什麼邏輯,以便對於超過2的詳細記錄,它必須只在錯誤文件中寫入?

+2

你可以發佈你的輸入數據樣本,預期輸出嗎?目前還不清楚你是否有一個文件頭和數據,或者你有記錄的前面有一個標題的「批」。因此,請更新您的問題,並使用其下方的編輯鏈接,讓所有內容都清晰可見 –

+3

請顯示您的代碼。 –

+2

讀取標題記錄。轉到工作存儲。最多可將3個詳細記錄讀入工作存儲。如果您讀取兩個詳細記錄,請寫入輸出並將下一個標題記錄移至工作存儲。如果您閱讀一個或三個詳細記錄,請寫入錯誤。繼續閱讀詳細記錄並寫入錯誤,直到下一個標題記錄或文件結束。簡單。 –

回答

0

閱讀您的詳細記錄&把它放在工作中,並計數它發生了多少次後,直到下一個標題之後,如果計數器是2,在輸出文件中寫入錯誤文件。

+0

@吉爾伯特的評論比這更詳細。由於提問者真正想要的東西還不清楚,最好不要回答。 –

+0

@吉爾伯特的邏輯失敗,當記錄大於3,並在文件頭的末尾不存在 –

+0

@Bill Woodger對不起,沒有更新的問題....在編碼繁忙......但吉爾伯特和拉胡爾是正確的.... ......我對答案很滿意.....非常感謝你們所有的人 –