Focal Point Banner


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.


Focal Point    Focal Point Forums  Hop To Forum Categories  WebFOCUS/FOCUS Forum on Focal Point     [SOLVED] MacGyver (McGyver) Technique fails 7.6.7 servlet (works fine: 7.1.4 cgi)

Read-Only Read-Only Topic
Go
Search
Notify
Tools
[SOLVED] MacGyver (McGyver) Technique fails 7.6.7 servlet (works fine: 7.1.4 cgi)
 Login/Join
 
Gold member
posted
Identical code from 7.1.4 fails in the 7.6.7 servlet upgrade. FEX produces pivoted report e.g. DB2 columns going down the page, period amounts going across. The report program pulls 100 rows from a DB2 table, HOLDs it, issues mainframe DYNAM for FSEQ MFD, and then does a JOIN from the HOLD file to FSEQ MFD. A CHECK FILE . . . PICTURE produces correct JOINed structure/picture. It runs the subsequent DEFINEs and TABLE, but 0 RECORDS returned. I have tried numerous tests and refinements to the code, and they all fail:
- researched FOCALPoint MacGyver issues; updated the FSEQ MFD where needed: 0 RECORDS
- TABLE/PRINT */END: 0 RECORDS
- generating BLANK1 field in DB2 extract as real field for JOIN to FSEQ: 0 RECORDS
- used BLANK field as part of DEFINE based JOIN, with SET KEEPDEFINES=ON: 0 RECORDS
- manipulated many SET commands to see if they are impacting process: 0 RECORDS
- use of conditional JOIN: 0 RECORDS
- JOIN CLEAR */JOIN . . . / END: 0 RECORDS
- use of WTIH real field in DEFINEs: 0 RECORDS
- removed IF screening from TABLE: 0 RECORDS

The original MFD:

FILE=FSEQ,SUFFIX=FIX
SEGNAME=ROOT
FIELD=BLANK,BLANK,A1,A1,FIELDTYPE=I,$

SEGNAME=SECOCC,OCCURS=79,PARENT=ROOT
FIELD= ,1CHAR,A1,A1,$
FIELD=COUNTER,ORDER,I4,I4,$

FEX ECHO Code:
> Before this point in the code, a DB2 SQL query has pulled 100 rows and placed in HOLD   
  FILE:  HOLDFPAC
:
-**********************************************************************
-* ? TSO DDNAME fails WebFOCUS 7.6.7; alternate test of &CNODE used:
-**********************************************************************
-*-? TSO DDNAME MASTER                                  <<< Command fails in our 7.6.7 config
-*-SET &NAME1 = &DSNAME.EVAL || '(FSEQ)';
-*
-SET &MFD_DSNAME = IF CPMSMID EQ 'CPMSMIV2' THEN     << workaround with special variable
-     'WFDEV.BC666.P4176.EDASYNM2.DATA'    ELSE
-     'WFDEV.BC666.P4176.EDASYNM.DATA' ;
-RUN
-*
DYNAM ALLOC FILE FSEQ DA WFDEV.BC666.P4176.EDASYNM.DATA SHR REU    <<< MFD ALLOC is fine
-RUN
JOIN CLEAR *
-*JOIN BLANK WITH RONUM IN HOLDFPAC TO BLANK IN FSEQ AS J1        <<< ORIGINAL 7.1.4 JOIN
JOIN BLANK1 WITH RONUM IN HOLDFPAC TO BLANK IN FSEQ AS J1	  <<< Use real field in HOLDFPAC         
END                                                                 
-RUN
? JOIN
-RUN
JOINS CURRENTLY ACTIVE
HOST                           CROSSREFERENCE
FIELD        FILE     TAG      FIELD        FILE     TAG      AS       ALL WH
-----        ----     ---      -----        ----     ---      --       --- --
BLANK1       HOLDFPAC          BLANK        FSEQ              J1       N   N
 
CHECK FILE HOLDFPAC PICT
-RUN
0 NUMBER OF ERRORS=     0
NUMBER OF SEGMENTS=   3  ( REAL=    1  VIRTUAL=   2 )
NUMBER OF FIELDS=    41  INDEXES=   0  FILES=     2
TOTAL LENGTH OF ALL FIELDS=  218
1SECTION 01
STRUCTURE OF GNTINT   FILE HOLDFPAC ON 08/13/09 AT 06.11.17
HOLDFPAC
01      S4
**************
*RPTG_OCD    **
*MAR_CLMCTG_>**
*MAR_CLMCTG_>**					
*MNTH_ABBRD_>**
*            **
***************
 **************
      I
      I
      I ROOT
02    I KU
..............					
:BLANK       :K
:            :
:            :
:            :
:            :
:............:
JOINEDI /NOHFS/FSEQ
      I
      I
      I SECOCC
03    I KL
..............
:1CHAR       ::
:COUNTER     ::
:            ::
:            ::
:            ::
:............::
 .............:
    /NOHFS/FSEQ

DEFINE FILE HOLDFPAC
 BLANK  /A1 = ' ';
 LIT1/A22            = DECODE COUNTER (1 'Work Days'
 2 'Opening Pending'
 3 'Total Receipts'
 4 'Transfers In'
 5 'Transfers Out'
 6 'Dispositions'
 7 'Closing Pending'
 8 'Average Age of Pending' ELSE ' ');
 VAL1/P9              = IF COUNTER EQ 1 THEN RPTG_PRD_WRKDAYS ELSE
 IF COUNTER EQ 2 THEN PEND_STRT_CNT ELSE
 IF COUNTER EQ 3 THEN HRRCV_CNT     ELSE
 IF COUNTER EQ 4 THEN PXFERI_CNT    ELSE
 IF COUNTER EQ 5 THEN PXFERO_CNT    ELSE
 IF COUNTER EQ 6 THEN DSPN_CNT      ELSE
 IF COUNTER EQ 7 THEN PEND_END_CNT  ELSE
 IF COUNTER EQ 8 THEN PEND_ADAY     ELSE 0;
 TTL1/A22            =   DECODE COUNTER (1 'RPTG_PRD_WRKDAYS'
 2 'PEND_STRT_CNT'
 3 'HRRCV_CNT    '
 4 'PXFERI_CNT   '
 5 'PXFERO_CNT   '
 6 'DSPN_CNT     '
 7 'PEND_END_CNT '
 8 'PEND_ADAY    ' ELSE ' ');
 FLAG/A1             =
 IF (TTL1 EQ 'RPTG_PRD_WRKDAYS' AND MAR_CLMCTG_ID EQ '01') OR
 (TTL1 NE 'RPTG_PRD_WRKDAYS') THEN 'Y' ELSE 'N';
 CLMCTG/A2           =
 IF  TTL1 EQ 'RPTG_PRD_WRKDAYS' THEN '00' ELSE MAR_CLMCTG_ID;
 END
 TABLE FILE HOLDFPAC
 PRINT VAL1
 BY COUNTER
 BY LIT1
 BY TTL1
 BY MNTH_ABBRD_NM
 BY CLMCTG AS 'MAR_CLMCTG_ID'
 IF COUNTER LT 9
 IF FLAG EQ 'Y'
 ON TABLE HOLD AS WT00A
 END
 -RUN
 0 NUMBER OF RECORDS IN TABLE=        0  LINES=      0
:
:
WebFOCUS Version 7.6.7 compiled and linked on Tue Sep 23 18:35:58 EDT 2008 (Gen branch767:155)
-->

Since it could be a SET command, I'm listing them here too:

                             PARAMETER SETTINGS
ALL.                OFF    FOCALLOC            OFF    PRINT            ONLINE
ASNAMES              ON    FOCCREATELOC        OFF    PRINTPLUS           OFF
AUTOINDEX            ON    FOCSTACK SIZE         8    QUALCHAR              .
AUTOPATH             ON    FOCTRANSFORM        OFF    QUALTITLES          OFF
BINS                 64    FOC2GIGDB            ON    REBUILDMSG         1000
BLKCALC             NEW    FORMFEED          ASCII    RECAP-COUNT         OFF
BUSDAYS         _MTWTF_    HDAY                       SAVEMATRIX          OFF
BYPANELING          OFF    HIPERFOCUS          OFF    SCREEN              OFF
CACHE                 0    HOLDATTRS         FOCUS    SHADOW PAGE         OFF
CARTESIAN           OFF    HOLDLIST      PRINTONLY    SMARTMODE           OFF
CDN                 OFF    HOLDSTAT            OFF    SPACES             AUTO
COLUMNSCROLL        OFF    HOTMENU             OFF    SQLENGINE
DATEDISPLAY         OFF    IBMLE               OFF    SUMPREFIX           LST
DATEFNS              ON    INDEX TYPE          NEW    TCPIPINT            OFF
DATETIME  STARTUP/RESET    LANGUAGE      AMENGLISH    TEMP DISK           MVS
DEFCENT              19    LINES/PAGE        99999    TERMINAL        IBM3270
DEFECHO             OFF    LINES/PRINT       99999    TESTDATE          TODAY
DUPLICATECOL         ON    MESSAGE              ON    TITLES               ON
EMPTYREPORT          ON    MODE               UNIX    TRACKIO              ON
EXCELRELEASE       2000    MORE                OFF    VIEWNAMESIZE         60
EXL2KLANG     AMENGLISH    MULTIPATH      COMPOUND    WIDTH                80
EXTAGGR              ON    NODATA                     WINPFKEY            OLD
EXTHOLD              ON    PAGE-NUM             ON    XFBINS     64 (passive)
EXTRACT             OFF    PANEL                 0    XFC                  ON
EXTSORT              ON    PAUSE               OFF    XRETRIEVAL           ON
FIELDNAME           NEW    POOL                OFF    YRTHRESH              0

Thanks all!!

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


WebFOCUS 7.6.11, WINDOWS, HTML, PDF, EXCEL
 
Posts: 77 | Location: Baltimore | Registered: May 31, 2006Report This Post
Virtuoso
posted Hide Post
quote:
FILE=FSEQ,SUFFIX=FIX
SEGNAME=ROOT
FIELD=BLANK,BLANK,A1,A1,FIELDTYPE=I,$

SEGNAME=SECOCC,OCCURS=79,PARENT=ROOT
FIELD= ,1CHAR,A1,A1,$
FIELD=COUNTER,ORDER,I4,I4,$ 


  • FIELDTYPE (or INDEX) =I is not appropriate with SUF=FIX. Remove it.
  • Segments should have SEGTYPE declarations (SEGTYPE=S0)

Fix those and report back.


- Jack Gross
WF through 8.1.05
 
Posts: 1925 | Location: NYC | In FOCUS since 1983 | Registered: January 11, 2005Report This Post
Gold member
posted Hide Post
New tests this morning, with updated FSEQ MFD, with or without ',$' after seg declaration, 0 records returned. Also took out WITH in DEFINE declaration and using WITH RPTG_OCD (first real field in HOLDFPAC - for clarity). Still getting 0 records.
   FILE  EDIT  EDIT_SETTINGS  MENU  UTILITIES  COMPILERS  TEST  HELP            
 SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
 -IPT- EDIT WFDEV.BC666.P4176.MASTER.DATA(FSEQ) - 01.0        MEMBER FSEQ SAVED 
 ****** ***************************** TOP OF DATA ******************************
 000001 FILE=FSEQ,SUFFIX=FIX                                                    
 000002 SEGNAME=ROOT,             SEGTYPE=S0,                                   
 000003  FIELD=BLANK,   BLANK,A1,A1,  $                                         
 000004                                                                         
 000005 SEGNAME=SEGOCC,OCCURS=79,PARENT=ROOT,SEGTYPE=S0,                        
 000006   FIELD=1CHAR,  1CHAR,A1,A1,$                                           
 000007   FIELD=COUNTER,ORDER,I4,I4,$                                           
 000008                                                                         
 ****** **************************** BOTTOM OF DATA ****************************
                                                                                
JOIN CLEAR *
JOIN BLANK WITH RPTG_OCD  IN HOLDFPAC TO BLANK IN FSEQ AS J1
END
-RUN
-* JOIN BLANK1               IN HOLDFPAC TO BLANK IN FSEQ AS J1
-*   WHERE BLANK1 EQ BLANK ;
? JOIN
-RUN
JOINS CURRENTLY ACTIVE
HOST                           CROSSREFERENCE
FIELD        FILE     TAG      FIELD        FILE     TAG      AS       ALL WH
-----        ----     ---      -----        ----     ---      --       --- --
BLANK        HOLDFPAC          BLANK        FSEQ              J1       N   N
CHECK FILE HOLDFPAC PICT
-RUN
0 NUMBER OF ERRORS=     0
NUMBER OF SEGMENTS=   3  ( REAL=    1  VIRTUAL=   2 )
NUMBER OF FIELDS=    41  INDEXES=   0  FILES=     2
TOTAL LENGTH OF ALL FIELDS=  218
1SECTION 01
STRUCTURE OF GNTINT   FILE HOLDFPAC ON 08/19/09 AT 09.25.27
HOLDFPAC
01      S4
**************
*RPTG_OCD    **
*MAR_CLMCTG_>**
*MAR_CLMCTG_>**
*MNTH_ABBRD_>**
*            **
***************
**************
      I
      I
      I ROOT
02    I KU
..............
:BLANK       :K
:            :
:            :
:            :
:            :
:............:
JOINEDI /NOHFS/FSEQ
      I
      I
      I SEGOCC
03    I KL
..............
:1CHAR       ::
:COUNTER     ::
:            ::
:            ::
:            ::
:............::
.............:
/NOHFS/FSEQ
DEFINE FILE HOLDFPAC
BLANK  /A1 = ' ';
END
TABLE FILE HOLDFPAC
PRINT SEG.RPTG_OCD
BY COUNTER
END
-RUN
0 NUMBER OF RECORDS IN TABLE=        0  LINES=      0

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


WebFOCUS 7.6.11, WINDOWS, HTML, PDF, EXCEL
 
Posts: 77 | Location: Baltimore | Registered: May 31, 2006Report This Post
Master
posted Hide Post
No matter what platform I'm using, when I am using MacGyver, I like using a FOCUS file (macgyver.foc).

I keep the file and master in the baseapp folder. Here's the master and fex used to build the file. I don't remember where I got them (probably out of the Systems Journal) but they work great.


FILE=MACGYVER,SUFFIX=FOC
SEGNAME=MAC1,SEGTYPE=S1
  FIELD=BLANK  ,     ,A1,INDEX=I,$
SEGNAME=MAC2,SEGTYPE=S1,PARENT=MAC1
  FIELD=COUNTER,ORDER,I4,$


-DEFAULT &HOWMANY=240;
 CREATE FILE MACGYVER
 MODIFY FILE MACGYVER
 COMPUTE CTR/I9=;
 FIXFORM &HOWMANY(CTR/4 X-4)
 COMPUTE
   BLANK=' ';
   COUNTER=IF COUNTER EQ 0 THEN CTR ELSE COUNTER+1;
 MATCH BLANK
    ON MATCH CONTINUE
    ON NOMATCH INCLUDE
 MATCH COUNTER
    ON MATCH CONTINUE
    ON NOMATCH INCLUDE
 DATA
1
 END
-RUN
-UNIX mv macgyver.foc /opt/ibi/apps/baseapp


In FOCUS since 1985. Prod WF 8.0.08 (z90/Suse Linux) DB (Oracle 11g), Self Serv, Report Caster, WebServer Intel/Linux.
 
Posts: 975 | Location: Oklahoma City | Registered: October 27, 2006Report This Post
Gold member
posted Hide Post
I was thinking along those lines this morning too: just create a FOCUS file where you know the MODIFY has inserted a (blank key) segment to work with. I will try it. Thanks for the reply!


WebFOCUS 7.6.11, WINDOWS, HTML, PDF, EXCEL
 
Posts: 77 | Location: Baltimore | Registered: May 31, 2006Report This Post
Expert
posted Hide Post
Just want to make sure that the FSEQ datafile is allocated and contains one row with 79 blank characters...


Francis


Give me code, or give me retirement. In FOCUS since 1991

Production: WF 7.7.05M, Dev Studio, BID, MRE, WebSphere, DB2 / Test: WF 8.1.05M, App Studio, BI Portal, Report Caster, jQuery, HighCharts, Apache Tomcat, MS SQL Server
 
Posts: 10577 | Location: Toronto, Ontario, Canada | Registered: April 27, 2005Report This Post
Gold member
posted Hide Post
[SOLVED]
Thanks Francis - we did not have a dataset allocation, and in our environment with a MVS production configuration, allocation of new datasets is restricted.

I did try the FOCUS file metod and that works fine. THank you all for your assistance!!

Jim


WebFOCUS 7.6.11, WINDOWS, HTML, PDF, EXCEL
 
Posts: 77 | Location: Baltimore | Registered: May 31, 2006Report This Post
  Powered by Social Strata  

Read-Only Read-Only Topic

Focal Point    Focal Point Forums  Hop To Forum Categories  WebFOCUS/FOCUS Forum on Focal Point     [SOLVED] MacGyver (McGyver) Technique fails 7.6.7 servlet (works fine: 7.1.4 cgi)

Copyright © 1996-2020 Information Builders