powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Декомпилятор для Firebird
25 сообщений из 94, страница 1 из 4
Декомпилятор для Firebird
    #39020945
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В Re: sql парсер http://www.sql.ru/forum/228054-a/sql-parser
привел выдержку кода, связанную с декомпиляцией select
...
Рейтинг: 0 / 0
Декомпилятор для Firebird
    #39020968
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012,

класс, зачем только ссылка не на сообщение, а на тему со всеми страницами?

П.С. Хочешь поделиться или хвастаешься? :-)
...
Рейтинг: 0 / 0
Декомпилятор для Firebird
    #39020972
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman... или хвастаешься? :-)
Этой болезни во мне нет.
Если люди любую информацию воспринимают болезненно, то в этом моей вины нет.

PS: Topic по декомпилятору для Firebird года три назад был создан на этом форуме.
Зачем плодить плагиат?
Ссылку привел потому, что ранее высказывалась мысль в разных вариациях, что
автор тролль, ... ... ...
На счет делиться декомпилятором.
Так как он особо ни кого не интересует, то и у меня нет особого желания продолжать эту тему.
Кроме decompile for Firebird у меня много чего другого интересного имеется /и над чем работаю/.
Так что проблем и комплекса непризнанного гения у меня нет
/ну сделал, ну работает, ну ни кому не нужен ... Всяко бывает.
Но мне то пригодился и сэкономил с ним много времени при решении поставленной передо мной задачи./
...
Рейтинг: 0 / 0
Декомпилятор для Firebird
    #39021097
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробую спросить еще раз.
Нужен ли кому декомпилятор скриптов?

PS: Любители написания debugger. Ау!
Decompile позволяет получить все и вся об каждой строке скрипта /переменных, .../
...
Рейтинг: 0 / 0
Декомпилятор для Firebird
    #39021127
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012,

может IBExpert и заинтересуется. Те у кого задачи прикладные он нафиг не нужен
...
Рейтинг: 0 / 0
Декомпилятор для Firebird
    #39021130
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов ДенисТе у кого задачи прикладные он нафиг не нужен
Это смотря кто как умеет "прикладываться" ...

PS: Sorry /повторно объясню как я дошел "до такой жизни"/.
Начальник мой распорядился перевести одного монстра из Firebird в 1С.
Исходников не было, ни кто ни чего об устройстве таблиц не знает ... ... ...
Вообщем жизнь заставила 'вручную" разбирать blr.
Все получалось, но тратилось много времени. А монстр то большой.
Да и задача стояла сделать miiror монстра ... ну и написал decompiler.
А на счет нужен кому декомпилятор или нет так скажу 100 человек => 100 мнений.
Много кому чего "не нужно" /и я такой же/.
Однако monitor SQL запросов почему то многим нужен, а вот получить готовые
исходники получается - нет.

Впрочем согласен с тем, что для тех кто разрабатывает /т.е. имеет исходный код/ decompiler - зло.
А вот для программистов кто эти проекты эксплуатирует может быть и другом.
...
Рейтинг: 0 / 0
Декомпилятор для Firebird
    #39021131
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012> Нужен ли кому декомпилятор скриптов?

Ну нужен. При чём качественный.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Декомпилятор для Firebird
    #39021134
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамНу нужен. При чём качественный.
Давай эксперимент проведем.
Пришли мне какую нибудь базу Firebird /без данных и исходников, но с dll-s/, ну и вышлю тебе исходники
скриптов.
Вот и услышат от тебя вердикт.
...
Рейтинг: 0 / 0
Декомпилятор для Firebird
    #39021135
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012Пришли мне какую нибудь базу Firebird /без данных и исходников, но с dll-s/Возьмите скрипты отсюда , прочтите там "readme_quick_start.txt" и запустите для создание базы (для начала - на 2.5):
Код: plaintext
1.
cd src
1build_oltp_emul.bat 25
Затем скормите её декомпилятору и покажите, что он выдаст - а мы сравним.
...
Рейтинг: 0 / 0
Декомпилятор для Firebird
    #39021136
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисможет IBExpert и заинтересуется.
Скорее всего IBExpert исходит из наличия исходных кодов скриптов.
В данном случае да можно дополнить debugger возможностью работы с скриптами для
которых нет в базе исходных кодов.

PS: Честно говоря мне "по барабану" будет - не будет, не будет - будет ...
У меня вагон задач, которые требуют решения и на мой сугубый взгляд намного более
востребованных чем разработанный decomplier.
Да и decompiler мне еще пригодится /но ни как не данном этапе работы/.
Не поверите, но не могу перешагнуть через мысль, что decompiler кому-то и навредит.
А вот это совсем не входит в мои планы.
Как-то так.
...
Рейтинг: 0 / 0
Декомпилятор для Firebird
    #39021147
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТаблоидЗатем скормите её декомпилятору и покажите, что он выдаст - а мы сравним
Пока имею вот что:

log=C:\Users\836D~1\AppData\Local\Temp\logs.oltp25\1build_oltp_emul_25.log, err=C:\Users\836D~1\AppData\Local\Temp\logs.oltp25\1build_oltp_emul_25.err
Check settings (read from config file oltp25_config.win)

Path to FB client: fbc = > C:\"Program Files (x86)\Firebird\Firebird_2_5"\bin<; version of isql:
ISQL Version: WI-V2.5.2.26539 Firebird 2.5

Server host = >192.168.0.220<, port = >3252<

Database name/alias: >C:\src\oltp25-upd_row.fdb<

User name and password: >SYSDBA< >masterke<

Test connect and analyze engine version for matching to arg. >25<
Command to be executed now:

C:\"Program Files (x86)\Firebird\Firebird_2_5"\bin\isql 192.168.0.220/3252:C:\src\oltp25-upd_row.fdb -nod -pag 0 -i C:\Users\836D~1\AppData\Local\Tem
\1build_oltp_emul_25.err -user SYSDBA -pas masterke

Result:
Unable to open

Actual engine version does NOT match input argument >25<

Check settings 'host' and 'port' in oltp25_config.win

Press any key to FINISH this batch file. . .

----------------------------------------------------------------------------
Мой config
------------

В oltp25_config.win установил свои пути, но имею:
Actual engine version does NOT match input argument >25<
Check settings 'host' and 'port' in oltp25_config.win

# Folder with Firebird console utilities, with or w/o trailing backslash.
# If folder contain spaces, enclose in quotes each part
# of path that contain spaces, i.e.:
# fbc=C:\"Program Files"\"Firebird 2.5.x"\bin
# fbc=C:\"Program Files"\"Firebird 3.0.x"

fbc= C:\"Program Files (x86)\Firebird\Firebird_2_5"\bin

# Folder where to store work and error logs, with or w/o trailing backslash.
# Do NOT use "%" character for referencing to some windows environment
# variables like TEMP, use "!" instead, or specify absolute path:
tmpdir=!temp!\logs.oltp25

# is_embed=1 - if Firebird runs in embedded mode, otherwise 0
is_embed=0

# Alias or full path and file name of database.
# If you want this database be created by test itself, specify it as
# FULL PATH and file name. No spaces or non-latin characters can be here.

#dbnm=/var/db/fb25/oltp25-upd_row.fdb
dbnm=C:\src\oltp25-upd_row.fdb

На компе стоит Firebird 2.5.2.26539

Что не так?
...
Рейтинг: 0 / 0
Декомпилятор для Firebird
    #39021148
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Узнаю свой почерк:Владимир2012192.168. 0.220/3252 :)

Вы точно поменяли настройки для 'host' & 'port' на _свои_ ? Ибо:Check settings 'host' and 'port' in oltp25_config.win
...
Рейтинг: 0 / 0
Декомпилятор для Firebird
    #39021149
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТаблоидВы точно поменяли настройки для 'host' & 'port' на _свои_ ? Ибо:
Host не менял потому, что думал вы через свой ip скармливаете скрипты.
Посмотрел более внимательно их исходники лежат в oltp_main_filling.sql
Угу?
...
Рейтинг: 0 / 0
Декомпилятор для Firebird
    #39021154
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012,

хост - это адрес компа, где вы хотите разместить базу (он не обязательно должен совпадать с localhost).
Исходники для 2.5 лежат в 4-х файлах, но скармливать их надо строго в следующем порядке:

1) oltp25_DDL.sql
2) oltp25_sp.ddl
3) oltp_main_filling.sql
4) oltp_data_filling.sql

Этоза вас делает батник '1build_oltp_emul.bat', так что просто (до-)настройте свой конфиг и запустите его.
...
Рейтинг: 0 / 0
Декомпилятор для Firebird
    #39021155
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012> Давай эксперимент проведем.
Владимир2012> Пришли мне какую нибудь базу Firebird

Клоуны в соседней песочнице, не тут.
Для эксперимента можешь взять любую
БД, хоть example/employee.fdb, хоть с
исходниками (а чем они мешают, кстати?).

Владимир2012> но с dll-s

А при чём тут DLL вообще ?
Мы точно об одном и том же говорим?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Декомпилятор для Firebird
    #39021164
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамКлоуны в соседней песочнице, не тут.
Что я вам такого обидного сказал?

Гаджимурадов РустамМы точно об одном и том же говорим?
Точно.
Это нужно для декомпиляции скриптов, использующих внешние функции /UDF/

Гаджимурадов РустамДля эксперимента можешь взять любую
БД, хоть example/employee.fdb, хоть с
исходниками (а чем они мешают, кстати?).
Брал и не одну.
Вы мне верите, что все ok?
...
Рейтинг: 0 / 0
Декомпилятор для Firebird
    #39021173
IBExpert
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисможет IBExpert и заинтересуется.

А мне-то он зачем?
...
Рейтинг: 0 / 0
Декомпилятор для Firebird
    #39021185
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТаблоидЭтоза вас делает батник '1build_oltp_emul.bat',
log=C:\src\logs.oltp25\1build_oltp_emul_25.log, err=C:\src\logs.oltp25\1build_oltp_emul_25.err
Check settings (read from config file oltp25_config.win)

Path to FB client: fbc = > C:\"Program Files (x86)\Firebird\Firebird_2_5"\bin<; version of isql:
ISQL Version: WI-V2.5.2.26539 Firebird 2.5

Server host = >127.0.0.1<, port = >3050<

Database name/alias: >C:\src\ab_demo.fdb<

User name and password: >SYSDBA< >masterkey<

Test connect and analyze engine version for matching to arg. >25<
Command to be executed now:

C:\"Program Files (x86)\Firebird\Firebird_2_5"\bin\isql 127.0.0.1/3050:C:\src\ab_demo.fdb -nod -pag 0 -i C:\src\logs.oltp25\1build_oltp_emul_25.tmp -m -o C:\src\logs.oltp25\1build_oltp_emul_25.err -user SYSDBA -pas masterkey

Result:
Unable to open
All checks of isql temp log messages PASSED OK.

#################################################
Database will be created for FB >>> 25 <<<
#################################################

Press any key to START building database objects. . .
Content of building SQL script:
-------------------------------
show version;
show database;
set list on;
select * from mon$database;
set list off;
set echo on;
in "C:\src\oltp25_DDL.sql";
in "C:\src\oltp25_sp.sql";
in "C:\src\oltp_misc_debug.sql";
in "C:\src\oltp_main_filling.sql";
in "C:\src\oltp_data_filling.sql";
show collation;
show domain;
show exception;
show generator;
show table;
show view;
show trigger;
show proc;
-------------------------------

Build test database. Please wait. . .
-------------------------------------

C:\src>if .0. == .1. (C:\"Program Files (x86)\Firebird\Firebird_2_5"\bin\isql C:\src\ab_demo.fdb -nod -i C:\src\logs.oltp25\1build_oltp_emul_25.sql 1>C:\src\logs.oltp25\1build_oltp_emul_25.log 2>C:\src\logs.oltp25\1build_oltp_emul_25.err ) else (C:\"Program Files (x86)\Firebird\Firebird_2_5"\bin\isql 127.0.0.1/3050:C:\src\ab_demo.fdb -nod -i C:\src\logs.oltp25\1build_oltp_emul_25.sql -user SYSDBA -pas masterkey 1>C:\src\logs.oltp25\1build_oltp_emul_25.log 2>C:\src\logs.oltp25\1build_oltp_emul_25.err )

Script for building database objects finished with ERROR

Check log: C:\src\logs.oltp25\1build_oltp_emul_25.err

Press any key to FINISH this batch. . .

Вообщем скрипт отрабатывает, но имеем
Script for building database objects finished with ERROR

В чем проблема?
...
Рейтинг: 0 / 0
Декомпилятор для Firebird
    #39021191
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А на что он там выше сказал 'unable to open' ?

log=C:\Users\836D~1\AppData\Local\Temp\logs.oltp25\1build_oltp_emul_25.log, err=C:\Users\836D~1\AppData\Local\Temp\logs.oltp25\1build_oltp_emul_25.err

C:\Users\836D~1\AppData\Local\Temp\logs.oltp25\ -- этот каталог, он точно создался ?

И еще:Владимир2012Command to be executed now:

C:\ " Program Files (x86)\Firebird\Firebird_2_5 " \bin\isql 127.0.0.1/3050:C:\src\ab_demo.fdb -nod -pag 0 -i C:\src\logs.oltp25\1build_oltp_emul_25.tmp -m -o C:\src\logs.oltp25\1build_oltp_emul_25.err -user SYSDBA -pas masterkey- а между тем:oltpNN_config.*. . .
# Folder with Firebird console utilities, with or w/o trailing backslash.
# If folder contain spaces, enclose in quotes each part
# of path that contain spaces, i.e.:
# fbc=C:\ " Program Files " \ " Firebird 2.5.x " \bin
# fbc=C:\ " Program Files " \ " Firebird 3.0.x "

fbc=C:\1INSTALL\FIREBIRD\FB25SNAP\bin\
...
Рейтинг: 0 / 0
Декомпилятор для Firebird
    #39021192
Таблоид
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012,

в кр случае, создайте пустую базу, запустите ISQL и далее в нём вводите:

Код: plaintext
1.
2.
3.
4.
SQL> in oltp25_DDL.sql;
SQL> in oltp25_sp.ddl;
SQL> in oltp_main_filling.sql;
SQL> in oltp_data_filling.sql;
SQL> exit;
...
Рейтинг: 0 / 0
Декомпилятор для Firebird
    #39021197
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТаблоидC:\Users\836D~1\AppData\Local\Temp\logs.oltp25\ -- этот каталог, он точно создался ?
Да все ok.

# Folder with Firebird console utilities, with or w/o trailing backslash.
# If folder contain spaces, enclose in quotes each part
# of path that contain spaces, i.e.:
# fbc=C:\"Program Files"\"Firebird 2.5.x"\bin
# fbc=C:\"Program Files"\"Firebird 3.0.x"

fbc= C:\"Program Files (x86)"\Firebird\Firebird_2_5\bin

# Folder where to store work and error logs, with or w/o trailing backslash.
# Do NOT use "%" character for referencing to some windows environment
# variables like TEMP, use "!" instead, or specify absolute path:
#tmpdir=!temp!\logs.oltp25
tmpdir=C:\src\logs.oltp25

# is_embed=1 - if Firebird runs in embedded mode, otherwise 0
is_embed=0

# Alias or full path and file name of database.
# If you want this database be created by test itself, specify it as
# FULL PATH and file name. No spaces or non-latin characters can be here.

#dbnm=/var/db/fb25/oltp25-upd_row.fdb
#dbnm=C:\src\oltp25-upd_row.fdb
dbnm=C:\src\ab_demo.fdb

Чтобы не заморачиваться с длинными путями установил директорию для временных файлов:
tmpdir=C:\src\logs.oltp25

Делал прерывание скрипта в разных точках /через exit/ для того, чтобы проверить создание
времененных файлов ...
Все вроде на месте как и должно быть.
Проверки на connect, version, .... также корректно выполняются.

Посмотри на fbc правильно кавычки я поставил?

Вот что имею:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
log=C:\src\logs.oltp25\1build_oltp_emul_25.log, err=C:\src\logs.oltp25\1build_oltp_emul_25.err                                                                                                                                             16:55
Check settings (read from config file oltp25_config.win)

Path to FB client: fbc = > C:\"Program Files (x86)"\Firebird\Firebird_2_5\bin<; version of isql:
ISQL Version: WI-V2.5.2.26539 Firebird 2.5

Server host = >127.0.0.1<, port = >3050<

Database name/alias: >C:\src\ab_demo.fdb<

User name and password: >SYSDBA< >masterkey<

Test connect and analyze engine version for matching to arg. >25<
Command to be executed now:

 C:\"Program Files (x86)"\Firebird\Firebird_2_5\bin\isql 127.0.0.1/3050:C:\src\ab_demo.fdb -nod -pag 0 -i C:\src\logs.oltp25\1build_oltp_emul_25.tmp -m -o C:\src\logs.oltp25\1build_oltp_emul_25.err -user SYSDBA -pas masterkey

Result:
Unable to open
All checks of isql temp log messages PASSED OK.

#################################################
Database will be created for FB  25 
#################################################

Press any key to START building database objects. . .
Content of building SQL script:
-------------------------------
show version;
show database;
set list on;
select * from mon$database;
set list off;
set echo on;
in "C:\src\oltp25_DDL.sql";
in "C:\src\oltp25_sp.sql";
in "C:\src\oltp_misc_debug.sql";
in "C:\src\oltp_main_filling.sql";
in "C:\src\oltp_data_filling.sql";
show collation;
show domain;
show exception;
show generator;
show table;
show view;
show trigger;
show proc;
-------------------------------

Build test database. Please wait. . .
-------------------------------------

C:\src>if .0. == .1. (C:\"Program Files (x86)"\Firebird\Firebird_2_5\bin\isql C:\src\ab_demo.fdb -nod -i C:\src\logs.oltp25\1build_oltp_emul_25.sql  1>C:\src\logs.oltp25\1build_oltp_emul_25.log 2>C:\src\logs.oltp25\1build_oltp_emul_25.err )
  else (C:\"Program Files (x86)"\Firebird\Firebird_2_5\bin\isql 127.0.0.1/3050:C:\src\ab_demo.fdb -nod -i C:\src\logs.oltp25\1build_oltp_emul_25.sql -user SYSDBA -pas masterkey  1>C:\src\logs.oltp25\1build_oltp_emul_25.log 2>C:\src\logs.olt
p25\1build_oltp_emul_25.err )

Script for building database objects finished with ERROR

Check log: C:\src\logs.oltp25\1build_oltp_emul_25.err

Press any key to FINISH this batch. . .



Unable to open вроде связано с -i C:\src\logs.oltp25\1build_oltp_emul_25.tmp
Но он имеется в наличии!
...
Рейтинг: 0 / 0
Декомпилятор для Firebird
    #39021198
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012> Это нужно для декомпиляции скриптов, использующих внешние функции /UDF/

Во-первых, кого они интересуют?
Во-вторых, даже если - это, наверное,
самая простая часть декомпилятора.

> Вы мне верите, что все ok?

На слово? Ну верю, что вы что-то
там декмопилируете. Что это меняет?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Декомпилятор для Firebird
    #39021201
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамНа слово? Ну верю, что вы что-то
там декмопилируете. Что это меняет?
Хорошо что-то декомпилирую.
Но потом это что компилируется /под другим именем процедуры/ и сравнивается бинарный код
оригинального и декомпилированного /после компиляции/.
И все ok.
Так что это не что-то ...
...
Рейтинг: 0 / 0
Декомпилятор для Firebird
    #39021203
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир2012> сравнивается бинарный код оригинального и декомпилированного /после компиляции/.

Это и ежу понятно, это программа минимум.
А вы попробуйте это в удобочитаемый вид привести.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Декомпилятор для Firebird
    #39021205
Владимир2012
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамА вы попробуйте это в удобочитаемый вид привести.
Ну вот пример результата декомпиляции


Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
PROCEDURE ZKP_ANALIZ_PS ( 
 OMONTH INTEGER
 ) RETURNS ( 
 C0 INTEGER,
 C1 INTEGER,
 T1 VARCHAR( 200 ) CHARACTER SET WIN1251 ,
 T2 VARCHAR( 2 ) CHARACTER SET WIN1251 ,
 C2 NUMERIC( 7, 2 ),
 C3 NUMERIC( 7, 2 ),
 C4 NUMERIC( 7, 2 ),
 C5 NUMERIC( 7, 2 ),
 C6 NUMERIC( 7, 2 ),
 C7 NUMERIC( 7, 2 )
 )as 

DECLARE VARIABLE Decl_LS INTEGER = NULL;
DECLARE VARIABLE Decl_ID INTEGER = NULL;
DECLARE VARIABLE Decl_012 INTEGER = NULL;
DECLARE VARIABLE Decl_013 INTEGER = NULL;
DECLARE VARIABLE Decl_014 INTEGER = NULL;
DECLARE VARIABLE Decl_015 INTEGER = NULL;
DECLARE VARIABLE Decl_016 INTEGER = NULL;
DECLARE VARIABLE Decl_017 INTEGER = NULL;
DECLARE VARIABLE Decl_018 INTEGER = NULL;
DECLARE VARIABLE Decl_019 INTEGER = NULL;
DECLARE VARIABLE Decl_020 INTEGER = NULL;
DECLARE VARIABLE Decl_021 INTEGER = NULL;
DECLARE VARIABLE Decl_022 VARCHAR( 40 ) CHARACTER SET WIN1251  = NULL;
DECLARE VARIABLE Decl_KREDIT_023 NUMERIC( 12, 4 ) = NULL;
DECLARE VARIABLE Decl_KREDIT NUMERIC( 12, 4 ) = NULL;
DECLARE VARIABLE Decl_KREDIT_025 NUMERIC( 12, 4 ) = NULL;
DECLARE VARIABLE Decl_DEBET_026 NUMERIC( 12, 4 ) = NULL;
DECLARE VARIABLE Decl_DEBET NUMERIC( 12, 4 ) = NULL;
DECLARE VARIABLE Decl_DEBET_028 NUMERIC( 12, 4 ) = NULL;
DECLARE VARIABLE Decl_USENUM INTEGER = NULL;
DECLARE VARIABLE Decl_VDATE DATE = NULL;

BEGIN 

 C0 = 0;

 C2 = 0;

 C3 = 0;

 C4 = 0;

 C5 = 0;

 C6 = 0;

 C7 = 0;

SELECT    MONTH2LDATE.VDATE
FROM      MONTH2LDATE( :OMONTH )
INTO      :Decl_VDATE
;

FOR 
SELECT    G.KODNP,
          G.KODSTREET,
          G.HOUSE,
          G.CORPUS,
          G.KODSIMVOL,
          G.ID,
          G.AVGID,
          B.STREET
FROM      ZKP_GRPSCH G
           JOIN STREET B ON ( 
            G.KODSTREET = B.KODSTREET 
           ) 

WHERE     G.GRP IS NULL and  G."CLOSE" = 0   and  G.ACTDT <= :Decl_VDATE  
ORDER BY  B.STREET ASCENDING,
          G.HOUSE ASCENDING
INTO      :Decl_016,:Decl_017,
          :Decl_019,
          :Decl_020,
          :Decl_021,
          :Decl_012,
          :Decl_013,
          :Decl_022

 DO 
 BEGIN 

 Decl_ID = 0;

SELECT    FIRST ( 1 )
          ZKP_LS.ID
FROM      ZKP_LS
WHERE     ZKP_LS.KODNP = :Decl_016  and  ZKP_LS.KODSTREET = :Decl_017   and  ZKP_LS.HOUSE = :Decl_019   and  ZKP_LS.CORPUS = :Decl_020   and  ZKP_LS.KODSIMVOL = :Decl_021  
INTO      :Decl_ID
;

 Decl_LS = NULL;

FOR 
SELECT    ZKP_LSENUM.LS
FROM      ZKP_LSENUM( 0, NULL, NULL, :Decl_ID, NULL, 0 )
INTO      :Decl_LS

 DO 
 BEGIN 

 Decl_USENUM = NULL;

SELECT    FIRST ( 1 )
          ZKP_FLUSEN.USENUM
FROM      ZKP_FLUSEN
WHERE     ZKP_FLUSEN.LS = :Decl_LS  and  ZKP_FLUSEN.DATEZ <= :Decl_VDATE  
ORDER BY  ZKP_FLUSEN.LS DESCENDING,
          ZKP_FLUSEN.DATEZ DESCENDING
INTO      :Decl_USENUM
;

IF ( :Decl_USENUM IS NULL ) THEN 

 Decl_USENUM = 0;

IF ( :Decl_USENUM BETWEEN 20000  AND 29999  ) THEN 
 BEGIN

SELECT    ZKP_LSREPOBOR.KREDIT
FROM      ZKP_LSREPOBOR( :Decl_LS, :OMONTH, 0 )
INTO      :Decl_KREDIT
;

SELECT    ZKP_LSREPOBOR.DEBET
FROM      ZKP_LSREPOBOR( :Decl_LS,  :OMONTH + 1 , 0 )
INTO      :Decl_DEBET
;

 C4 =  :C4 + :Decl_KREDIT ;

 C5 =  :C5 + :Decl_DEBET ;

END --  BEGIN /IF ( :Decl_USENUM BETWEEN 20000  AND 29999  .../


IF ( :Decl_USENUM BETWEEN 30000  AND 39999  ) THEN 
 BEGIN

SELECT    ZKP_LSREPOBOR.KREDIT
FROM      ZKP_LSREPOBOR( :Decl_LS, :OMONTH, 0 )
INTO      :Decl_KREDIT_023
;

SELECT    ZKP_LSREPOBOR.DEBET
FROM      ZKP_LSREPOBOR( :Decl_LS,  :OMONTH + 1 , 0 )
INTO      :Decl_DEBET_026
;

 C2 =  :C2 + :Decl_KREDIT_023 ;

 C3 =  :C3 + :Decl_DEBET_026 ;

END --  BEGIN /IF ( :Decl_USENUM BETWEEN 30000  AND 39999  .../


IF ( :Decl_USENUM < 20000  or :Decl_USENUM > 39999  ) THEN 
 BEGIN

SELECT    ZKP_LSREPOBOR.KREDIT
FROM      ZKP_LSREPOBOR( :Decl_LS, :OMONTH, 0 )
INTO      :Decl_KREDIT_025
;

SELECT    ZKP_LSREPOBOR.DEBET
FROM      ZKP_LSREPOBOR( :Decl_LS,  :OMONTH + 1 , 0 )
INTO      :Decl_DEBET_028
;

 C6 =  :C6 + :Decl_KREDIT_025 ;

 C7 =  :C7 + :Decl_DEBET_028 ;

END --  BEGIN /IF ( :Decl_USENUM < 20000  or :Decl_USENUM > 39999 .../


END -- DO BEGIN /FOR SELECT    ZKP_LSENUM.LSFROM      ZK .../

IF ( :C2 <> 0  ) THEN 
 BEGIN

SELECT    GENADRSTR.ADR
FROM      GENADRSTR( :Decl_017, :Decl_019, :Decl_020, :Decl_021, 0, 0 )
INTO      :T1
;

 T2 = NULL;

IF ( not  :Decl_013 IS NULL  ) THEN 

 T2 = _WIN1251 'СР';

 C0 =  :C0 + 1 ;

SUSPEND;


END --  BEGIN /IF ( :C2 <> 0  .../


 C2 = 0;

 C3 = 0;

 C4 = 0;

 C5 = 0;

 C6 = 0;

 C7 = 0;

END -- DO BEGIN /FOR SELECT    G.KODNP,          G.KODST .../

END -- main BEGIN
...
Рейтинг: 0 / 0
25 сообщений из 94, страница 1 из 4
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Декомпилятор для Firebird
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]