ahmadikhwan301's Stars
hmont3n3p/BannerInverseEngineering
Cross Referencing Tables and Forms Used by a Form [Back] Here is a unix script, formtables.shl, which shows which tables are used by the given Oracle form, and how they are used (Select or List of values (LOV), Update, Insert, Delete, or undetermined), which can be used on .fmb (form) and .pll (library) files. It parses the strings in the form file, and makes a best guess effort in determining the tables used by the form, matching the string patterns against a file listing the non-system tables in the database (generated by formtables.sql). Since it doesn't analyze the code or trace through the function calls in the attached libraries, or look at database triggers for side effects of table changes, it may not find some table references, but, it does a pretty good job on most form files. For Banner users, it also shows which forms are called by this form, including form access (query only, etc.). You will first need to run formtables.sql from sqlplus (using @formtables.sql), logging in as SYS or SYSTEM or as a DBA userid, to generate the list of non-system tables in the database that will be matched by your formtables.shl runs. (Note: You should also run formtables.sql after at least installing each major upgrade in Banner, such as 3.x to 4.x, and possibly minor upgrades as well, to keep the table list current.) You may want to edit the resulting formtables.tables file to get rid of any non-Banner tables. After generating the table listing, you can then run formtables.shl on a form-by-form basis as needed, or on an entire directory of forms using the unix find command. Both of those ways are shown below (the lines with and following the find command must be all on one line when you type it in; make sure you do a "chmod 755 formtables.shl" in unix before using the script): formtables.shl $BANNER_HOME/<product>/forms/<formname>.fmb find $BANNER_HOME/<product>/forms -name '*.fmb' -exec formtables.shl {} \; Another Banner-specific unix script, formcalls.shl, recursively finds all forms which are called by the given form, showing the list of all forms, a pruned tree of called forms, and the complete list of forms with their subforms, including access switches (query only, etc.). This information can be used in tasks such as developing the list of forms for a class when you're only given a few top-level form names for that class. Note that it requires that all forms and subforms must be in or linked in the $BANNER_LINKS directory. Also, be aware that it will not find calls to generated form names, such as those generated by Banner LIST_VALUES_CALL triggers. Because of the large amount of output produced for some forms, such as the employee information screen with all of its subscreens, you should probably only run this on a form-by-form basis as needed, as shown below (also do a "chmod 755 formcalls.shl" in unix before using the script): formcalls.shl $BANNER_LINKS/<formname>.fmb This could be used to find the list of forms called by a set of forms by creating a unix shell script similar to the following (which could take a long time to run, depending on how many forms had to be recursed through): rm fcalls.out formcalls.shl $BANNER_LINKS/form1.fmb cat fcall.out >>fcalls.out formcalls.shl $BANNER_LINKS/form2.fmb cat fcall.out >>fcalls.out ... (pairs of lines like above for each form in the set of forms) sort fcalls.out | uniq >fcall.out cat fcall.out Modified versions of the formtables scripts, collector.shl and collector.sql, are available to identify just the list of forms which reference Banner collector tables (or any given set of tables). The collector.shl script would be run using the "find" command (after first running collector.sql), similar to the formtables scripts: find $BANNER_HOME/<product>/forms -name '*.fmb' -exec collector.shl {} \; If you want to find which forms contain a given string, use the formgrep.shl unix script (certainly not to be confused with FormGrep from August Tenth Systems, Inc.!), calling it with the form name and string to search for, such as searching for shrcomc in all forms in the $BANNER_LINKS directory: find $BANNER_LINKS -name '*.fmb' -exec formgrep.shl {} shrcomc -1 \; The optional third parameter to formgrep.shl indicates how many lines to show: -1 for no lines (just the file name if it matches), 0 for just the matching line (the default), or greater than zero for the number of lines before and after the matching line to also show. If you show matching lines, you may need to wade through the junk lines to find what you want. To show which tables are updated by the given Pro-C (*.pc) or Pro-COBOL (*.pco) program, and how they are used (Update, Insert, Delete), you can use the progtables.shl script. To find the tables in all of the Focus programs (*.fex) in the current directory, you can use the foctables.shl script. Run formtables.sql first before doing any progtables.shl or foctables.shl runs. (Note: We no longer use Focus, so this foctables.shl is my final version of it.)
ABestteti/ExtractBlobToFilesystem
This is a Oracle Pro*C/C++ utility that aims to extract a BLOB content and with it in file system (locally or on a remote file system).
sidphbot/Bank-Management-System
A bank management system with infrastructure management along with account and service management written purely in C++/Pro*c
CarlosFerreiraJr/conexao_bd_oracle_em_ProC
Função de conexão a um BD Oracle 8i em Pro*C
Kaedenn/proc
Set of utilities to aid in writing Oracle Pro*C programs
tachoknight/oracle-pro-c-to-cpp-on-a-mac
Example project of using Oracle's Pro*C compiler on a Mac using C++11
dantld/procexam
Project dedicated to learning Oracle Pro*C/C++ tool.
frankth/sqlTrace
Automatic Oracle performance monitoring for Pro*C programs
pers0n4/order_pro-c
Order service database project using Pro*C
linux-experiments/proc-hello-world
Oracle Pro*C Hello World Application
martinezcoder/proc_oracle_connection
Oracle connection through Pro*C precompiler
chaewon0228/CosProC
🎫[ Cos Pro C ] 자격증 실습 저장소
mpatron/myProCSample
Sample Pro*C on Linux
tommybee/dynamic_proc
dynamic pro*c library
JD0099/MilkFactory_Management_System
우유 공장 관리 시스템 (Pro*c)
mvallebr/oralib
A simple library made in Pro*C (method 4), that free you from using Pro*C directly
binkley/proc-clang
Building Pro*C programs with clang
rubin55/proc-adventures
Small examples using Oracle Pro*C
TimJLee/pro-c
pro*c database programming
junjiemars/proc_lessons
Oracle Pro*C Lessons
Hack-with-Github/Awesome-Hacking
A collection of various awesome lists for hackers, pentesters and security researchers
futureprogrammer360/Python-Fundamentals
Python Fundamentals course: learn the basics of Python
RameshMF/spring-boot-tutorial-course
Spring Boot Tutorial | Full Course at https://youtu.be/slTUtTSwRKU
vladmihalcea/hypersistence-utils
The Hypersistence Utils library (previously known as Hibernate Types) gives you Spring and Hibernate utilities that can help you get the most out of your data access layer.
devRobots/spring-boot-ecommerce
eCommerce Application for Spring Boot
eherozhao/E-Commerce-React-Front-end
Use React as the front end to develop an E-Commerce website
eherozhao/E-Commerce-Spring-Boot
Using Spring Boot as the back-end to develop a web application for selling the electrical devices
lorint/AdventureWorks-for-Postgres
Set up the AdventureWorks sample database for use with Postgres
Pragmatists/JUnitParams
Parameterised tests that don't suck
howtoprogram/junit5-examples
JUnit 5 examples, tutorials