ASSG
最近はコロナ禍の影響もありペーパレスが一段と進んでいます。 帳票出力の要望は少なく、もっぱらCSV出力になっていました。その方がデータとして活用もできて文字数の制限も少ないので、開発者もエンドユーザーもWinWinじゃないでしょうか(某総理の口調で…
いつの頃からあるのか分からないのですが、2行以上にまたがる入カフィールドが可能ですね。幾つか制約があって、出カフィールドはダメ(入出力の保護にして回避)、サブファイルはダメですね。 今日知ったのは、前のフィールドとは2桁以上空けないとダメ。マ…
#disp_record_SEARCHは検索のサブルーチンです。 画面設計の[検索]のオウンコードをサブルーチンにします。 一例として検索のオウンコードと、生成後のRPGコードを紹介します。 [検索のオウンコード] ======================================= CALLP SRCT…
#disp_record_CHECKは入力チェックのサブルーチンです。 画面設計の[入力チェック]のオウンコードをサブルーチンにします。 一例として入力チェックのオウンコードと、生成後のRPGコードを紹介します。 [入力チェックのオウンコード] ===================…
disp_record_INITATRは属性初期化のサブルーチンです。 //-------------------------------------------------------------------- // #DSP04_INITATR 属性初期化 //-------------------------------------------------------------------- BEGSR #DSP04_INI…
#disp_record_INITFLDはフィールド初期化のサブルーチンです。 //-------------------------------------------------------------------- // #DSP04_INITFLD フィールド初期化 //-------------------------------------------------------------------- BEG…
#disp_recordは画面入出力を行うサブルーチンです。 0010 //-------------------------------------------------------------------- 0011 // #DSP01入出力 0012 //-------------------------------------------------------------------- 0013 BEGSR #DSP01…
#SCREEN_BACKは前画面に遷移(戻る)するためのサブルーチンです。 //------------------------------------------------------------ // #SCREEN_BACK 前画面に戻る //------------------------------------------------------------ BEGSR #SCREEN_BACK; /…
初期処理サブルーチン[#INIT]のご紹介です。 #INITのオウンコード部分は、サブルーチン一覧に登録が必要です。 後半に第一画面への遷移コードが自動生成されます。 //------------------------------------------------------------------------------ // 初…
ASSGの対話型プログラムでは、「サブルーチンの自動生成」が可能です。 自動生成されるルーチンは下記の通りです。 MAIN:メインルーチン(画面遷移の制御部分のみ) #INIT:初期処理(第一画面への画面遷移部分のみ) #SCREEN_BACK:前画面遷移 #disp_record…
AS400でもWINDOW表示が使えるようになり、画面デザインの幅が広がりました。 ところが、WINDOW内に罫線を引くのにとても悩みました。 WINDOW本体のレコードと罫線レコードのレコードキーワードで、 WINDOW(2 60 10 10) のように指定しても罫線は表示できませ…
ドキュメントの機能改善 途中経過報告です。 テンプレートを使うことはできました。 Sheets.Add(before:=Worksheets("sheet1"), Type:=Template_Path).name = new_name Template_Path:テンプレート用ブックファイルのPath new_name:追加するシート名 ただ、…
唐突ですが、エクセルって本当に便利なツールですよね。様々な使い方があると思うのですが、アプリの開発でも各種の仕様書やDB設計書やフローチャートなどなど、切り離せない存在です。 ASSGは開発ツールなので、仕様書やフローチャートなどのドキュメント…
Windowsは3.1の時代から使っているけど、時に新しいバージョンになると使い難くなってることがある。Win10でエクスプローラーを開くと「クイックアクセス」が開くようになった。Cドライブはどこだ?ネットワークはどこだ?って、目的の場所を開くのに手間が…
ASSGはExcelVBAを使って開発しています。アプリケーションとデータ(設計情報)を切り離すようにしているので、次のようなメリットが得られています。 ブックファイルが肥大化しない アプリケーションがバージョンアップしても過去の設計情報が使える テンプ…
RPGで扱うファイルはF仕様書で定義し、READ/CHAIN/WRITE命令で読み書きすることが続いていたと思います。RPGサイクルを使って読み書き命令を書かないこともありました。まぁ、それはそれで短時間で作れるし、コード行数が少ないので品質の良いプログラム…
ここまで、ASSGで扱うRPG生成に直結する主な機能をご紹介してきました。 ここからはエディタ機能や設計情報保管/復元などの補助的な機能をご紹介します。 今回はエディタです。エディタは・・・機能低いです。できれば構文チェックや色付けなどの機能を盛り…
これまで、ファイル、画面、帳票、ワークの各フィールドについてご紹介してきました。 今回はプロトタイプです。これがASSGで扱うすべてのフィールドです。 ASSGでは共通サブルーチンのプログラム名やパラメータフィールドを、「プロトタイプ」で定義します…
またまた昔話で恐縮ですが、印刷出力の定義は「O仕様書」のみでやっていました。外部定義が有ったのかは記憶にありませんが、とにかく「O仕様書」でした。この「O仕様書」がやっかいで、フィールドの桁指定は「終わりの位置」なんですね。 ReportProgramGene…
若い頃はRPGだけを使っていたので迷うことはなかったけど、色々な言語を使っていると、同様の命令コードを迷うことがあります。私が一番間違うのは[SELECT]命令です。[SELECT CASE]だったか[SELECT WHEN]だったか、しょっちゅう迷っていました。 ASSGを使…
ワークフィールドは気を抜くと乱雑になり、後で見たときにRPGコードが追えなくなることがあります。時々目にするスイッチ的なワークを多用したプログラムは、スパゲティコードと同様にバグの原因になりますね。 ASSGではワークフィールドはデータ定義タブ…
仕事をしていると「メモ」って結構取りますよね。ノートに書いたり、何かの裏紙に書いたり。でも、後から見ようとすると探すのに苦労します。 また、マニュアルの同じページを何度も見て、「あ~、なんて物覚えが悪いんだオレ」って悲しくなります。それを解…
二年程前から、C仕様書はFFで書くようになりました。 またファイルの読み書きはSQL文で書くようになりました。 理由は見やすいし、RPG未経験者でもなんとか読める、からです。 ただ困ったことに、命令コードを他の言語と間違えます。SEUだと文法…
基幹システムの開発を始めた頃の話ですが・・・ 伝票入力は、紙の伝票に手書きして、得意先コードや商品コードを調べて記入してから端末に向かって入力していました。そもそも自分の机には端末など無い時代。一台の端末を共有していました。 今ではコード検…
いつものようにASSGを起動して、AS400にログインすると、ダンマリ~ ログインではAS400のシステム製造番号QSRLNBRを取得するのにFTP使っているのですが、GETが動かない様子。ファイアウォールの受信の規則を見ると「ブロック」になってる。「許可」に変更し…
入力画面を作る場合、一般的には「初期化」「検索」「入力チェック」が必要になります。そしてサブルーチンとして「画面1初期化サブ」「画面1検索サブ」「画面1入力チェックサブ」などを作ります。 ASSGでもRPGコードの生成結果としてこのようなサブルー…
画面設計が楽になると、さらに新しい要求が沸きあがりました。 「対話型プログラムはできないか?」 欲しい機能を考えました。 ・プログラムの全体像が把握しやすいこと ・画面のフィールド単位に「初期化」「検索」「入力チェック」を書けること ・必須チェ…
画面は苦労の連続。項目配置に苦労しながら、紙の設計書に書いては消しの繰り返し。 VISIOやエクセルが使えるようになって少しは楽になったけど、結局SDAでいちから入力。 そんな苦労もASSGで解消できたけど、「もっと楽にしたい」と新たな要求が沸き起こり…
AS400の前身、SYSTEM34でのRPGⅡが私のオフコン開発の始まりでした。 当時の開発環境も記憶が薄れていますが、紙の仕様書(H仕様書とかC仕様書などのカラムが印刷された紙)に鉛筆でコーディングし、端末に座ってパンチ。コンパイルリストを印刷して、机上デ…
本ツール(ASSGと命名しています)の開発は約2年前。 テストデータのメンテツールをEXCEL VBA で作成したのがASSGの始まりでした。 現在は「使用ファイル」の情報取得に引き継がれています。 次の画面はASSGのメインメニューです。 この情報はAS400よりDSPF…