DSM Commands Directory
Directory .ZIP
objects?
This directory demos a few command shells for some basic Dynamic Screen Manager (DSM) APIs. Using just these commands, you can dynamically create output displays. (Handling input requires pointer processing and it'll be a while before I get examples of that in CL.) The program example is the same program you'll find in the DSM directory but the API calls are replaced with *CMDs here.
The commands don't wrap the APIs directly because they're ILE APIs. Instead, each command wraps an ILE CL program that does the necessary CALLPRC.
These are not "finished" products. I still haven't determined how DSM might be best used nor how best to call the APIs. I got this subset working and knew I wouldn't have time in the near future to do much more, so I wanted to get them uploaded to give anyone else time to experiment. When a bunch of us feel comfortable with the APIs, some will explore different ones and we'll all benefit.
Please read the @GENERAL DISCLAIMER document for any items you should be aware of if you download any of these items.
Sample ILE CLP
DSMCMD -- Sample DSM Command Use:
This program is a revision of TSTDSMDSP. It uses the Customer file that IBM ships in the iSeries Access QIWS library and displays a list of the records. I haven't gotten into detailed display field definitions, so only simple character fields from the records are used.The QCUSTCDT file on my development system only has a dozen records or so, so the logic that handles multi-page lists doesn't come active. But if you make a duplicate of the file and increase the record count, you'll begin to see some sense in how it works. The program displays records a page at a time. What happens when the next page is displayed shows one part of what DSM might give the innovative programmer.
A sample screen image can be seen here. Note that the display mode was set to 27x132 when the screen was initially cleared even though the lines could fit in 80 wide.
CMDs
BEEP -- BEEP (QsnBeep):
The command definition object source for the QsnBeep wrapper.CLRSCN -- Clear Screen (QsnClrScr):
The command definition object source for the QsnClrScr wrapper.GETAID -- Get AID Byte (QsnGetAID):
The command definition object source for the QsnGetAID wrapper.ROLLUP -- Roll Up (QsnRollUp):
The command definition object source for the QsnRollUp wrapper.WRTDTA -- Write Data (QsnWrtDta):
The command definition object source for the QsnWrtDta wrapper.