Title: | FOCUS, from INFORMATION BUILDERS |
Moderator: | ZAYIUS::BROUILLETTE |
Created: | Thu Feb 19 1987 |
Last Modified: | Mon May 05 1997 |
Last Successful Update: | Fri Jun 06 1997 |
Number of topics: | 615 |
Total number of notes: | 1779 |
I have a couple of FEXes that each read a FOCUS file and dump into HOLD files. I then have a third FEX JOIN the two HOLD files for reporting. It had been working fine while I was developing it, but when I run it in batch, I get this message: EX OVER >> >>>>> JOININT CALLED TO READ DATA (FOC1070) 'FROM' FIELD OUT OF SEQUENCE :/ventet FIN I can find no reference to 'ventet'. Does anyone know what this error message is trying to tell me?
T.R | Title | User | Personal Name | Date | Lines |
---|---|---|---|---|---|
165.1 | The MFDs and the FEX for .0 | RUTLND::MCMAHON | Tap dancin' on a landmine | Thu Dec 29 1988 10:17 | 60 |
Here are the MFDs for the two HOLD files involved and the FEX that JOINS them and reports from them. Thanks. Pat FILE=PAYHLD ,SUFFIX=FIX SEGNAME=PAYHLD FIELDNAME =PO_FULL_NO ,E01 ,A8 ,A8 ,$ FIELDNAME =PO_REV_NO ,E02 ,A2 ,A2 ,$ FIELDNAME =PAY_TOT ,E03 ,D12.2 ,A12 ,$ FILE=PSTHLD ,SUFFIX=FIX SEGNAME=PSTHLD FIELDNAME =PO_NUMBER ,E01 ,A8 ,A08 ,$ FIELDNAME =JUL_DATE ,E02 ,A5 ,A05 ,$ FIELDNAME =PROCESSOR ,E03 ,A2 ,A02 ,$ FIELDNAME =VNDR_NAME ,E04 ,A12 ,A12 ,$ FIELDNAME =PO_TTL_CST ,E05 ,P8.2M ,A08 ,$ FIELDNAME =INV_NUM ,E06 ,A12 ,A12 ,$ FIELDNAME =INV_TR_AMT ,E07 ,P8.2 ,A08 ,$ FIELDNAME =FIVEDAYS ,E08 ,I6YMD ,A06 ,$ FIELDNAME =JULIAN_DATE ,E09 ,I5 ,A05 ,$ FIELDNAME =ENTRY_DATE ,E10 ,A6 ,A06 ,$ FIELDNAME =CHGENT_DATE ,E11 ,A6 ,A06 ,$ FIELDNAME =JULDATE ,E12 ,I6 ,A06 ,$ FIELDNAME =ENJUL_DATE ,E13 ,I5 ,A05 ,$ FIELDNAME =DATEDIF ,E14 ,I3 ,A03 ,$ -* OVER.FEX FILEDEF PAYHOLD DISK PAYHLD.FTM FILEDEF PSTHLD DISK PSTHLD.FTM JOIN PO_NUMBER IN PSTHLD TO PO_FULL_NO IN PAYHOLD AS JJOIN DEFINE FILE PSTHLD PAYTTL = INV_TR_AMT + PAY_TOT; DIFFER = PO_TTL_CST - PAYTTL; END TABLE FILE PSTHLD PRINT INV_NUM AS 'INVOICE' INV_TR_AMT AS 'INVOICE, AMOUNT' VNDR_NAME AS 'VENDOR,NAME' PAYTTL AS 'INVOICE,AMOUNT' DIFFER AS 'AMOUNT,OVER' BY PROCESSOR PAGE-BREAK BY PO_NUMBER AS 'PO,NUMBER' BY JUL_DATE AS 'JULIAN,DATE' BY PO_TTL_CST NOPRINT IF PO_TTL_CST GT 0 IF DIFFER LT 0 HEADING CENTER "INVOICE TOTAL OVER P.O. AMOUNT &DATE" "</1" END -RUN -IF &LINES EQ 0 GOTO NOLINES ELSE GOTO THEEND; -NOLINES -WRITE OFFLINE INVOICE TOTAL OVER P.O. AMOUNT &DATE -WRITE OFFLINE -WRITE OFFLINE THERE ARE NO INVOICES OVER PO AMOUNT -RUN -THEEND EXIT | |||||
165.2 | Please post also the .FEX that generate the hold | MLNOIS::MACCANI | Fri Dec 30 1988 04:23 | 8 | |
Can you please post also the .FEX that generate the two Hold files? Normaly the error that you receive is produced by a wrong sequence of the joining keys in the two RMS. The two hold files must be ordered by PO_FULL_NO and PO_NUMBER. Maurizio | |||||
165.3 | re: .2, here you go... | RUTLND::MCMAHON | Tap dancin' on a landmine | Tue Jan 03 1989 10:15 | 49 |
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +++ This .FEX produces the PAYHLD HOLD file +++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -* PAYMENT.FEX FILEDEF PAYFY89 DISK APPL2:[WAREHOUSE.PURCH]PAYFY89.FOC FILEDEF PAYFY88 DISK APPL2:[WAREHOUSE.PURCH]PAYFY88.FOC FILEDEF PAYFY87 DISK APPL2:[WAREHOUSE.PURCH]PAYFY87.FOC USE APPL2:[WAREHOUSE.PURCH]PAYFY89.FOC AS PAYFY89 APPL2:[WAREHOUSE.PURCH]PAYFY88.FOC AS PAYFY89 APPL2:[WAREHOUSE.PURCH]PAYFY87.FOC AS PAYFY89 END DEFINE FILE PAYFY89 PAY_TOT = PYMT_AMT * PYMT_QTY; END TABLE FILE PAYFY89 SUM PAY_TOT WITHIN PO_FULL_NO BY PO_FULL_NO IF PYMT_STS_ID NE 'H' ON TABLE HOLD AS PAYHLD END ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +++ This .FEX produces the PSTHLD HOLD file +++ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -* OVERO.FEX FILEDEF POST DISK APPOST.DAT FILEDEF POINT DISK POINTEST.DAT JOIN PO_NUMBER IN POST TO PO_NUM IN POINT AS JJOIN -SET &TDY = &YMD; TABLE FILE POST SUM INV_TR_AMT WITHIN INV_NUM -* To get date five days ago, start of the week COMPUTE FIVEDAYS/I6YMD = AYMD (&TDY, -5, FIVEDAYS); -* Change that to a Julian Date for comparison COMPUTE JULIAN_DATE/I5 = JULDAT (FIVEDAYS, JULIAN_DATE); NOPRINT -* Change the ENTRY_DATE format to YMD, but it's alphabetic COMPUTE CHGENT_DATE/A6 = CHGDAT ('MDY', 'YMD', ENTRY_DATE, CHGENT_DATE); NOPRINT -* Change from alpha to numeric COMPUTE JULDATE/I6 = EDIT (CHGENT_DATE); NOPRINT -* Convert the entry date to Julian for comparison COMPUTE ENJUL_DATE/I5 = JULDAT (JULDATE, ENJUL_DATE); -* See if the entry date is five days or less from today COMPUTE DATEDIF/I3 = ENJUL_DATE - JULIAN_DATE; NOPRINT BY PO_NUMBER BY JUL_DATE BY PROCESSOR BY VNDR_NAME BY PO_TTL_CST BY INV_NUM IF STATUS_CD EQ 'REL' IF DATEDIF GE 0 IF SEQ_NO LT 901 ON TABLE HOLD AS PSTHLD END | |||||
165.4 | Duplicates in Host join field? | MEMV03::TROY | Tue Feb 07 1989 08:36 | 15 | |
We received exactly the same error message while executing a join only yesterday. After calls to IBI (...), we decided to try brute force - ie., I'll try anything. It turned out that the join field in the host file had duplicates; there were none in the xref file. So, we changed our join statement to: Join fld1 in old_xref to all fld1 in old_host This worked fine - I don't know if it was a fluke, though. Is it possible that your host file has duplicates in the join field? I hope this helps. Karen Troy & Andrew Richmond |