|
Hello Booth, You wrote: >Are there special characters available for a dds display screen? I know >there are special border characters and scroll bars for green screen >applications. Is there things like up and down arrows, triangles, etc? ARE there things! Yes, there are, but their availablity depends on the capabilities of the device. Some devices can display characters that cause a CPF5192 failure on other devices. >If there is, how do we find and use them? If there ARE! The manual that came with the device used to have a printed character table but I'll bet you don't have those anymore. The TestRequest function used to show the available characters as part of the display verification option but IBM decided to remove that a number of releases ago. Thanks very much! I wrote the following code to display a subfile with a list of all the characters for the current device way back on my S/38. I ported it to the AS/400 in 1990. I think I did it because I either had a terminal emulator that didn't support the TestRequest key or TestRequest killed an active session. Anyway here is the code. It's not perfect but it may help. There is a display file and an RPG III program (and remember it is ancient code). You may need to add additional values to the UD array depending on your device capabilities. DSPATRD - Display file ====================== A*%%TS SD 19920102 210152 COULTERS REL-V2R1M1 5738-PW1 A* 90/03/14 09:11:54 COULTERS REL-R02M00 5728-PW1 A*%%EC A DSPSIZ(24 80 *DS3) A CA03(03) A CA12(12) A PRINT A* 90/03/14 09:11:54 COULTERS REL-R02M00 5728-PW1 A R HEADER A*%%TS SD 19920102 210152 COULTERS REL-V2R1M1 5738-PW1 A 1 25' Display Attributes/Characters ' A DSPATR(HI) A 2 62'System:' A 2 72SYSNAME A 4 5'Dec Hex Char Dec Hex Char- A Dec Hex Char Dec Hex C- A har' A DSPATR(HI) A* 90/03/14 09:11:54 COULTERS REL-R02M00 5728-PW1 A R DETAIL SFL A*%%TS SD 19920102 210152 COULTERS REL-V2R1M1 5738-PW1 A RRN 3S 0H A DEC 3S 0O 5 5 A HEX 2A O 5 11 A CHAR 3A O 5 16 A* 90/03/14 09:11:54 COULTERS REL-R02M00 5728-PW1 A R FOOTER SFLCTL(DETAIL) A*%%TS SD 19920102 201841 COULTERS REL-V2R1M1 5738-PW1 A OVERLAY A 51 SFLCLR A 52 SFLDSPCTL A 53 SFLDSP A 52 SFLEND A SFLSIZ(0256) A SFLPAG(0064) A SFLLIN(0005) A 23 3'F3=Exit F12=Cancel' A COLOR(BLU) DSPATRR - RPG III program ========================= FDSPATRD CF E WORKSTN F RRN KSFILE DETAIL * * Undisplayable characters vary according to device type * -- the array simply lists all those values we know will * cause problems regardless of device type E UD 14 14 3 0 Undisplayable * * Lookup table to convert to hexadecimal characters E HX 16 16 2 0 HXV 1 Hex conv array * * Work structure to convert binary to character I DS I B 1 20WORKB I 2 2 WORK * * Program status data structure I SDS I *PARMS PARMS * * Optional return code for caller's information C *ENTRY PLIST C PARM RTNCDE 30 * * 32 base 10 = x'20' - normal display attribute value C Z-ADD32 WORKB C MOVE WORK NORMAL 1 * * Initialise subfile values C Z-ADD*ZERO RRN 30 C SETOF 515253 SFL-CLR,-DSPCTL,-DSP * * Display all possible attributes and characters C 0 DO 255 DEC C DEC ADD 1 RRN * Check attribute or character is displayable without error C DEC LOKUPUD 38 C *IN38 IFEQ '1' Cannot display C MOVE 'N/D' CHAR C ELSE * Set up display field C Z-ADDDEC WORKB Convert to binary * If field is a display attribute ... C DEC IFGE 32 Normal display attr C DEC ANDLE63 Below space char C MOVE ' . ' CHAR C ELSE C MOVE *BLANKS CHAR C END C MOVELWORK CHAR Attribute or char C MOVE NORMAL CHAR Normal attribute C END * Convert from base 10 to base 16 and lookup equivalent values C Z-ADD0 HXL 20 C Z-ADD0 HXR 20 C DEC DIV 16 HXL Left hex digit C MVR HXR Right hex digit C Z-ADD1 X 30 C HXL LOKUPHX,X 38 1st hex digit C 38 MOVEAHXV,X HEQ1 1 Hex equivalent C Z-ADD1 X C HXR LOKUPHX,X 38 2nd hex digit C 38 MOVEAHXV,X HEQ2 1 Hex equivalent C MOVELHEQ1 HEX 1st hex digit C MOVE HEQ2 HEX 2nd hex digit * Build the display subfile record C WRITEDETAIL C END * * Display subfile C SETON 5253 SFL-DSPCTL,-DSP C WRITEHEADER C EXFMTFOOTER * * If return code was supplied ... C PARMS IFGT *ZERO C *IN12 IFEQ '1' C MOVE 12 RTNCDE C ELSE C *IN03 IFEQ '1' C MOVE 3 RTNCDE C ELSE C MOVE 0 RTNCDE C END C END C END * End the program C SETON LR C RETRN *** S/38 error values 001002004008016017019029 ** UD - Attr/Char that cause errors on display - 3-byte decimal elements 000001002003004008015016017018019020021029 ** HX - Decimal (##) / Hex (#) equivalents - 2-byte elements 00001102203304405506607708809910A11B12C13D14E15F Regards, Simon Coulter. -------------------------------------------------------------------- FlyByNight Software AS/400 Technical Specialists http://www.flybynight.com.au/ Phone: +61 3 9419 0175 Mobile: +61 0411 091 400 /"\ Fax: +61 3 9419 0175 mailto: shc@flybynight.com.au \ / X ASCII Ribbon campaign against HTML E-Mail / \ --------------------------------------------------------------------
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.