Browse Link Maintenance
Selected browses include Create and Modify buttons at the top of the browse display in the QAD .NET UI.
• The Create button is a link to the maintenance program you use to create an item in the browse.
• The Modify button is a link to the program you use to modify an item in the browse.
The Create and Modify buttons provide browse program links. When you click on a browse program link Modify button, data from the currently selected row in the browse is passed to the linked program.
For example, in Sales Order Browse, click Create to open Sales Order Maintenance to enter a new sales order. Click Modify to open Sales Order Maintenance to modify the order for the currently selected row in Sales Order Browse.
The browse program link buttons are defined and maintained using the Browse Link Maintenance program and can be browsed using Browse Link Browse (36.20.22). The columns list the browse, the description for the button, whether to launch is the primary action, and the URL to execute. The URL to Execute field specifies the program to run, and also any fields that should be populated based on the current row in the browse.
To define browse program links, open Browse Link Maintenance (36.20.21).
Browse Link Maintenance
Specify the browse to which you want to add a browse program link button.
Specify a URL (optional).
Specify the description for the link.
Set the checkbox to indicate the browse program link is the primary action.
URL to Execute
Specify the URL to execute, which is the program to be run when the link is clicked. When defining the URL to execute, use the following format:
a Enter #b# to indicate the beginning of the string.
b After the #b#, enter run_html.
c Enter #e#.
d Enter ?id=program_name. For example, ?id=sosomt.p specifies to launch Sales Order Maintenance.
Example: The following URL to Execute launches Sales Order Maintenance: #b#run_html#e#?id=sosomt.p.
Click Next to display the HTTP Parameters screen for the URL you have defined.
Browse Link Maintenance, HTTP Parameters
This field displays the program you have defined to be executed by the link. Click the lookup to select a different program, if required.
The index value is the number of Go commands (or submits) that a program will execute when launched using this link.
The index field is used to store the number of times the program will execute an Enter action (similar to pressing the Next button). This has the effect of processing the active fields that were enabled for input and then executing any program logic that occurs until the next prompt for data is encountered.
In simple maintenance programs, this is set to 1 to simply enter the key field values and access the fields that can be maintained in the linked record.
For more complex maintenance programs, there may be multiple sets of input prompts to be processed to access the frame of maintainable data.
For example, the first prompt for data in addkmt.p requires a value for the field Shipto. The program link record provides the value of ad_ref from the browse and executes the first Enter action. The next prompt for data in the maintenance program requires a value for the field ad_addr and the browse link provides the value of ad_addr from the browse and executes a second Enter action. This advances the maintenance program to its frame of maintainable data for the user. Each time the program asks for data to be entered, the browse link logic offers up the fields it has and if there is a match between the field names it has data for and the fields the program is looking for, the field value is provided and an Enter action is executed (if there are any left to execute).
Enter the name of the variables that the target program is using to prompt for data. To find this information, execute the program, advance the cursor to the desired fields, and press Ctrl-F. The value fields (Value, Value, and so on) are the variables names from the browse providing the data and must be contained within #b# and #e#. The browse link logic uses these tags to parse out the value of the field from its record buffer.
Field: shipto; Value : #b#ad_ref#e#
Field: ad_addr; Value : #b#ad_addr#e#
Important: Progress has a limit in the size of the data that can be stored in an index. In versions prior to 10.1B, the limit is around 200 characters (the sum of all the data contained in the fields of an index of a record). This limit has been increased to around 2000 characters in version 10.1B and beyond. Within Browse Link functionality, you are restricted to the 200-character limit unless you have upgraded your version of Progress. This limits the number of parameters that can be defined in a browse link, usually to four or less, although a fifth parameter is possible if the names of all of the involved fields are small.