Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Problems with dynamic attributes in DYNAMIC area

123 views
Skip to first unread message

thoma...@swedbank.se

unread,
Sep 5, 2011, 8:26:15 AM9/5/11
to
Hi,

I can't get dynamic attributes to work with a dynamic area. I seems to have followed what the manual specified but although I get no error message the resulting panel is without any attribute changes (e g no change in color etc.).

Does anyone have a working example to give me ?
(I'm using ISPF BROWSE with a customized panel.)


Regards,
Thomas Berg
_________________________________________
Thomas Berg Specialist A M SWEDBANK

thoma...@swedbank.se

unread,
Sep 5, 2011, 8:39:08 AM9/5/11
to
DISREGARD THIS. I was using type TEXT instead of CHAR which is a must.

 
Regards,
Thomas Berg
_________________________________________
Thomas Berg   Specialist   A M   SWEDBANK

> -----Ursprungligt meddelande-----
> Från: ISPF discussion list [mailto:ISP...@LISTSERV.ND.EDU] För
> thoma...@SWEDBANK.SE
> Skickat: den 5 september 2011 14:25
> Till: ISP...@LISTSERV.ND.EDU
> Ämne: Problems with dynamic attributes in DYNAMIC area

Steve Coalbran

unread,
Sep 11, 2011, 4:18:05 AM9/11/11
to
Hej Thomas,

This is a part of a dialogue to 'parse' data in a modified browse panel - it is displaying rows from a CSV file.
('| ' prefixed to each line to help stop HoTMaiL doing its usual trick of stripping leading blanks!)
You can see that the REXX functions read ZDATA and manipulate ZSHADOW to modify the colouring...

|
| )ATTR DEFAULT( ) FORMAT(MIX) /* ISRBROB - ENGLISH - 5.9 */
| 05 TYPE(PT)
| 09 TYPE(FP)
| 0A TYPE(NT)
| 13 TYPE(NEF) PADC(USER)
| 16 TYPE(VOI) PADC(USER)
| 26 AREA(DYNAMIC) EXTEND(ON) SCROLL(ON)
| 01 TYPE(DATAOUT) INTENS(LOW)
| 02 TYPE(DATAOUT)
| 0B TYPE(DATAOUT) FORMAT(DBCS) OUTLINE(L)
| 0C TYPE(DATAOUT) FORMAT(EBCDIC) OUTLINE(L)
| 0D TYPE(DATAOUT) FORMAT(&MIXED) OUTLINE(L)
| 10 TYPE(DATAOUT) INTENS(LOW) FORMAT(DBCS) OUTLINE(L)
| 11 TYPE(DATAOUT) INTENS(LOW) FORMAT(EBCDIC) OUTLINE(L)
| 12 TYPE(DATAOUT) INTENS(LOW) FORMAT(&MIXED) OUTLINE(L)
| # TYPE(CHAR) COLOR(TURQ) HILITE(REVERSE)
| P TYPE(CHAR) COLOR(PINK)
| T TYPE(CHAR) COLOR(TURQ)
| R TYPE(CHAR) COLOR(RED)
| G TYPE(CHAR) COLOR(GREEN)
| W TYPE(CHAR) COLOR(WHITE) HILITE(REVERSE)
| B TYPE(CHAR) COLOR(BLUE)
| )BODY EXPAND(//) WIDTH(&ZWIDTH) CMD(ZCMD)
| BROWSE Z/ / Line Z Col Z
| Command ===> Z/ / Scroll ===> Z
| ZDATA,ZSHADOW/ /
| / /
| / /
| )INIT
| VGET (CSVHEAD,CSVLOCN)
| &ZERRALRM = 'YES'
| &ZERRHM = 'CSVTUTOR'
| .HELP = &ZERRHM
| .ZVARS = '(ZTITLE ZLINES ZCOLUMS ZCMD ZSCBR)'
| &ZCMD = ' '
| VGET (ZSCBR) PROFILE
| IF (&ZSCBR = ' ') &ZSCBR = 'PAGE'
| &MIXED = MIX
| IF (&ZPDMIX = N) &MIXED = EBCDIC
| *REXX(*,ZSHADOW,CSVHEAD,(CSVCB))
| )REINIT
| VGET (CSVHEAD)
| *REXX(*,ZSHADOW,CSVHEAD,(CSVCB))
| REFRESH(ZCMD,ZSCBR,ZDATA,ZLINES,ZCOLUMS)
| )PROC
| VGET (CSVHEAD,CSVLOCN)
| &CURSOR = .CURSOR
| &CSRPOS = .CSRPOS
|
| *REXX(*,CSVCMD,ZERRSM,ZERRLM,(CSVCMDS))
| IF(&CSVCMD NE &Z) .RESP = END
| ELSE
| IF(&ZCMD NE &Z) REFRESH(ZCMD)
| *REXX(*,ZSHADOW,CSVHEAD,(CSVCB))
| &ZCURSOR = .CURSOR
| &ZCSROFF = .CSRPOS
| VPUT (ZSCBR) PROFILE
| &ZLVLINE = LVLINE(ZDATA)
| )END
|
|
|
| REXX: CSVCB
|
| /*REXX*/ TRACE "N"
|
| /*-------------------------------------------------------------------*/
| /* highlight | as column separators */
| /*-------------------------------------------------------------------*/
| zshadow = ""
| DO i = 1 TO 80*32
| IF( SUBSTR(zdata,i,1) = "|" )THEN
| zshadow = OVERLAY("P",zshadow,i,1)
| END
|
| /*-------------------------------------------------------------------*/
| /* highlight headings */
| /*-------------------------------------------------------------------*/
| headsup = -1
| DO i = 1 TO 80*32 WHILE(headsup=-1)
| drv = STRIP(SUBSTR(zdata,i,77),"T")
| IF( POS(drv,csvhead)>0 )THEN headsup = i%80+1
| END
| IF( headsup>0 ,
| & headsup<=3 )THEN DO
| phs = headsup*80-79
| zshadow = OVERLAY(COPIES("#",80),zshadow,phs)
| DO i = phs TO phs+80
| IF( SUBSTR(zdata,i,1) = "|" )THEN
| zshadow = OVERLAY("P",zshadow,i,1)
| END
| END
| ELSE NOP
|
| /*-------------------------------------------------------------------*/
| /* cols */
| /*-------------------------------------------------------------------*/
| IF( POS("----+----",LEFT(zdata,80))>0 )THEN DO
| zshadow = OVERLAY(COPIES("B",80),zshadow,1)
| DO i = 1 TO 80
| IF( SUBSTR(zdata,i+80,1)="|" ,
| ! SUBSTR(zdata,i+160,1)="|" )THEN
| zshadow = OVERLAY("#",zshadow,i,1)
| ELSE NOP
| END
| END
| ELSE NOP
|
|
| REXX: CSVCMDS
|
| /*REXX*/ TRACE "N"
| acsvcmd = TRANSLATE(SPACE(zcmd))
| PARSE VAR acsvcmd acsvcmd csvargs
| csvcmd = ""
| SELECT/*-1*/
| WHEN( csvcmd.0=0 )THEN NOP
| WHEN( ABBREV("COLUMNS",acsvcmd,2) )THEN csvcmd = "COLUMNS"
| WHEN( ABBREV("ROWS",acsvcmd,1) )THEN csvcmd = "ROWS"
| WHEN( ABBREV("VIEW",acsvcmd,1) )THEN csvcmd = "VIEW"
| WHEN( ABBREV("EDIT",acsvcmd,1) )THEN csvcmd = "EDIT"
| WHEN( ABBREV("TAILOR",acsvcmd,1) )THEN csvcmd = "TAILOR '"csvargs"'"
| WHEN( ABBREV("CREATE",acsvcmd,2) )THEN csvcmd = "CREATE '"csvargs"'"
| OTHERWISE NOP
| END/*SELECT-1*/
|
|


> Date: Mon, 5 Sep 2011 14:25:04 +0200
> From: thoma...@SWEDBANK.SE
> Subject: Problems with dynamic attributes in DYNAMIC area
> To: ISP...@LISTSERV.ND.EDU

0 new messages