前の例では、簡単にコードを比較できるように簡潔にしていました。2つのプログラミングの手法でできることを実際に見るために、ここでは「・・・の処理」タイプのLANSAファンクションとVisual LANSAフォームでのアプリケーションの実装の例を取り上げます。
どちらのアプリケーションも、サンプル・ファイルPSLMSTの情報を管理します。従業員の名字でキーになったファイルの論理ビューを使用します。これらを使用して従業員の詳細の表示、編集、削除を行います。
LANSAファンクションは、FRMWRK1テンプレートを使用して作成されました。名字の一部を入力し、表示される従業員を限定できる画面があります。
OKをクリックすると、社員の処理画面が表示されます。この画面には、名前の一部が一致する従業員のリストが表示されます。OPTフィールドに番号を入力し、従業員情報を表示、変更、削除できます。
変更オプションを選択すると、入力フィールドの画面が表示されます。
同様に、詳細オプションと削除オプションを選択すると、同じ情報を表示する画面が表示されますが、入力はできないようになっています。
以下に注意してください。
Visual LANSAアプリケーションは、1つのフォームで構成されます。上のLANSAファンクションと同じアクションを実行します。以下のものがあります。
以下に注意してください。
このようなアプリケーションを作成できるのは、個々のコントロールが自分のイベント・ルーチンを持つからにすぎません。イベント・ルーチンは、個々に実行されるので、以下のようにユーザーのアクションによってウィンドウを動的に変更できます。
EVTROUTINE HANDLING(#Get.Click)
change #surname #partname
clr_list #list_1
SELECT FIELDS(#list_1) FROM_FILE(PSLMST2)
WITH_KEY(#SURNAME) GENERIC(*YES)
add_entry #list_1
ENDSELECT
ENDROUTINE
EVTROUTINE HANDLING(#List_1.ItemGotSelection)
FETCH FIELDS(#ALLFLDS) FROM_FILE(PSLMST) WITH_KEY(#EMPNO)
ENDROUTINE
EVTROUTINE HANDLING(#SAVE.CLICK)
UPDATE FIELDS(#ALLFLDS) IN_FILE(PSLMST) WITH_KEY(#EMPNO)
ENDROUTINE
EVTROUTINE HANDLING(#DELETE.CLICK)
DELETE FROM_FILE(PSLMST) WITH_KEY(#EMPNO)
ENDROUTINE
このようなアプリケーションは、LANSA ファンクションでは画面が全体的に処理されるので、実装できません。