Skip to Content
author's profile photo Former Member
Former Member

$filter Option does not work (HTTP 500: Internal Server Error)

Hello,

I developed the NW Gateway Service with Wizards in transaction 'se80', but '$filter' option does not work, I get HTTP 500 error. '$orderby' and '$top' work well. How can I implement '$filter' functionality? Has it to be separately developed in 'se80' for each attribute, that must be filterable?

I have found in Internet something like this:

"lt_filters = io_tech_request_context->get_filter( )->get_filter_select_options( ).

*-get filter for ProductID

READ TABLE lt_filters WITH TABLE KEY property = 'PRODUCT_ID' INTO ls_filter.

IF sy-subrc EQ 0.

LOOP AT ls_filter-select_options INTO ls_so.

MOVE-CORRESPONDING ls_so TO ls_product_id.

INSERT ls_product_id INTO TABLE lt_product_id.

ENDLOOP.

ENDIF."

Best Regards

Vladislav

Add a comment
10|10000 characters needed characters exceeded

Assigned Tags

Related questions

3 Answers

  • Best Answer
    author's profile photo Former Member
    Former Member
    Posted on Sep 03, 2013 at 01:06 PM

    Hi Vlad,

    Forget anything you did in SE80 and use SEGW, you are not really benefiting from the way you have done it (which is quite old and not as well integrated as SEGW).

    It's also a lot quicker in SEGW so rebuilding won't take long.

    To be clear, when you say "filter is not working", where are you at now? if the 'bank_ctry' property is being rejected, your URI is wrong. if the URI is being accepted, you need to check what is happening in the GET_ENTITYSET method, i.e. is it being reached and what is in the filter.

    $filter is not an intrinsic system query option, i.e. you need to provide the code to handle the options sent in the filter.

    Regards

    Ron.

    Add a comment
    10|10000 characters needed characters exceeded

  • Posted on Aug 30, 2013 at 03:43 PM

    Hi Vladislav,

    what is the exact name of the corresponding fieldname in your tabletype for this get_entetyset method?

    Is it 'BANK_CTRY' ?

    Kind regards,

    Al

    Add a comment
    10|10000 characters needed characters exceeded

    • Hello Vlad,

      so you don't use SEGW for creating GW Services?

      I'm not using SE80 GW Data Model but SEGW.

      So my description may depend on that.

      Usually, the method get_entityset is inherited from interface /IWBEP/IF_MGW_APPL_SRV_RUNTIME and can be found in a class interface /IWBEP/CL_MGW_PUSH_ABS_DATA.

      Your class (Z..*_DPC) is inheriting from /IWBEP/CL_MGW_PUSH_ABS_DATA.

      You should find your class by opening the /IWBEP/CL_MGW_PUSH_ABS_DATA and go there for

      subclasses. Once there your are looking for variable et_entityset .

      Kind regards,

      Alex

  • Posted on Aug 30, 2013 at 12:39 PM

    Hi Vladislav,

    These look good. Problem seem to be in your URI. Can you share your URI? And also the error in browser / error log?

    Thanks

    Krishna

    Add a comment
    10|10000 characters needed characters exceeded

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.