4D v19

4D View プラグインフォーミュラの変換

ホーム

 
4D v19
4D View プラグインフォーミュラの変換

4D View プラグインフォーミュラの変換  


 

概要  

4D View ドキュメントの変換 のページにも記載があるように、4D View ブラグインドキュメントの中身とプロパティのほとんどは、4D View Pro ドキュメントへと変換することができます。

フォーミュラもまた変換されます。しかしながら、フォーミュラのランゲージは4D View と4D View Pro で若干異なり、また4D View Pro ではデータベースデータへのアクセスをコントロールするセキュリティ機能がデフォルトで実装されています。結果として、演算子、定数、関数、あるいはメソッドやデータベースフィールドへの参照などに関して多少の修正が必要な場合があります。

変換した結果として3つの場合が考えられます:

  • 4D View の機能(演算子、定数、ファンクション)は4D View Pro のものと完全に同一である: この場合、変換はユーザーからは透過です。
  • 4D View の機能や4D コマンドは4D View Pro でサポートされているが、異なるファンクションや演算子を使用する: この場合、自動マッピングが実行されます。
  • 4D View の機能は4D View Pro では部分的にのみサポートされる、あるいはサポートされていない: この場合、変換されたフォーミュラを想定されるように動くように調整する必要があります。メソッド、変数、フィールドへの参照が関わってくるのはこの場合です。

以下のセクションは、4D View フォーミュラ機能とそれに対応する4D View Pro の機能をまとめたものです。

4D View4D View Pro
数値演算子
加法++
減法--
乗法**
除法//
剰余\MOD
÷TRUNC(a/b)
べき乗^^
パーセント%%
ブール演算子
AND&AND
OR|OR
Not~NOT
文字列演算子
連結+&
削除-SUBSTITUTE、例: "Down Trend"-"Down" は、SUBSTITUTE("Down Trend","Down","")で置き換えられます
位置\FIND (大文字と小文字を区別する)あるいは SEARCH (大文字と小文字を区別しない)
日付演算子
日付+日にち->日付++
日付+時間->日付+時間の日にちのみ++
日付-日にち->日付--
日付-日付->日数--
時間演算子
加法++
減法--
乗法**
除法//
比較演算子
等しい==
異なる#<>
より大きい>>
より小さい<<
以上>=>=
以下<=<=

以下の表では、4D コマンドはイタリックで表示されており、4D View ファンクッションは通常のフォントで表示されています。

4D & 4D View4D View Pro補足
AbsABS
Add to date, AddToDateDATEAddToDate(date;years;months;days) は、DATE(YEAR(date)+years,MONTH(date)+months,DAY(date)+days) で置き換えられます。
date+timeTIMEDATE(date) + TIME(time)
AndAND
ArcCosACOS
ArcSinASIN
Arctan, ArcTanATAN
Area-n/a (プラグインエリアはありません)
AverageAVERAGE
CellINDIRECT
CharChar
Character codeCODE 
ColumnCOLUMNLETTERCOLUMN は数値を返します(文字は返しません)
CosCOS
CountCOUNTA
Current date, CurrentDateTODAY
Current timeRUNTIME_CURRENT_TIME
CurrentTimeNOW
CVCompoundPVCVCompound(1%;5;1000)はPV(1%,5,-1000)で置き換えられます
CVSimplePVCVSimple(1%;5;5*1000)はPV(1%,5,,-1000)で置き換えられます。二つ連続したカンマに注意してください。
Date, DateRUNTIME_DATE
EmptyISBLANK
Eval4D-現在利用不可
ExpEXP
False, FalseFALSE
FindLOOKUP
FindCellFINDCELL
FVCompoundFVFVCompound(1%;35;35*1000)はFV(1%,35,-1000)で置き換えられます
FVSimpleFVFVSimple(12%;35;35*1000)はFV(12%,35,,-35*1000)で置き換えられます。二つの連続したカンマに注意してください。
IfIF
Insert stringREPLACE
IntINT
Length, LengthLEN
Log, LogLN
LowercaseLOWER
MaxMAX
MinMIN
Mod, ModMOD
MonthlyValuePMTMonthlyValue(10.5%/12,48,6500)はPMT(10.5%/12,48,-6500)で置き換えられます。
Month ofMONTH
NotNOT
NumVALUE警告: 小数点
OrOR
PeriodNumber1NPERPeriodNumber1(10.5%/12;166.42;6500)はNPER(10.5%/12,-166.42,6500)で置き換えられます。
PeriodNumber2NPERPeriodNumber2(10.5%/12,5000,3000)はNPER(10.5%/12,,3000,-5000)で置き換えられます。二つの連続したカンマに注意してください。
PiPI
PositionSEARCH最初の二つの引数のみが考慮されます
Random, RandomRANDRandom (0->32767) はRAND (0->1) で置き換えられます。
RangeINDIRECTRange("A1";"A3")はINDIRECT("A1:A3")で置き換えられます。A1とA3の間のコロン記号に注意してください。
Rate1RATERate1(5;1000;3000)はRATE(5,-1000,3000)で置き換えられます。
Rate2RATERate2(5,6000,2800)はRATE(5,,2800,-6000)で置き換えられます。二つの連続したカンマに注意してください。
Replace stringSUBSTITUTE
Round, RoundingROUND
RowROW
Sin, SinSIN
SquareRootSQRT
StdDeviationSTDEV.P
StringRUNTIME_STRING
StringRUNTIME_VIEW_STRING
Substring, SubStringMID
SumSUM
TanTAN
TimeRUNTIME_TIME
True, TrueTRUE
Trunc, TruncTRUNC
Type, TypeTYPE4D View Proで返される型は、4D Viewのものとは異なります。
UppercaseUPPER
VarianceVAR.P
Year ofYEAR

4D コマンドについての注意:

  • 上記のコマンドの一覧に含まれていない4D コマンドについては、次のように変換されてしまいます: UNSUPPORTED_4DCOMMAND(<command name>,param1,...,paramN)
  • 4D View式から呼び出された4D コマンドの式引数は、それに相当するSpreadJS シンタックスへと変換されます。

4D View ドキュメントが変換される際、フォーミュラ内での4D プロジェクトメソッドへの呼び出しは、同じ名前と引数の4D View Pro ユーザーファンクションへの呼び出しに変換されます。4D View Pro 内ではファンクションを呼び出すのにはカッコが必要になるという点に注意してください。また、引数はカンマ(,) で区切られます。

例えば、4D View で以下のように書かれている場合:

=myMethod
=myMethod(1;5)

4D View Pro では以下のように変換されます:

=myMethod()
=myMethod(1,5)

プロジェクトメソッド名は JavaScript Identifier Grammar の規則に則っている必要があります(ECMA Script standard を参照してください)。特にスペース文字は使用できないという点に注意してください。この規則に沿わないメソッド名は全てUNSUPPORTED_4DMETHOD_NAME("<method name>",param1,...paramN) へと変換されてしまいます。

注: フォーミュラ内の4D プロジェクトメソッド名がSpreadJS のファンクションと同じ名前の場合、4D View Pro はファンクションを優先して使用するため、プロジェクトメソッドは呼び出されません。

変換が行われると、プロジェクトメソッドはメソッドにおける4D View Pro セキュリティと利用可能の必須要項に合致している必要があります。

4D View Pro フォーミュラ内でのメソッドの呼び出しの詳細な情報については、プロジェクトメソッド参照のページを参照してください。

4D View ドキュメントが変換される際、フォーミュラ内での4D データベースフィールドへの呼び出しは、"TABLETITLE_FIELDTITLE()" という4D View Pro ユーザーファンクションへの呼び出しに変換されます。

例えば、4D View で以下のように書かれている場合:

=[myTable]MyField

4D View Pro では以下のように変換されます:

=MYTABLE_MYFIELD()

バーチャルストラクチャー
4D View Pro は4D View フォーミュラ内にある、"バーチャルストラクチャー"(SET TABLE TITLES あるいは SET FIELD TITLES コマンドの呼び出しで定義されたストラクチャー)、またはデータベースストラクチャー(バーチャルストラクチャーが定義されていない場合)からのフィールド名を変換します。
しかしながら、セキュリティ上の理由から、4D View Pro はバーチャルストラクチャーとして宣言されたフィールドのみを対象とします(フィールドへの参照必須要項を参照してください)。これはつまり4D View Pro でフィールド参照を使用したい場合、データベースにおいてSET TABLE TITLES あるいはSET FIELD TITLES コマンドを呼び出す必要があるということを意味します。4D View Pro ドキュメントでフィールドやテーブルを選択してファンクションに埋め込むことができるようい、ドキュメントを変換する前にバーチャルストラクチャーを宣言しておくことが推奨されます。

注: バーチャルストラクチャー内で宣言されていない、変換されたストラクチャーフィールドは、変換されたドキュメントが開かれると?NAME というエラーを生成します。

変換の必須要項

  • 変換の途中、元のストラクチャーは利用可能である必要があります。そうでない場合、フィールドとテーブルはその数字のみ(例えばTable_6_Field_5 など)に変換され、追加で処理をする必要があります。
  • テーブル名とフィールド名は、 JavaScript Identifier Grammar の規則に則っている必要があります(ECMA Script standard を参照してください)。そうでない場合、テーブル名またはフィールド名は以下のフォーマットの文字列へと変換されてしまいます: "UNSUPPORTED_TABLE_FIELD_TITLE(<virtual structure name>)"

注: フォミューラ内のフィールド名が許可された4D プロジェクトメソッドと同じ名前の場合、4D View Pro はフィールドへの参照を優先して使用するため、プロジェクトメソッドは呼び出されません。

4D View Pro フォーミュラ内でのフィールド参照についてのより詳細な情報については、フィールドへの参照のページを参照してください。



参照 

4D View ドキュメントの変換

 
プロパティ 

プロダクト: 4D
テーマ: 4D View Pro フォーミュラ

 
ページの目次 
 
履歴 

 
ARTICLE USAGE

4D View Pro リファレンス ( 4D v19)