|
|
| Author |
Message |
sangiah
Active User
Joined: 10 Jun 2005 Posts: 62
|
|
|
|
| can we popup a calender using REXX. does anyone has a working code? |
|
| Back to top |
|
 |
References
|
Posted: Fri Jun 10, 2005 11:26 pm Post subject: Re: can we popup a calender using REXX |
 |
|
|
 |
superk
Moderator Team Head
Joined: 26 Apr 2004 Posts: 3101 Location: Charlotte,NC USA
|
|
|
|
A popup panel is easy to implement with ISPF services. The basic ISPF commands are ADDPOP, DISPLAY PANEL, and REMPOP.
The formatting of the calendar details might take some work. Is this the part of the question that you really are looking for? I'm figuring that a 42-entry two-dimensional table (7 colums by 6 rows) might be employed. |
|
| Back to top |
|
 |
barobaybay
New User
Joined: 22 Jul 2005 Posts: 14 Location: Philippines
|
|
|
|
hi, about the calendar popup, i'm not sure if this would work...
| Code: |
PROC 0 TEST
CONTROL NOMSG END(STOP) FLUSH
IF &TEST = TEST THEN CONTROL LIST CONLIST SYMLIST MSG END(STOP) FLUSH
ISPEXEC CONTROL DISPLAY REFRESH
ISPEXEC CONTROL ERRORS RETURN
S1: SET &MM = &STR(&SUBSTR(1:2,&SYSDATE))
SET SMM = &MM
SET &YY = &STR(&SUBSTR(7:8,&SYSDATE))
SET SYY = &YY
SET SDD = &STR(&SUBSTR(4:5,&SYSDATE))
SET &JUL = &STR(N)
ISPEXEC DISPLAY PANEL(CAL1)
IF &LASTCC = 8 THEN GOTO S99
SET STAR = &STR( ** )
IF &JUL = Y THEN SET STAR = &STR( *** )
START: SET M = &MM - 2
IF &MM = 01 THEN SET M = 11
IF &MM = 02 THEN SET M = 12
SET YR = &STR(20&YY)
SET &YR1 = &YR
SET &YR2 = &YR
IF &MM = 01 THEN SET &MTH = &STR( JANUARY )
IF &MM = 02 THEN SET &MTH = &STR( FEBRUARY )
IF &MM = 03 THEN SET &MTH = &STR( MARCH )
IF &MM = 04 THEN SET &MTH = &STR( APRIL )
IF &MM = 05 THEN SET &MTH = &STR( MAY )
IF &MM = 06 THEN SET &MTH = &STR( JUNE )
IF &MM = 07 THEN SET &MTH = &STR( JULY )
IF &MM = 08 THEN SET &MTH = &STR( AUGUST )
IF &MM = 09 THEN SET &MTH = &STR( SEPTEMBER)
IF &MM = 10 THEN SET &MTH = &STR( OCTOBER )
IF &MM = 11 THEN SET &MTH = &STR( NOVEMBER )
IF &MM = 12 THEN SET &MTH = &STR( DECEMBER )
SET C = 19
SET Y = &YY
SET T = &YR//4
IF (&T = 0 && (&MM = 01 ? &MM = 02)) THEN SET &Y = &Y - 1
IF &YY = &STR(00) THEN +
DO
SET &C = &C - 1
SET &Y = 99
STOP
SET I = &EVAL((((260*&M - 19)/100)+&Y/4+&C/4+1+&Y-2*&C)//7)
IF ( &T > 0 && ( &MM = 01 ? &MM = 02 )) THEN +
DO
SET II = &I
IF &II = 0 THEN SET &I = 6
IF &II > 0 THEN SET &I = &I - 1
STOP
SET &I = &I + 1
SET N = 1
STEP1: IF &N < &I THEN +
DO
SET &D&N = &STR(&STAR)
SET &N = &N + 1
GOTO STEP1
STOP
STP1: SET U = 30
IF ( &MM = 1 ? +
&MM = 3 ? +
&MM = 5 ? +
&MM = 7 ? +
&MM = 8 ? +
&MM = 10 ? +
&MM = 12 ) THEN SET &U = 31
IF &MM = 2 THEN SET &U = 28
IF (&MM = 2 && &EVAL(&YR//4) = 0) THEN SET &U = 29
SET R = 0
IF &JUL = Y THEN +
DO
SET R = &SUBSTR(3*&MM - 2:3*&MM,&STR(00003105909012015118121-
2243273304334365))
IF (&EVAL(&YR//4) = 0 && &MM > 2 THEN SET &R = &R + 1
STOP
SET N = 1 + &R
SET IND = 0
IF (&MM = &SMM && &YY = &SYY ) THEN SET IND = 1
SET P = 1
SET &B1 = &STR()
SET &B2 = &STR()
STEP4: SET &A&P = &STR()
SET &P = &P + 1
IF &P < 43 THEN GOTO STEP4
SET I =
STEP2: SET &D&I = &STR( &N )
SET S = &N - &R
IF (&IND = 1 && &SDD = &S ) THEN SET &A&I = BLINK
IF &N < &U + &R THEN +
DO
SET &N = &N + 1
SET &I = &I + 1
GOTO STEP2
STOP
SET &I = &I + 1
STEP3: SET &D&I = &STR(&STAR)
IF &I < 42 THEN +
DO
SET &I = &I + 1
GOTO STEP3
STOP
SET &HDG1 = +
&STR(? SUN ? MON ? TUE ? WED ? THU ? FRI ? SAT ?)
SET &MSG = &STR(PRESS ENTER)
S3: ISPEXEC DISPLAY PANEL(CAL3)
GOTO S1
S99: EXIT QUIT |
just got that from some clist in our mainframe... Hope this 1 helps |
|
| Back to top |
|
 |
barobaybay
New User
Joined: 22 Jul 2005 Posts: 14 Location: Philippines
|
|
|
|
oops, forgot the panel part...
the panel name is CAL3
| Code: |
)ATTR
? TYPE(OUTPUT) HILITE(&B1)
@ TYPE(OUTPUT) HILITE(&B2)
a TYPE(OUTPUT) HILITE(&A1)
b TYPE(OUTPUT) HILITE(&A2)
c TYPE(OUTPUT) HILITE(&A3)
d TYPE(OUTPUT) HILITE(&A4)
e TYPE(OUTPUT) HILITE(&A5)
f TYPE(OUTPUT) HILITE(&A6)
g TYPE(OUTPUT) HILITE(&A7)
h TYPE(OUTPUT) HILITE(&A8)
i TYPE(OUTPUT) HILITE(&A9)
j TYPE(OUTPUT) HILITE(&A10)
k TYPE(OUTPUT) HILITE(&A11)
l TYPE(OUTPUT) HILITE(&A12)
m TYPE(OUTPUT) HILITE(&A13)
n TYPE(OUTPUT) HILITE(&A14)
o TYPE(OUTPUT) HILITE(&A15)
p TYPE(OUTPUT) HILITE(&A16)
q TYPE(OUTPUT) HILITE(&A17)
r TYPE(OUTPUT) HILITE(&A18)
s TYPE(OUTPUT) HILITE(&A19)
t TYPE(OUTPUT) HILITE(&A20)
u TYPE(OUTPUT) HILITE(&A21)
v TYPE(OUTPUT) HILITE(&A22)
w TYPE(OUTPUT) HILITE(&A23)
x TYPE(OUTPUT) HILITE(&A24)
y TYPE(OUTPUT) HILITE(&A25)
A TYPE(OUTPUT) HILITE(&A26)
B TYPE(OUTPUT) HILITE(&A27)
C TYPE(OUTPUT) HILITE(&A28)
D TYPE(OUTPUT) HILITE(&A29)
E TYPE(OUTPUT) HILITE(&A30)
F TYPE(OUTPUT) HILITE(&A31)
G TYPE(OUTPUT) HILITE(&A32)
H TYPE(OUTPUT) HILITE(&A33)
I TYPE(OUTPUT) HILITE(&A34)
J TYPE(OUTPUT) HILITE(&A35)
K TYPE(OUTPUT) HILITE(&A36)
L TYPE(OUTPUT) HILITE(&A37)
M TYPE(OUTPUT) HILITE(&A38)
N TYPE(OUTPUT) HILITE(&A39)
O TYPE(OUTPUT) HILITE(&A40)
P TYPE(OUTPUT) HILITE(&A41)
Q TYPE(OUTPUT) HILITE(&A42)
)BODY
+
+
+ ================================================================
+ ? ?Z + ?Z + ?Z + +?
+ ?==============================================================?
+ @Z
+ ?--------?--------?--------?--------?--------?--------?--------?
+ ? aZ +? bZ +? cZ +? dZ +? eZ +? fZ +? gZ +?
+ ?--------?--------?--------?--------?--------?--------?--------?
+ ? hZ +? iZ +? jZ +? kZ +? lZ +? mZ +? nZ +?
+ ?--------?--------?--------?--------?--------?--------?--------?
+ ? oZ +? pZ +? qZ +? rZ +? sZ +? tZ +? uZ +?
+ ?--------?--------?--------?--------?--------?--------?--------?
+ ? vZ +? wZ +? xZ +? yZ +? AZ +? BZ +? CZ +?
+ ?--------?--------?--------?--------?--------?--------?--------?
+ ? DZ +? EZ +? FZ +? GZ +? HZ +? IZ +? JZ +?
+ ?--------?--------?--------?--------?--------?--------?--------?
+ ? KZ +? LZ +? MZ +? NZ +? OZ +? PZ +? QZ +?
+ ================================================================
+ ?z
)INIT
.ZVARS = '(YR1 MTH YR2 hdg1 D1 D2 D3 D4 D5 D6 D7 D8 D9 D10 +
D11 D12 D13 D14 D15 D16 D17 D18 D19 D20 +
D21 D22 D23 D24 D25 D26 D27 D28 D29 D30 +
D31 D32 D33 D34 D35 D36 D37 D38 D39 D40 +
D41 D42 MSG)'
)END
|
|
|
| Back to top |
|
 |
sangiah
Active User
Joined: 10 Jun 2005 Posts: 62
|
|
|
|
hi
got following error msg
IF (1 = 0 & (08 = 01 ? 08 = 02)) THEN
THIS STATEMENT HAS AN EXPRESSION WITH OPERATORS OUT OF SEQUENCE |
|
| Back to top |
|
 |
|
|