• 検索結果がありません。

経営課題  Nov

N/A
N/A
Protected

Academic year: 2021

シェア "経営課題  Nov"

Copied!
45
0
0

読み込み中.... (全文を見る)

全文

(1)

Copyright © i-Learning Co.,Ltd.

フリー・フォーマット型RPGの入門

(2)

Copyright © i-Learning Co.,Ltd. Agenda

•再確認・RPGとは

•フリーフォーマットRPGは、RPGⅣであるという

こと。

•演算仕様書のみのフリーフォーマットRPG

•完全フリーフォーマット

1

(3)
(4)

Copyright © i-Learning Co.,Ltd. RPGとは

•RPGとは、Report Program Generator

– 帳票印刷プログラムを作成する言語

•RPG仕様書記入方式で、習得が早い

– 固定位置記入方式のコーディング – RPG内部論理で、入出力命令が不要 CL0N01FACTOR1+++++++OPCODE&EXTFACTOR2+++++++RESULT++++++++LEN++D+HILOEQ C EXCEPT MIDASI C* 繰り返し C DO *HIVAL C READ TOKMSP 99 C N99 EXSR @MEISUB C N99 ENDDO C* 終了処理 C EXCEPT SAISHU C SETON LR C RETURN

(5)

RPGとは

(6)

Copyright © i-Learning Co.,Ltd. RPGの変遷

•RPGⅡ

– System36以前 – プログラム記述方式 – RPG内部論理

•RPGⅢ

– System38、AS/400 – RDBを外部記述ファイルで使用

•RPGⅣ

– AS/400~IBM i – RPGⅢでの規制を大幅緩和 5

(7)

RPGⅣで大きく変わった事

•データ名の柔軟性

– _が使用可 – 長さが10文字まで(フィールド名は4096文字)

•関数の使用

– 命令の表現が簡素に。 •日付計算が容易。 •標識を使用せずに、命令結果を判断。

•統合言語環境

(8)

Copyright © i-Learning Co.,Ltd. RPGⅢプログラマーにとっては。。。

•RPGⅣの新しい機能も、自分たちで解決済み

– 日付の計算 – データ名の名前の短さ(6文字) 7

あえて冒険する必要は無い?

(9)

しかし!

•プログラマーが高齢化

•若いプログラマーは、Java、C、PHP。。。

自宅PCで 開発可能 市販教材が豊富 教育機関で 学習 S/38以来、 この道30年 。。。 後継者を 育てたい!

(10)

Copyright © i-Learning Co.,Ltd.

フリーフォーマットRPGが解決の糸口

•JavaやCと記述方式が似ているので、若いプ

ログラマーの習得が容易。

•Rational Develper for i (Eclipse)で、Javaと

違和感がまったく無い。

•同じRPGなので、これまでのRPGプログラマー

も慣れるのが速い。

(11)

Agenda

フリーフォーマットRPGは、

RPGⅣであるということ。

(12)

Copyright © i-Learning Co.,Ltd. RPGⅢからRPGⅣへの変換

•フリーフォーマットRPGは、RPGⅣ。

•ソース・プログラムはCVTRPGSRCコマンドで、

RPGⅢからRPGⅣへ簡単に変換可能。

– 固定位置記入形式のRPGⅣプログラムに変換。

CVTRPGSRC

FROMFILE(QRPGSRC)

FROMMBR(*ALL)

TOMBR(*FROMMBR)

(13)

RPGは混在可能

•RPGⅢプログラムも、RPGⅣプログラムも、オ

ブジェクトタイプは*PGM。

– CALLコマンド、またはRPGからCALL命令で実行 – RPGⅢプログラムから、RPGⅣプログラムが実行可 能 すべてのRPGプログラムをRPGⅣ、 FFRPGに変更する必要は無い。

(14)

Copyright © i-Learning Co.,Ltd. まずRPGⅣを知ろう(1)

•制御仕様書はすべてキーワード

– DATEDIT(日付編集) 13

DATFMT(*JIS)

TIMFMT(*ISO)

NOMAIN

(15)

まずRPGⅣを知ろう(2)

•ファイル仕様書の継続行はキーワード記入

オーバーフロー標識 OFLIND(*INOF) ユーザーオープン USROPN サブファイル使用

(16)

Copyright © i-Learning Co.,Ltd. まずRPGⅣを知ろう(3)

•定義仕様書(D)

– 配列(RPGⅢではE仕様書) – データ構造(RPGⅢではI仕様書) – キーワード使用可能 15 INZ(省略時の値指定) CONST(固定情報) DIM(配列定義)

(17)

まずRPGⅣを知ろう(4)

•定義仕様書の例(配列)

– RPGⅢのE仕様書 – RPGⅣのD仕様書 FMT E ...E....FROMFILETOFILE++NAME++N/RN/TBLENPDSARRNAMLENPDSCOMMENTS++++++ 0005.00 E TCD 1 10 5 TNM 10 FMT D ...DNAME+++++++++++ETDSFROM+++TO/L+++IDC.KEYWORDS++++++++++++++++++++ 0005.00 D TCD S 5 DIM(10) CTDATA PERRCD(1)

(18)

Copyright © i-Learning Co.,Ltd. まずRPGⅣを知ろう(5)

•定義仕様書の例(データ構造)

– RPGⅢのI仕様書 – RPGⅣのD仕様書 17 FMT DS ...IDSNAME....NODSEXT-FILE++...OCCRLEN+... 0007.00 I@DATA DS 99 FMT J ...I...PFROMTO++DFIELD+L1M1FRPLMNZR. 0008.00 I 1 5 CODE 0009.00 I 6 20 NAME FMT D ...DNAME+++++++++++ETDSFROM+++TO/L+++IDC.KEYWORDS++++++++++++++++++++ 0008.00 D @DATA DS OCCURS(99) 0009.00 D CODE 1 5 0010.00 D NAME 6 20

(19)

まずRPGⅣを知ろう(6)

•演算仕様書

(20)

Copyright © i-Learning Co.,Ltd. まずRPGⅣを知ろう(7)

•新しい演算命令

– FOR – ELSEIF – LEAVESR – ADDSUR – SUBDUR

•従来と名前が変わった命令

– LOKUP → LOOKUP – UPDAT → UPDATE – DELET → DELETE 19

(21)

まずRPGⅣを知ろう(8)

•演算仕様書:式の評価

– 拡張演算項目2を使用し、式の評価が可能

EVAL URIAGE = SURYO * TANKA

IF URIAGE = 0

EVAL URIAGE = SURYO * TANKA

(22)

Copyright © i-Learning Co.,Ltd. まずRPGⅣを知ろう(8) • 関数 – 日付計算 •%DAYS •%MONTHS •%YEARS – 文字列操作 •%SUBST •%TRIM – これまでの演算命令の代わり •%XFOOT •%LOOKUP

(23)

演算仕様書のみの

(24)

Copyright © i-Learning Co.,Ltd. フリーフォーマット型RPG

•V5R1より、演算仕様書のフリーフォーマット化

•V7R1(Technology Refresh 7)より、完全フリー

フォーマット化

/FREE

URIAGE

SURYO * TANKA;

/END-FREE

(25)

演算命令記入規則

• 命令 演算項目2 演算項目1 結果のフィールド;

CHAIN

TOKMSP

JHTOKB;

URIAGE

=

SURYO

TANKA;

COUNT

+=

1;

// コメント

(26)

Copyright © i-Learning Co.,Ltd.

コーディング例1

read tokmsp;

dow not %eof(tokmsp); count += 1;

sagaku = tkgend - tkuzan; if *inof; write midashi; *inof = *off; endif; write meisai; read tokmsp; enddo;

(27)

コーディング例2

READ TOKMSP;

DOW NOT %EOF(TOKMSP); COUNT += 1;

SAGAKU = TKGEND - TKUZAN; IF *INOF; WRITE MIDASHI; *INOF = *OFF; ENDIF; WRITE MEISAI; READ TOKMSP;

(28)

Copyright © i-Learning Co.,Ltd. 関数

•日付計算

– 今までのやり方

•年月日のフィールドをデーや構造で定義

– (年、月、日) FMT I ...IFILENAMESQNORIPOS1NCCPOS2NCCPOS3NCC... 0003.00 I DS FMT J ...I...PFROMTO++DFIELD+L1M1FRPLMNZR. 0004.00 I 1 80HIZUKE 0005.00 I 1 40NEN 0006.00 I 5 60TSUKI 0007.00 I 7 80HI

(29)

関数

• 日付計算(ADDDURやSUBDURでも可)

TKNYUK = @TODAY + %DAYS(20) ;

TKNYUK = @TODAY + %MONTHS(6) ;

TKNYUK = @TODAY + %YEARS(2) ;

• データベースの日付フィールド定義

FMT PF ...A...T.NAME++++++RLEN++TDPB...FUNCTIONS++++++++++++++++++ 0012.00 A TKGEND 9P 0 COLHDG(' 信用限度額 ')

(30)

Copyright © i-Learning Co.,Ltd. 関数

•文字列操作

TKNAKJ = ‘ 株式会社アイ・ラーニング△△△△△△△ ‘

@JUSHO = %TRIM(TKNAKJ) + ‘ 様 ’;

株式会社アイ・ラーニング

(31)

フリーフォーマットで使えないもの

•使えなくなった命令

– XFOOT – LOOKUP – ADDDUR – SUBDUR – 関数で代用

•結果の標識が使用不可

– 関数で代用

(32)

Copyright © i-Learning Co.,Ltd.

完全フリーフォーマット

(33)

完全フリーフォーマット

•制御仕様書、ファイル仕様書、定義仕様書も

フリーフォーマット。

– 完全フリーフォーマット化

•/FREEと/END-FREEは不要

– IBM i 7.1 TR7(Technology Refresh 7)より

– Rational Develper for i 使用(5250画面のSEU では構文エラー)

(34)

Copyright © i-Learning Co.,Ltd. 完全フリーフォーマットのメリット

•習得が容易

– JavaやPHPを知っている人であれば、直感で理解 できる。(RDi の画面ではJavaの世界とほぼ同じ) – 従来のRPGプログラマーは命令を知っているのです ぐに慣れることができる。

•SEUからの開放

– FTPなどでソースメンバーをPCに転送して編集が可 能。 – RDIでPC側のファイルと、実際のソースメンバーとの 整合性を管理。 33

(35)

Rational Develper for i (Eclipse画面)での開発 PDMのように IBM i上のオブ ジェクトを操作 SEUのようにソー スを表示・編集・ 操作できるLPEX エディター ファイルのフィールド やデータをテーブル形 式で表示

Javaと

違和感

(36)

Copyright © i-Learning Co.,Ltd.

制御仕様書

CTL-OPT DATFMT(*ISO) TIMFMT(*ISO);

(37)

ファイル仕様書

DCL-F TOKMSP;

•デフォルトでは読み取り専用、全手順アクセ

ス、外部記述データベース・ファイル。

DCL-F TOKMSP USAGE(*INPUT) KEYD DISK(*EXT) ; DCL-F QPRINT USAGE(*OUTPUT)

(38)

Copyright © i-Learning Co.,Ltd.

定義仕様書

DCL-S URIAGE

PACKED (9:0);

DCL-S CUST_NAME CHAR(100);

DCL-S ARRAY1

ZONED(5:0) DIM(5);

フィールド名、配列、データ構造もすべて

定義仕様書で定義。

(39)

定義仕様書

•データ構造の例

DCL-DS *N; DCL-SUBF DS_1_10 CHAR(10); DS_1_5 CHAR(5) OVERLAY (DS_1_10:1); DS_6_10 CHAR(5) OVERLAY (DS_1_10:6); DS_2_6 CHAR(5) OVERLAY (DS_1_10:2); DS_7_9 CHAR(3) OVERLAY (DS_1_10:7); END-DS;

(40)

Copyright © i-Learning Co.,Ltd. 徐々に勉強しましょう

•ILE(統合言語環境)

– 異なる言語のプログラム(RPG、COBOL、C、CL)を モジュールとしてコンパイルし、結合してプログラム オブジェクトを作成。 – サービス・プログラムの作成により、関数的な使用 方法が可能。 39 ソース・プログラム ソース・プログラム モジュール・ オブジェクト モジュール・ オブジェクト プログラム・ オブジェクト

(41)

徐々に勉強しましょう

•SQL

– 組み込みSQLでファイル操作。 – 今存在している物理ファイル、論理ファイルを、 テーブル、ビューとして使用可能。 – 条件付レコードの読み取りがOPNQRYFよりも簡単。

DCL-DS INPDTA EXT EXTNAME('TOKMSP') PREFIX(I#:2) END-DS;

EXEC SQL

SELECT * INTO :INPDTA FROM TOKMSP

(42)

Copyright © i-Learning Co.,Ltd. コンパイル

•単一コマンドでのコンパイル

– CRTBNGRPG(今までのCRTRPGPGM) – CRTSQLPKGI(SQLを含むプログラム)

•ILEでのコンパイル

– CRTRPGMOD(モジュール作成) – CRTPGM(プログラム結合) 41

(43)

アイ・ラーニングについて 2013年4月 アイ・ラーニング 日本研修 サービス IBM Japan Learning Division 日本IBM人財 ソリューション 2006 アイセス (トレーニング・パートナー) 1990 IBM-J 4% 日本アイ・ビー・エム 研修部 社名変更 研修事業移管 IBMコーポレーションのグローバルプログラムの一環として、IBM研修事業はト レーニング・パートナーであるアイ・ラーニングに移管されました。

(44)

Copyright © i-Learning Co.,Ltd. RPG研修 •AS513 System i RPGⅣバッチ・プログラム演習 – RPGⅣの基礎と帳票を出力するバッチプログラムのプログラミ ングを学ぶコースです。 •AS514 System i RPGⅣ対話型プログラム演習 – 画面を使用したRPGⅣのプログラミングを学ぶコースです。 •AS518 System i RPGⅢ基礎演習 – RPGⅢの基礎と帳票出力、データベース操作を行うプログラ ミングを学ぶコースです。 •AS515 System i RPGⅢバッチ・プログラム演習 – RPGⅢの構造化、内部論理プログラミングを学ぶコースです。 •AS519 System i RPGⅢ対話型プログラム演習 – 画面を使用したRPGⅢのプログラミングを学ぶコースです。

(45)

RPG研修

•AS520 RPGⅢプログラマーのための

FreeFormatRPG

– RPGⅢプログラマーの方を対象に、フリーフォーマッ トRPGプログラミングを解説するコースです。これか らRPGⅢをフリーフォーマットRPGにコンバージョン されるというプログラマーの方全てを対象とした コースです。

お待ちしております!

参照

関連したドキュメント

Technical Delegates 技術代表 Rule 6 of the Competition Rules or CR6.. Medical Delegates 医事代表 Rule 7 of the Competition Rules

 2020 年度から 2024 年度の 5 年間使用する, 「日本人の食事摂取基準(2020

<日本 YWCA15 名> 藤谷佐斗子(日本 YWCA 会長/公益財団法人日本 YWCA 理事)、手島千景(日本 YWCA 副会長/公益財団法人日本 YWCA

(公財) 日本修学旅行協会 (公社) 日本青年会議所 (公社) 日本観光振興協会 (公社) 日本環境教育フォーラム

代表研究者 川原 優真 共同研究者 松宮

【助 成】 公益財団法人日本財団 海と日本プロジェクト.

日時:2013 年 8 月 21 日(水)16:00~17:00 場所:日本エネルギー経済研究所 会議室 参加者:子ども議員 3 名 実行委員

★ IMOによるスタディ 7 の結果、2050 年時点の荷動量は中位に見積もって 2007 年比約3倍となり、何ら対策を講じなかった場合には、2007 年の CO2 排出量 8.4