| 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
| |||||