Focal Point
[CLOSED] AcrossValue Wrap in PDF - Do I need to manually manipulate it?

This topic can be found at:
https://forums.informationbuilders.com/eve/forums/a/tpc/f/7971057331/m/536105874

July 01, 2010, 12:52 PM
slfmr
[CLOSED] AcrossValue Wrap in PDF - Do I need to manually manipulate it?
I have read Mickey's Tips and Techniques on this and I have seen posts on how to do this, but I have an example of what is going on and I am wondering if I am making this more difficult than it should be.

The below example is what I have. I need the CAR2 (across value that is now acting as a column title) to be wrapped. Right now it is not wrapping. Do I need to count the characters and then create an additional acrossvalue as I saw in Jack Gross's post under Tips and Techniques?

As you can see, the first column can be fairly small ... is there a way to dynamically size so that they are all not one width or when I do this will it have to be set?

Any help would be great! Thank you.


DEFINE FILE CAR
CAR2/A51 = IF CAR EQ 'JENSEN' THEN CAR || 'THIS IS A TEST TO SHOW A LONG VALUE' ELSE CAR;
END

TABLE FILE CAR
SUM
BODYTYPE AS ''
BY SEATS NOPRINT
ACROSS COUNTRY AS ''
ACROSS CAR2 AS ''
WHERE COUNTRY EQ 'ENGLAND';
ON TABLE SET PAGE-NUM OFF
ON TABLE NOTOTAL
ON TABLE PCHOLD FORMAT PDF
ON TABLE SET HTMLCSS ON
ON TABLE SET STYLE *
UNITS=IN,
PAGESIZE='Letter',
SQUEEZE=ON,
ORIENTATION=LANDSCAPE,
$
TYPE=ACROSSVALUE,
ACROSS=1,
COLUMN=P1,GRID=OFF,
BORDER-TOP=LIGHT,
BORDER-BOTTOM=LIGHT,
BORDER-LEFT=LIGHT,
JUSTIFY=CENTER,
$
TYPE=ACROSSVALUE,
ACROSS=1,
COLUMN=P2,GRID=OFF,
BORDER-TOP=LIGHT,
BORDER-BOTTOM=LIGHT,
JUSTIFY=CENTER,
$
TYPE=ACROSSVALUE,
ACROSS=1,
COLUMN=P3,GRID=OFF,
BORDER-TOP=LIGHT,
BORDER-BOTTOM=LIGHT,
BORDER-RIGHT=LIGHT,
JUSTIFY=CENTER,
$
TYPE=ACROSSVALUE,
ACROSS=2,GRID=OFF,
BORDER-TOP=LIGHT,
BORDER-BOTTOM=LIGHT,
BORDER-LEFT=LIGHT,
BORDER-RIGHT=LIGHT,
JUSTIFY=CENTER,
$
TYPE=DATA,
BORDER-TOP=LIGHT,
BORDER-BOTTOM=LIGHT,
BORDER-LEFT=LIGHT,
BORDER-RIGHT=LIGHT,
$
TYPE=TITLE,GRID=ON,$
TYPE=DATA,GRID=ON,$
ENDSTYLE
END

This message has been edited. Last edited by: Kerry,


Dev, SIT, UAT, Production:7.6.6
Dev Sandbox:7.6.11

Dev Studio - 7.6.6
July 01, 2010, 03:41 PM
slfmr
I have a long long way to go with what I need, but I am slowly manually manipulating it. I'd rather have the columns be dynamically widened or wrapped based on the value so that say:

AUDI needs only say 0.5 of a wrap but 'JENSEN THIS IS A LONG VALUE' get's 0.8 so that it only wraps to once (maybe twice if needed).

I at least have everything fitting on one page... my code below


TABLE FILE CAR
SUM CNT.DST.CAR
ON TABLE HOLD AS CARCNT FORMAT ALPHA
END
-RUN

-READ CARCNT &CARCNT.A5.
-SET &CARCNT = &CARCNT;
TYPE &CARCNT
-SET &ECHO='ALL';
DEFINE FILE CAR
CAR2/A52 = IF CAR EQ 'JENSEN' THEN CAR || ' THIS IS A LONG VALUE' ELSE CAR;
CARCNT/I5 = &CARCNT;
COLWDTH/D12.2 = IF &CARCNT GT 4 THEN (&CARCNT/13);
TKNSZE/I4 = COLWDTH*10;
ATKN/A4 = EDIT(TKNSZE, '$$99');
ATKNSZE/A5 = 'A'||ATKN;
END

TABLE FILE CAR
PRINT
ATKNSZE
COLWDTH
TKNSZE
CAR2
CARCNT
ATKN
COUNTRY
BODYTYPE
SEATS
ON TABLE HOLD AS H1 FORMAT ALPHA
END
-RUN

-READ H1 &ATKNSZE.A5. &COLWDTH.A12.
-SET &ATKNSZE = &ATKNSZE;
-SET &COLWDTH = TRIM('L', &COLWDTH, 12, ' ', 1, &COLWDTH);
TYPE &ATKNSZE
TYPE &COLWDTH
?FF H1

DEFINE FILE H1
LGA40/A51 = PARAG(51,CAR2,'\',TKNSZE,'A51');
LINE1/&ATKNSZE =GETTOK(LGA40,51, 1, '\',TKNSZE,'&ATKNSZE');
LINE2/&ATKNSZE =GETTOK(LGA40,51, 2, '\',TKNSZE,'&ATKNSZE');
LINE3/&ATKNSZE =GETTOK(LGA40,51, 3, '\',TKNSZE,'&ATKNSZE');
LINE4/&ATKNSZE =GETTOK(LGA40,51, 4, '\',TKNSZE,'&ATKNSZE');
END

TABLE FILE H1
PRINT
CARCNT
CAR2
LGA40
LINE1
LINE2
LINE3
LINE4
ATKN
ATKNSZE
TKNSZE
BODYTYPE
SEATS
ON TABLE HOLD AS H1
END

?FF H1
TABLE FILE H1
SUM
BODYTYPE AS ''
BY SEATS NOPRINT
ACROSS CARCNT AS ''
ACROSS LINE1 AS ''
ACROSS LINE2 AS ''
ACROSS LINE3 AS ''
ACROSS LINE4 AS ''
ON TABLE SET PAGE-NUM OFF
ON TABLE NOTOTAL
ON TABLE PCHOLD FORMAT PDF
ON TABLE SET HTMLCSS ON
ON TABLE SET STYLE *
UNITS=IN,
PAGESIZE='Letter',
SQUEEZE=ON,
ORIENTATION=LANDSCAPE,
FONT='HELVETICA',
SIZE=9,
$
TYPE=ACROSSVALUE,
ACROSS=1,
COLUMN=P1,GRID=OFF,
BORDER-TOP=LIGHT,
BORDER-BOTTOM=LIGHT,
BORDER-LEFT=LIGHT,
JUSTIFY=CENTER,
$
TYPE=ACROSSVALUE,
ACROSS=1,
COLUMN=P2,GRID=OFF,
BORDER-TOP=LIGHT,
BORDER-BOTTOM=LIGHT,
JUSTIFY=CENTER,
$
TYPE=ACROSSVALUE,
ACROSS=1,
COLUMN=P3,GRID=OFF,
BORDER-TOP=LIGHT,
BORDER-BOTTOM=LIGHT,
JUSTIFY=CENTER,
$
TYPE=ACROSSVALUE,
ACROSS=1,
COLUMN=P4,GRID=OFF,
BORDER-TOP=LIGHT,
BORDER-BOTTOM=LIGHT,
JUSTIFY=CENTER,
$
TYPE=ACROSSVALUE,
ACROSS=1,
COLUMN=P5,GRID=OFF,
BORDER-TOP=LIGHT,
BORDER-BOTTOM=LIGHT,
JUSTIFY=CENTER,
$
TYPE=ACROSSVALUE,
ACROSS=1,
COLUMN=P6,GRID=OFF,
BORDER-TOP=LIGHT,
BORDER-BOTTOM=LIGHT,
JUSTIFY=CENTER,
$
TYPE=ACROSSVALUE,
ACROSS=1,
COLUMN=P7,GRID=OFF,
BORDER-TOP=LIGHT,
BORDER-BOTTOM=LIGHT,
JUSTIFY=CENTER,
$
TYPE=ACROSSVALUE,
ACROSS=1,
COLUMN=P8,GRID=OFF,
BORDER-TOP=LIGHT,
BORDER-BOTTOM=LIGHT,
JUSTIFY=CENTER,
$
TYPE=ACROSSVALUE,
ACROSS=1,
COLUMN=P9,GRID=OFF,
BORDER-TOP=LIGHT,
BORDER-BOTTOM=LIGHT,
JUSTIFY=CENTER,
$
TYPE=ACROSSVALUE,
ACROSS=1,
COLUMN=P10,GRID=OFF,
BORDER-TOP=LIGHT,
BORDER-BOTTOM=LIGHT,
BORDER-RIGHT=LIGHT,
JUSTIFY=CENTER,
$

TYPE=ACROSSVALUE,
ACROSS=2,GRID=OFF,
BORDER-TOP=LIGHT,
BORDER-BOTTOM=LIGHT,
BORDER-LEFT=LIGHT,
BORDER-RIGHT=LIGHT,
JUSTIFY=CENTER,
$
TYPE=ACROSSVALUE,
ACROSS=3,GRID=OFF,
BORDER-TOP=LIGHT,
BORDER-BOTTOM=LIGHT,
BORDER-LEFT=LIGHT,
BORDER-RIGHT=LIGHT,
JUSTIFY=CENTER,
$
TYPE=ACROSSVALUE,
ACROSS=4,GRID=OFF,
BORDER-TOP=LIGHT,
BORDER-BOTTOM=LIGHT,
BORDER-LEFT=LIGHT,
BORDER-RIGHT=LIGHT,
JUSTIFY=CENTER,
$
TYPE=ACROSSVALUE,
ACROSS=5,GRID=OFF,
BORDER-TOP=LIGHT,
BORDER-BOTTOM=LIGHT,
BORDER-LEFT=LIGHT,
BORDER-RIGHT=LIGHT,
JUSTIFY=CENTER,
$
TYPE=DATA,
BORDER-TOP=LIGHT,
BORDER-BOTTOM=LIGHT,
BORDER-LEFT=LIGHT,
BORDER-RIGHT=LIGHT,
$
TYPE=TITLE,GRID=ON,$
TYPE=DATA,GRID=ON,$
TYPE=REPORT,WRAP=&COLWDTH,$

ENDSTYLE
END


Dev, SIT, UAT, Production:7.6.6
Dev Sandbox:7.6.11

Dev Studio - 7.6.6
July 09, 2010, 01:45 PM
Kerry
Hi Stacy,

Per our technicals: this should be added as a new feature (wrap available for across fields in PDF) in 7.6.11 & 7.70. To confirm and/or for further assistance, you may want to open a case with Customer Support Services. You may either call at 1-800-736-6130, or access online at InfoResponse.

Cheers,

Kerry


Kerry Zhan
Focal Point Moderator
Information Builders, Inc.