"">" & ControlChars.CrLf)
End If
'
'First table column is ItemID unless suppressed
nID = 0
'UPGRADE_WARNING: Couldn't resolve default property of object Extract(sResponse, 5). Click for more: ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm
If InStr(1, Extract(sResponse, 5), "ID-SUPP", 1) = 0 Then
If sDelimiter = "HTML" Then
Call SB.Append("
ItemID | " & ControlChars.CrLf)
Else
Call SB.Append("ItemIDýLý15")
End If
nID = 1
End If
ReDim saAlign(nCols - 1 + nID)
ReDim saRow(nCols - 1 + nID)
ReDim sBreakMonitor(nCols)
Dim currTotals(nCols, 1) As Decimal '2nd dimension is sub-totalling for BREAK-ON
'
'use DictItems (array saQSpecs) to format output header
For i = 1 To nCols
'UPGRADE_WARNING: Couldn't resolve default property of object Extract(saQSpecs(i), 10). Click for more: ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm
nWidth = Val(Extract(saQSpecs(i), 10))
'UPGRADE_WARNING: Couldn't resolve default property of object Extract(saQSpecs(i), 9). Click for more: ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm
saAlign(i - 1 + nID) = Extract(saQSpecs(i), 9)
If nWidth = 0 Then nWidth = 10
If sDelimiter = "HTML" Then
'020222 JPC note the multivalue level argument 1 for HTML
'so we avoid use of "====" in headings like "STý===="
'UPGRADE_WARNING: Couldn't resolve default property of object Extract(saQSpecs(i), 3, 1). Click for more: ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm
Call SB.Append("" & Extract(saQSpecs(i), 3, 1) & " | ")
Else
If i > 1 Or nID = 1 Then
Call SB.Append(sDelimiter)
End If
'UPGRADE_WARNING: Couldn't resolve default property of object Extract(saQSpecs(i), 3). Click for more: ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm
Call SB.Append(Replace(Extract(saQSpecs(i), 3), Chr(253), Chr(252)) & Chr(253) & saAlign(i - 1 + nID) & Chr(253) & nWidth)
End If
Next i
If sDelimiter = "HTML" Then Call SB.Append("" & ControlChars.CrLf)
'
'Main data body of table
i = 0
Do
If Not ReadNext(sId) Then Exit Do
i = i + 1
If Not RRead(sdItem, sFV, sId) Then
'UPGRADE_WARNING: Couldn't resolve default property of object sTable. Click for more: ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm
'UPGRADE_WARNING: Couldn't resolve default property of object sAlert. Click for more: ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm
sAlert = "ERROR [914] Item '" & sId & "' not found in table/file '" & sTable & "'"
Exit Do
End If
'011017 JPC coded equivalent to LIST
'
'Erase saRow()
If nID = 1 Then saRow(0) = sId
nMV = 1
bBreak = False
For iC = 1 To nCols
sQVal = ""
'UPGRADE_WARNING: Couldn't resolve default property of object Extract(saQSpecs(iC), 1). Click for more: ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm
sSpec = UCase(Left(Extract(saQSpecs(iC), 1), 1))
Select Case sSpec
Case "A", "D", "S"
'011214 JPC handle 'attribute zero' as a spec
'020222 JPC, "S" seems to have same effect as "A" for all intents and purposes!
'If sSpec = "S" Then
' sQVal = ""
'UPGRADE_WARNING: Couldn't resolve default property of object Extract(saQSpecs(iC), 2). Click for more: ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm
If Extract(saQSpecs(iC), 2) = "0" Then
sQVal = sId
Else
'UPGRADE_WARNING: Couldn't resolve default property of object Extract(saQSpecs(iC), 2). Click for more: ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm
'UPGRADE_WARNING: Couldn't resolve default property of object Extract(sdItem, Val(Extract(saQSpecs(iC), 2))). Click for more: ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm
sQVal = Extract(sdItem, Val(Extract(saQSpecs(iC), 2)))
End If
'
'011226 JPC handle correlatives which are too much for OCONV on its own
'020222 JPC todo better correlative handling esp for Datastore = PICK etc
'If MVBool(Extract(saQSpecs(iC), 8), ">", "") Then GoSub CORRELATIVE_EVAL
'UPGRADE_WARNING: Couldn't resolve default property of object Extract(saQSpecs(iC), 8). Click for more: ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm
s = Trim(Extract(saQSpecs(iC), 8))
'If s > "" Then sQVal = OConv(sQVal, s)
If s > "" Then
'UPGRADE_WARNING: Couldn't resolve default property of object CORRELATIVE_EVAL(sQVal, s, sdItem, sId, sFV). Click for more: ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm
sQVal = CORRELATIVE_EVAL(sQVal, s, sdItem, sId, sFV)
End If
'
'020225 JPC TOTAL done after correlative and before processing code
If bTotal Then
'UPGRADE_WARNING: Couldn't resolve default property of object Extract(saQSpecs(iC), 4). Click for more: ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm
If Extract(saQSpecs(iC), 4) = "Tø" Then
'UPGRADE_WARNING: Couldn't resolve default property of object DCount(sQVal, Chr(253)). Click for more: ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm
For iMV = 1 To DCount(sQVal, Chr(253))
currTotals(iC, 0) = currTotals(iC, 0) + Val(sQVal)
currTotals(iC, 1) = currTotals(iC, 1) + Val(sQVal)
Next iMV
End If
'UPGRADE_WARNING: Couldn't resolve default property of object Extract(saQSpecs(iC), 5). Click for more: ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm
If Extract(saQSpecs(iC), 5) = "Bø" Then
If sQVal <> sBreakMonitor(iC) And i > 1 And Not bAlreadyBreak Then
'Break effect goes here!
bAlreadyBreak = True 'flag to avoid double break when 2 change together
bBreak = True 'flag that sub-totals are activated so a final sub-total row is appropriate
'Row with SUB-TOTALS
If sDelimiter = "HTML" Then
Call SB.Append("| SubTotal(s) | ")
Else
Call SB.Append(ControlChars.Cr & "SubTotal(s)")
End If
For k = 1 To nCols - 1 + nID
'UPGRADE_WARNING: Couldn't resolve default property of object Extract(saQSpecs(k + 1 + nID * -1), 4). Click for more: ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm
If Extract(saQSpecs(k + 1 + (nID * -1)), 4) = "Tø" Then
s = CStr(currTotals(k + 1 + (nID * -1), 1))
currTotals(k + 1 + (nID * -1), 1) = 0
'020228 JPC apply formatting code, usually none or "MR2"
'UPGRADE_WARNING: Couldn't resolve default property of object Extract(saQSpecs(k + 1 + nID * -1), 7). Click for more: ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm
sTemp = Trim(Extract(saQSpecs(k + 1 + (nID * -1)), 7))
If sTemp > "" Then
'UPGRADE_WARNING: Couldn't resolve default property of object OConv(s, sTemp). Click for more: ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm
s = OConv(s, sTemp)
End If
Else
s = ""
End If
If sDelimiter = "HTML" Then
If s = "" Then s = " "
If saAlign(k) = "R" Then
Call SB.Append("" & s & " | ")
Else
Call SB.Append("" & s & " | ")
End If
Else
Call SB.Append(sDelimiter & s)
End If
Next k
If sDelimiter = "HTML" Then Call SB.Append("
" & ControlChars.CrLf)
End If
sBreakMonitor(iC) = sQVal
End If
'End of BREAK-ON handler
End If
'
'Processing code
'UPGRADE_WARNING: Couldn't resolve default property of object Extract(saQSpecs(iC), 7). Click for more: ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm
s = Trim(Extract(saQSpecs(iC), 7))
If s > "" Then
' 020131 apply OCONV separately to multivalues
'UPGRADE_WARNING: Couldn't resolve default property of object DCount(sQVal, Chr(253)). Click for more: ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm
For iMV = 1 To DCount(sQVal, Chr(253))
'UPGRADE_WARNING: Couldn't resolve default property of object OConv(Extract(sQVal, 1, iMV), s). Click for more: ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm
sTemp = OConv(Extract(sQVal, 1, iMV), s)
If sTemp <> "####" Then
sQVal = RReplace(sQVal, 1, iMV, sTemp)
End If
Next iMV
End If
'
'Keep track of max number of multivalues nMV for expanding rows ...
If InStr(sQVal, Chr(253)) Then
'UPGRADE_WARNING: Couldn't resolve default property of object DCount(sQVal, Chr(253)). Click for more: ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm
n = DCount(sQVal, Chr(253))
If n > nMV Then nMV = n
End If
'
End Select
'Build this item
saRow(iC - 1 + nID) = sQVal
Next iC
'One item read in and processed as saRow()
'Now to format it
For j = 1 To nMV
'020222 JPC row is built initially in array saRow
If sDelimiter = "HTML" Then
'020223 JPC alternate items are yellow bg
If i / 2 = i \ 2 Then s = "" Else s = "
"
Call SB.Append(s)
Else
Call SB.Append(ControlChars.Cr)
End If
For k = 0 To nCols - 1 + nID
'UPGRADE_WARNING: Couldn't resolve default property of object Extract(saRow(k), 1, j). Click for more: ms-help://MS.MSDNVS/vbcon/html/vbup1037.htm
s = Extract(saRow(k), 1, j)
If sDelimiter = "HTML" Then
If s = "" Then s = " "
If saAlign(k) = "R" Then
Call SB.Append("| " & s & " | ")
Else
Call SB.Append("" & s & " | ")
End If
ElseIf k > 0 Then
Call SB.Append(sDelimiter & s)
Else
Call SB.Append(s)
End If
Next k
Next j
'End of row
If sDelimiter = "HTML" Then Call SB.Append("
" & ControlChars.CrLf)
'
'020425 JPC comment-out this batch code handler, need FBF version
'If i / 100 = i \ 100 Then
' gsHTMLWrite = "" _
'' & "