Troubleshooting
Problem
The following example is a COBOL program that displays a subfile in a window with a variable starting position.
Resolving The Problem
The following example is a COBOL program that displays a window with a variable starting postion. The window also contains a subfile:
Display File WINPOS
COBOL Source
| Disclaimer: This is only an example. IBM accepts no responsibility for its correctness. |
Display File WINPOS
INDARA
CA03(03)
PRINT
R SCREEN1
2 3'TESTING A WINDOW'
3 3'THAT CAN BE MOVED'
4 3'TO DIFFERENT PLACES'
5 3'ON THE SCREEN'
R SFLR SFL
NOTE 65A B 3 1
R SFLC SFLCTL(SFLR)
* WINDOW(2 2 7 65)
WINDOW(WINDOW1)
N34 ROLLUP(90)
OVERLAY
N33 SFLDSP
N32 SFLDSPCTL
33 SFLINZ
SFLSIZ(0099)
SFLPAG(0004)
SFRN20 4S 0H SFLRCDNBR(CURSOR)
2 2'INSERT LINE(S) BEFORE LINE NO.:'
COLOR(WHT)
LINENO 2A B 2 33
DSPATR(UL)
DSPATR(PR)
R WINDOW1 WINDOW(&WLIN &WCOL 7 65)
WLIN 2S 0P
WCOL 2S 0P
COBOL Source
IDENTIFICATION DIVISION.
PROGRAM-ID. SFLCBL.
DATE-WRITTEN. SEPT 16,1996.
DATE-COMPILED.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SOURCE-COMPUTER. IBM-AS400.
OBJECT-COMPUTER. IBM-AS400.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT WINPOS
ASSIGN TO WORKSTATION-WINPOS
ORGANIZATION IS TRANSACTION
ACCESS MODE IS DYNAMIC
RELATIVE KEY IS RECNUM
FILE STATUS IS WINPOS-FILE-STATUS
CONTROL-AREA IS WS-CONTROL.
DATA DIVISION.
FILE SECTION.
FD WINPOS
LABEL RECORDS ARE STANDARD.
01 DISPLAY-RECORD.
COPY DDS-ALL-FORMATS OF WINPOS.
WORKING-STORAGE SECTION.
01 WS-CONTROL.
03 IN03 PIC 1 INDIC 03.
88 END-PROGRAM VALUE B"1".
88 NOT-END-PROGRAM VALUE B"0".
* EXIT PROGRAM
03 IN33 PIC 1 INDIC 33.
* SUBFILE DISPLAY & SFLINZ
03 IN32 PIC 1 INDIC 32.
* SUBFILE DISPLAY CONTROL
03 IN34 PIC 1 INDIC 34.
* ROLLUP
01 FILE-STATUS.
05 WINPOS-FILE-STATUS PIC 99.
01 GENERAL.
05 RECNUM PIC 9(3).
*
01 W5-SWITCHES.
03 W5-TURN-ON PIC 1 VALUE B"1".
03 W5-TURN-OFF PIC 1 VALUE B"0".
PROCEDURE DIVISION.
MAIN-PROCESS.
PERFORM INITIALIZE-001.
PERFORM CLEAR-SUBFILE.
PERFORM DISPLAY-001 UNTIL END-PROGRAM.
CLOSE WINPOS.
EXIT PROGRAM.
STOP RUN.
DISPLAY-001.
WRITE DISPLAY-RECORD FORMAT IS "SCREEN1".
READ WINPOS
INDICATORS ARE WS-CONTROL.
PERFORM DISPLAY-002 UNTIL END-PROGRAM.
DISPLAY-002.
MOVE 4 TO WLIN.
MOVE 4 TO WCOL.
WRITE DISPLAY-RECORD
FORMAT IS "WINDOW1"
INDIC IS WS-CONTROL.
MOVE 1 TO SFRN20 OF SFLC-O.
WRITE DISPLAY-RECORD
FORMAT IS "SFLC"
INDICATORS ARE WS-CONTROL.
READ WINPOS
INDICATORS ARE WS-CONTROL.
CLEAR-SUBFILE.
MOVE W5-TURN-ON TO IN33.
MOVE 2 TO WLIN.
MOVE 2 TO WCOL.
WRITE DISPLAY-RECORD
FORMAT IS "WINDOW1"
INDIC IS WS-CONTROL.
WRITE DISPLAY-RECORD
FORMAT IS "SFLC"
INDIC IS WS-CONTROL.
MOVE W5-TURN-OFF TO IN33.
INITIALIZE-001.
OPEN I-O WINPOS.
SET NOT-END-PROGRAM TO TRUE.
[{"Type":"MASTER","Line of Business":{"code":"LOB68","label":"Power HW"},"Business Unit":{"code":"BU070","label":"IBM Infrastructure"},"Product":{"code":"SWG60","label":"IBM i"},"ARM Category":[{"code":"a8m3p000000F98bAAC","label":"Programming ILE Languages-\u003ECOBOL"}],"ARM Case Number":"","Platform":[{"code":"PF012","label":"IBM i"}],"Version":"All Versions"}]
Historical Number
8015445
Was this topic helpful?
Document Information
Modified date:
17 April 2025
UID
nas8N1010233