MDM ABAP API: Query with Multiple Parameters

I would like to query MDM repository passing multiple parameters. I used the following code, however, it didn't work.
If I pass only one parameter, it works fine.
DATA lt_query                  TYPE mdm_query_table.
DATA ls_query                 TYPE mdm_query.
DATA lv_search_text       TYPE string.
DATA lt_result_set            TYPE mdm_search_result_table.
DATA ls_result_set           LIKE LINE OF lt_result_set.
* Fill query structure with FIRST parameter
    ls_query-parameter_code  = 'Name'.
    ls_query-operator        = 'CS'. 
    ls_query-dimension_type  = mdmif_search_dim_field.    
    ls_query-constraint_type = mdmif_search_constr_text.
    lv_search_text = 'BMW'.
    GET REFERENCE OF lv_search_text INTO ls_query-value_low.
    APPEND ls_query TO lt_query.
* Fill query structure with SECOND parameter
    ls_query-parameter_code  = 'Model'.
    ls_query-operator        = 'CS'. 
    ls_query-dimension_type  = mdmif_search_dim_field.    
    ls_query-constraint_type = mdmif_search_constr_text.
    lv_search_text = '2009'.
    GET REFERENCE OF lv_search_text INTO ls_query-value_low.
    APPEND ls_query TO lt_query.
* Query on records (search for value 'BMW' model '2009' in table Products)
    CALL METHOD lr_api->mo_core_service->query
      EXPORTING
        iv_object_type_code = 'Products'                  
        it_query            = lt_query
      IMPORTING
        et_result_set       = lt_result_set.

Hi,
I see you are not clearing your local structure "ls_query".  This could be reason of problem,  try this and let us know the result:
DATA lt_query                  TYPE mdm_query_table.
DATA ls_query                 TYPE mdm_query.
DATA lv_search_text       TYPE string.
DATA lt_result_set            TYPE mdm_search_result_table.
DATA ls_result_set           LIKE LINE OF lt_result_set.
Fill query structure with FIRST parameter
    ls_query-parameter_code  = 'Name'.
    ls_query-operator        = 'CS'. 
    ls_query-dimension_type  = mdmif_search_dim_field.    
    ls_query-constraint_type = mdmif_search_constr_text.
    lv_search_text = 'BMW'.
    GET REFERENCE OF lv_search_text INTO ls_query-value_low.
    APPEND ls_query TO lt_query.
CLEAR ls_query.
Fill query structure with SECOND parameter
    ls_query-parameter_code  = 'Model'.
    ls_query-operator        = 'CS'. 
    ls_query-dimension_type  = mdmif_search_dim_field.    
    ls_query-constraint_type = mdmif_search_constr_text.
    lv_search_text = '2009'.
    GET REFERENCE OF lv_search_text INTO ls_query-value_low.
    APPEND ls_query TO lt_query.
CLEAR ls_query.
Query on records (search for value 'BMW' model '2009' in table Products)
    CALL METHOD lr_api->mo_core_service->query
      EXPORTING
        iv_object_type_code = 'Products'                  
        it_query            = lt_query
      IMPORTING
        et_result_set       = lt_result_set.

Similar Messages

  • MDM ABAP API query to pass the date range

    Hi
    I want to retrieve certain data from MDM repository based on filter criteria by date stamp.
    Not sure how to do it to pass the select option value in the query.
    select-options: s_cdate for sy-datum obligatory .
    DATA  wa_query     TYPE mdm_query.
    DATA: v_search_date1    TYPE MDM_CDT_DATE_TIME.
    data: v_datestamplow1   type string.
    data: v_datestamplow    type TZNTSTMPL.
    concatenate s_cdate-low '000000' into v_datestamplow1
    v_datestamplow  = v_datestamplow1.
    clear wa_query.
        wa_query-parameter_code = 'Changed_On '.             "Field code ( Field name )
        wa_query-operator = 'EQ'.
        wa_query-dimension_type = mdmif_search_dim_field.    "Field search
        wa_query-constraint_type = MDMIF_SEARCH_CONSTR_DATE. "Date  serach
    I am able to get the data when I just pass the low value from selecct option.  But I dont how  to pass the date range.
       v_search_date1-CONTENT = v_datestamplow.
        ET REFERENCE OF v_search_date1 INTO wa_query-value_low.
        APPEND wa_query TO gt_query.
      CALL METHOD cl_api->mo_core_service->query
          EXPORTING
            iv_object_type_code = 'Vendors'
            it_query            = gt_query
          IMPORTING
            et_result_set       = gt_result.
    II could see the below operator types . Although EQ says "Like standard select-options parameter" not sure how to pass the value.
    EQ     Equal to (like standard select-options parameter)
    NE     Not equal to (like standard select-options parameter)
    LT     Less than (like standard select-options parameter)
    LE     Less than or equal to (like standard s-o parameter)
    GT     Greater than (like standard select-options parameter)
    GE     Greater than or equal to (like standard s-o parameter
    SW     Starts with (MDM specific parameter)
    Thanks,
    Krishna.

    Hi,
    To get the date range for select options, pass the low value with 'GE' operator and another query option with 'LE' operator for high value.
    select-options: s_cdate for sy-datum obligatory .
    DATA wa_query TYPE mdm_query.
    DATA: v_search_date1 TYPE MDM_CDT_DATE_TIME.
    data: v_datestamplow1 type string.
    data: v_datestamplow type TZNTSTMPL.
    concatenate s_cdate-low '000000' into v_datestamplow1
    v_datestamplow = v_datestamplow1.
    clear wa_query.
    wa_query-parameter_code = 'Changed_On '. "Field code ( Field name )
    wa_query-operator = 'GE'.
    wa_query-dimension_type = mdmif_search_dim_field. "Field search
    wa_query-constraint_type = MDMIF_SEARCH_CONSTR_DATE. "Date serach
    GET REFERENCE OF v_search_date1 INTO wa_query-value_low.
    APPEND wa_query TO gt_query.
    concatenate s_cdate-high '235959' into v_datestamphigh1
    v_search_date2 = v_datestamphigh1.
    clear wa_query.
    wa_query-parameter_code = 'Changed_On '. "Field code ( Field name )
    wa_query-operator = 'LE'.
    wa_query-dimension_type = mdmif_search_dim_field. "Field search
    wa_query-constraint_type = MDMIF_SEARCH_CONSTR_DATE. "Date serach
    GET REFERENCE OF v_search_date2 INTO wa_query-value_low.
    APPEND wa_query TO gt_query.
    CALL METHOD cl_api->mo_core_service->query
    EXPORTING
    iv_object_type_code = 'Vendors'
    it_query = gt_query
    IMPORTING
    et_result_set = gt_result.
    Thanks.

  • MDM ABAP API select-option

    Hi,
    I am using MDM ABAP API to retrieve values from MDM. I would like to know if there is any way to use select-option to query and retrieve values from MDM. Below is my code which retrieves values from MDM:
          IF p_stat IS NOT INITIAL.
            wa_query-parameter_code  = 'Z_EMPLOYMENT_STATUS'. "Field code
              wa_query-operator        = 'EQ'.   "Equals
            wa_query-dimension_type  = '1'.      "Fieldsearch
            wa_query-constraint_type = '8'.
            LOOP AT p_stat.
              lv_text1 = p_stat-low.
              GET REFERENCE OF lv_text1 INTO wa_query-value_low.
              APPEND wa_query TO gt_query.
            ENDLOOP.
          ENDIF.
          CALL METHOD lr_api->mo_core_service->query
            EXPORTING
              iv_object_type_code = 'Z_PEOPLE'             
              it_query            = gt_query
            IMPORTING
              et_result_set       = gt_result.
    I can't pass multiple values to gt_query like in select-option.
    Is there any way to do so?.
    Thanks & Regards,
    Soumya.

    Any solution?.

  • MDM Hierarchy Table Into Tree UI Control in ABAP WebDynpro & MDM ABAP APIs

    Experts,
    I am a newbie to ABAP / MDM ABAP APIs. I am looking into the possibility of using Tree as as a UI control in a webdynpro abap application to represent hierarchy tables, perform hierarchy / taxonomy search, create and update records involving hierarchy fields, using MDM ABAP APIs.
    I would like to seek inputs to check whether and how, is it possible to use MDM ABAP APIs to:
    1. To perform taxonomy search on material table
    2. To Create material records in the main table involving taxonomy fields.
    3. To search on main table records using taxonomy attribute values as search parameters.
    4. To use Tree UI control with in WebDynPro ABAP, to peform above operations.
    We intend to use function modules - service calls from within WebDynPro ABAP applications, hence would like to know the feasibility, actual build effort and complexity of function modules.
    Inputs and advice on same will be highly appreciated and duly rewarded.
    Regards,
    Paras

    1. To perform taxonomy search on material table - if material table is of type Taxonomy then possible
    2. To Create material records in the main table involving taxonomy fields - possible . you create records in main table and assign value of field to that of taxonomy table entry
    3. To search on main table records using taxonomy attribute values as search parameters. - possiblr
    4. To use Tree UI control with in WebDynPro ABAP, to peform above operations. - yes possible
    dont mix between hierarchy table and taxonomy table
    they are diff in MDM , but it is possible to build UI with WD tree element for each of these types.
    all that you said are supported in ABAP APIs
    thanks
    -Adrivit

  • Read data from MDM For Lookup and Flat table using MDM ABAP API

    Hi,
    I have requriment to read data from MDM from FLAT and Lookup table using MDM ABAP API. My design  is like this ,
    I have one ITEMS (Main table in MDM) and inside that i have one Lookup flat table ITEM_TYPE , my requriment is to read Item number and its related Item type.
    From ABAP.
    Please help if any body has any idea.
    Regards,
    Shyam

    HI Guys,
    I found my solution by myself. Below is the solution , hope this will help others:-
    Retrieve data from MDM  using MDM ABAP API.
    Step- 1. Create structure in SAP with the same name as that of MDM field code for MDM Main table.
    Step-2. Create another structure in SAP having all  lookup fields of MDM , fieldname in ECC must be same as that of MDM field
    code.
    Step-3.Create structure in SAP for  individual lookup field(Single Field only)   with the same name as MDM Field code.
    Step-4.
    DATA: IT_QUERY            TYPE STANDARD TABLE OF MDM_QUERY,  "MDM_QUERY_TABLE,
          WA_QUERY            TYPE  MDM_QUERY,
          WA_CDT_TEXT         TYPE  MDM_CDT_TEXT,
          IT_RESULT_SET_KEY   TYPE  MDM_SEARCH_RESULT_TABLE,
          WA_RESULT_SET_KEY   TYPE  MDM_SEARCH_RESULT,
          WA_STRING           TYPE  STRING.
    DATA:<Internal table> TYPE STANDARD TABLE OF <SAP Str Having all LOOKup Fields>    
    DATA: :<Internal table>TYPE STANDARD TABLE OF <SAP Str one LOOKup field>,
         <Workarea> LIKE LINE OF :<Internal table>.
    *PASS LOGICAL OBJECT NAME.
    V_LOG_OBJECT_NAME = 'Logical object name defined in Customization'.
    Define logon language, country & region for server
    WA_LANGUAGE-LANGUAGE = 'eng'.
    WA_LANGUAGE-COUNTRY = 'US'.
    WA_LANGUAGE-REGION = 'USA'.
    TRY.
        CREATE OBJECT LR_API
          EXPORTING
            IV_LOG_OBJECT_NAME = V_LOG_OBJECT_NAME.
    ENDTRY.
    CONNECT to repository. Apply particular logon language info
    CALL METHOD LR_API->MO_ACCESSOR->CONNECT
      EXPORTING
        IS_REPOSITORY_LANGUAGE = WA_LANGUAGE.
    *NOW PASS ITEM NO AND GET KEY FROM MDM.
    CLEAR WA_QUERY.
    WA_QUERY-PARAMETER_CODE  = <MDM FIELD CODE>. "Field code
    WA_QUERY-OPERATOR        = 'EQ'. "Contains
    WA_QUERY-DIMENSION_TYPE  = 1. "Field search
    WA_QUERY-CONSTRAINT_TYPE = 8. "Text search
    WA_STRING                = <Field Value>.
    GET REFERENCE OF WA_STRING INTO WA_QUERY-VALUE_LOW.
    APPEND WA_QUERY TO IT_QUERY.
    CLEAR WA_QUERY.
    *PASS ITEM NUMBER AND GET RELATED KEY FROM MDM.
    TRY.
        CALL METHOD LR_API->MO_CORE_SERVICE->QUERY
          EXPORTING
            IV_OBJECT_TYPE_CODE = <MDM Main Table>
            IT_QUERY            = IT_QUERY
          IMPORTING
            ET_RESULT_SET       = IT_RESULT_SET_KEY.
      CATCH CX_MDM_COMMUNICATION_FAILURE .
      CATCH CX_MDM_KERNEL .
      CATCH CX_MDM_NOT_SUPPORTED .
      CATCH CX_MDM_USAGE_ERROR .
      CATCH CX_MDM_PROVIDER .
      CATCH CX_MDM_SERVER_RC_CODE .
    ENDTRY.
    Pass record id into keys.
    LOOP AT IT_RESULT_SET_KEY INTO WA_RESULT_SET_KEY.
      WA_KEYS = WA_RESULT_SET_KEY-RECORD_IDS.
    ENDLOOP.
    WA_RESULT_SET_DEFINITION-FIELD_NAME = <Look field name>.
    APPEND WA_RESULT_SET_DEFINITION TO IT_RESULT_SET_DEFINITION.
    CALL METHOD LR_API->MO_CORE_SERVICE->RETRIEVE
      EXPORTING
        IV_OBJECT_TYPE_CODE      = <MDM Main Table>
        IT_RESULT_SET_DEFINITION = IT_RESULT_SET_DEFINITION
        IT_KEYS                  = WA_KEYS
      IMPORTING
        ET_RESULT_SET            = IT_RESULT_SET.
    LOOP AT IT_RESULT_SET INTO
            WA_RESULT_SET.
    *PASS KEYS INTO MAIN TABLE TO GET Structure for FALT or Look up Table
      TRY.
          CALL METHOD LR_API->MO_CORE_SERVICE->RETRIEVE_SIMPLE
            EXPORTING
              IV_OBJECT_TYPE_CODE = <MDM Main Table>
              IT_KEYS             = WA_KEYS
            IMPORTING
              ET_DDIC_STRUCTURE =<SAP Strct having all Look up fileds of MDM>         
      ENDTRY.
      LOOP AT <SAP Strct having all Look up fileds of MDM> INTO <Work area>.
        CLEAR WA_KEYS.
        APPEND <Work area>-field name TO WA_KEYS.
        CALL METHOD LR_API->MO_CORE_SERVICE->RETRIEVE_SIMPLE
          EXPORTING
            IV_OBJECT_TYPE_CODE = <MDM Lookup table name>
            IT_KEYS             = WA_KEYS
          IMPORTING
            ET_DDIC_STRUCTURE   = <Single Structure in SAP For Lookup field>.
        READ TABLE <Single Structure in SAP For Lookup field>. INTO <Work Area> INDEX 1.
    Here you can get the value of realted lookup fields associated with main table data.
      ENDLOOP.
    ENDLOOP.
    LR_API->MO_ACCESSOR->DISCONNECT( ).
    Edited by: Shyam Babu Sah on Nov 24, 2009 4:52 AM

  • MDM ABAP API Performance Problems

    Hi all,
    we developed a custom transaction into our ECC 6.0 system to remotely retreive data coming from MDM (7.1 SP05) and show them to the user. The 2 systems phisically reside in different datacenters, so running in the same WAN but in 2 different AD domains and 2 different ip networks.
    In short the transaction is working using the standard MDM ABAP API functionalities and getting the MDM data using the following methods:
          CALL METHOD lr_api->mo_accessor->connect
          CALL METHOD lr_api->mo_core_service->query
          CALL METHOD lr_api->mo_core_service->retrieve
          CALL METHOD lr_api->mo_accessor->disconnect.
    This is working, but with awful performances. for example to get a subset of materials (around 500 codes) it takes more than 1 minute, and the quantity of data transfered from MDM to ECC (around 30 KB) is not justifying this time.
    Please be so kind to suggest any kind of activity that I can perform to improve the situation.
    Thanks in advance.

    I am trying to retreieve date from MDM to ECC using ABAP API.I am getting the below dump.
    Short text
        An exception occurred that was not caught.
    What happened?
        The exception 'CX_MDM_PROVIDER' was raised, but it was not
         along
        the call hierarchy.
        Since exceptions represent error situations and this error
        adequately responded to, the running ABAP program
         'CL_MDM_PROVIDER_71_SP00_PL00==CP' has to be
        terminated.
    What can you do?
        Note down which actions and inputs caused the error.
        To process the problem further, contact you SAP system
        administrator.
        Using Transaction ST22 for ABAP Dump Analysis, you can loo
        at and manage termination messages, and you can also
        keep them for a long time.
    Error analysis
        An exception occurred that is explained in detail below.
    The exception, which is assigned to class 'CX_MDM_PROVIDER', was not caught in
    procedure "GET_LOC_SUPP" "(METHOD)", nor was it propagated by a RAISING clause.
    Since the caller of the procedure could not have anticipated that the
    exception would occur, the current program is terminated.
    The reason for the exception is:
    Internal error: field 'SEARCH_GROUPS' not found; contact your system
    administrator
    Please check at this point I am getting dump:
    LT_SEARCH_TUPLE_PATH
        Table IT_1806[0x12]
        \CLASS=CL_MDM_PROVIDER_71_SP00_PL00\METHOD=IF_MDM_CORE_SERVICES~QUERY\DATA=LT_SEARCH_TUPLE_PAT
        Table reference: 1612
        TABH+  0(20) = 000000000000000007000000579D710000000000
        TABH+ 20(20) = 0000064C0000070E000000000000000CFFFFFFFF
        TABH+ 40(16) = 04000138000F44A0000424E403000000
        store        = 0x0000000000000000
        ext1         = 0x07000000579D7100
        shmId        = 0     (0x00000000)
        id           = 1612  (0x0000064C)
        label        = 1806  (0x0000070E)
        fill         = 0     (0x00000000)
        leng         = 12    (0x0000000C)
        loop         = -1    (0xFFFFFFFF)
        xtyp         = TYPE#000300
        occu         = 4     (0x00000004)
        accKind      = 1     (ItAccessStandard)
        idxKind      = 0     (ItIndexNone)
        uniKind      = 2     (ItUniNo)
        keyKind      = 1     (default)
        cmpMode      = 12    (ILLEGAL)
        occu0        = 1
        stMode       = 0
        groupCntl    = 0
        rfc          = 0
        unShareable  = 0
        mightBeShared = 0
        sharedWithShmTab = 0
        isShmLockId  = 0
        isUsed       = 1
        isCtfyAble   = 1
        hasScndKeys  = 0
        hasRowId     = 0
        scndKeysOutdated = 0
        scndUniKeysOutdated = 0
    LV_MESS
        field 'SEARCH_GROUPS' not found
        0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
        0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
        6666622544544545455522667266766222222222222222222222222222222222222222222222222222222222222222
        695C407351238F72F50370EF406F5E4000000000000000000000000000000000000000000000000000000000000000
    SY-REPID
    I am picking the data from MAIN TABLE MDM_SUPPLIER_MAP and below is the code.
    CALL METHOD lv_mdm_api->mo_core_service->query
          EXPORTING
    *Main Table
          iv_object_type_code = 'MDM_SUPPLIER_MAP'               "#EC NOTEXT
    *      it_query = lt_query
          IMPORTING
          et_result_set = lt_result_set.
    Please suggest solution to get the records from MDM to ECC.
    When I am tring to replace the abpove with the below code it is working.But in this case I need to retreive all the data instead of using DO and ENDO.Could any please suggest solution.
    DO 10 TIMES.
    APPEND sy-index TO keys.
    ENDDO.
    CALL METHOD lv_mdm_api->mo_core_service->retrieve_simple
    EXPORTING
    iv_object_type_code = 'MDM_SUPPLIER_MAP'
    it_keys = keys
    IMPORTING
    et_ddic_structure = result_ddic

  • MDM ABAP APIs Issues;

    Hi All,
    1. Can we Create Lookup Field in the main table which is
    link  to Lookup Sub table Using MDM ABAP APIs.
    2. We have to Assign FieldQualifiedFlatLookup entries and also qualifiers manually by going into MDM Data Manger as given in HowTo_13.Pdf. Can we achieve this Only Using MDM ABAP APIs.
    3. What is the Role of Value Check inHowTo_19.Pdf.
    4. Can change tracking achievable using MDM ABAP APIs
    Assure Ponits will be rewarded for helpful Answers:
    Thanks in Advance,
    Mandy

    Hi Mandy,
    I would like to help you out on your last query.
    ABAP API's has provided with 2 methods which are related to Change tracking.
    The 2 methods are:
    1. RETRIEVE_CHANGE_TRACKING: You can use this method to update the MDM Change tracking metadata.
    2. RETRIEVE_UPDATE_TRACKING You can use this method to retrieve the MDM Change tracking metadata.
    Along with this, you can use the tracking and CCMS Montioring functionality to keep a track on changes done in MDM through ABAP API's.
    I am also attaching a link to a very gud webinar by Klaus David on ABAP API's:
    [https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/00dd47bd-f2f1-2910-5eab-e9ca52465ae4].
    Kindly go through it.
    I hope it helps.
    *Please reward points if found useful.
    Thanks and Regards
    Nitin Jain

  • APD using Query with multiple structures as a data source

    All,
    I want to set up an automatic process which executes a query and exports it to a shared drive as a csv file. I have tried various options , when I try to use APD to set up the extract, I get an error and this is because the query that I am trying to use has Strucutres in both rows and columns. Hence, I am unable to use this option. I tried RSCRM_BAPI, It works well, but there is an issue with scheduling this in Process chain. I created an event and scheduled this as a job to trigger after "event" as per SAP instructions, but the job does not exist and it is not possible to trigger it through the Process chain unless the variables are hard coded in the query which I do not want to do.
    Can any one tell me if there is a way to deal with APD using Query with multiple structures?
    Would really appreciate if some one can give me the right solution...
    Thanks

    Hi Tanu ,
    APD is an option but its not very good with large amount of data or hiearachies or if you have attributes in you query structure .
    One more option for this requirement is use of report program using function module RRW3_GET_QUERY_VIEW_DATA .
    This will work fine with multiple structure etc .
    There are some overheads with this FM  ex: if amount of data is too much then program will give dump .Solution for that is we call the FM in LOOP by diving amount of data need to be fetched .ex:  we can read data quarter wise.
    For using this function module what you can do is write an ABAP program (At SE38 ) .which will call this FM and then write the output into a flat file which you can save at application server (AL11) .From there other system can read it .
    To automate this whole process you can further add all the report programs into a process chain (RSPC) which can be schedule as per requirement .
    To pass input parameters you can use variants that will pass the values to the report .
    Check thi link for sample code :
    [http://www.tricktresor.de/content/index.php?navID=696&aID=496]
    Hope this will be helpful .
    Regards,
    Jaya Tiwari

  • Oracle hangs on query with multiple joins

    To test the sotftware from the LMS-vendor that are out partners we use virtual machines where we install Windows 2003 servers and Oracle XE
    While we were testing the software I've found that a particular query with multiple unions causes the CPU of the virtual machine totally claimed by oracle
    The query causes oracle to hang.
    I've found that the subcomponents of the query all return 0 rows (and response all immediately) combined into a query with at least 2 unions the query hangs the system
    I'm not familiar with with Database Management at all
    I've read something about SGA and PGA that could be the issue and tried to increase the target for both but it doesn't seem to do anything
    Some characterics
    Target Current
    Maximum System Global Area (SGA) Size: 380 MB 380 MB
    Program Global Area (PGA) Aggregate Target: 360 MB 38 MB
    Current Configuration: (SGA + PGA): 740 MB 418 MB
    Tablespaces Percent Used Allocated (MB) Used (MB) Datafiles
    SYSAUX 98.21% 460.00 451.75 1
    SYSTEM 73.09% 510.00 372.75 1
    DATA 99.13% 440.00 436.19 1
    UNDO 6.48% 160.00 10.38 1
    USERS 1.63% 100.00 1.63 1
    sort_area_size 65536
    shared_pool_reserved_size 5452595 TRUE size in bytes of reserved area of shared pool
    shared_pool_size 0 TRUE size in bytes of shared pool
    What other parameters are important? How could I get a good picture to see what's really going on?
    Some pointers, help would be appreciated.
    Regards,
    Remco

    Below is the base-query that is causing the problems
    SELECT /* Public - Internal learner */ r.id reg_id, i.id order_item_id, o.id order_id, o.order_no order_number, e.id person_id, format_name(e.fname , e.lname , @@005) learner_name , c.id company_id, c.name2 , ent.id entid, ctype.id ctypeid, ctype.name , i.status , items.description item_desc, substr ( i.flags , 1 , 1 ) is_conf , r.status status1, rs.description description1 , r.wlist_priority , r.reg_no , r.flags , o.status status2, o.split, null learnerViewOnly, null statusViewOnly, i.approved_status, decode(substr(r.flags,2,1),'1','true','false') isWalkIn, oa.id offering_action_id, oa.status profile_status ,c.name2 org_name ,ctype.name audience_sub_type ,items.description description ,o.order_no order_no ,orderList.description order_status ,approvalList.description approval_status ,e.fname learner_first_name ,e.lname learner_last_name FROM tpt_registration r INNER JOIN tpt_oe_order_items i ON i.reg_id = r.id INNER JOIN tpt_oe_order o ON i.order_id = o.id INNER JOIN cmt_person e ON r.student_id = e.id INNER JOIN tpt_company c ON e.company_id = c.id INNER JOIN tpt_offering_action oa on r.offering_action_id = oa.id LEFT OUTER JOIN tpt_roster_template_entry ent ON r.ros_temp_ent_id = ent.id LEFT OUTER JOIN tpt_customer_type ctype ON ent.customer_type_id = ctype.id INNER JOIN fgt_ext_sys_list_of_val rs ON to_char ( r.status ) = rs.name INNER JOIN fgt_ext_sys_list_of_val items ON to_char ( i.status ) = items.name INNER JOIN fgt_ext_sys_list_of_val orderList ON to_char ( o.status ) = orderList.name INNER JOIN fgt_ext_sys_list_of_val approvalList ON to_char(i.approved_status) = approvalList.name WHERE e.type = 100 AND r.class_id = @@001 AND r.status = nvl ( to_number(@@002) , r.status ) AND rs.locale_id = @@005 AND rs.list_id = 'sysli000000000000100' AND items.locale_id = @@005 AND items.list_id = 'sysli000000000000131' AND orderList.list_id = 'sysli000000000000129' AND orderList.locale_id = @@005 AND approvalList.list_id = 'sysli000000000000165' AND approvalList.locale_id = @@005 AND ((@@003 is null) or (@@003 is not null and r.student_id = @@003))
    UNION
    SELECT /* Public - External learner */ r.id reg_id, i.id order_item_id, o.id order_id, o.order_no , e.id person_id, format_name(e.fname , e.lname , @@005) , c.id company_id, c.name2 , ent.id entid, ctype.id ctypeid, ctype.name , i.status , items.description , substr ( i.flags , 1 , 1 ) is_conf , r.status status1, rs.description description1, r.wlist_priority , r.reg_no , r.flags , o.status status2, o.split, null learnerViewOnly, null statusViewOnly, i.approved_status, decode(substr(r.flags,2,1),'1','true','false') isWalkIn, oa.id offering_action_id, oa.status profile_status ,c.name2 org_name ,ctype.name audience_sub_type ,items.description description ,o.order_no order_no ,orderList.description order_status ,approvalList.description approval_status ,e.fname learner_first_name ,e.lname learner_last_name FROM tpt_registration r INNER JOIN tpt_oe_order_items i ON i.reg_id = r.id INNER JOIN tpt_oe_order o ON i.order_id = o.id INNER JOIN cmt_person e ON r.student_id = e.id INNER JOIN tpt_offering_action oa on r.offering_action_id = oa.id LEFT OUTER JOIN tpt_company c ON e.company_id = c.id LEFT OUTER JOIN tpt_roster_template_entry ent ON r.ros_temp_ent_id = ent.id LEFT OUTER JOIN tpt_customer_type ctype ON ent.customer_type_id = ctype.id INNER JOIN fgt_ext_sys_list_of_val rs ON to_char ( r.status ) = rs.name INNER JOIN fgt_ext_sys_list_of_val items ON to_char ( i.status ) = items.name INNER JOIN fgt_ext_sys_list_of_val orderList ON to_char ( o.status ) = orderList.name INNER JOIN fgt_ext_sys_list_of_val approvalList ON to_char(i.approved_status) = approvalList.name WHERE e.type = 200 AND r.class_id = @@001 AND r.status = nvl ( to_number(@@002) , r.status ) AND rs.locale_id = @@005 AND rs.list_id = 'sysli000000000000100' AND items.locale_id = @@005 AND items.list_id = 'sysli000000000000131' AND orderList.list_id = 'sysli000000000000129' AND orderList.locale_id = @@005 AND approvalList.list_id = 'sysli000000000000165' AND approvalList.locale_id = @@005 AND ((@@003 is null) or (@@003 is not null and r.student_id = @@003))
    UNION
    SELECT /* Public - Unassigned learner */ r.id reg_id, i.id order_item_id, o.id order_id, o.order_no , null person_id, null , null company_id, null , ent.id entidd, ctype.id ctypeid, ctype.name , i.status , items.description , substr ( i.flags , 1 , 1 ) is_conf , r.status status1, rs.description description1, r.wlist_priority , r.reg_no , r.flags , o.status status2, o.split, null learnerViewOnly, null statusViewOnly, i.approved_status, decode(substr(r.flags,2,1),'1','true','false') isWalkIn, oa.id offering_action_id, oa.status profile_status ,'' org_name ,ctype.name audience_sub_type ,items.description description ,o.order_no order_no ,orderList.description order_status ,approvalList.description approval_status ,'' learner_first_name ,'' learner_last_name FROM tpt_registration r INNER JOIN tpt_oe_order_items i ON i.reg_id = r.id INNER JOIN tpt_oe_order o ON i.order_id = o.id INNER JOIN tpt_offering_action oa on oa.id = r.offering_action_id LEFT OUTER JOIN tpt_roster_template_entry ent ON r.ros_temp_ent_id = ent.id LEFT OUTER JOIN tpt_customer_type ctype ON ent.customer_type_id = ctype.id INNER JOIN fgt_ext_sys_list_of_val rs ON to_char ( r.status ) = rs.name INNER JOIN fgt_ext_sys_list_of_val items ON to_char ( i.status ) = items.name INNER JOIN fgt_ext_sys_list_of_val orderList ON to_char ( o.status ) = orderList.name INNER JOIN fgt_ext_sys_list_of_val approvalList ON to_char(i.approved_status) = approvalList.name WHERE r.class_id = @@001 AND r.status = nvl ( to_number(@@002) , r.status ) AND r.student_id is null AND rs.locale_id = @@005 AND rs.list_id = 'sysli000000000000100' AND items.locale_id = @@005 AND items.list_id = 'sysli000000000000131' AND orderList.list_id = 'sysli000000000000129' AND orderList.locale_id = @@005 AND approvalList.list_id = 'sysli000000000000165' AND approvalList.locale_id = @@005 AND @@003 is null
    UNION
    SELECT /* Private - Internal learner */ r.id reg_id, i.id order_item_id, o.id order_id, o.order_no , e.id person_id, format_name(e.fname , e.lname , @@005) , c.id company_id, c.name2 , ent.id entid, ctype.id ctypeid, ctype.name , i.status , items.description , substr ( i.flags , 1 , 1 ) is_conf , r.status status1, rs.description description1 , r.wlist_priority , r.reg_no , r.flags , o.status status2, o.split, null learnerViewOnly, null statusViewOnly, i.approved_status, decode(substr(r.flags,2,1),'1','true','false') isWalkIn, oa.id offering_action_id, oa.status profile_status ,c.name2 org_name ,ctype.name audience_sub_type ,items.description description ,o.order_no order_no ,orderList.description order_status ,approvalList.description approval_status ,e.fname learner_first_name ,e.lname learner_last_name FROM tpt_registration r INNER JOIN let_pvt_offering_request pvt_offreq ON pvt_offreq.class_id = r.class_id INNER JOIN tpt_offering_action oa on oa.id = r.offering_action_id LEFT OUTER JOIN tpt_oe_order_items i ON i.part_id = pvt_offreq.id LEFT OUTER JOIN tpt_oe_order o ON i.order_id = o.id INNER JOIN cmt_person e ON r.student_id = e.id LEFT OUTER JOIN tpt_company c ON e.company_id = c.id LEFT OUTER JOIN tpt_roster_template_entry ent ON r.ros_temp_ent_id = ent.id LEFT OUTER JOIN tpt_customer_type ctype ON ent.customer_type_id = ctype.id INNER JOIN fgt_ext_sys_list_of_val rs ON to_char ( r.status ) = rs.name LEFT OUTER JOIN fgt_ext_sys_list_of_val items ON to_char ( i.status ) = items.name AND items.locale_id = @@005 AND items.list_id = 'sysli000000000000131' LEFT OUTER JOIN fgt_ext_sys_list_of_val orderList ON to_char ( o.status ) = orderList.name AND orderList.list_id = 'sysli000000000000129' AND orderList.locale_id = @@005 LEFT OUTER JOIN fgt_ext_sys_list_of_val approvalList ON to_char(i.approved_status) = approvalList.name AND approvalList.list_id = 'sysli000000000000165' AND approvalList.locale_id = @@005 WHERE e.type = 100 AND r.class_id = @@001 AND r.status = nvl ( to_number(@@002) , r.status ) AND rs.locale_id = @@005 AND rs.list_id = 'sysli000000000000100' AND ((@@003 is null) or (@@003 is not null and r.student_id = @@003))
    UNION
    SELECT /* Private - External learner */ r.id reg_id, i.id order_item_id, o.id order_id, o.order_no , e.id person_id, format_name(e.fname , e.lname , @@005) , c.id company_id, c.name2 , ent.id entid, ctype.id ctypeid, ctype.name , i.status , items.description , substr ( i.flags , 1 , 1 ) is_conf , r.status status1, rs.description description1 , r.wlist_priority , r.reg_no , r.flags , o.status status2, o.split, null learnerViewOnly, null statusViewOnly, i.approved_status, decode(substr(r.flags,2,1),'1','true','false') isWalkIn, oa.id offering_action_id, oa.status profile_status ,c.name2 org_name ,ctype.name audience_sub_type ,items.description description ,o.order_no order_no ,orderList.description order_status ,approvalList.description approval_status ,e.fname learner_first_name ,e.lname learner_last_name FROM tpt_registration r INNER JOIN let_pvt_offering_request pvt_offreq ON pvt_offreq.class_id = r.class_id INNER JOIN tpt_offering_action oa on r.offering_action_id = oa.id LEFT OUTER JOIN tpt_oe_order_items i ON i.part_id = pvt_offreq.id LEFT OUTER JOIN tpt_oe_order o ON i.order_id = o.id INNER JOIN cmt_person e ON r.student_id = e.id LEFT OUTER JOIN tpt_company c ON e.company_id = c.id LEFT OUTER JOIN tpt_roster_template_entry ent ON r.ros_temp_ent_id = ent.id LEFT OUTER JOIN tpt_customer_type ctype ON ent.customer_type_id = ctype.id INNER JOIN fgt_ext_sys_list_of_val rs ON to_char ( r.status ) = rs.name LEFT OUTER JOIN fgt_ext_sys_list_of_val items ON to_char ( i.status ) = items.name AND items.locale_id = @@005 AND items.list_id = 'sysli000000000000131' LEFT OUTER JOIN fgt_ext_sys_list_of_val orderList ON to_char ( o.status ) = orderList.name AND orderList.locale_id = @@005 AND orderList.list_id = 'sysli000000000000129' LEFT OUTER JOIN fgt_ext_sys_list_of_val approvalList ON to_char(i.approved_status) = approvalList.name AND approvalList.locale_id = @@005 AND approvalList.list_id = 'sysli000000000000165' WHERE e.type = 200 AND r.class_id = @@001 AND r.status = nvl ( to_number(@@002) , r.status ) AND rs.locale_id = @@005 AND rs.list_id = 'sysli000000000000100' AND ((@@003 is null) or (@@003 is not null and r.student_id = @@003)) ORDER BY 34,35,28,29,31,30,33,32

  • MDM ABAP API exception using method invoke_matching

    Hi,
    I am using below calss in MDM ABAP API. If i can use small records
    source (1000) target (1000) it is working fine. If  i can use source (1000)
    Target ( 40, 000) i am getting exception ( kernal exception ).
    Please could you advise do i have to set any parameter.
    CALL METHOD lr_api->mo_core_service->invoke_matching
    EXPORTING
    iv_object_type_code = 'MDM_BUSINESS_PARTNERS'
    iv_strategy_id = ls_matching_strategy-strategy_id
    is_matching_filter = ls_matching_filter
    iv_wait_for_invocation = 'X'
    IMPORTING
    ev_matching_task_id = lv_matching_task_id
    ev_matched_record_count = lv_matched_record_count.
    Thanks,
    Anil

    Thank you Andreas its working fine. I am getting new issue
    if i can filter result vs result or result vs selected or sleeted vs result.
    I am passing the values in is_matching_filter.
    matching_scope = 1 or 2.
    selected_records = ( query record ids)
    query_records = ( i am not passing anything).
    1. If i can select source and target values same 2. Filter 2 vs 2
    its working fine. Remaining scenarios its not working. Please
    help me.
    CALL METHOD lr_api->mo_core_service->invoke_matching
    EXPORTING
    iv_object_type_code = 'MDM_BUSINESS_PARTNERS'
    iv_strategy_id = ls_matching_strategy-strategy_id
    is_matching_filter = ls_matching_filter
    iv_wait_for_invocation = 'X'
    IMPORTING
    ev_matching_task_id = lv_matching_task_id
    ev_matched_record_count = lv_matched_record_count.
    Thanks,
    Anil

  • MDM ABAP API - Retrieval of Qualified Flat lookup fields

    Hi,
    I am having trouble retrieving the records using MDM ABAP API when the fields that are being retrieved includes a Qualified Flat lookup field. An exception is being thrown with the error message <b>Value with type id 0 is not supported</b>. I don't see any problem when I am trying to retrieve other fields of types String or Real. The type of the Qualified Flat lookup field is set to MDM_QUALIFIED_LINK_TABLE as per the How to guides given by SAP. Any ideas on why the exception is occuring?
    Thanks
    Suman

    Hi Suman,
    Please check if the How to guide (#13) in SMP -operations is of help https://websmp204.sap-ag.de/nw04operation
    Regards,
    Anita

  • MDM ABAP APIs

    Hi All,
    After creating Repository on MDM Server Using MDM ABAP APIs, when i call MDM_Accessor_connnect function module to connect the Repository i am geeting Error: Server Return Code 0XFFAA0201 :User not found. Even i have created same Identical user name with Password who has logged onto the R/3 System as suggested in HowTo_02.pdf
    Assure Points will be awarded if problem solves.
    Am i missing any settings please suggest.
    Regards,
    Mandy

    Hi Mandy,
    Give the user name which is same as R/3 system in Capital letter. Dont give any password .
    Regards,
    Nikhil

  • Running a SQL Stored Procedure from Power Query with Dynamic Parameters

    Hi,
    I want to execute a stored procedure from Power Query with dynamic parameters.
    In normal process, query will look like below in Power Query. Here the value 'Dileep' is passed as a parameter value to SP.
        Source = Sql.Database("ABC-PC", "SAMPLEDB", [Query="EXEC DBO.spGetData 'Dileep'"]
    Now I want to pass the value dynamically taking from excel sheet. I can get the required excel cell value in a variable but unable to pass it to query.
        Name_Parameter = Excel.CurrentWorkbook(){[Name="Table3"]}[Content],
        Name_Value = Name_Parameter{0}[Value],
    I have tried like below but it is not working.
    Source = Sql.Database("ABC-PC", "SAMPLEDB", [Query="EXEC DBO.spGetData Name_Value"]
    Can anyone please help me with this issue.
    Thanks
    Dileep

    Hi,
    I got it. Below is the correct syntax.
    Source = Sql.Database("ABC-PC", "SAMPLEDB", [Query="EXEC DBO.spGetData '" & Name_Value & "'"]
    Thanks
    Dileep

  • Retrieving hierarchy fields from MDM to SAP R/3 using MDM ABAP API's

    Hi all,
    I have developed a code to retrieve fields from MDM to SAP R/3 using MDM ABAP API's, i could retrieve   all of the fields excluding the Lookup[Hierarchy] fields like-  FACILITY CODE  etc...
    please update me if anyone has any experience on this.
    Thanks and regards,
    Aastha Mehrotra

    Hi ,
    Any one worked in the MDM API to retrieve Hierarchy fields ???
    Regards,
    Arun.

  • MDM ABAP API - Language information not valid for repository

    Dear all,
    We're programming an interface in SAP R/3 to MDM catalog through 'MDM ABAP API's'. Automatically, it creates an RFC connection to MMD, but we're getting the following connection errorwhen executing the API:
    E MDM_ABAP_API         078 Language information ENG US USA not valid for MDM repository XXXYYYZZZ*.
    *where XXXYYYZZZ is the repository name. 
    W'e've established the connection in R/3 through transaction MDMAPIC and we've created the same user in R/3 and MDM Console.
    This is the code written on the program where we are defining the language (ENG), country (US) and region (USA).
    *maintain logon language information
    ls_repository_language-language = 'ENG'.
    ls_repository_language-country = 'US'.
    **no region information needed here
    ls_repository_language-region = 'USA'.
    How can I see the repository language definition?
    Which are the correct codes to be used for language 'English', Country 'United States' and Region 'USA'?  And for other countries, like spanish language, country Spain and Region ¿spain?
    In fact, we copied this code from website:
    http://help.sap.com/saphelp_nwmdm71/helpdata/en/44/93ad8931381053e10000000a422035/frameset.htm
    Maybe the problem is that any RFC configuration is missing, and it has to be done in transaction SM59?
    Thanks for your feecback,
    Carlos Santamaría.

    The problem is now solved.
    The correct languague information codes for Language Spanish, Country Spain and Region, are as follows:
    Language: 'spa'
    Country: 'ES'
    Region: '___'
    It is important to respect the CAPS, otherwise it doesn't work.
    Regards,
    Carlos Santamaría.

Maybe you are looking for

  • Problem with JavaBeans in JSP.IT'S URGENT!!!

    Hi, i have problems with JavaBeans in JSP. In a jsp file( locating in ROOT directory of tomcat 4.0.6 :jakarta-tomcat-4.0.6\webapps\root ) i have this code: <jsp:useBean id="paramBean" class="licentza.ParamBean" /> <jsp:setProperty name="paramBean" pr

  • I can not download Adobe Flash CS3 trial

    Adobe said that the download link are broken? and give my this side. My computer are Windows 7 Internet Explorer 9 64 bites Intel Core IE3 Norton 360 PE ver 6 My computer ar only 6 months old. I need help from You, I want just the modell flash CS3 be

  • Report to find the PO held up at what release code

    Users need a report to find that there Po is awaiting release at which release code. I searched but could not find any report from where the user can see at which release code there Po is struck up. Pl help on this.

  • Error in flat file data loading

    Hi All, I have a flat file which has 20000 records, when I tried to do Read Preivew data in Data source creation Iam getting the following error. I have the field name GROSSMARGIN in flat file I have given the properties of Grossmargin as a keyfigure

  • Edit region teal colour tag "editableregion" is messing up layout.

    Hi I have developed a Photoshop layout. I carved up vertical menu bar (6 options) and made three different buttons for different states. up down pressed so I can calculate 6 x button height (52) and 138 width. So i have an area of   312 x 138 So I cr