Page History
[ |../../index.htm#lansa/ov_system_service.htm]
現在地:
...
OV_SYSTEM_SERVICE
...
| Note |
|---|
注意: 組み込み関数の規則 |
...
基本的なシステム・サービスを実行します。
| Info |
|---|
この組み込み関数は、アプリケーションへの影響を考慮した上でユーザーの責任において使用してください。明示的か暗黙的かを問わず、いかなる保証もありません。「免責事項」全文を参照してください。 |
ファンクション番号: | 991 |
|---|---|
必要なDLL: | U_BIF991.DLL |
...
各製品の対応
Visual LANSA for Windows | 使用可 |
|---|---|
Visual LANSA for Linux | 使用不可 |
LANSA/AD | 使用不可 |
...
引数
番号 | タイプ | 必須/任意 | 説明 | 最小長 | 最大長 | 最小小数桁数 | 最大小数桁数 |
|---|---|---|---|---|---|---|---|
1 | A | 必須 | 必要なシステム・サービスのタイプ |
以下のいずれかの値として渡します。 |
START 別の(LANSA以外の)アプリケーションを実行します。 START_ |
LANSA 別のLANSAアプリケーションの実行を開始します。 START_ |
UNIQUE 別の(LANSA以外の)アプリケーションが開始されていない場合に実行します。 | 1 | 50 |
2 | A | 任意 | 要求サービス引数1 引数1の値 この引数で渡す値: |
START 開始するアプリケーション(.EXE)の名前 START_ |
LANSA 独立した別のシステム・プロセス/ジョブとして開始するLANSAプロセス、プロセスとファンクション、またはフォームの名前 PROC= |
PPPPPPPPPP |
FFFFFFF または いかなる場合も、この引数にX_ |
含めないでください
RUNパラメータ以外のものを含めないでください(例:PART=PPP、DBID=XXXX)。 START_ |
UNIQUE 開始されていない場合に開始するアプリケーション(EXE)の名前。このサービスは、MS Windows環境でのみ使用できます。 完全修飾名(すなわち、パス情報付き)を使用しないでください。必ず.EXE名のみを使用してください。名前に.EXE接尾辞を付けない場合、.EXE接尾辞が自動的に追加されます。
|
| 1 | 256 |
3 | A | 任意 | 要求サービス引数2 引数1の値 この引数で渡す値: |
START 開始するアプリケーションに渡すパラメータ START_ |
LANSA この引数は不要。指定した値はすべて無視される START_ |
UNIQUE 開始する必要がある場合にアプリケーションに渡すパラメータ | 1 | 256 |
...
戻り値
番号 | タイプ | 必須/任意 | 説明 | 最小長 | 最大長 | 最小小数桁数 | 最大小数桁数 |
|---|---|---|---|---|---|---|---|
1 | A | 任意 | 基本戻りコード OK = 完了した(正常) | 2 | 2 |
2 | N | 任意 | 拡張エラー・コード これは、(使用可能な場合は)エラー処理またはエラー・レポートに役立つオペレーティング・システムのエラー・コードです。 |
3 | リスト | 任意 | 以下の値として返されます。 OK = |
正常に完了した |
特定の引数1の値に対してのみ以下のように返されます。 |
START 返されない START_ |
LANSA 返されない START_ |
UNIQUE 返されない |
例
例
以下のRDMLファンクションの例(L4Wの自由形式のファンクション・エディタにコピー/貼り付け可能)は、プログラム(EXE)名とそのプログラムに渡すパラメータを指定するよう要求します。その後、指定されたプログラムの実行開始が試行されます。
FUNCTION OPTIONS名とそのプログラムに渡すパラメータを指定するよう要求します。その後、指定されたプログラムの実行開始が試行されます。
FUNCTION OPTIONS(*DIRECT)
...
DEFINE FIELD(#OV_PGM)
...
TYPE(*CHAR)
...
LENGTH(50)
...
LABEL('Program')
...
DEFINE FIELD(#OV_PARMS)
...
TYPE(*CHAR)
...
LENGTH(50)
...
LABEL('Parameters')
...
INPUT_ATR(LC)
...
DEFINE FIELD(#OV_RETC)
...
TYPE(*CHAR)
...
LENGTH(2)
...
LABEL('
...
Return Code')
...
DEFINE FIELD(#OV_ERRN)
...
TYPE(*DEC)
...
LENGTH(7)
...
DECIMALS(0)
...
LABEL('
...
Error Code')
...
**********
...
BEGIN_LOOP
...
REQUEST FIELDS(#OV_
...
PGM #OV_PARMS (#OV_
...
RETC *OUT)
...
(#OV_
...
ERRN *OUT))
...
USE BUILTIN(OV_SYSTEM_SERVICE)
...
WITH_ARGS(
...
START #OV_PGM #OV_PARMS)
...
TO_GET(#OV_
...
RETC #OV_ERRN)
...
IF COND('#OV_
...
RETC =
...
OK')
...
MESSAGE MSGTXT('
...
Program started')
...
ELSE
MESSAGE MSGTXT('Error detected when attempting to start program')
ENDIF
END_LOOP
以下のRDMLファンクションの例は、最大100行のテキストを指定するよう要求します。指定された行はファイルに転送され、作成されたファイルに対してEPM (OS/2)またはノートパッド(Windows)ソース行エディターが開始されます。
FUNCTION OPTIONSソース行エディターが開始されます。
FUNCTION OPTIONS(*DIRECT)
...
DEFINE FIELD(#OV_TEMP)
...
TYPE(*CHAR)
...
LENGTH(20)
...
LABEL('
...
Temp File Name')
...
DEFAULT('C:\TEMP.TXT')
...
DEFINE FIELD(#OV_EDITOR)
...
TYPE(*CHAR)
...
LENGTH(20)
...
LABEL('
...
Editor Name')
...
IF COND('*
...
CPUTYPE =
...
OS2')
...
CHANGE FIELD(#OV_EDITOR)
...
TO(EPM)
...
ELSE
CHANGE FIELD(#OV_EDITOR)
...
TO(NOTEPAD)
...
ENDIF
DEFINE FIELD(#OV_RETC)
...
TYPE(*CHAR)
...
LENGTH(2)
...
LABEL('
...
Return Code')
...
DEFINE FIELD(#OV_TEXT)
...
TYPE(*CHAR)
...
LENGTH(70)
...
COLHDG('
...
Text Details')
...
DEF_
...
LIST NAME(#OV_LISTD)
...
FIELDS(#OV_TEXT)
...
DEF_
...
LIST NAME(#OV_LISTW)
...
FIELDS(#OV_TEXT)
...
TYPE(*WORKING)
...
ENTRYS(100)
...
**********
...
INZ_
...
LIST NAMED(#OV_LISTD)
...
NUM_ENTRYS(100)
...
WITH_MODE(*CHANGE)
...
MESSAGE MSGTXT('Type in lines of text to be edited')
REQUEST BROWSELIST(#OV_LISTD)
...
SELECTLIST NAMED(#OV_LISTD)
...
GET_ENTRYS(*NOTNULL)
...
ADD_
...
ENTRY TO_LIST(#OV_LISTW)
...
ENDSELECT
USE BUILTIN(TRANSFORM_LIST)
...
WITH_ARGS(#OV_
...
LISTW #OV_TEMP C B Y) TO_GET(#OV_RETC)
...
USE BUILTIN(OV_SYSTEM_SERVICE)
...
WITH_ARGS(
...
START #OV_EDITOR #OV_TEMP)
...
以下のRDMLファンクションの例は、プログラム(.EXE)名とそのプログラムに渡すパラメータを指定するよう要求します。その後、指定されたプログラムの実行開始が試行されます。アプリケーションは、STARTまたはSTART_UNIQUEオプションを使用して開始できます。これにより、すでにアクティブになっているプログラムを開始するときに、これらのオプションの違いを確認できます。
FUNCTION OPTIONSUNIQUEオプションを使用して開始できます。これにより、すでにアクティブになっているプログラムを開始するときに、これらのオプションの違いを確認できます。
FUNCTION OPTIONS(*DIRECT)
...
DEFINE FIELD(#OV_PGM)
...
TYPE(*CHAR)
...
LENGTH(50)
...
LABEL('Program')
...
DEFAULT('NOTEPAD.EXE')
...
DEFINE FIELD(#OV_PARMS)
...
TYPE(*CHAR)
...
LENGTH(50)
...
LABEL('Parameters')
...
INPUT_ATR(LC)
...
DEFINE FIELD(#OV_RETC)
...
TYPE(*CHAR)
...
LENGTH(2)
...
LABEL('
...
Return Code')
...
DEFINE FIELD(#OV_ERRN)
...
TYPE(*DEC)
...
LENGTH(7)
...
DECIMALS(0)
...
LABEL('
...
Error Code')
DEFINE FIELD(#OV_REQUST)
...
TYPE(*CHAR)
...
LENGTH(20)
...
LABEL('
...
Start Type')
...
DEFAULT(START_UNIQUE)
...
**********
...
BEGIN_LOOP
...
REQUEST FIELDS(#OV_
...
REQUST #OV_PGM #OV_PARMS (#OV_
...
RETC *OUT)
...
(#OV_
...
ERRN *OUT))
...
BEGINCHECK
VALUECHECK FIELD(#OV_REQUST)
...
WITH_LIST(
...
START START_UNIQUE)
...
MSGTXT('
...
Request value must be START or START_UNIQUE')
...
ENDCHECK
USE BUILTIN(OV_SYSTEM_SERVICE)
...
WITH_ARGS(#OV_
...
REQUST #OV_PGM #OV_PARMS)
...
TO_GET(#OV_
...
RETC #OV_ERRN)
...
IF COND('#OV_
...
RETC =
...
OK')
...
MESSAGE MSGTXT('Program started or it is already started')
ELSE
MESSAGE MSGTXT('Error detected when attempting to start program')
ENDIF
END_LOOP