Frequently Asked Questions
Who do I call for more information?
Call Gary West at 918-274-0083 or email Gary at firstname.lastname@example.org.
What geographical areas to you serve?
Currently, we serve all of North America. We have clients from New York to California, Guadelhara Mexico to Toronto Canada.
How do your support remote clients?
We have employees in four states. These employees travel to client locations as necessary, usually for meetings to design and review project specifications, or to provide training and help with software testing. The majority of actual development is usually done remotely from our employee site, frequently while dialed into the client's system. When
necessary, our employees will travel to client locations for extended work on development.
You use the AS/Set case tool. Do you recommend it for custom development?
We have a lot of requests to modify BPCS, and as BPCS 6.0 and later versions was developed in AS/Set, we are pretty much limited to using AS/Set for the modifications. Our programmers are well versed in both AS/Set and RPG as well as many other languages. We generally use whichever language seems best for the current project and generally we use RPG for new development on the AS/400. Most clients with seasoned veteran RPG programmer will find RPG programs more productive in both development and execution of developed programs. Clients with less experienced programming staff will probably do better to stay with one language and use AS/Set exclusively to avoid requiring staff to learn and become proficient in more languages than is required to do their job.
Do you use and recommend SQL in your programs?
Generally speaking, YES. SQL is another powerful language that should be made available and utilized by programmers when it will help in their job. When used correctly, it can execute just as fast or faster than language specific op codes like GETREC, Chain, or Read. It does require additional training because it is a complete language in itself. Like any computer programming language, when used improperly, it can lead to very
inefficient coding techniques. In fact, because it is so easy to use it may lend itself more than other programming languages to inefficiencies. For example, very few programmers would ever attempt to retrieve a single specific record from a multi-million record file based on one key field if there was not a logical file over the physical that was based on the desired key field. However, programmers in SQL can do just that and in fact have done so leading to some horrible performance. There are other less obvious, but equally devastating techniques that programmers can and have done, but should never have coded.
How can I improve the performance of my SQL programs?
Like many things, it depends. About 70 % of the time performance can be improved by creating logical files that will help SQL to select records faster. This can usually be done by running the program while in debug ('STRDBG'). After making sure the program has executed the SQL statements, display the job's joblog ('DSPJOBLOG'), press (F10) for detail, (F18) for bottom, and then (page up) until you see job log messages referring to the SQL statements. By placing the cursor on these messages and pressing help, the system will describe logical files that will help it run faster. The information regarding desired logical files is usually accurate. However, a knowledgeable SQL programmer might have ideas for logical files that are even more helpful.
About 20% of the time the problem is in the SQL itself. In these circumstances an experienced SQL programmer should review the code and make recommendations for correcting the SQL. About 10% of the time the SQL needs to be replaced with I/O statements native to the language being used. In these cases SQL was used for the wrong purposes.
Should we convert our RPG III to RPG IV?
Generally speaking, YES. It may not be worth starting a project to immediately convert all existing code from RPG III to RPG IV, but as programs are modified I would convert them to RPG IV using the "CVTRPGSRC" and then make all changes in RPG IV. RPG has so many new features available including the larger field names and Built in Functions (BIF) that it would be a shame to not take advantage of them. The compiles programs will probably even execute faster. Even if you do not take advantage of the Integrated Language Environment immediately, there are major benefits to using RPG IV over RPG III. The learning curve for writing RPG IV is really insignificant as you can generally use RPG III opcodes and techniques initially and gradually pick up the new RPG IV BIF's.