PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
24571 20/04/24 18:11:54 RE:PowerBuilder開発ツール By Lucky Rabbit
24570 20/04/02 11:47:45 PowerBuilder開発ツール By DUL

カテゴリ:PowerBuilderの開発環境
日付:2020年04月24日 18:11 発信者:Lucky Rabbit
題名:RE:PowerBuilder開発ツール

こんにちは、私はPowerBuilder の仕事が多いです。
本当に便利なツールですから使いようです。シンプルがベストです。
様々なお客様のソースを対応させていただき、階層が深いクラスは基本ロジックまでブラックボックス化されていることもありテストが大変でした。
この場合でもデバッガーで実行しながら追っていけるところは凄いです。
さて、本題になりますが、便利ツールではありませんが、マスタメンテなどの共通画面をPBで作成することができます。画面は1つです。(別途、呼出元のテーブル一覧画面が必須)
SyntaxFromSQL関数を用いて、SQL文からデータウインドウ構文を作成してCreateします。
例を掲載します。
ls_presentation_str = "style(type=grid Header_Top_Margin =70 Detail_Top_Margin =0 Detail_Bottom_Margin =0)"
ls_dwsyntax_str = SQLCA.SyntaxFromSQL(“SELECT文”, ls_presentation_str, ls_ERRORS)
dw_1.Create( ls_dwsyntax_str, ls_ERRORS)
dw_1.Modify("DataWindow.Grid.ColumnMove=No")
dw_1.Modify("DataWindow.Selected.Mouse=No")
dw_1Modify("DataWindow.Header.Height=170")
dw_1.Modify("DataWindow.Detail.Height=60")
dw_1.Modify("DataWindow.Table.UpdateTable = ~"" + “テーブル名” + "~"")
dw_1.Modify("DataWindow.Table.UpdateWhere = 1")
dw_1.Modify("DataWindow.Table.UpdateKeyInPlace=No")
これでメンテ画面のデータウインドウが作成されます。
SELECT文とテーブル名は、Oracleのシステムビューから取得できますので、起動元のテーブル一覧で作っておき、OpenWithParmで引数として渡すとよいです。
ウインドウクラスにこのデータウインドウ(dw_1)を配置し、操作ボタンには、検索、追加、削除、更新、エクセルがあると便利です。検索条件用のdw_2があるとよりよくなると思います。
あと、メンテ画面(異なるテーブル)を何枚も表示したい場合があると思います。
フレーム上にタブ区切りのようにシートを表示できる、新しい画面Open(ドックドウインドウ)を用います。
APPEON化の非サポートになりますので、APPEON化の予定であれば使わないでください。
w_tbl_sheet lw_tbl_sheet
OpenSheetWithParmAsDocument(lw_tbl_sheet, 引数, " w_tbl_sheet ", w_frame, “テーブル名”)
一旦作成してしまえば、様々の案件で活用することができます。
ご要望のお返事になったかどうかわかりませんが、活用いただけますと嬉しいです。

付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows10
DBMS Oracle Net 11
Browser Chrome

Server SoftWare

OS Windows Server 2008
DBMS Oracle11g
WebServer (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.