Anda di halaman 1dari 16

Introduction

First. This document will use the convention of including square brackets, [#####], when referring to a
database object.

Second. The database is built using an application database and a “backend” azure database. The
application, [AMP Database] is built using MS Access to speed creation of the user interface and
facilitate testing. The backend, [AMP_BackEnd] is a web based SQL Server database located on
Microsoft Azure. There is no reason to open [AMP_BackEnd]. The best way to access the data is to
create links from another database. This helps avoid the possibility of accidentally changing any of the
table designs or defined relationships between the tables.

To get started, open [AMP Database]. Reestablish the links to the backend. This should only be needed
once after moving the database. Right click on any table, find the menu item “Linked Table Manager”
and follow the instructions.

Once the tables are linked, open the [Startup] form. You can find this form in the [code] group. All the
instructions that follow refer to this form and its associated sub forms.

The four tabs for entering data are: Import Package, Catalog List Price, Inventory, PC Orders, and
Database Quality. These tabs open corresponding forms that support uploading data from the
spreadsheet template (see InputTemplates.xlsx). Data previously entered into the template is uploaded
to the appropriate input table in the database. The appropriate worksheet must be used as all fields in
the spreadsheet must be found in the table the data is uploaded to. For example the [Import Package]
tab will upload data from the “PartListInput” worksheet into the [PartListInput] table. Fields can be left
blank (unless otherwise specified), but field names cannot be changed or any new fields added.

The general process is:

 Add data to the appropriate spreadsheet. Take particular care to make sure that part numbers
and dates are entered correctly. Normally past special, values only works well. Save the file
using a unique name. (Do not alter the template.)
 Open the database and open the Startup form.
 Open the desired tab.
 Complete the inputs as accurately and completely as possible. Certain fields must be properly
completed (or at least have entries made in them) before the import button will be enabled. As
a general rule the fields needed to properly identify key elements that will be used to store and
categorize the data being entered. Required details will be discussed with the specific
instructions for each input form.
 Once ready and the button is enabled the input process can be started by clicking on the import
button. The upload process proceeds automatically unless: there is an error; there is a need to
inform the user; there is data that requiring user input or correction; or the process completes.
 Once the import starts the first step is to enter a record in the appropriate ‘header’ table. This
usually includes useful information about the type, source, defaults, and quality of the data. All
the detailed records will be linked to the appropriate record in the header table.
 Once the header is validated and entered, the details are processed. This involves a long stream
of formatting and validation steps to prepare the data for entry into the appropriate details
table.
 If part information is better (higher quality score) than existing data or has information that is
missing for the existing part record in the [PartNamePlate] table the data will be automatically
updated.
 If the new data conflicts with previously stored data and is of the same quality; the user is given
the opportunity to review and resolve the differences.
 Data is added to the [PartNamePlate] table first and then to tables that rely on the
[PartNamePlate] table.
 After the data is processed the fields on the startup form are updated to show how many
records were added to the database. If there are any concerns the input table should be
reviewed to see how load progressed.

Specific Instruction for each load form are provided in the following sections.
Startup form
This is the only form required for most functions. It is essentially the application.

This form contains 6 main tabs running across the top of the [Startup] form. The [Inventory], [Database
Quality], and [Package Evaluation] tabs also include sub tabs found on the right-hand margin. Each of
these sub tabs open to different pages.

The first four tabs open forms that facilitate adding bulk data.

The [Database Quality] tab is used for evaluating the information in the database and for setting certain
defaults.

The [Package Evaluation] tab supports financial evaluation of s specified package.


Data Quality - Quality tab
Three command buttons have been assigned.

 [Prices] identifies part numbers with conflicting price information. The specified amount
(allowed price delta) is set by the user.
 [Possible Alternates] identifies records with common reduced part numbers that may be
alternates.
 [Update Nameplate Prices] adds the most recent price information to the part nameplate table.

This subtab also contains some statistics on the part nameplate table. This includes the number of
records and information to assess the completeness and quality of the existing records in this table.

Data Quality - Defaults and Setup tab


Processing costs will be used to estimate the cost of processing a shipment of parts. These value deal
with the manual labor cost associated with required receipt inspections. Units per hour is the number
of line items a single worker can process in one hours.

The quality scores are used when evaluating the various bulk input loads. The user assigned a class to
each input load A, B, or C.

Price delta sets a limit for price differences that will require user evaluation.

Inflation sets an annual rate of price increases applied to the catalog list price. So for example, if the
best price for a given part is based on CLP from 2013 the price used to evaluate the potential value of
the part will be inflation adjusted for two year at a rate of 5%. Or at whatever rate is set on this tab.

Data Quality – Inventory Snapshot tab


This tab provides some basic statistics on parts sold over the last 3 months, 12 months and total.

This tab also shows the number of lines and total quantity of stock for each company holding AMP stock
as well as the status of the stock held. The status is sold, available, consigned, managed, lost, etc.
Import Package tab
Loading part packages for evaluation is likely to be the most common function performed. However
these packages are not standardized and vary tremendously in both the type of information included as
well as the quality of information. The user will need to apply some thought as to how best to process
the data. The [PartListImport] form is designed to help in that process as much as possible.

The form [Import Package] tab opens the [PartListImport] form. This form requires the user to fill out
certain pieces of information and to provide certain default values before the “Import Part List” button
is enabled. The required fields are outlined in bold and include: package list identity (this must be a
unique value), description, evaluation date (anticipated this will reflect the approximate date the
package was developed), the source of the parts (usually an airline), and the broker company selling the
parts. The three default values: Standard Level, Part Condition, and ATA Operator Code (should support
the original source) are also required. These defaults will be incorporated in the process of evaluating
the package so care should be taken to apply conservative values. The Broker contact information is not
required but may prove useful in the future. Once the form is ready and button enabled clicking the
import button starts the process.

The user may wish to downgrade the Data Quality score reflect what is known about the broker and the
quality of the data provided. In general the Data Quality should be set a “C” unless there is good reason
to assign a higher value.

Once all required items are filled in the import button is enabled. Clicking the import button starts the
import. The process proceeds without user involvement if possible. The following events or processes
occur:

 The quality score is assigned based on the [Data Quality] drop down value and the defaults
entered from the defaults tab.
 The spreadsheet “PartListInput” is imported into the [PartListinput] table.
 A unique record is created in the [PartListHeader] table to store high level package information.
 All records are checked for proper format and validity.
 Starts adding information to the database in a specific order: Manufacturer, Part Type,
ATACode, Part Number, Alternate, Prices, Aircraft, Condition, UOM, and finally the Part List. If
possible the processing continues without user involvement, but there are many steps that the
user may be required to provide input.
 New part nameplates are added.
 Price catalog header information is added. There may be three types of price information in this
input. Catalog List Prices, Fair Market Prices, and/or the sales price.
 Price details are added.
 Part and Aircraft relations if available are added to the [PartAircraftRelation] table.
 A message box opens information the user when the load is complete.
 The fields for spreadsheet records and records added to the database are filled in. Compare
these fields to insure records imported from the spreadsheet were added.

As with all the input forms if a value is unknown it is best to say so. Fields like ATA Code, PartType, and
Manufacturer, all have unique specific values that represents an unknown value. This can normally be
selected in the appropriate form which will open automatically if key data is missing. In these cases if
the correct value is known then enter it otherwise select the appropriate value for the unknown item.
For example if ATA code is unknown select “00-00”.
Catalog List Price tab
Catalog list price data can be among the best sources of part information available. This information
comes from the manufacturer and there is information that should be definitive with regard to part
description, manufacturer, part type, price, and the part number itself. If airframe or ATA data is include
we can assume this is also reliable for our purposes.

If the information does not come straight from the manufacturer, the user may wish to downgrade the
Data Quality score accordingly.

This form requires the user provide a unique package list identification (ex “Honeywell 2014”),
description, catalog date (change to match the effective date of the material), catalog name, data
quality, and assumed part condition (should normally be NE or NS). The required fields are outlined in
bold.

The [Manufacturer] text box should be left blank or “Unk”. This value is only used if a default is needed
for records that manufacturer was not filled in. If the Manufacturer is know with certainty and not
completed in the spreadsheet data that complete it here.

Once all required items are filled in the import button is enabled. Clicking the import button starts the
import. The process proceeds without user involvement if possible. The following events or processes
occur:

 The quality score is assigned based on the [Data Quality] drop down value and the defaults
entered from the defaults tab.
 The spreadsheet “CatListPrice” is imported into the [CLPinput] table.
 A unique record is created in the [PartListHeader] table to store high level package information.
 All records are checked for proper format and validity.
 Manufacturing, ATA code, UOM, information is added as need to support the load.
 New part nameplates are added.
 Price catalog header information is added.
 Price details are added.
 A message box opens information the user when the load is complete.
 The fields for spreadsheet records and records added to the database are filled in. Compare
these fields to insure records imported from the spreadsheet were added.

As with all the input forms if a value is unknown it is best to say so. Fields like ATA Code, PartType, and
Manufacturer, all have unique specific values that represents an unknown value. This can normally be
selected in the appropriate form which will open automatically if key data is missing. In these cases if
the correct value is known then enter it otherwise select the appropriate value for the unknown item.
For example if ATA code is unknown select “00-00”.
Inventory - Bulk Receipts tab
This will likely be the primary way new inventory is brought into the database. Eventually AMP may
develop the capability to receive and hold warehouse inventory but for now this will most likely be
outsourced. [BulkReceiptImport] form provides a way to methodically import large amounts of
inventory line items.

Required fields are outlined in bold. Typically the user will select a consignment company and select a
valid consignment code. If the consignment company has not yet been added, the [Companies] form
will be opened.

Once a company is selected the user can choose a valid consignment code from the dropdown or create
a new one. If available in the system the selected code will fill out appropriate values on the form.

Note. Items should only be received this way once‼

The default values are used only if the information is not available for a specific record. However as this
information is valuable it must be added as a default before starting the input process. Once all
required fields are completed the import button is enabled. By clicking the import button the following
process is initiated:

 Confirms the information is being added with an appropriate company and consignment code.
 Warns the user if the company and consignment code have already be entered in the past. If
there is a possibility that this bulk receipt was already process, the user should cancel the
operation when receiving this warning.
 Uploads the spreadsheet to the [BulReceipts] table.
 Sets quality score based on the [Data Quality] drop box set and the Data Quality settings on the
[Defaults and Setup] subtab. This score will be used when deciding to update information in the
database.
 Reviews each record for proper format and validity.
 Starts adding information to the database in a specific order: Manufacturer, Part Type,
ATACode, Part Number, Condition, UOM, LastCertType, finally the Stock Items. If possible the
processing continues without user involvement, but there are many steps that the user may be
required to provide input.
 Processing results in adding information to the [PartNamePlate], [StockItem] and [Inventory]
tables.
 A message box opens information the user when the load is complete.
 The fields for spreadsheet records and records added to the database are filled in. Compare
these fields to insure records imported from the spreadsheet were added.
Inventory - Receipt Inspection tab
This form is intended to support the receipt inspection process by allowing the user to review
information about individual stock items or for entering information on a new stock item. This form can
be used to support the receipt inspection process if that is desirable. Note: the ability to create and
record images and barcodes is not part of this form. But the database supports the storage and retrieval
of this information.

First the user should select the desired consignment and company and enter the desired part number
and manufacturer. At this point the [Get Part] button is enabled. Clicking this button will fill return the
appropriate part nameplate, see [PartID] text box, and fill the [Stock Items] drop down box. Selecting a
stock item (if any are present) will return the specified stock item and fill out the remainder of the form.

The [Load Stock Item] button either stores changes for an existing item or adds a new stock items and
adds inventory. This button is enabled only if part number, manufacturer, part id, UOM, received
condition, package quantity, quantity on hand, and last cert type have been completed.

The [Reset Form] button empties all text and drop down boxes. However the company and
consignment code will not be emptied and will remain selected unless the user specifically changes
these values.

The [View Trace] button retrieves and opens the file selected in the [Trace Scan Files] drop down box.
This file will be opened in the appropriate application to view it. For example a pdf viewer or picture
viewer.

Most of the controls and text box displays are self-explanatory, however please note that the
[Maintenance Release Tag] drop down box support multiple selections.
Inventory - Inventory Transactions tab
The application will help track inventory transactions. For example Purchase Orders, Sales Orders or the
like. The transactions form and associated excel template support maintaining an accurate accounting of
inventory condition, status, and quantities by processing bulk level transactions.

The [Inventory Transaction] form requires the user to select a unique Company and Consignment
combination and a valid processing date to enable the import button. This is because all inventory
transactions are processed based on both the company physically holding the inventory and the original
consignment code the inventory was purchased with. If there are any records in the [Inventory
Transaction] table, left over from past efforts to process transactions; the user will have an opportunity
to process those items, otherwise these records will be deleted and the “Transaction” spreadsheet from
excel template will be uploaded to this table.

Regarding the Transaction worksheet.

These fields are always required: TransactionDate, TransactionType, PartNumber, Manufacturer,


Condition, and Qty. NOTE. These values are required to select the correct inventory items to apply the
transaction to. Location is not required, but it is should be provided if available, as should SerialNum
and BatchNo.

Additional information is required depending on the transaction type. These rules and restriction are
provided below:

"Sale":
 Cannot be applied to lost or sold inventory
 Price is required.

"BER":
 Cannot be applied to lost, previously BER’d, or sold inventory
 NewCondition {BR}

"Lost Inventory"
 Cannot be applied to previously lost or sold inventory

"Damaged":
 Cannot be applied to previously lost, sold, BER’d, or damaged inventory
 NewCondition {AR, BR, US}

"Return":
 Can only be applied to sold items
 NewCondition, Remarks

"Xfer":
 Cannot be applied to lost or sold inventory
 NewCompany, New Location
"Repaired":
 Cannot be applied to previously lost or sold inventory
 NewCondition {OH, RP, MO}

"Found":
 Can only be applied to lost inventory
 NewCondition, NewLocation

"Promised":
 Cannot be applied to previously lost or sold inventory
 PromisedTo

All transactions that are successfully processed will be moved to the [ArchiveInvTrans] table. Any items
that could not be processed will be left in the [InventoryTransaction] table. The user can make required
corrections to these items and attempt to reprocess these items using the [Re-Import Transactions]
button.
PC Orders tab
This form supports processing and storing part information that we know are valued by AMP’s preferred
customers. Although the term Order is included these do not represent firm orders or sales orders, but
they identify part that our customers will likely find useful. This also represent potentially high quality
information in that the part number has been used by the preferred customer in the past, hence it can
be assumed to be valid along with the accompanying information. [PrefCustOrders] form provides a way
to methodically import large this data into the [PrefCustOrderList] table to be used during the package
evaluation process as well as to monitor material that is on the preferred customer wish list.

Required fields are outlined in bold. Typically the user will select a preferred company from the drop
down. If the company already exists, contact information will be filled in automatically. If the company
needs to be created the new customer form will automatically open. Other required values are order
date, minimum cert standard, minimum acceptable part condition, and data quality.

The default values are used if the information is not available for a specific record. Once all required
fields are completed the import button is enabled. By clicking the import button the following process is
initiated:

 Confirms the information is being added with an appropriate company.


 Warns the user if the company is new and asks if the user wants to open a forma to properly
add the company. Otherwise the process is halted.
 Uploads the “PCOrderList” spreadsheet to the [PrefCustOrderInput] table.
 Sets quality score based on the [Data Quality] drop box set and the Data Quality settings on the
[Defaults and Setup] subtab. This score will be used when deciding to update information in the
database.
 A unique record is created in the [PartListHeader] table to store high level package information.
 Reviews each record for proper format and validity.
 Starts adding information to the database in a specific order: Manufacturer, Part Type,
ATACode, Part Number, Aircraft, Condition, UOM, Prices, and finally the PC Orders. If possible
the processing continues without user involvement, but there are many steps that the user may
be required to provide input.
 Processing results in adding information to the [PartNamePlate], [PartAircraftRelation] and
[PrefCustOrderList] tables.
 Previous PC Order information is deleted.
 A message box opens information the user when the load is complete.
 The fields for spreadsheet records and records added to the database are filled in. Compare
these fields to insure records imported from the spreadsheet were added.
Package Evaluations

Basics. This form allows the user to run a new evaluation or review the last evaluation. The form is
intended to be self-explanatory, but there a few items worth understanding.

Select a package number (based on the designation given when the package was entered). The
evaluation button will not be enabled until the drop down box is refreshed.

The form opens pre-populated with values from a table of default values. If changed on this form, they
will be become default values in the future. For example if the value for “Consignment Fees (%): is
changed to 25%, it will remain so until manually changed to another value.

Clicking the command button [Evaluate] will start the evaluation process using the package indicated in
the ‘Package Number:’ drop down box. The important input values and the offer, goal, and walk
investment numbers are retained in the table called [ReportHistory].

‘Consignment Fees’ and ‘Sales Discount’ are applied to evaluated prices based on the following
equation:

(1-consignment)*(1-[sales discount])*evaluated price.

‘Annual Sales Percentage’ and ‘Sellable Package Portion’ can be used along with the command button
[complete sales profile] to populate the 20-year sales profile. The first-year sales will be equal to
(Annual Sales Percentage) X (Sellable Package Portion). The next year will be equal to the (Annual Sales
Percentage) X (remaining Sellable Package), and so on. The values in the sales profile are then used to
calculate the evaluation parameters. The user can change any of the values in the 20 year profile.

The ‘Years Analysis Cutoff’ sets the number of years that sales will be predicted for.

‘Total Sales’ is the total percentage of the original package that will be sold based on the sum of the
years in the 20 year profile and limited by the ‘Years Analysis Cutoff’ value. For example if ‘Years
Analysis Cutoff’ is 10 the ‘Total Sales’ value is the sum of the first 10 years.

The ‘Fleet Size Cutoff’ is used in conjunction with fleet size and peak fleet size. Sales associated with
each fleet family are multiplied by the ratio [fleet size]/[peak fleet size] for each year. If the [fleet size] is
less than the fleet size cutoff percentage of peak fleet size the value is set to 0. The tab [Aircraft
Families] stores the information needed to make these calculations. The user is responsible for keeping
this information up to date.

The user can set different values for the assumed Internal Rate of Return.

The command button [Preview Existing Report] will open the last report as long as the [Part Package
Evaluation] table remains populated.

The command button [Export Report History] exports important information to an excel spreadsheet.
The user can specify the location of the spreadsheet in the export process.
Software Installation

Prerequisites.

SQL Server Express 2014. Should be installed along with SQL Server Management Studio. The studio will
support direct communication with the database in SQL Azure server. SQL server also includes an
important component used to support uploads from the client to the remote server.

MS ACCESS 2013 or newer. A component of the MS Office Suite.

Components.

There are several important components that must be installed on the client’s machine. The application
will look for these files in the C:\Temp\AMP folder:

 BCP.EXE
 BulkReceipts.fmt
 CLPinput.fmt
 InventoryTransaction.fmt
 PartListInput.fmt
 PrefCustOrderInput.fmt
 InputTemplates.xlsx
 BCPfile.txt
 BCPoutput.txt
 error.txt
 help.txt
 AMP_DB_Application.accdb

The format files (.fmt) are required to support uploading information to the server. If any of the format
files are corrupted they will be unusable and will likely prevent successful uploads. The fmt files are
read only to help avoid user induced changes. These files must be stored in the C:\Temp\AMP folder.

The BCPfile.txt is a temporary file and is used to facilitate bulk uploads from the user’s machine to the
sql azure database.

The BCPoutput.txt file stores information from command prompt screen characterizing the bulk upload
process. This file can be helpful in troubleshooting problem uploads. Similarly the error.txt will contain
information on bcp upload errors.

The BCP.EXE is used by the application.


InputTemplates.xlsx file is read only and should be left alone. The user is encouraged to copy a writable
version of this file and store it in a useful location. This original file should not altered and should be left
safely stored in this folder for future use.

AMP_DB_Application.accdb is the application. A copy of this file can be placed in any desired location.
The original can stored in this file for safe keeping.

Install Process.

Create a folder called C:\Temp\AMP folder and copy all files to this folder. Make working copies of the
application and the excel workbook and store in a convenient location. Remove the read only limit on
the xlsx file.

Set up sql azure firewall rule.

This step is required to allow the user’s machine to connect to the azure sql server (and hence the
AMP_BackEnd database).

Log on to azure using the following. UserName: kevin@airlinemro.parts; PSWD: provided separately.
Once in the portal:

 select “all resources”. Green Rubik’s cube.


 Double Click to open “airlinemro” sql server. Blue and orange symbol that looks like a can.
 On the setting menu (far right) select “Firewall”.
 In firewall settings click the plus sign to add your machine’s IP address to the list of allowed IP
addresses.
 Then click save.

This process may need to be repeated if you do not have a static IP address.

Set up connection to the sql azure in SQL Server Mgmt Studio.

Open the SQL Server Mgmt. Studio (SSMS). The “connect to server window” opens automatically.

The following is needed to establish a connection to the server

 Server name: airlinemro.database.windows.net


 Authentication: SQL Server Authentication
 Login: ServerAdmin
 Password: see above.

Don’t forget to check Remember password.

Go ahead and search for AMP_BackEnd DB to see if you have a good connection. If not a likely reason is
your IP address can’t get through the firewall. See above concerning firewalls.

Once you have confirmed a good connection. Open the AMP_DB_Application.accdb. You should be
able to open any of the linked tables to see data in the azure database.

Anda mungkin juga menyukai