#ObjectScript

0 フォロワー · 163 投稿

InterSystems ObjectScriptは、InterSystemsデータプラットフォームの任意のデータモデル(オブジェクト、リレーショナル、Key-Value、ドキュメント、グローバル)を使用してデータを操作し、InterSystemsデータプラットフォーム上のサーバーサイドアプリケーションのビジネスロジックを開発するためのスクリプト言語です。 ドキュメント

記事 Tomoko Furuzono · 3月 31, 2025 2m read

これは、InterSystems FAQ サイトの記事です。
 

小数点桁数を指定しない単純な整数への切り上げ・切り捨ては、それぞれ、以下の関数で実行できます。

(SQL関数)

切り上げ:CEILING
切り捨て:FLOOR

(ObjectScript関数)

切り上げ: $system.SQL.Functions.CEILING()
切り捨て: $system.SQL.Functions.FLOOR()

USER>write $system.SQL.Functions.CEILING(168.5)
169
USER>write $system.SQL.Functions.FLOOR(168.5)
168

※バージョン2021.1以前は以下のメソッドを使用します。

 切り上げ: $system.SQL.CEILING()
 切り捨て: $system.SQL.FLOOR()


小数桁数を指定して切り上げ・切り捨てを行いたい場合は、2つの関数を組み合わせ、以下のようなメソッドを作成して対応します。

0
0 111
記事 Megumi Kakechi · 3月 25, 2025 6m read

以前公開している こちら の記事では、「OAuth 2.0 を利用して IRIS から Gmail を送信する」方法をご紹介しています。

本記事では、 %Net.POP3 クラスを使用してメールを受信するサンプルをご紹介します。


【事前準備(Gmailの場合)】

外部アプリからGmailを受信するには OAuth 2.0が必要となるため、こちらの手順 に従ってAccessToken を取得しておきます。
また、「2.【準備】IRIS で、SSLクライアントの設定をする : 手順(4)」の手順に従って、GMAILSSL(任意の名前)の構成を作成しておきます。


【サンプルの内容】

以下のサンプルでは、

1.Gmailの受信サーバ(servername = pop.gmail.com)に、ユーザ名(user = xxx@gmail.com)、パスワード(pass = パスワード)、AccessTokenを使用して接続し、

Set status=server.Connect(servername,user,pass,accesstoken)

2.メールボックスの情報を取得し、

Do..ShowMailbox(server)

3.Fetch() メソッドを使用して、添付ファイルを含むメールの内容の取得し、
  (添付は server.AttachDir で指定したディレクトリに保存)

0
0 61
記事 Hiroshi Sato · 3月 4, 2025 2m read

これは InterSystems FAQ サイトの記事です。
 

ObjectScriptの%Netパッケージのライブラリクラスを利用して、ファイルを他のサーバーにアップロードすることができます。

以下のCurl コマンドと同じことを ObjectScript で実現する方法を紹介します。

curl -X POST "http://localhost/api/upload/csv?a=123&b=999" -F file=@"C:/temp/a.csv":/temp/a.csv"

クライアントのObjectScriptコードを以下の様に作成します。

0
0 126
記事 Hiroshi Sato · 3月 3, 2025 1m read

これは InterSystems FAQ サイトの記事です。
 

IRISには、データ項目の値を実体として持たずに、何らかの演算処理の結果として提供する機能があります。

これを計算プロパティまたは計算フィールドといいます。

計算プロパティを定義するためには、最低限以下の手順を実行します。

プロパティ定義にSqlComputedキーワードを含めます。

プロパティ定義にSqlComputedCodeを含めて、値を算出するための処理ロジックとして含めます。

または、SqlComputedCodeを含めずに、代わりに<プロパティ名>Computationという名前のクラスメソッドを記述します。

以下は、Age(年齢)プロパティを計算プロパティとして定義した例になります。

0
0 59
記事 Mihoko Iijima · 10月 10, 2023 15m read

開発者の皆さん、こんにちは。

この記事では、複雑なJSON形式の文書を「JSONテンプレートエンジン」を利用して生成させる方法をご紹介します。

「JSONテンプレートエンジン」については、6月のウェビナーで使用例をご紹介しましたが、JSON生成対象として医療情報交換標準規格であるFHIRリソースのJSON(例:Patientリソース)を例に解説しています。

このエンジンは、JSON形式の文書であればどのような種類のデータでもご利用いただけますので、一般的なJSON形式の文書を利用して使い方をご紹介します。

例に使用するJSONはこちら👉 https://api.openbd.jp/v1/get?isbn=978-4-7808-0204-7&pretty

このサンプルから以下の部分を抜き出して、ObjectScriptでJSON形式の文書を組み立てていく方法をご紹介します。

7
0 1501
InterSystems公式 Seisuke Nakahashi · 2月 11, 2025

開発者コミュニティのみなさま、2025年もよろしくお願いします!今年も素晴らしい製品やニュースをみなさまにお届けいたします。本日は VS Code の InterSystems Language Server 拡張機能の最新バージョンをご紹介します。Language Server 拡張機能の多くは、ObjectScript 拡張機能を通じてご提供することが多いです。そのため、コード補完機能やホバー機能といった、2024年に追加された Language Server 拡張機能の新機能には、なかなか気づきにくいかもしれません。ぜひ Language Server 変更履歴 で、見逃していたかもしれない新機能がないかご確認ください。最新バージョン2.7.0では、Windows ARMプラットフォームがサポートされたので、Surface Pro 11 (私はこの記事をウキウキしながら書いています) のようなデバイスをお持ちの方は、お使いのマシンで素晴らしい ObjectScript 開発を体験いただけます。Language Server 拡張機能をお試しいただき、何かありましたらぜひコメントをお寄せくださいませ。お待ちしております。

0
0 104
記事 Hiroshi Sato · 1月 17, 2025 1m read

これは InterSystems FAQ サイトの記事です。

SQLでのストリームフィールドの取得についてはこちらのドキュメントに記載されております。

ストリーム・フィールド・データのクエリ


例: キャラクターストリームデータの50文字取得する

select substring(field1,1,50) from sample.streamtable

%SQL.Statement を使用したクエリでそのストリームオブジェクトのOREF値を取得して、ストリームデータにアクセスすることもできます。

 set stmt=##class(%SQL.Statement).%New()
 set status = stmt.%Prepare("select field1 from sample.streamtable")
 set rs=stmt.%Execute()
 write rs.%Next()
 set clob=rs.%GetData(1)
 write clob.Read(50)

埋め込みSQLを使用する場合は、そのストリームオブジェクトのOREFではなくストリームIDが返ってくるので、以下のようにストリームをオープンする処理を追加する必要があります。
 

0
0 103
記事 Hiroshi Sato · 1月 17, 2025 1m read

これは InterSystems FAQ サイトの記事です。

Question:

使用中のプログラムをコンパイルして保存すると、現在そのプログラムを実行中のプロセスに影響しますか?

Answer:

実行中のルーチンはその旧バージョンをメモリー上に保持しているため、コンパイルして新しいルーチンが保存されても影響なく実行を継続できます。

クラスのメソッドについても同様です。 再度そのルーチンが呼び出された時点でコンパイルされた新しいルーチンが使用されるようになります。

0
0 42
InterSystems公式 Ayumu Tanaka · 1月 15, 2025

インターシステムズは、特定の $List シンタックスを使用することで不正なデータベースとジャーナルレコードが作成される問題を修正しました。この問題が発生する可能性は非常に低いものですが、発生した場合の影響は非常に大きなものとなります。

この問題は、以下の製品およびそれらベースとしたその他のインターシステムズ製品に存在します:

  • InterSystems IRIS® : 2023.3, 2024.1.0, 2024.1.1, 2024.1.2, 2024.2, 2024.3
  • InterSystems IRIS® for Health: 2023.3, 2024.1.0, 2024.1.1, 2024.1.2, 2024.2, 2024.3
  • HealthShare® Health Connect: 2023.3.0, 2024.1, 2024.1.1, 2024.1.2, 2024.2, 2024.3
  • HealthShare® Unified Care Record と関連製品: 2024.2

この問題はUnicode版の製品でのみ発生します。

以下のシンタックスでグローバル上のリスト形式データに新しい要素を追加する際に問題が発生します。

SET $LIST(<グローバル>, *+1) = 値

0
0 101
記事 Mihoko Iijima · 1月 6, 2025 2m read

これは InterSystems FAQ サイトの記事です。

POST要求で受信したBodyのJSON文字列を、REST ディスパッチクラス内メソッドでダイナミックオブジェクト(%DyamicObject)に変換する際、以下エラーが発生する場合があります。

{
    "errors": [
        {
            "code": 5035,
            "domain": "%ObjectErrors",
            "error": "エラー #5035: 一般例外 名前 'Premature end of data' コード '12' データ ''",
            "id": "GeneralException",
            "params": [
                "Premature end of data",
                12,
                ""
            ]
        }
    ],
    "summary": "エラー #5035: 一般例外 名前 &#39;Premature end of data&#39; コード &#39;12&#39; データ &#39;&#39;"
}
0
0 148
記事 Mihoko Iijima · 12月 18, 2024 2m read

開発者の皆さん、こんにちは。

試していたWebAPIでは、POST要求時クエリパラメータとボディの両方を送る必要がありましたので、HTTPアウトバウンドアダプタが提供するメソッド:Post()/PostFormDataArray()/PostURL() 辺りをドキュメントで確認していたのですが、残念ながら両方を渡せるように作成された丁度良いメソッドがありませんでした。

ドキュメント:HTTPアウトバウンドアダプタが提供するメソッド

では、どのように送ったかというと、SendFormDataArray()の第3引数を利用して両方の情報を送付してみました。

具体的には、SendFormDataArray()の第2引数にはHTTPメソッド(GET、POST、PUT、DELETEなど)第3引数に%Net.HttpRequestのインスタンスが渡せる仕様になっていましたので、クエリパラメータとボディを%Net.HttpRequestのインスタンスに設定し、第3引数に指定して実行する方法をとりました。

set status=..Adapter.SendFormDataArray(.pHttpResponse,"POST",httprequest)
  if$$$ISERR(status) {
    return status
  }

変数httprequestの中身は以下のように作成しています

0
0 107
質問 m.fuku · 11月 21, 2024

IRISを起動しようとするとエラーとなり起動できません。
どなたか解決策をご存知でしょうか?よろしくお願い致します。

環境:Windows11

事前作業:

下記URLと同症状が発生し、アップグレードインストールを行っています。

https://jp.community.intersystems.com/post/iris%E3%82%B3%E3%83%9F%E3%83…

操作:

1.タスクトレイアイコンから「InterSystems IRIS 開始(S)[IRIS]」を選択。

2.エラーメッセージが表示される。

イベントビューアのエラー:

6
0 288
お知らせ Toshihiko Minamoto · 11月 20, 2024

ほとんどの方が @Daniel TamajonCachéQuality プロジェクトをご存知かと思います。 まだご存知でない方のために説明すると、InterSystems 製品用に記述されたコードの静的構文アナライザーです。 コード内の様々な種類の問題や潜在的なバグがお客様のプロダクション環境で見つかる前に、それらを検出して解決するのに役立てられます。 つまり、CachéQuality を使用することで、より優れた製品を提供できるようになります。 ObjectScript コードのチェックに使用されるルールの完全なリストは、こちらをご覧ください。

これは Studio ですでに提供されているものですが、 VSCode でも使用できるようになりました。

0
0 119
記事 So Ochi · 10月 13, 2024 10m read

はじめに

生成AIを活用したアプリケーション開発は、Python、JavaScriptなどのメジャー言語による体験記事がよく見られます。一方、IRISのObjectScriptの開発に言及された記事は比較的少ないのが現状です。そこで、本記事では生成AIがObjectScriptの開発にどこまで活用できるのかを検証しました。

特にDevOpsのプロセスにおいて、生成AIは様々なシーンでの活用が期待できます。今回は開発工程に注目し、以下の観点から生成AIの有効性を調査しました。

  • 開発
    • コードの自動生成
    • 環境構築のアシスタント(テーブルの作成)
  • 検証
    • テストデータ生成のサポート

環境

本記事の検証は以下の環境で行いました。

開発環境

  • OS: macOS Sonoma
  • IRIS: 2023.4 (linux)

開発ツール IRISの開発にはStudioやVSCodeなどが利用可能ですが、今回は生成AIの活用に特化したエディタ「Cursor」を使用しました。

Cursorを選定した理由 Cursorは、生成AIによる支援機能に特化したコードエディタで、以下の特徴があります:

0
0 297
お知らせ Toshihiko Minamoto · 9月 12, 2024

Git を使用してIRIS でソリューションを構築することは、素晴らしいことです! 単にローカルの git リポジトリにVSCodeを使用し、サーバーに変更をプッシュする... それは非常に簡単です。

でも、次の場合はどうでしょうか。

  • 共有リモート開発環境で他の開発者と共同作業を行い、同じファイルの同時編集を回避したい場合
  • BPL、DTL、ピボット、ダッシュボードなどにおいて管理ポータルに基づくエディターを使用しており、 作業に簡潔なソース管理を使用したい場合
  • 一部の作業においては引き続き Studio を使用しているかたまに VSCode から Studio に戻っているか、チームがまだ VSCode を完全に採用しておらず、一部のチームメンバーが Studio の使用を希望している場合
  • 同じネームスペースで同時に多数の独立したプロジェクト(InterSystems Package Manager を使って定義された複数のパッケージなど)に取り組んでおり、(多数の個別のプロジェクトではなく)1 つの isfs 編集ビューからすべてのプロジェクトの作業を行い、適切な git リポジトリで変更を自動的に追跡する場合
0
0 244
記事 Megumi Kakechi · 8月 15, 2024 2m read

通常、Caché でエクスポートしたクラスやルーチンをIRISにインポートすることは可能ですが、IRISよりエクスポートしたクラスやルーチンを Caché にインポートすることはできません。

Caché にインポートしようとすると、以下のようなエラーになります。

USER>do$system.OBJ.Load("C:\temp\test.xml")
 
ロード開始 07/23/202416:50:42
ファイル C:\temp\test.xml を xml としてロード中
ERROR #6301 行: 2 オフセット: 117 これはCacheエクスポートファイルではありません。インポートできません。
読込時に 1 個のエラーを検出しました。
 


どうしても、古いバージョンにインポートする必要がある場合、「/exportversion」というエクスポート修飾子を使用することが可能です。

使用方法は以下のようになります。/exportversion には、エクスポートしたルーチンをインポートしたい環境のCacheバージョンを指定します。

USER>write$SYSTEM.OBJ.Export("test.mac","c:\temp\test2.xml","/exportversion=cache2018.1")
2
0 200
記事 Tomoko Furuzono · 8月 4, 2024 1m read

これは、InterSystems FAQサイトの記事です。

既定では、InterSystems製品で表すことのできる日時の最小値は、1840年12月31日 0時0分0秒 です。

USER>write$ZDATETIME("0,0")
12/31/184000:00:00

 ですが、アプリ内での用途や、他DBからの登録などで、それよりも前の日付時刻を登録する必要がある場合があります。
その場合には、日付日時のプロパティに、MINVAL(最小値)を設定することでサポートできます。
下記は、%DateTime型、%TeimaStamp型のプロパティに、最小値:西暦1年1月1日0時0分0秒と設定したものです。

Property TestDateTime As %DateTime(MINVAL = "0001-01-01 00:00:00");Property TestTimeStamp As %TimeStamp(MINVAL = "0001-01-01 00:00:00");

※2023.3および2024.1以降のバージョンでは、%DateTime型のMINVALの設定は必要なく、1840年12月31日 0時0分0秒より前の日時でも問題なく登録できます。%TimeStamp型の場合は、引き続き設定が必要です。

0
0 79
お知らせ Akio Hashimoto · 7月 28, 2023

こんにちは。
VSCodeでObjectScriptにコメントを挿入する拡張機能を作成してみましたので、共有させて頂きたいと思います。


使い方はとても簡単で、コンテキストメニューから「コメントの追加」を選択するだけです。
カーソル位置に合ったコメントが挿入されます。
挿入するコメントの定型文は設定で自由に指定できます。

クラスの説明文を挿入する

 

パラメーターやプロパティの説明文を挿入する

 

メソッドの説明文を挿入する

 

4
0 122
記事 Mihoko Iijima · 7月 16, 2024 9m read

これは InterSystems FAQ サイトの記事です。

管理ポータル > [システム管理] > [セキュリティ] 以下の設定は、%SYSネームスペースにあるSecurityパッケージ以下クラスが提供するメソッドを利用することでプログラムから作成することができます。

以下シナリオに合わせたセキュリティ設定例をご紹介します。

シナリオ:RESTアプリケーション用設定を作成する

事前準備

シナリオの中で使用するソースを2種類インポートします。

アプリケーション用RESTディスパッチクラスをインポートします。

0
0 159
記事 Mihoko Iijima · 7月 11, 2024 4m read

これは InterSystems FAQ サイトの記事です。

管理ポータル > [システム管理] > [セキュリティ] 以下の設定は、%SYSネームスペースにあるSecurityパッケージ以下クラスが提供するメソッドを利用することでプログラムから作成することができます。

ユーザ設定については、Security.UsersクラスCreate()メソッドを使えば作成できますが、ユーザを作成するだけでは適切な権限が付与されずに目的のデータにアクセスできない状況もあります。

例)testAユーザ作成

%SYS>set st=##class(Security.Users).Create("testA",,"testA","これはテストユーザです","USER")

%SYS>write st
1

上記メソッドで作成した結果は以下の通りです。(ロール付与無し、テーブルに対する権限の割り当てもなしの状態)

 

以降の解説では、以下のシナリオをもとにした設定を行っていきます。

シナリオ:アプリケーション開発者用ロールとユーザを作成する

1) アプリケーション開発者のtestAは、USERネームスペースにログインするアプリケーション開発者です(=%DevelopmentリソースのUse許可を与えます)。

0
0 115
記事 Mihoko Iijima · 7月 7, 2024 4m read

これは InterSystems FAQ サイトの記事です。

監査ログはシステムDB内テーブル(%SYS.Audit)に記録されていますので、そのテーブルに対するクエリを実行して抽出したり、%SYS.Auditテーブルに用意されていストアドプロシージャを利用して情報を取得しファイル出力するようにプログラムを用意することもできます。

以下にご紹介する内容は「監査ログをプログラムで出力(ユーザやイベント指定など)する方法」に関連した内容で、監査ログのファイル出力を管理ポータルの機能を利用した例とプログラムを利用した例でご紹介します。

 

1. 管理ポータルの印刷機能を使う

管理ポータル > [システムエクスプローラ] > [SQL]を開き、%SYSネームスペースに接続します。

システムのチェックを入れ、スキーマに%SYSを指定した後、プロシージャの階層を展開するとプロシージャリストが参照できます。

%SYS.Audit_ で始まるプロシージャが監査ログに対して実行できるプロシージャです。

SQL文例)InterSystems製品内ユーザのSuperUserに対する監査ログをストアドプロシージャ:%SYS,Audit_ListByUser を利用して出力しています。

call %SYS.Audit_ListByUser(,,,,,'SuperUser')
0
0 156
記事 Mihoko Iijima · 7月 4, 2024 9m read

これは InterSystems FAQ サイトの記事です。

PythonスクリプトファイルやPythonで記述されたIRIS内メソッドを呼び出す際、エラーが発生した場合の対応方法をご紹介します。

説明使用するコードや資料PDFは公開しています👉 test1.pyFS.Utilsクラスコードのコピー元ビデオで解説している資料PDF

Embedded Python 自習用ビデオをご用意しています(項目別にYouTubeプレイリストをご用意しています)。

各プレイリストについて詳しくはこちらをご参照ください👉【はじめてのInterSystems IRIS】Embedded Python セルフラーニングビデオシリーズ公開!

0
0 441
記事 Mihoko Iijima · 7月 4, 2024 2m read

これは InterSystems FAQ サイトの記事です。

InterSystems製品のサーバサイドでファイル入出力を行うと、文字列はシステムで設定されたファイル入出力用文字コードに自動変換され、文字単位でREADします。

ファイルから入力する文字をバイト単位で操作するためには、自動変換を行わない無変換の状態でファイル入力を行い指定バイトずつ読みながら読んだ分だけUnicodeに手動で変換していく必要があります。

変換には$ZCONVERT()関数を使用します。($ZCONVERT()には省略形があり$ZCVT()でも同様の操作が行えます。)

なお、READした指定バイトを変換する際、文字の全バイトが含まれない場合もあるため、途中までの読み取りになった文字列を第4引数に指定する変数に設定できるようになっています。
次回読み取り時に途中だった文字を自動的に先頭に追加し、$ZCONVERT()の処理を実行します。

《メモ》ファイル入出力の文字コードについては、以下管理ポータルの画面で確認できます。
管理ポータル > 構成 > 国際言語設定 > 構成したデフォルト値
 入力/出力テーブルの表の「ファイル」

以下の文章がファイルにUTF8で保存されているとします。

2024/4/19:強風でしたが良い天気でした
0
0 152
記事 Mihoko Iijima · 3月 11, 2024 2m read

これは InterSystems FAQ サイトの記事です。

現時点(2024年3月)では、コミュニティに掲載されているPythonライブラリ「iris-dollar-list」を利用することでIRISの$LIST()形式のデータをPythonのリストとして利用することができます。

※標準ツールではありませんがご利用いただけます。詳細はコミュニティの記事「もう1つの $ListBuild() の実装:Pythonライブラリ「iris-dollar-list」」をご参照ください。

WindowsにインストールしたIRISで使用する場合は、以下の方法で「iris-dollar-list」をインストールしてください。

※Windows以外にインストールしたIRISでは、pipコマンドを利用した通常の方法でインストールできます。

コマンドプロンプトを開き、以下実行します。(IRISをデフォルトインストールしたときのディレクトリで掲載しています)

>cd C:\InterSystems\IRIS\bin> irispip install --target C:\InterSystems\IRIS\mgr\python iris-dollar-list

実行例は以下の通りです。

1
1 196
記事 Toshihiko Minamoto · 5月 14, 2024 8m read

「30 秒も経ってるのにサービスを受けられないなんて、 あり得ない! もう結構!」

「大変申し訳ございません。 次回からはご予約なさってはいかがでしょうか。」

お気に入りのレストランでこんなコメントを聞いたら、そんな発言はばかばかしいと思うのではないでしょうか。 でも、API のコンテキストでは、まったく合理的な意見です。 お気に入りのレストランと同じように、API にも常連客がいます。よく訪問するユーザーのことです。 同じように繰り返し予約が可能であればよいと思いませんか?

これには、IRIS の基本機能がいくつか関わってきます。 まず、%SYSTEM.License インターフェースを理解する必要があります。 これは、IRIS インスタンスのライセンス使用状況に関する情報を取得するために提供されているインターフェースです。 次に、%CSP.SessionEvents クラスについて学ぶ必要があります。 このクラスを使うと、CSP セッションのライフサイクル全体で呼び出される様々なメソッドをオーバーライドできます。

0
1 113
記事 Toshihiko Minamoto · 4月 18, 2024 13m read

我々には、Redditユーザーが書いた、おいしいレシピデータセット がありますが, 情報のほとんどは投稿されたタイトルや説明といったフリーテキストです。埋め込みPythonLangchainフレームワークにあるOpenAIの大規模言語モデルの機能を使い、このデータセットを簡単にロードし、特徴を抽出、分析する方法を紹介しましょう。

データセットのロード

まず最初に、データセットをロードするかデータセットに接続する必要があります。

これを実現するにはさまざまな方法があります。たとえばCSVレコードマッパーを相互運用性プロダクションで使用したり csvgenのようなすばらしい OpenExchange アプリケーションを使用することもできます。

今回、外部テーブルを使用します。これは物理的に別の場所に保存されているデータをIRIS SQLで統合する非常に便利な機能です。

まずは外部サーバ(Foreign Server)を作成します。

CREATE FOREIGN SERVER dataset FOREIGN DATA WRAPPER CSV HOST '/app/data/'

その上でCSVファイルに接続する外部テーブルを作成します。

0
0 492
記事 Toshihiko Minamoto · 4月 1, 2024 5m read

大規模言語モデル(OpenAI の GPT-4 など)の発明と一般化によって、最近までは手動での処理が非現実的または不可能ですらあった大量の非構造化データを使用できる革新的なソリューションの波が押し寄せています。 データ検索(検索拡張生成に関する優れた紹介については、Don Woodlock の ML301 コースをご覧ください)、センチメント分析、完全自律型の AI エージェントなど、様々なアプリケーションが存在します。

この記事では、IRIS テーブルに挿入するレコードに自動的にキーワードを割り当てる単純なデータタグ付けアプリケーションの構築を通じて、IRIS の Embedded Python 機能を使って、Python OpenAI ライブラリに直接インターフェース接続する方法をご紹介します。 これらのキーワードをデータの検索と分類だけでなく、データ分析の目的に使用できるる単純なデータタグ付けアプリケーションを構築します。ユースケースの例として、製品の顧客レビューを使用します。

要件

  • IRIS の実行インスタンス
  • OpenAPI API キー(こちらで作成できます)
  • 構成済みの開発環境(この記事では VS Code を使用します)

Review クラス

0
0 194
記事 Toshihiko Minamoto · 3月 28, 2024 12m read

ローコードへの挑戦

こんな状況を思い浮かべてください。「ウィジェットダイレクト」というウィジェットとウィジェットアクセサリーを販売する一流のネットショップで楽しく勤務しています。先日、上司から一部の顧客がウィジェット商品にあまり満足していないという残念な話を聞き、苦情を追跡するヘルプデスクアプリケーションが必要となりました。さらに面白いことに、上司はコードのフットプリントを最小限に抑えることを希望しており、InterSystems IRIS を使って 150 行未満のコードでアプリケーションを提供するという課題をあなたに与えました。これは実際に可能なのでしょうか?

免責事項: この記事は、非常に基本的なアプリケーションの構築を記すものであり、簡潔さを維持するために、セキュリティやエラー処理などの重要な部分は省略されています。このアプリケーションは参考としてのみ使用し、本番アプリケーションには使用しないようにしてください。この記事ではデータプラットフォームとして IRIS 2023.1 を使用していますが、それ以前のバージョンでは記載されているすべての機能が提供されているとは限りません。

ステップ 1 - データモデルの定義

1
0 151
記事 Mihoko Iijima · 12月 7, 2022 2m read

開発者の皆さん、こんにちは!

InterSystems全製品のサーバ側コードで利用できる「ObjectScript」の基本の使い方から、困ったときのヒント集、エラーの読み方など、日本語ドキュメントの逆引きになるようなページを目指して、「ObjectScriptクックブック」を作成しました!

ObjectScriptの基本の「き」

Hello Worldの出力から始めたい方に最適です。

2024/3/25更新:8. デバッグ方法 を追加しました。ぜひご参照ください。

CookBook(こんなときどうする?集)

ObjectScriptの記述に困ったときに読んでいただけるヒント集です。コミュニティに寄せられたご質問をどんどん掲載していきます。

ObjectScriptでエラーが発生したら

ObjectScriptのプログラムでエラーが発生したときのエラーメッセージの読み方から、エラー情報の取得方法などを解説しています。

1
0 441