|
This is the first issue of Net.Data Recap! The goal is to ensure that you are aware of the various Net.Data enhancements and fixes that have been made available. Net.Data Recaps will be issued periodically, so come back and visit!
To get the features described, ensure you are on the right release of the i5/OS and that you have the latest Net.Data PTF loaded.
GENERAL: Form-Based File Uploads
Form-based file uploads is the ability for clients to send files from the client machine to the server machine using an HTML input field in an HTML form. Details can be found
here.
Available on V4R1 and subsequent releases.
GENERAL: Dynamic Variable References
Dynamic variable references is the ability to generate a variable name by including variable references, strings, and function calls within a variable reference. Details can be found
here.
Available on V3R2, V3R7 and subsequent releases.
GENERAL: Macro Caching
Macro caching improves performance by storing the tokenized form of the macro in memory for later reuse. Details can be found
here.
Available on V3R2, V3R7 and subsequent releases.
GENERAL: Removal of White Space
Redundant white space, such as blanks and line feeds, can be reduced by using DTW_REMOVE_WS. Details can be found
here.
Available on V3R2, V3R7 and subsequent releases.
GENERAL: Eliminate "Macro Not Found" Messages
DTW_DEFAULT_MACRO can be specified in the INI file and should be set to a macro that Net.Data will process when the macro specified on the URL is not found or cannot be accessed by Net.Data (e.g. no authority). For example:
DTW_DEFAULT_MACRO /errorMacro/report
Where
errorMacro is the macro and
report is the html section in the macro to process.
Note that Net.Data will attempt to resolve the macro in the exact manner that it resolves macros specified on the URL. In addition, an HTML section must be specified. No input (URL) data can be specified.
Available on V3R2, V3R7 and subsequent releases.
GENERAL: No ENVIRONMENT Statements
We recommend that you remove all ENVIRONMENT statements for Net.Data supplied language environments from your Net.Data INI file. Makes life a lot simpler.
Available on V3R2, V3R7 and subsequent releases.
GENERAL: Compatibility With Macros Ported From Other Platforms
Net.Data on the System i always processed report blocks, even if an error occurs. However, Net.Data on other platforms do not process report blocks on errors for the database language environments. A new INI file variable,
DTW_PROCESS_REPORT_ON_ERROR NO
can be put in the INI file to ensure that macros ported from other platforms run correctly. This is especially important for Net.Commerce macros.
Available on V3R2, V3R7 and subsequent releases.
GENERAL: Persistence
There were several problems with Net.Data persistence:
- Persistent macros did not work when DTW_REMOVE_WS was specified.
- The built-in functions DTW_COMMIT and DTW_ROLLBACK did not work.
- Reclaim activation group issued by the HTTP server caused unpredictable results and affected performance.
Applying the latest HTTP server and Net.Data PTFs for V4R3 and V4R4 resolves the problems listed above. However, applying the HTTP server PTF will result in a performance hit unless you follow the instructions in the cover letter about recycling the job since the HTTP server will end the HTTP server job (instead of doing reclaim activation group)when a persistent session has completed. Here is the text of the cover letter:
--BEGIN COVER LETTER---------------------------------
The RCLACTGRP *ELIGIBLE is not working as expected. And, any RCLACTGRP is not guaranteed to work because the web server will only know about the activation group of the CGI program, it will not know about any activation groups that the CGI program may cause due to programs it calls or APIs it uses.
Therefore, we will make the default action of the web server to end the job that the persistent CGI was using when it exits persistence.
For performance reasons, it is desirable to reuse or recycle the CGI jobs, however, the CGI programmers of the persistent CGI programs must first ensure that they clean up all of their persistent variables before they exit persistence. Since the webserver does not know if the CGI programmer has done this, the HTTP server defaults to end the job. If the CGI programmer would like to have the jobs reused/recycled, then the programmer will be required to change the "Exec" directive that causes any persistent CGI program to be ran. Using the WRKHTTPCFG command, put the following line at the end of the "Exec" directive for their CGI program, leaving at least one blank space after the current last character on that line:
*RecyclePersistOnExit
Also, the CGI programmer must first verify that his persistent CGI program does work properly without the RCLACTGRP before doing this.
Here are some examples of what the Exec directive would look like when adding this:
Exec /d/* /qsys.lib/k.lib/*.pgm *RecyclePersistOnExit
You will not be able to add this parameter to the Exec directive using the *ADMIN server Graphical User Interface.
--END COVER LETTER-----------------------------------
Available on V4R3 and subsequent releases.
SQL LE: Nested SQL Calls Without Tables
You no longer have to pass Net.Data tables when peforming nested SQL function calls (e.g. calling another SQL function from the ROW block of a SQL function).
Available on V3R2, V3R7 and subsequent releases.
SQL LE: Sort Sequence Table
The SQL language environment has been enabled to use the sort sequence table of the HTTP server job it is running under. Sort sequence tables can only be used if accessing the database on the same system Net.Data is running on.
Available on V4R3 and subsequent releases.
JAVA LE: Calling Java Programs
Call Java programs from within a Net.Data macro using the Java Application (DTW_JAVAPPS) language environment. Details can be found
here.
Available on V4R4 and subsequent releases.
|