Alpha Video Training
Results 1 to 10 of 10

Thread: Append operation in a multi user setting

  1. #1
    "Certified" Alphaholic
    Real Name
    Gaby Hernandez
    Join Date
    Sep 2008
    Posts
    1,170

    Default Append operation in a multi user setting

    The help doc says when an Append operation is triggered A5 locks the master file. Does it mean if user1 is in the midst of appending a set of records (SalesRep=John), user2 cannot append a different set of records (SalesRep=Fred) to the same master table?

  2. #2
    "Certified" Alphaholic Stan Mathews's Avatar
    Real Name
    Stan Mathews
    Join Date
    Apr 2000
    Location
    Bowling Green, KY
    Posts
    25,119

    Default Re: Append operation in a multi user setting

    Yes

  3. #3
    Member
    Real Name
    Bob Arbuthnot
    Join Date
    Apr 2005
    Location
    Belleville, KS
    Posts
    598

    Default Re: Append operation in a multi user setting

    I've just been dealing with this in a different thread. I notice that the copy records operation doesn't mention that it locks the table. Would it be a better choice in a multi user setup?

    ba

  4. #4
    "Certified" Alphaholic
    Real Name
    Gaby Hernandez
    Join Date
    Sep 2008
    Posts
    1,170

    Default Re: Append operation in a multi user setting

    I went through the various operations that A5 offers but couldn't find a way to solve my problem. The copy op won't do because 1) my target table has a fixed structure (always the same fields) for report generation purposes and you can't map fields between source and target 2) cannot do any calcs with fields, Append allows calc. The Append op. would have been perfect for my purpose.
    I am trying to append records on a invoice by invoice basis; ei when an invoice is created, parent record and child records are appended to target table when the invoice is saved. See attached representation. I have been working on this for a couple of weeks now and still at square one. Any help from A5 gurus would be highly appreciated.

  5. #5
    "Certified" Alphaholic
    Real Name
    David Kates
    Join Date
    Apr 2008
    Location
    Unionville, ON
    Posts
    7,810

    Default Re: Append operation in a multi user setting

    The table should only be unavailable for a second or two. What about testing the table for it's lock status and if locked put up a message (to user2... user3 etc) that their update will occur in a moment... put them into a loop until the table is free and then update the table. The following code is from the help file and deals with a record lock. Because the whole table is locked I'm not sure how this would turn out but the idea is there. Unless you have a bucket of users just hammering the table with new invoices this scenario shouldn't really happen that often... don't you think?

    The only thing I'm not certain of in this code is... if you have an append process going... and you go after a record as below... will it return as locked?

    David

    dim tbl as P
    tbl = table.current()
    status = tbl.is_record_locked()
    if (.not. status) then
    tbl.change_begin()
    tbl.field1 = var1
    tbl.change_end(.T.)
    else
    ui_msg_box("Error", "Record locked by another user")
    end if

  6. #6
    "Certified" Alphaholic
    Real Name
    Gaby Hernandez
    Join Date
    Sep 2008
    Posts
    1,170

    Default Re: Append operation in a multi user setting

    Hi David:
    Thanks for shedding some light.
    Quote Originally Posted by Davidk View Post
    The table should only be unavailable for a second or two.
    In this case it is not as bad as I thought. In the help file it also says:
    " If any one else has the master table open, or if you open another form using the master table, the append will update the indexes after each record append. "
    I am not sure how to understand this. Does it mean that if A5 is in the midst of an appending op and gets a new request, it will process it for sure but after it has finished the current operation or does it just ignores the new request?

    Quote Originally Posted by Davidk View Post
    Unless you have a bucket of users just hammering the table with new invoices
    Unlikely; it's a network with 7 users. and they are not continuously entering records. I am just concerned about the case where the table is locked and a user tries to append records and it does not get appended because of this table locking thing. Then the reports based on the Merge table will be inaccurate.
    My major concern is to make absolutely sure that every invoice record is appended, otherwise reports will not be reliable.
    Last edited by gaby_h; 01-27-2009 at 01:54 PM. Reason: make correction

  7. #7
    "Certified" Alphaholic
    Real Name
    David Kates
    Join Date
    Apr 2008
    Location
    Unionville, ON
    Posts
    7,810

    Default Re: Append operation in a multi user setting

    from what it says... it will update the INDEXES after the append... not do the append... so... not sure about that one.

    I would test the table and if locked put up a busy message and loop until the table is free... the append from another user would only take a second... or less.

  8. #8
    "Certified" Alphaholic
    Real Name
    Gaby Hernandez
    Join Date
    Sep 2008
    Posts
    1,170

    Default Re: Append operation in a multi user setting

    ok David, will do. Thanks for your help.

  9. #9
    VAR csda1's Avatar
    Real Name
    Ira J Perlow
    Join Date
    Apr 2000
    Location
    Boston, Massachusetts, USA
    Posts
    3,530

    Default Re: Append operation in a multi user setting

    Hi Gaby,

    The "Append" operation, and some of the other operations, have two modes of operation. If there is only one user (actually one session) using the table, it is operated in a batch mode where it does an initial query, locks the table, appends the data and then updates the indexes afterwards and releases the lock.

    If more than 1 user or session exists, it runs the query, appends each record individually and updates the index entries for that record without a lock.

    The 1st case is faster if appending a lot of records and the index rebuilding time is small. The 2nd way is faster if the opposite is true, plus doesn't lock the table.

    To open a 2nd session of a table when you are on only one system, open a form of the table before starting the operation.
    Regards,

    Ira J. Perlow
    Computer Systems Design


    CSDA A5 Products
    New - Free CSDA DiagInfo - v1.39, 30 Apr 2013
    CSDA Barcode Functions

    CSDA Code Utility
    CSDA Screen Capture



  10. #10
    "Certified" Alphaholic
    Real Name
    Gaby Hernandez
    Join Date
    Sep 2008
    Posts
    1,170

    Default Re: Append operation in a multi user setting

    Thank you Ira for your feedback, now I see how it works.

Similar Threads

  1. Multi Company - Multi User Shared Website
    By Kevin Callanan in forum Application Server Version 9 - Web/Browser Applications
    Replies: 4
    Last Post: 01-19-2009, 06:13 AM
  2. Append Operation
    By Daniel King in forum Alpha Five Version 5
    Replies: 1
    Last Post: 08-19-2003, 07:12 AM
  3. Append Operation?
    By Bob Elliott in forum Alpha Five Version 4
    Replies: 4
    Last Post: 03-05-2002, 01:00 PM
  4. Single user to Multi user Application
    By George in forum Alpha Four Version 6 and Prior
    Replies: 1
    Last Post: 05-25-2001, 07:22 PM
  5. append operation
    By martinwcole in forum Alpha Five Version 4
    Replies: 8
    Last Post: 12-06-2000, 07:11 PM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •