As of December 1, 2020, Focal Point is retired and repurposed as a reference repository. We value the wealth of knowledge that's been shared here over the years. You'll continue to have access to this treasure trove of knowledge, for search purposes only.
Join the TIBCO Community TIBCO Community is a collaborative space for users to share knowledge and support one another in making the best use of TIBCO products and services. There are several TIBCO WebFOCUS resources in the community.
From the Home page, select Predict: WebFOCUS to view articles, questions, and trending articles.
Select Products from the top navigation bar, scroll, and then select the TIBCO WebFOCUS product page to view product overview, articles, and discussions.
Request access to the private WebFOCUS User Group (login required) to network with fellow members.
Former myibi community members should have received an email on 8/3/22 to activate their user accounts to join the community. Check your Spam folder for the email. Please get in touch with us at community@tibco.com for further assistance. Reference the community FAQ to learn more about the community.
The object of the exercise is to recreate a form letter using a jpeg image as a background and positioning the appropriate data fields via a free form report and then delivering the finished product as a pdf. Problem is occurring in loading the .jpg, and seems to be directly related to the size of the file.
We first encountered the problem when creating multi page letters, with each page having a different jpg in the background. While the fex would appear to run and load the first few pages, eventually, we would get an error:
(FOC3251) IMAGE FILE UNREADABLE OR INVALID: TP036.JPG
Subsequent testing confirmed that the problem was not with the image itself, as we could run the exact same fex to generate a single page letter, with just this fex with no problem.
Additional testing revealed suggests that it is the total size of the images that triggers the error. One combination of small jpg’s allowed up to five pages to be generated, but the error occurred trying to generate the sixth page. In each case to date, the error has occurred when the total size of the files being loaded exceeds 3Mb.
It appears that the problem is occurring on the reporting server as the pdf is spooled into the temp directory prior to being spooled to the Tomcat box for delivery to the user.
This customer is running the reporting server on an IBM I system with AS 400 V5R4. The WebServer / Tomcat box is a Windows 2003 box.
Anyone have any ideas?This message has been edited. Last edited by: Kerry,
Robert F. Bowley Jr. Owner TaRa Solutions, LLC
In WebFOCUS since 2001
Posts: 132 | Location: Gadsden, Al | Registered: July 22, 2005
I think you're on the right track with the memory issue, but can only offer words of encouragement instead of a solution. We had processes that used this technique (basically a form overlay on a freeform report) generating upwards of 2000 pages (customer invoices). So it's possible. Whether it's related to a physical amount of memory or disk space or some quota/user limit, it's hard to tell. Maybe some system tool would tell you if an attempt has been made to exceed a user quota or something like that. Our environment was OS390 with WF Client and Websphere on a Win2K box.
One suggestion, is to try and create the forms using lines, boxes, and/or very small images rather than attempting one big overlay. We started moving this direction several years ago and have not found a form yet that could not be created this way - eveything from medical/dental forms to state insurance forms and documents. Kind of a little creative challenge to make it work.
Regards,
Darin
In FOCUS since 1991 WF Server: 7.7.04 on Linux and Z/OS, ReportCaster, Self-Service, MRE, Java, Flex Data: DB2/UDB, Adabas, SQL Server Output: HTML,PDF,EXL2K/07, PS, AHTML, Flex WF Client: 77 on Linux w/Tomcat
Posts: 2298 | Location: Salt Lake City, Utah | Registered: February 02, 2007
We generate pdf report from our IBM iseries with several thousands of pages with images and we have no problem. We use pixtel perfect option of webfocus to do that.
Here is an example (sorry, it's in french).
Hope it will help you. Catherine
[-********************************************************************************************* -* Réception des variables -********************************************************************************************* APP PATH AI STANDARD_V8 -RUN -*-DEFAULT &V_LIB =AI_TESTV8 ,&V_FILE=RECUP_AI ,&V_MBR=D090000001 FILEDEF RECUP_AI DISK &V_LIB/&V_FILE(&V_MBR) -RUN
-********************************************************************************************* -* Accès aux lettres -********************************************************************************************* JOIN CLEAR * JOIN LEFT_OUTER RECLET IN RECUP_AI TO MULTIPLE TXT_LET IN TABLETTXTS AS J1 JOIN RECCIV IN RECUP_AI TO UNIQUE TCV_CODE IN TABCIVIL AS J2
TABLE FILE RECUP_AI SUM CNT.TXT_TEXTE NOPRINT BY RENADH BY RENREC PRINT COMPUTE POL/A100 = IF TCV_POL NE '' THEN TCV_POL ELSE 'Chers Donateurs'; TXT_TEXTE NOPRINT COMPUTE CTR/I1= IF RENADH NE LAST RENADH THEN 1 ELSE LAST CTR +1; NOPRINT COMPUTE LETTRE/A4000V = IF RENADH NE LAST RENADH THEN '' | TXT_TEXTE ELSE LAST LETTRE || '
' | TXT_TEXTE ; BY RENADH BY RENREC WHERE ( TXT_DTEDEB LE '&YYMD' ) AND ( TXT_DTEFIN GE '&YYMD' ); WHERE TOTAL CTR EQ CNT.TXT_TEXTE ON TABLE HOLD AS H1A END -RUN
CRLF/A2 = HEXBYT(13,'A1') || HEXBYT(37,'A1'); LETTRE_W/A4000V = STRREP (4000, LETTRE_W1B, 2,CRLF,4 ,' ', 4000, LETTRE_W) ; END TABLEF FILE H1A PRINT RENADH POL LETTRE_W AS 'LETTRE' ON TABLE HOLD AS H1 END -RUN
-********************************************************************************************* -* Accès aux infos nécessaires au reçu -********************************************************************************************* TABLE FILE RECUP_AI PRINT -* 1 Nom et adresse expédition REXNOM REXAD1 REXAD2 REXAD3 REXAD4 REXAD5 REXAD6 -* 1 Nom et adresse RF RELNOM RELAD1 RELAD2 RELAD3 RELAD4 RELAD5 RELAD6 -* 3 Montant REMEUR RECEUR -* 4 Date encaissement COMPUTE W_DAT_ENC/A50 = IF RECREC EQ 'R' THEN (REJENC | '/' | REMENC | '/' | REAENC) ELSE IF RECREC EQ 'A' THEN 'Du ' |(REJDEB | '/' | REMDEB | '/' | READEB) | ' au ' | (REJFIN | '/' | REMFIN | '/' | REAFIN) ELSE ' ' ; -* 5 No reçu RENREC -* 7 Mode de versement RECREG -* Date d'émission COMPUTE W_DAT_EM/A10 = EDIT('&DMYY','99/99/9999'); -* 8 Duplicata COMPUTE W_DUPLICATA/A24 = IF RETYPE EQ 'D' THEN 'DUPLICATA' ELSE ' ' ; COMPUTE NOM/A38 = '.'; -* 11 Forme du don et Nature du don REFORM RENATU REAENC READEB RECREC RECFIL2 BY RENADH BY RENREC ON TABLE HOLD AS H2 END -RUN -********************************************************************************************* -* Génération du PDF -********************************************************************************************* JOIN CLEAR * JOIN RENADH IN H2 TO RENADH IN H1 AS J0 DEFINE FILE H2 IDEN/A9 = TRIM('L',RENADH,9,'0',1,'A9'); MTA0/D16.2 = ((REMEUR * 100) + RECEUR) / 100 ; MTA1/A21 = FTOA(MTA0,'(D16.2)', MTA1) ; MTA/A21 = TRIM('L', MTA1, 21, ' ', 1, MTA); ANNEE/A4 = IF REAENC NE '' THEN REAENC ELSE READEB; FT1A/A180 = 'AIDES reconnaît avoir reçu en ' | ANNEE | ' au titre des dons et'; FT1B/A180 = 'versements ouvrant droit à réduction d''impôts, la somme '; FT1C/A10 = 'de :' ; SAL/P10 = REMEUR * 100 + RECEUR ; -INCLUDE ALPHAMW FT2/A300V = '***' | LIBELLE || '***'; FT3/A60 WITH RENADH = 'Sous forme de : ' | REFORM | ''; FT4/A60 WITH RENADH = 'Nature du don : ' | RENATU | '';; MODE_VERSEMENT/A25 = DECODE RECREG ( 'A' 'Abondon de créance' 'B' 'Chèque' 'C' 'Chèque' 'F' 'Abandon de frais' 'M' 'Mandat' 'N' 'Numéraire' 'P' 'Prélevement' 'R' 'Timbres' 'S' 'Don en nature' 'T' 'Transfert de titres' 'V' 'Virement' 'X' 'Carte bancaire' 'Y' 'Carte bancaire' ELSE 'Autre') ; FT5/A100 = 'Mode de versement : ' | MODE_VERSEMENT | ''; FT6/A90V = 'Date du versement : ' || W_DAT_ENC || '';
FT7/A500 WITH RENADH = '' | 'AIDES certifie sur l''honneur que les dons et versements qu''elle reçoit ouvrent ' | 'droit à la réduction d''impôts prévue à l''article 200 et 238 bis du CGI.' | ' ' | 'Association Reconnue d''Utilité Publique par décret du 09.08.90, habilitée à ' | 'recevoir des legs et donations. Aide et soutien aux personnes atteintes du VIH ' | 'et/ou des hépatites, information et prévention, accès aux droits et traitements, ' | 'plaidoyer.' | ''; FT8/A50 = 'DATE : ' | W_DAT_EM ; CTR1/F6 WITH RENADH = LAST CTR1 +1; CTR2/A6 = FTOA(CTR1,'(F6)', CTR2) ; CTR/A6 = TRIM('B', CTR2, 6, ' ', 1, CTR); R2/D14 = RENREC ; R3/A18 = FTOA(R2,'(D14)', R3) ; R4/A18 = STRREP (18, R3, 1, ' ', 0, '', 18, R4) ; R5/A18 = TRIM('L', R4, 18, ' ', 1, R5);
REDUCTION/D16.2 = IF RECFIL2 EQ '1' THEN MTA0 * 0.60 ELSE MTA0 * 0.66; REDUCTION1/A21 = FTOA(REDUCTION,'(D16.2)', REDUCTION1) ; REDUCTIONA/A21 = TRIM('L', REDUCTION1, 21, ' ', 1, REDUCTIONA); REDUCTIONB/A40 = ' a été de ' | REDUCTIONA; REDUCTIONC/A40 = SQUEEZ(40, REDUCTIONB, 'A30');
SIGLE_EURO/A1 = HEXBYT(32,'A1');
DEDUCTION1/A100 = IF RECREC EQ 'A' THEN 'P.S. La réduction fiscale liée à vos dons de l''année ' | READEB ELSE 'P.S. La réduction fiscale liée à votre don de l''année ' | REAENC; DEDUCTION/A500 = DEDUCTION1 || REDUCTIONC || (' ' | SIGLE_EURO || '.' ) || ' Profitez-en pour faire un don plus important à AIDES cette année. Rendez-vous sur notre site' || ' www.aides.org' || ' pour un don sécurisé en ligne ou télécharger un bulletin de soutien à nous renvoyer accompagné d''un chèque.'; LIBRF/A16 = 'RECU FISCAL N° :'; LIBDONAT/A13 = 'N° donateur :'; LIBEUROS/A40 = '***' | '' | MTA || ( ' ' | SIGLE_EURO | '***' ); ADRAIDES2/A100 = 'Tél 01 41 86 46 54 - Fax 01 41 83 46 59 - Email : dons@aides.org - Site : www.aides.org'; END TABLE FILE H2 BY RENADH NOPRINT PAGE-BREAK BY RENREC NOPRINT PAGE-BREAK HEADING "&LIBDATE " ""Bruno SPIRE - Président de AIDES" ""-------------------------------------------------------------------------------------------------------------------------------------------------------------------------" "-------------------------------------------------------------------------------------------------------------------------------------------------------------------------" FOOTING """""""""""""""""""Bruno SPIRE - Président de AIDES" "AIDES - Tour Essor - 14 rue Scandicci - 93508 PANTIN CEDEX" "ON TABLE SET PAGE-NUM NOLEAD ON TABLE SET NEWLAYOUT ON ON TABLE NOTOTAL ON TABLE PCHOLD FORMAT PDF ON TABLE SET STYLE * UNITS=IN,PAGESIZE='A4',LEFTMARGIN=0.791667,RIGHTMARGIN=0.388889,TOPMARGIN=0.375000,BOTTOMMARGIN=0.430556,SQUEEZE=OFF,ORIENTATION=PORTRAIT,$ TYPE=REPORT, NAME='BOX001',OBJECT=BOX,POSITION=(3.500000 8.1500000),DIMENSION=(4.600000 0.700000),BORDER-COLOR=BLACK,BORDER=LIGHT,$
type=datamatrix, position=(0 0), dimension=(8 8), $ -******************************************************************* -* POSITION = 1ère valeur = position par rapport à la marge gauche -* 2ème valeur = position par rapport à la marge du haut -* -* DIMENSION = 1ère valeur = largeur de la zone -* 2ème valeur = hauteur de la zone -******************************************************************* -* Logo AIDES TYPE=HEADING,OBJECT=Image,IMAGE=logo.JPG,POSITION=(0.300000 0.100000),SIZE=(2.250000 0.950000),$ -* Ville et date TYPE=HEADING,LINE=1,ITEM=1,FONT='ARIAL',SIZE=11,markup=on,WRAP=ON,POSITION=(5.200000 1.400000),DIMENSION=(2.000000 0.200000),JUSTIFY=LEFT,$ -* texte de la lettre TYPE=HEADING,LINE=2,ITEM=1,FONT='ARIAL',SIZE=11,markup=on,WRAP=ON,POSITION=(0.300000 2.000000),DIMENSION=(7.440000 6.000000),$ -* Signature TYPE=HEADING,OBJECT=Image,IMAGE=signature2.JPG,POSITION=(5.600000 6.200000),SIZE=(1.500000 0.500000),$ -* Nom signataire lettre TYPE=HEADING,LINE=3,ITEM=1,FONT='ARIAL',SIZE=10,markup=on,WRAP=ON,POSITION=(5.200000 6.600000),DIMENSION=(2.500000 0.300000),JUSTIFY=LEFT,$ -* PS TYPE=HEADING,LINE=4,OBJECT=FIELD,ITEM=1,FONT='ARIAL',SIZE=9,markup=on,WRAP=ON,POSITION=(0.300000 6.900000),DIMENSION=(7.500000 0.500000),JUSTIFY=LEFT,$ -* 1ère Ligne de séparation TYPE=HEADING,LINE=5,ITEM=1,FONT='ARIAL',SIZE=10,markup=on,WRAP=ON,POSITION=(0.300000 7.300000),DIMENSION=(7.900000 0.500000),JUSTIFY=LEFT,$ -* 2ème Ligne de séparation TYPE=HEADING,LINE=6,ITEM=1,FONT='ARIAL',SIZE=10,markup=on,WRAP=ON,POSITION=(0.300000 8.000000),DIMENSION=(7.900000 0.500000),JUSTIFY=LEFT,$
-* Logo AIDES dans le reçu TYPE=HEADING,OBJECT=Image,IMAGE=logo2.JPG,POSITION=(0.300000 7.600000),SIZE=(1.200000 0.450000),$