' Report Credit
Public Function CreateReportCredit _
(ByVal keys As Dictionary(Of String, String), _
ByVal id As String, ByVal customernumbers() As String, _
ByVal customernames() As String) As String
' We use ABAP report RFDKLI40 to display basic credit data
' Clear input/output
rfc_input.Clear()
rfc_output.Clear()
' Build up input
add_report_selection(rfc_input, "KKBER", _
GetItem(keys, "KKBER"), GetItem(keys, "KKBER"))
For Each knr As String In customernumbers
add_report_selection(rfc_input, "KONTO", knr, knr)
Next
' Request report via RFC
ic.RfcRequest("RFDKLI40", "R", rfc_input, rfc_output)
' Buld up HTML output table
Dim sb As New StringBuilder
'Title
sb.Append("<div style='width:700px; font-size:12pt;
font-weight:bold; margin: 10px 0px 10px 5px; color:#606060;'>")
AppendString(sb, ic.MessageText("REPORT_CREDIT_TITLE"))
sb.Append("</div>")
' column headings
sb.Append("<div class='colhead01' style='width:740px;
font-size:12px; margin-bottom:4px;'>")
' customer number
sb.Append("<div class='colhead'
style='float:left; text-align:left; width:80px;'>")
sb.Append("Nr")
sb.Append("</div>")
' customer
sb.Append("<div class='colhead'
style='float:left; text-align:left;
width:190px; margin-right:4px;'>")
AppendString(sb, ic.MessageText("REPORT_CREDIT_COL2"))
sb.Append("</div>")
' Obligo
sb.Append("<div class='colhead'
style='float:left; text-align:right; width:150px;'>")
AppendString(sb, ic.MessageText("REPORT_CREDIT_COL3"))
sb.Append("</div>")
' WAERS
sb.Append("<div class='colhead'
style='float:left; text-align:left;
margin-left:10px;width:60px;'>")
AppendString(sb, ic.MessageText("REPORT_CREDIT_COL4"))
sb.Append("</div>")
' Limit
sb.Append("<div class='colhead'
style='float:left; text-align:right; width:150px;'>")
AppendString(sb, ic.MessageText("REPORT_CREDIT_COL5"))
sb.Append("</div>")
' PERCENTAGE
sb.Append("<div class='colhead'
style='float:left; text-align:right; width:80px;'>")
AppendString(sb, ic.MessageText("REPORT_CREDIT_COL6"))
sb.Append("</div>")
sb.Append("</div>")
Dim kunnr As String = ""
Dim limit As String = ""
Dim waers As String = ""
Dim oblig As String = ""
Dim percentage As String = ""
Dim header As Boolean = True
For Each line As addonsimplestring In rfc_output
Dim fields() As String = line.content.Split("|")
If fields.Length > 7 Then
If header Then
header = False
Else
kunnr = fields(1).Trim.PadLeft(10, "0")
waers = fields(5).Trim
limit = fields(6).Trim
oblig = fields(7).Trim
percentage = fields(8).Trim
sb.Append("<div style='width:740px;
font-size:13px; margin-left:8px; clear:both;'>")
' customer nr
sb.Append("<div class='outputcelldiv'
style='text-align:left; width:80px;'>")
AppendString(sb, kunnr.TrimStart("0"))
sb.Append("</div>")
' customer
sb.Append("<div class='outputcelldiv'
style='text-align:left; width:190px;
margin-right:4px; text-overflow: ellipsis;'>")
AppendString(sb, customername(kunnr,
customernumbers, customernames))
sb.Append("</div>")
' total obligo
sb.Append("<div class='outputcelldiv'
style='text-align:right; width:150px;'>")
AppendString(sb, oblig)
sb.Append("</div>")
' waers
sb.Append("<div class='outputcelldiv'
style='text-align:left;
margin-left:10px; width:60px;'>")
AppendString(sb, waers)
sb.Append("</div>")
' limit
sb.Append("<div class='outputcelldiv'
style='text-align:right; width:150px;'>")
AppendString(sb, limit)
sb.Append("</div>")
' percentage
sb.Append("<div class='outputcelldiv'
style='text-align:right; width:80px;'>")
AppendString(sb, percentage & "%")
sb.Append("</div>")
sb.Append("</div>")
End If
End If
Next
sb.Append("<div style='clear:both;'></div>")
' Clear input/output
rfc_input.Clear()
rfc_output.Clear()
' return report output in HTML format
Return sb.ToString
End Function
|