SlideShare una empresa de Scribd logo
1 de 26
Descargar para leer sin conexión
ACADEMIC PROJECT
‘REPORT PROGRAMS’ CODE GENERATOR TOOL
_____________________________________________________________________________________
_____________________________________________________________
PROJECT OVERVIEW
_____________________________________________________________
About the project
An automated code generator will enforce common structure for all batch programs
conforming to a specific logic. It will generate the maximum possible program code
based upon few user inputs. This generator will also help in reducing coding time of
programmers and increase the efficiency by allowing programmers to focus on the
application logic. This implies a great reduction in development costs. This will also
ensure ease of code maintenance.
Project modules
Input module:
Developers will enter the inputs through web-based front-end screens. After initial
validations, this information will be sent to the interfacer as HTML strings. The entire
process of capturing inputs can take place in multiple stages.
Interfacer module:
The interfacer does further validations. The information is stored in Database
(Oracle/Sql Server/ MySql) tables including intermediate stage Work-In-Progress
details.
Code generation module:
When the developer initiates back-end code generation, the information in Database
tables will be passed on through ASCII files to the back-end code generator.
The back-end code generator accepts the ASCII file and generates the report
generation code.
Design Methodology
The objective of the system is to generate code with required features. For this purpose
certain input has to be accepted from the user regarding the application. All the inputs
will be stored on to the tables and later on an ASCII file is generated based on this
information.
The ASCII file will be parsed and analyzed by the Lexical Analyzer and the relevant
portions of information from the file will be collected in data structures, which will be
later used to generate the desired code. After parsing, when the complete data from
the file is extracted, the main control file will open four files to be generated.
The four files which are thus generated will contain the code for the described features
of main flow. The application specific code has to be incorporated to make the
application complete.
_____________________________________________________________
Data Flow Diagram (DFD)
Level 0 DFD:
Level 1 DFD:
_____________________________________________________________
ER-Diagram:
_____________________________________________________________
Code templateAlgorithm rules
start end
CodeI
D
Functi
on
Name
Code
_____________________________________________________________
PROGRAM:
This involves the program name for the application. Based on this program
name details, the four files which are generated by the tool are named.
INPUT TABLES:
This is a collection of all the Tool tables used in the application. For each Tool
table, relevant details such as field names, sort keys, filter clause etc. are
collected and stored in the tables.
OUTPUT REPORTS:
This is a collection of information required to generate report from the program
which was generated by the tool.
INSERT/ UPDATE/DELETE OPERATIONS:
These denote a set of operations that are made on the tables in the database
which are incorporated in the program which was generated by the tool.
_____________________________________________________________
DESCRIPTION OF INPUT MODULES
_____________________________________________________________
SCREEN I:
Login :
Password :
This is the first screen of the Tool Module. This screen accepts the Login and Password
needed to use the Tool.
_____________________________________________________________
SCREEN II :
This screen is the main screen of the Tool module. All the other screens revolve around
this screen.
By clicking at the appropriate button, the relative screen is displayed.
This screen displays the inputs to be captured
UPDATE OPN
OUTPUT
REPORTS
PROGRAM
INPUT TABLES
DELETE OPN
INSERT OPN
_____________________________________________________________
SCREEN III :
PROGRAM
Program Name :
Description :
Validations :
Program Name -> Check if this program name is already available. If so,
inform the user about the same.
_____________________________________________________________
SCREEN IV :
INPUT TABLES
Table Name : Description :
Table Column(s) Selected Columns(s)
>> <<
Selected Column(s) SORT Keys
>> <<
Duplicate : Yes No
Filter Clause :
Selected Column(s) ORDER BY Column(s)
>> <<
Memory : Yes No *Table Size :
* If Memory is 'Yes', then Table Size is entered.
List
SAVE CLEAR CANCELNEXT
_____________________________________________________________
Validations :
Table Name -> List of Values displays all the tables in the current database
along
with the description.
Check if the table name exists in the database. If not, flash an
error message and accept again.
Description -> If description is available for the table, it is automatically
displayed.
Field Name -> If >> button is pressed, then display all the fields from this
Table.
If << button is pressed, then all the fields are deselected.
Individual fields are allowed to select and deselect by clicking on
the fields.
Filter Clause -> Check for incorrect syntax or field names by parsing the text.
All incorrect syntax are outlined in red so that the user can
Correct his errors.
Order By -> If >> button is pressed, then display all the fields from the
Selected columns only.
If << button is pressed, then all the fields are deselected.
Individual fields are allowed to select and deselect by clicking on
the fields.
ISORT Key -> If >> button is pressed, then display all the fields from the
Selected columns only.
If << button is pressed, then all the fields are deselected.
Individual fields are allowed to select and deselect by clicking on
the fields.
NEXT -> Allows to input the next Tool Table.
CLEAR -> Clears the current entries
CANCEL -> Cancels the current table information and goes to the menu
SAVE -> Stores the Table Details and displays the following screen:
_____________________________________________________________
SCREEN V:
INPUT TABLE PRIORITY
Table priority:
Order By :
Ascending Descending
Table I Table II
And so on.
SAVE -> Goes to menu after saving it in database tables.
CANCEL -> Goes to menu without saving.
Table I
Table II
Table III
Table IV
Table V
SAVE CANCEL
∧
∨
∧
∨
SORT Key1
SORT Key2
SORT Key3
SORT Key1
SORT Key2
SORT Key3
∧
∨
_____________________________________________________________
SCREEN VI
OUTPUT REPORTS
Report ID : Report Name :
Header : Sub Header :
Footer : No. of Lines :
Validations:
Value -> Display the list of Tool tables so that the user can select
the table from which the data is to be fetched
For this Table Name, list all the fields so that the user can
Select the field name to get into the column as value.
SAVE -> Goes to menu after saving it in database tables.
CANCEL -> Cancels the current report information and goes to the
menu.
NEXT -> Allows to input the next Report information.
Column Heading : Starting Position :
Value : Starting Position :
Length : Format :
NEXT SAVE CANCEL VIEW
Column Name Column Name Column Name
_____________________________________________________________
SCREEN VII
INSERT OPERATION
Table Name : Description :
Columns(s) Selected Column(s)
>> <<
Values :
Beeline Element :
Validations :
Table Name -> List of Values displays Input tables with the description.
Description -> If the description is available for the table, it is automatically
displayed.
Field Name -> If >> button is pressed, then display all the fields from this
Table.
If << button is pressed, then all the fields are deselected.
Individual fields are allowed to select and deselect by clicking on
the fields.
Values -> Displays a list of Input tables which are selected for the current
application and after choosing the tables, a list of all fields of this
table are given. A default variable is provided to the user if the
value is a computed value.
Element -> This denotes the place inside the program, where this INSERT
Processing should be done.
List
List
List
SAVE CANCELNEXT
_____________________________________________________________
SAVE -> Goes to menu after saving it in database tables
CANCEL -> Cancels the current report information and goes to the menu
NEXT -> Allows to input the next INSERT information.
_____________________________________________________________
SCREEN VIII
UPDATE OPERATION
Table Name : Description :
Columns(s) Selected Column(s)
>> <<
Values :
Filter Clause :
Beeline Element :
Validations :
Table Name -> List of Values displays input tables with description
Description -> If the description is available for the table, it is automatically
displayed.
Field Name -> If >> button is pressed, then display all the fields from this
Table.
If << button is pressed, then all the fields are deselected.
Individual fields are allowed to select and deselect by clicking on
the fields.
Values -> Displays a list of input tables which are selected for the current
application and after choosing the tables, a list of all fields of this
table are given. A default variable is provided for the user if the
value is a computed value.
Element -> This denotes the place inside the program, where this UPDATE
Processing should be done.
List
List
List
SAVE CANCELNEXT
_____________________________________________________________
SAVE -> Goes to menu after saving it in database tables
CANCEL -> Cancels the current report information and goes to the menu
NEXT -> Allows to input the next UPDATE information.
_____________________________________________________________
SCREEN IX
DELETE OPERATION
Table Name : Description :
Filter Clause :
Beeline Element :
Validations :
Table Name -> List of Values displays input tables with description
Description -> If the description is available for the table, it is automatically
displayed.
Field Name -> If >> button is pressed, then display all the fields from this
Table.
If << button is pressed, then all the fields are deselected.
Individual fields are allowed to select and deselect by clicking on
the fields.
Element -> This denotes the place inside the program, where this DELETE
Processing should be done.
SAVE -> Goes to menu after saving it in database tables
CANCEL -> Cancels the current report information and goes to the menu
NEXT -> Allows to input the next DELETE information.
List
List
SAVE CANCELNEXT
_____________________________________________________________
DATABASE LAYOUTS
_____________________________________________________________
Table Layouts
The details collected by the information collector are stored in the database using
the following tables:
S.No Table Name Description
1 PGM_TBL Program Level Details
2 INPUT_TBL Input table details
3 FIELD_TBL Field details of the Input tables
4 RPT_TBL Report Details
PGM_TBL
PGM_TBL is a master table which stores details at the Program Level. This
table will have an entry for each program that is generated using the tool.
S.No Field Name Description Type Length
1 pgm_name Program Name varchar 8
2 pgm_desc Program Description varchar 30
3 sort_order Order by clause of the cursor varchar 1
declarations of beeline tables.
4 commit_sz Commit size for the output number 3
INPUT_TBL
INPUT_TBL is a detail table which stores details of all the tables used in the
program. The program name and table name form the unique key for the
table.
S.No Field Name Description Type Length
1 pgm_name Program Name varchar 8
2 table_name Table Name varchar 10
3 table_desc Table Description varchar 30
4 table_type Type of the table like varchar 1
[I]nput] / O]utput tables.
6. table_priority The priority of the input number 2
tables only .
7. dup_alld Whether duplicate records varchar 1
are allowed or not .
_____________________________________________________________
8. dml_flag If the table is an output varchar 1
table , then an [I]nsert /
[U]pdate / [D]elete
operation should take
palace.
9. filter_clause The where clause of the varchar 100
table .
FIELD_TBL
FIELD_TBL is a detail table which stores details of all the fields used in the
program. The program name and table name is the key combination for
selecting all the related fields of a particular table.
S.No Field Name Description Type Length
1. pgm_name Program Name varchar 8
2. table_name Table Name varchar 10
3. field_name Field Name varchar 30
4. fileld_expr Field Expression varchar 40
5. fileld_size Field Size number 3
6. field_occ_cnt Field Occurrence number 3
7. field_type Field Type varchar 1
8. field_category Field category varchar 1
[S]ort/[N]ormal
RPT_TBL
RPT_TBL is a detail table which stores details of all the Reports used in the
program.
S.No Field Name Description Type Length
1. pgm_name Program Name varchar 8
2. report_name Report Name varchar 10
3. key_1 Reserved Words like varchar 30
Header/Footer etc.
4. value Value for the key specified varchar 300
_____________________________________________________________
OUTPUT LAYOUTS
_____________________________________________________________
EXTRACT ASCII FILE STRUCTURE
ASCII files will be created containing the information accepted from the front-end
screens. This data will also be present in the tables. A sample ASCII file structure is
given below:
INPUT_TABLE : 01 : CDMST :
: FIELD : card_num : OCC_CNT : 1 : ACT_FIELD : card_num :
DATATYPE : NUMBER : FIELDSIZE : 16 :
: FIELD : cust_no : OCC_CNT : 1 : ACT_FIELD : cust_no :
DATATYPE : NUMBER : FIELDSIZE : 8 :
: FIELD : cyc_code : OCC_CNT : 1 : ACT_FIELD : cyc_code :
DATATYPE : NUMBER : FIELDSIZE : 4 :
: FIELD : card_status : OCC_CNT : 1 : ACT_FIELD : card_status :
DATATYPE : VARCHAR2 : FIELDSIZE : 2 :
: FIELD : stat_chg_date : OCC_CNT : 1 : ACT_FIELD : stat_chg_date :
DATATYPE : VARCHAR2 : FIELDSIZE : 6 :
: FIELD : mem_since : OCC_CNT : 1 : ACT_FIELD : mem_since :
DATATYPE : NUMBER : FIELDSIZE : 6 :
: FIELD : highest_billed : OCC_CNT : 1 : ACT_FIELD : highest_billed :
: A_KEY : card_type = 20 and card_mem_type <> 'A':
: ORDER : ASC :
: DUP_ALLW : Y : ERR_TYPE ::
: PRIORITY : 1 :
: ARR_SIZE : 500 :
: DESCRIPT : master : ;
INPUT_TABLE : 02 : tr4009806 :
: FIELD : card_no : OCC_CNT : 1 : ACT_FIELD : card_no :
DATATYPE : NUMBER : FIELDSIZE : 16 :
: FIELD : cyc_code : OCC_CNT : 1 : ACT_FIELD : cyc_code :
DATATYPE : NUMBER : FIELDSIZE : 2 :
DATATYPE : NUMBER : FIELDSIZE : 10 :
: FIELD : deliq_cnt : OCC_CNT : 1 : ACT_FIELD : deliq_cnt :
DATATYPE : NUMBER : FIELDSIZE : 2 :
: FIELD : min_due : OCC_CNT : 1 : ACT_FIELD : min_due :
DATATYPE : NUMBER : FIELDSIZE : 10 :
: FIELD : memo : OCC_CNT : 1 : ACT_FIELD : memo :
: ORDER : ASC :
: DUP_ALLW : Y : ERR_TYPE ::
: PRIORITY : 2 :
: ARR_SIZE : 500 :
: DESCRIPT : Transaction : ;
SORT_SEQ : 01 : ISORT_FIELD : 0 : EOF1 : FIELDSIZE : 1 :
: 1 : TABLE : cdmst : FIELD : card_num : DATATYPE : NUMBER :
FIELDSIZE : 16 :
_____________________________________________________________
: TABLE : tr4009806 : FIELD : card_no : DATATYPE : NUMBER :
FIELDSIZE : 16 :
: 2 : FILE_NO : FIELDSIZE : 1 :

Más contenido relacionado

La actualidad más candente

109189338 tool-catalog-definition-tutorial
109189338 tool-catalog-definition-tutorial109189338 tool-catalog-definition-tutorial
109189338 tool-catalog-definition-tutorialIago Fernandez
 
Using Microsoft Excel7 Advanced
Using Microsoft Excel7 AdvancedUsing Microsoft Excel7 Advanced
Using Microsoft Excel7 AdvancedJack Frost
 
10 INTERSTING TRICKS FOR EXCEL
10 INTERSTING TRICKS FOR EXCEL10 INTERSTING TRICKS FOR EXCEL
10 INTERSTING TRICKS FOR EXCELrahul kumar
 
Excel Intermediate 2007
Excel Intermediate 2007Excel Intermediate 2007
Excel Intermediate 2007simply_coool
 
Workflow Manager
Workflow ManagerWorkflow Manager
Workflow ManagerEMAINT
 
Fasets Accelerated
Fasets AcceleratedFasets Accelerated
Fasets AcceleratedRudy Hubert
 
Excel Intro Part1 2007
Excel Intro Part1 2007Excel Intro Part1 2007
Excel Intro Part1 2007simply_coool
 
Sales invoice VBA excel user-form
Sales invoice VBA excel user-formSales invoice VBA excel user-form
Sales invoice VBA excel user-formKaran Verma
 
Creating Purcahse Orders
Creating Purcahse OrdersCreating Purcahse Orders
Creating Purcahse OrdersEMAINT
 
Excel tips&tricks
Excel tips&tricksExcel tips&tricks
Excel tips&tricksJoel May
 
Excel ppt
Excel pptExcel ppt
Excel pptnhumar
 
Getting Started Guide
Getting Started GuideGetting Started Guide
Getting Started GuideEMAINT
 
Excel Intermediate
Excel IntermediateExcel Intermediate
Excel Intermediatesimply_coool
 

La actualidad más candente (20)

MS Excel Tips & Tricks
MS Excel Tips & TricksMS Excel Tips & Tricks
MS Excel Tips & Tricks
 
109189338 tool-catalog-definition-tutorial
109189338 tool-catalog-definition-tutorial109189338 tool-catalog-definition-tutorial
109189338 tool-catalog-definition-tutorial
 
Using Microsoft Excel7 Advanced
Using Microsoft Excel7 AdvancedUsing Microsoft Excel7 Advanced
Using Microsoft Excel7 Advanced
 
10 INTERSTING TRICKS FOR EXCEL
10 INTERSTING TRICKS FOR EXCEL10 INTERSTING TRICKS FOR EXCEL
10 INTERSTING TRICKS FOR EXCEL
 
Excel Intermediate 2007
Excel Intermediate 2007Excel Intermediate 2007
Excel Intermediate 2007
 
Workflow Manager
Workflow ManagerWorkflow Manager
Workflow Manager
 
Excel Basic Knowledge
Excel Basic KnowledgeExcel Basic Knowledge
Excel Basic Knowledge
 
Excel booklet
Excel bookletExcel booklet
Excel booklet
 
Fasets Accelerated
Fasets AcceleratedFasets Accelerated
Fasets Accelerated
 
Excel Formatting
Excel FormattingExcel Formatting
Excel Formatting
 
Excel Intro Part2
Excel Intro Part2Excel Intro Part2
Excel Intro Part2
 
Dash board
Dash boardDash board
Dash board
 
Excel Intro Part1 2007
Excel Intro Part1 2007Excel Intro Part1 2007
Excel Intro Part1 2007
 
Sales invoice VBA excel user-form
Sales invoice VBA excel user-formSales invoice VBA excel user-form
Sales invoice VBA excel user-form
 
Creating Purcahse Orders
Creating Purcahse OrdersCreating Purcahse Orders
Creating Purcahse Orders
 
Excel tips&tricks
Excel tips&tricksExcel tips&tricks
Excel tips&tricks
 
Excel ppt
Excel pptExcel ppt
Excel ppt
 
Getting Started Guide
Getting Started GuideGetting Started Guide
Getting Started Guide
 
Excel Intermediate
Excel IntermediateExcel Intermediate
Excel Intermediate
 
BEx 7. Analyzer Work Instructions
BEx 7. Analyzer Work Instructions BEx 7. Analyzer Work Instructions
BEx 7. Analyzer Work Instructions
 

Similar a Re pr-co

Solved Practice questions for Microsoft Querying Data with Transact-SQL 70-76...
Solved Practice questions for Microsoft Querying Data with Transact-SQL 70-76...Solved Practice questions for Microsoft Querying Data with Transact-SQL 70-76...
Solved Practice questions for Microsoft Querying Data with Transact-SQL 70-76...KarenMiner
 
Sap Abap Reports
Sap Abap ReportsSap Abap Reports
Sap Abap Reportsvbpc
 
Report exchange designer
Report exchange designerReport exchange designer
Report exchange designerBhushan Rajgure
 
Report exchange designer
Report exchange designerReport exchange designer
Report exchange designerrlsotto
 
Management of database information system
Management of database information systemManagement of database information system
Management of database information systemKAZEMBETVOnline
 
Alv report-tutorial-www.sapexpert.co .uk-
Alv report-tutorial-www.sapexpert.co .uk-Alv report-tutorial-www.sapexpert.co .uk-
Alv report-tutorial-www.sapexpert.co .uk-Faina Fridman
 
SAP SD QUERY REPORT_GANESH
SAP SD QUERY REPORT_GANESHSAP SD QUERY REPORT_GANESH
SAP SD QUERY REPORT_GANESHGanesh Tarlana
 
Table maintenance generator and its modifications
Table maintenance generator and its modificationsTable maintenance generator and its modifications
Table maintenance generator and its modificationsscribid.download
 
Myth busters - performance tuning 101 2007
Myth busters - performance tuning 101 2007Myth busters - performance tuning 101 2007
Myth busters - performance tuning 101 2007paulguerin
 
I really need help with this Assignment Please in C programming not .pdf
I really need help with this Assignment Please in C programming not .pdfI really need help with this Assignment Please in C programming not .pdf
I really need help with this Assignment Please in C programming not .pdfpasqualealvarez467
 
Step by step abap_input help or lov
Step by step abap_input help or lovStep by step abap_input help or lov
Step by step abap_input help or lovMilind Patil
 
Mr20 enus 07-Report Design in Management Reporter 2.0 for Microsoft Dynamics®...
Mr20 enus 07-Report Design in Management Reporter 2.0 for Microsoft Dynamics®...Mr20 enus 07-Report Design in Management Reporter 2.0 for Microsoft Dynamics®...
Mr20 enus 07-Report Design in Management Reporter 2.0 for Microsoft Dynamics®...Sami JAMMALI
 
Change transport system in SAP
Change transport system in SAP Change transport system in SAP
Change transport system in SAP chinu141
 
MSCD650 Final Exam feedback FormMSCD650 Final Exam Grading For.docx
MSCD650 Final Exam feedback FormMSCD650 Final Exam Grading For.docxMSCD650 Final Exam feedback FormMSCD650 Final Exam Grading For.docx
MSCD650 Final Exam feedback FormMSCD650 Final Exam Grading For.docxgilpinleeanna
 
The ultimate-guide-to-sql
The ultimate-guide-to-sqlThe ultimate-guide-to-sql
The ultimate-guide-to-sqlMcNamaraChiwaye
 

Similar a Re pr-co (20)

Solved Practice questions for Microsoft Querying Data with Transact-SQL 70-76...
Solved Practice questions for Microsoft Querying Data with Transact-SQL 70-76...Solved Practice questions for Microsoft Querying Data with Transact-SQL 70-76...
Solved Practice questions for Microsoft Querying Data with Transact-SQL 70-76...
 
Sap Abap Reports
Sap Abap ReportsSap Abap Reports
Sap Abap Reports
 
Report exchange designer
Report exchange designerReport exchange designer
Report exchange designer
 
Report exchange designer
Report exchange designerReport exchange designer
Report exchange designer
 
BAPI - Criação de Ordem de Manutenção
BAPI - Criação de Ordem de ManutençãoBAPI - Criação de Ordem de Manutenção
BAPI - Criação de Ordem de Manutenção
 
DBMS winterc 18.pdf
DBMS winterc 18.pdfDBMS winterc 18.pdf
DBMS winterc 18.pdf
 
Sap abap
Sap abapSap abap
Sap abap
 
Management of database information system
Management of database information systemManagement of database information system
Management of database information system
 
Alv report-tutorial-www.sapexpert.co .uk-
Alv report-tutorial-www.sapexpert.co .uk-Alv report-tutorial-www.sapexpert.co .uk-
Alv report-tutorial-www.sapexpert.co .uk-
 
SAP SD QUERY REPORT_GANESH
SAP SD QUERY REPORT_GANESHSAP SD QUERY REPORT_GANESH
SAP SD QUERY REPORT_GANESH
 
Table maintenance generator and its modifications
Table maintenance generator and its modificationsTable maintenance generator and its modifications
Table maintenance generator and its modifications
 
Myth busters - performance tuning 101 2007
Myth busters - performance tuning 101 2007Myth busters - performance tuning 101 2007
Myth busters - performance tuning 101 2007
 
I really need help with this Assignment Please in C programming not .pdf
I really need help with this Assignment Please in C programming not .pdfI really need help with this Assignment Please in C programming not .pdf
I really need help with this Assignment Please in C programming not .pdf
 
Cs asd-fas
Cs asd-fasCs asd-fas
Cs asd-fas
 
Step by step abap_input help or lov
Step by step abap_input help or lovStep by step abap_input help or lov
Step by step abap_input help or lov
 
Mr20 enus 07-Report Design in Management Reporter 2.0 for Microsoft Dynamics®...
Mr20 enus 07-Report Design in Management Reporter 2.0 for Microsoft Dynamics®...Mr20 enus 07-Report Design in Management Reporter 2.0 for Microsoft Dynamics®...
Mr20 enus 07-Report Design in Management Reporter 2.0 for Microsoft Dynamics®...
 
Oracle General Ledger GL FSG
Oracle General Ledger GL FSG Oracle General Ledger GL FSG
Oracle General Ledger GL FSG
 
Change transport system in SAP
Change transport system in SAP Change transport system in SAP
Change transport system in SAP
 
MSCD650 Final Exam feedback FormMSCD650 Final Exam Grading For.docx
MSCD650 Final Exam feedback FormMSCD650 Final Exam Grading For.docxMSCD650 Final Exam feedback FormMSCD650 Final Exam Grading For.docx
MSCD650 Final Exam feedback FormMSCD650 Final Exam Grading For.docx
 
The ultimate-guide-to-sql
The ultimate-guide-to-sqlThe ultimate-guide-to-sql
The ultimate-guide-to-sql
 

Último

Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...BookNet Canada
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessWSO2
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...itnewsafrica
 
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...amber724300
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxfnnc6jmgwh
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFMichael Gough
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector
4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector
4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sectoritnewsafrica
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxAna-Maria Mihalceanu
 

Último (20)

Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
Transcript: New from BookNet Canada for 2024: BNC SalesData and LibraryData -...
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Accelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with PlatformlessAccelerating Enterprise Software Engineering with Platformless
Accelerating Enterprise Software Engineering with Platformless
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...Zeshan Sattar- Assessing the skill requirements and industry expectations for...
Zeshan Sattar- Assessing the skill requirements and industry expectations for...
 
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
JET Technology Labs White Paper for Virtualized Security and Encryption Techn...
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptxGenerative AI - Gitex v1Generative AI - Gitex v1.pptx
Generative AI - Gitex v1Generative AI - Gitex v1.pptx
 
All These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDFAll These Sophisticated Attacks, Can We Really Detect Them - PDF
All These Sophisticated Attacks, Can We Really Detect Them - PDF
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector
4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector
4. Cobus Valentine- Cybersecurity Threats and Solutions for the Public Sector
 
A Glance At The Java Performance Toolbox
A Glance At The Java Performance ToolboxA Glance At The Java Performance Toolbox
A Glance At The Java Performance Toolbox
 

Re pr-co

  • 1. ACADEMIC PROJECT ‘REPORT PROGRAMS’ CODE GENERATOR TOOL _____________________________________________________________________________________
  • 3. _____________________________________________________________ About the project An automated code generator will enforce common structure for all batch programs conforming to a specific logic. It will generate the maximum possible program code based upon few user inputs. This generator will also help in reducing coding time of programmers and increase the efficiency by allowing programmers to focus on the application logic. This implies a great reduction in development costs. This will also ensure ease of code maintenance. Project modules Input module: Developers will enter the inputs through web-based front-end screens. After initial validations, this information will be sent to the interfacer as HTML strings. The entire process of capturing inputs can take place in multiple stages. Interfacer module: The interfacer does further validations. The information is stored in Database (Oracle/Sql Server/ MySql) tables including intermediate stage Work-In-Progress details. Code generation module: When the developer initiates back-end code generation, the information in Database tables will be passed on through ASCII files to the back-end code generator. The back-end code generator accepts the ASCII file and generates the report generation code. Design Methodology The objective of the system is to generate code with required features. For this purpose certain input has to be accepted from the user regarding the application. All the inputs will be stored on to the tables and later on an ASCII file is generated based on this information. The ASCII file will be parsed and analyzed by the Lexical Analyzer and the relevant portions of information from the file will be collected in data structures, which will be later used to generate the desired code. After parsing, when the complete data from the file is extracted, the main control file will open four files to be generated. The four files which are thus generated will contain the code for the described features of main flow. The application specific code has to be incorporated to make the application complete.
  • 7. _____________________________________________________________ PROGRAM: This involves the program name for the application. Based on this program name details, the four files which are generated by the tool are named. INPUT TABLES: This is a collection of all the Tool tables used in the application. For each Tool table, relevant details such as field names, sort keys, filter clause etc. are collected and stored in the tables. OUTPUT REPORTS: This is a collection of information required to generate report from the program which was generated by the tool. INSERT/ UPDATE/DELETE OPERATIONS: These denote a set of operations that are made on the tables in the database which are incorporated in the program which was generated by the tool.
  • 9. _____________________________________________________________ SCREEN I: Login : Password : This is the first screen of the Tool Module. This screen accepts the Login and Password needed to use the Tool.
  • 10. _____________________________________________________________ SCREEN II : This screen is the main screen of the Tool module. All the other screens revolve around this screen. By clicking at the appropriate button, the relative screen is displayed. This screen displays the inputs to be captured UPDATE OPN OUTPUT REPORTS PROGRAM INPUT TABLES DELETE OPN INSERT OPN
  • 11. _____________________________________________________________ SCREEN III : PROGRAM Program Name : Description : Validations : Program Name -> Check if this program name is already available. If so, inform the user about the same.
  • 12. _____________________________________________________________ SCREEN IV : INPUT TABLES Table Name : Description : Table Column(s) Selected Columns(s) >> << Selected Column(s) SORT Keys >> << Duplicate : Yes No Filter Clause : Selected Column(s) ORDER BY Column(s) >> << Memory : Yes No *Table Size : * If Memory is 'Yes', then Table Size is entered. List SAVE CLEAR CANCELNEXT
  • 13. _____________________________________________________________ Validations : Table Name -> List of Values displays all the tables in the current database along with the description. Check if the table name exists in the database. If not, flash an error message and accept again. Description -> If description is available for the table, it is automatically displayed. Field Name -> If >> button is pressed, then display all the fields from this Table. If << button is pressed, then all the fields are deselected. Individual fields are allowed to select and deselect by clicking on the fields. Filter Clause -> Check for incorrect syntax or field names by parsing the text. All incorrect syntax are outlined in red so that the user can Correct his errors. Order By -> If >> button is pressed, then display all the fields from the Selected columns only. If << button is pressed, then all the fields are deselected. Individual fields are allowed to select and deselect by clicking on the fields. ISORT Key -> If >> button is pressed, then display all the fields from the Selected columns only. If << button is pressed, then all the fields are deselected. Individual fields are allowed to select and deselect by clicking on the fields. NEXT -> Allows to input the next Tool Table. CLEAR -> Clears the current entries CANCEL -> Cancels the current table information and goes to the menu SAVE -> Stores the Table Details and displays the following screen:
  • 14. _____________________________________________________________ SCREEN V: INPUT TABLE PRIORITY Table priority: Order By : Ascending Descending Table I Table II And so on. SAVE -> Goes to menu after saving it in database tables. CANCEL -> Goes to menu without saving. Table I Table II Table III Table IV Table V SAVE CANCEL ∧ ∨ ∧ ∨ SORT Key1 SORT Key2 SORT Key3 SORT Key1 SORT Key2 SORT Key3 ∧ ∨
  • 15. _____________________________________________________________ SCREEN VI OUTPUT REPORTS Report ID : Report Name : Header : Sub Header : Footer : No. of Lines : Validations: Value -> Display the list of Tool tables so that the user can select the table from which the data is to be fetched For this Table Name, list all the fields so that the user can Select the field name to get into the column as value. SAVE -> Goes to menu after saving it in database tables. CANCEL -> Cancels the current report information and goes to the menu. NEXT -> Allows to input the next Report information. Column Heading : Starting Position : Value : Starting Position : Length : Format : NEXT SAVE CANCEL VIEW Column Name Column Name Column Name
  • 16. _____________________________________________________________ SCREEN VII INSERT OPERATION Table Name : Description : Columns(s) Selected Column(s) >> << Values : Beeline Element : Validations : Table Name -> List of Values displays Input tables with the description. Description -> If the description is available for the table, it is automatically displayed. Field Name -> If >> button is pressed, then display all the fields from this Table. If << button is pressed, then all the fields are deselected. Individual fields are allowed to select and deselect by clicking on the fields. Values -> Displays a list of Input tables which are selected for the current application and after choosing the tables, a list of all fields of this table are given. A default variable is provided to the user if the value is a computed value. Element -> This denotes the place inside the program, where this INSERT Processing should be done. List List List SAVE CANCELNEXT
  • 17. _____________________________________________________________ SAVE -> Goes to menu after saving it in database tables CANCEL -> Cancels the current report information and goes to the menu NEXT -> Allows to input the next INSERT information.
  • 18. _____________________________________________________________ SCREEN VIII UPDATE OPERATION Table Name : Description : Columns(s) Selected Column(s) >> << Values : Filter Clause : Beeline Element : Validations : Table Name -> List of Values displays input tables with description Description -> If the description is available for the table, it is automatically displayed. Field Name -> If >> button is pressed, then display all the fields from this Table. If << button is pressed, then all the fields are deselected. Individual fields are allowed to select and deselect by clicking on the fields. Values -> Displays a list of input tables which are selected for the current application and after choosing the tables, a list of all fields of this table are given. A default variable is provided for the user if the value is a computed value. Element -> This denotes the place inside the program, where this UPDATE Processing should be done. List List List SAVE CANCELNEXT
  • 19. _____________________________________________________________ SAVE -> Goes to menu after saving it in database tables CANCEL -> Cancels the current report information and goes to the menu NEXT -> Allows to input the next UPDATE information.
  • 20. _____________________________________________________________ SCREEN IX DELETE OPERATION Table Name : Description : Filter Clause : Beeline Element : Validations : Table Name -> List of Values displays input tables with description Description -> If the description is available for the table, it is automatically displayed. Field Name -> If >> button is pressed, then display all the fields from this Table. If << button is pressed, then all the fields are deselected. Individual fields are allowed to select and deselect by clicking on the fields. Element -> This denotes the place inside the program, where this DELETE Processing should be done. SAVE -> Goes to menu after saving it in database tables CANCEL -> Cancels the current report information and goes to the menu NEXT -> Allows to input the next DELETE information. List List SAVE CANCELNEXT
  • 22. _____________________________________________________________ Table Layouts The details collected by the information collector are stored in the database using the following tables: S.No Table Name Description 1 PGM_TBL Program Level Details 2 INPUT_TBL Input table details 3 FIELD_TBL Field details of the Input tables 4 RPT_TBL Report Details PGM_TBL PGM_TBL is a master table which stores details at the Program Level. This table will have an entry for each program that is generated using the tool. S.No Field Name Description Type Length 1 pgm_name Program Name varchar 8 2 pgm_desc Program Description varchar 30 3 sort_order Order by clause of the cursor varchar 1 declarations of beeline tables. 4 commit_sz Commit size for the output number 3 INPUT_TBL INPUT_TBL is a detail table which stores details of all the tables used in the program. The program name and table name form the unique key for the table. S.No Field Name Description Type Length 1 pgm_name Program Name varchar 8 2 table_name Table Name varchar 10 3 table_desc Table Description varchar 30 4 table_type Type of the table like varchar 1 [I]nput] / O]utput tables. 6. table_priority The priority of the input number 2 tables only . 7. dup_alld Whether duplicate records varchar 1 are allowed or not .
  • 23. _____________________________________________________________ 8. dml_flag If the table is an output varchar 1 table , then an [I]nsert / [U]pdate / [D]elete operation should take palace. 9. filter_clause The where clause of the varchar 100 table . FIELD_TBL FIELD_TBL is a detail table which stores details of all the fields used in the program. The program name and table name is the key combination for selecting all the related fields of a particular table. S.No Field Name Description Type Length 1. pgm_name Program Name varchar 8 2. table_name Table Name varchar 10 3. field_name Field Name varchar 30 4. fileld_expr Field Expression varchar 40 5. fileld_size Field Size number 3 6. field_occ_cnt Field Occurrence number 3 7. field_type Field Type varchar 1 8. field_category Field category varchar 1 [S]ort/[N]ormal RPT_TBL RPT_TBL is a detail table which stores details of all the Reports used in the program. S.No Field Name Description Type Length 1. pgm_name Program Name varchar 8 2. report_name Report Name varchar 10 3. key_1 Reserved Words like varchar 30 Header/Footer etc. 4. value Value for the key specified varchar 300
  • 25. _____________________________________________________________ EXTRACT ASCII FILE STRUCTURE ASCII files will be created containing the information accepted from the front-end screens. This data will also be present in the tables. A sample ASCII file structure is given below: INPUT_TABLE : 01 : CDMST : : FIELD : card_num : OCC_CNT : 1 : ACT_FIELD : card_num : DATATYPE : NUMBER : FIELDSIZE : 16 : : FIELD : cust_no : OCC_CNT : 1 : ACT_FIELD : cust_no : DATATYPE : NUMBER : FIELDSIZE : 8 : : FIELD : cyc_code : OCC_CNT : 1 : ACT_FIELD : cyc_code : DATATYPE : NUMBER : FIELDSIZE : 4 : : FIELD : card_status : OCC_CNT : 1 : ACT_FIELD : card_status : DATATYPE : VARCHAR2 : FIELDSIZE : 2 : : FIELD : stat_chg_date : OCC_CNT : 1 : ACT_FIELD : stat_chg_date : DATATYPE : VARCHAR2 : FIELDSIZE : 6 : : FIELD : mem_since : OCC_CNT : 1 : ACT_FIELD : mem_since : DATATYPE : NUMBER : FIELDSIZE : 6 : : FIELD : highest_billed : OCC_CNT : 1 : ACT_FIELD : highest_billed : : A_KEY : card_type = 20 and card_mem_type <> 'A': : ORDER : ASC : : DUP_ALLW : Y : ERR_TYPE :: : PRIORITY : 1 : : ARR_SIZE : 500 : : DESCRIPT : master : ; INPUT_TABLE : 02 : tr4009806 : : FIELD : card_no : OCC_CNT : 1 : ACT_FIELD : card_no : DATATYPE : NUMBER : FIELDSIZE : 16 : : FIELD : cyc_code : OCC_CNT : 1 : ACT_FIELD : cyc_code : DATATYPE : NUMBER : FIELDSIZE : 2 : DATATYPE : NUMBER : FIELDSIZE : 10 : : FIELD : deliq_cnt : OCC_CNT : 1 : ACT_FIELD : deliq_cnt : DATATYPE : NUMBER : FIELDSIZE : 2 : : FIELD : min_due : OCC_CNT : 1 : ACT_FIELD : min_due : DATATYPE : NUMBER : FIELDSIZE : 10 : : FIELD : memo : OCC_CNT : 1 : ACT_FIELD : memo : : ORDER : ASC : : DUP_ALLW : Y : ERR_TYPE :: : PRIORITY : 2 : : ARR_SIZE : 500 : : DESCRIPT : Transaction : ; SORT_SEQ : 01 : ISORT_FIELD : 0 : EOF1 : FIELDSIZE : 1 : : 1 : TABLE : cdmst : FIELD : card_num : DATATYPE : NUMBER : FIELDSIZE : 16 :
  • 26. _____________________________________________________________ : TABLE : tr4009806 : FIELD : card_no : DATATYPE : NUMBER : FIELDSIZE : 16 : : 2 : FILE_NO : FIELDSIZE : 1 :