Unable to delete Flat Table Field in Products (Main) Table..!!
Hi Friends,
I have created a flat table and assigned it to the main table as a field. Later i added data and also removed. Now , when i am trying to delete that field in the main table then i am getting the below error
"<i><b>The field cannont be deleted until references to in the Family Tree are removed</b></i>"
I checked in the Families, i havent found any entry. I am new to the MDM.. I am unable to find the solution.
Thanks,
Raags
I am able to solve problem. In the datamanager i found that the partition is done on this field. i removed it from family mode.
thanks,
raags
Similar Messages
-
How to map lookup main table field in another main table using MDM 7.1?
We created a new SAP MDM 7.1 repository with multiple main tables. The first main table is called ProductMaster table which contains Products information. The ProductCode is the primary key and the only display field for the table during data loading process. The second main table is ProductByRegion table which has a main table lookup field ProductCode and a RegionId field. These two fields (ProductCode and RegionId) combine as the PK for this main table. Both main tables have key mapping enabled.
I was able to load ProductMaster table using Import Manager. But Iu2019m having trouble to load data into ProductByRegion table using MDM Import Manager. Although I have met all the 5 requirements below (excerpted from MDM Import Manager Reference Guide P.222), the ProductCode wonu2019t show up on the destination value pane. If I mapped all productCode to NULL field, ProductCode wonu2019t load. If I u2018Addu2019 all ProductCode to Destination Value pane, the Import Manager added duplicated rows to Product Master table while only loading 1 record to ProductByRegion table. I canu2019t get ProductCode show up in Matching Destination Field list. When I checked ProductMaster records in MDM Data Manager, I right-clicked on one of records, chose Edit Key Mappings, it didnu2019t show anything. However, if I right-clicked on one of those duplicated rows, Edit Key Mapping shows remote system and key correctly.
Where did I do wrong? How can I fix the problem?
Thank you for help in advance.
From: SAP MDM Import Manager Reference Guide:
Mapping to Main Table Lookup Destination Fields
Import Manager handles main table lookup fields (Lookup [Main])
differently than other MDM lookup fields. Specifically, Import Manager
does not display the complete set of display field values of the records
of the underlying lookup table. Instead, the values it displays for a main
table lookup field are limited by both the key mappings for the lookup
table and the values in the source file.
Also, Import Manager does not automatically display the values of a
Lookup [Main] destination field in the Destination Values grid when you
select the field in the Destination Fields grid. Instead, for a main table
lookup field value to appear in the Destination Values grid, all of the
following conditions must be met:
u2022 The lookup table must have key mapping enabled
u2022 The lookup field must be mapped to a source field
u2022 The source field must contain key values for the lookup table
u2022 The destination value must have a key on the current remote system
u2022 The destination valueu2019s key must match a source field value
NOTE ►► The current remote system is the remote system that was
selected in Import Manageru2019s Connect to Source dialog (see
u201CConnecting to a Remote Systemu201D on page 416 for more information).
VickyHi Michael,
Thank you very much for your response. I'm new to SAP MDM, I need some clarification and help regarding your solution.
I did use two maps to load ProductMaster and ProductByRegion separately. Here were my steps:
1. create main table ProductMaster with key mapping enabled at the table level and set ProductCode as unique and writable once (primary key).
2. create a map to load ProductMaster record from a staging table located an oracle database. But Key mapping didn't show anything when I looked at them using Data Manager.
3. create main table ProductByRegion with a lookup field looking at ProductMaster table. This field and RegionId combines as a unique field for ProductByRegion table.
4. create a map to load ProductByRegion table. But ProductCode records only shows on the source pane not destination pane and can't be mapped properly.
My questions:
1. How can I "Ensure that you add key mapping info for all ProductMaster records" besides enabling Key Mapping on the table level?
2. How can I define a concatenation of ProductCode and RegionId as a REMOTE KEY"?
Thanks a lot for your help!
Vicky -
Error while inserting value Qualified field in the main table
Hello,
I am trying to populate Qualified field in the main table when a new record is inserted in the Products Repository.
The field is Reference Price and its a qualified lookup field. I am using the below code to create qualified lookup value and create qualified link values.
QualifiedLookupValue qlvRefPrice = new QualifiedLookupValue();
TableId qltabid = repSchema.getTableId("ReferencePrices");
FieldId qlfieldid = repSchema.getFieldId("ReferencePrices","RP_ReferncePrices");
RecordId rdRefPrice = getRecordId(connPool,session,"RP",qlfieldid,qltabid);
HashMap map = new HashMap();
map.put(repSchema.getFieldId("ReferencePrices","StartDate_ReferencePrice"),new DateTimeValue(cal));
map.put(repSchema.getFieldId("ReferencePrices","EndDate_ReferencePrice"),new DateTimeValue(cal));
map.put(repSchema.getFieldId("ReferencePrices","ListPrice"),new FloatValue(Float.parseFloat("123.3")));
map.put(repSchema.getFieldId("ReferencePrices","Currency"),new LookupValue(getLookupRecordId(connPool,session,"Currencies","Currency_Currencies","EUR")));
QualifiedLinkValue qlvLinkValue = MdmValueFactory.createQualifiedLinkValue(rdRefPrice,map);
qlvRefPrice.addValue(qlvLinkValue);
emptyRecord.setFieldValue(fieldIdRefPriceHistory,qlvRefPrice);
However when the createrecord command is executed I get the following error.
java.lang.RuntimeException: No matching validation Id 97. at com.sap.mdm.internal.validation.ValidationInfoHelper.retrieveValidations(ValidationInfoHelper.java:71) at com.sap.mdm.data.commands.CreateRecordCommand.execute(CreateRecordCommand.java:246) at com.alcatel_lucent.productdetail.ProductItemDetail_Comp.createProduct(ProductItemDetail_Comp.java:2927) at com.alcatel_lucent.productdetail.wdp.InternalProductItemDetail_Comp.createProduct(InternalProductItemDetail_Comp.java:656) at com.alcatel_lucent.productdetail.ProductItemAddView.onActionSave(ProductItemAddView.java:971) at com.alcatel_lucent.productdetail.wdp.InternalProductItemAddView.wdInvokeEventHandler(InternalProductItemAddView.java:662) at com.sap.tc.webdynpro.progmodel.generation.DelegatingView.invokeEventHandler(DelegatingView.java:87) at com.sap.tc.webdynpro.progmodel.controller.Action.fire(Action.java:67) at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.doHandleActionEvent(WindowPhaseModel.java:420) at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processRequest(WindowPhaseModel.java:132) at com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.processRequest(WebDynproWindow.java:335) at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:143) at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:332) at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingPortal(ClientSession.java:761) at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:696) at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:253) at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:149) at com.sap.tc.webdynpro.clientserver.session.core.ApplicationHandle.doProcessing(ApplicationHandle.java:73) at com.sap.tc.webdynpro.portal.pb.impl.AbstractApplicationProxy.sendDataAndProcessActionInternal(AbstractApplicationProxy.java:869) at com.sap.tc.webdynpro.portal.pb.impl.localwd.LocalApplicationProxy.sendDataAndProcessAction(LocalApplicationProxy.java:77) at com.sap.portal.pb.PageBuilder.updateApplications(PageBuilder.java:1356) at com.sap.portal.pb.PageBuilder.SendDataAndProcessAction(PageBuilder.java:327) at com.sap.portal.pb.PageBuilder$1.doPhase(PageBuilder.java:869) at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processPhaseListener(WindowPhaseModel.java:755) at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.doPortalDispatch(WindowPhaseModel.java:717) at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processRequest(WindowPhaseModel.java:136) at com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.processRequest(WebDynproWindow.java:335) at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:143) at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:332) at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingStandalone(ClientSession.java:741) at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:694) at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:253) at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:149) at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:62) at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doPost(DispatcherServlet.java:53) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401) at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266) at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:386) at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:364) at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:1039) at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:265) at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95) at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175) at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33) at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(AccessController.java:219) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:104) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:176)
I spoke to my MDM team and they say there is no validation which they have put for Reference Price field. I have tried inserting values in another field of type qualified lookup in the same main table and that works without any issue.
The code is as below:
QualifiedLookupValue qlvRating = new QualifiedLookupValue();
TableId qlvtable = repSchema.getTableId("ProductRatings");
FieldId qlvratinglink = repSchema.getFieldId("ProductRatings","RatingLink");
RecordId rdidPR = getRecordId(connPool,session,"CI",qlvratinglink,qlvtable);
wdComponentAPI.getMessageManager().reportSuccess("rdidPR "+rdidPR);
HashMap mapPR = new HashMap();
mapPR.put(repSchema.getFieldId("ProductRatings","AvailRating"),new LookupValue(getLookupRecordId(connPool,session,"AvailabilityRatings","AvailabilityRating_AvailabilityRatings","CI")));
mapPR.put(repSchema.getFieldId("ProductRatings","EffectiveDate"),new DateTimeValue(cal));
mapPR.put(repSchema.getFieldId("ProductRatings","FERAIndic"),new LookupValue(getLookupRecordId(connPool,session,"ReplacementIndicators","Code","FE")));
mapPR.put(repSchema.getFieldId("ProductRatings","FERAOrdItem"),new LookupValue(getLookupRecordId(connPool,session,"ReplProducts","ProdID","100008200")));
QualifiedLinkValue qlvLink = MdmValueFactory.createQualifiedLinkValue(rdidPR,mapPR);
qlvRating.addValue(qlvLink);
emptyRecord.setFieldValue(fieldIdRatingHistory,qlvRating);
I would really appreciate if someone can help in solving the issue.
Thanks in advance,
AamodHi Aamod,
Sees that some validation/assignments are getting triggered as soon as you make changes to the record in MDM. Please check once after removing validations/workflow that you may have. This way you may debug the issue.
Hope this helps!!
Cheers,
Arafat -
Automatic assignment of hierarchy field in the main table
Hi,
We are upgrading from SRM-MDM catalog 2.0 to SRM-MDM catalog 3.0 sp07 patch 10.
In the main table, we have the standard field Hierarchy, that is a lookup on table Hierarchy.
In order to value this field, we have a specific field in the Main table, the UNSPSC code, that is a lookup on a specific reference table. This reference table makes the link between UNSPSC codes and nodes of the Hierarchy table.
After importing a new record that contains the UNSPSC code, we want to automatically assign a value to the hierarchy field in the Main table by the assignment's expression "[main table]UNSPSC code. [specific table]name of hierarchy. [Hierarchy table]name of hierarchy".
When executing this assignment, we get the error "Assignment operation failed: A runtime error occurred while evaluating an assignment, validation or calculated field".
Do you know if this kind of assignment is possible (it worked in MDM 5.5 but not anymore in 7.1) ? Or if there is a workaround ?
Thanks for your kind help.
CatherineHi Mandeep,
Thanks for your answer.
But, I do not want to assign a specific value to the Hierarchy field in the Main table. I want to determine it via a specific table.
Here is a sample of our data model to try to explain :
Main table :
item reference [Display field]
hierarchy --- lookup on Hierarchy table
UNSPSC code --- lookup on Specific reference table
Hierarchy table :
hierarchy name [Display field]
hierarchy code
Specific reference table, type flat :
UNSPSC code [Display field]
hierarchy name --- lookup on Hierarchy table
After import, in the Main table, item reference and UNSPSC code are valued.
In order to value the hierarchy field in the Main table, we would like to use the specific reference table :
[Main table]UNSPSC code >>> [Specific reference table]hierarchy name >>> [Hierarchy]hierarchy name.
This assignment works if the assignment field is a plain text field but not if it is the Hierarchy field of the Main table, which is on lookup on the Hierarchy table.
Thanks for your help !
Best regards,
Catherine -
Unable to read field value from main table - unexpected socket read error
Hi Friends,
While executing the below code, I am able to get the value of the field 'id' but i am unable to get the value for the 'materialnumber' field. i am getting the below exception
+com.sap.mdm.commands.CommandException: com.sap.mdm.internal.protocol.manual.ProtocolException: java.io.IOException: Unexpected socket read. Result is -1.
at com.sap.mdm.data.commands.AbstractRetrieveLimitedRecordsCommand.execute(AbstractRetrieveLimitedRecordsCommand.java:158)
at com.sap.mdm.data.commands.RetrieveLimitedRecordsCommand.execute(RetrieveLimitedRecordsCommand.java:157)
at updaterecords.main(updaterecords.java:126)
Caused by: com.sap.mdm.internal.protocol.manual.ProtocolException: java.io.IOException: Unexpected socket read. Result is -1.
at com.sap.mdm.internal.protocol.manual.AbstractProtocolCommand.execute(AbstractProtocolCommand.java:100)
at com.sap.mdm.data.commands.AbstractRetrieveLimitedRecordsCommand.execute(AbstractRetrieveLimitedRecordsCommand.java:146)
... 2 more
Caused by: java.io.IOException: Unexpected socket read. Result is -1.
at com.sap.mdm.internal.net.DataSocket.receiveData(DataSocket.java:59)
at com.sap.mdm.internal.net.ConnectionImpl.readInt(ConnectionImpl.java:417)
at com.sap.mdm.internal.net.ConnectionImpl.nextMessage(ConnectionImpl.java:501)
at com.sap.mdm.internal.net.ConnectionImpl.receiveMessage(ConnectionImpl.java:472)
at com.sap.mdm.internal.net.ConnectionImpl.send(ConnectionImpl.java:209)
at com.sap.mdm.internal.net.ReservedConnection.send(ReservedConnection.java:105)
at com.sap.mdm.internal.protocol.manual.AbstractProtocolCommand.execute(AbstractProtocolCommand.java:97)
... 3 more+
import com.sap.mdm.commands.AuthenticateUserSessionCommand;
import com.sap.mdm.commands.CommandException;
import com.sap.mdm.commands.CreateUserSessionCommand;
import com.sap.mdm.commands.DestroySessionCommand;
import com.sap.mdm.commands.GetRepositoryRegionListCommand;
import com.sap.mdm.data.Record;
import com.sap.mdm.data.RegionProperties;
import com.sap.mdm.data.ResultDefinition;
import com.sap.mdm.data.commands.RetrieveLimitedRecordsCommand;
import com.sap.mdm.ids.TableId;
import com.sap.mdm.net.ConnectionException;
import com.sap.mdm.net.ConnectionPool;
import com.sap.mdm.net.ConnectionPoolFactory;
import com.sap.mdm.schema.FieldProperties;
import com.sap.mdm.schema.RepositorySchema;
import com.sap.mdm.schema.commands.GetFieldListCommand;
import com.sap.mdm.schema.commands.GetRepositorySchemaCommand;
import com.sap.mdm.search.Search;
import com.sap.mdm.server.DBMSType;
import com.sap.mdm.server.RepositoryIdentifier;
public class updaterecords {
public static void main(String[] args) {
try {
String serverName = "159.112.6.26";
ConnectionPool connections = null;
try {
connections = ConnectionPoolFactory.getInstance(serverName);
} catch (ConnectionException e) {
e.printStackTrace();
return;
// specify the repository to use
// alternatively, a repository identifier can be obtain from the GetMountedRepositoryListCommand
String repositoryName = "DEMO";
String dbmsName = "MDMD";
RepositoryIdentifier reposId = new RepositoryIdentifier(repositoryName, dbmsName, DBMSType.ORACLE);
// get list of available regions for the repository
GetRepositoryRegionListCommand regionListCommand = new GetRepositoryRegionListCommand(connections);
regionListCommand.setRepositoryIdentifier(reposId);
try {
regionListCommand.execute();
} catch (CommandException e) {
e.printStackTrace();
return;
RegionProperties[] regions = regionListCommand.getRegions();
// create a user session
CreateUserSessionCommand sessionCommand = new CreateUserSessionCommand(connections);
sessionCommand.setRepositoryIdentifier(reposId);
sessionCommand.setDataRegion(regions[0]); // use the first region
try {
sessionCommand.execute();
} catch (CommandException e) {
e.printStackTrace();
return;
String sessionId = sessionCommand.getUserSession();
// authenticate the user session
String userName = "meter1";
String userPassword = "meter1";
AuthenticateUserSessionCommand authCommand = new AuthenticateUserSessionCommand(connections);
authCommand.setSession(sessionId);
authCommand.setUserName(userName);
authCommand.setUserPassword(userPassword);
try {
authCommand.execute();
} catch (CommandException e) {
e.printStackTrace();
return;
GetRepositorySchemaCommand cmd=new GetRepositorySchemaCommand(connections);
cmd.setSession(sessionId);
try{
cmd.execute();
}catch(CommandException e){
System.out.println(e.getLocalizedMessage());
RepositorySchema repsch=cmd.getRepositorySchema();
// the main table, hard-coded
TableId mainTableId = new TableId(1);
// specify the result definition (what to retrieve); in this example, nothing
ResultDefinition rd = new ResultDefinition(mainTableId);
// select all records
Search search = new com.sap.mdm.search.Search(mainTableId);
//get fields
GetFieldListCommand getFieldListCommand = new GetFieldListCommand(connections);
getFieldListCommand.setSession(sessionCommand.getUserSession());
getFieldListCommand.setTableId(mainTableId);
try {
getFieldListCommand.execute();
} catch (CommandException e) {
System.out.println(e);
FieldProperties[] lookupFields = getFieldListCommand.getFields();
// add fields to records to retrieve
rd.addSelectField(repsch.getFieldId("Products","Id"));
rd.addSelectField(repsch.getFieldId("Products","MaterialNumber"));
// retrieve the records
RetrieveLimitedRecordsCommand limitingCommand = new RetrieveLimitedRecordsCommand(connections);
limitingCommand.setSession(sessionId);
limitingCommand.setResultDefinition(rd);
limitingCommand.setSearch(search);
//limitingCommand.setPageSize(2000);
try {
limitingCommand.execute();
} catch (CommandException e) {
e.printStackTrace();
return;
System.out.println("Record count is " + limitingCommand.getRecords().getCount()+"\n");
Record[] records=limitingCommand.getRecords().getRecords();
System.out.println(records[0].getFieldValue(repsch.getFieldId("Products","Id"))+ " \n");
System.out.println(records[0].getFieldValue(repsch.getFieldId("Products","MaterialNumber"))+ " \n");
// finally destroy the session
DestroySessionCommand destroySessionCommand = new DestroySessionCommand(connections);
destroySessionCommand.setSession(sessionId);
try {
destroySessionCommand.execute();
} catch (CommandException e) {
e.printStackTrace();
return;
} catch (Exception e) {
System.out.println(e.getLocalizedMessage());
e.printStackTrace();
Kindly let me know where i am going wrong. MaterialNumber field is a TEXT not a lookup table field. Above fields are from the main table.
Thanks,
RaagsHi Friends,
I got the solution. It was the error because of not having a the below statement.
limitingCommand.setPageSize(1);
As i havent used that statement, it was trying to get 1000 records, and i dont know exactly what makes this to get that error. Anyhow., As i want to use for updation, i cn live with one record.
Thanks,
Raags -
Table Fields of Product Analysis
Hi All,
I'm working on Product Analysis report for Inspection Lot.
Unable to find the tables and fields for inspection parameters:
1.Valid till date field
2.weight
3.FFA
4.BCAR
5.DOBI
Thank You,Hi Sridhar,
Quality Management Table Codes
Master Data
QMAT Inspection type - material parameters
QMHU QM Link Between Inspection Lot and Handling Unit Item
QMTB Inspection method master record
QMTT Inspection Method Texts
QPAC Inspection catalog codes for selected sets
QPAM Inspection catalog selected sets
QPMK Inspection characteristic master
QPMT Master Inspection Characteristics Texts
QPMZ Assignment table - insp. methods/master insp. characteristic
TQ01D Authorization groups for QM master data
TQ01E Text authorization groups for QM master data
TQ21 Assignment of screens to screen groups
TQ25 QM:screen sequence for master and inspection characteristics
Catalogue
QPCD Inspection catalog codes
QPCT Code texts
QPGR Inspection catalog code groups
QPGT Code group texts
TQ07 Follow-Up Action for Usage Decision of Inspection Lot
TQ07A QM: Function Modules for Follow-Up Action
TQ07T Language-dependent texts for Table TQ07
TQ15 Inspection catalog type index
TQ15T Language-dependent texts for table TQ15
TQ17 Defect classes
TQ17T Language-dependent texts for table TQ17
Sample Determination
QDEB Allowed. Relationships: Sampling Procedures/Dynamic Mod. Rules
QDEBT Allowed combinations of procedures/dynamic mod. rules: texts
QDPA Sampling scheme-instructions
QDPK Sampling scheme header
QDPKT Sampling scheme: texts
QDPP Sampling scheme item
QDQL Quality level
Hope this list will help you.
cheers
Suvi -
How to delete a key field in a Transparent table
Hi,
I have created a Transparent table Zemployee in which there are 4 fields ( id, name, job, hiredate). I intend to make primary key consists of 2 fields (id, name) but by mistake I have included job field as well.
Now I want to change job field from a key field to non-key field, I use SE11 to display the maintainance of the Zemployee table, unmarked the key label column on job field then I save and activate the table but the system fail to activate the Zemployee table.
So now, what shoul I do to solve this problem ?
Thanks,Hi,
I have tried again and it work well ( use SE14 as you talk). and now I make job field become key-field again and use se11 to change it to non-key field and it work well too. So I think the problem maybe at the network or somethings else.
Thanks and regards, -
Choose From List Condition on Detail table field rather than Master table
Dear All,
I have a master detail udo having udts @master @detail
I need to filter my cfl object on bases of field in @detail table.
Can you tell how do I do this.Try
Dim oCFLs As SAPbouiCOM.ChooseFromListCollection
Dim oCons As SAPbouiCOM.Conditions
Dim oCon As SAPbouiCOM.Condition
oform = sbo_app.Forms.Item("formuid")
oCFLs = oform.ChooseFromLists
Dim oCFL As SAPbouiCOM.ChooseFromList
Dim oCFLCreationParams As SAPbouiCOM.ChooseFromListCreationParams
oCFLCreationParams = sbo_app.CreateObject(SAPbouiCOM.BoCreatableObjectType.cot_ChooseFromListCreationParams)
' Adding 2 CFL, one for the button and one for the edit text.
oCFLCreationParams.MultiSelection = False
oCFLCreationParams.ObjectType = "yourobjectname"
oCFLCreationParams.UniqueID = "CFL1"
oCFL = oCFLs.Add(oCFLCreationParams)
' Adding Conditions to CFL1
oCons = oCFL.GetConditions()
oCon = oCons.Add()
'here which field u want to filter
oCon.Alias = "CardType"
'here condition
oCon.Operation = SAPbouiCOM.BoConditionOperation.co_EQUAL
oCon.CondVal = "C"
oCFL.SetConditions(oCons)
' oCFLCreationParams.UniqueID = "CFL2"
'oCFL = oCFLs.Add(oCFLCreationParams)
Catch
MsgBox(Err.Description)
End Try -
Can't get table field from two different tables if named same
select c.notes, o.notes
from cusomters c, orders o
:does not work in getting the RS.
:if i change database to:
select c.customer_notes, o.order_notes
from cusomters c, orders o
:then it works.
:i make PURE DYNAMIC META SQL database
applicaitons, and i need for abstract SQL tables.
i have the same problem in getting
the max values:
select
max(height),
max(weight),
max(age)
from person_stats
group by geographical_areaWhen you select from 2 different tables you need to join them on some condition, otherwise it has no idea how to associate the 2 tables together.
try select c.notes, o.notes from cusomters c, orders o where c.customer_id = o.customer.id or whatever the join fields are.
For the group by I believe you have to include the field that you group by:
select geopraphical_area, max(height), max(weight), max(age) from person_stats group by geographical_area
give them a try
Jamie -
Unable to access the data and table fields from handheld
Hi,
I've created a Testing.sdf file on the local pc using SQL Server Management Studio, creating table, fields and insert some data. in local pc i can access the the data as normal. the problem is after i moved the file to handheld device i
cannot access the data within the table, it shown error 'Failed to retrieve data for this request. (Microsoft.SqlServer.SmoEnum)' . I tried to google it, but still got no solution.
Thanks,'Name Space
Imports System.Data.SqlServerCe
'String Connection
'Data Source = D:\SKUDWN3 .sdf'
Public Sub CreateDB(ByVal StrConn As String)
'Declaration
Dim cn As SqlCeConnection = Nothing
Dim cm As SqlCeCommand = Nothing
Dim SQLEngine As SqlCeEngine = Nothing
Dim rs As SqlCeResultSet = Nothing
Dim rec As SqlServerCe.SqlCeUpdatableRecord = Nothing
'Tables -
Const TB_SKUDWN3 As String = "SKUDWN3"
'Fields TB_SKUDWN3
Const FL_SKUDWN3_UPC As String = "UPC"
Const FL_SKUDWN3_SKU As String = "SKU"
Const FL_SKUDWN3_LD As String = "LD"
Const FL_SKUDWN3_SD As String = "SD"
Const FL_SKUDWN3_AN As String = "AN"
Const FL_SKUDWN3_Price As String = "Price"
Const FL_SKUDWN3_GST_FLAG As String = "GSTFLAG"
'Create Database
SQLEngine = New SqlCeEngine(StrConn)
SQLEngine.CreateDatabase()
SQLEngine.Dispose()
'Open Connection
If IsNothing(cn) Then cn = New SqlCeConnection(StrConn)
If cn.State = Data.ConnectionState.Closed Then cn.Open()
cm = cn.CreateCommand
'Create Table, Fields
cm.CommandText = "CREATE TABLE " & TB_SKUDWN3 & " (" & FL_SKUDWN3_UPC & " NVARCHAR (13)," & _
" " & FL_SKUDWN3_SKU & " NVARCHAR (9), " & FL_SKUDWN3_LD & " NVARCHAR(30)," & _
" " & FL_SKUDWN3_SD & " NVARCHAR (18), " & FL_SKUDWN3_AN & " NVARCHAR(15), " & _
" " & FL_SKUDWN3_Price & " NVARCHAR (10), " & FL_SKUDWN3_GST_FLAG & " BIT)"
cm.ExecuteNonQuery()
'Close Connection
cm = Nothing
If Not IsNothing(cn) Then
If cn.State = ConnectionState.Open Then cn.Close()
cn.Close()
cn.Dispose()
End If
End Sub
'The DB was successfully created, but after moving to Handheld the fields of table can't be accessed -
Deleting AET custom field from the SAP tableu2019s level.
Hi experts,
I am deleting few un-used custom fields in AET. I am able to see delete symbol as status in AET. Although deleted custom fields are present in lot of structure and tables (eg: CRMD_ORDERADM_H) in SAP GUI tables. I want to delete the custom field from SAP GUI tables and structures.
I tried to delete custom field from the SAP GUI tableu2019s level. But it is not allowing.
Please get me some clue on deleting custom field from the SAP GUI tableu2019s level.
Thanks in advance
ChandHi,
The deletion of custom field in AET happens in two steps:
1. You select a custom field that you want to delete, than you press on the delete icon in the Custom Field Assignment Block.
Doing this, you mark the selected custom field to be deleted.
2. You press on "Save and Generate" button. The "Save" will persist the deletion mark of the custom field. It means the custom field is marked to be deleted in the database. The "Generate" will process all the deletion of objects which are needed to delete the custom field, for example: Domain, Data Element, Append, etc.
If the "Generate" does not happen due any reason, the deletion mark is already persisted in DB. It means, later on if you go back to AET, you will see that the custom field is marked to be deleted, but it is not yet deleted.
If you do not press "Save and Generate" button at all, it means, you do not persist the deletion mark in DB. Later on if you go back to AET, you won't see that the custom field marked to be deleted.
Note: Please make sure, "Generation" is only applied for field that is flagged to be generated. The "Generate" flag column is by default hidden. You can use personlization to show the column.
Regards,
Steve -
Display many fields of a lookup table in the main table
Hello Experts,
In MDM, I have a "Suppliers" table which is a lookup table. This table has 4 fields :
- Supplier Name (Display Field)
- Supplier Code
- Email
- Phone number
In the main table, a field "Supplier" uses the "Suppliers" lookup table. This fields displays the "Supplier Name" of the "Suppliers" lookup table.
Now I also want to display the "Email" and the "Phone Number" of the supplier. If I set these fields as Display Fields in the "Suppliers" lookup table, they appear concatenated in the main table, which I don't want.
The only way I found to display those fields is to set 2 new fields in the main table as calculated fields, eg: IF(TRUE, Supplier.Email).
Is there any way to display those fields w/o using calculated fields?
Thanks for your helpHi Christian,
Thanks for your help. Actually I am working on the SRM part of MDM, so I do not use portal to display data but the SRM-MDM UI on which I can not manage iViews.
The need is to have, for each Material displayed, the name and the contact data of the Supplier. If I concatenate those data the display is not very clear for the user. Eg:
Supplier data: TOTO, contact_at_toto.com, 1234567890
I would rather have :
Supplier: TOTO
EMail: contact_at_toto.com
Phone Number: 1234567890
As you said, the non automatic update of calculated fields is an issue in my case. So I am currently looking at assignments, which seems to be schedulable via a workflow but I don't know if it's a good mean?
Best regards,
Patrick -
Can we Sum the Values in the Qualified table Fields??
Hi All,
I have a requirement where..Each material has multiple UOM's, So designed it as Qualified Table.
UOM is a Qualified table.
UOM Type is NON Qualifier.
Weight Qualifier - Integer field
Length Qualifier - Integer Field
Now in main table there is a field called Net Weight.
I need to write a validation which checks Whether Sum of ''Weight'' in Qualfied table is Equal to ''Net Weight'' for that record.
So if there are 5 UOM for 1 material, then the validation should check whetehr the Sum of all 5 Weights in QT is equal to ''Net Weight'' Field in Main table!!!
Did anyone faced a similar issue, If yes How did you solve it!!
Please Help!!
KR
JohnHi John,
Try this:-
Net Weight = SUM(UOM.Weight)
Here SUM is the standard function thats u need to select from list of functions.
Please let us know if it works..
Thanks,
Mahi -
How to add F4 help for the custom field of a custom table
Hi All,
How to add F4 help to the custom table field? in the table maintainance when user clicks on F4 i want to provide possible values for this field I am trying to write the code in the screen of table maintainace like the following
PROCESS ON VALUE-REQUEST.
FIELD ZTEST_MAH_F4-KUNNR MODULE zVALUE_kunnr .
But when i am double clicking on module it's giving options to create include program but after that it's giving user is currently editing the table i am not getting this can some body clarify my doubt it's gr8 if some body give some examp code
Thanks&Regards
maheshHi,
Create a subroutine under the event and call the following FM
1. Select all the related data into an itab, for ex i_kunnr
2. CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
DDIC_STRUCTURE = ' '
retfield = 'KUNNR'
PVALKEY = ' '
dynpprog = sy-repid
dynpnr = '1000'
dynprofield = <selection screen field>
STEPL = 0
WINDOW_TITLE =
VALUE = ' '
value_org = 'S'
MULTIPLE_CHOICE = ' '
DISPLAY = ' '
CALLBACK_PROGRAM = ' '
CALLBACK_FORM = ' '
MARK_TAB =
IMPORTING
USER_RESET =
TABLES
value_tab = <b>i_kunnr</b>
FIELD_TAB =
return_tab = < return table >
DYNPFLD_MAPPING =
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3 -
Why is there no standard search help for table-field T056U-VZSKZ?
Hi Experts,
A blessed day.
Table-Field T056U-VZSKZ (Control table for calculation of interest on arrears-Interest calculation indicator or account number) is being used to provide the entries for a screen-field of a standard transaction for Account Determination: Posting Specifications. However, this table-field T056U-VZSKZ does not have a standard search-help. I've looked for an OSS for this, but wasn't able to find one. Is there a reason why this T056U-VZSKZ does not have the standard search help when VZSKZ is it's key field?
Thanks.
Regards,
ianneHi Marco,
When you attach the search help make sure you also attach the export parameter of the search help to the name column. That is in the tab 'Further characteristics' we have to pass two value. The search help name should be typed in place of 'Parameters' and the export parameter of the search help should be typed in the place of 'Name'.
Please try this and post back the updations.
Thanking you,
Jerry
Maybe you are looking for
-
Steps to UTF-8 Encoding with Oracle 8i and Weblogic 6.1SP1
What are the Steps to UTF-8 Encoding with Oracle 8i and Weblogic 6.1SP1? I have: - Oracle 8.1.5 database created with character set=UTF8 and national character set=UTF8 - Weblogic 6.1SP1 without any e
-
Creating a View at Database level to be used in an another application
Posted - 01/20/2012 : 11:43:27 I have a table Named Customer_Distribution in which we store all the recepient information based on a request submitted by the customer. Maximum number of recepients for a request is 3.So if a customer submits a request
-
Using JavaScript to access Database
Hi all, I am using JSP and Tomcat for my web application. Now i need to use Javascript to access the MS Access database. Can anyone please tell me the class and command for accessing database from javascript. Please give me an example and that will h
-
How to GET data from external secure website?
We are trying to get data from a secure website. It is something like I try to get my bank statement online, where I have a user id and password to the secure website and try to get the data from XI. Does anybody have any idea how we could do it? Wha
-
Hello All. i noticed there are a lot of questions on Firmware Updating. Well, some of you in range of a Carphone Warehouse might finds it's worth checking their website to see if their store is listed as an express repair point. I'm due to zip down t