JPH02146633A - 表示パネル生成方法 - Google Patents

表示パネル生成方法

Info

Publication number
JPH02146633A
JPH02146633A JP1010095A JP1009589A JPH02146633A JP H02146633 A JPH02146633 A JP H02146633A JP 1010095 A JP1010095 A JP 1010095A JP 1009589 A JP1009589 A JP 1009589A JP H02146633 A JPH02146633 A JP H02146633A
Authority
JP
Japan
Prior art keywords
panel
list
help
name
key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP1010095A
Other languages
English (en)
Other versions
JPH0833834B2 (ja
Inventor
David W Dykstal
デヴイト・ウイリアム・デイクスタル
Edward A Fishel
エドワード・アレン・フイシエル
Michael A Temple
マイケル・アンドリユ・テンプル
Devon D Snyder
デボン・ダニエル・スナイダー
Jr George D Timms
ジヨージ・デヴイド・テイムズ、ジユニア
Samuel R Shi
サミエル・ロバート・シイ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH02146633A publication Critical patent/JPH02146633A/ja
Publication of JPH0833834B2 publication Critical patent/JPH0833834B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 A、産業上の利用分野 本発明は、複数のプログラムのための情報を記述し、検
索し、変更し、処理し、表示装置(デイスプレィ)へ供
給することに関し、具体的には、個々のアプリケーショ
ン・プログラムを画面及びそれに関係する操作援助メツ
セージに関連する定形的プログラミングから解放する、
画面管理システムに関するものである。
B、従来技術及びその問題点 新しい計算システムを開発する際、多くのプログラミン
グ・タスク、特にアプリケーション・プログラムに関連
するプログラミング・タスクを並行して進めなければな
らない。新しい計算システムの発表時には、顧客のニー
ズを満足させるのに十分なアプリケーション・プログラ
ムが使用可能であることが必要である。潜在的顧客は、
実際に、アプリケーション・プログラムが不足している
ために使用することができない新しいシステムを購入す
るのを好まない。したがって、計算システムの開発中に
種々のアプリケーション・プログラムを同時に開発する
ことが必要である。通常は、新システム用のアプリケー
ション・プログラムは、同じ種類の前のプログラムを書
いたのと同じプログラミング・グループが書いている。
すなわち、特定のシステム用の各アプリケーション・プ
ログラムがそれぞれ異なるグループによって書かれる。
従来は、そのために、各アプリケーション・プログラム
が異なる「外観」を有することになった。
すなわち、画面の様式が異なり、特定のクラスの情報に
使用する色が異なり、コマンド行及びメツセージの位置
が異なり、一般に操作員に提示される外観が異なってい
た。さらに、従来の手法は、各アプリケーション・プロ
グラムで表示機能を複写していたため、表示装置自体の
外部で非効率性及び複雑性が生じていた。たとえば、複
数のプログラムによって使用されるデータは、使用する
各プログラムが記憶する。そのため余分の記憶空間を要
し、変更が加えられたとき、各位置を更新する必要があ
る。
新しい計算システム用に開発されたアプリケーション・
プログラム間で画面の統一性がないため、プログラムを
テストする際に問題が生じる。各アプリケーションは、
情報を表示装置に提供するためそれ自体のコードを有す
るので、その目的及び機能が非常に冗長なものであった
としても、各プログラムごとにこのコードをテストしな
ければならない。さらに、特定のフィールドに関して援
助を求める操作員の要求等に応答して発生される操作援
助メツセージを、各アプリケーション・プログラムごと
に個別に書き、テストしなければならない。
開発及びテストに伴う困難は、問題の一部にすぎない。
この問題は、趣味や家庭用にパーソナル・コンピュータ
を使用するにすぎない人々にさえもよく知られている。
そのようなシステムでは、通常具なるソフトウェア・ソ
ースからの種々のアプリケーション・プログラムを使用
する。あるプログラムから別のプログラムに切り換える
とき、画面様式も変える。しかし、アプリケーション・
プログラムを同時に開発することが難しいため、同じ販
売業者から供給されたプログラムでもこの問題が存在す
ることがある。
画面に統一性がないことは単なる不便以上のものがある
。この状態は、操作員の生産の低下、エラー率の拡大、
コンピュータ操作員の不満、さらに結局は、顧客の不満
を招く原因となる。
従来技術は、アプリケーション・プログラム間の画面の
統一性の欠如よりも、同じシステム上に異なる表示装置
を収容することに関連する問題の方により関心を抱いて
いた。従来技術はまた、旧システムに新しい表示装置を
追加するときに生じる間、題に対処してきた。
従来技術の適例は、米国特許4586158号である。
この特許は、アプリケーション・プログラム間のインタ
ーフェース及び表示画面上で情報の物理的提示を行なう
マツピング・サービスについて記載している。簡単に述
べると、マツピング・サービスのプログラム論理は、ア
プリケーション・プログラムの様式で表わされたデータ
を、指定された一組の規則に基づいて別の様式に変換す
る。
複数のアプリケーション・プログラムに共通な表示デー
タをいかにして共用することができるかに関する示唆は
ない。このシステムは一組の所定の規則に従って記憶デ
ータを変更するもので、どのようにデータを指定すれば
再様式化する必要なく、すべての表示装置及び画面が均
一に使用できるようになるかについての示唆はない。
C0発明が解決しようとする問題点 本発明の主な目的は、複数のアプリケーション・プログ
ラムによって共用されるデータとシステム表示装置の間
の共通インターフェースを提供することである。
本発明のもう1つの目的は、表示を構成する要素、すな
わちオブジェクトが、複数の表示装置及びアプリケーシ
ョン・プログラムが使用できるように、−船釣方法で指
定されるという、表示装置−アプリケーション・プログ
ラム・インターフェースを提供することである。
本発明のもう1つの目的は、複数のアプリケーション・
プログラム及び表示装置に共通な操作員援助メツセージ
の使用に対応できる表示装置/アプリケーション・プロ
グラム・インターフェースを提供することである。
本発明のさらにもう1つの目的は、特定のパネルでのオ
ブジェクトの指定が、適当な操作員援助(ヘルプ)メツ
セージの選択基準を提供するという、表示装置/アプリ
ケーション・プログラム・インターフェースを提供する
ことである。
上記及びその他の目的、特徴及び利点は、タグを使って
すべてのオブジェクト、たとえば、パネル、すなわちパ
ネル・タイトル、単一データ画面、命令行、データ入力
域、メニュー域またはコマンド行を参照するアプリケー
ション・プログラム/表示装置インターフェースによっ
て実現される。
各タグは、タグ名及び1つまたは複数の属性(アトリビ
ュート)を含んでいる。
D0問題点を解決するための手段 各パネル、すなわちデータの表示画面は、タイトル、及
び命令行、データ入力行、メニュー域、コマンド行等の
オブジェクトのタグの付いた記述によっ3て定義される
。これらのオブジェクトは、それぞれ、同じ構文で記述
された他のオブジェクトを含むことができる。パネル定
義は、原始ファイル中で統合されてパネル・グループを
形成する。
オブジェクトはすべてのパネルによって共用されること
が可能である。
E、実施例 第1図に示す表示画面を定義し管理するため、画面本位
の高水準言語が使用される。いくつかのアプリケーショ
ン・プログラムを使用するデータ処理システムでは、シ
ステム・プログラムは、パネル1に示される高水準言語
を使って特定のアプリケーション・プログラム用の画面
を定義する。
次に、このプログラムをコンパイラ2でコンパイルして
、パネル・グループ・オブジェクト3を作成する。アプ
リケーション・プログラム4は、変数プール6にアクセ
スし装置サポート7とインターフェースするパネル・ア
プリケーション・サポート5によって、パネル・グルー
プ・オブジェクトと対話する。表示装置8は、装置サポ
ート7の制御下で動作する。
「オブジェクト」は表示画面上に置かれる項目であり、
タグを用いて指定される。各タグは、オブジェクトの性
質をさらに詳しく定義する属性を有することができる。
ソースでまたは実行時にアプリケーション・プログラム
が参照する必要かあるオブジェクトは、名前属性を有す
る。多数のオブジェクトはまた、タグの直後に関連テキ
ストを有する。
タグの構文は以下の様式に従う。
%式% オブジェクトと関連するテキスト。
この言語による基本オブジェクトは、:pane1タグ
で記述されるpanelである。各パネルは、そのテキ
スト、すなわちタイトルと、その後に続くそのパネルを
構成するオブジェクトのタグ付きの記述からなる。その
ようなオブジェクトは、命令行、データ入力域、メニュ
ー域及びコマンド行を含んでいる。これらのオブジェク
トは、すべて同じ構文で記述された他のいくつかのオブ
ジェクトから構成されることがある。
パネル定義は、原始ファイル内でまとめられて「パネル
・グループ」を形成する。グループ内のすべてのパネル
は、パネル・グループで定義された他の名前付きオブジ
ェクトの定義を共用することができる。機能キー・リス
ト等のいくつかのパネル間で共用できるすべてのオブジ
ェクトは、以下に示すように、パネル・タグの適当な属
性にっいてその名前を指定することによって使用される
:keyl name=’5tandard 川):k
eyi ・・       )共用されるキー・:ke
yi ・・       )リスト・オブジェクトの定
義 : ekeyl。
/−一一一一共用され るキー・ リスト・ オブジェ クトの使用 /−一一一−\ :panel  name=x  key=stand
ard: epanel。
パネルに加えて、他のオブジェクトがパネル・グループ
中で宣言される。これらは、共用される特性のカプセル
化のようなことを行なうことにより、パネルの定義を容
易にする。
「クラス」は、データをパネルに表示するための一組の
共通属性を定義するために、または制御のために使用さ
れる。クラスは、このデータに適用できるデータ要約の
非常に簡単な手段を提供する。特性には以下のものがあ
る。
値の基本タイプ、すなわち、パック、2進等。
このクラスの変数用の入力フィー、ルドに対するシフト
特性。
このクラスの値が表示装置上で占める文字位置の数。
表示値から内部値へ及びその逆の変換。
表示装置上で入力された値がある基準を満たすかについ
ての検査、すなわち、範囲または特定の値の検査。
「変数」は、このパネル・グループ内のアプリケーショ
ンによって使用される実際のデータを定義する。変数は
、名前を付けられ、クラスを参照する。このパネル・グ
ループ中で宣言されたすべての変数は、アプリケーショ
ン・プログラムが扱う、「変数プール」と呼ばれるデー
タ構造に集められる。
「条件」は、パネルが表示されるときに他のオブジェク
トを含めるかどうかに影響を与えるオブジェクトである
。条件は条件タグの「ミニ言語」属性で指定される。そ
の条件は、次にアプリケーション・プログラムの実行中
に評価されて、パネルに要素を含めるかどうかを制御す
る。
「リスト・オブジェクト」は、数行の類似のデータ列か
らなるオブジェクトをもたらす。アプリケーション実行
インターフェースにより、特定の行の内容を変数プール
からの一組の変数と交換することが可能になる。「リス
ト域」は、パネルで見られるオブジェクトで、この基本
データ・オブジェクトの表示特性を提供する。
「真理値表」は、パネル・オブジェクト内の条件付き項
目の相互排除を制御するオブジェクトである。アプリケ
−シロン・プログラム開発者は真理値表を使って、パネ
ル要素のどれが同じパネル上で決して共存しないかにつ
いての情報をコンパイル時フォーマツタに提供する。
「キー・リスト」は、キー、具体的には、機能キーを押
したときにそのパネル上で行なわれる活動を定義するた
め、パネル・オブジェクト間で共用することができる。
実際の表示面にマツプするオブジェクトにおける「パネ
ル」。パネルでは上記オブジェクトのすべてを直接また
は間接に使用する。
以下に、−組の対話パネルを記述するソースについての
概要を示す。
パネル・グループ(: PNLGRP)プロローグ部分 クラス定義 変数定義 リスト定義 条件定義 真理値表定義 主要マツピング・リスト定義 本文部分 パネル定義 区域定義 (:CLASS) (:VAR) (:LISTDEF) (:C0ND) (:TT) (:KEYL) (:PAHEL) (:MENU。
:INFO。
:DATA。
nu、l5T) コマンド/オプション行定義 (:CMDLINE。
:0PTLINE) 操作援助モジュール定義    (: IIELP)I
SILタグ付タグスト 第2図に、リスト・パネルのサンプルを示す。
このパネルを実施する際の最初のステップは、タグ言語
を使って画面を定義することである。下記のタグ・ソー
スが所期の画面を生成する。
、* このパネル・グループは、操作援助モジュー、*
 ルEIIILPHLPに含まれた特別な第2レベルの
、* 操作援助(help on help)を有し、
情報探索、* インデックスRH8SIにアクセスでき
るよ2;シ  うにする。著作権ステートメントが、U
IMア、* プリケーションがオープンされた後で表示
さ、* れる最初のパネル上に表示される。このバネ、
* ル・グループで見つからない操作援助モジューこの
アプリケーションで使用されるすべての変数についてク
ラスを定義する。クラスは基本的にユーザが定義するデ
ータ・タイプである。クラス5TSCLは変換リストを
使って内部的な1文字の状況値と4文字の表示値の間で
マツプすることに留意されたい。また、WIDTH属性
はフィールドの外部長を指定することにも留意されたい
。この外部長は、値(数字クラスREC3CLに対する
値等)を編集するために必要な最大値よりも小さくても
よいが、変換されたすべての外部値を収容するのに十分
な大きさでなければならない。
:cL/lss NAME=optcl  BASET
YPE=’action’  IJIDTIcI。
:ECLASS。
:CLASS NAME=spidcl  BASET
YPE=’char 6°。
:ECLASS。
:CLASS NAME=filecl  BASET
YPE=’char 10’。
:ECLASS。
:CLASS  t(AME=nbrcl   BAS
ETYPE=’bin  15’  1JIDTH=4
゜:ECLASS。
:CLASS NAME=usercl BASETY
PE=’char 10°。
:ECLASS。
:CLASS NAME−ptycl  BASETY
PE=’char l’。
:ECLASS。
:CLΔSS NAME=recscl BASETY
PE=’bin 31°WIDTH=7゜:ECLAS
S。
二61、ASS NAME=stscl  BASET
YPE=’char 1’ WIDTH=4゜:TL。
:TI VALUE=’°’1”’、HLD:TI  
VALUE=”’2”’、RDY:TI  VALUE
=”’3°”、OPN:TI  VALUE=”’4”
’、CL0:TI  VALUE=”’5°”、WIR
:TI  VALUE=”’6”’、”1(LD:TI
  VALUE=”’7”’、”CIIG:TI  V
ALUE=”’8”’、”RLS:TI  VALUE
=”’9”’、”CNL:ETL。
:ECLECLA SSLASS  NAME=copycl  BASE
TYPE:”’bin=3゜ :ECLASS。
:CLASS  NAME=formcl  BASE
TYPE=’char:ECLASS。
:CLASS  NAME=jobcl   BASE
TYPE=’char:ECLASS。
:CLASS  NAME=jnbrcl  BASE
TYPE=’char:ECLASS。
:CLASS  NAME=oqcl   BASET
YPE=’char:ECLASS。
:CLASS  NAME=libcl   BASE
TYPE=’char:ECLASS。
15”’ 16°。
10°。
6°。
10゛。
10゛。
IDTH BASETYPE=’PTR’。
オープンされたアプリケーションによって使用される(
Z変数以外の)すべての対話変数を定義する。アプリケ
ーション・プログラム論理を単純化し、かつパネル表示
以外のUIM機能に対する値を提供するために、ノ寸ネ
ルのどこにも現われない変数(JOBやJNBR等)を
定義できることに留意されたい。
* :VARNAME=opt :VARNAME=spid :VARNAME=file :VARNAME=nbr :VARNAME=user :VARNAME=pty :VARNAME=recs CLASS=optcl。
CLASS=spidcl。
CLASS=fileel。
CLASS=nbrcl。
CLASS=usercl。
CLASS”ptycl。
CLASS:recsc]。
NAME=sts   CLASS=stscl。
NAME=copy   CLASS=copycl。
NAME=form   CLASS=formcl。
NAME:job    CLASS:jobcl。
NAME”jnbr   CLASS=jnbrcl。
NAME=oq     CLASS=oqcl。
NAME”lib    CLASS=libcl。
NAME”parms  CLASS=parmcl。
NAME=qspmod  CLASS=qspmod
cl。
表示のテーブル部分に現われるすべてのフィールドと、
活動リストの処理をサポートするために内部で使用され
るだけのいくつかのフィールド(JOB及びJNBR)
を含むリスト(OUTQLISTと呼ばれる)を定義す
る。
変数名がVAR8属性上に現われる順序は、リストの内
部構造を制御するが、リスト項目がどのように表示され
、あるいは別の方法で処理されるかは限定しない。
:LISTDEF  NAME=outqlistVA
RS=’opt 5pid  file nbr us
ersts  copy  form job  jn
br’。
pjy  recs すべての機能キーの割当てを定義する。パネル上で活動
状態になるすべてのキー(ENTER等の固有キーを含
む)を指定しなければならない。キーは、パネルの下端
及びオンライン操作援助で提示される順に定義しなけれ
ばならない。パネルの下端で記述されるのは、変数可能
テキストが指定されたキーだけである。
オンライン操作援助ではすべてのキーが記述される。こ
のパネル・グループ内のどのパネルも、キー・マツピン
グ・リストとして0口TQKEMSを指定することによ
り、これらのキー割当てを参照することができる。
ACTION=exit。
:KEYI  KEY=f4 F4=Prompt :KEYI  KEY=f5 F5=Refresh :KEYI  KEY=f6 F6=Display  queue :KEYI  KEY=f12 F12=Previous :KEYI  KEY=enter :KEYI  KEY=rollup HELP=prompt  ACTIOH=Promp
t。
HELP=refresh  ACTION=’ret
urn  65’。
11ELP=wrkoutqd  ACTION=’C
MDWRKOUTQD 0UTQ(&LIB/&OQ)
’。
description HELP=previous  ACTION=pre
vious。
:KEYI KEY=rolldown :KEYI  KEY=help :KEYI  KEY=print :EKEYL。
HELP=enter   ACTION=enter
HELP=rollup ACTION=rollup
HELP=rolldown  ACTION=rol
ldown。
HELP=help   ACTION=help。
HELP=print  ACTION=print。
このパネル定義は2つの区域、すなわち情報域とリスト
域を含む。これらの区域は、それらが表示上に現われる
順に(上から下に)宣言しなければならない。
PANEL タグは、基本パネル属性とパネル・タイト
ルを指定する。パネルに対する下端分離記号の省略時の
値は5PACEであり、省略時のメツセージ域は単一行
である。
workwithoutputq″ データ提示域は、パネルの上端にあるので、この区域に
対する上端分離記号(省略時の値は5PACE、すなわ
ち空白行である)は、パネル全体の上端分離記号である
。この区域は画面移動可能ではなく、2行だけからなり
1、*(出力待ち行列及びライブラリ名を表示する、*
 ために使用される)2つの水平出力データ類、* 目
だけを含む。
:DATA DEPT)I−2LAYOUT=hori
z +IELP=’wrkoutq10utputq’ :DATAI  VAR=oq Output  queue :DATAI  VAR−1ib  USAGE=ou
t。
Library :EDATA1 、* このリスト域は、0口TQLISTと呼ばれるリストの
ビューを示す。DEPTll、 ’* ’と指定すると
、USAGE=out。
リスト域は、表示の大部分を使用する。省略時には画面
移動可能であり、単一列のレイアウトで配列され、列ヘ
ッダを最大3行(変換空間用に)まで拡張でき、単一の
空白行で上方の区域から分離されている。
、* この区域を使って他のパネル域が割り振られ* 
た後で残っただけの行を表示することができ、* る。
そうするのは、表示装置上でできるだけ* 多くのリス
ト項目を示すためである。区域定* 義には交互のビュ
ー列はないので、パネルが、* 表示されるとき、すべ
てのリスト列が示され、* る。
:LIST  DEPTH”*’  MAXHEAIC
2LISTDEF:outqlistACTOR=ui
m PARMS=parms BOTSEP=SPACE。
:TOPIHST、 Type options、 p
ress Enter。
、* ワークステーション操作員のため、有効なり、ニ
ド  スト活動を定義する。LISTACTタグで指定
さ、* れた値のみが、リスト域に対する活動フィー、
* ルド(この場合は、叶T)で許容される。活、* 
動は、リスト域の上端及びオンライン操作援、* 助で
提示される順に定義しなければならない。
、* リストの上端に記述されるのは変換可能テキ、*
 ストが指定された活動だけであるが、オンライン操作
援助ではすべてのオプションが記述される。
すべてのLISTACTタグのENTER属性と組み合
わせて、LISTタグでACTOR=UIM と指定す
ると、IJIMは、リストに入力されたすべてのオプシ
ョン値を処理することを提示する。
ENTER属性だけを指定するときは、操作員はそのオ
プション値の入力を求めるプロンプトを出すことができ
ない。PROMPTが指定されるとそれを使ってプロン
プトが出される。リスト項目の更新を要求できる活動(
オプション2及び4など)には、出ロブログラムも使用
される。
通常は、ENTERキーを押したとき、オプションに対
するE)ITER値が使用されるが、コマンド行が空白
のときにプロンプト活動 (PROMPT )の使用を強制するオプション(オプ
ション2など)もある。重複属性で指定された値は、活
動ストリングが1つのソース行には長すぎるとき(オプ
ション2におけるENTER及びPRO14PTなど)
、活動ストリングを構成するために連結されることに留
意されたい。
下の例では、リスト項目に対する変更を必要とするあら
ゆるリスト活動に対して、EXIT属性が指定される。
EXIT属性で指定されたプログラムは、活動が実行さ
れた後でDIHによって呼び出され、対応するリスト項
目を(下側にあるスプール出力ファイルの状態に合致す
るように)更新または削除させる。
0PTION=2  HELP二wrkoutq/ch
ange  NOCMD=rompt ENTER=’CHD ?CIIGSPLFA FIL
E(&FILE)JOBC&JNBR/&USER/&
JOB)’ENTER=   ’5PLNBR(&NB
R)&PARMS’PROMPT=’CHD ?CHG
SPLFA ?”FILE(&FILE)?’JOBC
&JNBR/&USER/&JOB) ’PROMPT
=   ” ?”5PLNBR(&NBR)  ?<C
0PIESC&C0PY) ’ PROMPT=    ’  ?<FORMTYPE(
”&FORM”)  &PARMS“ USREXIT=’CALL  OSPMOD’。
2=Change :LISTACT 0PTION=3 HELP=wr
koutq/holdENTER=’CMD HLDS
PLE FILE(&FILE) JOBC&JNBR
/&USER/&JOB)’ENTER=   “ 5
PLNBR(&NBR)’USREXIT=’CALL
  QSPMOD’。
3:Ho1d :LISTACT 0PTION=4 HELP=wr
koutq/cancelENTER=’CMD CN
LSPLF FILE(&FILE) JOBC&JN
BR/&USER/&JOB)’ENTER=   ’
5PLNBR(&HBR)’USREXIT=’CAL
L  QSPMOD’。
4=Cancel :LISTACT 0PTION=5  HELP=w
rkoutq/displayENTER=’CMD 
DSPSPLF FILE(&FILE) JOB(&
JNBR/&tlSER/&JOB)“ENTER= 
  ’5PLNBR(&NBR)’5=Display :LISTACT 0PTION=6 HELP=wr
koutq/releaseENTER=’CMD R
1,5SPLF FILE(&FILE) JOB(&
JNBR/&1ISER/&JOB) ’ENTER=
   ’5PLNBR(&NBR)’■5REXIT=
’CALL  QSPMOD’。
6=Release :LISTAC1’ 0PTIOト8 HELP=’wrkoutq/dis
playattributes ENTER=’CMD DSPSPLFA FILE(
&FILE)(&JNBR/&USER/&JOB) 
’ENTER=   ’5PLNBR(&NBR)’U
SREXIT=’CALL QSPMOD’。
Attributes JOB リストの列を定義する。各列に表示される変* 数は、
その区域に対するリスト(この場合(ま、OUTQLI
ST )に含まれていなければならない。
LISTCOL タグで指定されたリスト値のみがパネ
ルに表示される。リスト内のすべての変数にはLIST
COL タグは不要である。列はLISTVIEW タ
グ上で、パネルに現われる順に(左から右へ)定義しな
ければならないが、その順序は、LISTDEF タグ
上で変数が現われる順序と異なっていてもよい。
VAR=opt USAGE=inout )IELP
=’wrkoutq10pt’  MAXWIDTH=
3゜ pt :LISTCOL  VAR=spid  USAGE
=out  HELP=’wrkoutq/5pid’
  MAXWIDTH=6゜p−ID :LISTCOL  VAR=file  USAGE
=out  HELP=’wrkoutq/file’
  MAXWIDTH=10゜ile :LISTCOL  VAR=nbr  USAGE=
out  HELP=’wrkoutq/nbr’  
MAXIJIDTH=4゜Nbr recs  sts  copy  form  。
:LISTCOL VAR=user USAGE=o
ut HEI、P= ’wrkoutq/user’ 
 MAXIJIDTH=10゜user :LISTCOL VAR”pty USAGE=ou
t 1lELP=’wrkoutq/pty’  MA
XWIDTH=3゜ ty :LISTCOL VAR=recs USAGE=o
ut HELP=’wrkoutq/recs’  M
AXIJIDTH=7゜Red/Pag :LISTCOL VAR=sts USAGE=ou
t HELP=’wrkoutq/sts’  MAX
WIDTH=4゜ ts :LISTCOL VAR=copy USAGE=o
ut HELP=’wrkoutq/copy’  H
AχWIDTI(=4゜opy :LISTCOL VAR=form USAGE=o
ut HELP=’wrkoutq/form’  M
AXWIDT)I−9゜Formtype :LISTVIIJ C0LS=’opt 5pid 
file nbr user pty* 、* :ELIST。
:CMDLINE  5IZE=LONG。
Parameters  or  command、*
  N0TE:  BOTINST removed:
EPANEL。
次に、第2図のパネルをサポートするために必要な操作
援助テキストの骨格を説明する。操作援助テキストは、
EIHLPGRP と呼ばれるパネル・グループに記憶
される。操作援助テキストは同じパネル・グループ・オ
ブジェクトに記憶することもできるが、作成され、供給
される操作援助テキストは、ユーザの選択でシステムに
ロードすることもロードせずにおくこともできるように
、通常、リスト域は、コマンドを入力するため、または
ある種の活動リスト・オプション用の追加のパラメータ
を指定するために使用できるコマンド行で終わる。
このパネル・グループは援助テキスト「モジュール」の
みを含む。操作援助モジュールは、一般にパネル定義で
(タグを使って定義された)特定の表示「オブジェクト
」を記述する。あるオブジェクト用の操作援助テキスト
・モジュールは、そのオブジェクトについてワークステ
ーション動作によって操作援助が要求されるとき表示さ
れる。
操作員の要求がはっきりとパネル上の特定オブジェクト
に対するものでないときは、パネル定義で参照されたす
べての操作援助モジュールが組み合わされて、単一の操
作援助パネルで提示される。組み合わされた操作援助に
は、機能キーを使って、特定の表示オブジェクトに対す
る操作援助を表示するパネルでアクセスすることもでき
る。
、* 操作援助モジュールからのテキストが、組み、*
 合わされた操作援助でどんな順序で現われる、* か
は、パネル定義におけるオブジェクトの階、* 層によ
って決まる。(下記のような)操作援* 助テキスト・
モジュール定義は、タグ・ソー* ス中ではどんな順序
で現われることもあるが、* ここでは、パネルWRK
OUTQについて組み合、* わされる順序で示しであ
る。
: PNLGRP 。
、* :t(ELP  NAME=’wrkoutq/wor
kwithoutputq’。
:p、これはこのパネル用の主操作援助テキストである
。HE L Pキーを押し、他の操作援助テキストを含
まない区域にカーソルを合わせたときに表示される。
:EHELP。
:HELP  NAME=’wrkoutq10utp
utq’。
:p、これは情報域用の操作援助テキストである。
HELP キーを押し、情報域を含む行(出力待ち行列
とライブラリ情報を含む行)にカーソルを合わせたとき
に表示される。
:EHELP。
* :HELP  NAME=’wrkoutq/chan
ge’。
:p、これはオプション2用の操作援助テキストである
。HE L Pキーを押し、他の操作援助テキストを含
まない区域にカーソルを合わせたときに表示される。
: EHELP 。
、* :HELP  NAME=’wrkoutq/hold
’。
:p、これはオプション3用の操作援助テキストである
。HELPキーを押し、他の操作援助テキストを含まな
い区域にカーソルを合わせたときに表示される。
:EHELP。
:HELP  NAME=’wrkoutq/canc
el’。
:p、これはオプション4用の操作援助テキストである
。HE L Pキーを押し、他の操作援助テキストを含
まない区域にカーソルを合わせたときに表示される。
:EIIELP。
:HELP  NAME=’wrkoutq/disp
lay’。
:p、これはオプション5用の操作援助テキストである
。II E L Pキーを押し、他の操作援助テキスト
を含まない区域にカーソルを合わせたときに表示される
:EHELP。
、* :HELP  NAME=’wrkoutq/rele
ase’。
:p、これはオプション6用の操作援助テキストである
。HELP キーを押し、他の操作援助テキストを含ま
ない区域にカーソルを合わせたときに表示される。
:El(ELP。
、* ネ :HELP  NAME=’wrkoutq/disp
layattributes’。
:p、これはオプション8用の操作援助テキストである
。HELPキーを押し、他の操作援助テキストを含まな
い区域にカーソルを合わせたときに表示される。
:E)IELP。
:HELP  NAME=’wrkoutq10pt’
:p、これはOPt フィールド用の操作援助テキスト
である。)IELP キーを押し、リストのOpt欄に
=37− カーソルを合わせたときに表示される。
:EHELP。
* :HELP  NAME=’wrkoutq/5pid
’。
:p、これは5p−ID フィールド用の操作援助テキ
ストである。HELPキーを押し、リストの5p−ID
欄にカーソルを合わせたときに表示される。
: EHELP 。
* :HELP  NAME=’wrkoutq/file
’。
:p、これはファイル・フィールド用の操作援助テキス
トである。HELPキーを押し、リストのファイル欄に
カーソルを合わせたときに表示される。
: EHELP 。
、* :HELP  NAME=’wrkoutq/nbr’
:p、これはNbr フィールド用の操作援助テキスト
である。)HELPキーを押し、リストのNbr欄にカ
ーソルを合わせたときに表示される。
: EHELP 。
:HELP  NAME=’wrkoutq/user
 。
:p、これはユーザ・フィールド用の操作援助テキスト
である。HE L P キーを押し、リストのユーザ欄
にカーソルを合わせたときに表示される。
:EI(ELP。
:HELP  NAME=’wrkoutq/pty’
:p、これはPty フィールド用の操作援助テキスト
である。HE L P キーを押し、リストのPty欄
にカーソルを合わせたときに表示される。
: EHELP 。
:HELP  NAME=’wrkoutq/recs
 。
;p、これはRed/Pagフィールド用の操作援助テ
キストである。HELPキーを押し、リストのRed/
Pag欄にカーソルを合わせたときに表示される。
: EHELP 。
:HELP  NAME=’wrkoutq/sts’
:p、これはSts フィールド用の操作援助テキスト
であ、る。HE L P キーを押し、リストのSts
欄にカーソルを合わせたときに表示される。
:EHELP。
* :HELP  NAME:’wrkoutq/copy
’。
:p、これはコピー・フィールド用の操作援助テキスト
である。HE L P キーを押し、リストのコピー欄
にカーソルを合わせたときに表示される。
: EHELP 。
:HELP  NAME=’wrkoutq/form
’。
:p、これはFormtype フィールド用の操作援
助テキストである。HE L Pキーを押し、リストの
Formtype欄にカーソルを合わせたときに表示さ
れる。
: EHELP 。
:HELP  NAME=enter。
、p これはENTERキー用の操作援助テキストであ
る。HELPキーを押し、機能キ一定義域にカーソルを
合わせたときに表示される。
:EHELP。
:HELP  NAME−rollup。
、p これはROLLUPキー用の操作援助テキストで
ある。HELPキーを押し、機能キ一定義域にカーソル
を合わせたときに表示される。
:E)IELP。
:HELP   NAME=rolldown。
、p これはROLLDOWNキー用の操作援助テキス
トである。HF、LPPキー押し、機能キ一定義域にカ
ーソルを合わせたときに表示される。
: EHELP 。
:HELP  NAME’help。
、p これはHELPキー用の操作援助テキストである
。HELP キーを押し、機能キ一定義域にカーソルを
合わせたときに表示される。
: EHELP 。
:HELP   NAME二print。
、p これはPRINTキー用の操作援助テキストであ
る。HE L P キーを押し、機能キ一定義域にカー
ソルを合わせたときに表示される。
:El(ELP。
* :HELP  NAME=exit。
、p これはF3機能キー用の操作援助テキストである
。HE L Pキーを押し、機能キ一定義域にカーソル
を合わせたときに表示される。
: EHELP 。
* :HELP  NAME=prompt。
、p これはF4機能キー用の操作援助テキストである
。HE L Pキーを押し、機能キ一定義域にカーソル
を合わせたときに表示される。
:EHELP。
:HELP  NAME=refresh。
、p これはF5機能キー用の操作援助テキストである
。HELPキーを押し、機能キ一定義域にカーソルを合
わせたときに表示される。
: EHELP 。
:HELP  NAME:wrkoutqd。
、p これはF6機能キー用の操作援助テキストである
。HE L Pキーを押し、機能キ一定義域にカーソル
を合わせたときに表示される。
:E)IELP、。
:HELP  NAME=previous。
、p これはF12機能キー用の操作援助テキストであ
る。HELPキーを押し、機能キ一定義域にカーソルを
合わせたときに表示される。
: EHELP 。
:EPNLGRP。
次に、前に定義したパネルをサポートするために必要な
コードを示す。最初に行なうべきことは、変数プールと
連絡するために使用される構造を構築することである。
プログラム中で参照される各対話変数に対して、空間が
プログラムによって割り振られなければならない。この
空間は、GETVAR動作で対話変数の検索された値を
どこに入れるか、及びPUTVAR動作で対話変数を更
新するための値をどこで得るかを指定するために使用さ
れる。
/* * **** * * * * * * * *
 * * * * * * * * ** * * *
 **** 、j、* * * * * * * * 
* * //*すべての対話変数に対するプログラム変
数*//*記憶域を宣言する。DIMはそのAPIでデ
ー*//*夕変換をサポートしないので、各プロゲラ*
//*ム変数の属性は、対応する対話変数と合致*//
*(または互換性を有)しなければならない。*//*
*/ # ::: **: *: *:*、:** *:: 
* *: * ::::::、: * :**:**:
:: * * * /DCL I II、      
 #情報専用変数  */3 OSPMOD PTR(
SYP)、/*ユーザ出ロブログ*//*ラム・ポイン
タ */ 30Q   CHAR(10)、/:出力待ち行列基 
*/3 LIB   CIIAR(10);#出力待ち
行列ライ*//* ブラリ名     */ DCL  I  Ll。
3 5PID 3  FILE   NBR 3USER PTY 3  RECS リストで定義され た変数 このプログラムに よって使用されな い(したがって宣 言されない)オプ ション・フィール ド スプール・ファイ ル識別子 スプール・ファイ ル名 スプール・ファイ ル番号 ユーザ・プロファ イル名 スプール・ファイ ル優先順位 レコード/ページ の数 3 STS   CIIAR(1)、 /* スプール
・ファイ*//*ル状況     */ 3 C0PY  BIN(15)、 /* コピーの数
   */3 FORM  CHAR(16)、#書式
タイプ   */3 JOB   CHAR(10)、
/よ ジョブ名     */3 JNBRCHAR(
6); /*ジョブ番号   */次ノステップは、V
ARLST マクl:I及びVARLSTEマクロを呼
び出して、GETVAR機能及びPUTVAR機能が必
要とする変数リスト・データ構造を構築し、初期設定す
ることである。後のコーディングを簡単にするため、2
つの異なる構造を構築する。
最初の構造は、INFO変数とだけ連結するために使用
される。第2の構造は、LIST変数と連絡するために
使用される。
次に、INFO変数リスト・データ構造を構築し、初期
設定するために必要なコードを示す。
/**********“1“1“畝L *:::::
: ****、> 、:、: ***:: ***::
 //*構造■1における情報変数の処理をサボー*/
/*卜するように初期設定された変数リスト・ *//
*データ構造を定義する。各変数の属性が指*//*定
され、UIMは、プログラムから渡され*//*た変数
値がパネル・グループ・オブジェク*//*ト定義と合
致するかどうかを(実行時に)*//*検査する。  
             *//: 、L 、k *
 * * : * :*** * * :::: 、k
 : * *: * *、L : * * * * *
 ::: * : * *:*: /? VARLST
 PFIX(INFO)/*変数リすト構造INFO*
/ ENTRIES (2) VARSTG (II) ; ? VARLSTE DLGVAR(QSPMOD)/
* QSPMODの項目を初期設定する *10FFS
ET (OFFSET (QSPMOD) )ATTR
(PTR) ; ? VARLSTE DLGVAR(OQ)/*OQの
項目を初期設定する   零10FFSET (OFF
SET (OQ) )ATTR(CHAR、LENGT
II (OQ) ) ;? VARLSTE DLGV
AR(LIB)# LIBの項目を初期設定する  ネ
10FFSET(OFFSET(LIB))ATTR(
CIIAR,LENGTH(LIB));次にLIST
変数リスト・データ構造を構築し、初期設定するために
必要なコードを示す。
# ** ** 、l ** ***** ** * 
* ******** ** *a、* **** *
 * ** * ***//*構造LIにおける情報変
数の処理をサポー*//*トするように初期設定された
変数リスト・ *//*データ構造を定義する。各変数
の属性が指*//*定され、UIMはプログラムから渡
された*//*変数値がパネル・グループ・オブジェク
ト*//*定義と合致するかとうかを(実行時に)検*
//*査する。                */
/ * ***”; *”; *’; ’罰*****
*’ぽ**: *::、: * *::*** *::
: * * ** : * /? VARLST PF
IX(LIST)/*変数リすト構造LIST    
  */ENTRIES (11) VARSTG (Ll) i ? VARLSTE DLGVAR(SPID)/* 
5PIDの項目を初期設定する  *10FFSET(
OFFSET(SPID))ATTR(CHAR,LE
NGTH(SPID));?  VARLSTE DL
GVAR(FILE)/*FILEの項目を初期設定す
る 0FFSET (OFFSET (FILE) )AT
TR(C)IAR,LENGTH(FILE));? 
VARLSTE DLGVAR(NBR)/* NBR
の項目を初期設定する 0FFSET (OFFSET (NBR) )ATT
R(BIN 、 15) ; */ */ (すべてのLIST変数について続行される)以下の行
は、定数の宣言を取り込む。
?  WWUIXCON; /* DIM定数を取る       */すべでの宣
言が完了した後、UIMを呼び出して新しいアプリケー
ションを開始する。そうするためには、プログラムはマ
クロ0PENAPPの呼出しをコード化しなければなら
ない。
0PENAPP マクロは、2つのパラメータ、すなわ
ちPNLGRP及びAPPIDを必要とする。オープン
じたいパネル・グループがEXAMPLE 1であると
する。0PENAPP マクロは、APPID キーワ
ードに対して指定された変数中にアプリケーション識別
子ヲ返ス。APPID値は、このプログラム全体に渡っ
て、すべての要求に対してとのオープン・アプリケーシ
ョンを使用すべきかをUIMに指令する場合に、使用し
なければならない。
? 0PENAPP PNLGRP(EXAMPLEI
)/*lIMアプリケー */ /*ジョンをオープン*/ /*する       */ APPID (&APPID) ; アプリケーションがオープンされたので、そのアプリケ
ーションでパネルに現われる対話変数及び挿入リスト項
目を設定することができる。
この例のパネルでは、パネルの上端の情報域に現われる
変数が2つある。下記のコード・セグメントは、(パネ
ルが表示される前に)それらの変数に正しい値を与える
方法を示す。
OQ=’MYO口TQ ’ i      # ローカ
ル出力持ち/*行列名を設定する LIB=’MYLIB’;      /中 ローカル
・ライブ/*ラリ名を設定する /二×ユーザ出ロブログラムを指すポインタを取/*り
出す ?CNVPGM PGM(QSPMOD)PTR(QS
PMOD) ; ?PUTVARVARLST(&INFO) /:対話
変数を設定す*//*る     */ APPID(&APPID); コードの次のセグメントは、サンプル・パネル上のリス
トをどのようにすれば構築できるかを示す。ループ制御
は、リストに挿入するために使用できる項目の数に関し
て条件付けられる。
/*** : * *: t、**k ** :: *
******: * *** **** * *:: 
* * : ***、: //*所期の数の項目をリス
トに追加する。対話*//*変数OPTは変数リス) 
LISTでは指定さ*//*れず、したがってリストに
追加された各項*//*目に対してオープン・アプリケ
ーション変*//*数プールが使用されることに留意さ
れた *//*い。活動対話変数に対する省略時初期値
は*//*Oなので、追加されるすべてのリスト項目*
//*は空白のOPT値を含む。        */
/: **: ***、j、、:**、:*:: * 
::: 、k : 、j、*:*:: * :::: 
*: * : * ::** : /使用可能なすべて
の項目について実行する。
/*使用可能な全情報についてルー*//*プする  
          */5PID = 5pid の
値   /*クロール・リスト*//*項目値を設定す
る*/ FILE  = BR USER= PTY   = RECS  = STS   = C0PY  = FORM  = OB ファイルの値 nbr の値 ユーザの値 pty の値 recs の値 sts の値 コピーの値 書式の値 ジョブの値 JNBR= jnbr の値 ? ADDLSTE APPID(&APPID)LI
ST(O口TQLIST) /*対話変数値を設*10
PTION(END)   /* 定し、リスト項*/
/*目を追加する */ VARLST(&LIST); END; リストが完了した場合、ワークステーション操作員がリ
ストの終りを過ぎて画面移動しようとすると、リストの
終りに達したことを示すメツセージが表示される。
C0NTENTS (”TOP)を使−) テ5ETL
STA マクロを呼び出していた場合、オペレータは、
リスト内の項目の終りを越えて画面移動することが許さ
れる。
このことを実現するため、UIMはプログラムに戻って
、さらに項目がリスト中で要求されたことを示すことに
なる。この時点で、プログラムはリストにさらに行を追
加し、パネルを表示する。
この例では、すべての項目がリストに追加されたものと
仮定する。UIMはこのとき、パネルを提示するのに必
要なすべての情報を与えられているので、DSPPNL
 マクロを呼び出して、パネルをワークステーション操
作員に表示するだけでよい。
この例では、画面移動、活動リスト処理、操作移動表示
、コマンドのプロンプティング及び実行はすべてUIM
によって処理される。制御権がプログラムに戻るのは、
操作員がPREVIOUS、 EXIT *たはREF
RESH(画面再生)の機能キーを押したとき、または
操作員がENTERキーを押し、かつ活動リスト項目ま
たは処理すべきコマンドがないときだけである。
DSPPNL マクロのFUNCTION パラメータ
は、表示を終了させた、どの機能が要求されたかの指示
を返す。このパラメータで指定されたプログラム変数は
、プログラムのどの機能(PREVIOUS、、EXI
T。
REFRESH等)が要求されているかを示す値に設定
される。
? DSPPNL  PANEL(IJRKOUTQ)
/:パネルをオペレー*/ /*夕に表示する  */ APPID (&APPID) FUNCTION (&FID) USRTASK (”REw); パネルが表示され、制御権が呼出しプログラムに戻った
後、FUNCTIONパラメータに対して指定された変
数を調べて、何が原因で制御権がプログラムに戻ったか
を知ることができる。
IF FID=υ旧$八EXTへTHEN  /*EX
IT機能要求の *//*場合      */ DO; /* EXIT処理を扱う*/ ND i LSE Oi /* PREVIOUS処理を扱う*/NDi この例のパネルから、通常のユーザは、リスト項目の1
つに対してCHGSPLFAコマンド(オプション2)
を選択して、リスト内のスプール出力ファイルの属性を
変更することができる。コマンドが実行された後、変更
を反映するようにリストを更新する必要がある。
リスト項目を変更する場合、出ロブログラムを呼び出す
ことができる。出ロブログラムの名前は、USREXI
Tパラメータと共にLISTACT タグ上に示される
。下記コードは、属性の変更を反映するためにEXIT
プログラムが実行するコードである。
UIMは、活動ルーチン及び出ロブログラムを呼び出す
前に、リストを位置づけ、項目を読むので、この出ロブ
ログラムは、リストが既に適当な項目に入れられ、対話
変数が既にこのリスト項目に対する値を含んでいると仮
定する。
5PID =spidの新しい値 /*任意の新リスト項目情報をセッ*//*ドアツブす
る         */FILE = ファイルの新
しい値 NBR=nbr の新しい値 USER=ユーザの新しい値 PTY=ptyの新しい値 RECS =recs の新しい値 5TS=stsの新しい値 C0PY = コピーの新しい値 FORM =書式の新しい値 JOB  = ジョブの新しい値 JNBR= jnbr の新しい値 ? UPDLSTE APPID(&APPID)/*
対話変数値を設定*/ /*シ、        */ LIST(O口TQLIST) /* リスト項目を更新*/ /*する       */ VARLST (&LIST) ; リストに対するすべての処理が終了した(ユーザがPR
EVIO口Sキーを押した)後、アプリケーションをク
ローズしなければならない。アプリケーションをクロー
ズするのに必要なコードは、次の通りである。
? CLO3EAPP APPID(&APPID);
/*オープン・アプリ*/ /*ケーションをり */ /* ローズする    */ プログラム命令によって実行される一連の機能動作を示
す第3a図ないし第3d図のプログラミング・データ流
れ図を参照すると、プログラムの動作は、ブロック50
0で開始し、アプリケーション・プログラムがパネル・
グループをオープンする。アプリケーション・プログラ
ムに、どのパネル・セットを使用するのかを指示しなけ
ればならない。言い換えると、処理すべきパネル・グル
ープの名前を示す。アプリケーションは、次にプロ、ツ
ク501を経て主ループに入り、501で、変数プール
内の変数の値を設定する。変数は、その名前によって識
別される一組の値であり、アプリケーションが使用でき
るデータである値を保持することができる。これらの値
は、アプリケ−シロン・プログラム内のデータを参照し
、このデータを変数プールに複写することによって設定
される。
ブロック502の表示パネル・サービスが、パネルの表
示を実際に行なう。次の判断ブロック505は、実際に
は表示管理機能自体の中にある。
このブロックの機能は、要求の妥当性を検査し、要求さ
れたパネルがパネル・グループ内にあることを確認する
ことである。
プロ2り503で、アプリケーションは、ユーザが表示
上で変更した値を検索する。これは、変数プールにアク
セスしてこれらの値を引き出すことによって行なう。ブ
ロック504で行なわれる判断によってこの処理が繰り
返され、すべての変数が検索されるまで、プログラムは
ブロック5゜1に戻る。
アプリケーションが完了すると、ブロック5゜4での判
断によってプログラムはブロック506に移り、506
でアプリケーションはパネル・グループをクローズする
プログラムの表示ブランチがブロック510がら始まり
、510でパネル上で使用される条件が検査される。こ
のステップは、問題のパネルに関して評価すべき条件を
集める。各パネルはそれぞれ固有の一組の条件を有する
。パネル言語はその内部に、パネルから要素を排除する
か、あるいは表示のために含めるために使用できる条件
を定義するための別の言語を有する。例には機能キ一定
義が含まれているが、これらの定義を画面から排除して
、機能キーを非動作状態に保持することもできる。排除
された機能キーに関係する操作援助テキストも表示され
ない。したがって、あるオブジェクトが排除されると、
そのオブジェクトは何も残らない。
ブロック511で、変数フィールドならびにシステム・
オブジェクト内の値を参照して条件が評価される。後の
カテゴリに属する例は、システムの主メニュー上の項目
である。ユーザが、たとえば特定のフィールド内に書き
込むことができるクラスに属さない場合は、特定のメニ
ューを排除することが望ましい。
ブロック512で、表示される実際の要素が調べられ、
ブロック513で、オブジェクトを表示するかどうかが
判定される。各オブジェクトは条件付けられていても、
条件付けられていなくてもよい。条件付けられていない
場合は、表示される。
条件付けられている場合は、その条件の値が検査され、
それが真であれば、そのオブジェクトは表示のために含
まれる。
ブロック514で、オブジェクトに表示装置上の適当な
位置が割り当てられる。コンパイル時に仮の位置が割り
当てられる。このブロックで確認されると、それが最終
位置になる。
ブロック515の動作で、各オブジェクトに適当な属性
が割り当てられる。強調表示、カラー等が、命令行等の
オブジェクト・タイプに従って表示にマツプされる。
516で、問題の特定オブジェクトに対して、変数値が
必要かどうかが判定される。メニュー項目等、ある種の
オブジェクトは変数値を有さす、したがって、検索を必
要としない。他のオブジェクト、たとえばデータ項目は
、変数プールを介して与えられる値を表示し、ブロック
517で示すように、表示のためにオブジェクトを検索
するため、プールに対するアクセスを必要とする。変換
が必要な場合もこのブロックで実行される。たとえば、
値が2進形態で記憶されていることがあるが、表示のた
めにそれを10進数に変換しなければならない。
表示上のすべてのオブジェクトについてこの処理が完了
したとブロック518で判定された後、ブロック519
で示すように、作成されたオブジェクト/位置リストか
らデータ・ストリームが構成される。すべてのオブジェ
クトが調べられていない場合は、プログラムはブロック
518からブロック512の入口にループして戻り、す
べてのオブジェクトを調べる。
したがって、A点で、実質的に表示される全オブジェク
トとそれらの属性のリストである、新しいデータ構造が
確立されたことになる。ブロック520で、データ・ス
トリームが表示装置に送り出される。このデータ・スト
リームは、表示装置によって解釈され、ユーザに提示さ
れる。ブロック521で、ユーザは画面を見、適当な情
報を入力し、機能キーを押して、ブロック522で、入
力データをデータ・ストリームの形でシステムに送り返
す。
このデータ・ストリームは前と同様に位置及び値から成
る。ブロック523での動作には、ブロック521で押
された機能キーの検査が必要がある。
その機能キーが更新すべき変数に関係していた場合は、
ブロック523でのテストの後、ブロック524に移り
、そこで画面が特定のオブジェクトと相関される。関係
するオブジェクトが識別されると、変数プール内のどの
変数が必要かを知るため、ブロック525でオブジェク
トが調べられる。
次にブロック526で、問題の特定の変数について妥当
性検査が必要かどうかを知るため、変数クラスが検査さ
れる。検査が必要な場合は、ブロック527に入って、
適当な検査が実行される。
ブロック528は検査の結果で動作する。検査が不合格
だった場合は、処理はブロック529に進み、入力され
た値にエラーのタグが付けられる。
エラーのタグを付けられたデータは、次にブロック53
0表示装置上に再び示され、ブロック531で、ワーク
ステーション・ユーザは、データを正しく入力し直す機
会を与えられる。ユーザが別のエラーを犯している可能
性があるので、プログラムはブロック522に戻り、新
しいデータが正しいかどうか確認するため、検査が繰り
返される。
入力されたデータが妥当性検査に合格すると、ブロック
532で、変数が更新され、プログラムはブロック52
3にループして戻り、すべての変数が更新されたかどう
か検査する。最後に、変数更新処理が完了し、ブロック
523でのテストで、考慮すべき変数が残っていないこ
とが示される。
プログラムは次にブロック540に進み、どのような対
話活動を行なうべきか判定するために機能キーが調べら
れる。−これは、機能キーを適当な対話活動にマツプす
ることによって実現される。
対話活動がアプリケーションへの帰還を示唆する場合は
、ブロック541でのテストの後、ブロック542に移
り、そこで図のようにアプリケーションに戻る。他の対
話活動が示唆される場合は、その対話活動が操作援助で
あるかどうか知るために、ブロック543でテストが行
なわれる。操作援助活動が要求されている場合、ブロッ
ク544で、カーソル位置を判定し、それを特定のオブ
ジェクトに相関させることにより、どの操作援助が要求
されたかの判定を開始する。次に、ブロック544で識
別された表示オブジェクトを検査して、どのような種類
のオブジェクトかを調べる。ブロック545のテストに
より、評価されるオブジェクトがコマンド行であったか
否かが判定される。
このテストで、問題のオブジェクトがコマンド行である
ことが示された場合、ブロック546で検査が行なわれ
て、コマンドが入力されたか否かが判定される。入力さ
れたコマンドがある場合は、ブロック547で、実行時
サポートが呼び出されて、そのコマンドに対する操作援
助メツセージが表示される。コマンドが入力されていな
い場合は、ブロック548て、そのコマンド行がメニュ
ー・オプションを含んでいたかどうかが判定される。
そうである場合は、ブロック549で、そのメニュー項
目を、どの操作援助メツセージを表示すべきかを判定す
るためのオブジェクトとして選ぶ。
選択されたオブジェクトがコマンド行ではないとブロッ
ク545で判定され、あるいはメニュー・オプションを
有するコマンド行でないとブロック548で判定された
場合は、ブロック550で、選択されたオブジェクトに
対する操作援助が表示される。
ブロック560で、条件付けられたオブジェクトを除く
パネル上のすべてのオブジェクトに対応する操作援助リ
ストが構成される。それに対して操作援助が表示される
リスト上の最初と最後の項目は、そのようにマークされ
る。通常の場合、それが、選択されたオブジェクトに対
応する唯一の項目となる。
ブロック561で、特定のユーザ・パネルに対する操作
援助パネルを取り出すために必要な操作援助パネルを表
示するため、操作援助アプリケーションが呼び出される
。この時点で、ユーザが機能キーを押して拡張操作援助
を要求した場合、ブロック562からブロック563に
移り、そこで拡張操作援助がユーザに提示される。これ
は一般に、識別されたすべての操作援助に関係するすべ
ての操作援助メツセージである。ユーザは次に適当な処
置を取る。たとえば、ブロック564にボすように、ユ
ーザは操作援助メツセージの使用が完了したことを示し
、プログラムはA点に戻る。
次にブロック543に戻って、対話活動が操作援助でな
いことがテストで示された場合、ブロック570でテス
トを行なって、対話活動が画面上方送り、画面下方送り
、ビュー変更等、表示管理機能によって直接処理される
ことが可能なものかどうか調べる。そうである場合は、
実行時サポートがその機能を実行し、ブロック571で
示すように、プログラムはB点に戻る。
ブロック570でのテストで、表示管理機能によって直
接処理されることが可能な対話活動でないことが示され
た場合は、ブロック580で、コマンド要求であるかど
うか調べる。そうである場合は、ブロック581で、要
求がシステムに渡され、プログラムはA点に戻る。そう
でない場合は、ブロック582に入り、ユーザが空白状
況を処理するためにどのようにパネルをコード化したか
に応じて、アプリケーションに戻り、またはノ寸ネルが
再表示される。
F、効果 本発明によれば、複数のアプリケーション・プログラム
によって共用されるデータと表示装置の間の共通インタ
ーフェースが提供される。
【図面の簡単な説明】
第1図は本発明の動作のプロ・ツク・ダイヤグラムであ
る。 第2図は、本発明を用いて開発され、管理されう、3・
・パネル・グループ・オブジェクト、4・・アプリケー
ション・プログラム、5・・パネル・アプリケーション
実行サポート、6・・変数プール、7・・装置サポート
、8・・表示装置。

Claims (1)

  1. 【特許請求の範囲】 ディスプレイ・アプリケーション・プログラムのインタ
    ーフェース機構であって、以下の要素からなる、パネル
    の特性を定義する手段を含む、インターフェース機構。 (a)パネルのタイトルに関連する第1のタグ。該第1
    のタグはアトリビュートと識別子を含む第1のオブジェ
    クトからなる。 (b)上記アトリビュートには、上記タイトルに関連す
    るヘルプ・メッセージを識別するヘルプ・アトリビュー
    トが含まれる。 (c)上記パネルについての第2のオブジェクトに関連
    する第2のタグ。該第2のタグは識別子とアトリビュー
    トを含む。 (d)上記第2のタグのアトリビュートには、上記パネ
    ルについての上記第2のオブジェクトに関連するヘルプ
    ・メッセージを識別するヘルプ・アトリビュートが含ま
    れる。 (e)アプリケーション・プログラムに応答して、上記
    パネルに関連するタグ手段にアクセスし、上記パネルに
    関連するオブジェクトを識別して表示する手段。
JP1010095A 1988-03-17 1989-01-20 表示パネル生成方法 Expired - Lifetime JPH0833834B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16952488A 1988-03-17 1988-03-17
US169524 1988-03-17

Publications (2)

Publication Number Publication Date
JPH02146633A true JPH02146633A (ja) 1990-06-05
JPH0833834B2 JPH0833834B2 (ja) 1996-03-29

Family

ID=22616062

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1010095A Expired - Lifetime JPH0833834B2 (ja) 1988-03-17 1989-01-20 表示パネル生成方法

Country Status (2)

Country Link
EP (1) EP0333619A3 (ja)
JP (1) JPH0833834B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05197685A (ja) * 1991-08-19 1993-08-06 Internatl Business Mach Corp <Ibm> ウィンドウ化ユーザ・インタフェースの複数言語による翻訳を支援するシステム及び方法
JP2008146664A (ja) * 1992-12-23 2008-06-26 Object Technology Licensing Corp メニュー項目表示方法および装置
CN103473060A (zh) * 2013-09-11 2013-12-25 北京迈特力德信息技术有限公司 基于机场气象自动观测系统的界面显示方法及装置
CN103699373A (zh) * 2013-11-29 2014-04-02 小米科技有限责任公司 界面颜色显示方法、装置及系统
CN103473060B (zh) * 2013-09-11 2016-11-30 北京迈特力德信息技术有限公司 基于机场气象自动观测系统的界面显示方法及装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5121478A (en) * 1988-09-08 1992-06-09 Xerox Corporation Window system with independently replaceable window functionality
CA2025160A1 (en) * 1989-09-28 1991-03-29 John W. White Portable and dynamic distributed applications architecture

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61211732A (ja) * 1985-03-18 1986-09-19 Nec Corp 表示画面認識装置
JPS63148397A (ja) * 1986-12-11 1988-06-21 富士電機株式会社 デイスプレイにおける情報表示方式

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4899276A (en) * 1984-08-14 1990-02-06 International Business Machines Corporation Field-directed screen help technique

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61211732A (ja) * 1985-03-18 1986-09-19 Nec Corp 表示画面認識装置
JPS63148397A (ja) * 1986-12-11 1988-06-21 富士電機株式会社 デイスプレイにおける情報表示方式

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05197685A (ja) * 1991-08-19 1993-08-06 Internatl Business Mach Corp <Ibm> ウィンドウ化ユーザ・インタフェースの複数言語による翻訳を支援するシステム及び方法
JP2008146664A (ja) * 1992-12-23 2008-06-26 Object Technology Licensing Corp メニュー項目表示方法および装置
CN103473060A (zh) * 2013-09-11 2013-12-25 北京迈特力德信息技术有限公司 基于机场气象自动观测系统的界面显示方法及装置
CN103473060B (zh) * 2013-09-11 2016-11-30 北京迈特力德信息技术有限公司 基于机场气象自动观测系统的界面显示方法及装置
CN103699373A (zh) * 2013-11-29 2014-04-02 小米科技有限责任公司 界面颜色显示方法、装置及系统
CN103699373B (zh) * 2013-11-29 2017-11-21 小米科技有限责任公司 界面颜色显示方法、装置及系统

Also Published As

Publication number Publication date
EP0333619A3 (en) 1990-10-10
JPH0833834B2 (ja) 1996-03-29
EP0333619A2 (en) 1989-09-20

Similar Documents

Publication Publication Date Title
US5179657A (en) Panel definition language for computer display
US7194692B2 (en) Method and apparatus for binding user interface objects to application objects
EP0811193B1 (en) Graphical environment for managing and developing applications
US5499365A (en) System and method for controlling versions of objects in an object oriented computing environment
US5892510A (en) Field objects and a method for developing a graphical user interface containing the field objects
US5950190A (en) Dynamic, self-modifying graphical user interface for relational database applications
US5550971A (en) Method and system for generating a user interface adaptable to various database management systems
USRE37722E1 (en) Object-oriented system for the transparent translation among locales of locale-dependent application programs
US6058391A (en) Enhanced user view/update capability for managing data from relational tables
JP3136035B2 (ja) データベースシステム用インターフェースのための自動レイアウト・ジェネレータ及びその生成方法
US5832268A (en) System and method for supporting complex objects in an object oriented computing environment
KR100562905B1 (ko) 어플리케이션 프로그램 모듈의 동적 배치 방법
US7685155B2 (en) System and method of providing and utilizing an object schema to facilitate mapping between disparate domains
US6820268B2 (en) Method for associating data bearing objects with user interface objects
US5781905A (en) Program generating method combining data item part with database manipulation part
Dewan et al. An approach to support automatic generation of user interfaces
US6223185B1 (en) Method for defining composed object methods and attributes by dynamically presenting composite values and options
US6938260B1 (en) Complex data navigation, manipulation and presentation support for visualage Java
US20060155710A1 (en) Method and computer system for customizing computer applications by storing the customization specification as data in a database
JPH02146633A (ja) 表示パネル生成方法
Kanchev Employee Management System
Clark Introducing VB. NET
Spinicci APLITDS: an APL development system
Rowe et al. The PICASSO Framework: A High-Level Tool for Interface Design
JPH10260822A (ja) オブジェクト指向ソフトウェア文書編集管理支援装置