4D v16.3Get locked records info |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v16.3
Get locked records info
|
Get locked records info ( aTable ) -> 戻り値 | ||||||||
引数 | 型 | 説明 | ||||||
aTable | テーブル |
![]() |
ロックされたレコードの情報を取得したいテーブル | |||||
戻り値 | Object |
![]() |
ロックされたレコードの詳細(あれば) | |||||
Get locked records info コマンドは、aTable で指定したテーブル内で現在ロックされているレコードについての様々な情報を含んだobject を返します。
返されたオブジェクトは、オブジェクトの配列である"records"プロパティを格納しています:
{
"records": [
description object,
(…)
]
}
それぞれの"description object" 配列の要素は、指定されたテーブル内でのロックされたレコードを検知し、以下のプロパティに情報を格納します:
プロパティ | 型 | 詳細 |
contextID | UUID (文字列) | ロックをしているデータベースコンテキストのUUID |
contextAttributes | オブジェクト | LOCKED BY コマンドをレコードに適用したときと似たような情報を含むオブジェクト。違いは、Get locked records info が返すのはシステムで定義されたユーザー名であり、4Dユーザーのユーザー名ではないという点と、追加の情報を返すという点です(以下の説明参照)。 |
recordNumber | 倍長整数 | ロックされたレコードのレコード番号 |
プロパティ名 | 型 | 詳細 |
task_id | 数字 | プロセス参照番号 |
user_name | 文字列 | OSによって定義されたユーザー名 |
user4d_id | 数字 | 4D ユーザー番号(*) |
host_name | 文字列 | ホストマシンの名前 |
task_name | 文字列 | プロセス名 |
client_version | 数字 | クライアントアプリケーションのバージョン |
以下のプロパティはレコードがリモートの4D側によってロックされているときに4D Server側でコマンドが実行された場合に限り表示されます: | ||
is_remote_context | ブール | リモートの4Dによってロックされているかどうかを表します(それ以外の場合には表示されないので常にtrueとなります) |
client_uid | UUID (文字列) | ロックしている4DリモートのUUID |
(*) 以下のコードを使用することによって、user4d_id の4Dユーザー名を取得することができます:
GET USER LIST($arrNames;$arrIDs)
$User4DName:=Find in array($arrIDs;user4d_id)
注: このコマンドは 4D と 4D Server に対してのみ有効です。4D リモートまたはコンポーネントから呼び出された場合には無効なオブジェクトを返します。ただし、 "Execute on server" オプションが有効化されている場合には呼び出し可能です。この場合返されるオブジェクトには、4Dリモートからの呼び出しの場合にはサーバーの、コンポー ネントからの呼び出しの場合にはホストデータベースの情報が含まれます。
以下のコードを実行します:
$vOlocked :=Get locked records info([Table])
[Table]のテーブル内にて二つのレコードがロックされていた場合には、以下の様なオブジェクトが$vOlockedに返されます:
{
"records": [
{
"contextID": "A9BB84C0E57349E089FA44E04C0F2F25",
"contextAttributes": {
"task_id": 8,
"user_name": "roland",
"user4d_id": 1,
"host_name": "iMac de roland",
"task_name": "P_RandomLock",
"client_version": -1342106592
},
"recordNumber": 1
},
{
"contextID": "8916338D1B8A4D86B857D92F593CCAC3",
"contextAttributes": {
"task_id": 9,
"user_name": "roland",
"user4d_id": 1,
"host_name": "iMac de roland",
"task_name": "P_RandomLock",
"client_version": -1342106592
},
"recordNumber": 2
}
]
}
コードが4D Server上で実行され、リモートのクライアントマシンによってロックされている場合、以下の様なオブジェクトが$vOlocked 内に返されます:
{
"records": [
{
"contextID": "B0EC087DC2FA704496C0EA15DC011D1C",
"contextAttributes": {
"task_id": 2,
"user_name": "achim",
"user4d_id": 1,
"host_name": "achim-pcwin",
"task_name": "P_RandomLock",
"is_remote_context": true,
"client_uid": "0696E66F6CD731468E6XXX581A87554A",
"client_version": -268364752
},
"recordNumber": 1
}
]
}
プロダクト: 4D
テーマ: レコードロック
番号:
1316
初出: 4D v14 R3
ランゲージリファレンス ( 4D v16)
ランゲージリファレンス ( 4D v16.1)
ランゲージリファレンス ( 4D v16.2)
ランゲージリファレンス ( 4D v16.3)