2012-08-28 43 views
0

我想學習一些RPGIV。我對語言沒有太多的瞭解。我正在尋找免費的在線資源,到目前爲止,我剛剛找到了必須付費的網站。免費在線資源學RPGIV

我想學習的原因是,我們是否正在使用調用Web服務的RPG函數。它給出了一個通用的內部服務器錯誤500.所以我想學習RPGIV,所以我可以問正確的問題,並解決這個問題。

+5

要訪問Web服務,很可能您正在使用Scott Klement的HTTPAPI軟件,該軟件有自己的支持。 http://scottklement.com/ftpapi/ftpapilist.html將允許您註冊支持郵件列表,在那裏您可以發佈您的問題並獲得_very_helpful_響應。 – Dennis

+0

@丹尼斯感謝這是一個偉大的幫助將調查 – ZioN

+1

你可能想看看這個相關的問題http://stackoverflow.com/questions/10457764/how-to-learn-rpg-400 – kratenko

回答

5

這是一個非常寬泛的問題。如果你能解釋一些關於爲什麼RPG IV和你將使用它的問題,答案的用處將會增加。

與Java或C++不同,RPG IV沒有任何基於PC的編譯器。 RPG IV僅在IBM中端系列計算機上運行,​​因此有必要訪問其中一個以嘗試任何代碼。 Holger Scherer has a public machine available;可能還有其他的,但它是一個薄弱的市場。

一般來說,學習RPG IV是不夠的。爲了能夠在中端計算機上使用,您還需要了解最少的DDSCL。除此之外,您還應該學習一些基本的工作管理概念,例如查找您的編譯器列表進入哪個輸出隊列,如何將作業提交到批處理(以及「作業」是什麼!)以及如何使用庫列表。我也強烈建議學習ILE。內置數據庫是DB2變體;一個開始的程序員不會關心如何創建一個數據庫,以至於瞭解它是如何構建的,以及各個表之間如何相互關聯。這嚴格依賴於數據庫,關於設計它的業務。作爲程序員,您將使用embedded SQL,因此請參閱該手冊以及SQL programmingSQL Reference手冊。

編輯:

RPG IV並不難,如果你正在看就明白。寫它是一個更多的工作:-)另外,它聽起來好像你有一個本地的來源,可以引導你通過一些看起來很奇怪的部分。我現在的建議是將RPG IV程序加入調試並觀察來回發生的事情。 (STRDBG)比較Web服務作者提供的任何示例(使用Java,也許?)並查看HTTP請求是否有些格式錯誤。

由於這個問題是關於學習RPG而不是調試500錯誤,我將繼續專注於學習方面。如果您需要調試幫助,請發起一個不同的問題併發布相關代碼。獲得代碼的方法是在RPG IV程序上找到DSPPGM,然後查找構成它的模塊。顯示模塊的細節(選項5)並跟蹤源文件,庫和成員名稱。然後,在源文件和庫上輸入,並在右上角的「位置到」字段中輸出源成員名稱。按Enter鍵,該源成員將位於列表的頂部。使用選項5瀏覽源成員。

簡而言之,F規範描述了程序將使用的表格。 RPG使用操作碼爲READ,WRITE,EXCEPT,UPDATE的文件。如果程序使用嵌入式SQL,那麼除了RPG使用的那些外,可能還有SQL使用的表。你會看到在EXEC SQL聲明中指定的那些。 D規格描述所有工作變量,包括單個變量,數組和數據結構。

C規格是實際計算髮生的地方。這些被使用/自由格式計算的人視爲棄用,但您可能會遇到它們。固定形式的C-specs是columnnar;具體的列意味着非常具體的事情最重要的列是因子1,操作碼,因子2和結果。這種風格的典型計算可能是BUFFERLEN ADD 1 BUFFERLEN,它將變量BUFFERLEN加1。

固定格式C規格的變體是擴展係數2.同樣的計算看起來像這樣(empty factor 1) EVAL BUFFERLEN = BUFFERLEN + 1。當你在代碼中看到它時,這會更有意義。

自由格式計算根本不關心列。上面的計算看起來像BUFFERLEN += 1;BUFFERLEN = BUFFERLEN + 1;

O規範描述如何產生內部描述的輸出。這通常用於打印報告,但您可能會遇到這裏描述實際文件輸出的情況。

子程序是不言自明的。子程序可能需要一些解釋。這些基本上是函數調用。 PR規範描述了原型,因此編譯器將能夠鍵入檢查變量,並且PI規範描述了實際的過程。在過程中聲明的變量(在D規格中)是該過程的本地變量。您可能會遇到不包含在RPG程序源中的程序,而是綁定到服務程序中。您將能夠看到DSPPGM中的那些人。

+0

嗯,我已經採取你的建議,並按照你的建議編輯問題。現在我可以看到,RPG不僅僅是學習新的語言。但是我對IBM中端機器有一些瞭解。 – ZioN

+1

BuckCalabro爲您寫了一個很好的答案。按照他的手冊鏈接。就我個人而言,我認爲RTFM是這個平臺遵循的一個很好的策略。對於現代應用程序,我會推薦SQL可用於磁盤/數據庫文件的DDS,但顯示文件需要DDS,建議用於打印文件。 – WarrenT