What are the advantages and disadvantages of using AE or SQR?
AE can be called by Peoplecode from a page.
Built-in tools (meta-SQL) allow you to write SQL statements that refer to “all the fields of this record” or “join all the keys shared by these two tables.” This is handy when record layouts change; you don’t have to edit every select or insert.
Built-in tools (temp tables) to run the same program many times on separate portions of your data. Processing takes less clock time.
Repeatability and restartability – this takes a special style of programming. If you do all your processing in temp tables, not only should your SQL run faster, but your output doesn’t reach your permanent tables until you’re sure the program was successful. So, if it abends, you don’t have to worry about half-updated tables. Using state records for your internal variables aids debugging abends and restarting in mid-stream after an abend.
You can write different versions of a section of code, and AE will choose among them based on current date, type of database, or market. This feature is obviously for developers at Peoplesoft Corp to ship the same products worldwide, but it could be useful for us.
Easy communication with the process monitor using the message catalog.
Programming technique is very restrictive. Think of Peoplecode, where you’re only supposed to do certain things in FieldEdit and other things in FieldChange. And it’s easy to access fields in the record of the Peoplecode, harder to access fields in other records or rows of the buffer, still harder to access data outside the buffer. AE can be worse.
You can only view one SQL statement or one block of Peoplecode at a time. It’s like programming or debugging through a keyhole. And be careful printing your program – the print routine leaves things out.
Because it’s awkward to use global variables and tempting to use meta-SQL, you’ll want to do as much as possible in each SQL statement. If you do, your SQL will get very complex, hard to understand and maintain, and potentially buggy. We don’t always remember all the effects of a join – not only do we bring in columns from other tables, but we also restrict our selection and/or multiply our rows based on the matches (0, 1, or many) from those other tables.
Awkward control structures make it hard to follow program logic.
Wonderful printing functions and barely adequate file I/O – both absent from AE.
Easy to use internal variables and even arrays.
The option to choose our own editor, source control system, etc. Control over the format of our code (AE editors tend to rearrange things).
If SQR runs on the client or the command line, it can communicate with the user in free form, including taking user input.
A program must be completely within its source file. Include files are merged in by the compiler. AE can call subroutines within other programs.
Great similarities and small differences make it hard to switch back and forth between Peoplecode and SQR.
*Questions excerpted from ITToolBox.com*
Disclaimer: Contents are not reviewed for correctness and are not endorsed or recommended by PeopleSoft-Planet.com.