Hi, Paul:

OS/400 and i5/OS have a very nice "native" way to handle "work-with" screens -- it's called the User Interface Manager (UIM). You create a UIM panel (*PNLGRP), using the CRTPNLGRP command, and UIM source. This is all described in the "Application Display Programming" manual.
This capability has been available since around V2R1M1 or V2R2.

Unfortunately, IBM did not do a very good job of "communicating the vision" to ISVs and business partners, because UIM has had a rather low uptake (or "adoption rate") among application vendors. And that's really sad, because, using UIM to do "work with" panels makes the job very easy and takes a lot of the work out of your hands. The User Interface Manager does a lot "under the covers" for you. You define the UIM panel using the UIM language, a tag language not unlike HTML. UIM does the "layout" automatically for you. It arranges the fields nicely on the screen, with some direction from you as to whether you want horizontal or vettical arrangement of fields ,etc.

Also, if you use OS/400 user-defined commands, it is very easy to create options that prompt commands with UIM. So each action (such as 1=Add, 2=Change, 4=Delete, 5=Display, etc.) becomes an OS/400 command. That way, the OS/400 command interface takes care of providing the default "fill-in-the-blanks" form for you, and passes each "field" as a separate parameter to the Command Processing Program (CPP) for the command. Again, user-defined commands is another area that IBM has not done a good job of educating the user base and especially ISVs on the benefits of developing your own commands.

UIM automatically handles all of the prompting, etc., so you can type an option number next to an item, then press F4=Prompt, or just press Enter, etc. And, UIM can even handle the "Confirm delete" panel that lists all the items you selected for deleting (e.g. with option 4=Delete), so you can look at the list first, and if you want to change anything, you press F12=Cancel to go back to the list panel to change your selections, before you press Enter to delete them all.

I realize that many people have developed their own "work with" DDS display files (subfiles, etc.) and corresponding RPG programs to do this sort of thing, and I have seen a number of "code generators" that do this. But, the code is much more "cumbersome" because you have to include code to handle all of these features (prompting, delete confirmation, etc.) that UIM provides for you automatically.

Once you become familiar with how to create a "work with" panel and a set of commands, and have a set of "templates" you can use as a "boiler-plate" for each new set of commands and their corresponding "work with" panels, you should be able to "crank out" a new "work with" panel and the commands to go with it, for each new entity type (e.g. "Work with employees", "Work with Customers" etc.) in only a few days. Definitely less than one week (more like 2 or 3 days). Definitely faster than the "one or two weeks" estimates I have seen posted in response to this topic using other "traditional" techniques.

I am also rather surprised that no one has yet developed a "work with" generator (case tool) that uses UIM and commands.

That's my "take" on this topic.

All the best,

Mark S. Waterbury

> Paul Holm wrote:

We are working on a white paper which will compare RPG programming productivity flexibility with other approaches for i5 application development. I would be interested in feedback/insight on the following.

The #1 most used and needed programming task is development of a “WORK WITH” screen. This typically in RPG is a subfile with a position to type prompt. You typically can input a search parameter(s) and get a list of records to work with. They are used everywhere and examples include: work with orders, work with products, work with employees, work with customers, etc.

Once you have a list of records then #2 most required task is file maintenance. (Edit, insert, delete one of the records in your list. )

Roughly how long does it take in RPG to create a new “WORK WITH” and Data maintenance application from your experience?

Thanks, Paul Holm

This thread ...


Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2020 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].