Dynamic record mapping
Hi All,
We are having a requirement where we need to merge the data from two endeca indexes at runtime.
The scenario is like this. We have two endeca indexes hosted on two dgraphs.
1. One Dgraph is hosting product catalog information
2. Other Dgraph is hosting indexes which has a custom attribute and associated product information..
We want to fire only one query to Endeca which will fetch the records from two indexes merge them (i.e. fetch the associated product from second dgraph and get complete product catalog
information from first dgraph)
Is there any way we can do merging of data from two indexes at runtime ?
We could have designed so as to merge the two indexes to one, but that would impact the performance both offline indexing and online response time from Endeca.
Thanks in advance.
Regards,
SS
SS,
You will have to do two Endeca queries as you have two indexes. You can do it in one cartridge but not in one query. You can merge the data in your cartridge handler and then pass it forward as a single object.
Few things to note:
~ even if you do it in one cartridge, the navigation state of the user will be based on one index only (ie. you can have a query that mixes n value from two indexes)
~ Endeca queries are quite fast (if the data structure is right), making two queries on your page should not be the biggest performance concern for the page.
HTH,
Pankaj.
Similar Messages
-
hi,
can u plz explain about Dynamic value mapping and where it actually use this
thanks
gunaHi ,
Dynamic value mapping.is nothing but
It is FixValues and ValueMapping under Conversion Functions.
Eg:
You need such a requirement. Where the values in the source are mapped to someother value in the target as below.
1--> Mr
2--> MS
3--> MRS
FixValues is used when you know the entire set of Key value pair in the Design Time. You give the Key and the value in the FixValues and the mapping checks and maps the values to the target.
In the case of Value mapping, you maintain this Key - Value pair in the Integration Directory and thereby make changes easily and also use them in the Mapping in IR
Refer These blogs
ValueMapping using the Graphical Mapping Tool -value mapping using grapic mapping tool
Value Mapping replication - value mapping replication
Accessing Value Mapping defined in Directory using Java functions - accesing value mapping
Dynamic Date Conversion in Message Mapping - dynamic date conversion
Dynamic Configuration of Some Communication Channel Parameters using Message Mapping - dynamic confighuration
Dynamic file name(XSLT Mapping with Java Enhancement) using XI 3.0 SP12 Part -II - dynamic file name
and also
Refer this link
http://help.sap.com/saphelp_nw2004s/helpdata/en/d7/e551cf896c3a49bb87bb4ce38c99c8/frameset.htm - external context mapping
Regards,
Suryanarayana -
Dynamic Tempo Mapping In Audition CC
Hello Adobe,
I've seen various forum postings about this in the past, but nothing very recently. I just downloaded the latest version of Audition CC. It looks great, a lot of cool new features, but I wanted to reiterate on past postings that dynamic tempo mapping functionality would be extremely useful. It doesn't need to be anything too fancy. Just need to be able to tell Audition that after 30 bars of 4/4 at 120 bpm, I'd like the metronome and bars/beats display to change to 3/4 at 130 bpm etc.
Just want to bump this back onto your radar. Thanks.
-BrendanI've used the Ozone with Audition in the past (we're talking about the keyboard/audio combo device, right?) and it's been fine. If you're seeing the playhead move and the level meters update when attempting to play through it, that means the communication should be there.
Any chance you can show us screenshots of the "Audio Hardware" and "Audio Channel Mapping" panels in the preferences dialog? That might help get started. -
Dynamic record group not working when apostrophes are used
Hi Everyone,
I have developed a Form for the most part everything is working as expected. However, there is a search functionality that is giving me problems. The issue is that when the user enters search criteria for last_name that has an apostrophe (O'brian) the search lov doesn't get populated because the dynamic record group is not getting created when the string has an apostrophe (ie O'brian). I have a dynamic record group that takes the user's search criteria and populates an LOV on the screen with the records that matched their criteria.
Here is the code that is behind my search button where the dynamic RG gets created. It works fine for all searches that don't contain an apostrophe. Btw, the Oracle Forms version is 10g.
DECLARE
p_where_debtor varchar2(2000);
p_where_liab varchar2(2000);
rg_id RecordGroup;
v_query varchar2(2000) := null;
rg_name varchar2(2000):= 'RG_LIAB_LST';
errcode NUMBER;
BEGIN
IF :SEARCH.cd_nb is null and
:SEARCH.cd_seq is null and
:SEARCH.f_name is null and
:SEARCH.l_name is null and
:SEARCH.mi_name is null
then
display_message ('Search criteria must be entered');
raise form_trigger_failure;
END IF;
v_query := 'SELECT last_name, first_name, middle_name, c_no, c_seq
FROM TABLE_VW2 WHERE 1=1';
/*Search criteria entered by user*/
IF :SEARCH.l_name_srch IS NOT NULL THEN
v_query := v_query||' AND UPPER(last_name) LIKE '''||UPPER(:SEARCH.l_name)||'%''';
END IF;
IF :SEARCH.f_name_srch IS NOT NULL THEN
v_query := v_query||' AND UPPER(first_name) LIKE '''||UPPER(:SEARCH.f_name)||'%''';
END IF;
IF :SEARCH.mi_srch IS NOT NULL THEN
v_query := v_query||' AND UPPER(middle_name) LIKE '''||UPPER(:SEARCH.mi_name)||'%''';
END IF;
IF :SEARCH.cdcs_nbr_srch IS NOT NULL THEN
v_query := v_query||' AND UPPER(c_no) LIKE '''||UPPER(:SEARCH.cd_nb)||'%''';
END IF;
IF :SEARCH.cdcs_seq_srch IS NOT NULL THEN
v_query := v_query||' AND UPPER(c_seq) LIKE '''||UPPER(:SEARCH.cd_seq)||'%''';
END IF;
/*Make sure record group doesn't exisit*/
rg_id := Find_Group(rg_name);
/*If it doesn't exist then create record group*/
IF id_null(rg_id) THEN
rg_id:= create_group_from_query(rg_name,v_query);
END IF;
IF NOT id_null (rg_id) THEN
delete_group (rg_id);
rg_id:= create_group_from_query(rg_name, v_query);
END IF;
errcode := Populate_Group(rg_id);
Any help would be greatly appreciated.
Thanks,
AdrianFor every item where an apostroph can occur, do a
REPLACE(:BLOCK.ITEM, '''', ''''''); -
Hi,
Gurus,
I'm working on idoc to file scenarion and i have to implement MDM dynamic value mapping for one of the idoc fields, and i have no idead about MDM dynamic value mapping , can anybody help me with step-by-step procedure to implement it and I'm not java guy...
Thanks!!
Waiting for reply...Hi,
This might help you,
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/62770ffa-0301-0010-a0b2-c77294a3902e
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/5a9c405f-0a01-0010-0980-fa5082e517e6
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/603ca425-0c01-0010-cdb2-c10d13c43631
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/4ce0d691-0b01-0010-f4aa-c938d438ceb2
Setting up algorithm on MDM Client
Regards
Agasthuri Doss -
Value Mapping and Dynamic Value Mapping
Hi Experts,
Could you please give a example for Value Mapping and Dynamic Value Mapping?
Regards
SaraSara,
I am assuming that you are going to use the Receiver JDBC adapter to select the data from the database.
In this case, take a look at this blog of mine to understand how te dataypes should be created for the request and response JDBC Select Query.
/people/bhavesh.kantilal/blog/2006/07/03/jdbc-receiver-adapter--synchronous-select-150-step-by-step
The only difference would be that in the mapping when you create the Request Message for the JDBC adapter, the columns you create would be determined from the Source,
i.e, if value = 1 , only the required Columns should be mapped as Blank constants,
likewise for the other requirement.
the columns you do not want to select you should not create them in theoutput of your request mapping.
Regards
Bhavesh -
Please explain me step by step to create dynamic record group and populate it into my combo box.
thanks
rupal
Edited by: rupearlkaushal on Jun 13, 2012 9:39 PMhi
plz check out the following threads.
Dynamic creation of record group
and
Dynamic Record Group
LOV (List of Values)
LOV is nothing but a form item which is used to provide list of values to a text field.
Each LOV contains a Record Group which provides the data to the LOV
Record Group
A record groups contains the query which is used to populate the values to the LOV.
To alter a list of values(LOV) of a text field, we should change the query of the
record group which is attached to the corresponding LOV or we should create a
new record group and attach it to the existing LOV.
Note : We cant create a new LOV. But we can attach a exsiting LOV to a form field.Method 1: Changing the query of the existing Record group
declare
rg_id RECORDGROUP ;
err number;
lv_id lov;
begin
rg_id:=find_group('LOV4'); -- LOV4 is the name of the existing LOV
if not id_null(rg_id) then
err:=populate_group_with_query(rg_id,
'select deptno from dept where dname=''SALES''');
end if;
lv_id:=find_lov('LOV4');
set_lov_property(lv_id,group_name,rg_id);Method 2: Creating a new Record Group if doesn't exists
declare
rg_id recordgroup;
pg_num number;
lv_id lov;
begin
rg_id:=find_group('MYGROUP'); -- MYGROUP is the Group Name
if id_null(rg_id) then
rg_id:=create_group_from_query('MYGROUP','SELECT 100 deptno FROM dual');
end if;
pg_num:=populate_group(rg_id);
lv_id:=find_lov('LOV4');sarah
Edited by: Sarah on Jun 13, 2012 9:56 PM -
function displayMap(e) {
var title = e.data.title,
latlng = e.data.lat + ',' + e.data.lng;
if (typeof device !='undefined' && device.platform.toLowerCase() == 'android') {
window.location = 'http://maps.google.com/maps?z=16&q=' + encodeURIComponent(title) + '@' + latlng;
} else {
$('#map h1').text(title);
$('#map div[data-role=content]').html('<img src="http://maps.google.com/maps/api/staticmap?center=>' + latlng + ' &zoom=16&size=320x420&markers=' + latlng + '&sensor=false">');
$.mobile.changePage('#map', 'fade', false, true);
my phonegap (Adobe press, Powers jQuery with dw 5.5) book (old book (c)2010-11) says for above code: // is this valid for today, is this the right to use or for iOS can use dynamic google maps embeded(can be embedded fo iOS)???
On iOS, calling window.location loads the map directly
into the app. That’s great until you realize that iOS devices
don’t have a Back button, so there’s no way to exit the
map. To get round this problem, I loaded a static map as
an image in the map page block. It’s not interactive, but at
least you can continue using the Travel Notes app after
viewing the map by clicking the Back button generated by
jQuery Mobile.Well, this took me a while to get solved, but it is indeed solved.
I tried USB Overdrive and it could, and perhaps should work, but apparently it will not. When adding a device, it seems that USB Overdrive is not set up to handle any input device that does not register itself as either a Mouse or a Joystick. The VEC USB Footpedal that I'm using is "Device type: Other".
So, I went for Quickeys. And Quickeys can do it all. It did recognize the device, I was able to assign it to the scope of the particular audio playback app I wanted to use (Amazing Slow Downer OS X - which is truly amazing. Any musicians reading this who are looking for a way to learn pieces by ear, this does it better than anything else I've seen yet).
I created a shortcut in Quickeys for the ASD app; added the middle button of the foot pedal as the trigger; set one step, entering 'space bar' as the step (which toggles playback, similar to many audio players).
It all worked.
Quickeys is very confusing and seemingly featured with an endless array of options. Enter at your own risk. Ask me for help. This was the only way to get it done that I could find. I did write to the author of USB Overdrive asking him to please support additional devices as I did find some traction from gamers who like to use a foot pedal in addition to other input devices. There was a Windows-only management utility for the foot pedal that was intended for custom input, assigning the buttons to any keyboard input or mouse click event. It would be nice to have a simple and easy to use utility like this. But, Quickeys did do the job.
Thanks for your help, you guys!!! -
Dynamic Loading Maps BizTalk 2006 R2 upgrade to BizTalk 2013
We are in the process of upgrading BizTalk to 2013 R2 from BizTalk 2006 R2.
In an orchestration we are dynamic using map type classes.
It works fine in 2006 R2, 2010 but not 2013 R2.
When I run the below code in VS 2008 it retrieves the class types from the assemblies.
In VS 2013 it does not. Why?
//CCIJIS_WarrantClearRequest_X_MCIJIS_CLWR
string typeName =
"x";
string className =
"x";
Type mapType =
Type.GetType("MCIJIS_RCLW_X_CCIJIS_WarrantClearResponse,
CCIJIS.State.Transforms, Version=1.2.0.0, Culture=neutral, PublicKeyToken=d18be0be6c153b84");
mapType =
Type.GetType("CCIJIS.State.Transforms.MCIJIS_RCLW_X_CCIJIS_WarrantClearResponse");
if (mapType ==
null)
foreach (Assembly
a in
AppDomain.CurrentDomain.GetAssemblies())
if (a.FullName.Contains("CCIJIS.State.Transforms"))
typeName = a.FullName;
mapType = a.GetType(a.FullName);
foreach (Type
type in a.GetTypes())
className = type.FullName;
James NanceHi James,
Try debugging your code by attaching Visual Studio to the BTSNTSVC.exe process and see where exactly your code is failing.
For debugging your orchestration refer:
BizTalk Orchestration – Orchestration debugging inside Visual Studio
Checkpoint: Ensure you have using correct fully-qualified map name.
Rachit
Please mark as answer or vote as helpful if my reply does -
Dynamic record deletion from database table
Hi,
I need to delete selected records from database table(dynamic names). Table names are being passed from main program with some of their field names. The record to be deleted from the database table is being decided based on the fields passed for the table and their contains passed from the main program.
It is not possible to write dynamic where clause for DELETE statement directly.
So, I created a dynamic internal table and i am trying to fetch all records using SELECT statement(for which we can write dynamic where condition, something like...SELECT...WHERE (itab). ) which need to be deleted in the iternal table.
Piece of code :
CONCATENATE c_im v_tablefield1 INTO v_imprtfield1.
CONCATENATE v_tablefield1 c_in v_imprtfield1
into s_condition separated by space.
APPEND s_condition TO t_condition.
PERFORM GET_DYNAMIC_ITAB USING s_flds_agtab-tabname
changing t_itab.
ASSIGN t_itab->* TO <itab>.
*Select the data (to be deleted) from the database table
SELECT * FROM (s_flds_agtab-tabname) INTO TABLE <itab>
WHERE (t_condition).
*Delete the records from the table
IF SY-SUBRC = 0.
DELETE (s_flds_agtab-tabname) FROM TABLE <itab>.
ENDIF.
Here t_condition is of standard table of WHERETXT.
t_condition at the run time before giving dump was:
SPART IN IM_SPART
AND KUNNR IN IM_KUNNR
Here IM_SPART is renge type of SPART and IM_KUNNR is renge of KUNNR.
I am getting a DUMP:
The WHERE condition has an unexpected format.
Error analysis
The current ABAP/4 program attempted to execute an ABAP/4 Open SQL
statement containing a WHERE condition of the form WHERE (itab) or
WHERE ... AND (itab). The part of the WHERE condition specified at
runtime in the internal table itab contains the operator
IN (v1, ..., vn)
in incomplete form.
How to correct the error
If the error occurred in a non-modified SAP program, you may be
able to find a solution in the SAP note system.
If you have access to the note system yourself, use the following
search criteria:
"SAPSQL_IN_ILLEGAL_LIST"
"SAPLZSD_TAB_REFRESH " or "LZSD_TAB_REFRESHU01 "
"Z_SD_REFRESH_AGTABLES"
If you cannot solve the problem yourself, please send the
following documents to SAP:
I would like to know whether "IN" operator is allowed in (itab) of WHERE clause. While testing I changed the "IN" to "=" specifying a suitable value there. It worked. So please let me know if i can give "IN" operator using renge table in the dynamic where clause.
Thanking you,
SuryaHi again, so if you can not use the IN in a dynamic where clause you might be forced to dynamically build the entire select statement, Here is a sample program which may give you some ideas, notice that we are writing the select statement code, putting it in another program and generating the subroutine at runtime, then call this routine. I'm sure that this will help you see what you need to do.
report zrich_0003 .
tables: kna1.
types: t_source(72).
data: routine(32) value 'DYNAMIC_SELECT',
program(8),
message(128),
line type i.
data: isource type table of t_source,
xsource type t_source.
ranges:
r_kunnr for kna1-kunnr.
data: ikna1 type table of kna1.
data: xkna1 type kna1.
r_kunnr-sign = 'I'.
r_kunnr-option = 'EQ'.
r_kunnr-low = '0001000500'.
append r_kunnr.
xsource = 'REPORT ZTEMP.'.
insert xsource into isource index 1.
xsource = 'FORM dynamic_select'.
insert xsource into isource index 2.
xsource = 'Tables r_kunnr ikna1.'.
append xsource to isource.
xsource = 'select * into table ikna1 from kna1'.
append xsource to isource.
xsource = 'where kunnr in r_kunnr.'.
append xsource to isource.
xsource = 'ENDFORM.'.
append xsource to isource.
generate subroutine pool isource name program
message message
line line.
if sy-subrc = 0.
perform (routine) in program (program) tables r_kunnr
ikna1.
else.
write:/ message.
endif.
loop at ikna1 into xkna1.
write:/ xkna1-kunnr.
endloop.
Regards,
Rich Heilman -
Dynamic Context Mapping in Web Dynpro ABAP
Hi Experts,
How can I create two dynamic Context nodes, one in ViewController and the other in Component Controller and finally create a context mapping between them?
Regards,
Johan Kriek.Hi Johan,
I found a method IF_WD_CONTEXT_NODE_INFO~ADD_NEW_MAPPED_CHILD_NODE that seems to be the one that I am looking for.
I do have same idea but i have been trying to give solution by using above method,unfortunately here my server is down.check the below code. i didnt check this code due to server down.
DATA: lo_nd_purchase_header TYPE REF TO if_wd_context_node,
lo_el_purchase_header TYPE REF TO if_wd_context_element,
ls_purchase_header TYPE wd_this->element_purchase_header,
lo_node_info type ref to if_wd_context_node_info,
lo_child_node_info type ref to if_wd_context_node_info,
MAPPING_INFO type WDR_CONTEXT_MAPPING_INFO.
* navigate from <CONTEXT> to <PURCHASE_HEADER> via lead selection
lo_nd_purchase_header = wd_context->get_child_node( name = wd_this->wdctx_purchase_header ).
CALL METHOD LO_ND_PURCHSE_HEADER->GET_NODE_INFO
RECEIVING
NODE_INFO = lo_node_info.
MAPPING_INFO-controller = 'ZWDC_ALV'. "conponent name
MAPPING_INFO-path = 'PURCHASE_HEADER'. "Controller context node name
CALL METHOD LO_NODE_INFO->ADD_NEW_MAPPED_CHILD_NODE
EXPORTING
CHILD_NAME = 'PURCHASE_HEADER'
MAPPING_INFO = MAPPING_INFO
* IS_STATIC = ABAP_TRUE
RECEIVING
CHILD_NODE_INFO = lo_child_node_info -
Hello,
Is it possible to create dynamic mapping between contexts of view and e.g. custom controller at runtime? If it is possible, so how. I have not found any documentation about this.
Thanks a lot for answers!
With best regards
Michael BelenkiHi,
The problem is not getting solved.Am getting an error while trying to dynamically map a node in the view controller from the component controller in ABAP.
I have a node
Const_data(node)
|_
Value(attribute)
and it has an attribute 'value' .Both are created dynamically.
Now when I try to map this context in the view controller.I use the following code.
map_path = 'COMPONENTCONTROLLER.CONST_DATA.VALUE'.
insert map_path into table path_mapping_table.
struct_mapping_info-CONTROLLER = 'COMPONENTCONTROLLER'.
struct_mapping_info-PATH = path_mapping_table.
const_dat_info =
context_root-ADD_NEW_MAPPED_CHILD_NODE
( CHILD_NAME = 'CONST_DATA'
IS_STATIC = abap_false MAPPING_INFO = struct_mapping_info) .
Now when I try to get the value of attribute "value".
I get an error message :
Attribute COMPONENTCONTROLLER.1.VALUE could not be found
Since I am not trying an external mapping I dont think I need set_mapping_complete method. -
IDOC with Multiple Segment to One Single Record Mapping
Hello
I have a problem mapping the values of the segment <E1CSKTM>
which occurs two times in my source IDOC to a single record.
My requirement is to get one field (LTEXT) from the first E1CSKTM segment and map it to Name and take the same field (LTEXT) but from the second E1CSKTM segment and map it to OrgDescription
The source message:
<?xml version="1.0" encoding="UTF-8"?>
<COSMAS01>
<IDOC BEGIN="1">
<EDI_DC40 SEGMENT="1">
<TABNAM>EDI_DC40</TABNAM>
<MANDT>300</MANDT>
<DOCNUM>0000000000750131</DOCNUM>
<DOCREL>700</DOCREL>
<STATUS>30</STATUS>
<DIRECT>1</DIRECT>
<OUTMOD>2</OUTMOD>
<IDOCTYP>COSMAS01</IDOCTYP>
<MESTYP>COSMAS</MESTYP>
<STDMES>COSMAS</STDMES>
<SNDPOR>SAPQAE</SNDPOR>
<SNDPRT>LS</SNDPRT>
<SNDPRN>QAE300</SNDPRN>
<RCVPOR>SAPQAX</RCVPOR>
<RCVPRT>LS</RCVPRT>
<RCVPRN>QAX304</RCVPRN>
<CREDAT>20080308</CREDAT>
<CRETIM>090820</CRETIM>
<SERIAL>20080211134325</SERIAL>
</EDI_DC40>
<E1CSKSM SEGMENT="1">
<MSGFN>005</MSGFN>
<MANDT>300</MANDT>
<KOKRS>1000</KOKRS>
<KOSTL>0105012501</KOSTL>
<DATBI>99991231</DATBI>
<DATAB>19000101</DATAB>
<ERSDA>20060219</ERSDA>
<USNAM>HAMEED</USNAM>
<BKZER>X</BKZER>
<BKZOB>X</BKZOB>
<PKZER>X</PKZER>
<MGEFL>X</MGEFL>
<BUKRS>1000</BUKRS>
<GSBER>20</GSBER>
<KOSAR>N</KOSAR>
<VERAK>TBA</VERAK>
<WAERS>SAR</WAERS>
<KHINR>105012001</KHINR>
<KOMPL>X</KOMPL>
<OBJNR>KS10000105012501</OBJNR>
<PRCTR>0105012000</PRCTR>
<FUNC_AREA>Z240</FUNC_AREA>
<FUNC_AREA_LONG>Z240</FUNC_AREA_LONG>
<E1CSKTM SEGMENT="1">
<MSGFN>005</MSGFN>
<SPRAS>A</SPRAS>
<KTEXT>مدير الدائرة وموظفوه</KTEXT>
<LTEXT>م. د. وموظفوه/ حسابات منطقة المدينة</LTEXT>
<SPRAS_ISO>AR</SPRAS_ISO>
</E1CSKTM>
<E1CSKTM SEGMENT="1">
<MSGFN>005</MSGFN>
<SPRAS>E</SPRAS>
<KTEXT>DvM and Stff/AOD-Mad.</KTEXT>
<LTEXT>Div Mgr and Staff/AOD-Madinah</LTEXT>
<SPRAS_ISO>EN</SPRAS_ISO>
</E1CSKTM>
</E1CSKSM>
</IDOC>
</COSMAS01>
The Target Message:
<?xml version="1.0" encoding="UTF-8"?>
<ns0:CostElementMT xmlns:ns0="http://se.com.sa/materials">
<INSERT>
<COSTELEMENT_DATA action="INSERT">
<TABLE>usmuser.OrganizationCodes_test</TABLE>
<access>
<OrgCode>105012001</OrgCode>
<CostCenter>0105012501</CostCenter>
<OrgDescription> English Name<OrgDescription/>
<Name>Arabic Name</Name>
</access>
</COSTELEMENT_DATA>
</INSERT>
</ns0:CostElementMT>
is this possible using the graphical mapping?Hi Baheej,
If in your input "E1CSKTM" segment always occurs twice than u can go with the above UDF mentioned by Chirag and also u need to take care that field (LTEXT) also always occurs.If the field does not occur always than you need to check it using exists functions.
Andmoreover if the "E1CSKTM" segment does occur more than twice than u need to create a UDF where u need to pass the values alternatively.
Please check the above details and let us know if any furthur enhancements are to be made.
Thanks,
Bhargav
Note:Award Points if found useful. -
XI Idoc outbound record mapping
Hi,
I created proxy to IDoc interface.
All the data are being converted into IDoc format through IDoc adapter.
Now, I am considering another interface which is for data monitoring.
The interface flow is like below.
1. send data to XI (proxy)
2. mapping proxy to IDoc (IDoc adapter)
3. send a IDoc to R/3 1 (IDoc)
4. mapping IDoc to rfc
5. send a rfc data to R/3 2 (rfc)
In the step 4, I need to map IDoc's control records, created automatically by IDoc adapter, to fields in rfc.
But I have no idea how to use outbound record for mapping.
Please help me to resolve the issue.
Thanks in advance.
Regards,
Andrew<i>In the step 4, I need to map IDoc's control records, created automatically by IDoc adapter, to fields in rfc.
But I have no idea how to use outbound record for mapping.</i>
>>>>>
I am not sure if you can map the control records created automatically by the IDoc adapter to the RFC. You will have to hardcode them in your mapping (IDOC -> RFC). -
(urgent) Dynamic record groups and LOV
I have to create a record group and then add 2 rows to it manually.Following is the code.There are no values displayed in the lov.Please help.
PROCEDURE create_record_group IS
BEGIN
DECLARE
rg varchar2(40) := 'test_fips';
rg_id RECORDGROUP;
lov_id Lov;
err NUMBER;
gc_id1 GROUPCOLUMN;
gc_id2 GROUPCOLUMN;
counter number;
BEGIN
rg_id := FIND_GROUP(rg);
lov_id := FIND_LOV('LOV_FIPS');
IF NOT ID_NULL(rg_id) THEN
DELETE_GROUP(rg_id);
END IF;
IF ID_NULL(rg_id) THEN
rg_id := CREATE_GROUP(rg);
gc_id1 := add_group_column (rg_id,'col1',number_column);
gc_id2 := add_group_column(rg_id,'col2',char_column,40);
END IF;
/* adding static content to LOV */
ADD_GROUP_ROW( rg_id,1);
SET_GROUP_NUMBER_CELL(gc_id1,1,997);
SET_GROUP_CHAR_CELL(gc_id2,1,'MLAB');
counter := get_group_row_count(rg_id);
/* adding dynamic content */
FOR rec in (SELECT FIPS_CD COL1, LOCNAME COL2 FROM FIPS) LOOP
counter := counter +1 ;
ADD_GROUP_ROW( rg_id, counter);
SET_GROUP_NUMBER_CELL(gc_id1,counter,rec.col1);
SET_GROUP_CHAR_CELL(gc_id2,counter,rec.col2);
END LOOP;
SET_LOV_PROPERTY('LOV_FIPS',GROUP_NAME, rg);
END;
END;I tried creating the group the way you suggested but it does not seem to work because of 'UNION' in the query.It says unable to create rcord group.Did you anytime use the 'UNION' option while creating record group.
While creating record group at design time also you cannot use UNION with dual.
This how I modified :
PROCEDURE create_record_group IS
BEGIN
DECLARE
V_RG_ID RECORDGROUP;
RG_NAME VARCHAR2(20) := 'TEST_FIPS';
V_ERRCODE NUMBER;
BEGIN
V_RG_ID := FIND_GROUP('TEST_FIPS');
IF ID_NULL(V_RG_ID) THEN
V_RG_ID := CREATE_GROUP_FROM_QUERY('TEST_FIPS', 'SELECT FIPS_CD, LOCNAME FROM FIPS
UNION SELECT 997,'MLAB' FROM DUAL');
END IF;
V_ERRCODE := POPULATE_GROUP(V_RG_ID);
MESSAGE('CREATED '|| V_ERRCODE);
SET_LOV_PROPERTY('LOV_FIPS',GROUP_NAME, RG_NAME);
END;
END;
Notice here 'MLAB' is char and I get compilation error if I use these quotes with MLAB.But is I remove the quotes the it compiles.
Thanks
Maybe you are looking for
-
Unable to Communicate With Printer error
I have an HP Office Pro 8600 Plus that is connected wirelessly. After I start the computer, I can print fine for a day, but when I try to print the next day, I get the error message 'Unable to Communicate With Printer'. I am running Windows XP 32
-
Premiere Pro Performance woes; Ducks in a row, no quacking.
First off, a big thank you to all of you who answer our questions here on this forum - you are a beacon of light in an otherwise dark and confusing world. Here's the situation: I have CS4 and I think a pretty fast computer. I was having a lot of pr
-
Any ideas why it freezes up on me?
-
When calls get disconnected, call timer does not s...
I have had European unlimited account for several years, for the past couple of months when calling land lines the number rings, the number is answered and the line goes dead, the timer on the phone continues to increase, I have the same problem usi
-
CREATIVE ZEN MICRO and WINDOWS VI
I hope this question has not been repeated. I have a Creative Zen Micro and have attempted to install it on my current computer that uses Windows Vista 32-bit. However, it was unable to install or find the driver necessary. I've already looked at the