on 09-08-2011 12:36 PM
dear all
i had done the following code but its not working
mean its running well but cant added the coloums in the database table.....
can you tell me whats wrong in thes code
Public Sub FieldsForMCHAR()
Try
Dim oUserFieldsMD As SAPbobsCOM.UserFieldsMD
i = 0
oUserFieldsMD = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oUserFields)
oUserFieldsMD.TableName = "MCHAR"
oUserFieldsMD.Name = "CharType"
oUserFieldsMD.Description = "Characteristic Type "
oUserFieldsMD.Type = SAPbobsCOM.BoFieldTypes.db_Alpha
oUserFieldsMD.SubType = SAPbobsCOM.BoFldSubTypes.st_None
oUserFieldsMD.Size = 20
oUserFieldsMD.EditSize = 20
Try
i = oUserFieldsMD.Add()
SBO_Application.StatusBar.SetText("Field : " & oUserFieldsMD.Name, SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Success)
Catch ex As Exception
End Try
System.Runtime.InteropServices.Marshal.ReleaseComObject(oUserFieldsMD)
oUserFieldsMD = Nothing
oUserFieldsMD = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oUserFields)
oUserFieldsMD.TableName = "MCHAR"
oUserFieldsMD.Name = "CreateBy"
oUserFieldsMD.Description = "Created By"
oUserFieldsMD.Type = SAPbobsCOM.BoFieldTypes.db_Alpha
oUserFieldsMD.SubType = SAPbobsCOM.BoFldSubTypes.st_None
oUserFieldsMD.Size = 15
oUserFieldsMD.EditSize = 15
Try
i = oUserFieldsMD.Add()
SBO_Application.StatusBar.SetText("Field : " & oUserFieldsMD.Name, SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Success)
Catch ex As Exception
End Try
System.Runtime.InteropServices.Marshal.ReleaseComObject(oUserFieldsMD)
oUserFieldsMD = Nothing
oUserFieldsMD = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oUserFields)
oUserFieldsMD.TableName = "MCHAR"
oUserFieldsMD.Name = "REMARK"
oUserFieldsMD.Description = "REMARK"
oUserFieldsMD.Type = SAPbobsCOM.BoFieldTypes.db_Memo
oUserFieldsMD.SubType = SAPbobsCOM.BoFldSubTypes.st_None
'oUserFieldsMD.Size = 15
'oUserFieldsMD.EditSize = 15
Try
i = oUserFieldsMD.Add()
SBO_Application.StatusBar.SetText("Field : " & oUserFieldsMD.Name, SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Success)
Catch ex As Exception
End Try
System.Runtime.InteropServices.Marshal.ReleaseComObject(oUserFieldsMD)
oUserFieldsMD = Nothing
oUserFieldsMD = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oUserFields)
oUserFieldsMD.TableName = "MCHAR"
oUserFieldsMD.Name = "UpdateBY"
oUserFieldsMD.Description = "UpdateBY"
oUserFieldsMD.Type = SAPbobsCOM.BoFieldTypes.db_Alpha
oUserFieldsMD.SubType = SAPbobsCOM.BoFldSubTypes.st_None
oUserFieldsMD.Size = 15
oUserFieldsMD.EditSize = 15
Try
i = oUserFieldsMD.Add()
SBO_Application.StatusBar.SetText("Field : " & oUserFieldsMD.Name, SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Success)
Catch ex As Exception
End Try
System.Runtime.InteropServices.Marshal.ReleaseComObject(oUserFieldsMD)
oUserFieldsMD = Nothing
oUserFieldsMD = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oUserFields)
oUserFieldsMD.TableName = "MCHAR"
oUserFieldsMD.Name = "GrpCode"
oUserFieldsMD.Description = "GrpCode"
oUserFieldsMD.Type = SAPbobsCOM.BoFieldTypes.db_Alpha
oUserFieldsMD.SubType = SAPbobsCOM.BoFldSubTypes.st_None
oUserFieldsMD.Size = 15
oUserFieldsMD.EditSize = 15
Try
i = oUserFieldsMD.Add()
SBO_Application.StatusBar.SetText("Field : " & oUserFieldsMD.Name, SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Success)
Catch ex As Exception
End Try
System.Runtime.InteropServices.Marshal.ReleaseComObject(oUserFieldsMD)
oUserFieldsMD = Nothing
oUserFieldsMD = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oUserFields)
oUserFieldsMD.TableName = "PDN1"
oUserFieldsMD.Name = "QA"
oUserFieldsMD.Description = "QA Status"
oUserFieldsMD.Type = SAPbobsCOM.BoFieldTypes.db_Alpha
oUserFieldsMD.SubType = SAPbobsCOM.BoFldSubTypes.st_None
oUserFieldsMD.ValidValues.Value = "D"
oUserFieldsMD.ValidValues.Description = "Done"
oUserFieldsMD.ValidValues.Add()
oUserFieldsMD.ValidValues.Value = "A"
oUserFieldsMD.ValidValues.Description = "Pending"
oUserFieldsMD.ValidValues.Add()
oUserFieldsMD.ValidValues.Value = "NA"
oUserFieldsMD.ValidValues.Description = "Not Applicable"
oUserFieldsMD.DefaultValue = "NA"
oUserFieldsMD.Size = 50
oUserFieldsMD.EditSize = 50
Try
i = oUserFieldsMD.Add()
SBO_Application.StatusBar.SetText("Field : " & oUserFieldsMD.Name, SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Success)
Catch ex As Exception
End Try
System.Runtime.InteropServices.Marshal.ReleaseComObject(oUserFieldsMD)
oUserFieldsMD = Nothing
oUserFieldsMD = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oUserFields)
oUserFieldsMD.TableName = "MCHAR1"
oUserFieldsMD.Name = "VldValue"
oUserFieldsMD.Description = "Valid Values"
oUserFieldsMD.Type = SAPbobsCOM.BoFieldTypes.db_Alpha
oUserFieldsMD.SubType = SAPbobsCOM.BoFldSubTypes.st_None
oUserFieldsMD.Size = 50
oUserFieldsMD.EditSize = 50
Try
i = oUserFieldsMD.Add()
SBO_Application.StatusBar.SetText("Field : " & oUserFieldsMD.Name, SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Success)
Catch ex As Exception
End Try
System.Runtime.InteropServices.Marshal.ReleaseComObject(oUserFieldsMD)
oUserFieldsMD = Nothing
GC.Collect()
Catch ex As Exception
SBO_Application.MessageBox(ex.Message)
End Try
End Sub
Edited by: kishor karanjkar on Sep 8, 2011 1:37 PM
Hi Kishor,
Try This.....
For adding fields to the user defined table
Try
ouserfield = ocompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oUserFields)
ouserfield.TableName = "@OEMP"
ouserfield.Name = "empid" 'Field Name
ouserfield.EditSize = "5"
ouserfield.Type = SAPbobsCOM.BoFieldTypes.db_Numeric
ouserfield.Description = "Employee id"
lretcode = ouserfield.Add
If lretcode <> 0 Then
ocompany.GetLastError(lerrcode, serrmsg)
sbo_application.MessageBox(serrmsg)
End If
System.Runtime.InteropServices.Marshal.ReleaseComObject(ouserfield)
ouserfield = ocompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oUserFields)
ouserfield.TableName = "@OEMP"
ouserfield.Name = "empnam"
ouserfield.Description = "Employee Name"
ouserfield.EditSize = 30
ouserfield.Type = SAPbobsCOM.BoFieldTypes.db_Alpha
lretcode = ouserfield.Add
If lretcode <> 0 Then
ocompany.GetLastError(lerrcode, serrmsg)
sbo_application.MessageBox(serrmsg)
End If
System.Runtime.InteropServices.Marshal.ReleaseComObject(ouserfield)
GC.Collect()
Catch ex As Exception
sbo_application.MessageBox(ex.Message)
End Try
Thanks
Shafi
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
100 | |
12 | |
11 | |
6 | |
6 | |
4 | |
3 | |
3 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.