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 thread ...


Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

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.