Mapping object tables
HI Gentlemen,
I needed so badly a JDeveloper/Toplink mapping to object tables. Unfortunately, even the latest version (11g) does not support them; however, according to documentation, there is a solution by means of Java programming. What can I do? If not, how long is it to wait for the next release?
Thank you very much, kind regards from
Dr. Miklos HERBOLY
Software engineer
Yes,
these are user-defined types including nested tables of NOT ONLY REFs but real objects; arrays and so on. This would be very helpful because pure relational storage requires me to set up a large number of tables.
Suppose, for example, in a medical care record there is an attribute 'psycholgogical treatment' and this has a set of dates associated with it. I am not allowed to restrict the user to say, 5 dates which would yield a non- normalized relational table, rather I have to set up a separate table for the unknown number of dates and a foreign key link to its master table. And this occurs many-many times in different situations with considerably more complex types than just a simple date. However, if I could use a nested table for the date, Oracle would arrange the whole linkage internally and transparently for me, so that I could select the WHOLE treatment record with those nasty dates implied. That's it.
If you have anything for me, I am very grateful to you.
Kind regards from
Miklos
Similar Messages
-
IN_WRONG_TABLESPACE, object: table/index
Hi all,
Apologies for the repost of this topic. I have seen it a few times but without resolutions. My problem is as follows.
BR0970W Database administration alert - level: WARNING, type: IN_WRONG_TABLESPACE, object: (index) SAPSR3.D010INC~1, value: PSAPSR346C
BR0970W Database administration alert - level: WARNING, type: IN_WRONG_TABLESPACE, object: (table) SAPSR3.D010L, value: PSAPSR346C
This is IAORA.
TABART
TABSPACE
PCTINC
OFREELIST
OPCTFREE
APPL0
PSAPSR3
0000
1
10
APPL1
PSAPSR3
0000
1
10
APPL2
PSAPSR3
0000
1
10
CLUST
PSAPSR3
0000
1
10
POOL
PSAPSR3
0000
1
10
SDIC
PSAPSR3
0
1
10
SDOCU
PSAPSR3
0000
1
10
SLDEF
PSAPSR346D
0000
1
10
SLEXC
PSAPSR346D
0000
1
10
SLOAD
PSAPSR3
0000
1
10
SPROT
PSAPSR3
0000
1
10
SSDEF
PSAPSR346D
0000
1
10
SSEXC
PSAPSR346D
0000
1
10
SSRC
PSAPSR3
0000
1
10
TEMP
PSAPSR3
0000
1
10
USER
PSAPSR3USR
0000
1
10
USER1
PSAPSR3USR
0000
1
10
This is TAORA.
TABART
TABSPACE
PCTINC
OFREELIST
OFREEGROUP
OPCTFREE
OPCTUSED
APPL0
PSAPSR3
0000
001
01
10
40
APPL1
PSAPSR3
0000
1
1
10
40
APPL2
PSAPSR3
0000
1
1
10
40
CLUST
PSAPSR3
0000
1
1
10
40
POOL
PSAPSR3
0000
1
1
10
40
SDIC
PSAPSR3
0
1
1
10
40
SDOCU
PSAPSR3
0000
1
1
10
40
SLDEF
PSAPSR346D
0000
1
1
10
40
SLEXC
PSAPSR346D
0000
1
1
10
40
SLOAD
PSAPSR3
0000
1
1
10
40
SPROT
PSAPSR3
0000
1
1
10
40
SSDEF
PSAPSR346D
0000
1
1
10
40
SSEXC
PSAPSR346D
0000
1
1
10
40
SSRC
PSAPSR3
0000
1
1
10
40
TEMP
PSAPSR3
0000
1
1
10
40
USER
PSAPSR3USR
0000
1
1
10
40
USER1
PSAPSR3USR
0000
1
1
10
40
select tablespace_name from dba_tablespaces;
SYSTEM,PSAPUNDO,SYSAUX,PSAPTEMP,PSAPSR3,PSAPSR346C,PSAPSR3USR
Tablespace does exist as you can see above now to determine type of tablespace, and as per below query you can see it contains
both data and indexes.
select distinct(segment_type), tablespace_name from dba_segments order by tablespace_name;
SEGMENT_TYPE TABLESPACE_NAME
INDEX PSAPSR3
TABLE PSAPSR3
INDEX PSAPSR346C
TABLE PSAPSR346C
TABLE PSAPSR3USR
TYPE2 UNDO PSAPUNDO
INDEX SYSAUX
INDEX PARTITION SYSAUX
LOB PARTITION SYSAUX
LOBINDEX SYSAUX
LOBSEGMENT SYSAUX
As per note 655162 option 1 and 2 are applicable to me. But as this tablespace seems to be both a data and index tablespace I am thinking I need to create the tablespace entry in IAORA and TAORA.
How would I correctly edit these table entries and which of the following tables might also have to be edited?
DDART and DARTT are used to maintain the classes ( tabarts)
DD09L maps the tables to each class ( tabart)
TAORA/IAORA maps the classes to the tablespaces
TSORA lists the tablespaces.
As a non dba I find the sap note a bit confusing please advise.
Kind Regards,
JohanHi guys,
For clarification:
disp+work information
kernel release 46D
kernel make variant 46D_EXT
DBMS client library OCI_920__OCI_7_API
DBSL shared library version 46D.00
compiled on Linux 2.6.5-7.202.5-smp #1_SMP_Thu_Aug_25_06:20:45_UTC_2005 x86_64
compiled for 64 BIT
compile time Aug 10 2008 21:39:12
update level 0
patch number 2415
source id 0.2415
supported environment
database (SAP, table SVERS) 46A
46B
46C
46D
DBMS server ORACLE 8.0.5..
ORACLE 8.0.6..
ORACLE 8.1.6..
ORACLE 8.1.7..
ORACLE 9.2.0..
ORACLE 10.2.0..
operating system Linux 2.6
System build information:
LCHN :
System components:
ST-PI 2008_1_46C
ST-A/PI 01J_R3_46C
SAP_NOTES 46C
SAP_HR 46C
SAP_BASIS 46C
SAP_APPL 46C
SAP_ABA 46C
Regards,
J -
Using REF with object table in SQL Developer
When i create object tables and fill them with data, then in SQL Developer de REF value isn't displayed.
I did the following:
CREATE TYPE adres_type AS OBJECT
(straat VARCHAR2(20)
,nummer VARCHAR2(10)
,postcode VARCHAR2(6)
,plaats VARCHAR2(50));
CREATE TABLE adressen of adres_type;
CREATE TYPE locatie_type AS OBJECT
(nr NUMBER
,naam VARCHAR2(20)
,adres REF adres_type);
CREATE TABLE locaties OF locatie_type;
CREATE TABLE locaties OF locatie_type
(SCOPE FOR (adres) IS adressen);
insert into adressen values (adres_type('Arnhemsestraatweg', '33','6881ND','Velp'));
insert into locaties values (1,'Directie', (select ref (a) from adressen a where a.plaats = 'Velp'))
Then in SQL Developer de REF(A) column is empty, while in SQL*Plus it displays the REF value:
In SQL Developer: SELECT a.*, REF(a) FROM adressen a;
STRAAT NUMMER POSTCODE PLAATS REF(A)
Arnhemsestraatweg 33 6881ND Velp
In SQLPLUS: SELECT a.*, REF(a) FROM adressen a;
STRAAT NUMMER POSTCODE PLAATS REF(A)
Arnhemsestraatweg 33 6881ND Velp 0000280209C70341FBB96B4F77813B27B50E53BB4332382E22ADD64AD9B755F651D416B6DA010134
Is this a bug or is there another reason why the ID doesnt display in SQL Developer.
(this didnt work in all the previous SQL Developer releases and still not in de 2.1 E.A. version)Hi <not sure of your first name>,
I have replicated the issues and logged a bug against this
Bug 9102579 - FORUM: REF FUNCTION NOT RETURNING CORRECT RESULT
Regards,
Dermot O'Neill
SQL Developer Team -
How to get the List of Database Objects (Table/View) for a given APEX Page.
Hi,
I have an application and that consist of pages like page1,2,3,.....
*1.* I want a report which can give me the list of all the Pages1,2,3,....
I am using the following query to acheive this.... THIS IS FINE..
select a.workspace, a.owner, a.application_name, b.page_id, b.page_name
from apex_applications a,
apex_application_pages b
where a.workspace = b.workspace
and a.application_id = b.application_id*2. Now, I want for each individual page*, the list all the database objects (tables/views), which that page is using.
I am using ALL_DEPENDENCIES , but I am not getting the result.
So, want to know if there any view/table, where I can get the Application Pages & there database object list...
Thanks,
DeepakHari,
Thanks for the response.
The view APEX_APPLICATION_PAGE_DB_ITEMS will only give me the table name related to any Page Items defined to that page..It will not give me all the database objects..
suppose we have a Page, having a report based on multiple tables and there is no Page items defined on that page, we will not have any value in this ....DB_ITEMS table. same thing if we have define some PL|SQL(using some table/view) in a Process, that will not be populated in .....DB_ITEMS table. I want some thing like all the database objects (table/views/function/procedure/.....) for a particular Page ID.
Thanks,
Deepak -
How to insert subtype data from another table in a object table ?
Hi all
I have been looking at the differences answers there are about insert data form a subtype in a object table of a supertype ,but have not found a solution yet.
I hope you can help me.
I my code Action_Logs is the object table and CloseStore_Logs_t is a subtype of Action_Logs_t
My code is
insert into Action_Logs(CloseStore_Logs_t (action_logs_id , physicalstores.physicalstores_id , brandedstores.BRANDEDSTORES_ID ,physicalstores.COMPANIES_ID ,brandedstores.CREATED_BY ,
brandedstores.CREATED_DATE , brandedstores.DELETED ,brandedstores.CLOSED_DATE as brandedstore_closedate,
physicalstores.CLOSED_DATE as physicalstore_closedate)
select CloseStore_Logs_t((null as action_logs_id , physicalstores.physicalstores_id , brandedstores.BRANDEDSTORES_ID ,physicalstores.COMPANIES_ID ,brandedstores.CREATED_BY ,
brandedstores.CREATED_DATE , brandedstores.DELETED ,brandedstores.CLOSED_DATE as brandedstore_closedate,
physicalstores.CLOSED_DATE as physicalstore_closedate)
from physicalstores , brandedstores ,companies
where physicalstores.physicalstores_id = brandedStores.PHYSICALSTORES_ID and
physicalstores.COMPANIES_ID = companies.COMPANIES_ID and
brandedstores.closed_date is not null
oracle gives a ora _917 fault about a missing comma , but I can not se what is wrong.
I will be glad, if you can give me an example with a right syntax where a subtype is selected from other/s tables an inserted in table of its supertype.
kinds regards
steen ostersenHi
I see two problems with your statement:
1) The utilization of the values clause is not permitted along with a subquery.
2) The AS are not allowed.
So, something like that should work:
insert into Action_Logs
select CloseStore_Logs_t(null,
physicalstores.physicalstores_id,
brandedstores.BRANDEDSTORES_ID,
physicalstores.COMPANIES_ID,
brandedstores.CREATED_BY,
brandedstores.CREATED_DATE,
brandedstores.DELETED,
brandedstores.CLOSED_DATE,
physicalstores.CLOSED_DATE)
from physicalstores , brandedstores ,companies
where physicalstores.physicalstores_id = brandedStores.PHYSICALSTORES_ID and
physicalstores.COMPANIES_ID = companies.COMPANIES_ID and
brandedstores.closed_date is not null
HTH
Chris -
How do I reference the instance in a constraint on an object table?
I want to create a unique constraint that involves the result of a deterministic member function.
I can do it just fine if I create table with a column of the object type:
drop table test_table1;
drop table test_table2;
drop type test_type;
create type test_type as object (
alpha varchar2(30),
member function get_beta return varchar2 deterministic
show errors;
create type body test_type as
member function get_beta return varchar2 deterministic is
begin
return 'Beta';
end;
end;
show errors;
create table test_table1 (
test_instance mattk.test_type,
beta varchar2(4000) as (test_type.get_beta(test_instance)),
constraint test_table1_pk primary key (beta)
insert into test_table1 (test_instance) values (test_type('Alpha'));
commit;
insert into test_table1 (test_instance) values (test_type('Gamma'));
commit;As I said, this works just fine, and the second insert statement produces the following error:
insert into test_table1 (test_instance) values (test_type('Gamma'))
ORA-00001: unique constraint (MATTK.TEST_TABLE1_PK) violatedHowever, I'd really like my table to be an object table.
If I do that:
create table test_table2 of test_type;How do I then reference the object instance that the row represents?I've got it all worked out now. Thanks everyone for the helpful advice.
I changed the type definition slightly. I added an Attribute for Beta, in addition to keeping the deterministic member function.
drop table test_table2;
drop type test_type;
create type test_type as object (
alpha varchar2(30),
beta varchar2(30),
member function get_beta return varchar2 deterministic
show errors;
create type body test_type as
member function get_beta return varchar2 deterministic is
begin
if (self.beta <> 'Beta') then
raise_application_error(-20000, 'Beta is not properly set.');
end if;
return 'Beta';
end;
end;
show errors;
create table test_table2 of test_type;
alter table test_table2 add (
constraint test_table2_pk primary key (alpha, beta)
create unique index test_table2_idx1 on test_table2(test_type.get_beta(object_value));
insert into test_table2 values (test_type('Alpha', 'Beta'));
commit;
insert into test_table2 values (test_type('Gamma', 'Beta'));
update test_table2 t set t.beta = 'BETA';
insert into test_table2 values (test_type('Delta', 'Delta'));Correctly produces the following errors:
insert into test_table2 values (test_type('Gamma', 'Beta'))
ORA-00001: unique constraint (MATTK.TEST_TABLE2_IDX1) violated
update test_table2 t set t.beta = 'BETA'
ORA-20000: Beta is not properly set.
ORA-06512: at "MATTK.TEST_TYPE", line 5
insert into test_table2 values (test_type('Delta', 'Delta'))
ORA-20000: Beta is not properly set.
ORA-06512: at "MATTK.TEST_TYPE", line 5The presence of the unique index over the deterministic member function guarantees that function will be called on any insert or update, which gives it the opportunity to error out if the attribute is not properly set.
The reason I was interested in doing this is because Oracle does not support constant attribute values.
Again, thanks everyone for the helpful replies. -
Interface mapping Object does not exist in runtime cache
I am getting the following error after importing IR into our test system (PI7.0 SP10).
Interface mapping Object ID 19C3AC9D13B03787AEEB85169D0B6900 Software Component 8C51B2209F3C11DB94CEEB180DDF0074 does not exist in runtime cache Exception of class CX_XMS_SYSERR_MAPPING
You want to execute interface mapping Object ID 19C3AC9D13B03787AEEB85169D0B6900 Software Component 8C51B2209F3C11DB94CEEB180DDF0074 . However,the data of this interface mapping is missing in the runtime cache. Activate the interface mapping in the Integration Repository.
I cannot change the mapping and reactivate - as this cannot be changed.
I have run SXI_Cache, Cleared SLD caches on IR and ID and run cacherefresh=full, but no luck!
The mapping is there and I can test it in the IR.
Any thoughts?I had this problem today, maybe this helps someone when searching about this (at least this is the first hit at a very big search engine when searching for interface mapping does not exist...)
I have a RFC => PI => File scenario. I was aware that this would need to be asynchronous so I set up the message interface (service interface for PI > 7.0) as asynchronous inbound. This is the file receiver part of the interface.
Hints on the error: Audit Log in message details of RWB showed a line like this: RFC adapter received sRFC for ZMY_FM from <sender SID>/<sender client>. Attempting to send message synchronously. This of course could not work as file is asynchronous by default.
Bottom line however was, to make the call of the sender RFC asynchronous by using "in background task" like so:
CALL FUNCTION 'ZMY_FM'
IN BACKGROUND TASK
DESTINATION 'PI_DEST'
EXPORTING
t_file = lt_file.
COMMIT WORK.
Don't forget the commit work here.
Hope this helps.
Cheers
Jens -
Value Mapping through Tables in R/3 from XI
Hi All,
I'm new to XI and got a scenario as "Value Mapping through Tables in R/3 from XI". Kindly do tell me the steps which I should follow to complete this scenario. I'm from ABAP so table creation is known to me, what next should I do after table creation?
Thanks in Advance to all of you,
Sreedharsree,
value mapping are done using message mapping. In message mapping you have to make a RFC call to query the db and get the response. were you have to write a java function in mapping program.
check this blog, it speaks on value mapping
/people/jayakrishnan.nair/blog/2005/06/20/dynamic-file-name-using-xi-30-sp12-part--i -
hi expects,
can any body tell me about mapping objects .and what is use of message mapping,java mapping ,xslt mapping,abap mapping.
thank youHi Rohit,
XI provides 3 standard ways of interface mapping between source and target.
1)Graphical mapping
2)Java mapping
3)XSLT mapping
Two more additional mapping types can be activated in XI by making changes to the exchange profile. Those two mappings are
1)ABAP mapping
2)XSLT mapping with ABAP Extensions
Graphical mapping is a common approach followed by everyone for generating desired target structure. It involves simple drag-n-drop to correlate respective nodes (fields) from source and target structure. It hardly involves coding. (Exception User defined functions). But sometimes with graphical mapping it is difficult to produce required output. For example text/html output, namespace change, sorting or grouping of records etc. A person comfortable with Object Oriented ABAP can go for ABAP mapping instead. One can also think of Java mapping as another option but it is a bit complex and required knowledge of Java. In such cases, XSLT mapping can be the best approach to meet the requirements.
A few example cases in which an XSLT mapping can be used:-
1)When the required output is other than XML like Text, Html or XHTML (html displayed as XML )
2)When default namespace coming from graphical mapping is not required or is to be changed as per requirements.
3)When data is to be filtered based on certain fields (considering File as source)
4)When data is to be sorted based on certain field (considering File as source)
5)When data is to be grouped based on certain field (considering File as source)
>>>Advantages of using XSLT mapping
1)XSLT program itself defines its own target structure.
2)XSLT programs can be imported into SAP XI. Message mapping step can be avoided. One can directly go for interface mapping once message interfaces are created and mapping is imported.
3)XSLT provides use of number of standard XPath functions that can replaces graphical mapping involving user defined java functions easily.
4)File content conversion at receiver side can be avoided in case of text or html output.
5)Multiple occurrences of node within tree (source XML) can be handled easily.
6)XSLT can be used in combination with graphical mapping.
7)Multi-mapping is also possible using xslt.
8)XSLT can be used with ABAP and JAVA Extensions.
>>>Disadvantages of using XSLT mapping
1)Resultant XML payload can not be viewed in SXMB_MONI if not in XML format (for service packs < SP14).
2)Interface mapping testing does not show proper error description. So errors in XSLT programs are difficult to trace in XI but can be easily identified outside XI using browser.
3)XSLT mapping requires more memory than mapping classes generated in Java.
4)XSLT program become lengthier as source structure fields grows in numbers.
5)XSLT program sometimes become complex to meet desired functionality.
6)Some XSL functions are dependent on version of browser.
Regards,
Prasanthi. -
Problems with User Defines Mapping Objects - Dynamic Configuration
We have a mapping object that takes data passed in from R3 and does an HTTP Post to another system using a URL and file name that is passed from the header record. We had a consultant set this up for us last year and in creating the new one we just pretty much copied what he did. The problem is, it is not working for us. We have the url and file name, we pass it to the user defined code that is supposed to pass it to the url and file name in the configuration. The java code looks like this:
public String getPcurlOut(String pcurl,Container container){
String ourSourceFileName = "START";
DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
if (conf != null) {
DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File","Directory");
conf.put(key, pcurl + ".xml");
ourSourceFileName = conf.get(key);
} else {
ourSourceFileName = "conf == null";
Basically we want to pass a url and file name to our communication channel based on values that come from our file in R3
It is almost exactly like the one that works. Can anyone help with this?
Thanks
Mike
Message was edited by:
Michael CurtisHi Michael
<i>Basically we want to pass a url and file name to our communication channel based on values that come <b>from our file in R3</b></i>
--> This means you have file as a sender adapter.
Check adapter specific message properties in sender adapter.
Please refer this blog , it is really worth.
/people/michal.krawczyk2/blog/2005/11/10/xi-the-same-filename-from-a-sender-to-a-receiver-file-adapter--sp14
Also
DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File","Directory")
Try writing this as
DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/File","<b>FileName</b>")
Regards -
Interface Mapping Object - No class definition found
Hi
I have created a simple Interface Mapping in the Integration Repo. When i try to TEST the interface mapping i get class not found errors.See the stacktrace below.
LinkageError at JavaMapping.load(): Could not load class: com/sap/xi/tf/_PO_MAPPING_
- java.lang.NoClassDefFoundError: Illegal name: com/sap/xi/tf/_PO_MAPPING_
Looks like some standard sap packages are missing from the CLASSPATH. Anyidea where it has to be specified ?
PO_MAPPING is the message mapping object i have created and the test is successful for this object.However when i reference it in Interface Mapping , i get the above errors.
I suppose XI generates Java Code when i create these objects and the mappings.Any idea where the JVM seems to reference these packages and How to rectify it ?
Thanks
SaravanaHi,
Please check whether you have applied note 755302.
- Sreekanth -
Interface mapping Object _Doesn't exist in RuntimeCache_Error_SXMB_MONI
Hi EXperts ,
Issue in XI --Dev System
I have an simple IDOC (DESADV.DELVRY03) ->Flat File Scenario . Mapping is done as per the Line of Business requirements .
I have tested mapping and I get the response as expected.
We released the IDOC (Outbound Processing ) in SAP R/3 , but I get the mapping error in SXMB_MONI.
Error:
SAP:Category>XIServer</SAP:Category>
<SAP:Code area="MAPPING">NO_MAPPINGPROGRAM_FOUND</SAP:Code>
<SAP:P1>Object ID 61CFAE955F1A345ABEA3081C92818052 Software Component C31B3EB0F7B811DFC3F3ECDD0AE005A3</SAP:P1>
<SAP:P2 />
<SAP:P3 />
<SAP:P4 />
<SAP:AdditionalText />
<SAP:ApplicationFaultMessage namespace="" />
<SAP:Stack>Interface mapping Object ID 61CFAE955F1A345ABEA3081C92818052 Software Component C31B3EB0F7B811DFC3F3ECDD0AE005A3 does not exist in runtime cache</SAP:Stack>
Activtaed the Interfcae mapping and refeshed the configurtaion Object : Interface , Receiver Determination.Noticed that we have error in Cache Notifictaion --Design Part . The Configuration --Cache update is fine.
I have raised the Ticket to resolve this error.
But as this was high proirity task to be delivered,how can i try fixing this issue myself . I have tried couple of times, creating new interface mapping , activating , referring new interface mapping in : Interface , Reciever Determination but nothing fix this issue.
Please provide me inputs.
Thanks,
VaraThanks to all of your for your support .
Yes as Udo said , I did reassign the Interface mapping in : Interface Determintaion / Reciever Determination and activated .
Buta s this isuse was in Development System , and I reliased that there was mismatch of Password entered for : PIAPPLUSER --pipeline user and Cache Error with SLD in Design . Configurtaion / SLD .
Raised ticket for Cache Error which got solved . Resetting password of PI service user also worked .
Release new IDOC in WE19(--outbound DESADV.DELVRY03) and it was successfully processed to File(xml).
Best Regards,
Varalakshmi -
XI Configuration Design questions with multi-mapping message mapping object
Hello,
I'm having trouble designing a particular scenario for multi-mapping. Currently i'm working with a Vendor create and change. BPM is not being used.
This is what i need:
I need a CREMDM04 to turn into one or multiple ADRMAS/CREMAS IDocs and potentially a CLFMAS IDoc based on the values in the inbound CREMDM04 IDoc.
This is what i currently have:
A CREMDM04 inbound idoc is multi-mapped to a CREMDM03 (1...9999), another CREMDM03 (0...9999), and a CLFMAS01 (0...9999). At a minimum only the first CREMDM03 IDoc will be created and at a maximum all three will be created. The parameters on creating the second CREMDM03 IDoc and the CLFMAS01 IDoc are based on the values in the inbound CREMDM04 IDoc, whereas the first CREMDM03 IDoc will always be created and the values will just be converted/mapped from the inbound CREMDM04 IDoc. This multi-mapping is currently set-up via a graphical message map and works successfully in the test-tab of the mapping object. It has a main message and has sub-messages which are the IDocs. Im mapping the CREMDM04 to a CREMDM03 to then map it through an ABAP-Class and then to an XSL where the CREMDM03 inbound structure is expected to split into ADRMAS and CREMAS Outbound IDocs for Vendor Create/Change in the remote R/3 systems.
After the graphical map we have a necessary ABAP Class call that calls a BAPI to the remote system. This ABAP Class must come after the graphical map since the parameter for the BAPI is based on a converted value from the graphical multi-map.
After the ABAP Class call there is finally an XSL message split the CREMDM IDoc into an ADRMAS and CREMAS IDoc. There need to be two interface mappings (one per ADRMAS and CREMAS) since the ABAP classes and XSLs are specific to the ADRMAS and CREMAS.
The CLFMAS IDoc can go directly to the remote system, but since its within this one multi-map, Im not sure if is possible? Im not sure if it will fail once it tries entering the XSL mapping (this is the standard CREMDM message split offered from SAP).
There are three interface mapping scenarios I can think of, but cannot get to work:
CREMDM04 to ADRMAS02
CREMDM04 to CREMAS03
CREMDM04 to CLFMAS01
Currently I have the Interface Mapping structured as follows: (I cannot get this to activate as it appears it does not work)
Multi-Mapping ==> ABAP Class Call ==> Standard XSL Message Split
How should i design the interface mapping objects and the configuration objects for this scenario?
Any help is appreciated and I definitely will reward points (no need to include it in your response).Hi,
I suggest you may use multiple steps interface mapping. It's composited with 3 message mappings as step by step.
Mapping 1: One to one mapping. For the output schema, use a composition schema which includes those 3 IDOCs you want.
Mappign 2: ABAP Mapping. I am not sure the ABAP class you mentioned is an ABAP mapping or not. If it does, That's ok. If not,
call that ABAP class in your ABAP mapping and do corresponding change for your message. Return back the same structure as output.
Mapping 3: One to multiple mapping to split the message.
So basically as interface mapping, it's one to multiple mapping. And internally, you have 3 steps to realize the mapping.
And as my experience, for both one to multiple message mapping & multiple steps interface mapping, it works well in my project. And
in ID, you have to configure it via "advance" function in receiver determination or interface determination.
Let me know if any confusion.
Thanks
Nick -
Non BPM process - no mapping object found in interface determination
I'm working on a non BPM synchronous process of kind HTTP=>XI=>RFC
I completed my design and onto config now. I created receiver determination for HTTP (no sender agreement) and receiver determination for RFC. In my interface determination I cannot find mapping objects.
I included in HTTP service, the request, sync and response message and RFC shows up naturally with RFC objects.
Any ideas. I've been struggling with this for over a day now.
Thanks.Hi Parimala -
Just to clarify, for this scenario, here's what you need:
<b>Design</b>
1. One Message Interface (outbound/synchronous) corresponding to your HTTP request/response. You don't need a Message Interface nor Message Type for your inbound/synchronous RFC.
2. Request Mapping corresponding to request
- HTTP request Message Type to imported RFC (request)
3. Response Mapping corresponding to response
- RFC.response to some Message Type for the response
4. Interface Mapping
- interfaces: your outbound/sync Message Interface corresponding to HTTP request to imported RFC
- at bottom request tab, select your Request mapping (#2 above)
- at bottom response tab, select your Response mapping (#3 above)
<b>Config</b>
When you say the following:
>>><i>I completed my design and onto config now. I created receiver determination for HTTP (no sender agreement) and receiver determination for RFC.</i>
Don't know if that's a typo, but there should only be one receiver determination based on your sending system/service, sending interface (HTTP one), and interface namespace.
Confirm the above steps and see if that helps.
Regards,
Jin -
Update statement for object table.
Hi,
I have created one type as
Create type test as object(
ins_by varchar2(30),
ins_on date,
upd_by varchar2( 30),
upd_on date);
and then created an object table as
create table imst(
i_code number(5),
i_desc varchar2(35),
i_op test);
now i am able to insert record in this table as
insert into imst values(1,'Hawkins cooker',test(user,sysdate,'',''));
Above works fine.
But I would also like to update the record with i_op.upd_by,i_op.upd_on with some other values.
Can any body help me specifying how to write a plain update statement for the same.
Regards.
SoumenCheck it out:
SQL> Create type myTest as object(
2 ins_by varchar2(30),
3 ins_on date,
4 upd_by varchar2( 30),
5 upd_on date);
6 /
Type created.
SQL> create table imst(
2 i_code number(5),
3 i_desc varchar2(35),
4 i_op myTest);
Table created.
SQL> insert into imst values(1,'Hawkins cooker', mytest(user,sysdate,'',''));
1 row created.
SQL> select * from imst;
I_CODE I_DESC
I_OP(INS_BY, INS_ON, UPD_BY, UPD_ON)
1 Hawkins cooker
MYTEST('APC_LOAD', '12-JUL-04', NULL, NULL)
SQL> update imst i set i.i_op.upd_by = USER, i.i_op.upd_on = add_months(sysdate, 1);
1 row updated.
SQL> select * from imst;
I_CODE I_DESC
I_OP(INS_BY, INS_ON, UPD_BY, UPD_ON)
1 Hawkins cooker
MYTEST('APC_LOAD', '12-JUL-04', 'APC_LOAD', '12-AUG-04')
SQL> Smoke me a kipper I'll be back before breakfast.
Cheers, APC
Maybe you are looking for
-
Hullo all, I run a smallish studio at a University, and I have inherited multiple Macs (2 Powerbooks, 2 Mac Pros) running multiple OS (2 on Mavericks, 2 on 10.7) and multiple versions of iPhoto. These have been used for photo and video work over the
-
Selecting correct settings for a new project
I'm about to start my first project using Elements and the final output for the project will be need to be a H264 or a "WMV" file which which can be uploaded to an FTP site. It will also be displayed in front of a group on a screen (size is 7.5'x10'
-
Is the onboard mic mono or stereo?
Presario-CQ-60-215DX Microphone seems to be mono but can't tell for sure. Earphone jack is stereo. None of the specs tells one way or the other. IF it is mono, can it be changed to stereo? Most sound card support stereo. Adam
-
Safari still not responding after updating to 8.1.2
My iPad is fully up to date but still does not open the browser every time. It comes up with Server not responding. Mac Format suggested changing the DNS settings but why would you do this when the iMac and iPhone are working fine. An iPad that ca
-
Quick Time 7 won't install on win XP - How to fix
I have struggled lately with the QuickTime instalation problem. I had a previous version and for some unknown reason the upgrade to version 7 when installing iTunes5 did not run smoothly. So I lost the old version and could not indtall the new one al