-
Notifications
You must be signed in to change notification settings - Fork 18
/
Copy pathppandrv1
158 lines (122 loc) · 3.71 KB
/
ppandrv1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
)PANEL VERSION=1 FORMAT=1
)COMMENT
Panel front end for panconv REXX procedure.
Entry screen
)ENDCOMMENT
)INCLUDE std_pdc
)INCLUDE hlp_pdc
)BODY
PANELTITLE 'ISPF to lspf Panel Conversion Utility'
TEXT 4 2 FP 'Command ===>'
FIELD 4 15 MAX NEF PAD(USER),CAPS(ON) ZCMD
AREA 5 1 MAX MAX SAREA1
)AREA SAREA1
TEXT 1 2 FP 'ISPF source file. . . . .'
FIELD 1 28 MAX-4 NEF PAD(USER) ISPPAN1
FIELD 1 MAX-2 2 LI NONE ISPPAN2
TEXT 2 2 FP 'lspf output directory . .'
FIELD 2 28 MAX-4 NEF PAD(USER) LSPPAN1
FIELD 2 MAX-2 2 LI NONE LSPPAN2
TEXT 4 2 FP 'Current screen width. . .'
FIELD 4 28 4 NEF PAD(USER) LSPSCRW
TEXT 5 2 FP 'Current screen depth. . .'
FIELD 5 28 4 NEF PAD(USER) LSPSCRD
TEXT 7 2 CH 'Options'
TEXT 8 4 PIN 'Enter / to select option'
FIELD 9 4 1 CEF PAD(USER) ZFILREPL
TEXT 9 7 SAC 'Replace lspf panel'
FIELD 10 4 1 CEF PAD(USER) ZCONTERR
TEXT 10 7 SAC 'Ignore panel conversion errors and continue'
TEXT 13 2 CH 'Instructions'
TEXT 14 5 NT 'Enter full ISPF source file name. An ''*'' can be used for the file name to process all files.'
TEXT 15 5 NT 'Screen width and depth can be overridden. Blank for defaults.'
TEXT 17 5 NT 'Press'
TEXT 17 11 PS 'Enter'
TEXT 17 17 NT 'to start the process.'
)INIT
.NRET = ON
.NRET = ISPPAN1
.CURSOR = ZCMD
.HIST = ISPPAN1
.HIST = LSPPAN1
VGET (ISPPAN1,LSPPAN1,ZCONTERR) PROFILE
VGET (ZSCRMAXW,ZSCRMAXD) SHARED
IF (&LSPSCRW EQ &Z)
&LSPSCRW = &ZSCRMAXW
IF (&LSPSCRD EQ &Z)
&LSPSCRD = &ZSCRMAXD
)PROC
IF (&ZCMD NE &Z)
.MSG = 'PSYS018'
.CURSOR = ZCMD
EXIT
&REDISPL = 'NO'
IF (&LSPSCRW EQ &Z)
VGET (ZSCRMAXW) SHARED
&LSPSCRW = &ZSCRMAXW
&zedsmsg = 'Screen width default set'
&zedlmsg = ''
.MSG = PSYZ000
&REDISPL = 'YES'
REFRESH(LSPSCRW)
IF (&LSPSCRD EQ &Z)
VGET (ZSCRMAXD) SHARED
&LSPSCRD = &ZSCRMAXD
IF ( &REDISPL = 'YES' )
&zedsmsg = 'Screen width and depth defaults set'
ELSE
&zedsmsg = 'Screen depth default set'
&zedlmsg = ''
&REDISPL = 'YES'
REFRESH(LSPSCRD)
IF (&REDISPL EQ 'YES')
.MSG = PSYZ000
EXIT
VER(&LSPSCRW,NUM)
VER(&LSPSCRD,NUM)
IF (&LSPSCRW LT 80)
&zedsmsg = 'Screen width too small'
&zedlmsg = 'Screen width must be at least 80.'
.CURSOR = LSPSCRW
.MSG = PSYZ001
EXIT
IF (&LSPSCRD LT 24)
&zedsmsg = 'Screen depth too small'
&zedlmsg = 'Screen width must be at least 24.'
.CURSOR = LSPSCRD
.MSG = PSYZ001
EXIT
IF (TRUNC(&LSPPAN1,1) EQ '=')
&LSPPAN1 = &ISPPAN1
&AAA = '&LSPPAN1 '
.CURSOR = LSPPAN1
.CSRPOS = LENGTH(AAA)
&zedsmsg = 'Entry retrieved'
&zedlmsg = ''
.MSG = PSYZ000
REFRESH(LSPPAN1)
EXIT
&ZFILREPL = TRANS(&ZFILREPL &Z,&Z *,/)
&ZCONTERR = TRANS(&ZCONTERR &Z,&Z *,/)
VER (&ISPPAN1,NB)
&ISFILE1 = FILE(ISPPAN1)
VER (&LSPPAN1,NB)
&ISDIR2 = DIR(LSPPAN1)
IF (&ISDIR2 EQ .FALSE)
&zedsmsg = 'Not a directory'
&zedlmsg = 'Entry must be a valid directory.'
.MSG = PSYZ001
.CURSOR = LSPPAN1
EXIT
IF (.MSG EQ &Z)
VPUT (ISPPAN1,LSPPAN1,ZCONTERR) PROFILE
)FIELD
FIELD(ISPPAN1) EXEC('SELECT PGM(PFLST0A) PARM(EXPAND ALL) NESTED')
FIELD(LSPPAN1) EXEC('SELECT PGM(PFLST0A) PARM(EXPAND DO1) NESTED')
FIELD(ISPPAN1) LEN(4095) IND(ISPPAN2)
FIELD(LSPPAN1) LEN(4095) IND(LSPPAN2)
)END
/* -------------------------------------------------------- */
/* lspf - ISPF for Linux */
/* Copyright (C) 2021 GPL V3 - Daniel John Erdos */
/* -------------------------------------------------------- */