‎2008 May 28 3:26 AM
Hi folks,
Can any body tell me that how to read values from the variant and the sets. Or any body can provide me some sample code that reads value from the sets and variant.
‎2008 May 28 3:44 AM
Hi,
You can read the programs variants by using fm RS_VARIANT_CONTENTS
Sample Code :
REPORT ZZJBREPX MESSAGE-ID ZJ NO STANDARD PAGE HEADING LINE-SIZE 170.
TABLES: VARID.
DATA:
I_VTAB LIKE RSPARAMS OCCURS 0 WITH HEADER LINE.
SELECT-OPTIONS:
S_VARI FOR VARID-VARIANT.
************************************************************************
START-OF-SELECTION.
*******************
Iteration über Varianten
SELECT * FROM VARID WHERE REPORT = 'ZJBLDFTP'
AND VARIANT IN S_VARI.
.. Variante einlesen
CALL FUNCTION 'RS_VARIANT_CONTENTS'
EXPORTING
REPORT = VARID-REPORT
VARIANT = VARID-VARIANT
TABLES
VALUTAB = I_VTAB
EXCEPTIONS
VARIANT_NON_EXISTENT = 1
VARIANT_OBSOLETE = 2
OTHERS = 3.
.. Variantenwert ändern
READ TABLE I_VTAB WITH KEY SELNAME = 'P_SCRIPT'.
IF NOT ( SY-SUBRC = 0 AND I_VTAB-LOW CP '/data/bin*' ).
CONTINUE.
ENDIF.
REPLACE '/data/bin' WITH '/data/F30/bin' INTO I_VTAB-LOW.
MODIFY I_VTAB INDEX SY-TABIX.
.. Variante anpassen
CALL FUNCTION 'RS_CHANGE_CREATED_VARIANT'
EXPORTING
CURR_REPORT = VARID-REPORT
CURR_VARIANT = VARID-VARIANT
VARI_DESC = VARID
TABLES
VARI_CONTENTS = I_VTAB
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.
ENDSELECT.
Reward point if useful.
Rgds,
Abhishek.
‎2008 May 28 3:44 AM
Hi,
You can read the programs variants by using fm RS_VARIANT_CONTENTS
Sample Code :
REPORT ZZJBREPX MESSAGE-ID ZJ NO STANDARD PAGE HEADING LINE-SIZE 170.
TABLES: VARID.
DATA:
I_VTAB LIKE RSPARAMS OCCURS 0 WITH HEADER LINE.
SELECT-OPTIONS:
S_VARI FOR VARID-VARIANT.
************************************************************************
START-OF-SELECTION.
*******************
Iteration über Varianten
SELECT * FROM VARID WHERE REPORT = 'ZJBLDFTP'
AND VARIANT IN S_VARI.
.. Variante einlesen
CALL FUNCTION 'RS_VARIANT_CONTENTS'
EXPORTING
REPORT = VARID-REPORT
VARIANT = VARID-VARIANT
TABLES
VALUTAB = I_VTAB
EXCEPTIONS
VARIANT_NON_EXISTENT = 1
VARIANT_OBSOLETE = 2
OTHERS = 3.
.. Variantenwert ändern
READ TABLE I_VTAB WITH KEY SELNAME = 'P_SCRIPT'.
IF NOT ( SY-SUBRC = 0 AND I_VTAB-LOW CP '/data/bin*' ).
CONTINUE.
ENDIF.
REPLACE '/data/bin' WITH '/data/F30/bin' INTO I_VTAB-LOW.
MODIFY I_VTAB INDEX SY-TABIX.
.. Variante anpassen
CALL FUNCTION 'RS_CHANGE_CREATED_VARIANT'
EXPORTING
CURR_REPORT = VARID-REPORT
CURR_VARIANT = VARID-VARIANT
VARI_DESC = VARID
TABLES
VARI_CONTENTS = I_VTAB
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.
ENDSELECT.
Reward point if useful.
Rgds,
Abhishek.
‎2008 Jun 02 9:01 AM