FINAL POSTING: May 18, 1999 **** ALWAYS REVIEW INSTALLATION INSTRUCTIONS FOR POSSIBLE UPDATES **** The EKD411* fix packages are provided by IBM as a means of delivering the latest code enhancements and fixes to V4R1 ImagePlus VisualInfo and WAF customers. This document describes the new functions which have been added to these products since their initial availability. The latest copy of this document is available as 'readme.txt' at FTP site: 'ftp.software.ibm.com/as400/products/visualinfo/fixes/v410' This document is also available as member NEWFUNCTN in file README, once the fix packages are restored to your system. You can use the DSPPFM or WRKMBRPDM commands to view or print that member. Information on the APAR fixes included in these fix packages can also be viewed once you have restored the libraries to you As/400. Reference the FIXES* (ex: FIXES, FIXESA, etc) member in the README file. *** Please review the FIXES* member to note any special instructions. *** As of February 27, 1998 the EKD411LIB fix package has had its final posting. As of June 5, 1998 the EKD411A fix package has had its final posting. March 31, 1999 the EKD411B fix package had its final posting. To determine if you have these final versions, check the date at the top of your 'fixes*' member in file 'ekd411lib/readme'. Continue to watch the FTP site for updates to file EKD411C.BIN and the *.zip files, as we will continue to post fixes there, when they become available. If you have difficulties using FTP to receive these fixes or require further assistance, please contact VI/400 Support through your normal support channels. NOTE: The fixes available on this site require OS/400 Versions 3.2, 3.7 or higher. Customers running on OS/400 Versions 3.1 or 3.6 may contact VI/400 support for individual APAR fixes currently available. NOTE: If you have not yet installed VI/400 V4R1, please reference the ImagePlus Web page for the latest installation hints & tips: http://www.software.ibm.com/data/imageplus/as400.html ********************************************************************* Contents: * New Functions added in fix package EKD411LIB * New Functions added in fix package EKD411A * New Functions added in fix package VI400.ZIP * New Functions added in fix package EKD411B * Installation Instructions ********************************************************************* **New Functions added in EKD411LIB ImagePlus VisualInfo for AS/400 announces support for: 1. TCP/IP is now supported via Sockets for the VisualInfo client or any workstation application that uses the VisualInfo APIs. For details on configuring and starting TCP/IP support use the DSPPFM command to review the 'qvi400' member in the 'qclsrc' file, once the EKD411LIB library has been restored to your system. To configure the VI Client to connect using TCP/IP, change the network table FRNROOT\FRNOLINT.TBL to contain: SERVER: server_name REMOTE TCPIP HOSTNAME = tcpip_address PORT = 31015 SERVER_TYPE = FRNLS400 - The server name is the name the Windows user will select to connect to the AS/400. It can, but does not have to be the actual AS/400 name. - 'tcpip_address' can be any form of the name that can be used to reach the AS/400 using TCP/IP. For example, the actual network address (9.10.11.12) could be used if you do not have a Domain Name Server configured. To verify a name or address, use the PING command. - The port defined here must match the port specified in the QVI400 source. 2. Elimination of the requirement to use a mapped drive (generally provided by Client Access) to access the image data on a library (primary) server, whether using APPC or TCP/IP. To access image data on a secondary server, you must still use a mapped drive. 3. A new API, QVISNDRCV, has been provided to enable AS/400 applications to display documents through the VI Client. A "reset" option is included to simulate the Working Set concept of IWPM. Further information and a sample program are available. Review the 'qvidsptst' member in the 'qcsrc' file, once the EKD411LIB library has been restored to your system. For more information, see README.QVISNDRCV. 4. The VI/400 client APIs are now available as equivalent server APIs for the AS/400. They are supported on OS/400 versions 3.2, 3.7, and 4.1. Sample programs for some of these APIs are available in COBOL, RPG, and C. For information, refer to the sample programs in the 'qsmpsrc' source file in EKD411LIB, once it has been restored to your system. See also the additional notes included below. 5. Exits have been added for some functions on the server. For details use the DSPPFM command to review the 'exits' member in the 'readme' file, once the EKD411LIB library has been restored to your system. Sample exits are also provided and can can be found in the 'qsmpsrc' source file in the same library. These enhancements are fully supported through your SupportLine contract. ********************************************************************* ** Additional information on EKD411LIB enhancements Support for displaying documents through TCP/IP (TN5250 sessions) requires the following OS/400 PTFs or PTFs which supersede them. For V3R2: 5763TC1: SF38885 5763SS1: SF38876, SF38688, SF38886 For V3R7: 5716TC1: SF38535 5716SS1: SF37172, SF38357, SF38536 For V4R1: fixes are included in the base product ===================================================================== The VI/400 APIs are supported only under OS/400 version 3.2, 3.7 or higher. You should create modules using ILE C, COBOL, RPG, or VisualAge/400, and create a program binding your new modules with service program QVIAPI. The 'VisualInfo for AS/400 Application Programming Guide & Reference' (SC34-4586) may be used as a reference, noting these differences: Pointers are 16 bytes on the AS400, so all pointers returned in the RCSTRUCT are accessed through pParam1 and pParam2 instead of ulParam1 and ulParam2. When running the APIs on AS/400, the server code is run in the same job space as the application calling the APIs -- a separate job is not started. Only image data accessible on the AS/400 can be opened through SimLibOpenObject. The VI400TST program is available to run on either the AS/400 or workstation to verify the behaviour of any API. In general, if you are having problems with your program, test an API with VI400TST before calling for support. ********************************************************************* **New Functions added in EKD411A ImagePlus VisualInfo for AS/400 announces support for: 1. A new API has been added to ImagePlus VisualInfo for AS/400 which improves capability for integration of workstation applications with those running on OS/400. This API can be used to send up to 32700 bytes of data to the AS/400 where the data can be processed by a customer-written application, and the results are returned to the workstation. For example, using the SaveRecord user exit of the VisualInfo client application, this API could be used to send attribute (key field) information to an application running on the AS/400. This information could be validated by searching a database, or could be used to update a database. The host program could return information back to the workstation exit, which could then control processing of the VI Client. Since the workstation and the AS/400 use different codepages, we are also providing an API to handle the conversion. ULONG SIMENTRY Sim400SendReceive( HSESSION hSession, /* session pointer CHAR * chInputBuffer, /* buffer to send CHAR * chOutputBuffer, /* space for returned data ULONG ulInputSize, /* buffer length to send /* maximum 32700 ULONG ulOutputSize, /* size of space for return dat PASYNCCTLSTRUCT pAsyncCtl, /* asynchronous control block PRCSTRUCT pRC); /* return data structure pRC->ulParam1 will contain the number of bytes received. ULONG SIMENTRY Sim400ConvertCodepage( HSESSION hSession, /* session pointer int iConvertDirection,/* SIM_400_CONVERT_TO400 or /* SIM_400_CONVERT_FROM400 CHAR * chInputBuffer, /* input characters CHAR * chOutputBuffer, /* translated characters LONG ulInputSize, /* number of buytes to convert LONG ulOutputSize, /* maximum space for results /* Should be input size*2 + 2 /* to handle DBCS PASYNCCTLSTRUCT pAsyncCtl, /* asynchronous control block PRCSTRUCT pRC); /* return data structure pRC->ulParam1 will contain the length of the output buffer. 2. A new interface for IWPM/NT and IWPM/95 is being offered for customers that require the use of keystroke buffering or desire a native TCP/IP interface. This enhancement requires fix package EKD411A and workstation code with a build date of 19980224 or beyond. For information on obtaining the latest FixPack for IWPM/NT or IWPM/95, reference the information on the related directory from their FTP site: ftp://ftp.software.ibm.com/ps/products/imageplus/fixes To implement the host code: 1) Follow the directions below to restore the EKD411A fix package into library EKD411LIB 2) Copy EKDTIR01XX from EKD411LIB into a separate library, wherever you keep custom code. 3) Working with the EKDTIR01XX object in your library (WRKOBJ), rename it to EKDTIR01 4) Make the changes necessary to ensure that your custom library is above the EKD411lib library in the user's library list Notes: Session A must be the session used. Multiple 5250 sessions are not supported. Attempting to 'enable' the AS/400 portion of the code without installing the workstation code will result in a hang condition on the workstation. Scan functions require the user to press the enter key in order to cause the IWPM/NT scan dialog to appear. Once started, the scan interface should be the same as with EHLLAPI. Annotation and modify work the same as with EHLLAPI. The latest Windows/95 service updates should be applied to avoid a hang condition. To obtain the necessary fixes: from your Web browser connect to http://www.microsoft.com/windows95/info/updates.htm then select Service Updates. From there you should select the Windows Sockets 2 for Windows 95 fixes. These fixes are in addition to service pack 1. If problems persist, the user may enable a debug feature that will cause the AS/400 server code to log information Step 1: From the user's interactive 5250 session. Create a data area as follows: CRTDTAARA DTAARA(QTEMP/EKDTCPDBG) TYPE(*CHAR) Step 2: Recreate the failing scenario. Step 3: Print the data in QTEMP/QVISNDRCV using CPYF to *PRINT 3. A 'change' button on the VI client signon panel is now available to allow a user to change their AS/400 user profile password. If the new password does meet the password requirements of the AS/400, an invalid password message will be issued through the Client. Additional information will be posted in the EKD0080 file. This new function requires the latest version of EKD411A as well the latest fixes available in the VI400.ZIP file. ********************************************************************* **New Functions added in VI400.ZIP ImagePlus VisualInfo for AS/400 announces support for: 1. The VI Client has been enhanced to allow display of WAF documents which contain form overlays. Also, IWPM created annotations, masks, and highlights on a WAF document will now be honored during display through the VI Client. The client is unable to hide these items. After performing the installation instructions below for VI400.zip you will need to implement the code as follows: From a DOS prompt issue the command: FRNWVIEW to start the viewer component of the VI Client. Select "Options", then "File Handlers". Now use the Remove button for the two existing file handlers (this will cause them to move their entries to the window on the left). Then, Use the "Browse" option to locate FRNROOT\IBMBR.ENG, and select "Open". This file handler will be added to the window on the left. Now, add each file handler, with the "IBM Engine" first, then Pixel, then MasterSoft. To enable form support, use the VI Administrator interface. a) Define a 8 byte key field named VIFORM with a description of VIFORM. b) Define an index class named VIFORM. The first key field should be VIFORM. Any of the other key fields can be used to help identify or manage the form overlays. Note that the form names (VIFORM) are expected to be unique, but this is not enforced. c) After a form has been created in WAF, the actual form document (in folder EKDFORMS) should be imported into VI through the VI Client. Then index the imported document into the VIFORM index class, identifying the overlay with the 8 character form name. note: The VI version of the form (in index class VIFORM) will not display independently, but is used during display of other documents which include the form. When a document is displayed that contains a form overlay, the viewer engine (IBMBR.ENG) will send a message back to the VI Client. The VI Client will call SimLibOpenObjectByUniqueName, which is an existing VI API that has been added to VI/400. This API will search for the form name, open it, and return the content to the VI client, which will pass it on to the viewer engine. ********************************************************************* ** Additional information on VI Client funciton 1. Coding VI client user exits When implementing user exits within the VI client the program must include the header file FRNPUSERX.H in the include directory. 2. Interfacing to FaxRouter/3 from the VI client Pre-reqs -- FaxRouter v3 Server for Windows NT, VI/400 Client v2.3.1 Instructions -- 1. The file VI400FAX.ZIP must only be installed on the FaxRouter Server by performing a "pkunzip -d -o VI400FAX" in the FRNROOT directory. 3. Set the LANG environment variable to "En_US" 4. Copy the wiaext32.dll file (Version 3.0.0.6) from your \FAXSERV\w32bin directory to the %SystemRoot%\SYSTEM32 directory. Notes -- 1. The FaxRouter Workstation program must also be installed on the client machine for this to work. Addtionally, the FaxRouter Server and Fax Background Processor must be running wherever the actual fax machine is. 2. The Fax Background Processor program is FRNNFXBP.EXE. It needs to be running at all times to allow the FaxRouter server to interact with the VI/400 server. A dedicated FAX userid is recommended for this program. ********************************************************************* **New Functions added in EKD411B ImagePlus VisualInfo for AS/400 announces support for: 1. We have enhanced the processing of Workbasket privileges so that users can now route work packages to any Workbasket. The workbasket security range specified in the user profile will still be used to control which workbaskets a user can view or work. However, now a user will be able to ROUTE to workbaskets they are not authorized to work. This enhancement incorporates a change to the information provided thru the SimWmGetWorkbasketInfo API. Now information for ALL workbaskets will be returned thru this API, regardless of the user's workbasket security range. It is the applications responsibility to honor the privilege authority to the workbasket (which was passed in thru SimWmGetWorkbasketInfo). 2. 1/25/1999 External Reference support is a way to index virtually ANY information using VI/400, without having VI/400 manage the actual data. For example, AS/400 or workstation files can be indexed. For even more flexibility, a program can be used on the 400 or workstation to access information managed by another application. For more information, see README.EXTREF. You must also update workstation code usin VI400.ZIP to access External References. Improving VisualInfo for AS/400 VI Client Search Response Time: - If you are using the VisualInfo for AS/400 client search function or you are writing your own code which calls the SimLibSearch API, you can benefit from some new logical files which are availalbe in the EKD411B library. VI400 accesses the EKD0312 file in the product file library to obtain the search results from the client search function or the API. When possible the operating system uses an existing logical file search path to optimize file accesses (queries). However, none of the existing logical files for EKD0312 are usable since they contain the Select keyword, or the fields specified as keys are not the fields used in the query. By creating additional logical files over file EKD0312, you may be able to greatly improve the response time for your searches. To create the new logical files, follow these steps: a. Build the new logical files making sure that your library list contains the product file library (ekdLIBFIL). If you have multiple VI400 environmnets, verify that the library list has the file library for the environment with which you're working listed before any other VI400 file libraries. The first EKD0312 physical file that is encountered is the one over which the logical file will be built. b. Enter the CRTLF command for each of the 8 logical files as follows: CRTLF FILE(ekdLIBFIL/EKD0312Vn) SCRFILE(EKD411xxx/QDDSSRCNEW) where ekdLIBFIL is the name of your VI400 file library n corresponds to number 1 through 8 for the new logicals EKD411xxx is the location of the QDDSSRCNEW source file delivered with the EKD411B library as of 10/23/98 You can also create the new logical files by specifying option 14 next to each of the 8 members of the QDDSSRCNEW source file delivered with the EKD411B library as of 10/23/98 - using the PDM function. After the new logical files are created, GRTOBJAUT should be used to make sure that the image group profile has proper authority to them. ** NOTE ** These logical files are for imporoved performance using the VI Client for VI400. If you are using only IWPM with the WAF feature, you do not need to create these new files. ********************************************************************* ** Installation Instructions: NOTE: These packages also contains APAR fixes. For information on the APAR fixes included in these fix packages, once you have restored them to your AS/400 refer to the FIXES* (ex: FIXES, FIXESA, etc) members in the README file. To view or print that file use the DSPPFM command (ex: dsppfm ekd411lib/readme fixes). NOTE: These packages require OS/400 Version 3.2, 3.7 or higher. Customers running on OS/400 Versions 3.1 or 3.6 may contact VI/400 Support for individual APAR fixes currently available. The following files are available from the FTP site referenced above and are required to use the functions noted above. Use the information below to determine which of the files you need and how to implement each: ===================================================================== 1. VICLIENT.ZIP -- This contains a refresh of the VI Client. Only the English version is included here. The original availability of non-English versions contained the client refresh, so this file is not required for those languages. To determine if you need this refresh: if you are an English customer who plans to use VI Client, compare the date of workstation file README.WIN in the FRNROOT directory to that of FTP file VICLIENT.ZIP To install the VI Client: A) Copy the file to your workstation B) Use PKUNZIP with the -d option to unzip the file as follows: pkunzip -d x:\viclient.zip (where 'x:\viclient.zip' refers to the location of the zip file) C) Use the SETUP command to install the VI Client from the resulting directories OR The directory can be copied to another location such as . the VICLIENT folder under the QDLS file system on the AS/400, or to a mapped drive on a LAN server. To copy the entire directory, use Windows Explorer, or the COPY command from a DOS prompt: XCOPY *.* Z:\QDLS\VICLIENT\*.* /s ===================================================================== 2. VI400.ZIP -- This contains replacement files which correct problems and add support to the VI Client for the features described above. You need this file if the date of your workstation file EKDWS.DLL in the FRNROOT\DLL directory is earlier than the date of the VI400.ZIP file on the FTP site. To install this code: a) From a DOS window, change to the drive on which FRNROOT exists. b) CD FRNROOT c) pkunzip -d drive:\dirctory\VI400.ZIP where "drive" and "dirctory" refer to the location you have placed the VI400.ZIP file. ===================================================================== 3. EKD411LIB.BIN -- This contains the final version of EKD411LIB fix package which should be restored to your AS/400 into a library of the same name. To determine if you need this file: Use OS/400 command: 'DSPPFM FILE(EKD411LIB/README) MBR(FIXES)' and make note of the 'Last Updated' date at the top of that file. If the library is not found or that date is prior to February 27, 1998, refer to the instructions below: Before FTP'ing this file to your AS/400, use the CRTSAVF command to create a save file named EKD411LIB. Then, you can either use AS/400 FTP to GET the file directly from the FTP, or retrieve it to a workstation file then from DOS use PUT to transfer it onto the AS/400. REMEMBER TO USE BINARY TRANSFER MODE! Once the EKD411LIB savf exists on your AS/400, use the RSTLIB command to restore the EKD411LIB library from the EKD411LIB save file. ** NOTE: To enable the new functions to perform properly, you ** must use the library name EKD411LIB. To begin using the new function and fixes available in EKD411LIB: 1) Use the GRTOBJAUT command to grant authority to your VI/400 users to library EKD411LIB and objects contained within 2) Place EKD411LIB ahead of the existing VI/400 libraries in your library list. The job description is the recommended way of controlling the library list. 3) Remove any patch libraries (@SCxxxxx) for APAR's which have fixes provided in this fix package. See the FIXES member referenced above. =================================================================== 4. EKD411A.BIN - This contains the final posting of EKD411A fix package which should be restored onto your AS/400 into the existing EKD411LIB library. To determine if you need this file: Use OS/400 command: 'DSPPFM FILE(EKD411LIB/README) MBR(FIXESA)' and make note of the date at the top of that file. If the library is not found or that date is prior to the date at the top of this document, follow the instructions below. NOTE: This fix package requires that you install the final version of EKD411LIB fix package first. See the instructions above to determine if you have the latest version and how to obtain and install a copy. Before FTP'ing this file to your AS/400, use the CRTSAVF command to create a save file named EKD411A. Then, you can either use AS/400 FTP to GET the file directly from the FTP, or retrieve it to a workstation file then from DOS use PUT to transfer it onto the AS/400. REMEMBER TO USE BINARY TRANSFER MODE! Once the EKD411A savf exists on your AS/400, use the RSTLIB command to restore the EKD411A library into your existing EKD411LIB library as follows: RSTLIB SAVLIB(EKD411A) DEV(*SAVF) SAVF(xxx/EKD411A) + MBROPT(*ALL) ALWOBJDIF(*ALL) RSTLIB(EKD411LIB) ** NOTE: To enable the new functions to perform properly, you ** must use the library name EKD411LIB. To begin using the new functions and fixes available in the EKD411A fix package: 1) Use the GRTOBJAUT command to grant authority to your VI/400 users to library EKD411LIB and the new objects contained within 2) Remove any patch libraries (@SCxxxxx) for APAR's which have fixes provided in this fix package. See the FIXESA member referenced above. =================================================================== 5. EKD411B.BIN - This contains the latest fixes available for VI/400. It should be restored onto your AS/400 into the exiting EKD411LIB library. To determine if you need this file: Use OS/400 command: 'DSPPFM FILE(EKD411LIB/README) MBR(FIXESB)' and make note of the date at the top of that file. If the library is not found or that date is prior to the date at the top of this document, follow the instructions below. NOTE: This fix package requires that you install the final versions of EKD411LIB & EKD411A fix packages first. See the instructions above to determine if you have the latest version and how to obtain and install a copy of these. Before FTP'ing this file to your AS/400, use the CRTSAVF command to create a save file named EKD411B. Then, you can either use AS/400 FTP to GET the file directly from the FTP, or retrieve it to a workstation file then from DOS use PUT to transfer it onto the AS/400. REMEMBER TO USE BINARY TRANSFER MODE! Once the EKD411B savf exists on your AS/400, use the RSTLIB command to restore the EKD411B library into your existing EKD411LIB library as follows: RSTLIB SAVLIB(EKD411B) DEV(*SAVF) SAVF(xxx/EKD411B) + MBROPT(*ALL) ALWOBJDIF(*ALL) RSTLIB(EKD411LIB) ** NOTE: To enable the new functions to perform properly, you ** must use the library name EKD411LIB. To begin using the new functions and fixes available in the EKD411B fix package: 1) Use the GRTOBJAUT command to grant authority to your VI/400 users to library EKD411LIB and the new objects contained within 2) Remove any patch libraries (@SCxxxxx) for APAR's which have fixes provided in this fix package. See the FIXESB member referenced above. 6. EKD411C.BIN - This contains the latest fixes available for VI/400. It should be restored onto your AS/400 into the exiting EKD411LIB library. To determine if you need this file: Use OS/400 command: 'DSPPFM FILE(EKD411LIB/README) MBR(FIXESC)' and make note of the date at the top of that file. If the library is not found or that date is prior to the date at the top of this document, follow the instructions below. NOTE: This fix package requires that you install the final versions of EKD411LIB & EKD411A & B fix packages first. See the instructions above to determine if you have the latest version and how to obtain and install a copy of these. Before FTP'ing this file to your AS/400, use the CRTSAVF command to create a save file named EKD411C. Then, you can either use AS/400 FTP to GET the file directly from the FTP, or retrieve it to a workstation file then from DOS use PUT to transfer it onto the AS/400. REMEMBER TO USE BINARY TRANSFER MODE! Once the EKD411C savf exists on your AS/400, use the RSTLIB command to restore the EKD411C library into your existing EKD411LIB library as follows: RSTLIB SAVLIB(EKD411C) DEV(*SAVF) SAVF(xxx/EKD411C) + MBROPT(*ALL) ALWOBJDIF(*ALL) RSTLIB(EKD411LIB) ** NOTE: To enable the new functions to perform properly, you ** must use the library name EKD411LIB. To begin using the new functions and fixes available in the EKD411C fix package: 1) Use the GRTOBJAUT command to grant authority to your VI/400 users to library EKD411LIB and the new objects contained within 2) Remove any patch libraries (@SCxxxxx) for APAR's which have fixes provided in this fix package. See the FIXESC member referenced above.