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

  • Dynamic value mapping

    hi,
    can u plz explain about Dynamic value mapping and where it actually use this
    thanks
    guna

    Hi ,
    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.
    -Brendan

    I'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,
    Adrian

    For every item where an apostroph can occur, do a
    REPLACE(:BLOCK.ITEM, '''', '''''');

  • MDM dynamic value mapping

    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
    Sara

    Sara,
    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

  • Dynamic record group

    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 PM

    hi
    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

  • Is this the right to use or for iOS can use dynamic google maps embeded(can be embedded fo iOS)

    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 Nance

    Hi 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,
    Surya

    Hi 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

  • Dynamic context mapping

    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 Belenki

    Hi,
    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>&#1605;&#1583;&#1610;&#1585; &#1575;&#1604;&#1583;&#1575;&#1574;&#1585;&#1577; &#1608;&#1605;&#1608;&#1592;&#1601;&#1608;&#1607;</KTEXT>
                <LTEXT>&#1605;. &#1583;. &#1608;&#1605;&#1608;&#1592;&#1601;&#1608;&#1607;/ &#1581;&#1587;&#1575;&#1576;&#1575;&#1578; &#1605;&#1606;&#1591;&#1602;&#1577; &#1575;&#1604;&#1605;&#1583;&#1610;&#1606;&#1577;</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