Quantcast
Channel: SCN: Message List - ABAP Development
Viewing all articles
Browse latest Browse all 10425

Re: Records from excel when shooting comes empty. Can you help please???

$
0
0

SELECTION-SCREEN BEGIN OF BLOCK 100 WITH FRAME TITLE text-000.

 

PARAMETERS : p_file LIKE rlgrap-filename . "yükleme için yerel dosya

 

SELECTION-SCREEN END OF BLOCK 100 .

 

 

DATA it_pprop TYPE pprop OCCURS 0 WITH HEADER LINE.

 

 

 

DATA : BEGIN OF gt_0021 OCCURS 0 ,

*       pernr LIKE p0001-pernr , "per no

       werks LIKE pa0001-werks , "per alanı

       persg LIKE pa0001-persg , "çalışan grubu

       persk LIKE pa0001-persk , "çalışan alt grubu

       ort01 LIKE pa0006-ort01 , "kent

       btrtl LIKE pa0001-btrtl , "alt alan

       nachn LIKE pa0002-nachn , "soyad

       vorna LIKE pa0002-vorna , "ad

       gbdat LIKE pa0002-gbdat , "doğum tarihi

       schkz LIKE pa0007-schkz , "çalışma program kuralı

       trfgb LIKE pa0008-trfgb , "bölge

       zlsch LIKE pa0009-zlsch , "ödeme biçimi

       massn LIKE pa0000-massn , "işlemler dizisi türü

       anssa LIKE pa0006-anssa , "adres kayıt türü

       betrg LIKE pa0015-betrg , "ücret türü tutarı

       lgart LIKE pa0015-lgart , "ücret türü

       anred LIKE pa0002-anred , "hitap biçimi anahtarı

       begda LIKE pa0009-begda , "giriş tarihi

       END OF gt_0021 .

 

 

DATA : BEGIN OF gt_output OCCURS 0 ,

*       pernr LIKE p0001-pernr , "per no

       werks LIKE pa0001-werks , "per alanı

       persg LIKE pa0001-persg , "çalışan grubu

       persk LIKE pa0001-persk , "çalışan alt grubu

       ort01 LIKE pa0006-ort01 , "kent

       btrtl LIKE pa0001-btrtl , "alt alan

       nachn LIKE pa0002-nachn , "soyad

       vorna LIKE pa0002-vorna , "ad

       gbdat LIKE pa0002-gbdat , "doğum tarihi

       schkz LIKE pa0007-schkz , "çalışma program kuralı

       trfgb LIKE pa0008-trfgb , "bölge

       zlsch LIKE pa0009-zlsch , "ödeme biçimi

       massn LIKE pa0000-massn , "işlemler dizisi türü

       anssa LIKE pa0006-anssa , "adres kayıt türü

       betrg LIKE pa0015-betrg , "ücret türü tutarı

       lgart LIKE pa0015-lgart , "ücret türü

       anred LIKE pa0002-anred , "hitap biçimi anahtarı

       begda LIKE pa0009-begda , "giriş tarihi

       retrn(150) TYPE c      ,

       mark                   ,

       icon(4)                ,

       END OF gt_output.

 

DATA : return   LIKE  bapireturn1 ,

       key      LIKE  bapipakey   ,

       nocommit LIKE  bapi_stand-no_commit.

 

DATA : gt_fcat   TYPE slis_t_fieldcat_alv WITH HEADER LINE ,

       gs_fcat   LIKE gt_fcat ,

       gs_layout TYPE slis_layout_alv .

 

INITIALIZATION .

 

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.

  PERFORM get_filename .

 

START-OF-SELECTION .

  PERFORM get_data_from_excel .

    PERFORM create_alv .

 

*END-OF-SELECTION .

 

 

 

 

 

*&---------------------------------------------------------------------*

*&      form  gui

*&---------------------------------------------------------------------*

FORM gui USING gt_gui .

  SET PF-STATUS 'GUI' .

ENDFORM .                    "gui

*&---------------------------------------------------------------------*

*&      Form  command

*&---------------------------------------------------------------------*

FORM command  USING r_ucom LIKE sy-ucomm

  rs_selfield TYPE slis_selfield.

 

ENDFORM .                    "command

*&---------------------------------------------------------------------*

*&      form  get_filename

*&---------------------------------------------------------------------*

FORM get_filename .

*

  CALL FUNCTION 'F4_FILENAME'

    EXPORTING

      field_name = 'P_FILE'

    IMPORTING

      file_name  = p_file.

*

ENDFORM.                    " get_filename

*&---------------------------------------------------------------------*

*&      form  get_data_from_excel

*&---------------------------------------------------------------------*

FORM get_data_from_excel .

*

  DATA : raw TYPE truxs_t_text_data .

*

  CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'

    EXPORTING

      i_field_seperator    = 'X'

      i_line_header        = 'X'

      i_tab_raw_data       = raw

      i_filename           = p_file

    TABLES

      i_tab_converted_data = gt_output[]                      "gt_0021

    EXCEPTIONS

      conversion_failed    = 1

      OTHERS               = 2.

  IF sy-subrc <> 0.

    MESSAGE 'Excel dosyası okunamadı.. Açık olmadığından emin olunuz.'

    TYPE 'S'.

    EXIT.

  ELSE .

    PERFORM set_excel_batch .

  ENDIF.

 

ENDFORM.                    " get_data_from_excel

*&---------------------------------------------------------------------*

*&      form  set_excel_batch

*&---------------------------------------------------------------------*

FORM set_excel_batch .

 

  LOOP AT gt_0021.

 

   MOVE : gt_0021-werks to gt_output-werks,

          gt_0021-persg to gt_output-persg,

          gt_0021-persk to gt_output-persk,

          gt_0021-ort01 to gt_output-ort01,

          gt_0021-btrtl to gt_output-btrtl,

          gt_0021-nachn to gt_output-nachn,

          gt_0021-vorna to gt_output-vorna,

          gt_0021-gbdat to gt_output-gbdat,

          gt_0021-schkz to gt_output-schkz,

          gt_0021-trfgb to gt_output-trfgb,

          gt_0021-zlsch to gt_output-zlsch,

          gt_0021-massn to gt_output-massn,

          gt_0021-anssa to gt_output-anssa,

          gt_0021-betrg to gt_output-betrg,

          gt_0021-lgart to gt_output-lgart,

          gt_0021-anred to gt_output-anred,

          gt_0021-begda to gt_output-begda.

 

 

*    APPEND gt_0021 TO gt_output.

*    CLEAR gt_0021.

 

    ENDLOOP .

 

ENDFORM.                    " set_excel_batch

*&---------------------------------------------------------------------*

*&      form  create_alv

*&---------------------------------------------------------------------*

FORM create_alv .

  IF p_file IS NOT INITIAL .

    PERFORM create_layout .

    PERFORM create_fcat USING 'GT_OUTPUT' .

    PERFORM display_alv .

  ELSE .

    MESSAGE 'Excel dosyası seçiniz!' TYPE 'S' .

  ENDIF.

ENDFORM.                    " create_alv

*&---------------------------------------------------------------------*

*&      form  create_layout

*&---------------------------------------------------------------------*

FORM create_layout .

*

  gs_layout-box_fieldname = 'MARK' . "seçim ekranı ."

  gs_layout-info_fieldname = 'LINE_COLOR' .

*

ENDFORM.                    " create_layout

*&---------------------------------------------------------------------*

*&      form  create_fcat

*&---------------------------------------------------------------------*

FORM create_fcat USING tabname.

 

*concatenate tabname '[]' into tabname.

  CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'

    EXPORTING

      i_program_name         = sy-repid

      i_internal_tabname     = tabname"'GT_OUTPUT'

      i_inclname             = sy-repid

      i_client_never_display = 'X'

      i_bypassing_buffer     = 'X'

    CHANGING

      ct_fieldcat            = gt_fcat[].

*

  PERFORM modify_fieldcatalog_text

    USING:

*             'ICON'       'Durum'            'Durum' ,

             'WERKS'      'Per.A.'           'Personel Alanı' ,

             'PERSG'      'Ç.Grubu'          'Çalışan Grubu' ,

             'PERSK'      'Ç.A.Grubu'        'Çalışan Alt Grubu' ,

             'ORT01'      'Kent'             'Kent' ,

             'BTRTL'      'A.Alan'           'Alt Alan' ,

             'NACHN'      'Soy'              'Soyadı' ,

             'VORNA'      'Ad'               'Adı' ,

             'GBDAT'      'D.T.'             'Doğum Tarihi' ,

             'SCHKZ'      'Ç.P.K'            'Çalışma Program Kuralı' ,

             'TRFGB'      'Bolge'            'Bölge' ,

             'ZLSCH'      'O.B'              'Ödeme Biçimi' ,

             'MASSN'      'I.D.T'            'İşlemler Dizisi Türü' ,

             'ANSSA'      'A.K.T'            'Adres Kayıt Türü' ,

             'BETRG'      'U.T.T'            'Ücret Tutarı Türü' ,

             'LGART'      'U.T'              'Ücret Türü' ,

             'ANRED'      'H.B.A'            'Hitap Biçimi Anahtarı' ,

             'BEGDA'      'C.T'              'Çıkış Tarihi'.

*             'RETRN'      'Sonuç'            'Sonuç' .

 

 

  PERFORM modify_fieldcatalog

   USING:  'MARK'   'NO_OUT'    'X' .

*           'PERNR'  'HOTSPOT'   'X' .

ENDFORM.                    " create_fcat

*&---------------------------------------------------------------------*

*&      form  modify_fieldcatalog_text

*&---------------------------------------------------------------------*

FORM modify_fieldcatalog_text  USING    fieldname text l_text.

  PERFORM modify_fieldcatalog

          USING: fieldname 'SELTEXT_L'      l_text ,

                 fieldname 'SELTEXT_S'      text   ,

                 fieldname 'SELTEXT_M'      text   ,

                 fieldname 'REPTEXT_DDIC'   text   .

ENDFORM.                    "modify_fieldcatalog_text

*&---------------------------------------------------------------------*

*&      Form  modify_fieldcatalog

*&---------------------------------------------------------------------*

FORM modify_fieldcatalog USING   fieldname target value.

  DATA: lv_fieldname(30).

  FIELD-SYMBOLS: <field> TYPE any.

 

  READ TABLE gt_fcat INTO gs_fcat WITH KEY fieldname = fieldname .

  CHECK sy-subrc = 0.

  CONCATENATE 'GS_FCAT-' target INTO lv_fieldname .

  ASSIGN (lv_fieldname) TO <field>                .

 

  <field> = value.

  MODIFY gt_fcat FROM gs_fcat  INDEX sy-tabix .

  CLEAR gs_fcat                  .

ENDFORM.                     " modify_fieldcatalog

*&---------------------------------------------------------------------*

*&      form  diplay_alv

*&---------------------------------------------------------------------*

FORM display_alv .

*

  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

    EXPORTING

      i_callback_program       = sy-repid "programızın global ismi

      i_callback_pf_status_set = 'GUI'

      i_callback_user_command  = 'COMMAND'

      is_layout                = gs_layout

      it_fieldcat              = gt_fcat[]

    TABLES

      t_outtab                 = gt_output[]

    EXCEPTIONS

      program_error            = 1

      OTHERS                   = 2.

*

ENDFORM.                    "display_alv


Viewing all articles
Browse latest Browse all 10425

Latest Images

Trending Articles



Latest Images

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