PB/Cheetah - Skipping Txt Records
Posted: Thu Jul 05, 2007 4:10 pm
Reading a .txt file, converting to dbf via Cheetah. Working, but skipping input txt records. I've opened the txt file with other programs, columns appear correct, etc. (Txt file is output from Primavera 3.1 PRMBATCH.) Compiling with Windows.
IncludeFile "Cheetah2.pbi"
xdbUseDLL()
FieldArray.s = "RTYPE,C,4,0;ITYPE,C,10,0;ACTID,C,10,0;DURTYPE,C,1,0;DUR,N,4,0;PCTCOMP,N,3,0;TITLE,C,48,0;TF,D,8,0"
xdbCreate("TEST", FieldArray.s)
hdb1 = xdbOpen("TEST.dbf", "")
If ReadFile(0, "Q431OUTX.TXT")
While Eof(0) = 0
xdbClearBuffer(hdb1)
tempcode.s=Left(ReadString(0),4)
Select tempcode
Case "ACTV"
xdbAssignField(hdb1, "RTYPE", xdbFieldNumber(hdb1, "RTYPE"), Mid(ReadString(0), 1, 4))
xdbAssignField(hdb1, "ITYPE", xdbFieldNumber(hdb1, "ITYPE"), Mid(ReadString(0), 5, 1))
xdbAssignField(hdb1, "ACTID", xdbFieldNumber(hdb1, "ACTID"), Mid(ReadString(0), 6, 10))
xdbAssignField(hdb1, "DURTYPE", xdbFieldNumber(hdb1, "DURTYPE"), Mid(ReadString(0), 16, 1))
xdbAssignField(hdb1, "DUR", xdbFieldNumber(hdb1, "DUR"), Mid(ReadString(0), 16, 1))
xdbAssignField(hdb1, "PCTCOMP", xdbFieldNumber(hdb1, "PCTCOMP"), Mid(ReadString(0), 21, 3))
xdbAssignField(hdb1, "TITLE", xdbFieldNumber(hdb1, "TITLE"), Mid(ReadString(0), 24, 48) )
xdbAppendRecord(hdb1)
Debug ReadString(0)
EndSelect
Wend
CloseFile(0)
Else
MessageRequester("Information","Couldn't open the file!")
EndIf
xdbClose(hdb1)
xdbFreeDLL()
End
IncludeFile "Cheetah2.pbi"
xdbUseDLL()
FieldArray.s = "RTYPE,C,4,0;ITYPE,C,10,0;ACTID,C,10,0;DURTYPE,C,1,0;DUR,N,4,0;PCTCOMP,N,3,0;TITLE,C,48,0;TF,D,8,0"
xdbCreate("TEST", FieldArray.s)
hdb1 = xdbOpen("TEST.dbf", "")
If ReadFile(0, "Q431OUTX.TXT")
While Eof(0) = 0
xdbClearBuffer(hdb1)
tempcode.s=Left(ReadString(0),4)
Select tempcode
Case "ACTV"
xdbAssignField(hdb1, "RTYPE", xdbFieldNumber(hdb1, "RTYPE"), Mid(ReadString(0), 1, 4))
xdbAssignField(hdb1, "ITYPE", xdbFieldNumber(hdb1, "ITYPE"), Mid(ReadString(0), 5, 1))
xdbAssignField(hdb1, "ACTID", xdbFieldNumber(hdb1, "ACTID"), Mid(ReadString(0), 6, 10))
xdbAssignField(hdb1, "DURTYPE", xdbFieldNumber(hdb1, "DURTYPE"), Mid(ReadString(0), 16, 1))
xdbAssignField(hdb1, "DUR", xdbFieldNumber(hdb1, "DUR"), Mid(ReadString(0), 16, 1))
xdbAssignField(hdb1, "PCTCOMP", xdbFieldNumber(hdb1, "PCTCOMP"), Mid(ReadString(0), 21, 3))
xdbAssignField(hdb1, "TITLE", xdbFieldNumber(hdb1, "TITLE"), Mid(ReadString(0), 24, 48) )
xdbAppendRecord(hdb1)
Debug ReadString(0)
EndSelect
Wend
CloseFile(0)
Else
MessageRequester("Information","Couldn't open the file!")
EndIf
xdbClose(hdb1)
xdbFreeDLL()
End