Midrange News for the IBM i Community


Posted by: Bob Cozzi
Rogue Programmer
Cozzi Productions, Inc.
Chicagoland
Anyone replacing DDS with UIM?
has no ratings.
Published: 09 Dec 2013
Revised: 13 Dec 2013 - 3787 days ago
Last viewed on: 26 Apr 2024 (5099 views) 

Using IBM i? Need to create Excel, CSV, HTML, JSON, PDF, SPOOL reports? Learn more about the fastest and least expensive tool for the job: SQL iQuery.

Anyone replacing DDS with UIM? Published by: Bob Cozzi on 09 Dec 2013 view comments(7)

I know there are at least 6 people in the IBM i community who have moved from DDS to UIM in the last 20+ years. I'm wondering if anyone here has done so, and what they think of UIM in general (pros, cons).

I'm also wondering what the difference is between UIM and DSM. I know DSM is 100% API-call interfaces, whereas UIM uses the Helptext tag-based system to form panels. Anyone using DSM?

 

Return to midrangenews.com home page.
Sort Ascend | Descend

COMMENTS

(Sign in to Post a Comment)
Posted by: DaleB
Premium member *
Reading, PA
Comment on: Anyone replacing DDS with UIM?
Posted: 10 years 4 months 18 days 21 hours 45 minutes ago

DDS for regular display formats, but switched to UIM for help displays years ago. And for *CMD help.

Looked at samples of UIM applications. I think there were some panels and code in TAATOOLS, but never had a customer willing to make that switch. I can see the attraction, though. Most of the user interface stuff is taken care of by the UIM. Handles display, edit, lists (no more subfiles!), and I think even printing. You don't have to deal with screen handling, just react to events, if I remember correctly. 

Never really did anything with DSM. Looked at it once, 3 or 4 years ago. Don't even remember what I was trying to do (maybe a movable window?). In the end I stuck with DDS for that, too.

Posted by: bobcozzi
Site Admin ****
Chicagoland
Comment on: Anyone replacing DDS with UIM?
Posted: 10 years 4 months 18 days 5 hours 30 minutes ago
Edited: Tue, 10 Dec, 2013 at 08:49:14 (3790 days ago)

Dale,

I've been using UIM Helptest for my Cozzi Tools commands for a couple of years, but that's the extent of it. I'm going to build a UIM Menu maker to get some experience with it. Hate those DDS-based Menus. 

Too bad they don't also send UIM streams to the Web or even better, support XML in place of UIM tags.

Posted by: Viking
Premium member *
CA
Comment on: Anyone replacing DDS with UIM?
Posted: 10 years 4 months 18 days 2 hours 39 minutes ago

I remember making panel groups with help text for a new collection of programs our department wrote way back in 1993.  It worked well but was still kinda tedious.  I've also made help text in Word, PDF, etc. and launched those from within the green screen.  Not sure what DSM is, so now I'll have to look that up...

Posted by: DaleB
Premium member *
Reading, PA
Comment on: Anyone replacing DDS with UIM?
Posted: 10 years 4 months 17 days 6 hours 8 minutes ago

Ooh - forgot about that. Yes, UIM for menus. They're reasonably easy to create, can do short, long, or no command line, and (the best part of all) they support scrolling.

Posted by: bobcozzi
Site Admin ****
Chicagoland
Comment on: Anyone replacing DDS with UIM?
Posted: 10 years 4 months 16 days 23 hours 35 minutes ago

Dale,

Menus, yes. And they are all pretty consistent in their structure. So I'm going to generate a Message File just like the DDS-based Menus, and then in my "Build Menu" routine, I'll extract the menu option text, command and helptext from the msgid. Looks relatively easy. But I've gotta get away from this SDA/DDS-based menus on one of my clients. They're painful.

Posted by: DaleB
Premium member *
Reading, PA
Comment on: Anyone replacing DDS with UIM?
Posted: 10 years 4 months 16 days 3 hours 51 minutes ago
Edited: Thu, 12 Dec, 2013 at 09:43:13 (3788 days ago)

One of my cutomers had a package that used *PGM menus. They were actually pretty slick. All menus used the exact same PGM(). The *PGM figured out the *MENU's object name, and then built the menu dynamically by interrogating a table with the menu name as the primary key. Unfortunately I don't have a copy of it anywhere.

I do remember that the menu item table had a few features you might want to consider:

I kind of remember it allowing you to specify comment text, blank lines, a command to execute, a menu to show, or a program to call. The *PGM would figure out what to do based on the line type.

MENUI's ACTION values would allow for CALL, CMD, or MENU. Comment text was just extra text that was displayed; the closest I think you'd get in UIM would be to use MENUGRP.

Don't remember a way to do blank lines or free form text. I think MENUGRP would allow for both, though not quite as freely. The MNUGRP has a name, which is the free form text, and I think there's an automatic blank line between MENUGRPs. P(aragraph) would make blank lines and free form text easy, but you're not allowed to use P inside of a MENU.

Allow for short or long command line, or option number only. UIM CMDLINE and OPTLINE tags.

It also allowed for resequencing. The menu editor allowed you to move lines before and after, like SEU, insert new lines, and delete lines. Each line had an Id that was independent of its sequence. Then there were next and previous sequence numbers in each item, maintained as a doubly linked list. The first item had previous = 0, and the last line had next = 99999. At run time, the menu's *PGM looked for previous = 0 to find the first item to display, then followed the links until it hit 99999.

I only have vague recollection of how it managed security. I kind of think it did check up front, and items you weren't autohrized to were not displayed in the run time menu. UIM would do that with COND and CHKOBJ. CONDs are separate from the MENUIs (or MENUGRPs) that use them, so that would be a little trickier to generate, but not impossible.

Don't know if any of this is worth incorporating into your "Build Menu", but it was a reasonably good system.

Posted by: GFuste
Premium member *
Jacksonville, FL
Comment on: Anyone replacing DDS with UIM?
Posted: 10 years 4 months 14 days 23 hours 57 minutes ago

I've been using UIM for help for quite some time and at my current location they hadnt been using so it was a nice development to put together.  As of late, I created my own package to use the IFS for storing help text and linking it to DDS with the F1 or HELP key and displaying the help.  And, while the help is displayed the user can use SEU to modify the help text.  This lets users make and maintain their own help and with special characters they can highlight and underline text.   Neat little way to go.