Hiding relationship cat. in BP transaction
Hi,
I have a requirement to hide one of the relationship categories, while creating a BP as "Prospect".
Anyone having any idea how to do it?
I checked in config, there is no option to hide a relationship category.
Did you check tcode buba....(the last option)
also could you elaborate for which rles you want the relationship category???
Similar Messages
-
How to get the Relationships data from Opportunity Transaction in CRM
Hi Friends,
Could you please let me know the table / class to fetch the relationships data associated with a single(main) opportunity.
There may be several object types like (activites, sub-opp's..etc) linked to a single main(source) opportunity.
I wanted the these fields information from Relationships tab From Opp transaction.
Source Item No.
Object Type
Target Trans/Object
Description
Type of Linkage
Could you please let me know.
Regards
VijayHi Vijay,
Can you try function module CRM_DOC_FLOW_READ_DB?
By giving opportunity GUID it will return associated information.
Kind regards,
Garcia -
Hi all,
Actually, I am working with the Business Partner(BP) transaction. I have loaded some of the contact data using the LSMW. Now I need to create relationship between the customer contacts and the main customer masters.. There is a RELATIONSHIP TAB in the BP transaction which creates the relationship between the partners.... I did created some of the relations manually, but I have to do it for a large amount of data.... Can anyone give me a idea as to how will I be going forward, is there any method that I need to follow or do I need to write any program.... ??
If at all, I need to write a program, is it possible to give me a sample code????
I will really appreciate your answers in the form of points.
Thanks,
-Warren....Hi Warren,
1) Upload the so called large amount of data (Typically residing in a file) into Internal table.
2) Record the steps done in the Business partner transaction using SHDB transaction and generate a BDC program out of the transaction.
3) Change the logic of the population of the BDC table using the data in the internal tables.
3) Call the transaction using the statement
call transaction using <BDC_INternal_Table>.
In Short, what we are trying here is simulating the manual entry of data into the transaction using a BDC Program.
Program skeleton
g_file hold the file name and path.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = g_file
TABLES
data_tab = i_dataf
EXCEPTIONS
file_open_error = 1
file_read_error = 2
no_batch = 3
gui_refuse_filetransfer = 4
invalid_type = 5
no_authority = 6
unknown_error = 7
bad_data_format = 8
header_not_allowed = 9
separator_not_allowed = 10
header_too_long = 11
unknown_dp_error = 12
access_denied = 13
dp_out_of_memory = 14
disk_full = 15
dp_timeout = 16
OTHERS = 17
IF sy-subrc <> 0.
write: / Text-032.
stop.
ENDIF.
loop at i_dataf.
*bulid the bdc table
perform bdc_dynpro using <screen Program Name> <Screen number>.
perform bdc_field using <Field name> <Value>.
call transaction <TRansaction Name> using t_bdcdata
mode 'N'
update 'S'
messages into t_messages.
endloop.
form bdc_dynpro using p_program
p_dynpro.
t_bdcdata-program = p_program.
t_bdcdata-dynpro = p_dynpro.
t_bdcdata-dynbegin = 'X'.
append t_bdcdata.
clear t_bdcdata.
endform. " bdc_dynpro
*& Form bdc_field
text
form bdc_field using p_fnam
p_fval.
t_bdcdata-fnam = p_fnam.
t_bdcdata-fval = p_fval.
append t_bdcdata.
clear t_bdcdata.
endform. " bdc_field
Regards,
Ravi
Message was edited by: Ravi Kanth Talagana -
How to create new relationships in the BP transaction
Hi ,
I am very much newto CRM.I have got one requirment to create the relationships in BP transaction.
After entering the BP transaction ,I have to select the Organisation in the FIND field then i need to select the BP number.After displaying the BP number i need to select display in BP role As 'Client'.Then in the indentification Tab i will get the value for inustry sector.I need to focus my cursor on industry sector the i will press relationships button.
In relationship button i will get 4 tabs 1) Overview2)Has employee3)Has Managing Partner relationships4)Has senior relationship partner.
Here in the relationship i need to add 3 more tabs with 1)sector leader2)sector manager3)cluster leader.
So how i need to add new relationship tab eaither i need to do this with config or with program i need to handle.Please suggest me.
Thanks.To create new relationship types goto transaction BUBA. There you can easily create your new 3 types with minimum customazing effort.
Regards. -
Hiding fields in standard SAP Transactions
Hi All,
We have a requirement to hide some fields in ME51n, ME21n, ME31k,ME11,MIGO,ML81n,MIRO
I know we have screen layout at doc level through which we can make the fields as optional, display and mandatory.
Please let me know the standard way to hide som of the not required fields in these transactions.
Thanks,
VijayPart of answer is in your question
For ME51N,ME21N,ME31K,ME11,MIGO configure document level screen settings
ML81N & MIRO using SHD0 transaction hide required fields.
Refer this article [Creating Transaction and Screen Variants|http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/a070bfbb-d34a-2d10-b092-ecbe0b0d4a4c]
Edited by: Jeyakanthan A on Oct 26, 2010 10:54 PM -
Hiding the save button in transactions
Hi all,
Can anyone please tell me how I can hide the post button button in transactions FB60, FB65, FV60, FV65, FB70, FB75, FV70 & FV75.
My client would want all transactions to be parked and authorised via workflow.
Thanks for your help in advanceOnce you're in transaction SHD0, you should get to a point where there is a pop up box titled "Confirm Screen Entries". Select Basic Data and then click the button for Menu Functions. Open the Menu Bar and then Document. You will see the SAVE command in here. Click once on the SAVE and then select the Deactivate button next to the green checkmark. That line will turn yellow, select the green checkmark or hit the enter key to return to the "Confirm Screen Entries" pop up box. If this is the only change you would like to make, you can select the Exit and Save button. Don't forget to Activate it as your Standard Variant.
I hope this helps! -
FM for BP transaction for Relationship details from buffer
Hi,
Pls provide me FM to access the relationship details of the transaction BP to access from buffer.
thanks,Hi Shantha,
You can use FM BUPA_RELATIONSHIPS_READ, to read it from buffer.
Kind regards,
Garcia -
How to change validity for relationship contact person - BUR001
Hi group,
I need to be able to change the from and to date from the relationship category BUR001 (Contact Person). The system automatically sets the FROM as 01.01.0001 and the TO as 31.12.9999.
I assumed the customizing for this is done in the relationship category settings in transaction BUBA. Setting its value to 2 or 4 should do the trick and does the trick for any other relationship category, but NOT for the contact person category. Of course I need to be able to change this one and not other types
I am sure this problem has been encountered before. Please provide me with suggestions. Again: BUBA settings do not solve my problem for specifically this relationship category.
Thanks in advance! Useful answers will be rewarded.
Kind regards,
KZHi there,
We can creat a relationship category of contact person with validity period.then use this relationship category while you assign the contact person to the main Business partner. -
Transaction Context Propagation
Can transaction context be propagated from one WebLogic Server to another? If yes, what is then the relationship between the two Transaction Managers in each server?
Zhenxin,
Transaction can be propagated between multiple instances of the server.
In releases 5.1 and below, all databse access in this case was delegated to 1 jdbc connection in 1 pool on 1 server, and the database transaction manager was used.
In 6.0 and above, the transaction is co-ordinated by the TM in one instance of the server, which calls on the remote instances during the pre-commit and commit phases.
I believe that currently the 1st server to be invoked in the transaction is the one who gets the commit responsibility, but this is an implementation detail that may
change in future.
I hope that helps.
Regards,
Peter.
Got a Question? Ask BEA at http://askbea.bea.com
The views expressed in this posting are solely those of the author, and BEA
Systems, Inc. does not endorse any of these views.
BEA Systems, Inc. is not responsible for the accuracy or completeness of the
information provided
and assumes no duty to correct, expand upon, delete or update any of the
information contained in this posting.
Zhenxin Wang wrote:
> Can transaction context be propagated from one WebLogic Server to another? If yes, what is then the relationship between the two Transaction Managers in each server?
-
Please help: deploy Bean with "No resource available" error for M:N relationship
Hi all,
I wonder any one comes across with deploying beans with M:N relationship with
"No resource available".
I defined the relationship in ejb-jar.xml and dbms in the
weblogic-cmp-rdbms-jar.xml, but when I deployed the beans I got
the following error
------ Error message-----
weblogic.common.ResourceException: No resources available at weblogic.common.internal.ResourceAllocator.reserve(ResourceAllocator.
java:568) at weblogic.common.internal.ResourceAllocator.reserve(ResourceAllocator.
java:400) at weblogic.common.internal.ResourceAllocator.reserveNoWait(ResourceAllo
cator.java:368) at weblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.j
ava:166) at weblogic.jdbc.common.internal.ConnectionPool.reserveNoWait(Connection
Pool.java:127) at weblogic.jdbc.common.internal.RmiDataSource.getPoolConnection(RmiData
Source.java:194) at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSour
ce.java:219) at weblogic.ejb20.cmp.rdbms.RDBMSPersistenceManager.getConnection(RDBMSP
ersistenceManager.java:317) at weblogic.ejb20.cmp.rdbms.RDBMSPersistenceManager.createDefaultDBMSTab
le(RDBMSPersistenceManager.java:1149) at weblogic.ejb20.utils.TableVerifier.verifyTableExistsAndCreateMaybe(Ta
bleVerifier.java:428) at weblogic.ejb20.cmp.rdbms.RDBMSPersistenceManager.verifyTablesExist(RD
Unable to deploy EJB: CustomerBean from \ejb:
Errors encountered ''The Container-Managed Persistence Entity EJB failed while
creating its SQL Type Map. The error was: Invalid object name 'localcustomer_localsubscription'.
Severity 16, State 1, Procedure 'IVM_SERVER null', Line 1', 'Error encountered
while attempting to create Default DBMS Table: 'localcustomer_localsubscription'.
Error Text: 'weblogic.common.ResourceException: No resource s available'.''
---------------End error ----------------------
---------------my ejb-jar.xml
<ejb-jar>
- <enterprise-beans>
- <entity>
<ejb-name>AddressBean</ejb-name>
<local-home>customer.LocalAddressHome</local-home>
<local>customer.LocalAddress</local>
<ejb-class>customer.AddressBean</ejb-class>
<persistence-type>Container</persistence-type>
<prim-key-class>java.lang.String</prim-key-class>
<reentrant>False</reentrant>
- <cmp-field>
<field-name>addressID</field-name>
</cmp-field>
- <cmp-field>
<field-name>street</field-name>
</cmp-field>
- <cmp-field>
<field-name>city</field-name>
</cmp-field>
- <cmp-field>
<field-name>zip</field-name>
</cmp-field>
- <cmp-field>
<field-name>state</field-name>
</cmp-field>
<primkey-field>addressID</primkey-field>
</entity>
- <entity>
<ejb-name>CustomerBean</ejb-name>
<local-home>customer.LocalCustomerHome</local-home>
<local>customer.LocalCustomer</local>
<ejb-class>customer.CustomerBean</ejb-class>
<persistence-type>Container</persistence-type>
<prim-key-class>java.lang.String</prim-key-class>
<reentrant>False</reentrant>
<abstract-schema-name>CustomerBean</abstract-schema-name>
- <cmp-field>
<field-name>customerID</field-name>
</cmp-field>
- <cmp-field>
<field-name>firstName</field-name>
</cmp-field>
- <cmp-field>
<field-name>lastName</field-name>
</cmp-field>
<primkey-field>customerID</primkey-field>
- <query>
- <query-method>
<method-name>findByLastName</method-name>
- <method-params>
<method-param>java.lang.String</method-param>
</method-params>
</query-method>
- <ejb-ql>
- <![CDATA[ SELECT OBJECT(o) FROM CustomerBean AS o
]]>
</ejb-ql>
</query>
- <query>
- <query-method>
<method-name>findByFirstName</method-name>
- <method-params>
<method-param>java.lang.String</method-param>
</method-params>
</query-method>
- <ejb-ql>
- <![CDATA[ SELECT OBJECT(o) FROM CustomerBean AS o
]]>
</ejb-ql>
</query>
</entity>
- <entity>
<ejb-name>SubscriptionBean</ejb-name>
<local-home>customer.LocalSubscriptionHome</local-home>
<local>customer.LocalSubscription</local>
<ejb-class>customer.SubscriptionBean</ejb-class>
<persistence-type>Container</persistence-type>
<prim-key-class>java.lang.String</prim-key-class>
<reentrant>False</reentrant>
<abstract-schema-name>SubscriptionBean</abstract-schema-name>
- <cmp-field>
<field-name>type</field-name>
</cmp-field>
- <cmp-field>
<field-name>title</field-name>
</cmp-field>
<primkey-field>title</primkey-field>
- <query>
- <query-method>
<method-name>findAllSubscriptions</method-name>
<method-params />
</query-method>
- <ejb-ql>
- <![CDATA[ SELECT OBJECT(o) FROM SubscriptionBean AS o
]]>
</ejb-ql>
</query>
</entity>
</enterprise-beans>
- <relationships>
- <ejb-relation>
<ejb-relation-name>LocalCustomer-LocalAddress</ejb-relation-name>
- <ejb-relationship-role>
<ejb-relationship-role-name>LocalCustomer-Has-LocalAddresss</ejb-relationship-role-name>
<multiplicity>one</multiplicity>
- <relationship-role-source>
<ejb-name>CustomerBean</ejb-name>
</relationship-role-source>
- <cmr-field>
<cmr-field-name>addresses</cmr-field-name>
<cmr-field-type>java.util.Collection</cmr-field-type>
</cmr-field>
</ejb-relationship-role>
- <ejb-relationship-role>
<ejb-relationship-role-name>LocalAddress-Has-LocalCustomer</ejb-relationship-role-name>
<multiplicity>many</multiplicity>
- <relationship-role-source>
<ejb-name>AddressBean</ejb-name>
</relationship-role-source>
- <cmr-field>
<cmr-field-name>customer</cmr-field-name>
</cmr-field>
</ejb-relationship-role>
</ejb-relation>
- <ejb-relation>
<ejb-relation-name>LocalCustomer-LocalSubscription</ejb-relation-name>
- <ejb-relationship-role>
<ejb-relationship-role-name>LocalCustomers-Have-LocalSubscriptions</ejb-relationship-role-name>
<multiplicity>many</multiplicity>
- <relationship-role-source>
<ejb-name>CustomerBean</ejb-name>
</relationship-role-source>
- <cmr-field>
<cmr-field-name>subscriptions</cmr-field-name>
<cmr-field-type>java.util.Collection</cmr-field-type>
</cmr-field>
</ejb-relationship-role>
- <ejb-relationship-role>
<ejb-relationship-role-name>LocalSubscriptions-Have-LocalCustomers</ejb-relationship-role-name>
<multiplicity>many</multiplicity>
- <relationship-role-source>
<ejb-name>SubscriptionBean</ejb-name>
</relationship-role-source>
- <cmr-field>
<cmr-field-name>customers</cmr-field-name>
<cmr-field-type>java.util.Collection</cmr-field-type>
</cmr-field>
</ejb-relationship-role>
</ejb-relation>
</relationships>
- <assembly-descriptor>
- <container-transaction>
- <method>
<ejb-name>AddressBean</ejb-name>
<method-name>*</method-name>
</method>
<trans-attribute>Required</trans-attribute>
</container-transaction>
- <container-transaction>
- <method>
<ejb-name>CustomerBean</ejb-name>
<method-name>*</method-name>
</method>
<trans-attribute>Required</trans-attribute>
</container-transaction>
- <container-transaction>
- <method>
<ejb-name>SubscriptionBean</ejb-name>
<method-name>*</method-name>
</method>
<trans-attribute>Required</trans-attribute>
</container-transaction>
</assembly-descriptor>
</ejb-jar>
------------------End of ejb-jar.xml---------------
Please help
Thanks in advance
MikeHi Gaurav,
Other applications used the same the datasource, which I used for this application,
are running fine.
I think there is some bug in the wlserver 6.1 to create the join table. I think
it is the time I should ask the bea wlserver 6.1.
Mike
"Gaurav Khanna" <[email protected]> wrote:
This implies that there are no database connections available. You need
to
check if you can log into your database instance. By default there are
30
connections specified for an instance in Oracle. FYI.
"Mike" <[email protected]> wrote in message
news:[email protected]...
Hi all,
I wonder any one comes across with deploying beans with M:Nrelationship with
"No resource available".
I defined the relationship in ejb-jar.xml and dbms in the
weblogic-cmp-rdbms-jar.xml, but when I deployed the beans I got
the following error
------ Error message-----
weblogic.common.ResourceException: No resources available atweblogic.common.internal.ResourceAllocator.reserve(ResourceAllocator.
java:568) atweblogic.common.internal.ResourceAllocator.reserve(ResourceAllocator.
java:400) atweblogic.common.internal.ResourceAllocator.reserveNoWait(ResourceAllo
cator.java:368) atweblogic.jdbc.common.internal.ConnectionPool.reserve(ConnectionPool.j
ava:166) atweblogic.jdbc.common.internal.ConnectionPool.reserveNoWait(Connection
Pool.java:127) atweblogic.jdbc.common.internal.RmiDataSource.getPoolConnection(RmiData
Source.java:194) atweblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSour
ce.java:219) atweblogic.ejb20.cmp.rdbms.RDBMSPersistenceManager.getConnection(RDBMSP
ersistenceManager.java:317) atweblogic.ejb20.cmp.rdbms.RDBMSPersistenceManager.createDefaultDBMSTab
le(RDBMSPersistenceManager.java:1149) atweblogic.ejb20.utils.TableVerifier.verifyTableExistsAndCreateMaybe(Ta
bleVerifier.java:428) atweblogic.ejb20.cmp.rdbms.RDBMSPersistenceManager.verifyTablesExist(RD
Unable to deploy EJB: CustomerBean from \ejb:
Errors encountered ''The Container-Managed Persistence Entity EJB failedwhile
creating its SQL Type Map. The error was: Invalid object name'localcustomer_localsubscription'.
Severity 16, State 1, Procedure 'IVM_SERVER null', Line 1', 'Errorencountered
while attempting to create Default DBMS Table:'localcustomer_localsubscription'.
Error Text: 'weblogic.common.ResourceException: No resource savailable'.''
---------------End error ----------------------
---------------my ejb-jar.xml
<ejb-jar>
- <enterprise-beans>
- <entity>
<ejb-name>AddressBean</ejb-name>
<local-home>customer.LocalAddressHome</local-home>
<local>customer.LocalAddress</local>
<ejb-class>customer.AddressBean</ejb-class>
<persistence-type>Container</persistence-type>
<prim-key-class>java.lang.String</prim-key-class>
<reentrant>False</reentrant>
- <cmp-field>
<field-name>addressID</field-name>
</cmp-field>
- <cmp-field>
<field-name>street</field-name>
</cmp-field>
- <cmp-field>
<field-name>city</field-name>
</cmp-field>
- <cmp-field>
<field-name>zip</field-name>
</cmp-field>
- <cmp-field>
<field-name>state</field-name>
</cmp-field>
<primkey-field>addressID</primkey-field>
</entity>
- <entity>
<ejb-name>CustomerBean</ejb-name>
<local-home>customer.LocalCustomerHome</local-home>
<local>customer.LocalCustomer</local>
<ejb-class>customer.CustomerBean</ejb-class>
<persistence-type>Container</persistence-type>
<prim-key-class>java.lang.String</prim-key-class>
<reentrant>False</reentrant>
<abstract-schema-name>CustomerBean</abstract-schema-name>
- <cmp-field>
<field-name>customerID</field-name>
</cmp-field>
- <cmp-field>
<field-name>firstName</field-name>
</cmp-field>
- <cmp-field>
<field-name>lastName</field-name>
</cmp-field>
<primkey-field>customerID</primkey-field>
- <query>
- <query-method>
<method-name>findByLastName</method-name>
- <method-params>
<method-param>java.lang.String</method-param>
</method-params>
</query-method>
- <ejb-ql>
- <![CDATA[ SELECT OBJECT(o) FROM CustomerBean AS o
]]>
</ejb-ql>
</query>
- <query>
- <query-method>
<method-name>findByFirstName</method-name>
- <method-params>
<method-param>java.lang.String</method-param>
</method-params>
</query-method>
- <ejb-ql>
- <![CDATA[ SELECT OBJECT(o) FROM CustomerBean AS o
]]>
</ejb-ql>
</query>
</entity>
- <entity>
<ejb-name>SubscriptionBean</ejb-name>
<local-home>customer.LocalSubscriptionHome</local-home>
<local>customer.LocalSubscription</local>
<ejb-class>customer.SubscriptionBean</ejb-class>
<persistence-type>Container</persistence-type>
<prim-key-class>java.lang.String</prim-key-class>
<reentrant>False</reentrant>
<abstract-schema-name>SubscriptionBean</abstract-schema-name>
- <cmp-field>
<field-name>type</field-name>
</cmp-field>
- <cmp-field>
<field-name>title</field-name>
</cmp-field>
<primkey-field>title</primkey-field>
- <query>
- <query-method>
<method-name>findAllSubscriptions</method-name>
<method-params />
</query-method>
- <ejb-ql>
- <![CDATA[ SELECT OBJECT(o) FROM SubscriptionBean AS o
]]>
</ejb-ql>
</query>
</entity>
</enterprise-beans>
- <relationships>
- <ejb-relation>
<ejb-relation-name>LocalCustomer-LocalAddress</ejb-relation-name>
- <ejb-relationship-role>
<ejb-relationship-role-name>LocalCustomer-Has-LocalAddresss</ejb-relationshi
p-role-name>
<multiplicity>one</multiplicity>
- <relationship-role-source>
<ejb-name>CustomerBean</ejb-name>
</relationship-role-source>
- <cmr-field>
<cmr-field-name>addresses</cmr-field-name>
<cmr-field-type>java.util.Collection</cmr-field-type>
</cmr-field>
</ejb-relationship-role>
- <ejb-relationship-role>
<ejb-relationship-role-name>LocalAddress-Has-LocalCustomer</ejb-relationship
-role-name>
<multiplicity>many</multiplicity>
- <relationship-role-source>
<ejb-name>AddressBean</ejb-name>
</relationship-role-source>
- <cmr-field>
<cmr-field-name>customer</cmr-field-name>
</cmr-field>
</ejb-relationship-role>
</ejb-relation>
- <ejb-relation>
<ejb-relation-name>LocalCustomer-LocalSubscription</ejb-relation-name>
- <ejb-relationship-role>
<ejb-relationship-role-name>LocalCustomers-Have-LocalSubscriptions</ejb-rela
tionship-role-name>
<multiplicity>many</multiplicity>
- <relationship-role-source>
<ejb-name>CustomerBean</ejb-name>
</relationship-role-source>
- <cmr-field>
<cmr-field-name>subscriptions</cmr-field-name>
<cmr-field-type>java.util.Collection</cmr-field-type>
</cmr-field>
</ejb-relationship-role>
- <ejb-relationship-role>
<ejb-relationship-role-name>LocalSubscriptions-Have-LocalCustomers</ejb-rela
tionship-role-name>
<multiplicity>many</multiplicity>
- <relationship-role-source>
<ejb-name>SubscriptionBean</ejb-name>
</relationship-role-source>
- <cmr-field>
<cmr-field-name>customers</cmr-field-name>
<cmr-field-type>java.util.Collection</cmr-field-type>
</cmr-field>
</ejb-relationship-role>
</ejb-relation>
</relationships>
- <assembly-descriptor>
- <container-transaction>
- <method>
<ejb-name>AddressBean</ejb-name>
<method-name>*</method-name>
</method>
<trans-attribute>Required</trans-attribute>
</container-transaction>
- <container-transaction>
- <method>
<ejb-name>CustomerBean</ejb-name>
<method-name>*</method-name>
</method>
<trans-attribute>Required</trans-attribute>
</container-transaction>
- <container-transaction>
- <method>
<ejb-name>SubscriptionBean</ejb-name>
<method-name>*</method-name>
</method>
<trans-attribute>Required</trans-attribute>
</container-transaction>
</assembly-descriptor>
</ejb-jar>
------------------End of ejb-jar.xml---------------
Please help
Thanks in advance
Mike -
How to map CRM BP relationship and R/3 customer partner funnction
Hello !
Please, I need the following actions:
1) during BP initial download from R/3 to CRM, a specific partner function should be mapped by a CRM relationship (Example: in R/3 master data, customer X is the Payer of customer Y. I'd like this partner function "Payer" should be mapped by BP relationship "Payer" in CRM);
2) a particular relationship between BPs in CRM should be mapped by the corresponding R/3 partner function during upload from CRM to R/3.
Please, can anyone help me ?
Thank you.
Kind regards.
ElenaHi, Venkat.
Thank you for your answer, but the question is: is it possible to define the correspondece between R/3 partner function and CRM relationship ? I know transaction PIDE: it allows to map R/3 accont group and CRM roles.
Thank you very much.
Bye.
Elena -
Relationship deletion of BP in CRM
Hi Friends,
My Requirement is to delete a relationship Contact person of a BP.
when i delete it system shows an Error message that " Contact person still been used, can not be deleted".
can anyone tell how to delimit the validity period of a relationship.
Good and correct answer will be rewarded..
Plz help as this is a high priority Issue...
Thanks in Advance
Regards
CharanHi,
Address of Contact Person, assigned to Business Partner, is always relationship-specific. This is how system was designed, and this is how this data is stored and trasnferred.
But the reason of the error during deletion is not the relationship,
but some sales transaction which was created with this Contact Person.
The note 830239 describes what has to be done to switch off
the check and how it is handled in the future then to avoid problems. The result is that you will still see the address data in the sales document etc. However, please check the header part of the note for steps you haveto carry out manually. eg the first 2 steps need to be carried out.
Hope this will solve the issue .
Thanks,
Karuna. -
Defining a many-to-many relationship with CMP EJBs : does it work for you
Curious to know whether someone has been able to set up a many to many relationship between two entity beans.
I have been struggling with this for days now and I can't get it to work.
In my test project I have two entity beans, resp. Consultant and Solution.
Consultant has a cmr field called 'solutions', which is a collection object from the opposite side (Solution).
This is the source of the ejb-jar.xml file
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE ejb-jar PUBLIC "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" "http://java.sun.com/dtd/ejb-jar_2_0.dtd">
<ejb-jar>
<description>EJB JAR description</description>
<display-name>EJB JAR</display-name>
<enterprise-beans>
<session>
<ejb-name>ProfilerBean</ejb-name>
<home>com.atosorigin.tcc.testing.ejbses.profiling.ProfilerHome</home>
<remote>com.atosorigin.tcc.testing.ejbses.profiling.Profiler</remote>
<local-home>com.atosorigin.tcc.testing.ejbses.profiling.ProfilerLocalHome</local-home>
<local>com.atosorigin.tcc.testing.ejbses.profiling.ProfilerLocal</local>
<ejb-class>com.atosorigin.tcc.testing.ejbses.profiling.ProfilerBean</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
<ejb-local-ref>
<ejb-ref-name>EJBTesting/Solution</ejb-ref-name>
<ejb-ref-type>Entity</ejb-ref-type>
<local-home>com.atosorigin.tcc.testing.ejbcmp.profiling.SolutionLocalHome</local-home>
<local>com.atosorigin.tcc.testing.ejbcmp.profiling.SolutionLocal</local>
<ejb-link>SolutionBean</ejb-link>
</ejb-local-ref>
<ejb-local-ref>
<ejb-ref-name>EJBTesting/Consultant</ejb-ref-name>
<ejb-ref-type>Entity</ejb-ref-type>
<local-home>com.atosorigin.tcc.testing.ejbcmp.profiling.ConsultantLocalHome</local-home>
<local>com.atosorigin.tcc.testing.ejbcmp.profiling.ConsultantLocal</local>
<ejb-link>ConsultantBean</ejb-link>
</ejb-local-ref>
</session>
<entity>
<ejb-name>ConsultantBean</ejb-name>
<home>com.atosorigin.tcc.testing.ejbcmp.profiling.ConsultantHome</home>
<remote>com.atosorigin.tcc.testing.ejbcmp.profiling.Consultant</remote>
<local-home>com.atosorigin.tcc.testing.ejbcmp.profiling.ConsultantLocalHome</local-home>
<local>com.atosorigin.tcc.testing.ejbcmp.profiling.ConsultantLocal</local>
<ejb-class>com.atosorigin.tcc.testing.ejbcmp.profiling.ConsultantBean</ejb-class>
<persistence-type>Container</persistence-type>
<prim-key-class>java.lang.String</prim-key-class>
<reentrant>False</reentrant>
<cmp-version>2.x</cmp-version>
<abstract-schema-name>Consultant</abstract-schema-name>
<cmp-field>
<field-name>firstname</field-name>
</cmp-field>
<cmp-field>
<field-name>lastname</field-name>
</cmp-field>
<cmp-field>
<field-name>country</field-name>
</cmp-field>
<cmp-field>
<field-name>id</field-name>
</cmp-field>
<primkey-field>id</primkey-field>
<query>
<query-method>
<method-name>findBySolution</method-name>
<method-params>
<method-param>java.lang.String</method-param>
</method-params>
</query-method>
<ejb-ql>SELECT Object(c) FROM Consultant AS c,
IN(c.solutions) s WHERE s.id = ?1 </ejb-ql>
</query>
</entity>
<entity>
<ejb-name>SolutionBean</ejb-name>
<home>com.atosorigin.tcc.testing.ejbcmp.profiling.SolutionHome</home>
<remote>com.atosorigin.tcc.testing.ejbcmp.profiling.Solution</remote>
<local-home>com.atosorigin.tcc.testing.ejbcmp.profiling.SolutionLocalHome</local-home>
<local>com.atosorigin.tcc.testing.ejbcmp.profiling.SolutionLocal</local>
<ejb-class>com.atosorigin.tcc.testing.ejbcmp.profiling.SolutionBean</ejb-class>
<persistence-type>Container</persistence-type>
<prim-key-class>java.lang.String</prim-key-class>
<reentrant>False</reentrant>
<cmp-version>2.x</cmp-version>
<abstract-schema-name>Solution</abstract-schema-name>
<cmp-field>
<field-name>description</field-name>
</cmp-field>
<cmp-field>
<field-name>name</field-name>
</cmp-field>
<cmp-field>
<field-name>parent</field-name>
</cmp-field>
<cmp-field>
<field-name>id</field-name>
</cmp-field>
<primkey-field>id</primkey-field>
<query>
<query-method>
<method-name>findChildSolutions</method-name>
<method-params>
<method-param>java.lang.String</method-param>
</method-params>
</query-method>
<ejb-ql>SELECT Object(s) FROM Solution AS s WHERE
s.parent = ?1</ejb-ql>
</query>
<query>
<query-method>
<method-name>findTopLevelSolutions</method-name>
<method-params/>
</query-method>
<ejb-ql>Select Object(s) FROM Solution AS s WHERE
(s.parent = 'none')</ejb-ql>
</query>
</entity>
</enterprise-beans>
<relationships>
<ejb-relation>
<description>A consultant may have one or more areas of expertise</description>
<ejb-relation-name>Consultant_Solutions</ejb-relation-name>
<ejb-relationship-role>
<ejb-relationship-role-name>com.atosorigin.tcc.testing.ejbcmp.profiling.ConsultantBean</ejb-relationship-role-name>
<multiplicity>Many</multiplicity>
<relationship-role-source>
<ejb-name>ConsultantBean</ejb-name>
</relationship-role-source>
<cmr-field>
<cmr-field-name>solutions</cmr-field-name>
<cmr-field-type>java.util.Collection</cmr-field-type>
</cmr-field>
</ejb-relationship-role>
<ejb-relationship-role>
<ejb-relationship-role-name>com.atosorigin.tcc.testing.ejbcmp.profiling.SolutionBean</ejb-relationship-role-name>
<multiplicity>Many</multiplicity>
<relationship-role-source>
<ejb-name>SolutionBean</ejb-name>
</relationship-role-source>
</ejb-relationship-role>
</ejb-relation>
</relationships>
<assembly-descriptor>
<container-transaction>
<description>container-transaction</description>
<method>
<ejb-name>SolutionBean</ejb-name>
<method-name>*</method-name>
</method>
<method>
<ejb-name>ProfilerBean</ejb-name>
<method-name>*</method-name>
</method>
<method>
<ejb-name>ConsultantBean</ejb-name>
<method-name>*</method-name>
</method>
<trans-attribute>Required</trans-attribute>
</container-transaction>
</assembly-descriptor>
</ejb-jar>
I created a stateless session bean as a business facade for the two entity beans. I then created a webservice to test the beans.
What works :
- create a consultant
- get a consultant
- create a solution
- get a solution
(basically everything that doesn't involve the relationship field.
However, what doesn't work is the method call assignSolution:
- assign solution : this is implemented as follows
Business Method.
public void assignSolution(String consultantID, String solutionID)
throws ProfilingException {
// TODO : Implement
ConsultantLocal cons = null;
SolutionLocal sol = null;
try {
cons = consHome.findByPrimaryKey(consultantID);
sol = solHome.findByPrimaryKey(solutionID);
Collection solutions = cons.getSolutions();
solutions.add(sol);
//sol.getConsultants().add(cons);
} catch (FinderException ex) {
ex.printStackTrace();
throw new ProfilingException("failed to retrieve data from DB", ex);
As you can see I am trying to use the CM Relationship in this methhod. Adding the solution to a consultant should be as simple as adding a solution object to the collection retrieved with the getSolutions accessor. The Container is expected to persist the information in my MAXDB database.
However this doesn't happen.
The ORM details as defined in the persistent.xml follows :
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE persistent-ejb-map SYSTEM "persistent.dtd">
<persistent-ejb-map>
<locking
type="Table"/>
<db-properties>
<data-source-name>TCC_PORTAL_PROFILER</data-source-name>
<database-vendor
name="SAPDB"/>
</db-properties>
<entity-beans>
<entity-bean>
<ejb-name>ConsultantBean</ejb-name>
<table-name>PFL_CONSULTANTS</table-name>
<field-map
key-type="NoKey">
<field-name>firstname</field-name>
<column>
<column-name>FIRSTNAME</column-name>
</column>
</field-map>
<field-map
key-type="NoKey">
<field-name>lastname</field-name>
<column>
<column-name>LASTNAME</column-name>
</column>
</field-map>
<field-map
key-type="NoKey">
<field-name>country</field-name>
<column>
<column-name>COUNTRY</column-name>
</column>
</field-map>
<field-map
key-type="PrimaryKey">
<field-name>id</field-name>
<column>
<column-name>ID</column-name>
</column>
</field-map>
<finder-descriptor>
<method-name>findBySolution</method-name>
<method-params>
<method-param>java.lang.String</method-param>
</method-params>
<load-selected-objects
lock="read"/>
</finder-descriptor>
</entity-bean>
<entity-bean>
<ejb-name>SolutionBean</ejb-name>
<table-name>PFL_SAPSOLUTIONS</table-name>
<field-map
key-type="NoKey">
<field-name>description</field-name>
<column>
<column-name>DESCRIPTION</column-name>
</column>
</field-map>
<field-map
key-type="NoKey">
<field-name>name</field-name>
<column>
<column-name>NAME</column-name>
</column>
</field-map>
<field-map
key-type="NoKey">
<field-name>parent</field-name>
<column>
<column-name>PARENTID</column-name>
</column>
</field-map>
<field-map
key-type="PrimaryKey">
<field-name>id</field-name>
<column>
<column-name>ID</column-name>
</column>
</field-map>
<finder-descriptor>
<method-name>findChildSolutions</method-name>
<method-params>
<method-param>java.lang.String</method-param>
</method-params>
<load-selected-objects
lock="read"/>
</finder-descriptor>
<finder-descriptor>
<method-name>findTopLevelSolutions</method-name>
<method-params/>
<load-selected-objects
lock="read"/>
</finder-descriptor>
</entity-bean>
</entity-beans>
<relationships>
<table-relation>
<help-table>PFL_CONS_SOL_MAP</help-table>
<table-relationship-role
key-type="PrimaryKey">
<ejb-name>ConsultantBean</ejb-name>
<cmr-field>solutions</cmr-field>
<fk-column>
<column-name>CONSULTANTID</column-name>
<pk-field-name>id</pk-field-name>
</fk-column>
</table-relationship-role>
<table-relationship-role
key-type="PrimaryKey">
<ejb-name>SolutionBean</ejb-name>
<fk-column>
<column-name>SOLUTIONID</column-name>
<pk-field-name>id</pk-field-name>
</fk-column>
</table-relationship-role>
</table-relation>
</relationships>
</persistent-ejb-map>
The error in the default trace file when calling the method states, there is an "inconsistency in the number of primary keys". Details follow.
#1.5#000F1F188E5C004400000000000010480003E76C80EFD57A#1098880364327#com.sap.engine.services.ejb#com.atosorigin.tcc/EJBCMPProfilingTest#com.sap.engine.services.ejb#Guest#2####4d2b2370281411d9a40d000f1f188e5c#SAPEngine_Application_Thread[impl:3]_31##0#0#Error##Java###
[EXCEPTION]
#1#com.sap.engine.services.ejb.exceptions.BaseRemoteException: Exception in method assignSolution.
at com.atosorigin.tcc.testing.ejbses.profiling.ProfilerObjectImpl0.assignSolution(ProfilerObjectImpl0.java:822)
at com.atosorigin.tcc.testing.ejbses.profiling.Profiler_Stub.assignSolution(Profiler_Stub.java:533)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at com.sap.engine.services.ejb.session.stateless_sp5.ObjectStubProxyImpl.invoke(ObjectStubProxyImpl.java:187)
at $Proxy73.assignSolution(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at com.sap.engine.services.webservices.runtime.EJBImplementationContainer.invokeMethod(EJBImplementationContainer.java:126)
at com.sap.engine.services.webservices.runtime.RuntimeProcessor.process(RuntimeProcessor.java:146)
at com.sap.engine.services.webservices.runtime.RuntimeProcessor.process(RuntimeProcessor.java:68)
at com.sap.engine.services.webservices.runtime.servlet.ServletDispatcherImpl.doPost(ServletDispatcherImpl.java:92)
at SoapServlet.doPost(SoapServlet.java:51)
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:385)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:263)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:339)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:317)
at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:810)
at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:238)
at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)
at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:147)
at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:37)
at com.sap.engine.core.cluster.impl6.session.UnorderedChannel$MessageRunner.run(UnorderedChannel.java:71)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:94)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:162)
Caused by: com.sap.engine.services.applocking.exception.SAPAppLockingIllegalArgumentException: Inconsistency in number of primary keys
at com.sap.engine.services.applocking.TableLockingImpl.getArgument(TableLockingImpl.java:385)
at com.sap.engine.services.applocking.TableLockingImpl.lock(TableLockingImpl.java:128)
at com.sap.engine.services.applocking.TableLockingImpl.lock(TableLockingImpl.java:138)
at com.sap.engine.services.ejb.entity.pm.lock.TableLockingSystem.write(TableLockingSystem.java:82)
at com.sap.engine.services.ejb.entity.pm.PersistentM2M.create(PersistentM2M.java:172)
at com.sap.engine.services.ejb.entity.pm.PersistentCacheM2M.add(PersistentCacheM2M.java:197)
at com.sap.engine.services.ejb.entity.pm.multiple.CollectionM2M.add(CollectionM2M.java:57)
at com.atosorigin.tcc.testing.ejbses.profiling.ProfilerBean.assignSolution(ProfilerBean.java:201)
at com.atosorigin.tcc.testing.ejbses.profiling.ProfilerObjectImpl0.assignSolution(ProfilerObjectImpl0.java:771)
... 32 more
I can't figure out what the problem is with the ORM mapping defined.
On the database level I have three tables. Consultant maps to PFL_CONSULTANT, Solution to PFL_SAPSOLUTIONS. The third table PFL_CONS_SOL_MAP is the help table used for the relationship (having two fields, which are in fact foreign keys from the other two tables to express the assignment of solutions to consultants (where a consultant can have one or more solutions).
ps. : I am running Netweaver Developer Workplace (Netweaver 2004, at stack level 5)
Message was edited by: Theo PaesenHm, after disabling 'automatic locking' it works.
-
Weblogic-cmp-rdbms-jar.xml for One-To-Many unidirectional relationship
hi,
I am trying to create a simple cmp One-To-Many unidirectional relationship and deploy the same in weblogic. Can someone help me with the weblogic-cmp-rdbms-jar.xml. Am attaching the weblogic-cmp-rdbms-jar. xml tht i am using as also the corresponding ejb-jar.xml. Pls. note tht i want a unidirectional relationship here. one i am tryng However i get this error:
Error while reading 'META-INF/weblogic-cmp-rdbms-jar.xml'. The error was: Role 'Supplier supplies Products' of relationship 'Product Supplier' contains an invalid key-column value of 'productID'. The key-column must specify a primary key column in the related bean. However, there is no primary key column named 'productID' defined in the related bean 'ProductEJB' or else 'productID' is not being recognized due to case mismatch. My weblogic-cmp-rdbms-jar
<?xml version="1.0"?>
<!DOCTYPE weblogic-rdbms-jar PUBLIC '-//BEA Systems, Inc.//DTD WebLogic 8.1.0 EJB RDBMS Persistence//EN' 'http://www.bea.com/servers/wls810/dtd/weblogic-rdbms-jar.dtd'>
<weblogic-rdbms-jar>
<weblogic-rdbms-bean>
<ejb-name>SupplierEJB</ejb-name>
<data-source-name>RJDataSource</data-source-name>
<table-map>
<table-name>AA_Supplier</table-name>
<field-map>
<cmp-field>supplierID</cmp-field>
<dbms-column>supplierID</dbms-column>
</field-map>
<field-map>
<cmp-field>name</cmp-field>
<dbms-column>name</dbms-column>
</field-map>
</table-map>
</weblogic-rdbms-bean>
<weblogic-rdbms-bean>
<ejb-name>ProductEJB</ejb-name>
<data-source-name>RJDataSource</data-source-name>
<table-map>
<table-name>AA_Product</table-name>
<field-map>
<cmp-field>productID</cmp-field>
<dbms-column>productid</dbms-column>
</field-map>
<field-map>
<cmp-field>description</cmp-field>
<dbms-column>description</dbms-column>
</field-map>
<field-map>
<cmp-field>basePrice</cmp-field>
<dbms-column>baseprice</dbms-column>
</field-map>
<field-map>
<cmp-field>name</cmp-field>
<dbms-column>name</dbms-column>
</field-map>
<field-map>
<cmp-field>supplierID</cmp-field>
<dbms-column>supplierID</dbms-column>
</field-map>
</table-map>
</weblogic-rdbms-bean>
<weblogic-rdbms-relation>
<relation-name>Product Supplier</relation-name>
<weblogic-relationship-role>
<relationship-role-name>Supplier supplies Products</relationship-role-name>
<relationship-role-map>
<column-map>
<foreign-key-column>supplierID</foreign-key-column>
<key-column>productID</key-column>
</column-map>
</relationship-role-map>
</weblogic-relationship-role>
<weblogic-relationship-role>
<relationship-role-name>Product supplied by Supplier</relationship-role-name>
<relationship-role-map>
<column-map>
<foreign-key-column>products</foreign-key-column>
<key-column>supplierID</key-column>
</column-map>
</relationship-role-map>
</weblogic-relationship-role>
</weblogic-rdbms-relation>
</weblogic-rdbms-jar> My ejb-jar.xml
<?xml version="1.0"?>
<!DOCTYPE ejb-jar PUBLIC '-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN' 'http://java.sun.com/dtd/ejb-jar_2_0.dtd'>
<ejb-jar>
<enterprise-beans>
<entity>
<ejb-name>SupplierEJB</ejb-name>
<home>com.tpt.practice.entityBeans.cmp.product.relationship.SupplierHome</home>
<remote>com.tpt.practice.entityBeans.cmp.product.relationship.Supplier</remote>
<ejb-class>com.tpt.practice.entityBeans.cmp.product.relationship.SupplierEJB</ejb-class>
<persistence-type>Container</persistence-type>
<prim-key-class>java.lang.String</prim-key-class>
<reentrant>False</reentrant>
<cmp-version>2.x</cmp-version>
<abstract-schema-name>AA_Supplier</abstract-schema-name>
<cmp-field>
<field-name>supplierID</field-name>
</cmp-field>
<cmp-field>
<field-name>name</field-name>
</cmp-field>
<primkey-field>supplierID</primkey-field>
<ejb-ref>
<ejb-ref-name>ProducEJB</ejb-ref-name>
<ejb-ref-type>Entity</ejb-ref-type>
<home>com.tpt.practice.entityBeans.cmp.product.ProductHome</home>
<remote>com.tpt.practice.entityBeans.cmp.product.Product</remote>
<ejb-link>ProductEJB#ProductEJB.jar</ejb-link>
</ejb-ref>
<query>
<query-method>
<method-name>findByName</method-name>
<method-params>
<method-param>java.lang.String</method-param>
</method-params>
</query-method>
<ejb-ql>
<![CDATA[SELECT OBJECT(a) FROM AA_Supplier AS a WHERE a.name =
?1]]>
</ejb-ql>
</query>
<query>
<query-method>
<method-name>findAllSuppliers</method-name>
<method-params>
</method-params>
</query-method>
<ejb-ql>
<![CDATA[SELECT OBJECT(a) FROM AA_Supplier AS a WHERE a.supplierID
IS NOT NULL]]>
</ejb-ql>
</query>
</entity>
<entity>
<ejb-name>ProductEJB</ejb-name>
<home>com.tpt.practice.entityBeans.cmp.product.relationship.ProductHome</home>
<remote>com.tpt.practice.entityBeans.cmp.product.relationship.Product</remote>
<local-home>com.tpt.practice.entityBeans.cmp.product.relationship.ProductLocalHome</local-home>
<local>com.tpt.practice.entityBeans.cmp.product.relationship.ProductLocal</local>
<ejb-class>com.tpt.practice.entityBeans.cmp.product.relationship.ProductEJB</ejb-class>
<persistence-type>Container</persistence-type>
<prim-key-class>com.tpt.practice.entityBeans.cmp.product.relationship.ProductPK</prim-key-class>
<reentrant>False</reentrant>
<cmp-version>2.x</cmp-version>
<abstract-schema-name>AA_Product</abstract-schema-name>
<cmp-field>
<field-name>productID</field-name>
</cmp-field>
<cmp-field>
<field-name>name</field-name>
</cmp-field>
<cmp-field>
<field-name>description</field-name>
</cmp-field>
<cmp-field>
<field-name>basePrice</field-name>
</cmp-field>
<cmp-field>
<field-name>supplierID</field-name>
</cmp-field>
<primkey-field>productID</primkey-field>
<query>
<query-method>
<method-name>findByName</method-name>
<method-params>
<method-param>java.lang.String</method-param>
</method-params>
</query-method>
<ejb-ql>
<![CDATA[SELECT OBJECT(a) FROM AA_Product AS a WHERE a.name =
?1]]>
</ejb-ql>
</query>
<query>
<query-method>
<method-name>findByDescription</method-name>
<method-params>
<method-param>java.lang.String</method-param>
</method-params>
</query-method>
<ejb-ql>
<![CDATA[SELECT OBJECT(a) FROM AA_Product AS a WHERE a.description
= ?1]]>
</ejb-ql>
</query>
<query>
<query-method>
<method-name>findByBasePrice</method-name>
<method-params>
<method-param>double</method-param>
</method-params>
</query-method>
<ejb-ql>
<![CDATA[SELECT OBJECT(a) FROM AA_Product AS a WHERE a.basePrice =
?1]]>
</ejb-ql>
</query>
<query>
<query-method>
<method-name>findExpensiveProducts</method-name>
<method-params>
<method-param>double</method-param>
</method-params>
</query-method>
<ejb-ql>
<![CDATA[SELECT OBJECT(a) FROM AA_Product AS a WHERE a.basePrice >
?1]]>
</ejb-ql>
</query>
<query>
<query-method>
<method-name>findCheapProducts</method-name>
<method-params>
<method-param>double</method-param>
</method-params>
</query-method>
<ejb-ql>
<![CDATA[SELECT OBJECT(a) FROM AA_Product AS a WHERE a.basePrice <
?1]]>
</ejb-ql>
</query>
<query>
<query-method>
<method-name>findAllProducts</method-name>
<method-params>
</method-params>
</query-method>
<ejb-ql>
<![CDATA[SELECT OBJECT(a) FROM AA_Product AS a WHERE a.productID
IS NOT NULL]]>
</ejb-ql>
</query>
</entity>
</enterprise-beans>
<relationships>
<ejb-relation>
<ejb-relation-name>Product Supplier</ejb-relation-name>
<ejb-relationship-role>
<ejb-relationship-role-name>Supplier supplies Products</ejb-relationship-role-name>
<multiplicity>One</multiplicity>
<relationship-role-source>
<ejb-name>SupplierEJB</ejb-name>
</relationship-role-source>
<cmr-field>
<cmr-field-name>products</cmr-field-name>
<cmr-field-type>java.util.Collection</cmr-field-type>
</cmr-field>
</ejb-relationship-role>
<ejb-relationship-role>
<ejb-relationship-role-name>Product supplied by Supplier</ejb-relationship-role-name>
<multiplicity>Many</multiplicity>
<relationship-role-source>
<ejb-name>ProductEJB</ejb-name>
</relationship-role-source>
</ejb-relationship-role>
</ejb-relation>
</relationships>
<assembly-descriptor>
<container-transaction>
<method>
<ejb-name>SupplierEJB</ejb-name>
<method-intf>Remote</method-intf>
<method-name>*</method-name>
</method>
<trans-attribute>Required</trans-attribute>
</container-transaction>
</assembly-descriptor>
</ejb-jar>I think u r some confusion with productID and SuppliedID . primary key of one column( productId ) can be a foreign key of other table colum( SuppliedID). but foreign key( SuppliedID) can not be a primary key of second table .u declared SuppliedId as primary key . so ur mapping is incorrect.
-
How to disable a field in a standard transaction
Good day,
Can any one tell me , with an example of , how to disable (the field should not allow any input ) a parameter or a select option in a standard transaction.Probably the only way to achieve this is by creating transaction variants:
In the SAP Reference IMG, you can create transaction variants. Choose Basis Components ® Application Personalization ® Tailoring of Application Transactions ® Configure Transaction-Related Display Values for Fields (Transaction SHD0). Transaction variants allow you to preset values for fields in a transaction, set field attributes, or hide entire screens.
To execute a transaction variant, you define a variant transaction using the Transaction Maintenance transaction (SE93).
Once you have entered a transaction code and short description, choose transaction type Transaction with variant (Variant transaction).
To define a variant, enter the name of the transaction and the name of the variant. You can then use the new transaction code to start the special variant of the transaction.
Steps :-
Transaction SHD0 - Create a variant for the required transaction bychanging the layout through hiding fields and screens.
Transaction SE93 - Create a variant transaction (e.g. for VA02 you canname it as ZA02). Next allocate the transaction variant to this varianttransaction.
Maybe you are looking for
-
Update Camera RAW in PSE 8 for Mac installs but doesn't function
I've researched the forums and tried reinstall of PSE 8 and downloading the camera RAW updates. both 5.7 and 6.1. After looking at the various proposed solutions I can't seem to find the exact answer I'm seeking. The Camera RAW update installation co
-
Exit for checking Exchange Rate in ME21N(Only for Import PO)
Hi, Could you pls tel me User Exit/BADI for transaction ME21N to check the Exch Rate Fixed In Delivery/Invoice tab for Import Document Type. Thanks in Advance.. Nithy
-
Selecting all rows currently visible in the table
Hi , we need to add the "Select all" functionality for the a table used in one of the screens. The examples I have found for this would select all the elements of the node bound to the table. However, we need to select only those elements which a
-
Year to Date Problem on Monthly Loads
Hi SDN team, I have few clarifications necessary. I've a query & it uses 2 structures. we decide to use cells using cell editor afterwards. We have plan versus actual issue. One row is plan for one full year. We have a plan figure for each month of y
-
Viewing FORTRAN globals in VS 2012 vs. VS 2010
Good morning! My development team and I work with old physics simulators for modeling systems of power plants. The code is often in FORTRAN. We are starting to use VS 2012 on new projects, and we are finding that we cannot view the FORTRAN globals wh