Sandesh Plag Report PDF
Sandesh Plag Report PDF
Sandesh Plag Report PDF
Originality Assessment
19%
Overall Similarity
v 8.0.7 - WML 3
FILE - ETD_31_SANDESH_SHENDE_INTERNSHIP_PROJECT_REPORT.PDF
Page 1 An Internship Report on “Audit Report Automation” A project with NICE Interactive
Sandesh Shende (GR NO. 11910487) Under the guidance of Mr. Dheerendra Kumar
University) Certificate This is to certify that the internship report titled, Automation of
Bonafede work carried out by him under guidance of Industry mentor Mr. Dheerendra
Kumar and College mentor Prof. Abha Marathe 15 in partial fulfillment for the award of the
Kumar Prof. Abha Marathe (Group Manager, NICE Actimize) VIT, Pune Signature
Signature Internship Coordinator Head of the Department Prof Dr Ashwini Pulujkar Prof.
Director, VIT Pune for providing the facilities of the Institute and for his encouragement
during this work. I also express my deep gratitude to Prof. (Dr.) Shripad Bhatlawande, the
Head of the Department of Electronics and Telecommunication Engineering, VIT Pune for
his guidance and support. 15 I would like to thank my group manager, Professional
Service, Cloud ActimizeWatch Mr. Dheerendra Kumar and the employees of NICE
Interactive Solutions, Pune for providing me with guidance and help on 19 every step of
the way during this internship and for imparting me with invaluable knowledge and teaching
the enthusiastic supervision of my internship guide, Prof. Abha Marathe for her continuous,
valuable guidance, patience, constant care, and kind encouragement throughout the
internship work that made me present this internship report in an efficient manner. Final1y,
I wish to thank my family members and my friends who have always been very supportive
Page 5 INDEX Chapter 1 Introduction to Internship Domain Page no 1.1 Theme 09 1.2
Problem statement 11 1.3 Aim and Objective 11 1.4 Scope 11 Chapter 2 Literature
23 4.1 Input 23 4.2 Bash Script 23 4.3 Output 25 4.4 Challenges Faced 26 Chapter 5
Result and Discussion 27 Chapter 6 Conclusion and Future Scope 34 6.1 Conclusion 34
Page 6 LIST OF FIGURES Fig. No. Name Of figure Page No. Fig.1 31 System Flow
Diagram 19 Fig.2 Flow Chart of System Implementation 22 Fig.3 Output Status 27 Fig.4
Log Messages 28 Fig.5 Output Files Before Merging 29 Fig.6 Output Files After Merging
30 Fig.7 Merged Output File with Formatting Done 31 Fig.8 Error on Invalid Credentials 32
Page 7 LIST OF Tables Table. No. Name Of table Page No. Table.1 Validation Test
Cases 25
Page 8 ABSTRACT The purpose of this document is to help understand the purpose of
automation and how it can help automate manual tasks. This utility will run on the user’s
environment and enable the implementers to generate the excel output files and check the
daily logs for error handling. Automation is described as 3 the process of creating
software and systems to automate repetitive tasks and reduce the need for manual
formerly time-consuming tasks that required human interaction. Automation of many data
center and cloud activities can lead to speedier operations. A fully automated infrastructure
can cut the time it takes to supply production-ready resources from weeks to less than a
day. IT automation is becoming increasingly important for businesses as they navigate and
manage the complex present technological landscape. It also has several concrete
benefits: Cost savings: IT automation demands fewer labor hours to complete routine
tasks. Automation can also increase productivity, reduce infrastructure costs by maximizing
resource utilization, and reduce costs associated with human error. Time savings: By
automating the most repetitive and time-consuming operations, IT employees may devote
more time to higher-level tasks. Faster operations: IT automation has the potential to
drastically accelerate data center and cloud operations, reducing service and resource
delivery times from weeks to hours. Reduced errors: Automation fosters consistency on a
large scale, which is impossible to achieve with workers performing manual tasks. Better
security: The danger of a breach is decreased since automated processes require fewer
Actimize, a prominent player in the 12 financial crime and compliance management field,
solutions globally. It is renowned for being the largest supplier of financial crime, risk, and
compliance solutions to both regional and global financial institutions and government
agencies. NICE Actimize stands out in the industry by utilizing modern technology to
safeguard institutions and protect customers' and investors' assets through the detection of
financial crime, fraud prevention, and regulatory compliance assurance. The company's
detection, and trading surveillance solutions, encompassing areas such as payment fraud,
cybercrime, sanctions monitoring, and customer due diligence. These solutions can aid
the entire client life cycle. By gathering dynamic customer information, integrating data
analytics, and obtaining insights into ultimate beneficial ownership, businesses can make
swift and informed decisions regarding onboarding and Know Your Customer (KYC),
providing a seamless KYC experience. With always-on payments and party screening,
businesses can obtain precise screening results. This screening involves extensive third-
party risk data, robust algorithms, and predictive scoring for accurate hits. Adaptive 37
Customer Due Diligence (CDD)/Enhanced Due Diligence (EDD) and always-on customer
due diligence enable businesses to maintain always-accurate customer risk profiles and
monitoring and detection efficacy by sending high-risk signals to the relevant team at the
to anti-money laundering (AML) analytics, offers comprehensive coverage of all red flags
related to money laundering. By utilizing these solutions, businesses can improve their
compliance monitoring, make informed and accurate risk decisions, and create revenue
opportunities across all business verticals. 46 Entity Risk provides a reliable risk score and
Reporting (STAR) files provide law enforcement with accurate intelligence. B. 23 NICE
KYC/CDD program can exacerbate the overall Anti-Money Laundering (AML) program. 38
Adapting to the demands of a dynamic regulatory environment is particularly challenging
customer and their associated risks. Inadequate controls and operational difficulties can
enhancements with 9 customer onboarding, ongoing due diligence, and enhanced due
diligence (EDD) processes to deliver extensive client life cycle risk coverage. Using X-Sight
DataIQ, financial services organizations can enrich customer and counterparty risk profiles
Page 10 intelligence from hundreds of external data sources. These integrated insights
enable organizations to adopt a higher level of customer centricity and quickly respond to
opportunities and threats throughout the customer life cycle, all while ensuring compliance
learning are combined with KYC/CDD domain expertise to create operational efficiencies
critical aspect of financial crime programs, but it has been plagued by various challenges
such as slow and lengthy tuning cycles, limitations in typology coverage, and technology
constraints. These persistent issues have resulted in missed suspicious actions and the
resources. Transaction volumes are growing, rules are becoming more stringent, and
criminal typologies are continuously evolving. To effectively identify and analyze suspicious
Markets Compliance The financial sector is subject to strict regulations that require a
regulatory jurisdictions. 41 The SURVEIL-X Holistic Trade Compliance platform can help
communication and reduces repetitive tasks while still maintaining compliance with
organizations can gain greater insight into their operations and improve their ability to
become a top priority for regulators worldwide. Regulators are increasingly aggressive in
investigating and imposing penalties and sanctions on firms that lack adequate compliance
procedures and systems. To 33 avoid costly fines and protect their reputation, financial
institutions, broker/dealers, and prospective commission merchants can utilize the Market
regulatory obligations. The Market Surveillance feature helps these organizations monitor
utilizing this technology, organizations can ensure they remain compliant and avoid
Page 11 1.2 PROBLEM STATEMENT Automation of Audit Reports to minimize the time
required and efforts 30 in terms of manual work. 1.3 AIM AND OBJECTIVE 1.
Automation of reports to save time and effort by eliminating manual work. 2. Elimination of
possible errors due to manual intervention. 3. To upload the reports directly to the
appropriate location. 1.4 SCOPE 1.4.1 Input • .CONFIG file • .SQL Script files •
Validation: a. Check whether the given credentials are valid. b.Check whether the sql
queries are valid. c. Check whether each query executes within a defined time period.
d.Delete log files and excel files older than a particular retention period. e. Check whether
the paths specified in the file exist. 1.4.2 Output • Excel file • Log file
Page 12 CHAPTER 2 LITERATURE REVIEW In this paper [1], the authors report an
explanation of the function of automation in security patch management. The authors draw
the conclusion that although the security patch management workflow in practice
incorporates both manual and automated approaches, 7 the majority of the tasks are
carried out entirely by people due to the constraints imposed by the existing
automation/tools and the absence of the ability of the accessible automation to deal with
certain use cases demanding human involvement. This conclusion is based on semi-
structured interviews with 17 practitioners. This study enables authors to clarify why and
The results show that human engagement in some workflow tasks, notably in decision-
making based on contextual awareness and instinct, is essential for security patch
administration. They suggest that in the future, bug management tool creation should focus
to support the ideal equilibrium between automation and the involvement of humans in the
security update management process, writers detail how and what functions may be
required for future development. They also discuss how to successfully handle the current
gaps and user needs. The paper [2] discusses the difficulties with manual data analysis
bottlenecks. To solve this problem, the authors developed a freely accessible Python script
that uses calculations that are often done manually to automate the processing of
data, auto-qPCR is a technology that aids in ensuring the repeatability of qPCR experiment
analysis. Their web-based application is simple to use and doesn't call for 24 the
treat, display, and perform statistical evaluations for four distinct 2 data processing modes
using AutoqPCR: (1) DNA quantification to detect genomic duplication or deletion events;
(2) evaluation of the expression of genes levels using a definite model; and (3) relative
quantification with or without a reference sample. Their free Auto-qPCR program offers a
better organized process and cuts down on the time required for manual data analysis,
lowering 3 the possibility of mistakes. The 8 program is a fresh tool that might be added
to molecular biology and bioinformatics pipelines in both clinical and academic labs. In
order to maintain [3] servers and devices working around-the-clock, the study offered an
automated network management and monitoring system that lessens the duties of network
troublesome devices, pinpointing their location, and determining how they affect the
notification to the network administrator right away. The suggested approach provides
portability, dynamic network scalability, and avoids problems with integration and
requiring no special administration input or care. The proposed method also gives network
managers freedom. A new email notification will be sent to the next accountable person on
the priority list if the person in charge is busy and does not fix network flaws/problems
within a pre-specified timeframe, and so on. The distinctive characteristics and the
experimental support for them demonstrate 8 the value of the suggested network tracking
Page 13 every alert from the UPnP-based monitoring system produce a ticket in RT. This
would broaden the system for network management and monitoring 25 that has been
proposed. The paper [4] describes a method for identifying and exploiting vulnerabilities
using a specific Python tool.. Since only manual methods could previously be used, all of
the work is now automated. Instead of first analyzing each endpoint, the whole site is
browsed to gather endpoints, and then it is abused with payloads. The programming
language chosen to create this utility is Python. The Python code that forms the core of the
vulnerable buffer is specified and self-formatted, and the application itself is automated to
deliver reports to the appropriate personnel. The relationship [5] between technology
strategy and structure is explained using a framework in this research in the context of
technological decisions to the outside world of a company and utilizing the notion of "fit."
The framework serves as a starting point for research into the specific connections brought
about by flexible automation as well as the proposed connection between this automation,
strategies, and structure. A collection of study hypotheses is put forth to support the idea
that when the approach 17 and structure are in line with the capabilities and limitations of
the firm's technological option, higher performance can ensue. The paper [6] based on a
substantial number of practical attack traces retrieved from our honeypots, attack tools
bought from the illegal market, and data collected from high-profile IoT intrusions, the
authors of this research undertook a detailed investigation. This study provides fresh
insight into the security implications of current IoT system device vulnerabilities: 13 On the
other side, such reliance on known vulnerabilities can actually be exploited against
adversaries. Current cyber attacks depend heavily on these known flaws and the attack
code made available through their disclosures. The same bug reports that make it possible
to build an attack at a low cost can also be utilized to extract insecurity-specific features
that help with the assault's defense. In specifically, the authors gather and evaluate over
7,500 security reports from various bug-reporting blogs, mailing lists and forums on the
Internet, totaling 12,286 securities critical IoT vulnerabilities. They show how malware
detection or firewall systems can successfully neutralize threats from current IoT-based
processing. The paper used data [7] from empirical studies on automation of services 12
to address the following two questions: 1.) Why are customers implementing service
automation, and what results are they getting as a result? And secondly: Which techniques
separate 48 the results of service automation? They conducted two surveys of outsourcing
developers, and service automation adopters. Numerous case study participants thought
that using CA automation techniques to handle unstructured data was the next horizon.
They want unstructured text, like emails or text messages, to be read by robots and
understood. Robots can digest enormous amounts of unorganized information quickly, and
their ability to provide a response in real time will greatly improve customer service. In
actuality, this would imply that a customer service representative on a call with them may
ask a machine to mine vast volumes of data to assist clients in finding solutions to
problems quickly.
Page 14 The paper [8] has developed a simple structure for plotting cognitive science
along two axes. It begins by recognizing that these technologies vary 30 in terms of how
self-sufficiently they can use their intelligence. On the low end, they just respond to
requests from people and follow orders; on the upper spectrum (still theoretical), they set
their own objectives. The move from conventional numerical analysis to actual physical
and digital work reflects the types of tasks that smart robots are used to carry out. Due to
the range of inputs and data types, real-world tasks are more challenging for robots to
execute. According to the authors, humans will always have an advantage over even the
most intelligent machines. They perform better when interpreting unstructured material,
They have the mental flexibility to successfully complete several things at once. In the not-
too-distant future, when cognitive systems will be pervasive, the ability of any organization
be built on the judgment and versatility that come with these core advantages. The paper
[9] claims that as the population of people of working age continues to shrink, automation
will be crucial in supplying a minimum of the workforce productivity increase that the world
economy requires over the next fifty years. Even if it does not allow emerging economies to
independently achieve their fast-growth ambitions, it will significantly contribute to GDP per
capita growth. Given the multiplicity of circumstances surrounding the rate and scope of
automation technology adoption, there will surely be some surprises. We'll see significant
changes in workplace activities throughout the coming century. These patterns are already
present. There are steps that can be taken right now to get ready so that the world's
economy can take advantage of the benefits presented by automation while avoiding the
take action. The paper presents a method [10] for Generating Reports from Templates
(ASGRT) that tries to provide a simple, yet effective architectural design aimed at giving
power to the more experienced administrators and simplicity to common end users, to 1
generate reports from their databases with their own criteria and design. With the help of
the provided software, custom reports with varied levels of usability and flexibility can be
created. These reports can contain text and tags that are recognized and replaced with
values retrieved from a database. The ASGRT can be utilized in many situations where
databases are used to store data, reports must be created in a variety of unanticipated
ways, and database data collection must be automated. It can be used for a variety of jobs
in public administration, hospitals for the creation of patient medical records, schools for
the quick preparation of student reports as needed, and warehouses and accounting
organizations. The main benefit of ASGRT is that it 2 can easily be integrated into
programs that take advantage of the web interface's reach and are not restricted to
desktop programs. 1 Using this application, it is very easy to develop a template for a
new report that needs to be generated from a particular database without altering the
application logic. For the process of creating tags that may be reused along with data in
many templates, very little database knowledge is required. Users of ASGRT only interact
with the GUI (Graphical User Interface), which is a web-based interface. It is made up of
numerous online sites that let users log in, browse and select files for the application to
process, and get a finished report. The paper proposed network technologies [11]
significant flow of internet-based applications like ERP, CRM, SCM, etc. These web
systems and numerous reports are now necessary for all company users to use 15 in
order to fulfill their tasks. 11 However, in a traditional software system, all report formats
Page 15 are predetermined throughout the system design and development phase and
are difficult to change once the system has been deployed. However, because business
and management practices in modern businesses are always evolving, the related report
formats must be adaptable enough 3 to keep up with these changes. Therefore, a major
challenge for web system designers is always how the software systems may provide a
method to allow the reports and their formats to readily modify and upgrade without
modification of the source code. Here, using component, 1 software bus, and template
that may enhance the acceptance, extension, flexibility, and customization of report
formats. A task-driven web report model is shown here 39 as an example in order to offer
a fresh approach for addressing the flexibility and changeability of web reports without
altering the existing web software source code. The paper provides a document-driven [12]
method to report production, which offers greater flexibility than the conventional schema-
user-defined SGML-based report model. The contents of a report can be specified using a
transformation language in combination with queries that retrieve data from several
databases. Reports are created as SGML documents that can be modified and converted
into other formats, like HTML for reading in an Internet browser. This paper demonstrates
the technique using an example and describes the properties and application of the
examined the translation for relational databases, we think that this method can
synchronize report generation for various database models. In a nutshell, this work's
independent language that can unite two well-established technologies (SGML and
databases) for the goal of producing reports incorporating 39 data from the databases.
Because it has broken loose from the long-standing practice of having report-generation
facilities tied closely to database systems, it is a more generic approach. Since the
to the usage of SGML, this approach supports the independence between logical and
physical features of reports. As a result, 39 the contents of the report are accurately
recorded, preventing information loss. Additionally, database reports can be converted into
high-quality documents that can be further processed, for example, for analysis purposes,
thanks to the usage of SGML as an output format. The paper [13] described the structure
order to assist effective time and cost tracking and control of building projects. The main
elements of the suggested cost/schedule control system were also defined by the study.
42 A number of automated data acquisition systems were briefly described, with a focus
on how they might be used in the building industry. The research system may quickly
report on project progress by 43 capturing text, numerical, and graphical data. The
database for the proposed system was also created to help management teams manage
construction claims and carry out project tracking and control tasks effectively. The paper
talks about [14] 22 an electronic course survey system created to aid in the evaluation of a
difficult, time-consuming, and expensive in distance education due to the scale and
was based in part 22 on web-based surveying, but placed a strong emphasis on the
reports that could be produced quickly and easily after each module presentation. Before
discussing potential future developments in this field and examining 42 some of the
process, the paper first discusses the system and its influence on the review process. A
method for automated report production is presented 1 in this paper [15], and it is
necessary for an interdisciplinary research community to handle the difficult problems that
Workflow and Process Automation in Information Systems, which took place May 8–10,
1996, at the State Botanical Garden of Georgia, led to this result. A number of
worked together to create this report, which details the conclusions of significant group
conversations and idea exchanges. This paper's major objective [16] is to reduce errors
during the development process. Given that it is the secret to expediting the quality
projects, a test team fresh to agile practices and Test Automation presents actual findings
and issues in this article. It has been shown 5 that it is possible to adopt agile practices to
preserve software testing management and organization while attending to the project
goal, working to address issues, and looking for integrated open-source testing tools.
Automation served 31 as a tool for task allocation, cost reduction, and software
documentation. On the other hand, there are a number of technological solutions that have
been documented 5 in the technical literature that might be used to avoid the discrepancy
perspective [17] that is used to ascertain which tactics data providers, software providers,
and media outlets apply to develop automated reporting, which compiles perspectives
across the entire line of news production. 10 The results of 11 in-depth interviews show
that non-journalistic actors are significant contributors to the news production process
because all actors work together on software development, data processing, and training.
Furthermore, Automation can also deliver extra information, such as match and history
coverage, to fill in any gaps in capacity. However, the only sport that can now use
automation efficiently is amateur football given the commercial reason for it. Although
many players in the process claim that automated content benefits their readers, they also
insist that the quality of the content should come first and that quantity should come
second. This indicates that some media sources make minor changes to automated
content to raise the caliber of their sports journalism. A few media outlets employ
automatically generated pieces as the basis for in-depth reporting, but most see
automation as a useful tool that enhances their labor. The paper discusses microprocessor
technology [18] 11 and how it has made it possible to automate a number of traditionally
manual tasks on the flight deck of commercial aircraft. 5 However, it is unclear if these
functions should be automated, given the multiple human factors concerns. A NASA
industry 52 workshop was held to determine the human factors and challenges related to
flight deck automation that would call for additional study. The scope of automation, its
advantages, and its drawbacks were discussed, and the participants compiled a list of
potential research subjects. This report summarizes the workshop talks and includes the
workshop questions. The session's emphasis was on flight deck automation, although the
issues raised, and the research questions posed are more generally applicable to most
Page 17 The paper identifies and describes [19] a method for testing software
components at the component level that can, in an efficient manner, advance defect
methodology in which test code is produced before product code, and 5 a test automation
tool for component-level testing were both developed by Ericsson AB in two projects.
Instead of writing 2 tests for each function in every class, the implemented approach
deviates from how TDD is applied in Extreme Programming (XP) in that it creates tests for
components that exchange XMLs. This paper discusses the 44 test automation tool that
was used, how test-driven development was implemented using the tool, and the
practice, medical imaging is widely employed for diagnosis and therapy. For unskilled
physicians, report writing can be error-prone, while for expert physicians, it can be
timeconsuming and tiresome. To address these concerns, the authors investigated the
automatic creation of medical imaging reports. This task involves various difficulties. To
begin, a comprehensive report covers a wide range of information, including findings and
tags. Second, it is difficult to recognize aberrant regions in medical pictures. Third, the
responses are often lengthy, with many phrases. To address these challenges, the authors
(1) develop a multi-task learning framework that jointly performs tag prediction and
abnormalities and generate narrations for them, and (3) create a hierarchical LSTM model
to generate long paragraphs. On two publicly available datasets, the authors illustrate the
audit reports 5 in order to reduce the efforts in terms of manual work and required time to
complete the activity of extracting and sharing the reports. 3 By automating the process,
user can potentially save a significant amount of time and effort that would otherwise be
spent manually extracting and compiling data for the reports. This can lead to increased
productivity and more efficient use of resources. Automating 4 the generation of reports
can also help to reduce the likelihood of errors or mistakes, as the process can be
standardized and controlled. This can improve the accuracy and reliability of the reports,
which is especially important for audit reports where accuracy is critical. With the help of
the script, we will be able to login to the MSSQL server and access the test credentials
from the config file (viz. username, password, and server). After the validation of these
credentials, we can subsequently access the SQL Query files. On further validation of
these queries, output files (in excel format) 2 will be generated. With the help of
‘ssconvert’ library, 11 which is a part of the Gnumeric package, we will be able to merge
the output files into a single .xlsx file consisting of the same number of worksheets as there
are queries (provided they are valid). Thus, 25 the process of automation of reports will
successfully conclude. Additionally, the implementers can check the log file and perform
error handling as and when required as shown in fig.1. ssconvert is a command-line tool
that is 1 a part of the Gnumeric Spreadsheet program, which is a free and open-source
spreadsheet application for Linux and other operating systems. 21 ssconvert is a utility that
converts spreadsheet files from one format to another. It can read various spreadsheet file
formats, such as CSV, Excel, OpenDocument Spreadsheet, Gnumeric, and more, and
convert them to other formats such as CSV, HTML, LaTeX, PDF, and more. The ssconvert
library is also available as a separate package on Linux systems, which provides 1 a set
of functions and APIs that can be used by other applications to manipulate and convert
spreadsheet files. These APIs 3 can be used to create custom tools and applications that
work with spreadsheet files, and they provide a convenient way to automate tasks that
involve manipulating and converting spreadsheet files. Gnumeric was tested successfully
environment is pending. The credential file contains the username, password, servername,
path to log file, path to output file. The reason 1 for storing the paths as well is that these
variables are static. If there needs to be performed modification of the script file or the sql
query files, it wouldn’t affect the credential file. Output files are stored in .xlsx format rather
than csv format because we might encounter formatting issues in the csv file. Additionally,
ssconvert library supports merging of files from excel format/csv format to excel format.
Page 20 3.1 METHODOLOGY Database is required to generate a report for that firstly we
need to create a database in MS-SQL server. In that database, different tables are created
with appropriate entries. Creating tables involves defining 25 the structure of the table,
including the names and data types of the columns, as well as any constraints or indexes
that need to be applied. Populating the tables involves inserting 2 data into the tables,
either manually or using automated scripts. Once 1 the database is set up with the
appropriate tables and data, we can then use SQL queries to retrieve the information
needed to generate the report. The SQL queries can be written manually or generated
using automated scripts, depending on the complexity of the report and the amount of data
being queried. The data retrieved from the SQL queries can then be used to generate the
report in the desired format, such as Excel or CSV. Basically, there are three directories, a)
Log directory for giving the status of the project and error handling, b) Script directory
which contains SQL scripts as well as config file, and c) Output directory to store
automatically generated reports. The Log directory 4 is used to store the status of the
project and any errors that occur during the program execution. This allows the user to
track the progress of the program and identify any issues that may arise. The Script
directory contains the SQL scripts needed to execute the queries 38 and generate the
reports, as well as a config file that may contain configuration settings for the program. This
directory is important for organizing and managing the various files needed to 8 run the
program. Finally, the Output directory is used to store the automatically generated reports.
This 4 ensures that the reports are easy to access and organize, and that they can be
easily shared or distributed to others as needed. The log file contains the status of the
project. If any error occurs, it will be appended in the log file. If the credentials are correct,
then a “Login Successful” message will appear in the terminal and be appended in the log
file otherwise errors will appear in the terminal and be appended in the log file. There is
only one log file a day and every time we run the program, the status of the program is
added to the log file with a timestamp. After that it will check for the sql queries, there are
multiple queries in the script directory. If everything is correct, then a “Query Executed
Successfully” message will appear in the terminal and append in the log file otherwise it will
give an error and also show an error in the sql query. After everything is correct it will
generate multiple excel reports for multiple sql queries then these excel reports are merged
20 into one excel file with different excel sheets. The excel report is then converted into an
appropriate format by removing the dotted line from it and removing no. of rows affected
from the report. The log file 4 plays an important role in this process, as it tracks the
status of the program and any errors that occur. If an error occurs, it will be appended to
the log file. On the other hand, if the credentials are correct, a "Login Successful" message
will appear in the terminal and be added to the log file. There is only one log file per day,
and every time 2 the program is run, the status of the program is added to the log file with
a timestamp. This allows the user to track the progress of the program over time and
identify any issues that may have occurred. Once the program has verified that the SQL
queries are correct, it will execute them and generate multiple Excel reports for each query.
These reports are then merged 20 into a single Excel file with different sheets. Finally, the
Excel report is formatted by removing the dotted 8 line and the number of rows affected
from the report. This helps to ensure that the report is easy to read and understand, and
that it provides the necessary information to the user in a clear and concise format.
report generation if credentials are true then “Login Successful” else error will append in
log file for every sql file do if sql file is correct then “Query Executed
Successfully” else error in this sql file if everything is correct then “Audit File
Created Successfully” for end function end Merged all excel files into one 20 excel file
with different sheets Delete files except merged file 3.3 BLOCK DIAGRAM Firstly, we are
accessing the test credentials for login into the database from the config file. If the test
credentials are valid, then only we 28 are able to connect to the database. If there is any
error in the test credentials, then we cannot connect to the database and that error will
appear in the terminal as well as stored in the log file. After that, a function is created to
check different conditions to generate the report. If the test credentials are valid then only,
we are login into the database, login successful message 2 is stored in the log file. Then
it will go for the sql files, if each file is error-free then only a report will be generated for
each sql file. If there is an error in 11 any of the sql files in the directory, an error message
will appear in the terminal as well as appended in the log file and a report will not be
generated for any of the sql files. If everything is right, then only a report file will be
generated. After generating separate reports for each sql file, these reports are merged
into one single excel file with multiple sheets in it and all the other files except the merged
file will be deleted. 4 The first step is to check that the test credentials for logging into the
database are valid. This is done by accessing the information from a config file. If the
credentials are valid, then the program can proceed 28 to connect to the database and
generate the reports. If there is an error with the credentials, the program will not 11 be
able to connect to the database, and an error message will be displayed in the terminal
and stored in the log file as shown in fig.2. Once the program has successfully connected
to the database, it will check the SQL files in the script directory to ensure that there are no
errors. 14 If there are errors in any of the SQL files, the program will not generate a report
for any of the SQL files and display an error message in the terminal and log file. Assuming
there are no errors, the program will generate separate reports for each SQL file. These
reports will be in Excel format, and they will be stored in the output directory. After
generating the separate reports, the program will merge them 20 into a single Excel file
with multiple sheets in it. Finally, all the other files except the merged report will be
deleted.
Page 23 CHAPTER 4 EXPERIMENTATION 4.1 INPUT The script will be fed with a
server = servername. 4. path to output 5. path to log If the credential file is not present in
the pwd, the script will exit with an error. The script also performs validation of the MSSQL
credentials, and the 2 paths provided in the file. The reason for adding the output and log
paths is because these variables are static. If there 2 needs to be performed modification
of the script file or the sql query files, it wouldn’t affect the credential file. Having the output
and log paths as separate variables allows for easy modification of these paths without
affecting the main logic of the script. It also ensures that the script will exit with an error if
any of the required paths or credentials are not provided or are incorrect, thereby
preventing the script from running in an erroneous state. The script loops through the
available sql files in the ‘input’ directory. 8 One of these files consists of 2 date
parameters in the query, the rest of them do not. If the date parameters are not valid, the
output file of that sql query will not be generated. After verifying that the number of sql
query files = number of output files, a merged excel file with tabs will be successfully
generated. The script performs various validations and checks to ensure that the
generated report is accurate and error-free. It loops through the available SQL files in the
input directory and executes each query to generate the corresponding output file. If the
query contains date parameters, it validates those parameters to ensure they 28 are in the
correct format. If any of the queries fail to execute or generate an output file, the script logs
the error and skips to the next query. Once all the queries have been executed and the
output files generated, the script checks 11 to ensure that the number of SQL files
matches the number of output files. If they do not match, the script logs an error and exits.
If the number of files matches, the script proceeds to merge the output files 20 into a single
Excel file with multiple tabs using the Pandas library. The script then performs some post-
processing on the merged file to remove unwanted rows and formatting before saving it to
the output directory. Overall, the script is designed to automate 4 the process of
generating audit reports by executing SQL queries and merging the output into a single file,
while performing various checks and validations to ensure the accuracy and integrity of the
data. 4.2 BASH SCRIPT The .sh bash script contains the main logic of the project.
There are certain validation test cases that need to be passed for successful execution and
generation of output. The .sh bash script is responsible 4 for executing the script and
passing the required parameters. It also contains validation test cases to ensure that the
required paths and credentials are valid and accessible. 36 If any of these validation tests
MSSQL Login Credentials (.config file contains username, password, and server) 1. The
script should obtain the credentials from 26 the .config file if it exists. If the file doesn’t
exist, give an error and exit. 2. The script should login to mssql server only if the
credentials are correct, else exit with error. 1. The script obtains the credentials from the
.config file if it exists. If the file doesn’t exist, it gives an error and exits. 2. The script logs in
to mssql server only if the credentials are correct, else exits with error. Pass 2. Path
validation (.config file contains 2 paths: output path, and log path) 1. The script should
obtain the 2 paths from the .config file. 2. If the 2 paths exist, continue. If they don’t exist,
give error and exit. 1. The script obtains the 2 paths from the .config file. 2. If the 2 paths
exist, the script continues. If they don’t exist, it gives an error and exits. Pass 3. Date
Parameters Validation (the script asks for 2 date parameters as input) 1. 36 The script
should ask for 2 date parameters as input from the user. 2. The script should validate the
date format. 1. The script asks for 2 date parameters as input from the user. 2. The script
validates the date format. Pass 4. SQL query syntax validation 1. The script should not
generate output file of 1 the sql query that contains an error. 1. The script does not
generate output file of the sql query that contains an error. Pass 5. Query Timeout 1. The
script should stop 4 execution of the current query if it takes more than a particular time to
execute. 1. The script stops execution of the current query if it takes more than a particular
time to execute. Pass 6. Output Files (xlsx files) 1. The script should generate the same
number of output files as there are sql queries, provided they are all errorless. 1. The script
generates the same number of output files 2 as there are sql queries, provided they are
all errorless. Pass 7. Output File formatting 1. The script should remove the dashed line
after the header in the output file. 2. The script should remove 1. The script removes the
dashed line after the header in 21 the output file. 2. The script removes the Pass
Page 25 the row count from the output file. row count from the output file. 8. Merging of
output files (using ssconvert library) 1. The script should merge the output files if 5 the
queries, the output files should not be merged, and further they should be deleted. 1. The
script merges the output files if the number of output files = number of queries. 2. If number
of output files ≠ number of queries, the output files are not merged, and further they are
deleted. Pass 9. Log File 1. The script should generate 35 a log file for each day. 2. The
script should append error messages and success messages. 1. The script generates a
log file for each day. 2. The script appends error messages and success messages. Pass
10. Deletion of log and output file after retention period 1. The script should delete the log
2 files and output files after the retention period is reached. 1. The script deletes the log
files and output files after the retention period is reached. Pass Table 1. Validation Test
Cases 4.3 OUTPUT 1. ssconvert: ssconvert utility is 1 a part of the Gnumeric package
in unix. It is quite helpful when converting 21 spreadsheet files between various file formats
as it can convert files automatically without needing user intervention. The –merge-to
option can merge a large collection of workbooks into a single file. ssconvert 2 can be
used to convert between different spreadsheet file formats, including CSV, XLSX, ODS,
etc. It can also be used to apply certain transformations to the data during the conversion,
such as filtering, sorting, or merging. 2. SED for formatting: 14 SED is a stream editor in
unix-based systems and can perform functions like searching, find and replace, insertion,
or deletion. The main advantage of this utility is that it can edit files without even opening
them. With the help of this command, the dashed line after the header and the row count
8 at the end of the file can be removed. 14 SED is a powerful tool for manipulating text
files, and it can be used not only for formatting, but also for tasks like data extraction,
pattern matching, or string substitution. Its syntax may seem cryptic at first, but it is highly
flexible and can handle complex tasks efficiently. 3. log file: Log file contains the error and
success message, appended with timestamp. 50 With the help of this log file, the
implementers can assess the errors and perform error handling. The log file is an
Page 26 important 4 part of the automation process as it provides a record of the status
of the project and any errors that may have occurred during the execution of the script. The
log file is appended with a timestamp for each entry, making it easy to track when certain
events occurred. It is a useful tool for error handling and troubleshooting. Additionally,
having a separate 35 log file for each day ensures that the information is organized and
easily accessible. One log file will be generated per day. 4.4 CHALLENGES FACED
4.2 SQLCMD command doesn’t support fetching of credentials from another file. Hence
the credential file 5 had to be imported into the script first. 4.3 Formatting of output Excel
files is challenging to manage. 4.4 Issues were faced while installing and running MSSQL
utilized.
Page 27 CHAPTER 5 RESULTS AND DISCUSSION If all the validation cases are
passed, we should see successful messages for login, query, and output file in both the log
2 file and the terminal. These messages 48 indicate that the script has executed
successfully and generated the desired output. However, if 14 any of the validation cases
fail, we will see error messages in the log file and the terminal, indicating the specific error
and where it occurred in the script. 8 After running the script on the terminal, the log
messages will be displayed in the log file and the terminal. If all the validation cases are
passed, as seen in fig.3 we will get successful messages for login, query, and output
Page 28 The successful messages are stored in log file as 2 shown in fig. 4. Fig. 4. Log
Messages
Page 29 The output of the generated report of all the sql files before merging them into a
single file shown in below fig.5. Fig. 5. Output Files Before Merging
Page 30 The audit file (merged output file 8 in the output directory) containing multiple
Page 31 The merged excel file have dotted line in second row 14 and in the last line it is
showing this many numbers of rows are affected so for proper formation those lines were
deleted. The appropriate formatted file is seen in fig.7. Fig. 7. Merged Output File with
Formatting Done
Page 32 If test credentials are not valid then error will occur as “Login failed for user” 11
Page 33 If is there any inaccuracy in sql file, then error will occur as shown in fig.9 8 and
it will also show which file is incompatible. Fig. 9. Error in a Particular Query
span of these 3 months, 2 there was a lot that was learned. I got an opportunity to work
on various features of Actimize solution. Hands-on experience was gained. The various
trainings provided helped me enrich my existing knowledge and learn new things. The
trainings also helped to understand the working of an industry. This period of 3 months has
helped me to fit into any corporate environment which will help me in the long run. The
knowledge in Actimize, shell scripting, and MSSQL. The overall experience was positive,
and everything I learned will be useful in my future career in this field. 50 With the help of
this project of Automation of Reports, we can directly upload the reports to the desired
location, which will help save time. 2 The user can therefore easily access these files
without much effort. The automation process does not require human intervention, and
thus will be performed faster as compared to manual report generation. As this process of
automation does not require manual efforts, it is much less 42 prone to errors. 6.2
FUTURE SCOPE The excel output file should not contain the row count and dashed line
below headers. To ensure this, the current system blindly deletes the 2nd 14 and the last
line from the file. As future scope, the system can first validate if the line contains dashed
line or row count and then delete those lines. The output file is not formatted 8 when it is
generated i.e. borders, outline, header colors can be added to make it more presentable.
The present system does not use any external packages except MSSQL. 5 The use of
Gnumeric package is a lengthy process and takes up space as it merges the output files
rather than directly putting the files in tabs. Python and PERL are efficient tools to speed
up this process. As future scope, these tools can be used to achieve the task.
and Muhammad Ali Babar. 2023. An Empirical Study of Automation in Software Security
Automated Software Engineering (ASE '22). Association for Computing Machinery, New
York, NY, USA, Article 7, 1–13. [2] 7 Maussion G, Thomas RA, Demirova I, Gu G, Cai E,
Chen CX, Abdian N, Strauss TJP, Kelaï S, Nauleau-Javaudin A, Beitel LK, Ramoz N,
Gorwood P, Durcan TM. Auto-qPCR; a python-based web app for automated and
reproducible analysis of qPCR data. Sci Rep. 2021 Oct 29;11(1):21293. doi:
Thomas RA, Demirova I, Gu G, Cai E, Chen CX, Abdian N, Strauss TJP, Kelaï S, Nauleau-
web app for automated and reproducible analysis of qPCR data. Sci Rep. 2021 Oct
Sethi, S.. (1992). 17 The Impact of Flexible Automation on Business Strategy and
Organizational Structure. The Academy of Management Review. 17. 10.2307/258649.. [6]
Xuan Feng, Xiaojing Liao, XiaoFeng Wang, Haining Wang, Qiang Li, Kai Yang, Hongsong
Zhu, and Limin Sun. 2019. Understanding and securing device vulnerabilities through
Security Symposium (SEC'19). USENIX Association, USA, 887–903. [7] Lacity, Mary C.
and Willcocks, Leslie P. (2016) A new approach to automating services. MIT Sloan
Management Review, Fall. ISSN 1532-9194 [8] Lacity, Mary C. 34 and Willcocks, Leslie P.
(2016) A new approach to automating services. MIT Sloan Management Review, Fall.
ISSN 15329194 [8] McKinsey “Technology, Jobs, and The Future of Work” McKinsey
Global Institute the Fortune Vatican Forum. 2016-17. [9] Davenport, Thomas & Kirby,
Julia. (2016). Just how smart are smart machines?. 57. 21-25. [10] Gjorgjevikj, Dejan,
Gjorgji 1 Madjarov, Ivan Chorbev, Martin Angelovski, Marjan Georgiev, and Bojan
12-15, 2010. Revised Selected Papers 2, pp. 369-376. Springer Berlin Heidelberg, 2011.
[11] Chuan-Shen, Zhou, and Lin Lin. 1 "Research and design of task driven based web
report model." In 2009 Ninth International Conference on Hybrid Intelligent Systems, vol. 2,
pp. 359362. IEEE, 2009. [12] Chan, Daniel KC. "A document-driven approach to database
Systems Applications (Cat. No. 98EX130), pp. 925-930. IEEE, 1998. [13] El-Omari, Samir,
and Osama Moselhi. "Integrating automated data acquisition technologies for progress
[14] Watt, Stuart, Claire Simpson, Chris McKillop, and Viv Nunn. 19 "Electronic course
surveys: does automating feedback and reporting give better results?." Assessment &
Rusinkiewicz, Walt Scacchi, Jack Wileden, and Alexander L. Wolf. 16 "Report from the
NSF workshop on workflow and process automation in information systems." ACM
SiGMOD Record 25, no. 4 (1996): 55-67. [16] Collins, Eliane Figueiredo, and Vicente
Automation of Software Test (AST), pp. 57-63. IEEE, 2012. [17] Kunert, Jessica. 10
media outlets." Media and Communication 8, no. 3 (2020): 5-15. [18] BOEHM-DAVIS,
Ergonomics 26, no. 10 (1983): 953-961. [19] Damm, Lars-Ola, Lars Lundberg, and David
51 Electronic notes in theoretical computer science 116 (2005): 3-15. [20]Jing, Baoyu,
Pengtao Xie, and Eric Xing. 6 "On the automatic generation of medical imaging reports."
Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.
Alternative Proxies: