我在一家公司工作,该公司有一个用powerbuilder编码的程序。我一点也不知道这个。遗憾的是,我的大四学生离开了,但我想将该项目转换为Oracle。所以我需要再生它。首先,是否有一个好的文件关于这个";转换事物";?
retrieve = "PBSELECT( VERSION(400) TABLE(NAME=~" saldo_stok ~ " ) TABLE(NAME=~" rekening ~ " ) COLUMN(NAME=~" saldo_stok.urutan ~ ")
COLUMN(NAME=~" saldo_stok.gudang ~ ") COLUMN(NAME=~" rekening.nama_jenisjurnal ~ ") COLUMN(NAME=~" saldo_stok.kode_rekening ~ ")
COLUMN(NAME=~" saldo_stok.nama_barang ~ ") COLUMN(NAME=~" saldo_stok.sat_hitung2 ~ ") COLUMN(NAME=~" saldo_stok.saldo_awal ~ ")
COMPUTE(NAME=~" ~~~ "saldo_stok~~~".~~~ "SALDO_AWAL~~~" *~~~ "saldo_stok~~~".~~~ "HARGA~~~" AS SALDO_AWAL_NILAI ~ ")
COLUMN(NAME=~" saldo_stok.mutasi_debet ~ ") COMPUTE(NAME=~" ~~~ "saldo_stok~~~".~~~ "MUTASI_DEBET~~~" *~~~ "saldo_stok~~~".~~~ "HARGA~~~" AS MUTASI_DEBET_NILAI ~ ") COLUMN(NAME=~" saldo_stok.mutasi_keluar ~ ") COMPUTE(NAME=~" ~~~ "saldo_stok~~~".~~~ "MUTASI_KELUAR~~~" *~~~ "saldo_stok~~~".~~~ "HARGA~~~" AS MUTASI_KELUAR_NILAI ~ ") COLUMN(NAME=~" saldo_stok.saldo_akhir ~ ") COMPUTE(NAME=~" ~~~ "saldo_stok~~~".~~~ "SALDO_AKHIR~~~" *~~~ "saldo_stok~~~".~~~ "HARGA~~~" AS SALDO_AKHIR_NILAI ~ ") COLUMN(NAME=~" saldo_stok.harga ~ ") COLUMN(NAME=~" saldo_stok.tgl_terima ~ ") COLUMN(NAME=~" saldo_stok.refference ~ ") COLUMN(NAME=~" saldo_stok.kode_barang ~ ") JOIN (LEFT=~" saldo_stok.kode_rekening ~ " OP =~" =~ "RIGHT=~" rekening.nomer_rekjurnal ~ " OUTER1 =~" saldo_stok.kode_rekening ~ " )WHERE( EXP1 =~" (
( ~~~ "saldo_stok~~~".~~~ "NAMA_BARANG~~~" ~ " OP =~" LIKE ~ " EXP2 =~" : brg ) ~ " LOGIC =~"
AND ~ " ) WHERE( EXP1 =~" ( ~~~ "saldo_stok~~~".~~~ "USER_ID~~~" ~ " OP =~" =~ " EXP2 =~" : usr ) ~ " LOGIC =~"
AND ~ " ) WHERE( EXP1 =~" ( ~~~ "saldo_stok~~~".~~~ "SALDO_AWAL~~~" ~ " OP =~" <>~ " EXP2 =~" 0 )
) ~ " ) ) ARG(NAME = ~" brg ~ " TYPE = string) ARG(NAME = ~" usr ~ " TYPE = number) ARG(NAME = ~" hak ~ " TYPE = string) " arguments = ( ( "brg", string ), ( "usr", NUMBER ), ( "hak", string ) ) sort = "saldo_rek A nama_barang A saldo_stok_urutan A sat_hitung2 A "
) GROUP (
LEVEL = 1 header.height = 84 trailer.height = 0 BY = ( "saldo_rek" ) header.color = "536870912" header.transparency = "0" header.gradient.color = "8421504" header.gradient.transparency = "0" header.gradient.angle = "0" header.brushmode = "0" header.gradient.repetition.MODE = "0" header.gradient.repetition.count = "0" header.gradient.repetition.length = "100" header.gradient.focus = "0" header.gradient.scale = "100" header.gradient.spread = "100" trailer.color = "536870912" trailer.transparency = "0" trailer.gradient.color = "8421504" trailer.gradient.transparency = "0" trailer.gradient.angle = "0" trailer.brushmode = "0" trailer.gradient.repetition.MODE = "0" trailer.gradient.repetition.count = "0" trailer.gradient.repetition.length = "100" trailer.gradient.focus = "0" trailer.gradient.scale = "100" trailer.gradient.spread = "100"
) GROUP (
LEVEL = 2 header.height = 4 trailer.height = 4 BY = ( "nama_barang", "harga", "sat_hitung2" ) header.color = "536870912" header.transparency = "0" header.gradient.color = "8421504" header.gradient.transparency = "0" header.gradient.angle = "0" header.brushmode = "0" header.gradient.repetition.MODE = "0" header.gradient.repetition.count = "0" header.gradient.repetition.length = "100" header.gradient.focus = "0" header.gradient.scale = "100" header.gradient.spread = "100" trailer.color = "536870912" trailer.transparency = "0" trailer.gradient.color = "8421504" trailer.gradient.transparency = "0" trailer.gradient.angle = "0" trailer.brushmode = "0" trailer.gradient.repetition.MODE = "0" trailer.gradient.repetition.count = "0" trailer.gradient.repetition.length = "100" trailer.gradient.focus = "0" trailer.gradient.scale = "100" trailer.gradient.spread = "100"
)
您看到的不是大多数PowerBuilder开发人员通常会看到的。您向我们展示的是:
- 导出(通常不用于查看代码(
- DataWindow的一部分
- 以图形格式存储的DW查询
图形格式是……首先,它应该在PowerBuilder IDE中以图形演示的形式(剧透提醒(显示。不仅如此,它还应该以一种稍微中性的语法存储,这样它就可以根据使用的数据库驱动程序以稍微不同的方式转换为SQL。我所看到的任何将图形语法转换为SQL的努力都忽略了驱动因素,所以我从未见过通用的驱动因素。(另外,考虑到当PB在运行时必须转换为SQL时,图形存储会对性能产生轻微影响,我从未发现它非常流行,所以对转换实用程序的需求不大。(
我强烈建议放弃导出,在PowerBuilderIDE中查看查询。您将以正常的SQL格式看到它。