Skip to Content
0

IF_RSPLS_CR_METHODS~CREATE is not properly working

Sep 27, 2017 at 04:08 PM

75

avatar image

Hi folks,

I need to manipulate the the F4 entries in an input ready query of a characteristic say flow. So I implemented a characteristic relation ship based on exit with two characteristics, let's say account and flow (account is also in the query). I created a class which implements interface IF_RSPLS_CR_METHODS.

My very simplistic first approach is looking like hereafter. But when I am pressing F4 I am getting anyway all possible characteristic combinations. I expected to get only exactly ONE?!

Any idea?

<zc3accnt> = 'G38600'.

<zc3flow> = 'F00'.

INSERT <l_chas> into table e_th_chas.

Any idea?

10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

2 Answers

Gregor Dieckmann
Sep 28, 2017 at 08:15 AM
0

Hi Thomas,

you have checked that your exit is called via F4 help? Maybe your system is using F4 help mode based on master data?

If your exit is called the filter used in the F4 help (CREATE method, parameter I_TSX_SELDR) might not contain any restriction for 'flow' or 'account'. If yes, the system also creates the so called automatically valid combinations; in this case you might get all master data values for 'flow' since the result of CREATE is projected to the requested characteristic in the F4 help.

Automatically valid combinations:

You relation contains account, flow, so any tuple (a,f) is automatically valid if a=# or f=#. These kind of combinations are created if the filter does not exclude the initial values. You can also use the flag EXCL# =X in your relation, then the system does not create the automatically valid combinations.

Read the documentation in SE24 (methods are documented) and use your favorite search engine to more information about 'automatically valid combinations'.

Regards,

Gregor

Share
10 |10000 characters needed characters left characters exceeded
Thomas Rohmann Sep 28, 2017 at 11:35 AM
0

Hi Gregor,

thanks for your answer:

  • the exit is called by F4, I put a breakpoint in the CREATE method and the sytem stops there
  • I_TSX_SELDIR looks like hereafter, so # is excluded in both cases
    ZC3ACCNT E EQ
    ZC3FLOW E EQ
  • EXCL# is ticked

so all done as you said, but anyhow it does not work

any further ideas?

kind regards, Thomas

Show 4 Share
10 |10000 characters needed characters left characters exceeded

Hi Thomas,

how many records do you get in CL_RSR_OLAP_PLAN, IF_RSR_OLAP_PLAN~CREATE_PLAN_PROPOSAL in table <l_th_sid> used in the CREATE call? If you only get one records then the effect comes from higher levels of the F4 help infrastructure. If you get more than one record then maybe you are using a Multi- or CompositeProvider and the CREATE methods involves more than one part provider, so other part providers may create the other combinations.

Regards,

Gregor

0

Hi Gregor,

one step forward:

<l_th_sid> contains many records , so far so good. The query is on an aggregation level which is on a multiprovider which consists of an real time infoprovider, a virtual cube with a hana view behind and couple of DSOs.When you are saying other part providers are potentially creating other combinations how am I able to influence this behaviour?

Furthermore:

By chance I pressed F4 for accounts and got only one account , the one which was hardcoded!!!
In Afo the access mode for accounts is characteristic relationship though it is differently ticked in query designer.
For flows it is different: The access mode in AfO is characteristic relationship, but all values are displayed. In query designer the access mode is also characteristic relationship.

Puuuh, I am lost.

0

Hi Thomas,

the query designer settings play no role, AO uses mode 'characteristic relationships' if there exists a relation that contains the characteristic; if not F4 mode is based on master data values.

All planning enabled part providers are asked to create combinations (if the part provider is in the selection of course), so you may restrict the filter to the part provider with the characteristic relationships to check whether then only your relation delivers the combinations.

Remark:

Without a characteristic relationship the CREATE method will create combinations based on master data values for the respective part providers. The created combinations per part provider are then the union of all combinations from the part provider.

Regards,

Gregor

0

bingo!

I had to restrict the query on the involved part provider and implemented the characteristic relationship on the involved part providers!

Great support, thank you very much!

0