2014-09-19 71 views
0

我正在嘗試學習IBM RPG併爲我的僱主重寫一個程序。我需要一種方法來查看我的變量是否已分配給我期望的值,但我不知道如何將某些內容輸出到我的屏幕以顯示值。有沒有辦法在RPG程序中發送包含變量的中斷消息,而不是CL程序?由於查看IBM RPG中某些輸出的變量值

回答

2

使用顯示器(DSPLY)操作碼
http://www-01.ibm.com/support/knowledgecenter/ssw_ibm_i_71/rzasd/sc092508935.htm%23zzdsply

dsply 'Hello World'; 
dsply 'value is:' + %char(myNumber); 
dsply myString; 

//the above don't pause, you'll see the message pop up and go away, 
// but it will be in the joblog. If you want to wait: 
dsply myString '*EXT' myResponse; 
+0

Buck提供了一個很好的觀點......取決於您檢查的頻率/頻率,使用調試器可能是更好的方法。 – Charles 2014-09-19 19:38:49

3

有提供給您不僅可以顯示變量的內容,但改變它們,以及一些調試器。我更喜歡使用RDi作爲我的編輯環境,並且它附帶的圖形調試器非常棒。

有幾個綠色屏幕調試器,在Midrange wiki上記錄爲here。 IBM i命令STRDBG用於ILE程序(如果使用OPTION(* SRCDBG)編譯,則使用OPM),而STRISDB命令通常用於較舊的OPM程序。

+2

如果RDi(也不是WDSC)不可用,那麼[System i5(圖形)調試器]的一個版本(http://www-01.ibm.com/support/knowledgecenter/ssw_ibm_i_61/rzamq/rzamqmain.htm? lang = en)可以通過System i Navigator和'運行SQL腳本'來使用。如果Navigator不可用,System i5 Debugger可以從服務器上下載並作爲獨立的PC安裝。 Navigator和System i5 Debugger都可以免費使用。 – user2338816 2014-10-03 01:06:15

1

查爾斯幾乎得到它。

由於dsply只是在de值後添加一個空格,並且會彈出消息,並且會一直保持,直到您按下回車鍵!

dsply 'Hello World' ' '; 
dsply 'value is:' + %char(myNumber) ' '; 
dsply myString ' '; 
2

調試器的建議是最好的。我在RPG400(pre ILE)工作。爲此,我可以列出我使用的步驟。希望這可能是一個幫助,如果你沒有做ILE或RPG4。我有一個RPG程序,ABRKR被ABROADC(CL)調用。 即時通訊調試ABRKR和不通過CL,我知道這是有效的。免責聲明:綠屏編程即將到來。

  • 在命令行鍵入STRISDB &按F4

enter image description here

  • 鍵入程序,庫.....的名稱(亞塔亞塔)

    enter image description here

  • 按ENTER完成它...... 我打電話給ABROADC。注意調用程序

enter image description here

  • 按ENTER鍵啓動球滾動

enter image description here

  • 一旦進入程序,按F5鍵啓動步進通程序

    enter image description here

  • 可以直通代碼1線在一個時間按F5

    步驟
  • 檢查變量值,在可變&按F11

將光標定位enter image description here

enter image description here

  • 按ENTER或F12退出詳細信息屏幕。

    • 按F3退出調試......或者......

    • 將光標定位到任何你想要的線,按F13(轉移F1)跳轉至該行的代碼。如果你發現你想要的東西&想讓程序運行到最後,只需跳轉到* INLR或LR指示器,然後打開它&按ENTER鍵。這項工作將會完成。

我道歉,大家誰不喜歡固定的格式,和老技術。我正在努力回答這個問題。