ピッシーのメモ帳

気になった情報の保管庫

IBM i (AS/400)

Rational Developer for i (RDi)を手動でアップデートする方法

Rational Developer for i (RDi)とは、IBM i (AS/400)におけるGUIの開発ツールのこと。EclipseにIBM i (AS/400)関係のプラグインを組み込んだソフトで、特にフリーフォームRPGでプログラム開発するならほぼ必須のソフトといえる。*1 私の環境だけなのかもし…

RPGⅢで数値と文字列を変換する方法

IBM i (AS/400)のRPGⅢで、数値と文字列を変換する方法を簡単に紹介する。 変換方法 数値→文字列への変換、文字列→数値への変換、どちらの場合もMOVE(もしくはMOVEL)命令を使う。*1 使用例 2桁の数値フィールドNUMと文字フィールドSTRを使い、数値と文字列…

IBM i ACSでどのJavaを使っているか

IBM i ACSの正式名称は「IBM i Access Client Solutions」で、簡単に言えばAS/400(IBM i)を操作するための専用ツールのこと。このアプリでは、5250エミュレータ*1やSQLスクリプト実行、データ転送など様々な機能を使うことができる。 このアプリを動作させる…

IBM i(AS/400)で現在時刻を取得する

現在時刻を取得するには、RPGⅢやRPGⅣの固定フォーマットだとTIME命令やプログラム状況データ構造(PSDS)を使うのが簡単。この記事では、別解としてフリーフォーマットの組み込み関数を使って現在時刻を取得する方法を紹介する。 コード例 6桁の数値フィール…

IBM i (AS/400)のRPGサイクルについての個人的な理解

IBM i (AS/400)のRPGという言語には、RPGサイクル(プログラム・サイクル)と呼ばれる特殊な仕組みが存在する。この記事では、RPGサイクルを使ったプログラムとそうでないプログラムの簡単な例を比較し、RPGサイクルを使ったプログラムを作る上で私が理解し…

IBM i (AS/400)のRPGで6桁の日付を8桁に変換する

IBM i (AS/400)の物理ファイルには日付型のフィールドはないので、日付は数値フィールドに保存していることが多いだろう。また、日付は「250131」のように6桁のYYMMDD形式か、「20250131」のように8桁のYYYYMMDD形式のどちらかで保存していることが多いだろ…

IBM i (AS/400)のRPGで連想配列っぽいことをする

IBM i (AS/400)で連想配列(ディクショナリ)っぽいことしたいなぁと思ったので、簡単にまとめる。なお、この記事の内容はRPGⅣを使用しているため、RPGⅢには対応していないので注意。*1 手順 配列データ構造を作成 配列要素の参照 コード例 参考文献 配列デ…

IBM i (AS/400)のプログラムで変わった動作を見つけた

IBM i (AS/400)にはRPGという独自のプログラミング言語があるが、この言語で作られたプログラムで変わった動作を見つけたので書く。なお、RPGにはRPGⅢとRPGⅣの2種類があるが、どちらのRPGでも同じ動作になったことを確認した。 「変わった動作」とは コード…