메뉴 건너뛰기

SAP 한국 커뮤니티

report to PDF file

아밥뽀 2014.03.18 19:20 조회 수 : 4704

data l_spoolno type sy-spono.

data l_xstring type xstring.

data l_solix type solix_tab.

AT USER-COMMAND.

CASE SY-UCOMM.

WHEN 'PDF'.

  CALL FUNCTION 'Z_CONVERT_TO_PDF1'

    EXPORTING

      i_repid    = sy-repid

      i_linsz    = sy-linsz

      i_download = space

    IMPORTING

      e_spono    = l_spoolno

      e_xstring  = l_xstring

      e_solix    = l_solix.

ENDCASE.

  CALL FUNCTION 'Z_CONVERT_TO_PDF1'

    EXPORTING

     i_filename = 'C:test.pdf'

      i_repid    = sy-repid

      i_linsz    = 300

      i_download = 'X'

    IMPORTING

      e_spono    = l_spoolno

      e_xstring  = l_xstring

      e_solix    = l_solix.

 

Below is the Code for it..

FUNCTION z_convert_to_pdf1.
*"----------------------------------------------------------------------
*"*"Local Interface:
*"  IMPORTING
*"     REFERENCE(I_FILENAME) TYPE  STRING DEFAULT 'C:temptest.pdf'
*"     REFERENCE(I_PAART) TYPE  SYPAART DEFAULT 'X_65_132'
*"     REFERENCE(I_REPID) TYPE  SYREPID
*"     REFERENCE(I_LINSZ) TYPE  SYLINSZ
*"     REFERENCE(I_DOWNLOAD) TYPE  CHAR1 DEFAULT 'X'
*"  EXPORTING
*"     REFERENCE(E_SPONO) TYPE  RSPOID
*"     REFERENCE(E_XSTRING) TYPE  XSTRING
*"     REFERENCE(E_SOLIX) TYPE  SOLIX_TAB
*----------------------------------------------------------------------

  DATA:    l_params TYPE pri_params,
           l_valid TYPE string,
           w_spool_nr LIKE tsp01-rqident.
  DATA:    l_repid TYPE sy-repid.
  DATA:    l_acttime    TYPE rslgtime,
           l_timestamp  TYPE timestamp.
  DATA:    l_range_acttime TYPE RANGE OF rslgtime WITH HEADER LINE.

*Internal table for Selection Screen
  DATA: BEGIN OF it_rsparams OCCURS 0.
          INCLUDE STRUCTURE rsparams.
  DATA: END OF it_rsparams.

  DATA: lt_pdf TYPE TABLE OF tline,
        ls_pdf TYPE tline.
  DATA:
   pdf_bytecount                  TYPE i,
   pdf_spoolid                    TYPE tsp01-rqident,
   otf_pagecount                  TYPE i,
   btc_jobname                    TYPE tbtcjob-jobname,
   btc_jobcount                   TYPE tbtcjob-jobcount,
   bin_file                       TYPE xstring.

  l_repid = i_repid.

*TO GET PRINT PARAMETERS
  CALL FUNCTION 'GET_PRINT_PARAMETERS'
    EXPORTING
      immediately            = space
      no_dialog              = 'X'
    IMPORTING
      out_parameters         = l_params
      valid                  = l_valid
    EXCEPTIONS
      archive_info_not_found = 1
      invalid_print_params   = 2
      invalid_archive_params = 3
      OTHERS                 = 4.
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.
  IF l_valid NE 'X'.
    STOP.
  ENDIF.

* Store the current selection screen details
  CALL FUNCTION 'RS_REFRESH_FROM_SELECTOPTIONS'
    EXPORTING
      curr_report     = l_repid
    TABLES
      selection_table = it_rsparams.

  IF i_linsz IS NOT INITIAL.
    l_params-linsz = i_linsz.
  ENDIF.
  IF i_paart IS NOT INITIAL.
    l_params-paart = i_paart.
  ENDIF.

*Create System Log Time Before spool
  CLEAR l_acttime.
  CONVERT DATE sy-datum TIME sy-uzeit
  INTO TIME STAMP l_timestamp TIME ZONE sy-zonlo.
  l_acttime(14) = l_timestamp.
  CONCATENATE l_acttime '00' INTO l_acttime.
  l_range_acttime-sign   = 'I'.
  l_range_acttime-option = 'BT'.
  l_range_acttime-low    = l_acttime.

*Submit Report
  SUBMIT (l_repid) WITH SELECTION-TABLE it_rsparams
                    TO SAP-SPOOL
                    SPOOL PARAMETERS l_params
                    WITHOUT SPOOL DYNPRO
                    AND RETURN.

*Create System Log Time Right after spool
  CLEAR l_acttime.
  CONVERT DATE sy-datum TIME sy-uzeit
  INTO TIME STAMP l_timestamp TIME ZONE sy-zonlo.
  l_acttime(14) = l_timestamp.
  CONCATENATE l_acttime '00' INTO l_acttime.
  l_range_acttime-high    = l_acttime.
  APPEND l_range_acttime.

*SELECT THE RECENTLY CREATED SPOOL
  SELECT MAX( rqident ) INTO w_spool_nr FROM tsp01
         WHERE rqclient  = sy-mandt
         AND   rq0name   = l_params-prdsn
         AND   rq1name   = l_params-pdest
         AND   rq2name   = l_params-plist
         AND   rqowner   = l_params-prrec
         AND   rqcretime IN  l_range_acttime.

  e_spono = w_spool_nr.

*Get Xstring PDF
  CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'
    EXPORTING
      src_spoolid          = w_spool_nr
      no_dialog            = space
      pdf_destination      = 'X'
      get_size_from_format = space
    IMPORTING
      pdf_bytecount        = pdf_bytecount
      pdf_spoolid          = pdf_spoolid
      btc_jobname          = btc_jobname
      btc_jobcount         = btc_jobcount
      bin_file             = e_xstring
    TABLES
      pdf                  = lt_pdf.
*Get tab PDF
  CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
    EXPORTING
      buffer     = e_xstring
    TABLES
      binary_tab = e_solix.

*Download Directly to the Location
  IF i_download EQ 'X'.
    CALL FUNCTION 'GUI_DOWNLOAD'
      EXPORTING
        bin_filesize = pdf_bytecount
        filename     = i_filename
        filetype     = 'BIN'
      TABLES
        data_tab     = e_solix.
  ENDIF.

ENDFUNCTION.

번호 제목 글쓴이 날짜 조회 수
487 FTP 호출 프로그램 예제 [2] sapjoy 2014.11.28 5635
486 sap 화면 웹(web)으로 띄우기(ITS, SAPGUI HTML) [4] file sapjoy 2014.11.14 7172
485 Selection Screeen에서 저장버튼 Disable 처리 [3] 양키(이경환) 2014.11.13 3743
484 릴리즈된 cts 복구 하기 Program : RDDIT076 [2] sapjoy 2014.11.10 7322
483 스크린을 생성하여 팝업창을 띄웠는데요~닫기가 안되요 [3] 흐르는강물처럼 2014.10.06 5363
482 User Profile 설정하기 [4] file 아밥뽀 2014.09.21 2749
481 드롭다운 리스트 key값 조회하기 [4] file 아밥뽀 2014.09.21 3340
480 백그라운드로 프로그램 실행하기 [5] file 아밥뽀 2014.09.21 4807
479 BDC 수행시 COMMAND 명령어 sapjoy 2014.09.18 3299
478 명령어 결과에 따른 SY-SUBRC [5] sapjoy 2014.09.16 6938
477 테이블 inconsistency check 프로그램 [2] file sapjoy 2014.09.11 2109
476 SQL 실행 프로그램 - ZSQL [2] file 아밥뽀 2014.08.23 4686
475 SYST 시스템 변수 정리 [5] 아밥뽀 2014.08.23 16927
474 앞의 0으로 시작하는 문자 모두 지우기 sapjoy 2014.08.20 3342
473 archive 관련 transaction code [1] sapjoy 2014.08.20 2038
472 AL08에서 SAP 서버(인스턴스)별 사용자 확인 [1] sapjoy 2014.08.19 2300
471 SAP 모니터링 T-CODE [11] 아밥뽀 2014.07.08 8672
470 SAPLINK - 소스 업&다운 프로그램 입니다. [5] file abaper_qj 2014.06.18 6981
469 ALV 컬럼 고정하기 [5] file sapjoy 2014.06.18 4574
468 테이블 데이터 엑셀 업로드 프로그램 sapjoy 2014.06.17 4046