Forum Replies Created

Page 8 of 20
  • Worthington Aviation

    Moderator
    07/31/2014 at 7:20 AM in reply to: USER TEMPLATES

    I believe you can apply security settings from one user to another instead of creating a template. That might help

  • Worthington Aviation

    Moderator
    07/31/2014 at 6:51 AM in reply to: WORK ORDER REPORT/EXPORT HEADER

    You can run this simple query in your interactive SQL tool

    select wo.si_number “WO Number”, wo.entry_date “Date Open”,cmp.company_name “Customer”,ws.description “WO Status”,pn.pn “Modify PN”,stk.pn “Reserved PN”,str.qty_reserved “QTY Reserved” from

    wo_operation wo,companies cmp,wo_status ws,parts_master pn,stock stk,stock_reservations str where

    wo.pnm_modify=pn.pnm_auto_key and

    wo.woo_auto_key=str.woo_auto_key and

    str.stm_auto_key=stk.stm_auto_key and

    wo.cmp_auto_key=cmp.cmp_auto_key and

    wo.wos_auto_key=ws.wos_auto_key

  • Worthington Aviation

    Moderator
    07/30/2014 at 3:00 PM in reply to: CORE CHARGES

    We do not charge core charges up front. We will bill over and above repair charges, or outright charges separate.

    So, a rolled up, basic summary of how you can handle this is like so..

    Outright billing when you haven’t received core.

    1. cancel core due

    2. add charge to the SO for the remainder of the billing amount, invoice

    Outright billing when you have the core, but its BER

    1. receive core

    2. send on RO

    3. add fake PN called outright billing to RO. (make sure there are fake stock lines under it)

    4. Apply eval costs to outright billing on RO

    5. Receive both PNs in

    6. Add outright billing PN to SO (you’ll need to re-open it) and reserve stock

    7. invoice the outright billing amount

    8. Scrap out BER unit per process defined in my previous lectures (2010 year I believe)

    Over and above billings

    1. Same as outright except you apply only the excess costs to the outright PN, and the agreed upon costs remain on repaired core.

    There are more ways, and more scenarios but this should get you started.

    Sounds like a 2015 lecture topic in the making…

  • Worthington Aviation

    Moderator
    07/30/2014 at 10:02 AM in reply to: QUANTUM ALERTS EMBEDDED IN FORMS

    Jerry – here is some sample code that throws an alert based on the exchange type settings in the so detail

    var

    q : TOracleDataset;

    begin

    q := TOracleDataset.Create(nil);

    q.SetSession;

    q.Sql.Text := ‘select SOD_AUTO_KEY,CORE_DUE_DATE,CORE_CHARGE,BILL_CORE_CHARGE,LOAN from EXCHANGE ‘ +

    ‘where SOD_AUTO_KEY = ‘ + SO_DETAIL[‘SOD_AUTO_KEY’];

    q.Open;

    regExchange.Visible := (SO_DETAIL[‘ROUTE_CODE’] = ‘E’);

    if SO_DETAIL[‘ROUTE_CODE’] = ‘E’ then

    begin

    if (q.fieldbyname[‘LOAN’].AsBoolean=TRUE) and (SO_DETAIL[‘UNIT_PRICE’]<0.01)then

    ShowMessage(‘THERE IS A PART LOAN ON THIS ORDER.’);

    if (q.fieldbyname[‘LOAN’].AsBoolean=TRUE) and (SO_DETAIL[‘UNIT_PRICE’]>0.01)then

    ShowMessage(‘THERE IS A RENTAL ON THIS ORDER.’);

    if (not(q.fieldbyname[‘LOAN’].AsBoolean=TRUE)) and (SO_DETAIL[‘UNIT_PRICE’]<0.01)then

    ShowMessage(‘THERE IS A WARRANTY RETURN ON THIS ORDER.’);

    if ((not(q.fieldbyname[‘LOAN’].AsBoolean=TRUE)) and (SO_DETAIL[‘UNIT_PRICE’]>0.01)) then

    ShowMessage(‘THERE IS A EXCHANGE ON THIS ORDER. IF THIS IS SUPPOSED TO BE A WARRANTY, LOANER, OR RENTAL, YOU WILL NEED TO SET THE TRANSACTION UP PROPERLY!’);

    if q.fieldbyname[‘BILL_CORE_CHARGE’].AsBoolean=True then

    ShowMessage(‘BILL CORE CHARGE IS MARKED – REMOVE THIS CHECK BOX ON THE EXCHANGE TAB OR THE CUSTOMER WILL BE BILLED FOR THE CORE CHARGE.’);

    if q.fieldbyname[‘CORE_CHARGE’]< 1 then ShowMessage(‘THERE IS NO CORE REPLACEMENT CHARGE SPECIFIED. PLEASE FILL THIS IN.’); end; q.Free; end;

  • Worthington Aviation

    Moderator
    07/30/2014 at 6:37 AM in reply to: STOCKMARKET VS ILS VS PARTSBASE

    We are going to start tracking this too. I think our numbers are similar to yours. Good to know about partsbase. I wonder if there is something we, as the QUE Group, could do stats wise or otherwise on this topic. Would be interesting.

  • Worthington Aviation

    Moderator
    07/29/2014 at 2:46 PM in reply to: REPORT QUESTION AND LOADING IN QUANTUM QUESTION

    Tony, I doubt you will be able to initiate another connection to a datasource ourside of QC if you are running it within QC.

    Can you just hard code those into a formula field to fill in the blanks? I mean, if its a 100 or less, I would just do that.

    As for duplicates, this can be caused by a few things, usualy as a result of your table linking. You can try changing your report settings to show distinct records only.

    or, you can group on the PN, for example, and move your fields to the group footer.

    All that said, you shouldn’t have duplicates, especially in the quote module because you can link only one stock line to a quote detail at a time. So, there shouldn’t be any multi stock line issues there.

  • Worthington Aviation

    Moderator
    07/25/2014 at 2:26 PM in reply to: NEW MEMBER

    Welcome! I think you find the information on the website equally valuable. We will be posting the conference videos as early as next week.

    Take a look around, hope you like what you see.

  • Worthington Aviation

    Moderator
    07/25/2014 at 11:50 AM in reply to: OVERRIDE CREDIT VALIDATION

    Yes, there is a check box to override credit check in the payment terms table. The idea is that prepay transactions can bypass the limit check.

  • Worthington Aviation

    Moderator
    07/25/2014 at 6:33 AM in reply to: STOCKMARKET VS ILS VS PARTSBASE

    This is a debate going on right now in our company. Can you guys tell me your stats? Where is your business coming from? I would love to dump ILS – just outrageous pricing

  • Worthington Aviation

    Moderator
    07/25/2014 at 6:31 AM in reply to: OLD P/N TO BE AUTOMATICALLY BE SUPERCEDED BY NEW P/N

    If your new PN is a modified, or updated version and the old is superseded, you should first do a reciprocal cross reference. Then, the old PN should be deactivated. If you do not care to do this, you can always merge the two PNs through the global menu

  • Worthington Aviation

    Moderator
    07/23/2014 at 11:04 AM in reply to: PREVENT MULTIPLE LOGIN

    There is a switch under User Control Settings for each user that says “allow multiple logins”

    So, there must be some other control somewhere to turn this one because the one mentioned above appears to override the single user log on.

  • Worthington Aviation

    Moderator
    07/23/2014 at 10:57 AM in reply to: PREVENT MULTIPLE LOGIN

    Dan, it just occurred to me – I wonder if turning on the option to prevent multiple log in instances will impact the SYSDBA account. If you do any type of DB connections through reports, barcode, bridges, etc. the accounts you use to do this may be impacted. Just something to be aware of.

  • Worthington Aviation

    Moderator
    07/23/2014 at 10:47 AM in reply to: PREVENT MULTIPLE LOGIN

    I am on 10.4.15 and do not see the option. However, I know it can be done. Check with CC on versioning.

  • Worthington Aviation

    Moderator
    07/23/2014 at 9:48 AM in reply to: QUANTUM CLIENT SILENT INSTALL

    Per the QUE Group conference, I believe this is coming out. Todd Lewis talked about a switch to bypass prompts. You should contact CC

  • Worthington Aviation

    Moderator
    07/23/2014 at 9:47 AM in reply to: ALLOW EXTERNAL APPLICATIONS TO APPLY SECURITY

    Not sure if CC can do this, but try Advance QC

  • Worthington Aviation

    Moderator
    07/23/2014 at 9:46 AM in reply to: LOG OUT INACTIVE USERS

    Well, first of all if you are using Kiosk machines you should train everyone to use the F8 logout option. Just a side note

    As for session timeout, there is nothing built into QC for this. However, you can write a VB script fairly easily. The details for “killing” a user session is already in the prepatch.sql scripts on your server. Just use that as a base line. You will have to figure out how to read log in time and idle time. But, that isn’t too hard either.

    This SQL shows virtually all of that

    select osuser,terminal,program,status,sid,serial# from v$session where username not in (‘SYS’,’SYSTEM’,’SYSMAN’) and program not in(’emagent.exe’) order by osuser

    This statement is a bit more broad

    select * from v$session s, sys_user_db_session u

    where s.username = ‘QCTL’

    and s.audsid = u.audsid

    Once your VB script is written, just put it into a scheduled task

  • Worthington Aviation

    Moderator
    07/23/2014 at 9:35 AM in reply to: PREVENT MULTIPLE LOGIN

    Yes, I believe the client connections functionality can help control this. Not 100% sure but I think it can be done.

  • Worthington Aviation

    Moderator
    07/23/2014 at 7:03 AM in reply to: VENDOR PERFORMANCE

    Dan, please see my presentation given last week at the conference called Incorporating your Quality Procedures Into Your Daily Processes. It covers some vendor performance issues. The recorded version will be available in a couple of weeks.

  • Worthington Aviation

    Moderator
    07/23/2014 at 7:01 AM in reply to: NEW EMPLOYEE TRAINING

    Sharon, we require new employees to watch the online videos on Component Control’s website before any training. They are a bit dated, but it gets the basics out of the way. Frank or Joanne at Component Control can train, or you can contact Kevin Otto at Advance QC.

  • Worthington Aviation

    Moderator
    07/21/2014 at 10:43 AM in reply to: GOOGLE APPS FOR BUSINESS

    this is good info. we are looking at switching too but will now eliminate google from the options

  • Worthington Aviation

    Moderator
    07/13/2014 at 8:05 PM in reply to: MAGICALLY RETURNED TO VENDOR

    Ive never seen this feature before. I suggest you look in the browse audit trail to see who has actually processed the return.

  • Worthington Aviation

    Moderator
    07/13/2014 at 8:04 PM in reply to: MANDATORY FIELDS

    Lydia, you are entering unapproved parts? I do not know for sure, but could this feature be allowing for the entry of the PN only? This is turned on and off by simply granting the security access.

  • Worthington Aviation

    Moderator
    07/13/2014 at 8:02 PM in reply to: MFG CODES

    Yes, you have two identical parts in your database. It could be in your master parts list, your inactive parts list or your alternate parts list.

  • Worthington Aviation

    Moderator
    07/03/2014 at 2:38 PM in reply to: MODIFY ILS FLAG ON STOCK LINES

    Bill, any adjustments to the stock line will invoke the stored procedure for the serialize part requirement. Your problem is that you have a serial number flag on the parts master, but a stockline (possibly historical) that has no SN.

    You can try including the closed_update=’T’ in your update statement. This will bypass many (not all) stored procedures and allow a direct up to many (not all) tables.

    or, you can use SQLDeveloper tool to temporarily diable the trigger that is causing the problem. This is a dangerous move and no one should be using the system while you have this disabled. The error message will tell you which trigger or procedure is throwing the error.

    Or, you can run this SQL statement to update your stock lines and solve the problem all together.

    This statement shows you all parts marked as serialized and corresponding stock lines having no serial number

    select stk.stm_auto_key, stk.stock_line,stk.qty_oh,stk.serial_number,pn1.pn,pn1.description, pn1.serialized from stock stk, parts_master pn1 where stk.pnm_auto_key =pn1.pnm_auto_key

    and (stk.serial_number is null or stk.serial_number=”) and pn1.serialized=’T’

    This statement updates those stock lines with a serial number of “NSN”

    update stock stk set stk.serial_number=’NSN’, stk.closed_update=’T’ where stk.pnm_auto_key in (select pn.pnm_auto_key from parts_master pn where pn.serialized=’T’)

    and (stk.serial_number is null or stk.serial_number=”)

    After your stock line update, rerun the query to see problematic stock lines to make sure you got them all.

    Hope this helps

  • Worthington Aviation

    Moderator
    07/02/2014 at 12:32 PM in reply to: DOCUMENT SCANNERS

    Billy , you can use the Remote Scan application on that machine and install both the server and client. Remote Scan converts ANY imaging device to a twain compliant scanner usable by QC.

  • Worthington Aviation

    Moderator
    07/02/2014 at 6:45 AM in reply to: DOCUMENT SCANNERS

    We use document imaging extensively, and in a remote environment. I suggest you take a look at my past presentation called Going Remote, which outlines everything needed to operate a remote office, including photography and scanning. It is available through the members only menu.

  • Worthington Aviation

    Moderator
    06/30/2014 at 10:23 AM in reply to: LINKING WAREHOUSE CODE WITH LOT NUMBER

    I forgot to include in that query a filter on the wo_operation for lots only. Add this to the where clause

    and woh.WO_TYPE =’Lot’

  • Worthington Aviation

    Moderator
    06/30/2014 at 7:00 AM in reply to: ACCOUNTING – BEST PRACTICES (EXCHANGES) FOR US

    Maria, This all depends on how your company wants to handle that money. The depreciate core setting treats exchanges much like a lot in that the cost of the original core is depreciated over time. This is fairly common. Some companies prefer to keep that original cost on the books as inventory and this is fine too. At some point, however, you have to deal with that cost. The core costing method flag in the exchange tab also plays a roll. This is where the Flat Rate exchange option can be overridden. This is often mistaken for how you are going to bill your repair charges, not the method by which the returning core will be given its cost (the costing method) if you mark Cost + OVHL on the exchange tab, that means the returning core will be given the full cost of the stock line sold, and any repair costs it later incurs. This will cause a 100% GP in your sales order.

    With the flat range exchanges, there is control setting in the inventory settings to define the percentage to use for calculating the cost of your flat rate exchange. You can set this at any percentage, including a percentage greater than 100%. For example, if you want to show a loss of on your exchanges up front in order to chew down the original costs faster, you can set your exchange percentage to 150%. In an example of an exchange sale for 1000 the system would calculate a cost of 1500 = in this example, the stock line has 5000 in cost. This transaction would result in 1000 to AR, 1500 to COGS and 3500 to Awaiting Core.

    I guess after all of this, the best question is what do you WANT the system to do? One way or another you have to deal with that cost. So, either feel the pain up front or spread it out over time.

  • Worthington Aviation

    Moderator
    06/27/2014 at 10:53 AM in reply to: ACCOUNTING – BEST PRACTICES (EXCHANGES) FOR US

    We book it as inventory. Only if you are charging a core charge up front should you book it as a receivable But, if you do that, you cannot recognize the revenue until after the core due date has passed and no core was returned.

    What we do typically is not charge the core charge, but rebill the exchange fee if they dont return the core, until they return the core, and those exchange fees are not refundable upon the core receipt.

    The practice of treating an open core as a receivable without charging the core charge up front would be like a rental care company keeping an open receivable on their books while the car is out on rental. Makes no sense.

  • Worthington Aviation

    Moderator
    06/27/2014 at 9:12 AM in reply to: SECURITY SETTINGS

    In Oracle, click User Menu-> System Setup -> Security ->Maintain User Security Profiles

    Find your user, click on the them to bring that record into Focus

    In the top right hand window, expand the security try by clicking the top most value labeled “Quantum Control”

    Expand the “User Settings” tree (the first option under Quantum Control) by clicking it.

    Move down 7 values to the “User Configuration” and right click on it.

    Select GRANT/REVOKE until a green check mark appears next to it.

  • Worthington Aviation

    Moderator
    06/27/2014 at 9:01 AM in reply to: LINKING WAREHOUSE CODE WITH LOT NUMBER

    I am going under the assumption that all stock within a lot is in a single warehouse. In order to do this, your query needs to be like so

    This query will pull the lot header cost for each stock line within the lot

    select whs.warehouse_code, stk.stock_line, lot.unit_cost

    from

    warehouse whs,

    stock stk,

    stock_reservations str,

    stock lot

    where

    stk.whs_auto_key=whs.whs_auto_key and

    stk.stm_lot=str.stm_auto_key and

    str.stm_auto_key=lot.stm_auto_key

    If you just want the main lot stock line, and its corresponding cost with the WH, then use this

    select stk.unit_cost “LOT COST”, woh.si_number “LOT NUMBER”,whs.warehouse_code “WH CODE”

    from

    stock stk, stock_reservations str, wo_operation woh, warehouse whs

    where

    stk.stm_auto_key=str.stm_auto_key and

    woh.woo_auto_key=str.woo_auto_key and

    stk.whs_auto_key=whs.whs_auto_key

  • Worthington Aviation

    Moderator
    06/27/2014 at 6:30 AM in reply to: QUESTIONS ABOUT EXCHANGE OPTIONS

    SOUNDS LIKE A 2015 CONFERENCE LECTURE BREWING HERE !

  • Worthington Aviation

    Moderator
    06/26/2014 at 8:02 AM in reply to: (OVERRIDE) REMOVAL ON WO QUOTE

    Ok, that makes a little more sense. My guess on this is that it means that CC has embedded this into the data pipeline for the forms.

    That means you cannot use the description fields provided in the data pipeline and will need to retrieve the table value through your own SQL statement.

    You will need to figure out the linking structure from the wo quote detail back to your task description, but that should be too hard.

    A simple code example to pull data in the OnGetText event is here

    var

    q : TOracleDataset;

    begin

    q := TOracleDataset.Create(nil);

    q.SetSession;

    q.Sql.Text := ‘select FIGURE from wo_task ‘ +

    ‘where wob_AUTO_KEY = ‘ + WO_BOM[‘WOB_AUTO_KEY’];

    q.Open;

    Text := q.FieldByName[‘FIGURE’].AsString;

    q.Free;

    end;

    This isn’t accessing the tables you are looking for, but it demonstrates how to do it.

  • Worthington Aviation

    Moderator
    06/25/2014 at 3:00 PM in reply to: (OVERRIDE) REMOVAL ON WO QUOTE

    Ok, so Im looking at this and cannot figure out what “override” you are talking about. I cannot reproduce it at all. My code for the same field is different, so I presume you copied your new, modified code here to the forum.

    One of my challenges is that we don’t use that for quoting, so I am struggling with the issue a bit.

    I did notice the highlighted area seems strange in that you are appending the PN Description to the PN Description in the text which doesn’t make sense to me.

  • Worthington Aviation

    Moderator
    06/25/2014 at 1:45 PM in reply to: SECURITY SETTINGS

    It is telling you the System Users Browse Table is restricted for viewing.

    One place to grant that MIGHT be User Settings -> Security -> View User Profiles

    Another could be User Settings -> User configuration

    Lastly, you could try User Settings -> User Messageing

  • Worthington Aviation

    Moderator
    06/25/2014 at 10:03 AM in reply to: (OVERRIDE) REMOVAL ON WO QUOTE

    can you please speficy the document name, and the field that you are modifying? Provide sample code as well.

  • Worthington Aviation

    Moderator
    06/25/2014 at 10:02 AM in reply to: QUESTIONS ABOUT EXCHANGE OPTIONS

    Yes, the shipping order module is what you need. It standardizes all outbound shipments, and provides for the standard document sets as well. In your PO, the Create Shipping option in the Global menu is what does your credit and core returns to vendor through the shipping module.

  • Worthington Aviation

    Moderator
    06/24/2014 at 1:00 PM in reply to: QUESTIONS ABOUT EXCHANGE OPTIONS

    Tony – the answer to your first question, I think, should be to use the Contact Management module to manage your core activity. You can link directly to the SO detail . It is great for core collections.

    The second issue can be resolved if you use the shipping management module. This module produces both an ATA106 and CofC

  • Worthington Aviation

    Moderator
    06/17/2014 at 11:47 AM in reply to: QUANTUM IN THE CLOUD

    Jeff, Pietro would be your person to ask. However, I can tell you that their cloud solution is nothing more than using Amazon servers to host QC, and using RDP or Citrix to access the client.

  • Worthington Aviation

    Moderator
    06/12/2014 at 6:15 AM in reply to: ACCOUNTING – BEST PRACTICES (EXCHANGES) FOR US

    We do the same thing as Nick. However, be aware this only applies when you are using the Flat Rate exchange costing method.

    Also, know that it does not work this way if the unit is in a lot. If the unit is a lot, the lot margin overrides the exchange flat rate margin. Why? Because the awaiting core cost will just go right back into the lot anyway upon receipt, so why bother putting that cost in a suspended account. Plus, the whole idea behind a lot is to avoid assigning cost to a single stock line in the first place.

    Rotables are like rental cars. Ask you accountants if a rental car company defers or defines the repair costs to the rental car ahead of time while they are waiting for the rental to be returned, and resulting in a depreciated value. It seems to me they are looking at things from the stock line level – stock line by stock line – when they should be looking at it from the part number level and treating it more like an asset. The exchange cycle is on ongoing event that could last years, all started with a single unit.

    The bottom line is, there are several ways to handle exchanges. Worthington is audited, and run like a public company in many ways. Our independent auditors accept the flat rate exchange model, mixed in with Lots and Consignments are being GAP compliant.

  • Worthington Aviation

    Moderator
    06/09/2014 at 2:54 PM in reply to: RECEIVING PO UNDER ONE STOCKLINE

    Ken, if you are buying the kit, and you are stocking it as a single kit stock line, then

    you should just put you main kit line item on the PO with the single dollar amount.

    Then, use the notes to elaborate on the individually priced item, which totals up to the kit you are actually purchasing. That all said – if you have a price for the whole kit, why do you care what the individual pieces cost as long as your kit amount is correct?

    Remember though, if you get invoiced for each item, your accounting team might not be happy when they go to reconcile the vendors invoice.

  • Worthington Aviation

    Moderator
    06/05/2014 at 6:26 AM in reply to: QUANTUM WITH IPAD

    I suggest doing a search on the market place for RDP client – that should show you anything capable of connecting via a Terminal server or Citrix.

  • Worthington Aviation

    Moderator
    06/03/2014 at 8:21 AM in reply to: PO TEMPLATE

    Ken, every order can be treated like a template.

    If you browse the headers of orders, you will see a COPY button.

    This allows you to copy the order in its entirety and optionally change the company in the header in the process

  • Worthington Aviation

    Moderator
    06/03/2014 at 8:18 AM in reply to: INVOICING VIA BILLING GROUPS- FEEDBACK PLEASE

    We used billing groups in our heavy maintenance facility and it worked nicely. Different groups applied for type stages of the work each with different fees. We set them up through the templates.

    This was years ago, so I am a little foggy on the details.

  • Worthington Aviation

    Moderator
    06/03/2014 at 8:16 AM in reply to: GROUND SERVICE EQUIPMENT MAINTENANCE

    William,

    Depending on how this is managed, it could probably be done through the Tools features, or by the AC structures and Maintenance module.

    What triggers the scheduled maintenance on the equipment?

  • Worthington Aviation

    Moderator
    05/29/2014 at 3:00 PM in reply to: QUANTUM WITH IPAD

    This page shows the links to details in that presentation, include the iTap app

    http://quegroup.camp7.org/presentations_2011

  • Worthington Aviation

    Moderator
    05/29/2014 at 2:58 PM in reply to: QUANTUM WITH IPAD

    Irina, use iTap app.

    You should look over my presentation from a couple years ago called “Going Remote”

  • Worthington Aviation

    Moderator
    05/29/2014 at 6:42 AM in reply to: REPLICATING QUANTUM TO THE DISASTER RECOVERY SITE

    Irina, you may find my lecture from last year on backup servers interesting.

    http://quegroup.camp7.org/2013_videos

  • Worthington Aviation

    Moderator
    05/22/2014 at 12:45 PM in reply to: CREDIT MEMO NUMBERING LOG

    Felix, I do not believe QC can assign different number for only credit memos.

    However, what we do is for the user to override the CM number. Our standard is

    that CM are numbers as CMIXXXX where XXX is the number of the original invoice.

    If more than one credit memo is generated, then it is given an A, B, C, etc at the end.

    If the credit memo is being generated in order to correct a transaction, then it is given an assignment of FXIXXXX where XXX is the number of the invoice you are correcting.

    This approach allows us to generate reports that group the original invoice, credit memos and fixes all together so you can see the chain of transactions.

    Additionally, it provides a clear picture of our true credit memos vs. corrective transactions.

  • Worthington Aviation

    Moderator
    05/22/2014 at 11:47 AM in reply to: STOCK MARKET DOES NOT LIST ALL YOUR INVENTORY

    make sure you post the first statement before running the second.

Page 8 of 20