Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

How to create a variant for a screen (not a selection screen)

Former Member
0 Kudos

Hi

I foud a function module RS_CREATE_VARIANT.

Is this the correct fm for creating screen variant, if yes then pls provide me some help about how to pass values to this fm.

if not then pls help me to find out new one.

thnks

satisfactory answer will be definitely rewarded.

S@meer

5 REPLIES 5

Former Member
0 Kudos

U can also try with this function module also

RS_VARIANT_FOR_ONE_SCREEN

Regards

Devanand

0 Kudos

passing values to RS_CREATE_VARIANT.

data : LS_VARIANTDESC TYPE VARID.

DATA : LT_VARIANTTEXT TYPE TABLE OF VARIT ,

WA_VARIANTTEXT TYPE VARIT.

DATA : TT_REPORTPARAM TYPE TABLE OF RSPARAMS,

WA_REPORTPARAM TYPE RSPARAMS.

CLEAR LS_VARIANTDESC.

LS_VARIANTDESC-MANDT = SY-MANDT. " gr 46A

LS_VARIANTDESC-REPORT = 'ZXXXXX'.

LS_VARIANTDESC-VARIANT = 'VARIANT'.

LS_VARIANTDESC-EDAT = SY-DATUM.

LS_VARIANTDESC-ETIME = SY-UZEIT.

REFRESH LT_VARIANTTEXT.

CLEAR WA_VARIANTTEXT.

WA_VARIANTTEXT-MANDT = SY-MANDT. " gr 46A

WA_VARIANTTEXT-LANGU = SY-LANGU.

WA_VARIANTTEXT-REPORT = 'ZXXXXXX'.

WA_VARIANTTEXT-VARIANT = 'VARIANT'.

APPEND WA_VARIANTTEXT TO LT_VARIANTTEXT.

CALL FUNCTION 'RS_CREATE_VARIANT'

EXPORTING

CURR_REPORT = 'ZXXXXX'

CURR_VARIANT = 'VARIANT'

VARI_DESC = LS_VARIANTDESC

TABLES

VARI_CONTENTS = TT_REPORTPARAM

VARI_TEXT = LT_VARIANTTEXT

EXCEPTIONS

ILLEGAL_REPORT_OR_VARIANT = 1

ILLEGAL_VARIANTNAME = 2

NOT_AUTHORIZED = 3

NOT_EXECUTED = 4

REPORT_NOT_EXISTENT = 5

REPORT_NOT_SUPPLIED = 6

VARIANT_EXISTS = 7

VARIANT_LOCKED = 8

OTHERS = 9.

IF SY-SUBRC EQ 7.

  • If variant with same name already exists, change variant

CALL FUNCTION 'RS_CHANGE_CREATED_VARIANT'

EXPORTING

CURR_REPORT = 'ZXXXXX'

CURR_VARIANT = 'VARIANT'

VARI_DESC = LS_VARIANTDESC

TABLES

VARI_CONTENTS = TT_REPORTPARAM

EXCEPTIONS

ILLEGAL_REPORT_OR_VARIANT = 1

ILLEGAL_VARIANTNAME = 2

NOT_AUTHORIZED = 3

NOT_EXECUTED = 4

REPORT_NOT_EXISTENT = 5

REPORT_NOT_SUPPLIED = 6

VARIANT_DOESNT_EXIST = 7

VARIANT_LOCKED = 8

SELECTIONS_NO_MATCH = 9

OTHERS = 10.

ELSEIF SY-SUBRC NE 0.

MESSAGE WITH 'Cannot create/change variant for'

SY-UNAME.

ENDIF.

Former Member
0 Kudos

Hi,

go to se37 --> type 'RS_CREATE_VARIANT' in Function module area --> press display

--> press FUNCTION MODULE DOCUMENTATION tab you can get all the details about that function module.(Try it out in ECC5.0 server).

hope this works.

Former Member
0 Kudos

Check if this blog can help you

/people/alvaro.tejadagalindo/blog/2007/05/22/save-a-variant-from-a-dynpro-screen

former_member194152
Contributor
0 Kudos

Hi,

FM which u mention i have no idea but u can create screen variant using tcode SHD0.Refer following link for more detail.

[http://theguruspeaksaboutsap.blogspot.com/2007/12/creation-of-variant-for-making.html]

Rewards if helpful.

Regards

Gagan