Download as ppt, pdf, or txt
Download as ppt, pdf, or txt
You are on page 1of 51

Intro to the AS/400

Chapter 14 - Screen Design Aid

Copyright 1999 by Janson Industries

Objectives

Explain the relationship between display files and DDS source members Show the advantages of using SDA over DDS to define and test screens Define a screen using SDA

Test a screen using SDA


Create a menu
2

Why screens?

Eliminate the need to pass parameters on the CALL command Easier for the user to specify parameters Less coding in the CL program:
No

PARM statement No DCLs needed to define program variables to hold the passed data

Screen Design Aid - SDA

SDA generates screen definitions (I.e. File objects with att = DSPF) DDS source code definitions can also be created Source definitions are stored in members with type = DSPF

Screen definitions are defined as display records


4

Screen Design Aid - SDA


Library

Type = *FILE Att = DSPF Machine Language Screen definition User SDA DDS Screen Definition

Source Physical File

Type = DSPF

Starting SDA

STRSDA
Option 17 from the Work with Members screen

SDA Menu
AS/400 Screen Design Aid (SDA) Select one of the following: 1. Design screens 2. Design menus 3. Test display files

Selection or command ===> ________________________________________________________________________ _____________________________________________________________________________ F1= Help F3=Exit F4=Prompt F9=Retrieve F12=Cancel
7

SDA Define Records


Work with Display Records File . . . . . . : Library . . . . : DDSSRC YOURLIBXX Member . . . . . . : Source type . . . : 3=Copy 12=Design image Related Subfile Date EXAMPLE DSPF Type options, press Enter. 1=Add 2=Edit comments 7=Rename 8=Select keywords Opt __ Order Record ___________ Type

4=Delete DDS Error

(No records in file)

Bottom F3=Exit F15=File-level comments F12=Cancel F17=Subset F14=File-level keywords F24=More keys
8

Add a Record
Add New Record File . . . . . . : Library . . . . : DDSSRC YOURLIBXX Member . . . . . . : Source type . . . : EXAMPLE DSPF Type choices, press Enter. New record Type . . . . . . . . . . . . . . . RECEX RECORD Name RECORD, SFL, WINDOW, PULDWN, MNUBAR USRDFN SFLMSG WDWSFL PDNSFL

. . . . . . . . . . . . . . . . . .

F3=Exit

F5=Refresh

F12=Cancel
9

SDA Design Image Work Screen

Work screen for record RECEX: Press Help for function keys.
10

Defining a Screen

Three types of display fields:


Constant System Data

text fields

variable fields

fields

11

Defining Constant Text Fields

Move the cursor to the texts screen position Type the text

Enclose the text in single quotes (if text not enclosed in quotes, SDA will create a separate field for each word)

12

Defining System Variable Fields

System variable fields are output only Define by typing reserved words that begin with an asterisk
*TIME *DATE *USER *SYSNAME

13

Defining Data Fields

Data fields can be defined 2 ways


Using database field definitions as the basis for the screen fields User defined (I.e. user defines the field type and length)

14

Database Fields

Press F10 - Select Database Fields

Selected fields are assigned a number


To place fields on the screen, work screen symbols are used
&

- marks the start of the field The field number identifies the field Header position character defines where field text is positioned
e.g.

&1L
15

Select Data Base Fields


Select Database Files Type options and names, press Enter. 1=Display database field list 2=Select all fields for input (I) 3=Select all fields for output (O) 4=Select all fields for both (B) input and output Option 1 _ _ _ Database File CARTON____ __________ __________ __________ Library YOURLIBXX_ __________ __________ __________ Record CRTFMT____ __________ __________ __________

F3=Exit

F4=Prompt

F12=Cancel

16

Select Fields
Select Database Fields Record . . . : CRTFMT __8 ___________ Type information, press Enter. Number of fields to roll . . . . . . . . . . . . . . . . . . Name of field to search for . . . . . . . . . . . . . . . . .

Type options, press Enter. 1=Display extended field description 2=Select for input (I), 3=Select for output (O), 4=Select for both (B) Option _ _ _ _ Field CRTNUM AMOUNT STORE BCHNUM Length 8 12 7 4 Type A A A A Column Heading CARTON NUMBER CARTON SIZE STORE CODE BATCH NUMBER

Bottom F3=Exit F12=Cancel


17

Work Screen & Selected Fields

1:CRTNUM 2:AMOUNT 3:STORE 4:BCHNUM


18

Work Screen Symbols

Define the location of the field and header:


&

- marks the location of the screen fields attribute field

L R C P

- places header to left of field


- places header to right of field - places header over field - places only header
19

Work Screen Symbols Ex.


&1L

&2R

&3C &4P

1:CRTNUM 2:AMOUNT 3:STORE 4:BCHNUM


20

Work Screen Symbols Ex.


CARTON NUMBER: BBBBBBBB

IIIIIIIIIIII STORE CODE OOOOOOO BATCH NUMBER

CARTON SIZE

1:BCHNUM
21

Creating User Defined Fields

Attribute character (+) marks the start of the field (I.e. the attribute field) Display characters - define the field type and length:
IIII OOOOO BBBBBB 3333 66666 999999 +I(4) 4 character input only field 5 character output only field 6 character input/output field 4digit numeric input only field 5 digit numeric output only field 6 digit numeric input/output field Or use shorthand: +O(5) +B(6) +3(4) +6(5) +9(6)
22

SDA Ruler

To find a particular col/row location - F14

1 2 3 4 5 6 7 8 9 10 11 12 13 ... ... 1 ... ... 2 ... ... 3 ... ... 4 ... ... 5 ... ... 6 ... ... 7 ... ... 8 15 16 17 18 19 20 21 22 23 24 23

Creating User Defined Fields

An attribute field immediately precedes all screen fields

The attribute field controls the appearance (and more) of a field


You can specify the format of any field (regardless of how it was created) two ways:
Enter

action and display attribute codes in the attribute field the field definition menu by entering an asterisk (*) in the attribute field

Invoke

24

Action & Display Characters


AC B H R U CB CG CP CR CT CW CY * Centers the field Blink Highlight Reverse Image Underline Blue Green Pink Red Turquoise White Yellow Select Field Keywords Screen
25

Select Field Keywords screen


Display attributes Colors Keying options Validity check Input keywords General keywords Editing keywords Database reference Error messages and Message ID
26

Select Field Keywords screen


Select Field Keywords Field . . . . . : Length . . . . : CRTNUM 8 Usage . . : Row . . . : Y=Yes _ _ _ _ _ _ _ _ _ B 7 Column . . . : 18 Type choices, press Enter. Display attributes Colors . . . . . . Keying options . . Validity check . . Input keywords . . General keywords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . For Field Type All except Hidden All except Hidden Hidden, Input or Both Input or Both, not float Input or Both All types Hidden, Input, Output, Both Input, Output, Both Output or Both

Database reference . . . . . . . Error messages . . . . . . . . . Message ID (MSGID) . . . . . . . TEXT keyword F3=Exit . . . . . . . . . .

CARTON NUMBER F12=Cancel


27

F4=Display Selected Keywords

SDA Select Colors Screen


Select Colors Field . . . . . : Length . . . . : CRTNUM 8 Usage . . : Row . . . : B 7 Column . . . : 18

Type choices, press Enter. Keyword Colors: Blue . . . Green . . Pink . . . Red . . . Turquoise White . . Yellow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . COLOR BLU GRN PNK RED TRQ WHT YLW Order (1-7) _ _ _ _ _ _ _ Indicators/+ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___ ___

F3=Exit

F12=Cancel
28

Editing a Screen Definition

Delete fields
D

in the attribute field blank out field using the space bar

Move fields (on same line)


>>>

or <<<

Move/copy a field to a different line:


type

a hyphen/minus sign (-) in the attribute field of the field to be moved/copied type an equal sign in a field location to Move the field to that location type two equal signs to Copy the field to the first equal signs location 29

Work with Fields Screen

Display by pressing F4.


Work with Fields RECEX 6

Record . . . :

Type information, press Enter. Number of fields to roll . . . . . . . . . . . . . . . . . . Type options, change values, press Enter. 1=Select keywords 4=Delete field Option _ _ _ _ _ _ Add Add Add F3=Exit Order 10 20 30 40 50 60 _____ _____ _____ Field CARTON NUM CRTNUM CARTON SIZ AMOUNT STORE CODE __________ __________ __________ Type Use C A B C A I C C H M P Length 14 8 11 12 5 4 ______ ______ ______ Row/Col 07 002 07 018 11 032 11 018 14 018 15 018

Ref Condition Y Y

Overlap

More... Hidden Message Program-to-system


30

F6=Sort by row/column

F12=Cancel

Saving and Compiling

To exit - F3, type 1, Hit Enter, then F3 again


Exit SDA Work Screen

Select one of the following: 1. Save work since last Enter and exit work screen 2. Exit without saving any work done on the work screen 3. Resume work screen session

Selection 1 F12=Cancel
31

Saving and Compiling

Make sure the Save DDS source & Create Display File fields have Ys
Save DDS - Create Display File

Type choices, press Enter. Save DDS source Source file . Library . . Member . . . . Text . . . . . _______________ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Y Y=Yes DDSSRC F4 for list YOURLIBXX Name, *LIBL ... EXAMPLE F4 for list ____________________________ Y _ EXAMPLE YOURLIBXX _ Y _ Y=Yes Y=Yes F4 for list Name, *CURLIB Y=Yes Y=Yes Y=Yes

Create display file . . Prompt for parameters Display file . . . . . Library . . . . . . Replace existing file

Submit create job in batch . . . . . . . Specify additional save or create options . . . . . . . . F3=Exit F4=Prompt F12=Cancel

32

SDA Generated DDS


Columns . . . : 1 71 Edit YOURLIBXX/DDSSRC SEU==> ____________________________________________________________ EXAMPLE FMT A* 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 ...+... 8 *************** Beginning of data ************************************* 0000.10 TS SD 19990407 111727 BJANSON REL-V3R2M0 5763-PW1 0000.20 EC 0000.30 DSPSIZ(24 80 *DS3) 0000.40 R RECEX 0000.50 TS SD 19990407 111727 BJANSON REL-V3R2M0 5763-PW1 0000.60 7 2'CARTON NUMBER:' 0000.70 CRTNUM R B 7 18REFFLD(CRTFMT/CRTNUM YOURLIBXX/CART0000.80 ON) 0000.90 11 32'CARTON SIZE' 0001.00 AMOUNT R I 11 18REFFLD(CRTFMT/AMOUNT YOURLIBXX/CART0001.10 ON) 0001.20 14 18'STORE' 0001.30 15 18'CODE' 0001.40 STORE R O 16 18REFFLD(CRTFMT/STORE YOURLIBXX/CARTO0001.50 N) 0001.60 19 18'BATCH NUMBER' ****************** End of data ****************************************
33

Editing Screen fields

To change some screen attributes it may be easier to edit the generated DDS source and recompile I.e. to change a field length you could:
Edit

the length in the fields DDS definition OR Delete the field (using SDA) and then redefine it
34

Editing Screen fields

But sometimes its easier to work with SDA To change a field name its easier to bring up the Work with Fields screen (F4) and type in a new name Rather than:
Exiting

SDA Editing the DDS Saving the changes


35

Using Screens in Programs

The screen definition is identified with a DCLF statement and incorporated into the program object during compiling
Library

Source Physical File

Type = *FILE Att = DSPF

Type = *PGM Att = CLP

Screen Definition
Type = CLP Program Source Code COMPILE
36

CL Commands for Screens

When displaying, the program sends and receives the screen using the record name not the file name

*************** Beginning of data ********************** 0001.00 PGM 0002.00 DCLF FILE(YOURLIBXX/EXAMPLE) RCDFMT(RECEX) 0003.00 SNDRCV RCDFMT(RECEX)

The program can manipulate screen fields just like any other program variable
37

Function Keys

Identified in the screen definition Action to perform defined in the application program Programmer must check function key status and code the desired function

38

Function Keys

A function key is defined in a file level specification as follows: CA03(03)

CA## identifies the function key and (##) indicates the program variable that holds the function key status (I.e. &IN## is created) When a user presses the function key, &IN## is set to 1
39

Or function key defined using a prompt screen:


Define Indicator Keywords EXAMPLE

Member . . . :

Type keywords and parameters, press Enter. Conditioned keywords: CFnn CAnn CLEAR PAGEDOWN/ROLLUP PAGEUP/ROLLDOWN HOME HELP HLPRTN Unconditioned keywords: INDTXT VLDCMDKEY Keyword CA03 _________ _________ _________ _________ _________ _________ _________ _________ _________ Indicators/+ Resp Text ___ ___ ___ 03 __________________________________________________ ___ ___ ___ __________________________________________________ ___ ___ ___ __________________________________________________ ___ ___ ___ __________________________________________________ ___ ___ ___ __________________________________________________ ___ ___ ___ __________________________________________________ ___ ___ ___ __________________________________________________ ___ ___ ___ __________________________________________________ ___ ___ ___ __________________________________________________ ___ ___ ___ __________________________________________________ ___ ___ ___ __________________________________________________

Bottom F3=Exit F12=Cancel


40

Function Key

Program checks the indicator value (after receiving the screen) and performs the desired function
Beginning of data ********************** FILE(YOURLIBXX/EXAMPLE) RCDFMT(RECEX) RCDFMT(RECEX) COND(&IN03 = 1) THEN(GOTO END)

0001.00 0002.00 0003.00 0004.00

*************** PGM DCLF SNDRCV IF

41

Testing Screens

View the input buffer


View the screen created

View the output buffer


You can change field values and see the effect

42

Testing Screens (1)


Set Test Output Data Record . . . : RECEX Type indicators and output field values, press Enter. Field CRTNUM STORE Value 98765432:______________________________________________________ Tester enters value(s) 1234567:_______________________________________________________

Bottom F3=Exit F12=Cancel


43

Testing Screens (2)


CARTON NUMBER: 98765432

SDA displays value

____________ CARTON SIZE STORE CODE 1234567 BATCH NUMBER


44

SDA displays value

Testing Screens (3)


CARTON NUMBER: 98765432

Input capable fields are underlined


CARTON SIZE

Tester enters value

55 GAL DRUM STORE CODE 1234567 BATCH NUMBER

45

Testing Screens (4)


Display Test Input Data Record . . . : RECEX View indicators and input field values. Field CRTNUM AMOUNT Value 98765432: 55 GAL DRUM :

SDA displays input values

Press Enter to continue F3=Exit F12=Cancel F14=Display input buffer


46

Creating Menus

Option 2 from the SDA menu Enter the menu screen text Press F10 to bring up the Define Menu Command screen Enter the associated CL commands

47

Creating Menus
MENUEX Select one of the following: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. MENUEX Menu

Menu template displayed You change text

Selection or command F3=Exit F13=Command area

F10=Work with commands F20=Reverse

F12=Cancel F24=More keys


48

Creating Menus
Define Menu Commands Menu . . . . . . : MENUEX Position to menu option . . . . . __ Type commands, press Enter. Option Command 01 _____________________________________________________________________ ________________________________________________ 02 _____________________________________________________________________ ________________________________________________ 03 _____________________________________________________________________ ________________________________________________ 04 _____________________________________________________________________ ________________________________________________ 05 _____________________________________________________________________ ________________________________________________ 06 _____________________________________________________________________ ________________________________________________ 07 _____________________________________________________________________ ________________________________________________ F3=Exit F11=Defined only options F12=Cancel More... F24=More keys
49

Creating Menus
Library

Type = *MSGF

Type = *FILE Att = DSPF

Type = *MENU Att = DSPF MENUEXQQ

Source Physical File

Att=MNUCMD
User SDA

Att=MNUDDS

50

Points to Remember

SDA allows you to define and create screens SDA creates DDS specifications and display file objects Display files can be tested Menus can be defined using SDA

51

You might also like