Jump to content
Sign in to follow this  
Angus Murray

Using variables across files

Recommended Posts

My apologies to everyone if this has already been discussed.

I want to use a variable across two different FM8.5 files - File A (holding school pupil contact info) and File B (holding invoices / accounts). The files are separate (and not tables within the same file) for a good reason and I don't wish to alter that. The files are related remotely however - the pupil ID being the 'key'.

I want to pick up the pupil ID (the key) in File A and place it into an invoice layout in File B. I currently have a script in File A that contains a subscript. The main script sets the variable (the ID field in the Teaching file) - the sub script opens the File B, goes to the invoice layout, creates a new record and attempts (but fails) to pick up the variable and place it into the ID field, thereby triggering a lookup.

I have spent many hours and read through many of the posts on this excellent forum but am still wondering if there's a smart work-around. Yesterday, glancing through the Scott Love / Steve Lane book, I read that there is a little-known trick using the 'evaluate / get' functions. Unfortunately, this still doesn't make much sense to me and I wondered if anyone out there had used this and knew how the script(s) would need to run.

Many thanks in advance.

Share this post


Link to post
Share on other sites

Variables are file-specific. Either use global fields or pass values in script parameters. In this case, I'd recommend passing the ID in a script parameter to the sub-script in the second file. Then pull it out in the sub-script using get(scriptparameter).

Share this post


Link to post
Share on other sites

Hi Ender

Being very much a newbie where scripting is concerned, I have tried the following to no avail - can you spot where my error is in here:

Set variable [$$ID no;Value:Teaching::ID_no]

Open file ["Accounts"]

Perform script ["Create Teaching invoice from file: "Accounts"]

Exit script [Result: Get (ScriptParameter)]

The sub script runs as follows:

Go to layout ["Teaching invoice" (AM_Invoices)]

New record/request

Set Field [AM_Invoices::ID_no; Get (ScriptParameter)]

I have tried Get (Script result) in the subscript but this seemed to make no difference.

Any suggestions would be gratefully received. Thanks

Share this post


Link to post
Share on other sites

You have to explicitly specify the script parameter in the Perform Script[] step. Look at the bottom of the Specify dialog for the Perform Script[] step.

Share this post


Link to post
Share on other sites

You might also check out the script parameter description in the application help.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.