Quantcast
Channel: SCN: Message List
Viewing all articles
Browse latest Browse all 2806

Re: Select 1000 rows each time program starts

$
0
0

Hi,

 

Assuming report program.

 

Another option is to save the selection data under a fix variant name.

 

I used this to start processing entries after a given time-stamp .

 

Some old code:

 

CONSTANTS: gc_variant_01 TYPE rsvar-variant VALUE 'VARIANT_01' .

 

PARAMETERS: p_datum TYPE ewjobsio18 OBLIGATORY MODIF ID b01 .

PARAMETERS: p_uzeit TYPE ewjobsio19 OBLIGATORY MODIF ID b01 .

 

INITIALIZATION.

  PERFORM at_initialization .

 

 

END-OF-SELECTION.

  PERFORM save_variant_contents.

 

 

*----------------------------------------------------------------------*

FORM at_initialization .

 

  DATA: it_vari_contents TYPE rsparams_tt .

  FIELD-SYMBOLS: <st_vari_contents> LIKE LINE OF it_vari_contents .

 

  CALL FUNCTION 'RS_VARIANT_CONTENTS'

    EXPORTING

      report               = sy-repid

      variant              = gc_variant_01

    TABLES

      valutab              = it_vari_contents

    EXCEPTIONS

      variant_non_existent = 1

      variant_obsolete     = 2

      OTHERS               = 3.

 

  IF it_vari_contents[] IS NOT INITIAL .

 

    LOOP AT it_vari_contents ASSIGNING <st_vari_contents> .

 

      CASE <st_vari_contents>-selname .

        WHEN 'H_DATUM'  .

          p_datum = <st_vari_contents>-low .

        WHEN 'H_UZEIT' .

          p_uzeit = <st_vari_contents>-low .

        WHEN OTHERS.

      ENDCASE.

 

    ENDLOOP.

 

  ELSE .

 

    p_datum = sy-datum .

    p_uzeit = sy-uzeit .

 

  ENDIF .

 

ENDFORM .                    "at_initialization

*----------------------------------------------------------------------*

*----------------------------------------------------------------------*

FORM save_variant_contents .

 

  DATA: it_vari_contents TYPE rsparams_tt     .

  DATA: it_vari_text     TYPE diwps_varit_t   .

  DATA: st_vari_text     LIKE LINE OF it_vari_text .

 

  DATA: st_vari_desc LIKE varid.

 

  st_vari_desc-mandt      = sy-mandt .

  st_vari_desc-report     = sy-repid .

  st_vari_desc-variant    = gc_variant_01.

  st_vari_desc-ename      = sy-uname .

  st_vari_desc-edat       = sy-datum .

  st_vari_desc-etime      = sy-uzeit .

  st_vari_desc-environmnt = 'A' .

 

  DATA: time_stamp TYPE timestamp .

 

  CALL FUNCTION 'RS_REFRESH_FROM_SELECTOPTIONS'

    EXPORTING

      curr_report     = sy-repid

    TABLES

      selection_table = it_vari_contents

    EXCEPTIONS

      not_found       = 1

      no_report       = 2

      OTHERS          = 3.

 

  FIELD-SYMBOLS: <st_vari_contents> LIKE LINE OF it_vari_contents .

 

  p_datum = sy-datum .

  p_uzeit = sy-uzeit .

 

  MESSAGE s000(oo) WITH 'Saving' p_datum p_uzeit .

 

  LOOP AT it_vari_contents ASSIGNING <st_vari_contents> .

 

    CASE <st_vari_contents>-selname .

      WHEN 'P_DATUM' OR 'H_DATUM' .

        <st_vari_contents>-low = p_datum .

      WHEN 'P_UZEIT' OR 'H_UZEIT' .

        <st_vari_contents>-low = p_uzeit .

      WHEN OTHERS.

    ENDCASE.

 

  ENDLOOP.

 

  st_vari_text-langu = sy-langu .

  st_vari_text-report = sy-repid .

  st_vari_text-variant = gc_variant_01 .

  st_vari_text-vtext = gc_variant_01 .

  APPEND st_vari_text TO it_vari_text .

 

  CALL FUNCTION 'RS_CHANGE_CREATED_VARIANT'

    EXPORTING

      curr_report               = sy-repid

      curr_variant              = gc_variant_01

      vari_desc                 = st_vari_desc

    TABLES

      vari_contents             = it_vari_contents

    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.

 

  IF sy-subrc EQ 0 .

    MESSAGE s000(oo) WITH gc_variant_01 'saved by RS_CHANGE_CREATED_VARIANT' .

  ENDIF .

 

  CHECK sy-subrc NE 0 .

 

  CALL FUNCTION 'RS_CREATE_VARIANT'

    EXPORTING

      curr_report               = sy-repid

      curr_variant              = gc_variant_01

      vari_desc                 = st_vari_desc

    TABLES

      vari_text                 = it_vari_text

      vari_contents             = it_vari_contents

    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 0 .

    MESSAGE s000(oo) WITH gc_variant_01 'saved by RS_CREATE_VARIANT' .

  ENDIF .

 

ENDFORM .                    "save_variant_contents

*----------------------------------------------------------------------*

 

Regards.


Viewing all articles
Browse latest Browse all 2806

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>