Spool PDF Download


  DATA: lv_spool LIKE tsp01-rqident.
 

* Submit Report


  SUBMIT zreport
          WITH p_matnr = i_matnr
          TO SAP-SPOOL
              WITHOUT SPOOL DYNPRO
                      DESTINATION space
                      NEW LIST IDENTIFICATION 'X'
                      IMMEDIATELY space
                      WITH p_pdf = 'X'
                      AND RETURN.
  IMPORT lv_spool FROM MEMORY ID 'ZMEMORY'.
  FREE MEMORY ID 'ZMEMORY'.



* Spool to PDF conversions
  DATA: gd_spool_nr LIKE tsp01-rqident,
        gd_destination LIKE rlgrap-filename,
        gd_bytecount LIKE tst01-dsize,
        gd_buffer TYPE string.
  DATA: gd_subject   LIKE sodocchgi1-obj_descr,
        it_mess_bod LIKE solisti1 OCCURS 0 WITH HEADER LINE,
        it_mess_att LIKE solisti1 OCCURS 0 WITH HEADER LINE,
        gd_sender_type     LIKE soextreci1-adr_typ,
        gd_attachment_desc TYPE so_obj_nam,
        gd_attachment_name TYPE so_obj_des.
* Binary store for PDF
  DATA: BEGIN OF it_pdf_output OCCURS 0.
          INCLUDE STRUCTURE tline.
  DATA: END OF it_pdf_output.




  CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'
  EXPORTING
       src_spoolid              = lv_spool
       no_dialog                = ''
       dst_device               = ''
  IMPORTING
       pdf_bytecount            = gd_bytecount
  TABLES
       pdf                      = it_pdf_output
  EXCEPTIONS
       err_no_abap_spooljob     = 1
       err_no_spooljob          = 2
       err_no_permission        = 3
       err_conv_not_possible    = 4
       err_bad_destdevice       = 5
       user_cancelled           = 6
       err_spoolerror           = 7
       err_temseerror           = 8
       err_btcjob_open_failed   = 9
       err_btcjob_submit_failed = 10
       err_btcjob_close_failed  = 11
       OTHERS                   = 12.

  CHECK sy-subrc = 0.

data: filename like  RLGRAP-FILENAME .

  CONCATENATE 'C:\Users\Kaan Ozdogan\Desktop\'
       i_matnr '.pdf'  INTO filename .

  CALL FUNCTION 'WS_DOWNLOAD'
     EXPORTING
       bin_filesize = gd_bytecount
       filename     = filename
       filetype     = 'BIN'
     TABLES
       data_tab     = it_pdf_output.

ABAP İki Tarih Arası Gün Hesaplama

Girilen iki tarih arasında gün hesaplama fonksiyonu.

CALL FUNCTION 'FIMA_DAYS_AND_MONTHS_AND_YEARS'
  EXPORTING
    i_date_from          = lv_erdat
*   I_KEY_DAY_FROM       =
    i_date_to            = sy-datum
*   I_KEY_DAY_TO         =
*   I_FLG_SEPARATE       = ' '
 IMPORTING
   E_DAYS               = lv_no_day
*   E_MONTHS             =
*   E_YEARS              =
          .


Request Download/ Upload

Sistemler arası requestleri taşımak için mevcut  request download edilip taşımak istediğiniz sisteme upload edilir.


AL11 ile dir_trans dosya yolu alınır.




Request download işlemi CG3Y transaction ile indirilir.
(AL11 den aldığımız yola \cofiles\K + request number + .SID )




CG3Z ile aynı yollara aynı dosyalar geri yüklenip request import edilir.

(\data\R + request number + .SID indirilir.)



SAP ABAP üzerinden Google Api Kullanımı ve HTML Output

Abap üzerinden Google Geolocation API kullanım örneğidir. API Key selection screenden almaktadır. Bu kısmı isterseniz kodunuza da gömebilirsiniz.

REPORT zkaan_google_api NO STANDARD PAGE HEADING
                                   LINE-COUNT 132.

TYPE-POOLS:abap.
DATA:
  http_client TYPE REF TO if_http_client,
  content     TYPE string.



PARAMETERS : p_lat  TYPE c LENGTH 50 DEFAULT '38.369035'.
PARAMETERS : p_lon TYPE c LENGTH 50  DEFAULT '27.196334'.
PARAMETERS : p_api TYPE c LENGTH 50
 DEFAULT 'GOOGLE_API_KEY'.


START-OF-SELECTION.

  DATA: lv_http_url TYPE string.

* Prepare the url of the address
  CONCATENATE
  'https://maps.googleapis.com/maps/api/geocode/xml?key='
  'GOOGLE_API_KEY'
  '&latlng='
  p_lat
  ','
  p_lon
  INTO lv_http_url .

  CALL METHOD cl_http_client=>create_by_url
    EXPORTING
      url                = lv_http_url
    IMPORTING
      client             = http_client
    EXCEPTIONS
      argument_not_found = 1
      plugin_not_active  = 2
      internal_error     = 3
      OTHERS             = 4.

  IF sy-subrc = 0.

    http_client->request->set_header_field( name = '~request_method' value = 'GET' ).
    http_client->send( ).
*    http_client->receive( ).
*    content = http_client->response->get_data( ).

    CALL METHOD http_client->receive
      EXCEPTIONS
        http_communication_failure = 1
        http_invalid_state         = 2
        http_processing_failed     = 3
        OTHERS                     = 4.
    content = http_client->response->get_cdata( ).



    http_client->close( ).

  ENDIF.








  DATA:
    v_crlf TYPE char2, "CRLF
    v_cr   TYPE char1, "CR
    v_lf   TYPE char1. "LF

  v_crlf = cl_abap_char_utilities=>cr_lf.

  v_cr = cl_abap_char_utilities=>cr_lf.

  v_lf = cl_abap_char_utilities=>newline.
  DATA: lf_uz TYPE i.
  DATA: lf_pos TYPE i.
  DATA: lf_content TYPE string.
  data: lf_ek type i.
  DO.
    lf_uz = strlen( content ).
    IF content = ''.
      EXIT.
    ENDIF.
    SEARCH content FOR v_crlf .
    IF sy-subrc = 0.lf_ek = 2.
      lf_pos = sy-fdpos .
    ELSE.
      SEARCH content FOR v_cr .
      IF sy-subrc = 0.lf_ek = 1.
        lf_pos = sy-fdpos .
      ELSE.
        SEARCH content FOR v_lf .
        IF sy-subrc = 0.lf_ek = 1.
          lf_pos = sy-fdpos .
        ELSE.

          lf_pos = lf_uz.
        ENDIF.
      ENDIF.
    ENDIF.
    lf_content = content+0(lf_pos).
    WRITE:/ lf_content.
    ADD lf_ek TO lf_pos.
    IF lf_pos GT lf_uz.
      EXIT.
    ENDIF.
    content = content+lf_pos.
  ENDDO.

Basit ALV Raporu ()


REPORT z_guncelle_log.


TABLES: zmm_guncelle_log.
DATA : gt_log TYPE TABLE OF zmm_guncelle_log .

DATA gs_field  TYPE  slis_t_fieldcat_alv WITH HEADER LINE.



SELECT-OPTIONS : 
s_matnr FOR zmm_guncelle_log-matnr,
s_alan FOR zmm_guncelle_log-alan,
s_uname FOR zmm_guncelle_log-uname,
s_tarih FOR zmm_guncelle_log-tarih,
s_saat FOR zmm_guncelle_log-saat.

START-OF-SELECTION .
  PERFORM get_log_data .

  PERFORM fieldcat.
  PERFORM disp_log_alv .

*&---------------------------------------------------------------------*
*&      Form  GET_MARA_DATA
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM get_log_data .
  SELECT * FROM zmm_guncelle_log
      INTO TABLE gt_log
      WHERE 
            matnrIN s_matnr AND
            alan IN s_alan AND
            uname IN s_uname AND
            tarih IN s_tarih AND
            saat IN s_saat .






ENDFORM.                    " GET__MARA_DATA
*&---------------------------------------------------------------------*
*&      Form  DISP_MARA_ALV
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM disp_log_alv .


  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
     EXPORTING
        i_callback_program      = 'ZDI_GUNCELLE_LOG'
       it_fieldcat              = gs_field[]

      i_callback_user_command  = 'USER_COMMAND'
            i_save = 'X'
     TABLES
       t_outtab                 = gt_log
     EXCEPTIONS
       program_error            = 1
       OTHERS                   = 2.
  IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.


ENDFORM.                    " DISP_MARA_ALV
*&---------------------------------------------------------------------*
*&      Form  FIELDCAT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM fieldcat .



  gs_field-fieldname = 'MATNR'.
  gs_field-ref_tabname = 'ZDI_GUNCELLE_LOG'.
  gs_field-col_pos = 0.
  gs_field-reptext_ddic  = 'Ürünkodu'.
  APPEND gs_field.
  CLEAR gs_field.


  gs_field-fieldname = 'ALAN'.
  gs_field-ref_tabname = 'ZDI_GUNCELLE_LOG'.
  gs_field-reptext_ddic  = 'İşlem'.
  gs_field-col_pos = 0.
  APPEND gs_field.
  CLEAR gs_field.

  gs_field-fieldname = 'UNAME'.
  gs_field-ref_tabname = 'ZDI_GUNCELLE_LOG'.
  gs_field-reptext_ddic  = 'Kullanıcı'.
  gs_field-col_pos = 0.
  APPEND gs_field.
  CLEAR gs_field.

  gs_field-fieldname = 'TARIH'.
  gs_field-ref_tabname = 'ZDI_GUNCELLE_LOG'.
  gs_field-reptext_ddic  = 'Tarih'.
  gs_field-col_pos = 0.
  APPEND gs_field.
  CLEAR gs_field.

  gs_field-fieldname = 'SAAT'.
  gs_field-ref_tabname = 'ZDI_GUNCELLE_LOG'.
  gs_field-reptext_ddic  = 'Saat'.
  gs_field-col_pos = 0.
  APPEND gs_field.
  CLEAR gs_field.


ENDFORM.                    " FIELDCAT