79
Maurice C. Johnson III Heritage Interactive Services Software Application Developer April 2015 – August 2016

HIS - Presentation_V1

Embed Size (px)

Citation preview

Page 1: HIS - Presentation_V1

Maurice C. Johnson III

Heritage Interactive Services Software Application Developer

April 2015 – August 2016

Page 2: HIS - Presentation_V1

Job Description

Web Application DevelopmentHeads-down client-side to server-side web application development for new functionality enhancements as well as bug fixes. Beyond these primary responsibilities facilitated best practices, standardization's, conventions, consumption of new technologies, and implementations regarding a GeoMapping Technology Stack, Leaflet, OpenStreetMaps, JSON, AJAX and other Open Source Technologies.

Web Application SupportThe IT Department administers a data centric web application. This level of application support predominately revolved around vetted SDLC Methodologies and presently known industry standardizations and conventions. Some examples might be automated testing strategies, regression testing, backwards compatibility, automated build processes, adherence to source code repositories, automated deployment processes, environment synchronicity across DEV, TEST, and PROD Environments, deployed application code versus its associative source, architecture design, application and database normalization, and Usability Metrics.

Page 3: HIS - Presentation_V1

Work Example #1: GEO Mapping & Open Source TechnologiesIntroductionThe intent of this presentation is to provide one of many samples of enhancements for the Heritage Interactive Services Web Application. This particular enhancement pertains to the pure injection of Opens Source Technologies into a pre-existing Web Application. The following technologies made that this enhancement possible:

+ OpenStreetMaps+ Leaflet+ GEOJson+ JSON+ AJAX+ JAVA

HTML CSSBootstrap JQUERYJavascriptSQL

Page 4: HIS - Presentation_V1

PurposeThis enhancement was designed and developed to be cost effective as well as meet usability metrics, within the company. The nature of the enhancement was to allow end users the means of readily searching against proprietary customer, vendor, and supplier data. This data is then returned to the screen by assembling it into hoverable markers painted to a map within a geological and/or region boundary. Such an enhancement allows the end user to better visualize their data and recognize potential sales opportunities, transportation routes, and cost savings at the customer/vendor/supplier level.

Page 5: HIS - Presentation_V1

MAPS: Supplier Location / Service Site / Custom

To the right, you will find a screen shot of the MAPs Enhancement whose search functionality is currently collapsed to preserve page real-estate. The style of the maps are purely driven out by the Open Source Technology Company, OpenStreetMaps.

Page 6: HIS - Presentation_V1

To the right, you will find a screen shot of the MAPs Enhancement whose search functionality is currently. The Search Attributes will be covered in the next few slides.

Page 7: HIS - Presentation_V1

MAPS: Search Attributes – Map Type

The Map Type allows the end user the means of displaying different maps by filtering the associate data by Supplier Location, HES Supplier Location, Service Sites, Overall, and Custom. The Latter allows data visualization based upon both region and associate categories per region. Theses categories are specific to Heritage Interactive Services. Custom Map Types will be discussed in greater detail in the next four slides following.

Page 8: HIS - Presentation_V1

MAPS: Search Attributes – Map Type (Custom)When the end user selects the Custom Map Type, all Search Attributes become disabled and one additional dropdown becomes both visible and active. Currently there are 9 different custom maps broken out by 3 regions (Canada, Mexico, and USA). Each region is subdivided into the following categories:

+ # of Service Sites+ Customer Revenue+ Supplier Spend

Page 9: HIS - Presentation_V1

Here we see an example of Canada’s # of Service Sites. A Scale and a real-time dialog box are located in the lower-left hand corner of the map. Both help the end user gauge the overall service site values by hovering over a region. In this case Ontario.

Page 10: HIS - Presentation_V1

Similar in the previous custom map format and style, the Customer Revenue will depict positive , neutral, or negative revenue with a shade range of scarlet to evergreen. In this particular case we are displaying Mexico’s Customer Revenue.. It doesn’t look like Durango is doing so well.

Page 11: HIS - Presentation_V1

Lastly the Supplier Spend Custom Type, for the United States. As before same format and style as previous.

Page 12: HIS - Presentation_V1

MAPS: Search Attributes – Supplier TypeThe Supplier Type allows the end user the means of filtering and displaying those suppliers whose company focuses on specific duties / responsibilities / tasks. For example, referencing the screen shot to the right. The end user could filter Heritage Interactive Supplier Data by “Equipment” or “Fuels Blender”.

Page 13: HIS - Presentation_V1

MAPS: Search Attributes – Supplier Status (Approved/Approved with Restriction)

The Supplier Status (Approved or Approved with Restriction) is an additional filter that allows the end user to turn Supplier Locations on or off dependent upon their status. Each will be painted to the map, via marker, who will have a specific color-coded scheme. This can be found in a legend located in the lower left-hand corner of the map. This can be seen in later slides.

Page 14: HIS - Presentation_V1

MAPS: Search Attributes – CompanyThe Company Search Attribute was developed with vast amounts of data in mind. The end user will find what is referred to as a “Finder”. Upon interaction a secondary window will appear whose grid is automatically painted with company data. The end user may simply scroll the company data or be more selective by entering a companies name or is associative ID Number and clicking the Submit Command Button.

Page 15: HIS - Presentation_V1

MAPS: Search Attributes – Service TeamThe Service Team Search Attribute was developed to allow the end user the means of gauging team performance, under-allocation, over-allocation, or region to region overlap. This was presented , in order to reduce repetitive tasks and improve employee quality/performance.

Page 16: HIS - Presentation_V1

MAPS: Search Attributes – Address/Locale (Country)The Address/Locale Search Attributes

allow the end user to filter based upon any aspect of what is commonly referred to as an address. Those attributes will be the following:

+ Country+ Address+ City + State

Reference the figure to the right, you might notice country as a dropdown filled with Heritage country specific data. The Unites States is the default value.

Page 17: HIS - Presentation_V1

MAPS: Search Attributes – Address/Locale (State)Similar to the Company Finder Search

Attribute, the State Finder maintains the identical behavior except with the following nuance. When a Country is appropriately selected, the State Finder will automatically display to screen, within a secondary window, those states associative to the country. The end user may also input a specific state by interacting within one of the following and clicking the Submit Command Button:

+ Country+ State Name or Abbreviation+ State ID

Page 18: HIS - Presentation_V1

MAPS: Search Attributes – Address/Locale (Address and City)

Both Address and City are open text boxes that the end user may enter any given text. Presently there is not an address validation algorithm or third-party software tied into this enhancement. If either search attribute is interacted with and looses focus, the SearchBy Functionality and its associative search attributes become active. Reference the screen shot below.

Page 19: HIS - Presentation_V1

MAPS: Search Attributes – Address/Locale (SearchBy)

Previously noted, the SearchBy Attributes may be enabled by entering either an address or a city. Either must lose focus in order to enable the SearchBy Attributes. As you can see the Search By Radius is incremental in value and may be toggled between the English or Metric System.

Page 20: HIS - Presentation_V1

MAPS: Search Attributes – Address/Locale (SearchBy) - ContinuedThe purpose of the SearchBy Functionality will allow the end user to filter

all appropriate data within a particular address, at a radius of 25,50, 75, 100, 200,300 miles/kilometers. This data will then be displayed to the screen, on a given map, with various color coded markers. A Screen shot will follow next slide to depict what this might look like. There are two additional areas to note:

1. The Haversine Formula was utilized to accurately determine what markers will fall within a selected radii. This equation compensates for true earth curvature and is why it was meticulously selected. This functionality can be found server-side, of the application enhancement.

2. Presently the SearchBy Functionality relies on the address entered to be the center point, of our search. As previously mentioned Address Validation is not available nor is a GEOCode Lookup. If data is not available for the address in question, the SearchBy Functionality will return nothing to the map; however this does not mean that nothing exists within the requested radii. There is simply no point of origin.; hence no markers displayed.

Page 21: HIS - Presentation_V1

Below you will seen an example of the SearchBy Functionality if the end user had left the default radii of 25 Miles around the Indianapolis, Indiana Region.

Page 22: HIS - Presentation_V1

MAPS: Example 1 – Overall

Having discussed the MAPS Search Attributes lets give a simple working example a try. Lets say the end user would simply like to return all markers to the Map. Knowing this all the end user would have to do is click the Refresh Map Command Button.

Page 23: HIS - Presentation_V1

The MAPS Functionality is currently refreshing the screen by first retrieving all appropriate data, specific to the search attributes entered, then it not only parses, but assembles the information accordingly in order to be displayed to the screen in markers.

Page 24: HIS - Presentation_V1

The MAPS Functionality has successfully both zoomed and re-centered the map over the United States of America.

Page 25: HIS - Presentation_V1

MAPS: Example – Map LegendAll MAPS, except a Custom Map Type, will display this legend in the lower left-hand corner. It is to better assist the visualization of markers, of data, especially when reviewing the Overall Map Type. It will also allow the end user to gauge proximity of a Supplier Location to Known Services Sites. Another example would be assisting hauls in route to nearest or closest Service Sites.

Page 26: HIS - Presentation_V1

MAPS: Example 2 – Service Sites

Lets say the end user would like to know all Service Sites at the following address; Indianapolis, Indiana, United States. Let us also say we simply use the default value of 25 Miles for the SearchBy Radius. Once the end user has made the appropriate selections the end user would click the Refresh Map Command Button.

Page 27: HIS - Presentation_V1

The MAPS Functionality is currently refreshing the screen by first retrieving the appropriate Service Site Data, specific to the search attributes entered, then it not only parses, but assembles the information accordingly in order to be displayed to the screen in markers.

Page 28: HIS - Presentation_V1

The MAPS Functionality has successfully both zoomed and re-centered the map over the city of Indianapolis, and has displayed all known Service Sites within a 25 Mile Radius.

Page 29: HIS - Presentation_V1

All MAPS, except Custom Map Types, will allow the end user to hover aver markers to retrieve their specific high-level information. For example, within the city of Indianapolis we would like to review the Rolls Royce Service Site for the Jason Juliano Service Team.

Page 30: HIS - Presentation_V1

MAPS: Distance Functionality

The Map “Distance” Functionality has been added to both the Supplier Location and Service Sites Maps. The end user will NOT find the functionality on Custom Map Types.

In the upper left-hand corner, within the Map Boundary, the end user will find a “Ruler” Command Button beneath the “Zoom In” and “Zoom Out” Toggle Buttons . When the end user “HOVERS” over the “Ruler” Command Button the hint “Measure Distance” appears .

Page 31: HIS - Presentation_V1

The “Distance” Functionality will enable the end user to determine linear distance between two points at the end users discretion

Note: This distance is linear and does not compensate for change in elevation, topography, or curvature of the earth..

To illustrate, let us say the end user would like to determine the distance, from two supplier locations within the State of Ohio. Using the Supplier Location Filter, from the Map Type Dropdown we click the Refresh Command Button, and Map will both re-center and zoominto the State of Ohio.

Page 32: HIS - Presentation_V1
Page 33: HIS - Presentation_V1

Once presented with the State of Ohio. The end user would commit to the following steps, in order to successfully use the “Distance Functionality”:

1. "CLICK“ the “Ruler” Command Buttona. The Mouse Pointer will change to a larger cross cursor with a gray bubble

displaying the first instruction: “Click to start drawing line”. 2. Move the Cursor to your first starting point any Supplier Location.3. "CLICK“ on the map to create your starting point

a. NOTE: Do not directly "CLICK“ on the map marker itself. The added functionality within the Map “Markers” will override the “Distance” Functionality. The best course of action is to "CLICK“ directly beneath the Map “Markers”.

4. Drag the Cursor to your secondary Supplier Location. a. The Cursor will provide another gray bubble displaying the second

instruction “Click to continue drawing line”. As the end user drags the cursor left, to Michigan Road, the gray bubble also calculates the distance traveled, from the start point.

The next 2 Slides will depict this action.

Page 34: HIS - Presentation_V1

Step #1

Step #2

Page 35: HIS - Presentation_V1

Steps #3 & 4

Page 36: HIS - Presentation_V1

5. "CLICK“ on the map to create your second point. Reference previous slide.a. The Cursor will provide another gray bubble displaying the third

instruction “Click last point to finish line”. 6. "CLICK“ on the “White Square Box”, which was established when you

created your second point. a. This suggests to the “Distance” Functionality, that you, as an end

user, have completed your measurement and would like to know the final end result.

7. Our final result depicts an approximate distance of 125 miles approximately.a. NOTE: Depending upon the distance being measured, the overall

calculation will default to the English System depicting in one of the following units of measure:i. Yardsii. Miles

One last point of interest worth mentioning, before we continue, at any time the end user may terminate the “Distance” Functionality by clicking the “Escape” Key (ESC), on their keyboard. Reference the next slide for a screen shot.

Page 37: HIS - Presentation_V1

Steps #5,6, & 7

Page 38: HIS - Presentation_V1

MAPS: Distance Functionality - RoutesThe Map “Routes” Functionality is an extension, of the “Distance” Functionality discussed previously. A Route may be thought of as a round-trip calculation. One that may depict current driver travel distances as opposed to alternate or future route travel distances yet unknown. This could very well be used for both research and planning to cut driver travel distances and vehicle fuel consumption.

This functionality is foreseen as a future area of technological growth, as others eventually become acclimated to this current functionality and ask ourselves; “How can we better leverage this?”

To iterate an earlier point, the “Distance” Functionality, or in this case, “Routes” Functionality, will enable the end user to determine linear distance between two or more points at the end users discretion.

Note: This distance is linear and does not compensate for change in elevation, topography, or curvature of the earth..

Page 39: HIS - Presentation_V1

To illustrate, let us build upon what had already been accomplished within our “Distance Functionality” Example; however instead of completing Step #6 we would repeat Steps #4 and #5 until we have successfully built a desired route, only to then follow through with Step #6. (Reference Previous Slides for Steps and the following Slide for a pictorial representation of the end result.

Page 40: HIS - Presentation_V1

Repeat Steps #4 & 5 for the Third Point and the Point of Origin, only to then follow through with Step #6.

Page 41: HIS - Presentation_V1

As before, our final Route result depicts an approximate distance of 215 miles approximately.

NOTE: Depending upon the distance being measured, the overall calculation will default to the English System depicting in one of the following units of measure:

Yards Miles

Also as before, at any time the end user may terminate the “Distance” Functionality by clicking the “Escape” Key (ESC), on their keyboard.

Page 42: HIS - Presentation_V1

MAPS: Licensing, Copyrights, & Contributors In order for our Heritage Interactive IT Department to inject Open Source Geo Mapping Technologies into our Heritage Interactive Services Web Application we must, honor our Open Source Entities with recognition on all maps displayed at a corporate level, independent of Application Environment. Depicted in the lower-right hand corner, the end user will find two hyperlinks

+ Leaflet: http://leafletjs.com/+ OpenStreetMap: http://www.openstreetmap.org/copyright

Clicking on either hyperlink will redirect the end user to the appropriate acknowledgment page for Licensing, Copyrights, & Contributor recognition. It is in this way that we, as an organization, may leverage these Open Source Geo Mapping Technologies without legal infringement. The next two slides will show the respective technology pages.

Page 43: HIS - Presentation_V1

MAPS: Licensing, Copyrights, & Contributors - Continued

Page 44: HIS - Presentation_V1

MAPS: Licensing, Copyrights, & Contributors - Continued

Page 45: HIS - Presentation_V1

Thank you for your time today.If there are any questions regarding this work example OR if you would like to know more information you may reach me at the following?

+ (E) [email protected]+ (M) 317-508-3047+ (H) 317-973-5021

If not, lets proceed on to the second Work Example fo r Heritage Interactive Services, Oracle Database Release Connection Issue.

Page 46: HIS - Presentation_V1

Work Example #2: Oracle Database Release Connection Issue.IntroductionThe intent of this presentation is to provide a greater level of transparency regarding our ongoing Oracle Database Connection, Release Connection issue, within our Application Environments. The following are enclosed within this document, in hopes of providing a greater level of transparency:

+ Understanding of Issue+ Research + Replication of Issue+ Root Cause + Resolution+ Proof+ Quality Assurance Testing

Page 47: HIS - Presentation_V1

Understanding of IssueIt is the understanding, that our application environments have experienced a consistent an Oracle Data source Connection Pool issue, such that the aggregation of connections, within the connection pool, increment over the course of time, until exceeding the Maximum Connection Pool Size, 100, which in turn prevents the application from successfully running. This situation inherently prevents users from performing their day to day activities, for the Heritage Interactive Services Operation. The earliest capture, of the data source connection release issue has been ongoing since 05/23/2014.

Page 48: HIS - Presentation_V1

ResearchAs noted previously, research began by parsing all System Out Log Files, provided at the previously mentioned Shared folder (reference above). System Log Files were partitioned to individual sections specifically pertaining to “Unreleased Connections” as well as a systemic increase in “Connection Counts”. What follows is a synopsis of those findings based upon the following System Out Log Files:

Page 49: HIS - Presentation_V1
Page 50: HIS - Presentation_V1
Page 51: HIS - Presentation_V1
Page 52: HIS - Presentation_V1
Page 53: HIS - Presentation_V1

Each instance represents a point in time, where the data source connection was not released or unable to release via the HIS Application. With further inclination it was later surmised that all connection issue occurrences must share OR for that matter pertain to reusable/inherited code to create a wide spread connection release failure. This line of thought entailed further research, in order to backwards engineer the relationship to each of the occurrences mentioned previously.

Page 54: HIS - Presentation_V1

Those relationships follow:+ internal/svcocc/pgEdit VWBaseCustInvcItem+ internal/processingcenter/pgBaleLocations

actProcessOutboundTrailerDetail

+ internal/billingitem/pgList VWBaseBillingItem+ internal/supplier/pgSuplInsurance VWBaseSuplInsCert+ internal/item/pgList VWBaseItem+ internal/supplierinvoice/pgList

VWBaseSuplInvc+ internal/customerinvoice/pgCustInvcList

VWBaseCustInvc

Page 55: HIS - Presentation_V1

Each relationship represents a call to the it’s respective domain object for initialization; whether it be at a List Page, and Edit Page, or within it’s respective Action Servlet. In particular the initialization method calls a query method, passing three arguments, in order to return its respective result-set. That method is as follows;

Page 56: HIS - Presentation_V1
Page 57: HIS - Presentation_V1

As the reader might surmise the query method in turn makes a call to the retrieve method for the return of the respective result-set. That method is as follows;

Page 58: HIS - Presentation_V1

Note a Conditional Test against the “agt” local variable. It will become more important later.

Page 59: HIS - Presentation_V1

Here the “agt” performs a prepared statement execution against the database.

Page 60: HIS - Presentation_V1

Conditional Logic is used to release the connection from the database, if deemed necessary.

Page 61: HIS - Presentation_V1

Inspecting the retrieve method carefully, one might notice the use of a local BcSQLAgent to perform the instantiation, of our SQL Agent, as well as the execution or our prepared SQL and return of the associative result-set via a Vector Object. One might also notice that both a Globally and a locally declared BcSQLAgent Object are referenced within the retrieve method; however only the globally declared BcSQLAgent Object performs a call to the “releaseConnection” method whereas the locally declared one remains intact. It was this discovery that initiated further identification and proof of probable root cause.

Note: There are 395 references/calls to the query method found within our HIS Web Application.

Page 62: HIS - Presentation_V1

Replication of IssueIn order to replicate the datasource connection release issue a single occurrence was chosen from the relationships spoken to previously;

internal/supplier/pgSuplInsurance VWBaseSuplInsCert

Page 63: HIS - Presentation_V1

What follows are the requirements for this stage of replication:1. Configure the Weblogic Administrative Console to monitor the JDBC

Data source for the following criteria (Reference Image Below – Depicts a fresh server with 0 Active Connection Counts)+ Status+ Current Capacity+ Active Connections Current Count+ Connection Delay Time+ Connections Total Count+ Current Capacity High Count+ Leaked Connection Count+ Waiting for Connection Current Count

Page 64: HIS - Presentation_V1
Page 65: HIS - Presentation_V1

2. Repeated Systematic navigation, within the HIS Application for the following steps It is assumed we are already within the

Supplier Certificate List Page (pgSuplInsCertificateList.jsp

a. Enter one of the following known Search Criteriai. HIS/HES Supplier Nameii. Name of Insurediii. HES Supplier Group Typeiv. Data Entry Statusv. Active

b. Click the Search Command Buttonc. List Page is refreshed with a current dataset per Search Attributesd. Select one the return Certificates of Insurancee. User is redirected to the Insurance Detail Page

(pgSuplInsurance.jsp)f. Toggle to the Weblogic Administrative Console and refresh the

monitoring statistics.

Page 66: HIS - Presentation_V1
Page 67: HIS - Presentation_V1

g. Repeat Steps (a – f) until the data source connections have met or exceeded the Maximum Connection Pool Size. + What follows are screen captures of such repetition. It will reflect

the aggregation of active connections over the course of repetitive testing.

Page 68: HIS - Presentation_V1
Page 69: HIS - Presentation_V1
Page 70: HIS - Presentation_V1
Page 71: HIS - Presentation_V1

Root CauseHaving successfully overloaded the Maximum Connection Pool Size (100) by repetitive inquiries against the relationship;

internal/supplier/pgSuplInsurance VWBaseSuplInsCert

A Root Cause could definitively be identified as the instantiation, of the respective Domain Object, VWBaseSuplInsCert, by the method call, “retrieve”, found within class, “BcDomainObject”.

Page 72: HIS - Presentation_V1

ResolutionHaving proven a Root Cause Identification, the resolution was to merely update the method call, “retrieve”, found within class, “BcDomainObject”, to release both globally and locally declared BcSQLAgent Objects as follows (Code Updated Highlighted for clarity). This updated code section was then recompiled and pushed out to our HISDMO Environment for proof of resolution. (This process entailed a restart of the HISDMO Environment).

Page 73: HIS - Presentation_V1

Conditional Logic is altered to release both local and globally declared agent objects. Another solution would be to not declare a local object and solely rely on the globally declared object.

Page 74: HIS - Presentation_V1

ProofHaving pushed the freshly recompiled BcSQLAgent class out to the HISDMO Environment. Proof of Resolution was to repeat the Replication of Issue process found previously. What follows are screen shots of that process.

Page 75: HIS - Presentation_V1
Page 76: HIS - Presentation_V1
Page 77: HIS - Presentation_V1

As the reader might be able to surmise, the State remains as running and the Active Connection Current Count does not aggregate.

Page 78: HIS - Presentation_V1

  Menu Navigation Page/Child Page Script Class Method Test Case Error Unrealeased Connection (Y/N) Date Recorded   Date Resolved Resolved By

1 Customer internal/customer/ pgMSDSList BaseDataValidation_Query getSvcSitePageQuery Company ID: "aaa" Service Site ID: "aaa"

error The page you requested could not be processed due to the following error: java.sql.SQLSyntaxErrorException: ORA-00904: "AAA": invalid identifier

Y 8/11/2016  

2 Customer internal/svcsite/ pgWorkspacechSvcSiteSelector BaseDataValidation_Query getSvcSitePageQuery Service Site ID: "aaa"

error The page you requested could not be processed due to the following error: java.sql.SQLSyntaxErrorException: ORA-00904: "AAA": invalid identifier

Y 8/11/2016  

3 Customer internal/customer/budget/ pgSiteLevelBudget inSiteLevelBudgetSearch calculateRevenueExpense budget.js

Billing Agency: PBE Solutions LLCCompany: 21st Century Salvage Inc Service Site ID: "aaa"

error The page you requested could not be processed due to the following error: java.sql.SQLSyntaxErrorException: ORA-00904: "AAA": invalid identifier

Y 8/11/2016  

4 Customer internal/customer/budget/ pgIndirectBudgetinIndirectBudgetList VWQuery2 getIndirectBudgetPageQuery ??? Navigation to the page results in error....

error The page you requested could not be processed due to the following error: java.lang.Exception: Requested page could not be compiled: internal/customer/budget/pgIndirectBudget javax.servlet.ServletException: java.sql.SQLException: Exhausted Resultset

Y 8/11/2016  

5 Item Setup internal/item/ pgList ItemPQB getItemListItem Number: "aaa"Supplier Location ID: "aaa"Service Site ID: "aaa"

error The page you requested could not be processed due to the following error: java.sql.SQLSyntaxErrorException: ORA-01722: invalid number

Y 8/11/2016  

6 Item Setup internal/item/ pgItemTemplateList ItemPQB getItemTemplateList Primary Item ID: "aaa"

error The page you requested could not be processed due to the following error: java.sql.SQLSyntaxErrorException: ORA-00904: "AAA": invalid identifier

Y 8/11/2016  

7 Item Setup internal/svcocc/ pgList VWQuery2 getSvcOccurrencePageQuery Svc Occurence ID: "aaa"Customer Order ID: "aaa"

error The page you requested could not be processed due to the following error: java.sql.SQLSyntaxErrorException: ORA-00904: "AAA": invalid identifier

Y 8/11/2016  

8 Orders internal/order/ pgInternalOrderListchSvcSiteSelector BaseDataValidation_Query getSvcSitePageQuery Service Site ID: "aaa"

error The page you requested could not be processed due to the following error: java.sql.SQLSyntaxErrorException: ORA-00904: "AAA": invalid identifier

Y 8/11/2016  

9 Orders internal/order/ pgCustOrderList OrderPQB getCustomerOrderTrackingList Item ID: "aaa"

error The page you requested could not be processed due to the following error: java.sql.SQLSyntaxErrorException: ORA-00904: "AAA": invalid identifier

Y 8/11/2016  

10 Orders internal/svcocc/ pgList VWQuery2 getSvcOccurrencePageQuery Svc Occurrence ID: "aaa"Customer Order ID: "aaa

error The page you requested could not be processed due to the following error: java.sql.SQLSyntaxErrorException: ORA-00904: "AAA": invalid identifier

Y 8/11/2016  

11 Orders internal/order/ pgCancelSuplSvcOcc VWQuery3 getSvcOccSuplToCancelCompany: "21st Century Salvage, Inc"Service Site ID: "aaa" Svc Occurrence ID: "aaa"

error The page you requested could not be processed due to the following error: java.sql.SQLSyntaxErrorException: ORA-00904: "AAA": invalid identifier

Y 8/11/2016  

12 Billing internal/servicetransaction/ pgList BaseBilling_Query getServiceTransactionList_ByBillingAgenciesTransaction ID: "aaa"Service Site ID: "aaa" Svc Occurrence ID: "aaa"

error The page you requested could not be processed due to the following error: java.sql.SQLSyntaxErrorException: ORA-00904: "AAA": invalid identifier

Y 8/11/2016  

13 Billing internal/supplierinvoice/ pgList BaseBilling_Query getSupplierInvoiceList_ByBillingAgenciesSupplier Loc ID: "aaa"Supplier Invoice ID: "aaa" Service Site ID: "aaa"

error The page you requested could not be processed due to the following error: java.sql.SQLSyntaxErrorException: ORA-00904: "AAA": invalid identifier

Y 8/11/2016  

14 Billing internal/manifest/ pgList BaseBilling_Query getManifestList_ByBillingAgencies Service Site ID: "aaa"

error The page you requested could not be processed due to the following error: java.sql.SQLSyntaxErrorException: ORA-00904: "AAA": invalid identifier

Y 8/11/2016  

15 Billing internal/billingitem/ pgList BaseBilling_Query getBillingItemList_ByBillingAgencies

Billing Item ID: "aaa" Customer ID: "aaa" Svc Occurrence ID: "aaa" Service Site ID: "aaa" Item ID: "aaa"

error The page you requested could not be processed due to the following error: java.sql.SQLSyntaxErrorException: ORA-00904: "AAA": invalid identifier

Y 8/11/2016  

16 Billing internal/billingitem/ pgInvoiceBillingItemchSvcSiteSelector BaseDataValidation_Query getSvcSitePageQuery Service Site ID: "aaa"

error The page you requested could not be processed due to the following error: java.sql.SQLSyntaxErrorException: ORA-00904: "AAA": invalid identifier

Y 8/11/2016  

17 Billing internal/billingitem/ pgAddBillingItemToInvoice ***Query at Page*** getBillingItemAdditionToInvoicePageQuery Customer Invoice Number: "aaa"Service Site ID: "aaa"

error The page you requested could not be processed due to the following error: java.sql.SQLSyntaxErrorException: ORA-00904: "AAA": invalid identifier

Y 8/11/2016  

18 Billing internal/customerinvoice/ pgCustInvcList BaseBilling_Query getCustomerInvoiceList_ByBillingAgencies

Invoice Number: "aaa"External Invoice Nbr: "aaa"Customer ID: "aaa"Service Site ID: "aaa

error The page you requested could not be processed due to the following error: java.sql.SQLSyntaxErrorException: ORA-00904: "AAA": invalid identifier

Y 8/11/2016  

19 Billing internal/customerinvoice/adjustment/ pgCustInvcList BaseBilling_Query getAdjustmentList_ByBillingAgencies Original Invoice Number: "aaa"

error The page you requested could not be processed due to the following error: java.sql.SQLSyntaxErrorException: ORA-00904: "AAA": invalid identifier

Y 8/11/2016  

20 Billing internal/scanprocess/ pgInvcQueueList ScanProcessPQB getSupplierInvoiceQueueList Service Site ID: "aaa"

error The page you requested could not be processed due to the following error: java.sql.SQLSyntaxErrorException: ORA-00904: "AAA": invalid identifier

Y 8/11/2016  

21 Billing internal/accruals/ pgManualAccrualAdjList AccrualPQB getManualAccrualList Svc Occurrence ID: "aaa"Service Site ID: "aaa"

error The page you requested could not be processed due to the following error: java.sql.SQLSyntaxErrorException: ORA-00904: "AAA": invalid identifier

Y 8/11/2016  

22 Billing internal/customreports/ pgDocumentationListchSvcSiteSelector

VWQuery BaseDataValidation_Query

getBackupDocumentationPageQuery(...)getSvcSitePageQuery(...) Service Site ID: "aaa"

error The page you requested could not be processed due to the following error: java.sql.SQLSyntaxErrorException: ORA-00904: "AAA": invalid identifier

Y 8/11/2016  

24 Supplier internal/supplier/ pgSuplLocationListchSvcSiteSelector

BaseSupplier_Query BaseDataValidation_Query

getSuplLocationListPageQuery(...)getSvcSitePageQuery(...)

Supplier Location ID: "aaa" Service Site ID: "aaa"

error The page you requested could not be processed due to the following error: java.sql.SQLSyntaxErrorException: ORA-00904: "AAA": invalid identifier

Y 8/11/2016  

25 Supplier internal/transporter/ pgListchSupplierLocSelector

BaseSupplier_QueryBaseSupplier_Query

getTransporterPageQuery(...)getSupplierLocationPageQuery(...)

Supplier Location: "aaa" EPA ID: "aaa"DOT ID: "aaa"

error The page you requested could not be processed due to the following error: java.sql.SQLSyntaxErrorException: ORA-00904: "AAA": invalid identifier

Y 8/11/2016  

26 Supplier internal/dispfac/ pgListchSupplierLocSelector

BaseSupplier_QueryBaseSupplier_Query

getDispFacilityPageQuery(...)getSupplierLocationPageQuery(...)

Supplier Location: "aaa" EPA ID: "aaa"

error The page you requested could not be processed due to the following error: java.sql.SQLSyntaxErrorException: ORA-00904: "AAA": invalid identifier

Y 8/11/2016  

27 Supplier internal/supplier/ pgRouteList BaseSupplier_Query getRoutes Route ID: "aaa" Service Site ID: "aaa"

error The page you requested could not be processed due to the following error: java.sql.SQLSyntaxErrorException: ORA-00904: "AAA": invalid identifier

Y 8/11/2016  

28 Prc Center internal/processingcenter/ pgBalesList BalesListView assembleSearchTemplateAttributes Item ID: "aaa" Outbound Seal#: "aaa"

error The page you requested could not be processed due to the following error: java.sql.SQLSyntaxErrorException: ORA-00904: "AAA": invalid identifier

Y 8/11/2016  

29 Prc Center internal/processingcenter/ pgProcessSvcSitesList SvcSitesList assembleSearchTemplateAttributes Service Site ID: "aaa"

error The page you requested could not be processed due to the following error: java.sql.SQLSyntaxErrorException: ORA-00904: "AAA": invalid identifier

Y 8/11/2016  

30 Admin internal/svcteam/ pgServiceTeamList BaseMasterData_Query getSvcTeamPageQuery Department ID: "aaa"

error The page you requested could not be processed due to the following error: java.sql.SQLSyntaxErrorException: ORA-00904: "AAA": invalid identifier

Y 8/11/2016  

31 Admin internal/admin/ pgCountyList BaseGeographical_Query getCountyPageQuery County ID: "aaa"

error The page you requested could not be processed due to the following error: java.sql.SQLSyntaxErrorException: ORA-00904: "AAA": invalid identifier

Y 8/11/2016  

32 Admin internal/admin/ pgLocalityList BaseGeographical_Query getLocalityPageQuery ID: "aaa"

error The page you requested could not be processed due to the following error: java.sql.SQLSyntaxErrorException: ORA-00904: "AAA": invalid identifier

Y 8/11/2016  

                           

Quality Assurance Testing – Available Upon Request.

Page 79: HIS - Presentation_V1

Thank you for your time today.If there are any questions regarding either work example OR if you would like to know more information you may reach me at the following?

+ (E) [email protected]+ (M) 317-508-3047+ (H) 317-973-5021