Sign up on the Revelation Software website to have access to the most current content, and to be able to ask questions and get answers from the Revelation community

At 25 JUL 1999 10:17:42PM Samuel White wrote:

The following routine seem to be working well for me but I need to write the last values to another table although I can do an xlate however I must update an audit table and I would like to write to second table with fmc's of and . Below is my current code

code I hope someone could tell me what to do as to update the second table.

Thanks

* OSOPEN INPUT.DOS.FILENAME TO TRANSACT THEN OSBREAD DATA FROM TRANSACT AT IDX LENGTH RECORDLENGTH REC.CNT=COUNT(TRANSACT,@FM) ;* number of records IF LEN(DATA) THEN IDX += RECORDLENGTH B=(LEN(DATA)/533)-1 FOR A=0 TO B OFFSET=A*533 EMPLID=DATAOFFSET+1,5 READ REC FROM DEDFILE,EMPLID ELSE REC=' MSG("Importing Deduction Data||||||Processing Crew#|":EMPLID,'UB',IMAGE,) D2 =TRIM(DATA(OFFSET+12),5) /*Row #2 */ IF LEN(D2) THEN REC=D2 AMT2 =TRIM(DATA(OFFSET+17),9) IF LEN(AMT2) THEN REC=(AMT2*100) LMT2 =TRIM(DATA(OFFSET+26),9) IF LEN(LMT2) THEN REC=(LMT2*100) D2S1 =TRIM(DATA(OFFSET+35),1) IF LEN(D2S1) THEN REC=D2S1 D2S2 =TRIM(DATA(OFFSET+36),1) IF LEN(D2S2) THEN REC=D2S2 D2S3 =TRIM(DATA(OFFSET+37),1) IF LEN(D2S3) THEN REC =D2S3 D1 =TRIM(DATA(OFFSET+38),5) /*Row #1 */ IF LEN(D1) THEN REC =D1 AMT1 =TRIM(DATA(OFFSET+43),9) IF LEN(AMT1) THEN REC=(AMT1*100) LMT1 =TRIM(DATA(OFFSET+52),9) IF LEN(LMT1) THEN REC =(LMT1*100) D1S1 =TRIM(DATA(OFFSET+61),1) IF LEN(D1S1) THEN REC =D1S1 D1S2 =TRIM(DATA(OFFSET+62),1) IF LEN(D1S2) THEN REC=D1S2 D1S3 =TRIM(DATA(OFFSET+63),1) IF LEN(D1S3) THEN REC =D1S3 D6 =TRIM(DATA(OFFSET+64),5) /*Row #6 */ IF LEN(D6) THEN REC=D6 AMT6 =TRIM(DATA(OFFSET+69),9) IF LEN(AMT6) THEN REC =(AMT6*100) LMT6 =TRIM(DATA(OFFSET+78),9) IF LEN(LMT6) THEN REC =(LMT6*100) D6S1 =TRIM(DATA(OFFSET+87),1) IF LEN(D6S1) THEN REC =D6S1 D6S2 =TRIM(DATA(OFFSET+88),1) IF LEN(D6S2) THEN REC =D6S2 D6S3 =TRIM(DATA(OFFSET+89),1) IF LEN(D6S3) THEN REC =D6S3 D7 =TRIM(DATA(OFFSET+90),5) /*Row #7 */ IF LEN(D7) THEN REC=D7 AMT7 =TRIM(DATA(OFFSET+95),9) IF LEN(AMT7) THEN REC =(AMT7*100) LMT7 =TRIM(DATA(OFFSET+104),9) IF LEN(LMT7) THEN REC =(LMT7*100) D7S1 =TRIM(DATA(OFFSET+113),1) IF LEN(D7S1) THEN REC =D7S1 D7S2 =TRIM(DATA(OFFSET+114),1) IF LEN(D7S2) THEN REC=D7S2 D7S3 =TRIM(DATA(OFFSET+115),1) IF LEN(D7S3) THEN REC =D7S3 D8 =TRIM(DATA(OFFSET+116),5) /* Row #8 */ IF LEN(D8) THEN REC =D8 AMT8 =TRIM(DATA(OFFSET+121),9) IF LEN(AMT8) THEN REC =(AMT8*100) LMT8 =TRIM(DATA(OFFSET+130),9) IF LEN(LMT8) THEN REC =(LMT8*100) D8S1 =TRIM(DATA(OFFSET+139),1) IF LEN(D8S1) THEN REC =D8S1 D8S2 =TRIM(DATA(OFFSET+140),1) IF LEN(D8S2) THEN REC =D8S2 D8S3 =TRIM(DATA(OFFSET+141),1) IF LEN(D8S3) THEN REC =D8S3 D10 =TRIM(DATA(OFFSET+142),5) /*Row #10 */ IF LEN(D10) THEN REC =D10 AMT10 =TRIM(DATA(OFFSET+147),9) IF LEN(AMT10) THEN REC =(AMT10*100) LMT10 =TRIM(DATA(OFFSET+156),9) IF LEN(LMT10) THEN REC =(LMT10*100) D10S1 =TRIM(DATA(OFFSET+165),1) IF LEN(D10S1) THEN REC =D10S1 D10S2 =TRIM(DATA(OFFSET+166),1) IF LEN(D10S2) THEN REC =D10S2 D10S3 =TRIM(DATA(OFFSET+167),1) IF LEN(D10S3) THEN REC =D10S3 D11 =TRIM(DATA(OFFSET+168),5) /* Row #11 */ IF LEN(D11) THEN REC= D11 AMT11 =TRIM(DATA(OFFSET+173),9) IF AMT11 THEN REC=(AMT11*100) LMT11 =TRIM(DATA(OFFSET+182),9) IF LMT11 THEN REC =(LMT11*100) D11S1 =TRIM(DATA(OFFSET+191),1) IF LEN(D11S1) THEN REC=D11S1 D11S2 =TRIM(DATA(OFFSET+192),1) IF LEN(D11S2) THEN REC =D11S2 D11S3 =TRIM(DATA(OFFSET+193),1) IF LEN(D11S3) THEN REC =D11S3 D13 =TRIM(DATA(OFFSET+194),5) /* Row #13 */ IF LEN(D13) THEN REC =D13 AMT13 =TRIM(DATA(OFFSET+199),9) IF LEN(AMT13) THEN REC=(AMT13*100) LMT13 =TRIM(DATA(OFFSET+208),9) IF LEN(LMT13) THEN REC =(LMT13*100) D13S1 =TRIM(DATA(OFFSET+217),1) IF LEN(D13S1) THEN REC =D13S1 D13S2 =TRIM(DATA(OFFSET+218),1) IF LEN(D13S2) THEN REC =D13S2 D13S3 =TRIM(DATA(OFFSET+219),1) IF LEN(D13S3) THEN REC =D13S3 D16=TRIM(DATA(OFFSET+220),5) /*Row #16 */ IF LEN(D16) THEN REC =D16 AMT16 =TRIM(DATA(OFFSET+225),9) IF LEN(AMT16) THEN REC =(AMT16*100) LMT16 =TRIM(DATA(OFFSET+234),9) IF LEN(LMT16) THEN REC =(LMT16*100) D16S1 =TRIM(DATA(OFFSET+243),1) IF LEN(D16S1) THEN REC =D16S1 D16S2 =TRIM(DATA(OFFSET+244),1) IF LEN(D16S2) THEN REC =D16S2 D16S3 =TRIM(DATA(OFFSET+245),1) IF LEN(D16S3) THEN REC =D16S3 D17 =TRIM(DATA(OFFSET+246),5) /* Row #17 */ IF LEN(D17) THEN REC =D17 AMT17 =TRIM(DATA(OFFSET+251),9) IF LEN(AMT17) THEN REC =(AMT17*100) LMT17 =TRIM(DATA(OFFSET+260),9) IF LEN(LMT17) THEN REC =(LMT17*100) D17S1 =TRIM(DATA(OFFSET+269),1) IF LEN(D17S1) THEN REC =D17S1 D17S2 =TRIM(DATA(OFFSET+270),1) IF LEN(D17S2) THEN REC =D17S2 D17S3 =TRIM(DATA(OFFSET+271),1) IF LEN(D17S3) THEN REC =D17S3 D21 =TRIM(DATA(OFFSET+272),5) /* Row #21 */ IF LEN(D21) THEN REC =D21 AMT21 =TRIM(DATA(OFFSET+277),9) IF LEN(AMT21) THEN REC =(AMT21*100) LMT21 =TRIM(DATA(OFFSET+286),9) IF LEN(LMT21) THEN REC =(LMT21*100) D21S1 =TRIM(DATA(OFFSET+295),1) IF LEN(D21S1) THEN REC =D21S1 D21S2 = TRIM(DATA(OFFSET+296),1) IF LEN(D21S2) THEN REC =D21S2 D21S3 =TRIM(DATA(OFFSET+297),1) IF LEN(D21S3) THEN REC =D21S3 D22 =TRIM(DATA(OFFSET+298),5) /* Row #22 */ IF LEN(D22) THEN REC =D22 AMT22 =TRIM(DATA(OFFSET+303),9) IF LEN(AMT22) THEN REC =(AMT22*100) LMT22 =TRIM(DATA(OFFSET+312),9) IF LEN(LMT22) THEN REC =(LMT22*100) D22S1 =TRIM(DATA(OFFSET+321),1) IF LEN(D22S1) THEN REC =D22S1 D22S2 =TRIM(DATA(OFFSET+322),1) IF LEN(D22S2) THEN REC =D22S2 D22S3 =TRIM(DATA(OFFSET+323),1) IF LEN(D22S3) THEN REC =D22S3 D25 =TRIM(DATA(OFFSET+324),5) /* Row #25 */ IF LEN(D25) THEN REC =D25 AMT25 =TRIM(DATA(OFFSET+329),9) IF LEN(AMT25) THEN REC =(AMT25*100) LMT25 =TRIM(DATA(OFFSET+338),9) IF LEN(LMT25) THEN REC =(LMT25*100) D25S1 =TRIM(DATA(OFFSET+347),1) IF LEN(D25S1) THEN REC =D25S1 D25S2 =TRIM(DATA(OFFSET+348),1) IF LEN(D25S2) THEN REC =D25S2 D25S3 =TRIM(DATA(OFFSET+349),1) IF LEN(D25S3) THEN REC=D25S3 D27 =TRIM(DATA(OFFSET+350),5) /* Row #27 */ IF LEN(D27) THEN REC =D27 AMT27 =TRIM(DATA(OFFSET+355),9) IF LEN(AMT27) THEN REC =(AMT27*100) LMT27 =TRIM(DATA(OFFSET+364),9) IF LEN(LMT27) THEN REC =(LMT27*100) D27S1 = TRIM(DATA(OFFSET+373),1) IF LEN(D27S1) THEN REC =D27S1 D27S2 =TRIM(DATA(OFFSET+374),1) IF LEN(D27S2) THEN REC =D27S2 D27S3 =TRIM(DATA(OFFSET+375),1) IF LEN(D27S3) THEN REC =D27S3 D105 =TRIM(DATA(OFFSET+376),5) /* Row #105 */ IF LEN(D105) THEN REC =D105 AMT105 =TRIM(DATA(OFFSET+381),9) IF LEN(AMT105) THEN REC =(AMT105*100) LMT105 =TRIM(DATA(OFFSET+390),9) IF LEN(LMT105) THEN REC =(LMT105*100) D105S1 =TRIM(DATA(OFFSET+399),1) IF LEN(D105S1) THEN REC =D105S1 D105S2 =TRIM(DATA(OFFSET+400),1) IF LEN(D105S2) THEN REC =D105S2 D105S3 =TRIM(DATA(OFFSET+401),1) IF LEN(D105S3) THEN REC =D105S3 D30 =TRIM(DATA(OFFSET+402),5) /* Row #30 */ IF LEN(D30) THEN REC =D30 AMT30= TRIM(DATA(OFFSET+407),9) IF LEN(AMT30) THEN REC =(AMT30*100) LMT30 =TRIM(DATA(OFFSET+416),9) IF LEN(LMT30) THEN REC =(LMT30*100) D30S1 =TRIM(DATA(OFFSET+425),1) IF LEN(D30S1) THEN REC =D30S1 D30S2 =TRIM(DATA(OFFSET+426),1) IF LEN(D30S2) THEN REC =D30S2 D30S3 =TRIM(DATA(OFFSET+427),1) IF LEN(D30S3) THEN REC =D30S3 D23 =TRIM(DATA(OFFSET+428),5) /* Row #23 */ IF LEN(D23) THEN REC =D23 AMT23 =TRIM(DATA(OFFSET+433),9) IF LEN(AMT23) THEN REC =(AMT23*100) LMT23 =TRIM(DATA(OFFSET+442),9) IF LEN(LMT23) THEN REC =(LMT23*100) D23S1 =TRIM(DATA(OFFSET+451),1) IF LEN(D23S1) THEN REC=D23S1 D23S2 =TRIM(DATA(OFFSET+452),1) IF LEN(D23S2) THEN REC =D23S2 D23S3 =TRIM(DATA(OFFSET+453),1) IF LEN(D23S3) THEN REC =D23S3 D24 =TRIM(DATA(OFFSET+454),5) /* Row #24 */ IF LEN(D24) THEN REC =D24 AMT24 =TRIM(DATA(OFFSET+459),9) IF LEN(AMT24) THEN REC =(AMT24*100) LMT24 =TRIM(DATA(OFFSET+468),9) IF LEN(LMT24) THEN REC =(LMT24*100) D24S1 =TRIM(DATA(OFFSET+477),1) IF LEN(D24S1) THEN REC =D24S1 D24S2 =TRIM(DATA(OFFSET+478),1) IF LEN(D24S2) THEN REC =D24S2 D24S3 =TRIM(DATA(OFFSET+479),1) IF LEN(D24S3) THEN REC =D24S3 D28 =TRIM(DATA(OFFSET+480),5) /*Row #28 */ IF LEN(D28) THEN REC =D28 AMT28 =TRIM(DATA(OFFSET+485),9) IF LEN(AMT28) THEN REC =(AMT28*100) LMT28 =TRIM(DATA(OFFSET+494),9) IF LEN(LMT28) THEN REC =(LMT28*100) D28S1 =TRIM(DATA(OFFSET+503),1) IF LEN(D28S1) THEN REC =D28S1 D28S2 =TRIM(DATA(OFFSET+504),1) IF LEN(D28S2) THEN REC =D28S2 D28S3 =TRIM(DATA(OFFSET+505),1) IF LEN(D28S3) THEN REC =D28S3 D31 =TRIM(DATA(OFFSET+506),5) /*Row #31 */ IF LEN(D31) THEN REC =D31 AMT31 =TRIM(DATA(OFFSET+511),9) IF LEN(AMT31) THEN REC =(AMT31*100) LMT31 =TRIM(DATA(OFFSET+520),9) IF LEN(LMT31) THEN REC =(LMT31*100) D31S1 =TRIM(DATA(OFFSET+529),1) IF LEN(D31S1) THEN REC =D31S1 D31S2 =TRIM(DATA(OFFSET+530),1) IF LEN(D31S2) THEN REC =D31S2 D31S3 =TRIM(DATA(OFFSET+531),1) IF LEN(D31S3) THEN REC =D31S3 LOAN1=TRIM(DATA(OFFSET+532),3) IF LEN(LOAN1) THEN REC =LOAN1 LOAN2=TRIM(DATA(OFFSET+535),3) IF LEN(LOAN2) THEN REC =LOAN2 WRITE REC TO DEDFILE,EMPLID NEXT A END * END END WHILE DATA REPEAT MSG(,'DB','T',) CALL INDEX.FLUSH(,'') RETURN </QUOTE> —- === At 26 JUL 1999 02:52PM K Gilfilen wrote: === <QUOTE>Samuel, That's a pretty scary looking piece of code, but I will hazard a guess anyway. Why not just throw another WRITE statement or two in there next to the first one? If you will specify what needs to be written to each table, and any conditions behind each write, that will help. Also, if your version supports it, why not put then and else branches on the write statement and provide some error-handling? Kenny </QUOTE> —- === At 26 JUL 1999 06:10PM Samuel White wrote: === <QUOTE> IF LEN(LOAN1) THEN REC=LOAN1 LOAN2=TRIM(DATA(OFFSET+535),3) IF LEN(LOAN2) THEN REC=LOAN2 WRITE REC TO DEDFILE,EMPLID NEXT A ***

The two columns above is what I am interested in writing to "EMP"

LOAN1=EMPREC in "EMP"

LOAN2=EMPREC in "EMP"

I do not have this table opened in my current program and I do not open it and where should I do the open and where should I do the write.

Thanks


At 26 JUL 1999 07:23PM K gilfilen wrote:

Samuel,

You will probably want to do a file open at the top of the program (I'm guessing at your file and variable names):

open "EMPLOYEES" to EMPLOYEES else

error-handling

end

Then after you do the first write, and before the "next A" command read the record from the employee file, and I am assuming the employee ID is the record key you need for the file access:

read emprec from EMPLOYEES, EMPLOYEE_ID then

emprec=LOAN1

emprec=LOAN2

write emprec to EMPLOYEES, EMPLOYEE_ID else
   error-handling
end

else

error-handling

end

Here are three caveats:

(1) I am assuming that I understand the program you included correctly. That may not be true.

(2) I do not have an ARev manual in front of me, so these code snippets may not be syntactically correct.

(3) You will want to test this rigorously to ensure that no existing functionality is lost, and that it does what you need. Do you have a unit test of some kind? You should run it first to see how the process acts when working correctly, and what is missing that you need. Then make the changes, and make sure the previous behavior is still there. Then see if the new required behavior is present.

This testing is very important! Because the code you are dealing with is pretty hideous, and you never know what nasty things are lurking that you cannot see. Also, you sound fairly new to programming, or at least Arev, and this kind of situation will bite you hard if you do not do your homework first.

Good luck, Kenny

View this thread on the forum...

  • third_party_content/community/commentary/forums_nonworks/9c5a37ec528b4ae6852567ba000c9b87.txt
  • Last modified: 2023/12/28 07:40
  • by 127.0.0.1