2012-10-25 185 views
0

我正在顯示一堆東西的顯示字段(顯然,他們總是這樣做)。最近我遇到了一個非常奇怪的場景。我在一種記錄格式中增加了一個字符輸出字段,但是當記錄格式寫入屏幕時,不知何故該字段不能顯示。我在調試模式下檢查過。該值已被分配給EXFMT語句之前的字段,但它永遠不會顯示。我已經將它移動到記錄格式的其他地方,問題依然存在。我也嘗試將它移動到另一個顯示在同一屏幕上的記錄格式,並且這次它可以工作。出現這種情況會出現什麼問題?爲什麼輸出字段不顯示在顯示文件上?

 R XT99901    SFLCTL(XT99902) 
           SFLSIZ(0011) 
           SFLPAG(0005) 
           SFLDSP 
           SFLDSPCTL 
02        SFLCLR 
03        SFLEND 
           BLINK 
           LOCK 
           PUTOVR 
           OVERLAY 
           CA05 
    . 
    . 
    . 
          4 2'Status'  
     S1STUS  15A O 4 14COLOR(RED) 

字段S1STUS是有問題的那個。

+0

檢查DDS編譯器列表中的錯誤消息。具體而言,指示重疊字段的消息如果這沒有幫助,請發佈足夠的DDS,以便有人可以編譯DDS並重新創建問題。 –

+0

沒有重疊字段,但有一條消息CPD8111表示記錄可能無法顯示。這是什麼意思? –

+0

如果您有LOCK但不是FRCDTA的記錄,並且您創建文件DFRWRT(* YES)(很少見),則由於延遲寫入,該記錄可能不會顯示。 –

回答

0

當您使用PUTOVR時,您需要在每個要更改的輸出字段上指定OVRDTA。添加OVRDTA關鍵字到S1STUS,看看是否有幫助。

+0

實際上,我在其他輸出字段中使用了沒有OVRDTA關鍵字的相同記錄格式,並且它們工作正常。我曾嘗試在S1STUS中添加一個,但它沒有幫助。事實上,我曾經將這個領域改爲輸入/輸出。該值仍然沒有顯示,但如果我在該字段中輸入內容並按回車鍵,該值將保持在那裏。奇怪。 –

+0

您需要閱讀PUTOVR的手冊。其他關鍵字執行隱式OVRDTA。爲了幫助調試,請刪除PUTOVR和所有OVRDTA關鍵字,看看是否有幫助。如果沒有,請發佈所有DDS,以便我們可以嘗試重新創建它。 –

+0

不知怎的,OVRDTA最終解決了這個問題,儘管它之前並不奏效......但是沒關係,它現在可以工作。謝謝。 –