1. There are many ways to modernize screens for browser access, and many tools available. Are you looking for a method where your program continues to output a 5250 screen, and then that 5250 screen is convered to a web display on-the-fly like HATS? There are at least a dozen of these on the market. The company that I work for (Profound Logic Software) has one called Genie. We have many competitors. The disadvantage of this approach is that your program is still coded as a green-screen, so in many ways it still has the limitations of a green-screen. We also have a tool that will convert the DDS code for a 5250 screen into a newer format that no longer uses the 5250 protocol, which allows you to get online quickly, and eliminate the limitations of 5250. We also have tools for writing traditional web applications that can be used from RPG and similar environments. We have perhaps 8 or 9 competitors that provide similar tools. You can also write your programs to output REST APIs, and call them from traditional web applications, mobile apps, etc. Or you can convert your code to a newer, open source based language (we offer one of these, too.) Many people would also consider rewriting the applications to be modernization, so rewriting for Java, PHP, Python, Ruby, or (my preference) Node.js.
It's hard to answer your question, honestly, because there are so many possibilities. Do you have specific requirements, or something that could narrow it down?2. IWS is very easy to use, but also very limited in what you can do with it. It has been getting better over the years, though. Have you looked at the help inside IWS itself while it's running? That's what I typically use. In addition to IWS there are many other tools for creating APIs. (We also make various tools for this where I work -- notably Profound API -- which is much more powerful than IWS.)Can you give an example of what is meant by "mixed set of *ENTRY plist"? Given a variety of programs, don't they all have a mixed set of parameters? What is different about yours, and what challenges do you face?
Hi Joel, can you explain further why you need to define the parameter as a varying length field instead of defining it LIKEDS(DGZH15)?
Assuming it's necessary to handle it as a string, maybe you could define another version of the data structure for Postman to use, where the packed subfields are defined as zoned subfields. Then use EVAL-CORR in RPG from the zoned-DS to the packed-DS. You would have to define at least one of the data structures with the QUALIFIED keyword so the subfields would all have the same name.