2009-07-09 3 views
5

私はこのコードに遭遇しました...これはPl/Sqlですか?それは何だと思いますか?このコードはPl/Sqlで書かれていますか?そうでない場合は、どの言語ですか?

[Script 1.0] 

    script package up is 
    import native def_1; 

    procedure p(

    i_g text 
    ) 
    is 

    l_txt text; 
    begin 



     with mem_m(idx) as msg do 
     with book_aud(evt_id) as book do 
      book.upd_pkt(
      evt_nr => i__nr 
      ,ref_nr => msg.h.id 
      ,account_nr => msg.h.id 
      ,status => '1' 
     ); 
     end with; 
     end with; 

    end p; 

私はインポートに驚いています。

これは、完全なコードではありません。それはそれの縮小バージョンです。これは、PL/SQLの延長のように見える

c_max constant number := 95; 
    c_VE_BA constant text := 'A07000'; 
    -- comment 

    if i_mt is null then 
    return rpad('/',16); 
    else 
    if i_id = zconst_.c_JPY then 
    l_fmt := '9999999999999999'; 
    else 
    l_fmt := '9999999999999D99'; 
    end if; 
    end if; 

case i_typ_id 
when def_typ.contr then 
l_zuonr := zfx2.c_avqt; 
when def_typ.fx then 
l_zuonr := zfx2.c_avqd; 
when def_typ.fxswap then 
l_zuonr := zfx2.c_avqd; 
when def_typ.forex then 
l_zuonr := zfx2.c_avqd; 
when def_typ.xfer then 
l_zuonr := zfx2.c_avqd; 
when def_typ.intr then 
l_zuonr := zfx2.c_avqt; 
else 
assert(false,'Meta Typ'); 
end case; 

: またようなお馴染みの要素を含んでいました。 回答と自分の研究に基づいて、私はそれがAvaloq + PL/Sqlだと思います。 私はAvaloqに連絡しました、私はまだ正式な答えを待っています。

+0

ソースにリンクできますか? – FerranB

+0

これはPL/SQLのようには見えません。ここで私が見ているPL/SQLの共通点は、 "begin"です。 – Powerlord

+0

リンクできません。私は適切と思ったものを抽出した。 – Aftershock

答えて

0

私は「with...end with」構文を持ってぶっきらぼう考えることができる唯一の言語は、Visual Basicです。これはVBのスクリプト形式ですか?

+0

割り当てられていない場合:Visual Basicの場合 – Aftershock

11

(ahem)スイスの銀行が使用しているスクリプトはAvaloqのように見えますが、オンラインではごくわずかですが、サンプルの条件に完全に一致するgrammarが見つかりました。

Avaloqスクリプト、Avaloqバンキング システムのスクリプト言語は、 は、特定のビジネス・ロジックを入力することが容易。 のデータ構造は、 がAvaloqスクリプトを介してアクセスされ、 の記憶構造を知る必要がないように、 のDDIC(Data Dictionary)で定義された です。

1

確かにPL/SQLではありません。

私は、これは直接あなたの質問に答えていないが、私はあなたがリストhereかかわらず行くことを示唆しているかもしれません知っています。それはかもしれないここに記載される。異なるプログラミング言語のプログラムのいくつかの例があります。誰かがそれを認識するために起こると、「指紋」言語を証明するためにを見つけない限り、それはあなたが投稿できるより多くの例を持っています... 100%識別言語には難しいかもしれ

http://www.ntecs.de/old-hp/uu9r/lang/html/lang.en.html

私は関数型言語ではないと思います。これを知ることは、検索の絞り込みに役立ちます。

+0

Avaloqスクリプトがそのリストにない場合:) – crb

+0

リストを作成しませんでした。言語を特定する方法を提案するだけです。 –

6

はい、それはavaloqスクリプトです。 pl/sqlプリコンパイラのいくつかの種類の場合、実際のpl/sqlコードが存在するs#upというパッケージを見つけることができるはずです。

5

それは間違いなくAvaloqスクリプトです。コードスニペットは、AvaloqコンパイラがPL/SQLにコンパイルするスクリプトパッケージです。 Avaloqスクリプトのポイントは、データベースへの直接アクセスを禁止し、Avaloq製品のカスタマイザにAvaloq APIを使用させることです。 APIは、Avaloqスクリプト言語であり、ロードするルールテーブルの設定や、フォーム、レポート、ワークフローなどを定義するための特別な構文など、Avaloqスクリプトのスニペットを他の種類のソース内で可能にすることができます。

Avaloqスクリプトには多くのPL/SQL要素がありますが、いくつかのVB言語の概念もあります。コード内には、コードの意味を理解するためのコメントがいくつかあります。

[Script 1.0]      -- Have not seen other than 1.0 version 

script package up is    -- The PL/SQL package name is going to be s#up 
import native def_1;    -- import native means a PL/SQL package named 
            -- def_1 can be used, without native it is 
            -- another Avaloq script package 

procedure p(     -- declares a procedure with the name "p" 

i_g text       -- input variable i_g defined text. 
            -- in PL/SQL this becomes a VARCHAR2 
) 
is 

l_txt text;      -- local variable VARCHAR2(4000) in PL/SQL 
begin 



    with mem_m(idx) as msg do  -- mem_m is a DDIC (Data Dictionary) 
            -- It actually is a kind of "class" with 
            -- fields and methods 
            -- "with" is like in VB to avoid writing 
            -- mem_m(idx) all the time e.g. mem_m(idx).h.id 
    with book_aud(evt_id) as book do -- book_aud is another DDIC that it is not 
             -- prefixed with mem implies this is not a 
             -- in memory structure but direct access 
             -- to a Oracle table book_aud with index 
             -- evt_id which looks undefined to me and 
             -- should bring a compiler error 
     book.upd_pkt(     -- method call in the book_aud DDIC 
     evt_nr => i__nr     -- like in PL/SQL named parameters 
     ,ref_nr => msg.h.id 
     ,account_nr => msg.h.id 
     ,status => '1' 
    ); 
    end with; 
    end with; 

end p; 

私は上記の他のコードスニペットにもコメントできますが、あなたは既に一般的な概念を理解していると思います。 mem_mとbook_audのどちらも私が働いているAvaloqバージョンの既知のDDICではありません。どこから得たのでしょうか?あなたのポストは長年のものなので、これは非常に古いAvaloqのリリースだと思います。

関連する問題