POV..FIELD fieldname ??
Hi All,
I am using ABAP objects to display an internal table. Table consists of following field:
filename type localfile,
add type c,
delete type c.
I have added F4 button on the field 'Filename' using fieldcatalog field 'f4availabl'...On press of the F4 button, i want to call function module 'F4_FILENAME'.
My problem is: In the POV, FIELD <fieldname on the screen> MODULE F4_GET, What should be the fieldname of the screen, so that this statement works or every row in the table control?
Thanks & Regards,
Srinivas Rao
Hi,
Check these demo programs for F4:-
BCALV_F4
BCALV_GRID_F4_HELP_APPLICATION
BCALV_GRID_F4_HELPM01
BCALV_TEST_GRID_F4_HELP
Hope these helps you.
Regards,
Tarun
Similar Messages
-
Error AP-CANNOT READ FIELD (FIELDNAME=PARAMETER.CONFIG)
Hi,
We are running a depriciation report in our test instance which is on 12.0.6 Oracle Apps
While report executes we get this error:Error AP-CANNOT READ FIELD (FIELDNAME=PARAMETER.CONFIG)
Can u please highlight where the error lies.Hi;
Please see:
Error AP-CANNOT READ FIELD (FIELDNAME=PARAMETER.CONFIG) When Viewing the Concurrent Request Output [ID 466410.1]
Regard
Helios -
Change the Required Field " Fieldname value cannot not be null" error.
Does anyone know how to change the error message on a Table based form for a required field? By default it gives:
<Fieldname> value cannot be null
Do I need a field type validation?I got the screen working ok, now when I do a "Reset" on the screen I get a syntax error.
Line: 10
Char: 1
Error: Syntax error
Code: 0
URL: https://www.testmasterease.com/portal/pls/portal/PORTAL.wwa_app_module.show?sessionid=9073
The first 10 lines of HTML are:
<HTML dir=LTR>
<HEAD>
<TITLE>FORM NEW USER ADMIN REQUEST</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF" TEXT="#444444" LINK="#444455" VLINK="#554455" ALINK="#666644">
<SCRIPT TYPE="text/javascript">
<SCRIPT TYPE="text/javascript">
function show_context_help(h) {
newWindow = window.open(h,"Help", "menubar=1,toolbar=1,scrollbars=1,resizable=1,width=700, height=500");
</SCRIPT>
</SCRIPT>
I did not purposly put the show_context_help() in the form. Is there away to remove it? -
Hi All,
There is a selection screen in which i am entreing matnr and based on the matnr i have to provide F4 help.I am using a function module to show F4 help.I need the matnr entered on the screen as input the function module.The FM is in Process-on-value request module.How to get the matnr entered in the selection screen in POV module?
Thanks,
Rakesh.Hi,
Hi,
At POV event of module-pool place :-
Field <fieldname for F4 help> module <module name for Coding>.
At SE38:-
This is above module created at SE38 by double clicking on it.
Module <module name for Coding>_input.
data: begin of help_item occurs 0,
posnr type vbap-posnr,
matnr type vbap-matnr,
arktx type vbap-arktx,
end of help_item.
data: dynfields type table of dynpread with header line.
dynfields-fieldname = '<Screenfieldname ie p_matnr>'.
append dynfields.
call function 'DYNP_VALUES_READ'
exporting
dyname = sy-cprog
dynumb = sy-dynnr
translate_to_upper = 'X'
tables
dynpfields = dynfields.
read table dynfields with key fieldname = '<Screenfieldname ie p_matnr'>.
p_vbeln = dynfields-fieldvalue.
call function 'CONVERSION_EXIT_ALPHA_INPUT'
exporting
input = '<Screenfieldname ie matnr>'
importing
output = '<Screenfieldname ie matnr'>.
select matnr maktx into table help_item
from makt where matnr = 'Screenfieldname ie matnr'.
call function 'F4IF_INT_TABLE_VALUE_REQUEST'
exporting
retfield = '<Databasefieldname ie maktx>'
dynprofield = '<Screenfieldname ie p_matnr>'
dynpprog = sy-cprog
dynpnr = sy-dynnr
value_org = 'S'
tables
value_tab = help_item.
Regards,
Vijay Mekala -
Populating marketing attribute of bp in new field created by eew in crm
Hi all,
I have created new field in transaction types(lead opp, quotation and order) through eew.
how do i populate a value of a marketing attribute that i have maintained for a business partner(TABLE for marketing attribute:- AUSP) in the new fields created in all the transaction types.
Can anyone help me in how to achieve this as it is an high priority issue for me?
I have tried doing by writing a code in pbo of the screen in which fields are created but it gives me a dump at item level if item is maintained otherwise it works but item is compulsary.
Regards,
RahulHi Rahul,
Check the BADI 'CRM_CUSTOMER_H_BADI'
Implement the method 'CRM_CUSTOMER_H_MERGE'
First of all select the data from the table.
Fill in the appropriate corresponding field in the structure 'CS_CUSTOMER_H_BADI',of the method, with the data extacted. Finally(very important), In the table 'IT_INPUT_FIELD_NAMES', of the method, append a line with the field FIELDNAME containing the name of the field in the Customer_h structure and field CHANGEABLE containing space.
I think this should solve your problem. -
Only key fields of table-cluster in where-condition for better performance?
Hi,
Say my cluster table is having following key fields: KEY1, KEY2, KEY3, KEY4.
And, my table-cluster is having following key fields: KEY1, KEY2, PAGENO .. [PAGENO is always there in a table-cluster].
Now, I have two versions of my (Open SQL) SELECT-WHERE clause:
a) SELECT *
WHERE KEY1 EQ LV_KEY1
AND KEY2 EQ LV_KEY2
AND KEY3 EQ LV_KEY3.
b) SELECT *
WHERE KEY1 EQ LV_KEY1
AND KEY2 EQ LV_KEY2.
Please guide me whether version (a) or version (b) will be executed faster? In case of version (b), I will have to filter data using ABAP code corresponding to KEY3.
Regards,
Kamlesh Dhera H. R.I think most experienced ABAPrs would tell you to try both, compare runtimes, and use the one that's more efficient. SAP provides "get run time field <fieldname of type i>. Get run time at start, get run time at end, and subtract start from end to get the time in microseconds (1 second / 1,000,000 ).
Run several times to minimize effect of buffering and system load activity, and you'll see which method produces lower run time. -
Acces to data of every field in a table using a loop
Hello:
I have the next code:
// Calling remote function
proxy.Z_Hrpfpa00105("XX", "45", out sts, ref tIVAEmp);
foreach (ZHRRESNOM row in tIVAEmp)
{ Console.WriteLine("{0} ", row.Desc2, row.Betrg, ); }
Assuming that tIVAEmp has 100 fields I need to build some loops during Console.WriteLine process, so I asked for your help for one part of the solution:
// Getting the field names and lengths of an RFC Table
Type structureType = tIVAEmp.GetElementType();
SAPField[] fields = SAPStructure.GetSAPFieldsSchema(structureType);
// Verifying
foreach (SAPField row in fields)
Console.WriteLine(" - ", row.FieldName, row.FieldLength);
It worked, but now I can´t find the connection between SAPField and the content of every RFC Table field for every record, my mind is in blank and a I need help how can I do in C# something similar to:
foreach (ZHRRESNOM row in tIVAEmp)
+// The next is pseudo-code
for every field F in fields
{ stri += contents of row, column F }
Console.WriteLine(, stri);+</i></i>
Thanks againE.g
proxy.Z_Hrpfpa00105("XX", "45", out sts, ref tIVAEmp);
Type structureType = tIVAEmp.GetElementType();
SAPField[] fields = SAPStructure.GetSAPFieldsSchema(structureType);
foreach (ZHRRESNOM row in tIVAEmp)
foreach (SAPField field in fields)
Console.WriteLine("{0}: {1}", field .FieldName, row[field.FieldName]);
Accessing fields by name may be a little bit slow. Alternatively you can access it by index, which is faster:
for (int i=0; i<fields.Length; i++)
Console.WriteLine("{0}: {1}", fields<i>.FieldName, row<i>); -
GUI_DOWNLOAD - fieldnames does not exist
Hi All,
I have managed to sort out the format of my question, so I have closed the other post and started a fresh
I am wondering if you can help in anyway, I am trying to create a datafile and dump it to a PC, so far I use the cl_gui_frontend_services=>file_save_dialog to allow the user to specify the file location and this does indeed create the file, what I really need are column heading added to the file.
I have search around and it seems that I have to pass FIELDNAMES to cl_gui_frontend_services=>gui_download.
I have created the headers and insterted the field FIELDNAMES but get an error saying :
Formal Parameter FIELDNAMES does not exist.
Also I really need the fieldnames to be created by myself as a couple of the column types are the same and that would confuse the users.
Here is the code I use.
TYPES: BEGIN OF t_fieldnames_structure, " Structure for table of internal fieldnames
col_text(10) TYPE c,
END OF t_fieldnames_structure.
DATA: lw_filename TYPE string, " For file_save_dialog to store the filename
lw_path TYPE string, " For file_save_dialog to store the filepath
lw_fullpath TYPE string, " For file_save_dialog to store the full path
lw_save_result TYPE i, " For file_save_dialog to store the user input, cancel, save.....
li_fieldnames TYPE TABLE OF t_fieldnames_structure, " Internal table for the fieldnames
lwa_fieldnames LIKE LINE OF li_fieldnames. " Work area for the fieldnames internal table
lwa_fieldnames-col_text = 'MATNR'.
APPEND lwa_fieldnames TO li_fieldnames.
" Display the file save dialog
cl_gui_frontend_services=>file_save_dialog(
EXPORTING
window_title = 'Data unload'
default_extension = 'TXT'
default_file_name = 'GLD-datadump'
initial_directory = 'c:\temp\'
CHANGING
filename = lw_filename
path = lw_path
fullpath = lw_fullpath
user_action = lw_save_result
IF sy-subrc <> 0.
ENDIF.
IF lw_save_result = 0.
" User wants the data to be saved
" Write the file to the desired destination
cl_gui_frontend_services=>gui_download(
EXPORTING
filename = lw_filename
filetype = 'DAT'
write_field_separator = 'X'
CHANGING
data_tab = i_simulation_structure
fieldnames = li_fieldnames
EXCEPTIONS
file_write_error = 1
others = 24
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDIF. " User wants the data to be saved
If you have any ideas how I can achieve this it would be great.
Thanking you in advance
IanHi,
i would first download the header then the data with append.
here a short example:
TYPES: BEGIN OF TY_HEAD,
MATNR(18),
MTART(04),
END OF TY_HEAD.
TYPES: BEGIN OF TY_MARA,
MATNR LIKE MARA-MATNR,
MTART LIKE MARA-MTART,
END OF TY_MARA.
DATA: IT_MARA TYPE TABLE OF TY_MARA.
DATA: IT_HEAD TYPE TABLE OF TY_HEAD.
DATA: WA_HEAD TYPE TY_HEAD.
WA_HEAD-MATNR = 'Material'.
WA_HEAD-MTART = 'Mart'.
APPEND WA_HEAD TO IT_HEAD.
SELECT * FROM MARA INTO CORRESPONDING FIELDS OF TABLE IT_MARA UP TO 10 ROWS.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>GUI_DOWNLOAD
EXPORTING
FILENAME = 'C:MATNR.TXT
FILETYPE = 'ASC'
WRITE_FIELD_SEPARATOR = 'X'
CHANGING
DATA_TAB = IT_HEAD[].
CALL METHOD CL_GUI_FRONTEND_SERVICES=>GUI_DOWNLOAD
EXPORTING
FILENAME = 'C:MATNR.TXT
FILETYPE = 'ASC'
APPEND = 'X'
WRITE_FIELD_SEPARATOR = 'X'
CHANGING
DATA_TAB = IT_MARA[].
regards, Dieter
Sorry Rajvansh,
i have just see, that you post the idea before.
Regards, Dieter
Edited by: Dieter Gröhn on Jun 7, 2011 11:39 AM -
Set cursor on error field in selection screen
Hi ALL,
How to place the cursor on a particular selection screen field?I am doing validation if validation fails for a particular field the program should give error mesg and the cursor should place on the error field only but it's going to the Ist field on the selection can somebody tell me how do this? I tried with set cursor field <fieldname) but not working I am doing validations on at-selection screen.
Thanks&Regard
maheshHi chandrasekhar find my code below
this code i am writing under at selection-screen.
*& Form Z_VALIDATE_TVKOV
FORM z_validate_tvkov .
DATA: i_vtweg LIKE vbak-vtweg.
IF NOT s_vtweg-low IS INITIAL.
SELECT SINGLE vtweg FROM tvkov INTO i_vtweg
WHERE vtweg = s_vtweg-low.
IF sy-subrc <> 0.
set cursor FIELD 'S_VTWEG-LOW'.
MESSAGE e000(z_sd) WITH text-052.
ENDIF.
ENDIF.
IF NOT s_vtweg-high IS INITIAL.
SELECT SINGLE vtweg FROM tvkov INTO i_vtweg
WHERE vtweg = s_vtweg-high.
IF sy-subrc <> 0.
MESSAGE e000(z_sd) WITH text-052.
ENDIF.
ENDIF.
ENDFORM. " Z_VALIDATE_TVKOV -
Can we selectively flatten form fields in a PDF file?
I have a PDF with some form fields in it. I want to selectively flatten a few form fields in the PDF using a java API. I have checked the documentation and found a method transformPDF in the OutputServiceService. But this method flattens all the form fields in the PDF document.
Can we selectively flatten form fields in a PDF file? If yes how?
This was possible in Adobe Document Server V6.
Regards,
RaghaYou will need an event in the form that will indicate that you want the flattening done. Once you determine what that is it is simply a single statement for each field:
fieldname.access = "readOnly";
Now when the form is rendered, the user will not be able to get access to these fields. -
Can't remove a user defined field with DI API.
Hi,
I'm using the code below to remove a user field. However, the first time I run it, I get the message that:
"Ref count for this object is higher then 0"
The second time I run it, I get the message that:
"No matching records found (ODBC -2028)"
As you can see, I am killing the UserFieldsMD object. In fact, when the function is entered, the object is nothing but later instantiated with oCompany.
The result in both cases is that the field doesn't get removed. What am I missing? Any ideas?
Thanks,
Mike
Public Function RemoveUserField(ByVal FieldName As String, ByVal TableName As String, ByRef ErrMsg As String) As Boolean
Dim Result As Boolean = False
Dim Err As Integer
Dim oUserFieldsMD As SAPbobsCOM.UserFieldsMD
Try
If Not FieldExists(TableName, FieldName) Then
Result = True
Else
oUserFieldsMD = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oUserFields)
With oUserFieldsMD
.TableName = TableName
.Name = FieldName
Err = .Remove
If Err Then
oUtilCompany.GetLastError(Err, ErrMsg)
If ErrMsg = "No matching records found (ODBC -2028)" Then
Result = True
Else
ErrMsg = "Was not able to remove field " & FieldName & " from table " & TableName & " programmatically." & vbCrLf & _
"Please remove it manually using the Tools menu."
End If
Else
Result = True
End If
End With
End If
Catch ex As Exception
Throw ex
Finally
KillObject(oUserFieldsMD)
End Try
Return Result
End Function
Public Sub KillObject(ByRef Obj As Object)
If Not Obj Is Nothing Then ObjectRelease(Obj)
End Sub
Private Sub ObjectRelease(ByRef Obj As Object)
'This routine releases objects that were acquired with oCompany.GetBusinessObject().
System.Runtime.InteropServices.Marshal.ReleaseComObject(Obj)
Obj = Nothing
GC.Collect()
End SubHi Mike,
The issue with your code is that you are not calling the GetByKey method of the field object. Until you do this the FieldID property is 0 so when the Remove method is called it will not try and remove the correct UDF (if you run SQL profiler then you'll see that SBO is looking for the UDF based on the table and fieldID values).
Something like the following works for me:
private void DeleteUDF(string sTableID, string sFieldName)
SAPbobsCOM.UserFieldsMD sboField = (SAPbobsCOM.UserFieldsMD)_sboCompany.GetBusinessObject(BoObjectTypes.oUserFields);
try
int iFieldID = GetFieldID(sTableID, sFieldName);
if(sboField.GetByKey(sTableID, iFieldID))
if (sboField.Remove() != 0)_sboApp.SetStatusBarMessage("Error removing UDF: " + _sboCompany.GetLastErrorDescription(), SAPbouiCOM.BoMessageTime.bmt_Short, true);
finally
System.Runtime.InteropServices.Marshal.ReleaseComObject(sboField);
sboField = null;
GC.Collect();
private int GetFieldID(string sTableID, string sAliasID)
int iRetVal = 0;
SAPbobsCOM.Recordset sboRec = (SAPbobsCOM.Recordset)_sboCompany.GetBusinessObject(BoObjectTypes.BoRecordset);
try
sboRec.DoQuery("select FieldID from CUFD where TableID = '" + sTableID + "' and AliasID = '" + sAliasID + "'");
if (!sboRec.EoF) iRetVal = Convert.ToInt32(sboRec.Fields.Item("FieldID").Value.ToString());
finally
System.Runtime.InteropServices.Marshal.ReleaseComObject(sboRec);
sboRec = null;
GC.Collect();
return iRetVal;
Note that the parameter sAliasID is the field name without the U_ prefix.
Kind Regards,
Owen -
How to use ADD_METADEF to add a custom metadata field
Hi All,
I am trying to add a custom metadata field to check in profile, and this I want to do using RIDC library through my java program. I have tried the following code, but some how I could not see its getting added to Information Fields and also to Standard check in profile.
Can you let me know what am I missing?
myIdcClient = myIdcClientManager.createClient("idc://XXXX:4444"); // just commented out
IdcContext myIdcContext = new IdcContext("weblogic", "weblogic1");
ServiceResponse myServiceResponse = null;
DataBinder myRequestDataBinder = myIdcClient.createBinder();
myRequestDataBinder.putLocal("IdcService", "UPDATE_OPTION_LIST");
myRequestDataBinder.putLocal("dKey", "xLocationList123");
myRequestDataBinder.putLocal("OptionListString", "Madrid\nTokyo\nLondon\nWashington");
myServiceResponse = myIdcClient.sendRequest(myIdcContext, myRequestDataBinder);
myRequestDataBinder = myIdcClient.createBinder();
myRequestDataBinder.putLocal("IdcService", "ADD_METADEF");
myRequestDataBinder.putLocal("dName", "xLocations123123");
myRequestDataBinder.putLocal("dIsRequired", "0");
myRequestDataBinder.putLocal("dOptionListKey", "xLocationList123");
myRequestDataBinder.putLocal("dOptionListType", "choice");
myRequestDataBinder.putLocal("dIsOptionList", "1");
myRequestDataBinder.putLocal("dIsSearchable", "1");
myRequestDataBinder.putLocal("dIsEnabled", "1");
myRequestDataBinder.putLocal("dType", "Text");
myRequestDataBinder.putLocal("FieldName", "xLocations123123");
myRequestDataBinder.putLocal("dCaption", "Locations");
myServiceResponse = myIdcClient.sendRequest(myIdcContext, myRequestDataBinder);
myRequestDataBinder = myIdcClient.createBinder();
//IdcService=UPDATE_META_TABLE
myRequestDataBinder = myIdcClient.createBinder();
myRequestDataBinder.putLocal("IdcService", "UPDATE_META_TABLE");
myServiceResponse = myIdcClient.sendRequest(myIdcContext, myRequestDataBinder);
myRequestDataBinder = myIdcClient.createBinder();
myRequestDataBinder.putLocal("IdcService", "START_SEARCH_INDEX");
myRequestDataBinder.putLocal("IsRebuild", "1");
myServiceResponse = myIdcClient.sendRequest(myIdcContext, myRequestDataBinder);
myRequestDataBinder = myIdcClient.createBinder();
myRequestDataBinder.putLocal("IdcService", "PUBLISH_SCHEMA");
myServiceResponse = myIdcClient.sendRequest(myIdcContext, myRequestDataBinder);
Thanks in advance.Try calling the following code:
import static intradoc.shared.MetaFieldUtils.hasDocMetaDef;
import static intradoc.shared.MetaFieldUtils.updateMetaDataFromProps;
import intradoc.common.ServiceException;
import intradoc.data.DataBinder;
import intradoc.data.DataException;
import intradoc.data.Workspace;
protected static void addMetadataFields(final Workspace workspace, final DataBinder binder) {
traceVerbose("Start addMetadataFields");
// Parameters for metadata field
final String[] parameters = new String[] { "dsdComponentName", "dComponentName", "dsdVersion", "dType", "dIsRequired", "dIsEnabled", "dIsSearchable", "dIsOptionList", "dOptionListKey", "dOptionListType", "dDefaultValue", "dOrder", "dIsPlaceholderField", "dsdCheckFlag",
"dsdDisableOnUninstall" };
// Common values for primary and alternate field values
final String[] values = new String[] { "ComponentName", ComponentName, "build_1_20131206", "BigText", "0", "1", "1", "0", "", "", "", "2500", "0", "", "" };
// Primary file checksum field parameters and values
final Properties field = new Properties();
for (int i = 0; i < parameters.length; i++) {
field.put(parameters[i], values[i]);
// Setup primary file specific parameters
field.put("dName", "Metadata field name");
field.put("dCaption", "Metadata field caption");
try {
// Name of metadata field
final String fieldName = field.getProperty("dName");
trace("dName: " + fieldName);
if (fieldName != null && fieldName.length() > 0 && !hasDocMetaDef(fieldName)) {
try {
updateMetaDataFromProps(workspace, null, field, fieldName, true);
trace("Successfully added metadata field " + fieldName);
} catch (final ServiceException e) {
warn("Metadata field " + fieldName + " was not installed.", e);
} catch (final DataException e) {
warn("Metadata field " + fieldName + " was not installed.", e);
} else {
trace("Metadata field already exists; will not modify");
} finally {
traceVerbose("End addMetadataFields");
Jonathan
http://jonathanhult.com -
How to keep f4 help for a particular field in module pool problem-urgent
hi all,
i am displaying output using alv list display. here i am showing my pf status here. in this status i have one button called position. when i click this button it is showing pop up inside this pop up i am showing appln
for this i need keep f4 help. anybody can tell me how to keep f4 help fo this field.
thanks,
maheedhar.tHi Maheedhar,
You need to use function module POPUP_GET_VALUES.
If you want see sampl eprogram for this check the program RSSPO410.
Execute this program and input Example2 = X in the selection screen.
Code from the above Program:
DATA: BEGIN OF FIELDS OCCURS 1.
INCLUDE STRUCTURE SVAL.
DATA: END OF FIELDS,
RETURNCODE(1) TYPE C,
POPUP_TITLE(30) TYPE C.
POPUP_TITLE = 'Nachrichten anzeigen'(200).
CLEAR FIELDS.
FIELDS-TABNAME = 'T100'.
FIELDS-FIELDNAME = 'ARBGB'.
FIELDS-FIELDTEXT = 'Arbeitsgebiet'(202). "Text nicht aus DTEL
APPEND FIELDS.
CALL FUNCTION 'POPUP_GET_VALUES'
EXPORTING POPUP_TITLE = POPUP_TITLE
IMPORTING RETURNCODE = RETURNCODE
TABLES FIELDS = FIELDS.
IF RETURNCODE = 'A'.
If Cancel is clicked
ELSE.
If OK is clicked.
Table FIELDS congtains the input data.
ENDIF.
Thank you
Ramakrishna -
Hi,
I created a user table and one of the fields is to hold a path. I created this field as a link type field expecting that, when I double click it, I will see the browse control that will facilitate selecting a file. However, when I use a grid I can see the hand but double-clicking it doesnu2019t cause the browse control to appear. Is it that the link doesnu2019t function in a grid? Do I need to use a matrix instead of a grid?
Thanks,
MikeHi,
I created the matrix and did the data binding but now the link field doesn't work at all. The hand doesn't appear for the field and double-clicks are ignored. Is there something else I need to do? should the tdalr represent if a UDO>?
Code:
oForm.DataSources.DBDataSources.Add("@NBS_TABLE")
mxColumn.DataBind.SetBound(True, "@NBS_TABLE", "U_Field")
The function that sets up the field - it is good - it is a common function we all use here and it works in system table matrices.
Public Shared Function CreateLinkTypeField(ByVal TableName As String, _
ByVal FieldName As String, ByVal Description As String, _
Optional ByVal CharCount As Integer = 254, _
Optional ByVal Required As Boolean = False) As Boolean
Log("Create field " & FieldName & " in table " & TableName & ".")
If FieldExists(TableName, FieldName) Then
Log("Field already exists.")
Return True
End If
Dim oUserTablesMD As SAPbobsCOM.UserTablesMD
Dim oUserFieldsMD As SAPbobsCOM.UserFieldsMD
Dim oUserObjectMD As SAPbobsCOM.UserObjectsMD
Dim oItemGroupMD As SAPbobsCOM.ItemGroups
Dim lRetCode As Long
Dim lErrCode As Long = 0
Dim sErrMsg As String = ""
oUserFieldsMD = oUtilCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oUserFields)
With oUserFieldsMD
.TableName = TableName
.Name = FieldName
.Description = Description
.Type = SAPbobsCOM.BoFieldTypes.db_Memo
.SubType = SAPbobsCOM.BoFldSubTypes.st_Link
.EditSize = CharCount
If Required Then .Mandatory = SAPbobsCOM.BoYesNoEnum.tYES
lRetCode = .Add
End With
If lRetCode <> 0 Then
oUtilCompany.GetLastError(lErrCode, sErrMsg)
If lErrCode = -2035 Then
'// Column already exists to just don't do anything
ElseIf lErrCode = -2004 Then
oUtilApplication.MessageBox(TableName & ": " & sErrMsg)
Return False
Else
oUtilApplication.MessageBox(FieldName & ": " & sErrMsg)
Return False
End If
End If
KillObject(oUserFieldsMD)
Return True
End Function
Any ideas?
Thanks,
Mike
Edited by: Mike Angelastro on Nov 17, 2009 11:01 PM -
Retrieve the fields name of a table
HI,
I need to write a loop to get the name of each fields in a table. I nedd something like
for each field.fieldname do something
thanks,
Mandanaselect * from yourtable where 1 = 2
The resulting columnlist will give you all the field names.
Maybe you are looking for
-
HP Pavilion g7 can't find or re-install HP Support Assistant & HP Solution Center
After a week or so ago, I discovered my printer could no longer scan. Made several (& I mean several) attempts at following the instructions to install the full driver for my HP Photosmart C7180 printer. I then ordered the full drive CD for Window 7
-
Carrier sign still showing after wiping and reloading OS?
Hello dear users, In my thread of "application installation issues", it seems to be determined that my carrier who I got the phone from, is blocking the install of applications as I get a 910 error, application authorization failure, when i try to in
-
Please help locate imported contacts
new iMac: OS X 10.8.2 I am trying to help someone locate their contacts- which were imported (not by me) from a NON Apple computer when they click on "Address Book" now, it is empty I tried Applications / Contacts and same result please advise-- than
-
Having trouble with custom web auth page on 4404
Hi all I am having trouble with a custom web auth page on my controller, we have edited the original file, but when we click login it goes to page cannot be displayed and it doesnt redirect to the page I want, however when I close the window and reop
-
How can i deletean apple account forever
can we delete or block an apple id forever ? as i did create 2 id's for my ipad. can i delete 1 from them?