Hello knob, sorry for the delay, what i need is to read the 2-lines with the same Stock # add the integers after QTY AVAIL= and ON ORDER= on each line and add a line right after the 2-lines with same stock # and results,re-saved in the same file and continue reading. For example:
SKU1234 { ON HAND= 23,214 } { QTY ALOC= 2,696 } { QTY AVAIL= 20,518 } { ON ORDER= 12,000 } { TOT AVG= 5,611 }
SKU1234 { ON HAND= 11,540 } { QTY ALOC= 1,984 } { QTY AVAIL= 9,556 } { ON ORDER= 0 } { JUP }
SKU1234 VEND# 123456 ON ORDER 12,000 PO# 93148 ORD: 07/07/06 DUE: 11/20/06
Need to add the results before the line with VEND#
This is the file i'm reading from:
Stock Status as of: 11/10/06
STOCK DEPARTMENT
SKU1234 { ON HAND= 23,214 } { QTY ALOC= 2,696 } { QTY AVAIL= 20,518 } { ON ORDER= 12,000 } { TOT AVG= 5,611 }
SKU1234 { ON HAND= 11,540 } { QTY ALOC= 1,984 } { QTY AVAIL= 9,556 } { ON ORDER= 0 } { JUP }
SKU1234 VEND# 123456 ON ORDER 12,000 PO# 93148 ORD: 07/07/06 DUE: 11/20/06
SKU4567 { ON HAND= 12,760 } { QTY ALOC= 7,963 } { QTY AVAIL= 4,797 } { ON ORDER= 57,540 } { TOT AVG= 8,797 }
SKU4567 { ON HAND= 5,056 } { QTY ALOC= 128 } { QTY AVAIL= 4,928 } { ON ORDER= 0 } { JUP }
SKU4567 VEND# 78912 ON ORDER 30,240 PO# 96553 ORD: 10/23/06 DUE: 02/06/07
SKU4567 VEND# 78912 ON ORDER 27,300 PO# 96598 ORD: 10/24/06 DUE: 02/08/07
SKU7891 { ON HAND= 9,922 } { QTY ALOC= 0 } { QTY AVAIL= 9,922 } { ON ORDER= 4,416 } { TOT AVG= 1,168 }
SKU7891 { ON HAND= 8,305 } { QTY ALOC= 34 } { QTY AVAIL= 8,271 } { ON ORDER= 0 } { JUP }
SKU7891 VEND# 78912 ON ORDER 4,416 PO# 87628 ORD: 01/26/06 DUE: 04/28/06
SKU2234 { ON HAND= 1,548 } { QTY ALOC= 6,902 } { QTY AVAIL= - 5,354 } { ON ORDER= 49,892 } { TOT AVG= 9,530 }
SKU2234 { ON HAND= 13,827 } { QTY ALOC= 7,433 } { QTY AVAIL= 6,394 } { ON ORDER= 0 } { JUP }
SKU2234 VEND# 78912 ON ORDER 3,092 PO# 90663 ORD: 04/20/06 DUE: 07/22/06
SKU2234 VEND# 78912 ON ORDER 9,400 PO# 93146 ORD: 07/07/06 DUE: 10/12/06
SKU2234 VEND# 78912 ON ORDER 18,700 PO# 94371 ORD: 08/10/06 DUE: 11/18/06
SKU2234 VEND# 78912 ON ORDER 18,700 PO# 95429 ORD: 09/18/06 DUE: 12/31/06
Below is the code i've got so far, which of course reads each line that i need. I used usermsg to make sure it is reading correctly. Also on the result line i need to add integers from a second file with the same Stock # (haven't gotten that far yet). Here it goes:
proc main
string sLine
;string sPrevLine ;Check if Stock # Matches Previous Stock #
;string sOutPut
string sVar ;Stock # for warehouse1
string sVar1 ;Stock # for warehouse2
string sVar2
;string sVar3
;string sVar4 ;Stock # for 3rd Line (TO ORDER=)
string sQtyAvl1 = "QTY AVAIL=" ;QTY AVAIL for warehouse1
string sOnOrd1 = "ON ORDER=" ;ON ORDER for warehouse1
;string sQtyAvl2 = "QTY AVAIL=" ;QTY AVAIL for warehouse2
;string sOnOrd2 = "ON ORDER=" ;ON ORDER for warehouse2
;string sBocaAvg = "BOCA AVG=" ;BOCA AVG for warehouse1
string sToOrd = "TO ORDER="
integer iPos ;Pointer position QTY AVAIL for warehouse1
;integer iPos2 ;Pointer position ON ORDER for warehouse1
;integer iPos3 ;Pointer position QTY AVAIL for warehouse2
;integer iPos3 ;Pointer position ON ORDER for warehouse2
;integer iPos4 ;Pointer position ORD BOCA
;integer iQTYAVL1 ;Integer for QTY AVAIL warehouse1
;integer iONORD1 ;Integer for ON ORDER warehouse1
;integer iQTYAVL2 ;Integer for QTY AVAIL warehouse2
;integer iONORD2 ;Integer for ON ORDER warehouse2
;integer iBOCAAVG ;Integer for BOCA AVG warehouse1
;integer iTOTAVL ;Integer for QTY AVAIL warehouse1 + QTY AVAIL warehouse2
;integer iTOTONORD ;Integer for ON ORDER warehouse1 + ON ORDER warehouse2
;integer iTOORD ;Integer for TO ORDER = iBOCAAVG - (iTOTAVL - iTOTONORD)
if isfile "L:\MENUS\CODES\MERGEPC\TEST1.TXT"
if fopen 0 "L:\MENUS\CODES\MERGEPC\TEST1.TXT" READWRITE TEXT
fgets 0 sLine
fgets 0 sLine
fgets 0 sLine
fgets 0 sLine
fgets 0 sLine
fgets 0 sLine
fgets 0 sLine
while not feof 0
fgets 0 sLine
fread 0 sVar 16
usermsg "%s" sVar
if strfind sLine sQtyAvl1 iPos
substr sVar1 sLine iPos+10 9
usermsg "%s" sVar1
if strfind sLine sOnOrd1 iPos
substr sVar2 sLine iPos+9 8
usermsg "%s" sVar2
endif
endif
endwhile
fclose 0
endif
endif
endproc