Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

[ Image Removed |../../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  別の

START  別の(LANSA以外の)アプリケーションを実行します。

START_

LANSA  別のLANSAアプリケーションの実行を開始します。

LANSA  別のLANSAアプリケーションの実行を開始します。

START_

UNIQUE  別の

UNIQUE  別の(LANSA以外の)アプリケーションが開始されていない場合に実行します。

1

50

 

 



2

A

任意

要求サービス引数1

引数1の値

      この引数で渡す値:

START  開始するアプリケーション

START  開始するアプリケーション(.EXE)の名前
完全修飾名(すなわち、パス情報付き)を指定することも、.EXE名のみを指定することもできます。名前に.EXE接尾辞を付けない場合、.EXE接尾辞が自動的に追加されます。

START_

LANSA  独立した別のシステム・プロセス

LANSA  独立した別のシステム・プロセス/ジョブとして開始するLANSAプロセス、プロセスとファンクション、またはフォームの名前
この値は、必ずPROC=PPPPPPPPPPまたは以下の形式で渡します。

PROC=

PPPPPPPPPP

PPPPPPPPPP 
FUNC=

FFFFFFFまたはFORM

FFFFFFF または
FORM=OOOOOOOOOO
(ここで、PPPPPPPPPPはプロセス名、FFFFFFFはファンクション名、OOOOOOOOOはフォーム名)

いかなる場合も、この引数にX_

RUNパラメータ以外のものを
含めないでください

RUNパラメータ以外のものを含めないでください(例:PART=PPP、DBID=XXXX)。

START_

UNIQUE  開始されていない場合に開始するアプリケーション

UNIQUE  開始されていない場合に開始するアプリケーション(EXE)の名前。このサービスは、MS Windows環境でのみ使用できます。

完全修飾名(すなわち、パス情報付き)を使用しないでください。必ず.EXE名のみを使用してください。名前に.EXE接尾辞を付けない場合、.EXE接尾辞が自動的に追加されます。

Note
注:引数1がSTARTまたはSTART

注:引数1がSTARTまたはSTART_UNIQUE、引数2がLCOADM32またはLCOADM32.EXE (完全修飾パスなし)の場合、LANSA\Connect内でLCOADM32.EXEが検索されます。

1

256

 

 



3

A

任意

要求サービス引数2

引数1の値

      この引数で渡す値:

START  開始するアプリケーションに渡すパラメータ

START  開始するアプリケーションに渡すパラメータ

START_

LANSA  この引数は不要。指定した値はすべて無視される

LANSA  この引数は不要。指定した値はすべて無視される

START_

UNIQUE  開始する必要がある場合にアプリケーションに渡すパラメータ

UNIQUE  開始する必要がある場合にアプリケーションに渡すパラメータ

1

256

 

 

...



戻り値

番号

タイプ

必須/任意

説明

最小長

最大長

最小小数桁数

最大小数桁数

1

A

任意

基本戻りコード

OK = 完了した(正常) 
ER = エラーが発生した

2

2

 

 



2

N

任意

拡張エラー・コード

これは、(使用可能な場合は)エラー処理またはエラー・レポートに役立つオペレーティング・システムのエラー・コードです。

 

 

 

 





3

リスト

任意

以下の値として返されます。

OK =

正常に完了した

正常に完了した 
ER = エラーが発生した

特定の引数1の値に対してのみ以下のように返されます。

特定の引数1の値に対してのみ以下のように返されます。 

START  返されない

START  返されない

START_

LANSA  返されない

LANSA  返されない

START_

UNIQUE  返されない

 

 

 

 

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