mrc Documentation
michaels, ross & cole, ltd.
http://www.mrc-productivity.com/
|
|
Changing Maintenance Modes via URL Parameters
When
you utilize a Single Record Maintainer, you can set the default mode of the
application to be either Add, Update, or Delete. But what if you want an
application to add and update, for instance, based on what link a user clicks?
Rather than making three separate applications, you can control the action of
the maintenance application based on the parameter you pass to it.
For
this example, we will utilize M00100s in data DICTionary
HURCKES.
After
building a basic application, we can enter m-Painter and click the “Application
Properties” button.
Under
the “Program Options” tab, you can see we have a parameter titled “default_mode”.

Here
it has been set to add mode.
Running
the application,

We
see that we are in standard “Add” mode for data entry. However, I can modify
the URL so that I can directly access this Maintainer in Update mode. In
essence, I am overriding the “default_mode” at run
time.
Rather
than running the application as HURCKES.M00100s, I will now run it as
HURCKES.M00100s?action_mode=UVK&CUSNO=222223,
resulting in this screen

Notice
that is automatically called the application, pulled
back the record where the key field (CUSNO) was equal to “222223” and now
allows me to update any field other than the key field.
You
have many other options, as well. Including Prompting a user
to enter in data or to perform the data change directly via email. See
the below directions:
action_mode required:
|
|
ADD |
UPDATE |
DELETE |
|
Prompt |
AVK&slnk=1 |
UVK |
DVK |
|
Perform |
AUR |
URD |
DDR |
Prompt, Add mode
For
example, adding a record in while passing values:
HURCKES.M00100s?action_mode=AVK&slnk=1&CUSNO=9999&CNAME=ZTrikes
Perform, Add
mode
For
example, adding a record via single click:
HURCKES.M00100s?action_mode=AUR&CUSNO=9999&CNAME=ZTrikes
Prompt,
Update mode
For
example, updating a specific record:
HURCKES.M00100s?action_mode=UVK&CUSNO=9999
Perform,
Update mode
For
example, updating via a single click:
HURCKES.M00100s?action_mode=URD&CUSNO=9999&CNAME=ABikes
Prompt,
Delete mode
For
example, delete a record, confirm with user first:
HURCKES.M00100s?action_mode=DVK&CUSNO=9999
Perform,
Delete mode
For
example, delete a record in one click:
HURCKES.M00100s?action_mode=DDR&CUSNO=999
Note: Parameter names are governed by HTML laws, which
require case sensitivity – “CUSNO” is different than “cusno”
So far we have dealt with how
you call the maintainer and then allow for the user to type in new values in
any fields that they choose. We may wish
to call the maintainer and pass the new values for the update fields to the
maintainer, asking it to execute the update directly for us, without even
displaying its screen to the user.
One of the hyperlinks
described above to update a record currently looks like this
HURCKES.M00100s?action_mode=URD&CUSNO=9999&CNAME=ABikes
To make it automatically
carry out the update we need to add the following to the end of the hyperlink
string
&one_step=1&all_redir=DICT.I00001s
The whole string now looks
like this
HURCKES.M00100s?action_mode=URD&CUSNO=9999&CNAME=ABikes&one_step=1&all_redir=DICT.I00001s
These additional parameters are as follows
One_step = 1
This instructs the maintainer to execute the updeate in oen single step, without showing us any screens.
All_redir = DICT.I0001s
This instructs the maintainer where to redirect after it has completed the update. In this case it is redirecting a retriever, but it could be to any page that you choose.