TECHASHUS - SAP - DIAPI - Adding Incoming Payment
#Region "Incomming Payment "
Private Sub CreateIncomingPayment(ByVal objForm As SAPbouiCOM.Form)
Dim v_duedate, v_paymentp, v_BpCode, v_BpName As String
Dim v_TotCashAmt, v_row, v_ChkAmt, V_Bank, V_Acc, V_Branch, V_PdcNo, v_chkdate, V_PdcDate As Integer
Dim oIncomePyment As SAPbobsCOM.Payments
Dim v_totalcheckamt, v_rowId As Integer
v_BoolIncPaymt = False
objEdit = objForm.Items.Item("3").Specific
v_BpCode = objEdit.Value
objEdit = objForm.Items.Item("5").Specific
v_BpName = objEdit.Value
objEdit = objForm.Items.Item("7").Specific
V_Acc = objEdit.Value
objEdit = objForm.Items.Item("9").Specific
V_PdcNo = objEdit.Value
objEdit = objForm.Items.Item("11").Specific
V_PdcDate = objEdit.Value
objMatrix = objForm.Items.Item("16").Specific
For i = 1 To objMatrix.RowCount
Dim v_strpaymentNo, v_obbalnstr As String
Dim v_Docentry As Integer
v_Docentry = 5
'v_Docentry = objMatrix.Columns.Item("V_8").Cells.Item(i).Specific.value()
' v_strpaymentNo = objMatrix.Columns.Item("V_8").Cells.Item(i).Specific.value()
' v_obbalnstr = objMatrix.Columns.Item("V_0").Cells.Item(i).Specific.value()
' If v_strpaymentNo <> "" Then
' SQL = " SELECT COUNT(*)COUNTPAY FROM ORCT WHERE ""DocEntry"" = '" + v_strpaymentNo + "' "
' objRecordSet = objSBOAPI.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset)
' objRecordSet.DoQuery(SQL)
' If objRecordSet.RecordCount > 0 Then
' v_Docentry = objRecordSet.Fields.Item("COUNTPAY").Value
' End If
' System.Runtime.InteropServices.Marshal.ReleaseComObject(objRecordSet)
' End If
If v_Docentry <> 0 Then
oIncomePyment = objSBOAPI.oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oIncomingPayments)
oIncomePyment.DocType = SAPbobsCOM.BoRcptTypes.rCustomer
oIncomePyment.CardCode = v_BpCode
oIncomePyment.CardName = v_BpName
oIncomePyment.Remarks = "Based on PDC No:" & V_PdcNo
oIncomePyment.Invoices.InvoiceType = SAPbobsCOM.BoRcptInvTypes.it_Invoice
oIncomePyment.Invoices.DocEntry = v_Docentry
Dim v_checknumber As Integer
Dim V_CHECSUM As Double
v_totalcheckamt = objMatrix.Columns.Item("V_3").Cells.Item(i).Specific.string
v_checknumber = objMatrix.Columns.Item("V_5").Cells.Item(i).Specific.string
V_CHECSUM = objMatrix.Columns.Item("V_1").Cells.Item(i).Specific.value
oIncomePyment.Checks.CheckNumber = v_checknumber
oIncomePyment.Checks.CheckSum = V_CHECSUM
'oIncomePyment.Checks.BankCode = objMatrix.Columns.Item("V_3").Cells.Item(i).Specific.value
v_chkdate = objMatrix.Columns.Item("V_4").Cells.Item(i).Specific.string
oIncomePyment.Checks.DueDate = changedateformatYYYMMDD(v_chkdate)
oIncomePyment.Checks.Add()
oIncomePyment.DocDate = changedateformatYYYMMDD(V_PdcDate)
oIncomePyment.TaxDate = changedateformatYYYMMDD(V_PdcDate)
'Find_InvoiceNo(objForm, v_invDocEn, v_duedatconv)
'If v_countt > 0 Then
' oIncomePyment.DocCurrency = v_currency
' oIncomePyment.DocRate = v_currrate
' If v_totalcheckamt > 0 Then
' oIncomePyment.Invoices.AppliedFC = v_totalcheckamt
' ElseIf v_CashAmt > 0 Then
' oIncomePyment.Invoices.AppliedFC = v_CashAmt
' End If
'ElseIf v_countt = 0 Then
If v_totalcheckamt > 0 Then
oIncomePyment.Invoices.SumApplied = v_totalcheckamt 'v_totalcheckamt
End If
End If
If oIncomePyment.Add() <> 0 Then
v_BoolIncPaymt = False
strErrorMsg = ("Error / " & objSBOAPI.oCompany.GetLastErrorDescription)
objSBOAPI.SBO_Appln.StatusBar.SetText(strErrorMsg, SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Error)
Exit Sub
' objMatrix.Columns.Item("V_8").Cells.Item(i).Specific.string = ""
Else
v_BoolIncPaymt = True
Dim v_PaymentDocentry As Integer
v_PaymentDocentry = objSBOAPI.oCompany.GetNewObjectKey()
'objMatrix.Columns.Item("V_8").Cells.Item(i).Specific.value = v_PaymentDocentry
'objMatrix.CommonSetting.SetCellEditable(i, 1, False)
'objMatrix.CommonSetting.SetCellEditable(i, 2, False)
End If
Next
End Sub
#End Region
Private Sub CreateIncomingPayment(ByVal objForm As SAPbouiCOM.Form)
Dim v_duedate, v_paymentp, v_BpCode, v_BpName As String
Dim v_TotCashAmt, v_row, v_ChkAmt, V_Bank, V_Acc, V_Branch, V_PdcNo, v_chkdate, V_PdcDate As Integer
Dim oIncomePyment As SAPbobsCOM.Payments
Dim v_totalcheckamt, v_rowId As Integer
v_BoolIncPaymt = False
objEdit = objForm.Items.Item("3").Specific
v_BpCode = objEdit.Value
objEdit = objForm.Items.Item("5").Specific
v_BpName = objEdit.Value
objEdit = objForm.Items.Item("7").Specific
V_Acc = objEdit.Value
objEdit = objForm.Items.Item("9").Specific
V_PdcNo = objEdit.Value
objEdit = objForm.Items.Item("11").Specific
V_PdcDate = objEdit.Value
objMatrix = objForm.Items.Item("16").Specific
For i = 1 To objMatrix.RowCount
Dim v_strpaymentNo, v_obbalnstr As String
Dim v_Docentry As Integer
v_Docentry = 5
'v_Docentry = objMatrix.Columns.Item("V_8").Cells.Item(i).Specific.value()
' v_strpaymentNo = objMatrix.Columns.Item("V_8").Cells.Item(i).Specific.value()
' v_obbalnstr = objMatrix.Columns.Item("V_0").Cells.Item(i).Specific.value()
' If v_strpaymentNo <> "" Then
' SQL = " SELECT COUNT(*)COUNTPAY FROM ORCT WHERE ""DocEntry"" = '" + v_strpaymentNo + "' "
' objRecordSet = objSBOAPI.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset)
' objRecordSet.DoQuery(SQL)
' If objRecordSet.RecordCount > 0 Then
' v_Docentry = objRecordSet.Fields.Item("COUNTPAY").Value
' End If
' System.Runtime.InteropServices.Marshal.ReleaseComObject(objRecordSet)
' End If
If v_Docentry <> 0 Then
oIncomePyment = objSBOAPI.oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oIncomingPayments)
oIncomePyment.DocType = SAPbobsCOM.BoRcptTypes.rCustomer
oIncomePyment.CardCode = v_BpCode
oIncomePyment.CardName = v_BpName
oIncomePyment.Remarks = "Based on PDC No:" & V_PdcNo
oIncomePyment.Invoices.InvoiceType = SAPbobsCOM.BoRcptInvTypes.it_Invoice
oIncomePyment.Invoices.DocEntry = v_Docentry
Dim v_checknumber As Integer
Dim V_CHECSUM As Double
v_totalcheckamt = objMatrix.Columns.Item("V_3").Cells.Item(i).Specific.string
v_checknumber = objMatrix.Columns.Item("V_5").Cells.Item(i).Specific.string
V_CHECSUM = objMatrix.Columns.Item("V_1").Cells.Item(i).Specific.value
oIncomePyment.Checks.CheckNumber = v_checknumber
oIncomePyment.Checks.CheckSum = V_CHECSUM
'oIncomePyment.Checks.BankCode = objMatrix.Columns.Item("V_3").Cells.Item(i).Specific.value
v_chkdate = objMatrix.Columns.Item("V_4").Cells.Item(i).Specific.string
oIncomePyment.Checks.DueDate = changedateformatYYYMMDD(v_chkdate)
oIncomePyment.Checks.Add()
oIncomePyment.DocDate = changedateformatYYYMMDD(V_PdcDate)
oIncomePyment.TaxDate = changedateformatYYYMMDD(V_PdcDate)
'Find_InvoiceNo(objForm, v_invDocEn, v_duedatconv)
'If v_countt > 0 Then
' oIncomePyment.DocCurrency = v_currency
' oIncomePyment.DocRate = v_currrate
' If v_totalcheckamt > 0 Then
' oIncomePyment.Invoices.AppliedFC = v_totalcheckamt
' ElseIf v_CashAmt > 0 Then
' oIncomePyment.Invoices.AppliedFC = v_CashAmt
' End If
'ElseIf v_countt = 0 Then
If v_totalcheckamt > 0 Then
oIncomePyment.Invoices.SumApplied = v_totalcheckamt 'v_totalcheckamt
End If
End If
If oIncomePyment.Add() <> 0 Then
v_BoolIncPaymt = False
strErrorMsg = ("Error / " & objSBOAPI.oCompany.GetLastErrorDescription)
objSBOAPI.SBO_Appln.StatusBar.SetText(strErrorMsg, SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Error)
Exit Sub
' objMatrix.Columns.Item("V_8").Cells.Item(i).Specific.string = ""
Else
v_BoolIncPaymt = True
Dim v_PaymentDocentry As Integer
v_PaymentDocentry = objSBOAPI.oCompany.GetNewObjectKey()
'objMatrix.Columns.Item("V_8").Cells.Item(i).Specific.value = v_PaymentDocentry
'objMatrix.CommonSetting.SetCellEditable(i, 1, False)
'objMatrix.CommonSetting.SetCellEditable(i, 2, False)
End If
Next
End Sub
#End Region
No comments: