FMP Download Files

Inventory Update Methods

As I mentioned in a previous post (see below), I began a conversation on FileMaker's community forum regarding the various methods for updating quantity fields in an inventory database (e.g. on hand, allocated, available, on order, etc.). it was a great conversation and several developers explained their methods for updating inventory. This download contains four methods as I understand them.

None of the methods involves calculation fields or summaries. I know some developers use these for inventory. However, I've chosen not to include them as they can adversely affect large data sets. Since they don't use calculation or summary fields, these methods are highly scaleable. The four methods are:

• 01_Find and Update.fmp12 is straight forward enough. Find the item and the Item location records and update them in another window.

• 02_Portal Method 1.fmp12. This is the method I was using and is in the previous post "Inventory Update Demo". It involves creating a relationship and a portal on every layout and updating without leaving the current record.

• 03_Portal Method 2.fmp12 is a different portal method, which, in my opnion, is more elegant than the first. Rather than a portal on every layout that requires an update (e.g. Purchas Order, Receiving, Sales Order, etc.), portals are placed on the Transaction layout.

• 04_Qty on Transaction_v2.fmp12 is different from the first three methods in that the quantity fields are NOT in the Item and Item Location tables. Rather, they are in the Transaction table.

• 05_Qty Table.fmp12 is yet a different approach. This approach stores the quantity fields in their own table rather than in the Item table or the Transaction table. By including them in their own table, the only record locking that can occur is if another script is trying to update the record. A loop in the script checks for record locking and since the script quickly moves through the process, even if a record lock occurs, it can be retested immediately, essentially forming a queue, wainting for the record to become writable.

Many thanks to all those who contributed to the discussion. In particular, thanks to Todd Walker (02), Wim Decorte (03), and HOnza (04) whose methods are the foundation for this demo.

FMP 13 Files Updated: 2015-Mar-27 9h14 EST

Inventory Update Demo

I began a conversation on FileMaker's community forum regarding the various methods for updating quantity fields in an inventory database (e.g. on hand, allocated, available, on order, etc.). This demo file shows the method I employed at the time - putting a portal on every layout that triggered an update.

This file is open. You are welcome to download and experiment with the different methods.

FMP 12 File

Modal Windows/Revert Record Update

This is an updated technique from my previous download "Modal Windows/Revert Record" (see below). That technique used a hidden button in the background. This updated version is a cleaner approach, using the OnRecordCommit and two scripts.

Giving credit where credit is due: The basis of this file/technique is from Artie Brosius' blog post "Easy FileMaker modal edit dialogs with full rollback support". Artie's technique is in FMP 11 which didn't have modal windows. Also, Ernest Koe of Proof Group demonstrated this technique during his DevCon 2013 presentation: "Great Interface Design Patterns for FileMaker Pro". You can download that talk from Tech Net. Ernest's comments regarding this technique start at 42:48

FMP 12 File

Vertical Navigation using a Popover and Virtual List

Vertical navigation is once a gain popular on the web, particularly on data driven sites. In FileMaker, the typical navigation pattern is often a horizontal menu bar. Some developers incorporate vertical navigation in their systems with the use of a portal. Unfortunately, the portal alone is limited because it can only work on a form view; it doesn't work in a list or table view.

The popover layout object in FileMaker Pro 13 - combined with a virtical list - can provide a more dynamic vertical navigation as shown by this video and demo file.

Modified script parameter: 2014-05-21 14h22 EST.
Thanks to Ralph Salomons and David Zakary for discoverying a bug.

FMP 13 File

Popovers and Portals in FileMaker Pro 13

Popovers are a great new feature in FileMaker Pro 13. They can contain a variety of different layout objects, including portals. However, when the popover object is in a portal, it will not display a secondary portal. This is because a portal cannot contain a portal, or more accurately, a portal will only display a subordinate portal in the first row.

There are a couple of work arounds: use a text field or use repeating fields. This video and file demonstrate both.

FMP 13 File

Modal Windows/Revert Record

This technique has been updated; see Modal Windows/Revert Record Update above.

One of the many great new features in FileMaker Pro 12 is modal windows. In this screencast I demonstrate how to use a modal window to add and edit a record. The same layout is used for adding and editing a record and the technique requires two scripts. There is a caveat to this technique and this is the real purpose of the screencast. The second script uses the Revert Record script step which will delete a newly created record as well as undo any changes to an existing record. However, if the user commits the record then the record cannot be reverted. Fortunately, this is easy to solve.

FMP 12 File

Web Scraping in FileMaker 12

FileMaker Pro 12 introduced a new script step "Insert from URL". This greatly enhances the process of scraping data from the web.

FMP 12 File

Using a Grid to Design Layouts in FileMaker 12

FileMaker Pro 12's new grid tool allows developers to create layouts similar to using a CSS framework such as 960 Grid. John Mathewson of Kyo Logic, LLC does an excellent job of demonstrating the new grid tool in his FileMaker Academy webinar "Layout Mode Enhancements". This file is meant to compliment the grid demonstration in that webinar.


See NLD Grids on the Products Page. NLD Grids is a grid system completely built in FMP and provides 10 popular grid layouts including portrait and landscape for the iPhone and iPad.

FMP 12 File

Normalizaing a Flat File in FMP 11

As FileMaker Pro developers we are often required to take a flat file and normalize it. Here are the steps that I take to normalize a database in FileMaker Pro 11.

FMP 11 File

Dynamic Read Only Data in FMP 11

Sometimes we need to put our FileMaker data on the web. However, it doesn't always require user interaction. Enter DataTables - a jQuery plugin!

HTML and FMP 11 File

Limit User Navigation

Once a user has limited access to the database, it is best to restrict their navigation. To accomplish this, we create a dynamic navigation bar that changes with the user login.

FMP 11 File Notes

Party Model in FileMaker Pro 11

Sometimes individuals and organizations can be the object of an entity. For example, a membership database might have a person (e.g. Jane Doe) as well as an organization (e.g. Doe Technologies, Inc.) listed as members. The party model is a logical model that offers flexibility in such instances. Implimenting the party model in FileMaker Pro 11 can be a little tricky. Here is my version.

FMP 11 File Documentation File

Limiting Users View

Displaying or hiding data based on user login is a common feature to many applications. Here is one way to accomplish this in FileMaker Pro 11. The initial login username: "Abigail". No password.

FMP 11 File