| 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 the problem to modify many records to one record.
I work with a sequential file and a header file with unique keys.
If I have a related record between the sequential and the header
file I would like to set a flag in the sequential file.
But only the first incoming record will be updated, not the following
records, which have the same relation to the header file.
For example:
sequential file header file
--------------- -----------
Proj_nr Flag Proj_nr
123 123
123 456
456
456
789
The result which I would like to have after modify:
Proj_nr Flag
123 Y
123 Y
456 Y
456 Y
789
The result which I get:
Proj_nr Flag
123 Y
123
456 Y
456
789
Is it not possible to read and modify sequential?
Any ideas would be very helpful!
Thanks in advance
Annette
| T.R | Title | User | Personal Name | Date | Lines |
|---|---|---|---|---|---|
| 279.1 | RTOEU::ASCHWARZ | Thu Nov 02 1989 08:38 | 33 | ||
I solved the problem with the following procedure:
MODIFY FILE PV6FOC
FIXFORM FROM SELECT
MATCH PROJ
ON MATCH COMPUTE VAL/A20 = PROJ;
ON MATCH GOTO COMP
CASE COMP
MATCH PROJ
ON MATCH COMPUTE FLAG = 'Y';
ON MATCH UPDATE FLAG
ON MATCH GOTO CONT
ENDCASE
CASE CONT
NEXT PROJ
ON NEXT IF PROJ NE VAL GOTO TOP;
ON NEXT COMPUTE FLAG = IF PROJ EQ VAL THEN 'Y' ELSE ' ';
ON NEXT UPDATE FLAG
ON NEXT GOTO CONT
ON NONEXT GOTO TOP
ENDCASE
DATA ON SELECT
END
-RUN
| |||||
| 279.2 | need more info | MILPND::MADDEN | Thu Nov 02 1989 08:45 | 4 | |
Could you post the master descriptions and the modify fex you are
working with? Are you trying to modify a FOCUS file or an RMS file?
I was aware of a READ interface for RMS but is there a READ/WRITE
interface for RMS?
| |||||
| 279.3 | RTOEU::ASCHWARZ | Fri Nov 03 1989 07:26 | 155 | ||
Here are the masterfiles and .fex.
I work with two Focus-files.
JOIN CLEAR
-*=================================
-* RMS ----> FOCUS ----> PV6neu.FTM
-*=================================
DEFINE FILE PV6
PROJ/A20 = PROJ;
END
TABLE FILE PV6
PRINT ACCNO CC SUPNO NAME DM IDATE
BY PROJ
ON TABLE HOLD AS PV6NEU
END
-*==================================
-* PV6neu.FTM -----> PV6alt.FOC
-*==================================
MODIFY FILE PV6ALT
FIXFORM FROM PV6NEU
MATCH PROJ
ON MATCH INCLUDE
ON NOMATCH INCLUDE
DATA ON PV6NEU
END
-RUN
-*=================================
-* JOIN PV6alt ----> WIP-Header
-*=================================
JOIN PROJ IN PV6ALT TO ALL PN IN WIP
TABLE FILE PV6ALT
PRINT ACCNO CC SUPNO NAME DM IDATE GEBUCHT OK
BY PN
IF OK NE 'D'
ON TABLE HOLD AS SELECT
END
-RUN
-*=============================================================================
-* if PROJ in PV6alt = PN in Wip-Header then write record to PV6_OK
-*=============================================================================
JOIN CLEAR
MODIFY FILE PV6_OK
FIXFORM FROM SELECT
MATCH PN
ON MATCH INCLUDE
ON NOMATCH INCLUDE
DATA ON SELECT
END
-RUN
-*=================================
-* JOIN PV6alt ----> WIP-Header
-*=================================
JOIN CLEAR
JOIN PROJ IN PV6ALT TO ALL PN IN WIP
TABLE FILE PV6ALT
PRINT ACCNO CC SUPNO NAME DM IDATE GEBUCHT OK PN
BY PROJ
IF OK NE 'D'
ON TABLE HOLD AS SELECT1
END
-*================================================================
-* if PROJ in PV6alt = PN in Wip-Header then mark record in PV6alt
-*================================================================
MODIFY FILE PV6ALT
FIXFORM FROM SELECT1
MATCH PROJ
ON MATCH COMPUTE VERGLEICH/A20 = PROJ;
ON MATCH GOTO COMP
CASE COMP
MATCH PROJ
ON MATCH COMPUTE OK = 'D';
ON MATCH UPDATE OK
ON MATCH GOTO CONT
ENDCASE
CASE CONT
NEXT PROJ
ON NEXT IF PROJ NE VERGLEICH GOTO TOP;
ON NEXT COMPUTE OK = IF PROJ EQ VERGLEICH THEN 'D' ELSE ' ';
ON NEXT UPDATE OK
ON NEXT GOTO CONT
ON NONEXT GOTO TOP
ENDCASE
DATA ON SELECT1
END
-RUN
PV6.mas
FILENAME=PV6,SUFFIX=FIX,$
SEGNAME=ONE,SEGTYPE=S1,$
FIELDNAME=ACCNO,ALIAS=,FORMAT=A6,A6,$
FIELDNAME=CC,ALIAS=,FORMAT=A3,A3,$
FIELDNAME=SUPNO,ALIAS=,FORMAT=A8,A8,$
FIELDNAME=NAME,ALIAS=,FORMAT=A40,A40,$
FIELDNAME=DM,ALIAS=,FORMAT=P12.2,Z11.2,$
FIELDNAME=IDATE,ALIAS=,FORMAT=A8,A8,$
FIELDNAME=PROJ,ALIAS=,FORMAT=A10,A10,$
PV6alt.mas (same as PV6_ok.mas)
FILENAME=PV6ALT,SUFFIX=FOC,$
SEGNAME=ONE,SEGTYPE=S1,$
FIELDNAME=PROJ,ALIAS=,FORMAT=A20,$
FIELDNAME=ACCNO,ALIAS=,FORMAT=A6,$
FIELDNAME=CC,ALIAS=,FORMAT=A3,$
FIELDNAME=SUPNO,ALIAS=,FORMAT=A8,$
FIELDNAME=NAME,ALIAS=,FORMAT=A40,$
FIELDNAME=DM,ALIAS=,FORMAT=P12.2,$
FIELDNAME=IDATE,ALIAS=,FORMAT=A8,$
FIELDNAME=GEBUCHT,ALIAS=,FORMAT=A1,$
FIELDNAME=OK,ALIAS=,FORMAT=A1,$
Wip.mas (header-file)
FILENAME=WIP,SUFFIX=FOC,$
SEGNAME=PRO,SEGTYPE=S1,$
FIELDNAME=PN,,A20,FIELDTYPE=I,$
SEGNAME=DEC,PARENT=PRO,SEGTYPE=S1,$
FIELDNAME=DECNR,,A9,FIELDTYPE=I,$
FIELDNAME ...
|
|
V
ETC.
| |||||