SnippetVamp

Because spending time searching snippets sucks.



ALV 3 XPath 1 abap 9 ahk 1 autohotkey 6 bash 2 cli 2 clipboard 3 excel 1 file 1 file_path 1 greasemonkey 1 javascript 1 python 4 sap 1 screen 1 sql 1 ssh 1 tool 2 tunnel 1

.

Get tab-separated tabular data from clipboard and parse it

Get tab-separated tabular data from clipboard and parse it

TYPES:
  BEGIN OF ty_clipdata,
    data TYPE c LENGTH 500,
  END   OF ty_clipdata.
DATA: lt_clipdata TYPE STANDARD TABLE OF ty_clipdata.
DATA: ls_clipdata LIKE LINE OF lt_clipdata.
DATA: lv_clip_len TYPE i.
CONSTANTS: c_tab  TYPE c VALUE cl_bcs_convert=>gc_tab.

DATA: lt_record TYPE STANDARD TABLE OF ty_clipdata.
DATA: ls_record LIKE LINE OF lt_record.
FIELD-SYMBOLS: <lfs_field> TYPE any.

TYPES: BEGIN OF lty_agr,
          myfield1 TYPE myfield,
      myfield2 TYPE urfield,
         END OF lty_agr.
DATA: lt_data TYPE STANDARD TABLE OF lty_agr,
      ls_data TYPE lty_agr,
      lt_agr_db TYPE STANDARD TABLE OF lty_agr.
FIELD-SYMBOLS: <lfs_data>  LIKE LINE OF lt_data.

*&---------------------------------------------------------------------*
*&      Form  GET_CLIP_DATA
*&---------------------------------------------------------------------*
*       Get tab-separated tabular data from clipboard and parse it
*----------------------------------------------------------------------*
FORM get_clip_data .
* --- Get clipboard ---
  cl_gui_frontend_services=>clipboard_import(
    IMPORTING
       data                 = lt_clipdata
       length               = lv_clip_len
     EXCEPTIONS
       cntl_error           = 1
       error_no_gui         = 2
       not_supported_by_gui = 3
       OTHERS               = 4 ).
  IF sy-subrc NE 0.
    MESSAGE 'Error while importing data from clipboard' TYPE 'E'.
  ENDIF.

* --- Parse data ---
  LOOP AT lt_clipdata INTO ls_clipdata.
    SPLIT ls_clipdata AT c_tab INTO TABLE lt_record.
    " SPE >>>
    IF lt_record[ 1 ]-data(2) <> 'ZS'. " Your filter
      CONTINUE.
    ENDIF.
    " <<< SPE
    APPEND INITIAL LINE TO lt_data ASSIGNING <lfs_data>.
    LOOP AT lt_record INTO ls_record.
      ASSIGN COMPONENT sy-tabix OF STRUCTURE <lfs_data> TO <lfs_field>.
      IF sy-subrc EQ 0.
        <lfs_field> = ls_record-data.
      ENDIF.
    ENDLOOP.
  ENDLOOP.
  IF lt_data[] IS INITIAL.
    MESSAGE 'No data parsed from clipboard' TYPE 'E'.
  ENDIF.

ENDFORM.                    " GET_CLIP_DATA

abap clipboard

<iframe width="100%" height="1316" src="http://ginkobox.fr/vamp/index.php?embed=555b6d0abd678" type="text/html"></iframe>

Text only - Permalink - Snippet public post date 19/05/2015

This page's Feed


SnippetVamp 1.84 by Bronco - generated in 0.031 s