How can I convert a report/ ALV in PDF format?

Can you tell me how can I convert a report or ALV in PDF format?
Regards,
Subhasish

hi ,
check this..
*& Report  ZSPOOLTOPDF                                                 *
*& Converts spool request into PDF document and emails it to           *
*& recipicant.                                                         *
*& Execution                                                           *
*& This program must be run as a background job in-order for the write *
*& commands to create a Spool request rather than be displayed on      *
*& screen                                                              *
REPORT  zspooltopdf.
PARAMETER: p_email1 LIKE somlreci1-receiver
                                    DEFAULT '[email protected]',
           p_sender LIKE somlreci1-receiver
                                    DEFAULT '[email protected]',
           p_delspl  AS CHECKBOX.
*DATA DECLARATION
DATA: gd_recsize TYPE i.
Spool IDs
TYPES: BEGIN OF t_tbtcp.
        INCLUDE STRUCTURE tbtcp.
TYPES: END OF t_tbtcp.
DATA: it_tbtcp TYPE STANDARD TABLE OF t_tbtcp INITIAL SIZE 0,
      wa_tbtcp TYPE t_tbtcp.
Job Runtime Parameters
DATA: gd_eventid LIKE tbtcm-eventid,
      gd_eventparm LIKE tbtcm-eventparm,
      gd_external_program_active LIKE tbtcm-xpgactive,
      gd_jobcount LIKE tbtcm-jobcount,
      gd_jobname LIKE tbtcm-jobname,
      gd_stepcount LIKE tbtcm-stepcount,
      gd_error    TYPE sy-subrc,
      gd_reciever TYPE sy-subrc.
DATA:  w_recsize TYPE i.
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.
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.
Binary store for PDF
DATA: BEGIN OF it_pdf_output OCCURS 0.
        INCLUDE STRUCTURE tline.
DATA: END OF it_pdf_output.
CONSTANTS: c_dev LIKE  sy-sysid VALUE 'DEV',
           c_no(1)     TYPE c   VALUE ' ',
           c_device(4) TYPE c   VALUE 'LOCL'.
*START-OF-SELECTION.
START-OF-SELECTION.
Write statement to represent report output. Spool request is created
if write statement is executed in background. This could also be an
ALV grid which would be converted to PDF without any extra effort
  WRITE 'Hello World'.
  new-page.
  commit work.
  new-page print off.
  IF sy-batch EQ 'X'.
    PERFORM get_job_details.
    PERFORM obtain_spool_id.
Alternative way could be to submit another program and store spool
id into memory, will be stored in sy-spono.
*submit ZSPOOLTOPDF2
       to sap-spool
       spool parameters   %_print
       archive parameters %_print
       without spool dynpro
       and return.
Get spool id from program called above
IMPORT w_spool_nr FROM MEMORY ID 'SPOOLTOPDF'.
    PERFORM convert_spool_to_pdf.
    PERFORM process_email.
    if p_delspl EQ 'X'.
      PERFORM delete_spool.
    endif.
    IF sy-sysid = c_dev.
      wait up to 5 seconds.
      SUBMIT rsconn01 WITH mode   = 'INT'
                      WITH output = 'X'
                      AND RETURN.
    ENDIF.
  ELSE.
    SKIP.
    WRITE:/ 'Program must be executed in background in-order for spool',
            'request to be created.'.
  ENDIF.
      FORM obtain_spool_id                                          *
FORM obtain_spool_id.
  CHECK NOT ( gd_jobname IS INITIAL ).
  CHECK NOT ( gd_jobcount IS INITIAL ).
  SELECT * FROM  tbtcp
                 INTO TABLE it_tbtcp
                 WHERE      jobname     = gd_jobname
                 AND        jobcount    = gd_jobcount
                 AND        stepcount   = gd_stepcount
                 AND        listident   <> '0000000000'
                 ORDER BY   jobname
                            jobcount
                            stepcount.
  READ TABLE it_tbtcp INTO wa_tbtcp INDEX 1.
  IF sy-subrc = 0.
    message s004(zdd) with gd_spool_nr.
    gd_spool_nr = wa_tbtcp-listident.
    MESSAGE s004(zdd) WITH gd_spool_nr.
  ELSE.
    MESSAGE s005(zdd).
  ENDIF.
ENDFORM.
      FORM get_job_details                                          *
FORM get_job_details.
Get current job details
  CALL FUNCTION 'GET_JOB_RUNTIME_INFO'
       IMPORTING
            eventid                 = gd_eventid
            eventparm               = gd_eventparm
            external_program_active = gd_external_program_active
            jobcount                = gd_jobcount
            jobname                 = gd_jobname
            stepcount               = gd_stepcount
       EXCEPTIONS
            no_runtime_info         = 1
            OTHERS                  = 2.
ENDFORM.
      FORM convert_spool_to_pdf                                     *
FORM convert_spool_to_pdf.
  CALL FUNCTION 'CONVERT_ABAPSPOOLJOB_2_PDF'
       EXPORTING
            src_spoolid              = gd_spool_nr
            no_dialog                = c_no
            dst_device               = c_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.
Transfer the 132-long strings to 255-long strings
  LOOP AT it_pdf_output.
    TRANSLATE it_pdf_output USING ' ~'.
    CONCATENATE gd_buffer it_pdf_output INTO gd_buffer.
  ENDLOOP.
  TRANSLATE gd_buffer USING '~ '.
  DO.
    it_mess_att = gd_buffer.
    APPEND it_mess_att.
    SHIFT gd_buffer LEFT BY 255 PLACES.
    IF gd_buffer IS INITIAL.
      EXIT.
    ENDIF.
  ENDDO.
ENDFORM.
      FORM process_email                                            *
FORM process_email.
  DESCRIBE TABLE it_mess_att LINES gd_recsize.
  CHECK gd_recsize > 0.
  PERFORM send_email USING p_email1.
perform send_email using p_email2.
ENDFORM.
      FORM send_email                                               *
-->  p_email                                                       *
FORM send_email USING p_email.
  CHECK NOT ( p_email IS INITIAL ).
  REFRESH it_mess_bod.
Default subject matter
  gd_subject         = 'Subject'.
  gd_attachment_desc = 'Attachname'.
CONCATENATE 'attach_name' ' ' INTO gd_attachment_name.
  it_mess_bod        = 'Message Body text, line 1'.
  APPEND it_mess_bod.
  it_mess_bod        = 'Message Body text, line 2...'.
  APPEND it_mess_bod.
If no sender specified - default blank
  IF p_sender EQ space.
    gd_sender_type  = space.
  ELSE.
    gd_sender_type  = 'INT'.
  ENDIF.
Send file by email as .xls speadsheet
  PERFORM send_file_as_email_attachment
                               tables it_mess_bod
                                      it_mess_att
                                using p_email
                                      'Example .xls documnet attachment'
                                      'PDF'
                                      gd_attachment_name
                                      gd_attachment_desc
                                      p_sender
                                      gd_sender_type
                             changing gd_error
                                      gd_reciever.
ENDFORM.
      FORM delete_spool                                             *
FORM delete_spool.
  DATA: ld_spool_nr TYPE tsp01_sp0r-rqid_char.
  ld_spool_nr = gd_spool_nr.
  CHECK p_delspl <> c_no.
  CALL FUNCTION 'RSPO_R_RDELETE_SPOOLREQ'
       EXPORTING
            spoolid = ld_spool_nr.
ENDFORM.
*&      Form  SEND_FILE_AS_EMAIL_ATTACHMENT
      Send email
FORM send_file_as_email_attachment tables it_message
                                          it_attach
                                    using p_email
                                          p_mtitle
                                          p_format
                                          p_filename
                                          p_attdescription
                                          p_sender_address
                                          p_sender_addres_type
                                 changing p_error
                                          p_reciever.
  DATA: ld_error    TYPE sy-subrc,
        ld_reciever TYPE sy-subrc,
        ld_mtitle LIKE sodocchgi1-obj_descr,
        ld_email LIKE  somlreci1-receiver,
        ld_format TYPE  so_obj_tp ,
        ld_attdescription TYPE  so_obj_nam ,
        ld_attfilename TYPE  so_obj_des ,
        ld_sender_address LIKE  soextreci1-receiver,
        ld_sender_address_type LIKE  soextreci1-adr_typ,
        ld_receiver LIKE  sy-subrc.
data:   t_packing_list like sopcklsti1 occurs 0 with header line,
        t_contents like solisti1 occurs 0 with header line,
        t_receivers like somlreci1 occurs 0 with header line,
        t_attachment like solisti1 occurs 0 with header line,
        t_object_header like solisti1 occurs 0 with header line,
        w_cnt type i,
        w_sent_all(1) type c,
        w_doc_data like sodocchgi1.
  ld_email   = p_email.
  ld_mtitle = p_mtitle.
  ld_format              = p_format.
  ld_attdescription      = p_attdescription.
  ld_attfilename         = p_filename.
  ld_sender_address      = p_sender_address.
  ld_sender_address_type = p_sender_addres_type.
Fill the document data.
  w_doc_data-doc_size = 1.
Populate the subject/generic message attributes
  w_doc_data-obj_langu = sy-langu.
  w_doc_data-obj_name  = 'SAPRPT'.
  w_doc_data-obj_descr = ld_mtitle .
  w_doc_data-sensitivty = 'F'.
Fill the document data and get size of attachment
  CLEAR w_doc_data.
  READ TABLE it_attach INDEX w_cnt.
  w_doc_data-doc_size =
     ( w_cnt - 1 ) * 255 + STRLEN( it_attach ).
  w_doc_data-obj_langu  = sy-langu.
  w_doc_data-obj_name   = 'SAPRPT'.
  w_doc_data-obj_descr  = ld_mtitle.
  w_doc_data-sensitivty = 'F'.
  CLEAR t_attachment.
  REFRESH t_attachment.
  t_attachment[] = it_attach[].
Describe the body of the message
  CLEAR t_packing_list.
  REFRESH t_packing_list.
  t_packing_list-transf_bin = space.
  t_packing_list-head_start = 1.
  t_packing_list-head_num = 0.
  t_packing_list-body_start = 1.
  DESCRIBE TABLE it_message LINES t_packing_list-body_num.
  t_packing_list-doc_type = 'RAW'.
  APPEND t_packing_list.
Create attachment notification
  t_packing_list-transf_bin = 'X'.
  t_packing_list-head_start = 1.
  t_packing_list-head_num   = 1.
  t_packing_list-body_start = 1.
  DESCRIBE TABLE t_attachment LINES t_packing_list-body_num.
  t_packing_list-doc_type   =  ld_format.
  t_packing_list-obj_descr  =  ld_attdescription.
  t_packing_list-obj_name   =  ld_attfilename.
  t_packing_list-doc_size   =  t_packing_list-body_num * 255.
  APPEND t_packing_list.
Add the recipients email address
  CLEAR t_receivers.
  REFRESH t_receivers.
  t_receivers-receiver = ld_email.
  t_receivers-rec_type = 'U'.
  t_receivers-com_type = 'INT'.
  t_receivers-notif_del = 'X'.
  t_receivers-notif_ndel = 'X'.
  APPEND t_receivers.
  CALL FUNCTION 'SO_DOCUMENT_SEND_API1'
       EXPORTING
            document_data              = w_doc_data
            put_in_outbox              = 'X'
            sender_address             = ld_sender_address
            sender_address_type        = ld_sender_address_type
            commit_work                = 'X'
       IMPORTING
            sent_to_all                = w_sent_all
       TABLES
            packing_list               = t_packing_list
            contents_bin               = t_attachment
            contents_txt               = it_message
            receivers                  = t_receivers
       EXCEPTIONS
            too_many_receivers         = 1
            document_not_sent          = 2
            document_type_not_exist    = 3
            operation_no_authorization = 4
            parameter_error            = 5
            x_error                    = 6
            enqueue_error              = 7
            OTHERS                     = 8.
Populate zerror return code
  ld_error = sy-subrc.
Populate zreceiver return code
  LOOP AT t_receivers.
    ld_receiver = t_receivers-retrn_code.
  ENDLOOP.
ENDFORM.
regards,
venkat.

Similar Messages

  • How can I convert an ART file to pdf?

    How can I convert an ART file to pdf?

    I do not even know what an ART file is.
    See this article what file types are supported by Adobe PDF Pack: http://forums.adobe.com/docs/DOC-1496

  • How can I convert an email  in a PDF document?

    iOS
    How can I convert an email  in a PDF document?

    There is no "system solution" that turns an e-mail into a PDF file. In other words, it's not a functionality of the iOS. And there are some apps around that say they turn some documents into PDF files, but in every app that does that, I've never seen one that does so for the entire e-mail itself, but only for the "text" of the e-mail (which won't include the "to" and "from").
    BUT, you can get part of the e-mail through a screen shot and you can get more of the e-mail by going "portrait" style and not "landscape". Then after getting the screen shot, you can turn that into a PDF file by those apps I was referring to up above,

  • How can I convert DVD- video into Apple's format so that it can be played and streamed from my Mac?

    How can I convert DVD- video into Apple's format so that I can play the content on my Mac and also stream it to my Apple TV? A few years ago, I transferred all of my home videos onto DVD but now would really like to put these onto my Mac and stream them through Apple TV to watch on the "big screen". Any advice would be most welcome!! Thanks

    MPEG Streamclip.
    Apple do not have their "own" format. You need to convert your DVDs to H.264 though.

  • How can I convert my other videos to a format that can be viewed on my iPod

    How can I convert my other videos to a format that can be viewed on my iPod?
    Martin Brossman
    [email protected]

    Click here for instructions; if you find that the movies have no sound, download MPEG Streamclip and use it for the conversion.
    (27741)

  • ITunes 11 has converted some songs to Quicktime movie format. How can I convert them back to MPEGs? format

    iTunes 11 has converted some songs to Quicktime movie format. How can I convert them back to MPEGs?

    I didn't mess with the iTunes Media folder previously, so I don't think that was the cause. Anyway, I manually fixed most of the songs, but I still can't figure out how to fix the movies that became listed as songs.
    Here is a screenshot of what it looks like when I click on "Get Info" for one of the movies (which has ended up in the music section on iTunes):
    There is no option to change the media kind to "movie" or "video" even though it is a movie and it still plays as a movie if I press play.

  • How can i convert a jpeg doc to pdf on macbook

    how can i convert a jpeg doc into a pdf doc?

    Open it in Preview and choose Export from the File menu.
    (112944)

  • How can I convert MP3 to AWB or AMR format

    How can I convert MP3 to AWB, AMR format?

    Because I faced the same issue today and although the Nokia Multimedia Converter was last updated in the year 2003, it did the trick for me. Instead of giving the setup.exe your Nokia Account, go back one step, and use this to ‘register’ that product.
    In that converter, as audio, select AMR Wideband (WB AMR) which creates .awb files. Those have a sampling rate of 16 000 Hz which is great for HD-Voice like audio books. Actually for voice-only media, I went for a bit-rate of just 12.2 kbps, still great as explained by Wikipedia. With that bit-rate only go for standard AMR if your phone does not support the wideband variant, because there is not difference in size.

  • How can i convert this data(00000000) into date format(yyyy-MM-dd)

    Hi,
    i am using this method to convert date format from string.
    public static string FormatDate(string inputDate, string inputFormat)
                System.DateTime date = DateTime.ParseExact(inputDate, inputFormat, null);
                string datepresent = DateTime.Now.Date.ToString("yyyy-MM-dd");
                return datepresent;
    its working properly,
    but when input data is like 00000000 i am getting error this is not valid.
    how can i convert this into date format any help..!

    Have you tried the above code:
    I can see it is working with both Date and DateTime destination nodes.
    Map:
    Functoid Parameters:
    Functoid Script:
    public static string FormatDate(string inputDate, string inputFormat)
    string datepresent;
    if (inputDate == "00000000")
    datepresent = "0000-00-00";
    else
    System.DateTime date = DateTime.ParseExact(inputDate, inputFormat, null);
    datepresent = date.ToString("yyyy-MM-dd");
    return datepresent;
    Input:
    <ns0:InputDateString xmlns:ns0="http://DateFormat.SourceSchema">
    <DateString>00000000</DateString>
    </ns0:InputDateString>
    Output:
    <ns0:OutputDate xmlns:ns0="http://DateFormat.DestinationSchema">
    <Date>0000-00-00</Date>
    </ns0:OutputDate>
    If this answers your question please mark as answer. If this post is helpful, please vote as helpful.

  • How can i convert a .indd file into pdf

    please help on this
    How can i convert .indd file to pdf file using .net c#
    please share some code sample for a better help

    Hi there,
    There's actually an easy streamlined way to do this using Acrobat.com. Here are the steps:
    1. Log in to Acrobat.com with your Adobe ID.
    2. On the left, you'll see a navigation menu that includes the item "Import and Edit". Click that.
    3. Choose the .doc (Word) file you want to convert and upload it to Buzzword.
    4. After making sure that it looks the way you want it to, go to the top menu (still in Buzzword now, not the organizer where all your files live) and click the document menu. There will be an option to "Export" - choose that.
    5. When prompted to select filetype, choose "Adobe PDF" and press OK.
    6. It'll save to your desktop, so now you have to get it into your acrobat.com organizer. To do that, close the Buzzword document by clicking the little "x" in the upper right corner, under the Sign Out button. This'll get you back to your organizer, where you can choose "Import" from the left nav menu again. This time choose your new PDF file.
    7. Select the  file icon in the organizer and click the Share button. Or, select Share  from the file context menu.
    8. Select Allow Anyone With A  Link To Share This Document to set the document to open access, and then  click Copy Embed Code. The necessary HTML code to embed the preview is  copied onto the clipboard.
    9. Open the HTML file and paste  the code into the file. The Flash previewer can display any file type  that you can convert to PDF.
    Hope this helps! Good luck, and let us know how it works out.
    Rebecca

  • How can i convert oracle report in excel format using 8i

    hi,
    I want to convert oracle report in excel format using 6i reports. please give the solution with emp table.
    millons of thanks in advance.

    You'll have to use the destype DELIMITEDDATA to render your Report in CSV format. Then set the mime type to Excel. I don't know the exact syntax, so please do a search in metalink for "reports excel" for examples and more info.
    Regards,
    Martin Malmstrom

  • Can I convert an ePub document to pdf format and vice versa?  If so, how?

    I would like to publish my book in both pdf and ePub formats.  If I create the book in one of these formats, can I convert the finished product to the other?  If so, how do I do that?

    It doesn't work to convert between PDF and EPUB, or back. Start with the same InDesign file and export separately to PDF and to EPUB.

  • How can I convert a Pages document into PDF or RTF?

    I have been asked to send a Pages document to PC users in RTF or PDF format.  How can I get my Pages document to convert into other formats for PC people?
    Is that what the export feature is supposed to do?  I just don't know how to sent my document via e-mail to non-Apple conputers!

    You didn’t indicate whether you are using Pages ’09 v4.+ or the latest Pages v5(.2) release. To send an email with either Word or PDF attachment from within Pages:
    Pages ’09 v4+
    Pages menubar > Share (category Send via Mail) > (select Word (.doc) or PDF). Mail will launch into a compose window with the document already attached.
    Pages v5+
    Pages toolbar > Share > Send a Copy > Email > (select Word (.doc/x) or PDF - best). Mail will behave as above.
    Note: Either version of Pages is not an MS Word clone and it must translate content into the Microsoft document architecture. If you must have maximum Word document accuracy, you will need Office for Mac 2011, and the associated MS Word application that produces native .docx format.
    Backup your work.

  • How can I create a report with a specified format in Answers

    Hello Everyone!
    I want to create a request in Answers gives me a report format like this:
    http://i25.tinypic.com/t6p0ee.jpg
    How can I achieve this?
    Please help!
    -D

    Thanks for quick replies. I think I was not able to give a lot of details.
    So, I am selecting a country, region, branch (branches can be multiple)
    The report is grouped by Branch (I get details of each individual projects within each of the branch, the total sales of individual projects and then total sales of the branch)
    The report then further gives me sum of sales of the branches that selected in my query.
    In the end I want the report to look similar to the pic I posted.
    Thanks!
    -D

  • I have an I-Mac 10.4.11 How can I convert my cwk files to pdf or doc files?

    I would like to convert my CWK files into pdf or doc files. How can I do this?

    Hi Herman,
    Is this a G4 iMac?
    Do you have Classic/OS9 installed?
    If so AppleWorks may convert it, & Print2PDF in Clasic or OS9.

Maybe you are looking for

  • Is the PNG generated by the "Save As" option the same as the png-24 from the "Save for Web" option?

    It would speed up my workflow if I could go through the save for web option rather than the save as. Are these files the same?

  • Problem with RTL 8029

    Hi! i was trying to make my RTL 8029 NIC works under solaris 8 when i boot my computer and press ESC i can see that detected a Network Adapter.. but when i try to configure it I get the following error.... bash-2.03# ifconfig hme0 192.168.1.4 netmask

  • Using conditional Maps

    Hi all, Im using FDM 11.1.2.1 I want to use a conditional Mapping for Custom 2 (UD2) I tried to use the example on the manual, but on the field Rule Definition, which is empty on the example, FDM is forcing me to include some value, so basically the

  • OO ABAP and BSP coding standards

    Hi, Can anyone send me the documnet for OO ABAP and BSP coding standards. Points will be rewarded. Regards Sandeep Reddy

  • Why are the ports on my macbook pro not working?

    I have a 2.4GHz intel core i5 Processor with 4 GB memory fully up to date lion processing system and no matter what I do I can not get my usb ports to work. They both worked a few months back, but after a while one of the 2 ports gave out still produ