0

PowerDesigner バージョン: 16.5.3.1 (64 ビット) リポジトリ バックエンド: SQL Server

当店では、モデルをさまざまなフォルダー/サブフォルダーで構成しており、同じモデル名が複数のサブフォルダーに存在する場合があります。PowerDesigner クライアント フロントエンドから、リポジトリ (ローカルではない) でモデルを右クリックし、[プロパティ] を選択すると、モデルに関するさまざまなプロパティが表示されます。そのうちの 1 つは [全般] タブの [場所] で、モデルの完全なフォルダー構造が表示されます。これは、「/aaa/bbb/ccc/ddd」のようなもので、aaa、bbb などはフォルダー/サブフォルダーの名前です。 .

このテキスト文字列は、PMTEXT (バックエンドのメイン テキスト テーブル) で見つけることができます。実際には、関連付けられた TXID を持つ複数のレコードです。ただし、TXID をどこにでも参加させる方法がわかりません。フロントエンドがこのテキスト文字列をダイアログ ボックスに表示できる場合、それは実行可能でなければなりません。これをどの table.column に結合すればよいか誰でも知っていますか? 私はすべての明白な候補を試しましたが、運がありません。

4

1 に答える 1

0

Pascal さん、ありがとうございます。これで髪を引っ張るのをやめることができます :-) PD UI が毎回パスを計算し、どこかに保存しないのは面白いと思います。次のクエリは、PMOLOG テーブルで検出できるフォルダーの場所を使用して、バックエンドからすべての物理モデル (clss = 1548) を取得します。完璧ではありませんが、今のところはできます:

select ob.objt as obid,
    ob.name as obnm,
    ob.brnc as brid,
    fd.tdat as fld,
    br.name as brnm,
    ob.vrsn
from pmobjt ob inner join (
        select objt, name
        from pmobjt
        where clss = 8
    ) br on ob.brnc = br.objt
    left join (
        select distinct lg.objt, tx.tdat
        from pmolog lg inner join pmtext tx on lg.lctn = tx.txid and lg.otyp = 'F'
    ) fd on ob.objt = fd.objt
where ob.clss = 1548 and ob.lvrs = 1;
于 2014-09-15T20:33:07.380 に答える