Sapscript output to pdf of standard program .

Hi ,
Any ideas on how we can save the output of a standard sap script eg purchase order QM notifications etc onto local disc as pdf file .As it is standard we cannot change the open_form structure ..

Hi,
just Print the form when u r going for TEST PRINT option.
Then spool no. will be genaerated.
now Execute the program RSTXPDFT4 , here give the spool number and save it in the desired path.
Revert back if any issues,
Reward with points if helpful.
Regards,
Naveen.

Similar Messages

  • Download Sapscript output to PDF format

    Hi,
    how to download sapscript output to PDF format

    Hi,
    Please check below link.
    http://www.scribd.com/doc/454814/SAPSCRIPT-to-PDF
    Regards,
    Anil

  • How can i send a Sapscript as an PDF through NACE

    Hi experts,
    I have an requirement that i have to send a  Invoice sapscript output in pdf format on mail with
    Transaction NACE.
    How can it be done?
    Regards

    u need to configure ur output as external send (medium 5) in nace look at this coe its for smatforms but for scripts u can proceed in similar way.
    https://www.sdn.sap.com/irj/sdn/wiki?path=/display/snippets/mail%2bsend%2bthrough%2boutput%2bcontrols
    also look at this code for reference
    https://www.sdn.sap.com/irj/scn/wiki?path=/display/abap/converting%252bscripts%252boutput%252binto%252bpdf%252bform
    кu03B1ятu03B9к
    Edited by: kartik tarla on Feb 27, 2009 2:28 PM

  • Changing a standard program

    hello
    hw to change the field names and output format of a standard program.

    What program is this ?
    Easier way to do will be to copy it into a Z program and then make modifications.
    Thanks

  • Link copy SapScript with Standard program

    hi experts,
    I have copied one sapscript form from one standard script and copied print program from standard program....
    can u tell me how to link both of them (print program and form)and how to make changes in the form  and program  ?
    regards,
    rohit
    Edited by: Alvaro Tejada Galindo on Feb 15, 2008 3:11 PM

    Assigning Form and Driver proram to an Output type is as follows.
    1) Go to NACE transaction
    2) Select an Applicatin(V1-Sales,V2-Shipping,V3-Billing)
    3) Click on Outputtypes Button
    4) Comes to Change Mode
    5) Click on New Entries button
    6) Specify Output type,Form name and Program and Save it.
    Check these links
    /people/venkata.ramisetti/blog/2006/09/21/configuring-output-types-for-pdf-based-print-forms
    NACE is the Tcode used to link the Application type, Output Types and its processing Routines like ( Driver programs and attached Script forms or Smartforms).
    You should know the Application of a document first Like:
    for PO it is EF, for sales Doc's it is V1, for Delivery docs it is V2, for billing Doc's it is V3 etc.
    so first select the Application type (ex: EF) for PO and press OUtput types
    then a list will come in that you should know the related output type for PO.
    in this case it is NEU,
    select that and click on the processing Routines button on the left side
    it will display the Medium, Driver Program and the Script form or smartform related to that document..
    All nace entries are stored in TNAPR table
    1. In simple words, it
    is used for printing documents eg. purchase order, sales order etc.
    2. eg.
    For company1, there is purchase order A,
    for company2, there is purchase order B,
    for purchasing organisation 3, there is purchase order C.
    Now, this type of MAPPING (which is totally dynamic and changeable)
    cannot be HARDCODED in the standard sap program.
    3. Hence, NACE,
    provides this facility to MAP
    as per users requirement.
    ie. We can determine the OUTPUT using NACE.
    Output means for eg. Printing of purchase order
    Determine means = dynamically detecting which output (PO eg)
    hence, it is also called OUTPUT DETERMINATION using NACE.
    Regards.

  • Printing the form using output type and Standard program

    Hi all,
       I am a beginner on SAP.Now i get a doc for smartforms.
       It need to print a form.And need to create a output.I don't know how to create it and how to use it.
       And how to use the standard program to print the smartfroms.
       Can you give me a thought about that??

    Hi steven,
    first u copy the standard form and modify as u required.
    copy the print program.
    after that assign modify form to modified print program using NACE transaction code.
    NACE->slect application->go with output types->select suitable one->go with processing routines->select medium->provide modified program  name and form name->save the details.
    go for view->go for transport.
    go with the appropriate transaction suitable to your application.
    and provide one existing record->issue out put->go with print
    i think it will useful for you.
    Reward points if useful.
    Thanks,
    Usha

  • Change Output format of standard program RFSZIS00

    Hi All,
    I want to change output format of standard program RFSZIS00 for this i copied this into Z program but i am not able to
    find out where final output table is populating because that program is not using any final internal table it's using EXRACT and
    another thing is all discription for field has given in German Language.
    It's a clasical report not an ALV.
    Edited by: Raj Singh on Jul 3, 2009 11:03 AM

    Dear Raj,
    as per the report mentioned by you, it is calling some subroutine to display the details.
    Just try to trace the WRITE statements and check if you can add your own include in this report to display the output as per your requirement.
    Regds,
    Anil

  • Calling the standard program in program and getting its output in int table

    Hi there,
    I have a requirement, where I need to call the standard program (of transaction CJI3) in my Y program. CJI3 transaction produces a ALV GRID output. I need to use that data for further processing. I am getting following problems:
    1. I tried to use SUBMIT ... EXPORTING TO MEMORY statement. I need to pass the company code for the selection, but the company code is in the dynamic selection. So not getting how to pass them.
    2. Just a doubt. Can we export the ALV GRID to the memory an retrieve it back using import?
    3. I did tried to use SUBMIT .....  statement using only the parameters which are on the selection screen. However the control went to CJI3 transaction and gave an error message 'Please select "from database" or "from archive" '. Did not understood that, any IDEA?
    Or is there any other way with which I can accomplish my requirement of getting the data in my program to manipulate, other than SUBMIT.
    Points will be rewarded.
    Thanks,
    Ganesh Khumse

    Hi,
    point 1:
    SUBMIT ... EXPORTING TO MEMORY will never work, because it displays the information in an ALV grid and that grid is waiting for user interaction for manipulating the information.
    point 2:
    no, you cannot export the content of an ALV grid to the memory
    point 3:
    must you get records in an internal table or must you feed the transaction, so that this one performs a task ??  for first option read below and for the other option you might work with BDC and Transaction Recorder.
    what you have to do is read the code of transaction CJI3 in order to understand what it does, where the information is read from and what is the internal table that passes the values to the ALV Grid. You might find a user exit in the code for manipulating that information or you might create an enhancement point if there´s no user exit.

  • How to modify fbz5 standard program output form

    Hi friends
              I need to modify the output print form of the standard program  FBZ5 how to modify it.
    where is the driver program for this form.

    Selva,
    Below is the path in SPRO to find the Driver Program and the Form for the respective Company Codes based on the Correspondence types.
    SPRO>>Financial Accounting (New)>>Financial Accounting Global Settings ( New ) >> Correspondence
    or
    You can put a break point on the FM FORM_CHECK and run FBZ5 in D or Q.
    K.Kiran.

  • HOW TO GET  PROPER OUTPUT OF COPIED STANDARD PROGRAM OF  MB51

    I HAVE COPIED THE STANDARD PROGRAM OF MB51 TRANSACTION INTO Z-PROGRAM. NOW, I WANT PLANT, PLANT DESCRIPTION,MATERIAL NO,MATERIAL DESCRIPTION,MOVEMENT TYPE, MOVEMENT TYPE TEXT,QUANTITY,BASE UNIT OF MEASURE, AMOUNT OF CURRENCY AS OUTPUT  IN ALV-GRID FORMAT. I AM ABLE TO DISPLAY THE OUTPUT NORMALLY  IN ALV-GRID FORMAT IN THE FOLLOWING WAY:
    PLANT-NO    PLANT- DESC  MAT-NO    MAT-DES   MOV-TYP      MOV-DES
    1000               YYY                100           UUU           351                 EE        
    QUAN    BA              C
    200       TO               2000
    500                         1500                                        451           
    600                          1500                                       451           
    THE ABOVE IS THE SAMPLE OUTPUT OF THE REQUIRED FIELDS.
    IN THE ABOVE OUTPUT ,
    QUAN                 =                     QUANTITY
    BA                      =                     BASE UNIT OF MEASURE
    C                       =                     AMOUNT IN LOCAL CURRENCY
    MOVE-TYPE       =                     MOVEMENT TYPE.
    MOVE-TYPE       =                     MOVEMENT TYPE TEXT
    MAT-NO              =                     MATERIAL NUMBER.
    MAT-DESC          =                     MATERIAL DESCRIPTION.
    PLANT                =                     PLANT NUMBER.
    PLANT DESC      =                     PLANT DESCRIPTION.
    IN THE ABOVE MENTIONED SAMPLE OUTPUT,
    PLANT NUMBER-1000 HAS TWO MOVEMENT-TYPES 351 AND 451.
    IN THIS ,351- MOVEMENT TYPE HAS QUANTITY-200.
                451 -MOVEMENT TYPE HAS QUANTITY-500,CURRENCY-1500
                451 -MOVEMENT TYPE HAS QUANTITY-600,CURRENCY-1500
    AS OF NOW, DIFFERENT MOVEMENT TYPES ARE DISPLAYED WITH DIFFERENT QUANTITIES IN DIFFERENT ROWS. I WANT THE OUTPUT TO BE DISPLAYED IN SAME ROW. THAT MEANS, IN THE ABOVE EXAMPLE, 451 IS REPEATED 2 TIMES WITH QUANTITIES 500 AND 600  RESPECTIVELY. I WANT THESE QUANITITIES TO BE ADDED  AND DISPLAYED IN THE COMMON LINE AS FOLLOWS:
    PLANT-NO    PLANT- DESC  MAT-NO    MAT-DES   MOV-TYP      MOV-DES
    1000               YYY                100           UUU           351                 EE
    QUAN    BA              C
    200       TO               2000
    1100      TO               3000                                          451
    IN THE ABOVE REQUIRED OUTPUT, 451 MOVEMENT TYPE WHICH IS HAVE HAVING 500,600 AS QUANTITIES AND 1500,1500 AS CURRENCIES ARE ADDED AND DISPLAYED ON THE SAME LINE. I WANT THE OUTPUT IN THIS WAY.
    THAT MEANS, FOR EACH PLANT, FOR EACH MATERIAL NUMBER ,FOR EACH MOVEMENT TYPE THE COREESPONDING QUANTITES AND CURRENCIES HAS TO BE ADDED AND DISPLAYED ON THE SAME LINE.
    I WANT THE REQUIRED OUTPUT IN THE ABOVE SAID FORMAT.
    IF U DON'T UNDERSTAND ANY OF THE PART OF THE ISSUE EXPLAINED , PLEASE REPLY TO ME SO THAT I CAN CLEAR THAT PART BY EXPLAINING TO YOU MORE CLEARLY.
    THIS IS VERY URGENT REQUIREMENT. PLEASE SUGGEST THE SOLUTION AS SOON AS POSSIBLE. POINTS WILL BE AWARDED.
    THANKING U IN ADVANCE.
    SRINIVAS.

    Hi ,
    Create an internal table it_finla1 which has all the fields of  the final internal table say it_final for alv displlay exect movement type (bwart), ,.
    Now before the final alv display,use this code.
    loop at it_final.
    move-corresponding it_final to it_final1.
    collect it_final1.
    endloop.
    Now, it_final1 is the table for alv display.
    Hope this solves ur query.

  • XML output for pdf concurrent program

    Hi,
    We have one custom concurrent program defined with output as pdf.
    We want to generate an xml output some times. We dont want to register another concurrent program.
    We want to use same concurrent program, but want to generate output some times pdf , some times xml.
    Please suggest whether any possible way of doing this even using CONCSUB also fine.
    Thank you,
    Venkat.

    Hi Ramana;
    We want to submit the concurrent program, but output type either as xml or pdf it will be known during runtime.AFAIK if you prepare template in XML publisher than you can take output as pdf, by the way you can take xml output too
    Please check user guide:
    http://www.oracle.com/technology/products/xml-publisher/docs/XMLP5.6.1UserGuide.pdf
    Regard
    Helios

  • Different output in PDF output from sapscript spell_amount

    Hi,
    Im having problems on my check printing sapscipt program. Im using spell_amount FM and  when i print it ... there are problems in the output.
    For example, the amount is 345.82. The output given in amount in words becomes five and eighty two three hundred forty...
    When i debug in the program. it shows the right amount.. but when it output in PDF, it become different...
    Thanks

    Hi,
    Use it like this
    FORM spell_amount TABLES in_tab STRUCTURE itcsy
                            out_tab STRUCTURE itcsy.
      DATA :
        l_char TYPE c.
      READ TABLE in_tab INDEX 1.
      IF sy-subrc EQ 0.
        TRANSLATE in_tab-value TO LOWER CASE.
        l_char = in_tab-value.
        TRANSLATE l_char TO UPPER CASE.
        in_tab-value+0(1) = l_char.
        READ TABLE out_tab INDEX 1.
        out_tab-value = in_tab-value.
        MODIFY out_tab INDEX 1.
      ENDIF.
      READ TABLE in_tab INDEX 2.
      IF sy-subrc EQ 0.
        TRANSLATE in_tab-value TO LOWER CASE.
        READ TABLE out_tab INDEX 2.
        out_tab-value = in_tab-value.
        MODIFY out_tab INDEX 2.
      ENDIF.
    ENDFORM.                    "SPELL_AMOUNT

  • How to add body text when sending output as PDF in email?

    Hello,
    We are using standard SAP to send SD output as PDF in an email (in output type we choose medium 5, email address is taken from customer master. In transaction SCOT is indicated that SAPscript/smartforms are converted to PDF. When the output is generated, we run rsconn01 to trigger the actual sending of the email).
    Via form TEXT_SYMBOL_REPLACE we can modify the subject of the email that is send to include e.g. the order number. HOWEVER, in the body of the email that is send, we now only have the PDF, but we also would like to add a standard text in the body of the email. Does anyone know how to do this?
    Thanks,
    Alex

    Hi,
    Please refer to the following program and see if it helps you.
    REPORT ZSAMPL_001 .
    INCLUDE ZINCLUDE_01.
    DATA
    DATA : itab LIKE tline OCCURS 0 WITH HEADER LINE.
    DATA : file_name TYPE string.
    data : path like PCFILE-PATH.
    data : extension(5) type c.
    data : name(100) type c.
    SELECTION SCREEN
    PARAMETERS : receiver TYPE somlreci1-receiver lower case.
    PARAMETERS : p_file LIKE rlgrap-filename
    OBLIGATORY.
    AT SELECTION SCREEN
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
    CLEAR p_file.
    CALL FUNCTION 'F4_FILENAME'
    IMPORTING
    file_name = p_file.
    START-OF-SELECTION
    START-OF-SELECTION.
    PERFORM ml_customize USING 'Tst' 'Testing'.
    PERFORM ml_addrecp USING receiver 'U'.
    PERFORM upl.
    PERFORM doconv TABLES itab objbin.
    PERFORM ml_prepare USING 'X' extension name.
    PERFORM ml_dosend.
    SUBMIT rsconn01
    WITH mode EQ 'INT'
    AND RETURN.
    FORM
    FORM upl.
    file_name = p_file.
    CALL FUNCTION 'GUI_UPLOAD'
    EXPORTING
    filename = file_name
    filetype = 'BIN'
    TABLES
    data_tab = itab
    EXCEPTIONS
    *file_open_error = 1
    *file_read_error = 2
    *no_batch = 3
    *gui_refuse_filetransfer = 4
    *invalid_type = 5
    *no_authority = 6
    *unknown_error = 7
    *bad_data_format = 8
    *header_not_allowed = 9
    *separator_not_allowed = 10
    *header_too_long = 11
    *unknown_dp_error = 12
    *access_denied = 13
    *dp_out_of_memory = 14
    *disk_full = 15
    *dp_timeout = 16
    *OTHERS = 17.
    path = file_name.
    CALL FUNCTION 'PC_SPLIT_COMPLETE_FILENAME'
    EXPORTING
    complete_filename = path
    CHECK_DOS_FORMAT =
    IMPORTING
    DRIVE =
    EXTENSION = extension
    NAME = name
    NAME_WITH_EXT =
    PATH =
    EXCEPTIONS
    INVALID_DRIVE = 1
    INVALID_EXTENSION = 2
    INVALID_NAME = 3
    INVALID_PATH = 4
    OTHERS = 5
    ENDFORM. "upl
    ***INCLUDE ZINCLUDE_01 .
    10.08.2005 Amit M - Created
    Include For Mail (First Req F16)
    Modification Log
    Data
    tables crmrfcpar.
    DATA: docdata LIKE sodocchgi1,
    objpack LIKE sopcklsti1 OCCURS 1 WITH HEADER LINE,
    objhead LIKE solisti1 OCCURS 1 WITH HEADER LINE,
    objtxt LIKE solisti1 OCCURS 10 WITH HEADER LINE,
    objbin LIKE solisti1 OCCURS 10 WITH HEADER LINE,
    objhex LIKE solix OCCURS 10 WITH HEADER LINE,
    reclist LIKE somlreci1 OCCURS 1 WITH HEADER LINE.
    DATA: tab_lines TYPE i,
    doc_size TYPE i,
    att_type LIKE soodk-objtp.
    DATA: listobject LIKE abaplist OCCURS 1 WITH HEADER LINE.
    data v_rfcdest LIKE crmrfcpar-rfcdest.
    FORM
    FORM ml_customize USING objname objdesc.
    Clear Variables
    CLEAR docdata.
    REFRESH objpack.
    CLEAR objpack.
    REFRESH objhead.
    REFRESH objtxt.
    CLEAR objtxt.
    REFRESH objbin.
    CLEAR objbin.
    REFRESH objhex.
    CLEAR objhex.
    REFRESH reclist.
    CLEAR reclist.
    REFRESH listobject.
    CLEAR listobject.
    CLEAR tab_lines.
    CLEAR doc_size.
    CLEAR att_type.
    Set Variables
    docdata-obj_name = objname.
    docdata-obj_descr = objdesc.
    ENDFORM. "ml_customize
    FORM
    FORM ml_addrecp USING preceiver prec_type.
    CLEAR reclist.
    reclist-receiver = preceiver.
    reclist-rec_type = prec_type.
    APPEND reclist.
    ENDFORM. "ml_customize
    FORM
    FORM ml_addtxt USING ptxt.
    CLEAR objtxt.
    objtxt = ptxt.
    APPEND objtxt.
    ENDFORM. "ml_customize
    FORM
    FORM ml_prepare USING bypassmemory whatatt_type whatname.
    IF bypassmemory = ''.
    Fetch List From Memory
    CALL FUNCTION 'LIST_FROM_MEMORY'
    TABLES
    listobject = listobject
    EXCEPTIONS
    OTHERS = 1.
    IF sy-subrc <> 0.
    MESSAGE ID '61' TYPE 'E' NUMBER '731'
    WITH 'LIST_FROM_MEMORY'.
    ENDIF.
    CALL FUNCTION 'TABLE_COMPRESS'
    IMPORTING
    COMPRESSED_SIZE =
    TABLES
    in = listobject
    out = objbin
    EXCEPTIONS
    OTHERS = 1
    IF sy-subrc <> 0.
    MESSAGE ID '61' TYPE 'E' NUMBER '731'
    WITH 'TABLE_COMPRESS'.
    ENDIF.
    ENDIF.
    Header Data
    Already Done Thru FM
    Main Text
    Already Done Thru FM
    Packing Info For Text Data
    DESCRIBE TABLE objtxt LINES tab_lines.
    READ TABLE objtxt INDEX tab_lines.
    docdata-doc_size = ( tab_lines - 1 ) * 255 + STRLEN( objtxt ).
    CLEAR objpack-transf_bin.
    objpack-head_start = 1.
    objpack-head_num = 0.
    objpack-body_start = 1.
    objpack-body_num = tab_lines.
    objpack-doc_type = 'TXT'.
    APPEND objpack.
    Packing Info Attachment
    att_type = whatatt_type..
    DESCRIBE TABLE objbin LINES tab_lines.
    READ TABLE objbin INDEX tab_lines.
    objpack-doc_size = ( tab_lines - 1 ) * 255 + STRLEN( objbin ).
    objpack-transf_bin = 'X'.
    objpack-head_start = 1.
    objpack-head_num = 0.
    objpack-body_start = 1.
    objpack-body_num = tab_lines.
    objpack-doc_type = att_type.
    objpack-obj_name = 'ATTACHMENT'.
    objpack-obj_descr = whatname.
    APPEND objpack.
    Receiver List
    Already done thru fm
    ENDFORM. "ml_prepare
    FORM
    FORM ml_dosend.
    CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
    EXPORTING
    document_data = docdata
    put_in_outbox = 'X'
    commit_work = 'X' "used from rel. 6.10
    IMPORTING
    SENT_TO_ALL =
    NEW_OBJECT_ID =
    TABLES
    packing_list = objpack
    object_header = objhead
    contents_bin = objbin
    contents_txt = objtxt
    CONTENTS_HEX = objhex
    OBJECT_PARA =
    object_parb =
    receivers = reclist
    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
    IF sy-subrc <> 0.
    MESSAGE ID 'SO' TYPE 'S' NUMBER '023'
    WITH docdata-obj_name.
    ENDIF.
    ENDFORM. "ml_customize
    FORM
    FORM ml_spooltopdf USING whatspoolid.
    DATA : pdf LIKE tline OCCURS 0 WITH HEADER LINE.
    Call Function
    CALL FUNCTION 'CONVERT_OTFSPOOLJOB_2_PDF'
    EXPORTING
    src_spoolid = whatspoolid
    TABLES
    pdf = pdf
    EXCEPTIONS
    err_no_otf_spooljob = 1
    OTHERS = 12.
    Convert
    PERFORM doconv TABLES pdf objbin.
    ENDFORM. "ml_spooltopdf
    FORM
    FORM doconv TABLES
    mypdf STRUCTURE tline
    outbin STRUCTURE solisti1.
    Data
    DATA : pos TYPE i.
    DATA : len TYPE i.
    Loop And Put Data
    LOOP AT mypdf.
    pos = 255 - len.
    IF pos > 134. "length of pdf_table
    pos = 134.
    ENDIF.
    outbin+len = mypdf(pos).
    len = len + pos.
    IF len = 255. "length of out (contents_bin)
    APPEND outbin.
    CLEAR: outbin, len.
    IF pos < 134.
    outbin = mypdf+pos.
    len = 134 - pos.
    ENDIF.
    ENDIF.
    ENDLOOP.
    IF len > 0.
    APPEND outbin.
    ENDIF.
    ENDFORM. "doconv
    FORM
    FORM ml_saveforbp USING jobname jobcount.
    Data
    *data : yhead like yhrt_bp_head.
    *DATA : ydocdata LIKE yhrt_bp_docdata,
    *yobjtxt LIKE yhrt_bp_objtxt OCCURS 0 WITH HEADER LINE,
    *yreclist LIKE yhrt_bp_reclist OCCURS 0 WITH HEADER LINE.
    *DATA : seqnr TYPE i.
    Head
    *yhead-jobname = jobname.
    *yhead-jobcount = jobcount..
    *MODIFY yhrt_bp_head FROM yhead.
    Doc Data
    *ydocdata-jobname = jobname.
    *ydocdata-jobcount = jobcount.
    *MOVE-CORRESPONDING docdata TO ydocdata.
    *MODIFY yhrt_bp_docdata FROM ydocdata.
    Objtxt
    *seqnr = 0.
    *LOOP AT objtxt.
    *seqnr = seqnr + 1.
    *yobjtxt-jobname = jobname.
    *yobjtxt-jobcount = jobcount.
    *yobjtxt-seqnr = seqnr.
    *MOVE-CORRESPONDING objtxt TO yobjtxt.
    *MODIFY yhrt_bp_objtxt FROM yobjtxt.
    *ENDLOOP.
    RecList
    *seqnr = 0.
    *LOOP AT reclist.
    *seqnr = seqnr + 1.
    *yreclist-jobname = jobname.
    *yreclist-jobcount = jobcount.
    *yreclist-seqnr = seqnr.
    *MOVE-CORRESPONDING reclist TO yreclist.
    *MODIFY yhrt_bp_reclist FROM yreclist.
    *ENDLOOP.
    ENDFORM. "ml_saveforbp
    FORM
    FORM ml_fetchfrombp USING jobname jobcount.
    *CLEAR docdata.
    *REFRESH objtxt.
    *REFRESH reclist.
    *SELECT SINGLE * FROM yhrt_bp_docdata
    *INTO corresponding fields of docdata
    *WHERE jobname = jobname
    *AND jobcount = jobcount.
    *SELECT * FROM yhrt_bp_objtxt
    *INTO corresponding fields of TABLE objtxt
    *WHERE jobname = jobname
    *AND jobcount = jobcount
    *ORDER BY seqnr.
    *SELECT * FROM yhrt_bp_reclist
    *INTO corresponding fields of TABLE reclist
    *WHERE jobname = jobname
    *AND jobcount = jobcount
    *ORDER BY seqnr.
    ENDFORM. "ml_fetchfrombp
    Hope this helps.
    Please reward some points if it helps.
    Regards,
    Amit Mishra

  • Convert Smartform Output to PDF

    Hi all,
    I am trying to save Output of Smartform in PDF file format. for that purpose i am calling "CONVERT_OTF" FM from my driver program.
    But it is giving me Information "OTF end command // missing in OTF data"
    while executing FM "CONVERT_OTF". i debug it it is giving Sy-subrc = 2.
    Please Help me in this context. I am also givin code of my driver program:
    TABLES: vbrp.
    DATA: fm_name TYPE rs38l_fnam,
    it_invoice TYPE STANDARD TABLE OF vbrp,
    it_invoice_wa TYPE vbrp,
    it_inv TYPE STANDARD TABLE OF vbrp,
    it_inv_wa TYPE vbrp,
    invoice_no(25) TYPE c,
    invoice_l(10) TYPE c,
    invoice_h(10) TYPE c.
    Converting Output to PDF Declaration **********
    DATA: tab_otf_data TYPE ssfcrescl,
    pdf_tab LIKE tline OCCURS 0 WITH HEADER LINE,
    bin_filesize LIKE sood-objlen,
    outop TYPE ssfcompop, " Output Parameters
    cparam TYPE ssfctrlop, " Control Parameters
    tab_otf_final TYPE itcoo OCCURS 0 WITH HEADER LINE,
    my_tabix TYPE sy-tabix,
    file_size TYPE i.
    SELECT-OPTIONS doc_no FOR vbrp-vbeln.
    SELECT vbeln posnr fkimg vrkme meins netwr matnr
    FROM vbrp INTO CORRESPONDING FIELDS
    OF TABLE it_invoice
    WHERE vbeln IN doc_no.
    Inserting Unique Invoice Numbers for Displaying Individual Details in
    Smart Form
    LOOP AT it_invoice INTO it_invoice_wa.
    AT NEW vbeln.
    MOVE it_invoice_wa-vbeln TO it_inv_wa-vbeln.
    APPEND it_inv_wa TO it_inv.
    ENDAT.
    ENDLOOP.
    invoice_no = doc_no.
    invoice_l = doc_no-low.
    invoice_h = doc_no-high.
    suppressing the Print dialog box *********************
    *outop-tddest = 'locl'.
    *cparam-no_dialog = 'X'.
    *cparam-preview = space.
    *cparam-getotf = 'X'.
    START-OF-SELECTION.
    Calling Smart Form *********************************
    CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
    EXPORTING
    formname = 'ZSB_SMARTFORM_INVOICE'
    VARIANT = ' '
    DIRECT_CALL = ' '
    IMPORTING
    fm_name = fm_name
    CALL FUNCTION fm_name
    EXPORTING
    invoice_no_h = invoice_h
    invoice_no_l = invoice_l
    ARCHIVE_INDEX =
    ARCHIVE_INDEX_TAB =
    ARCHIVE_PARAMETERS =
    control_parameters = cparam
    MAIL_APPL_OBJ =
    MAIL_RECIPIENT =
    MAIL_SENDER =
    output_options = outop
    user_settings = ''
    IMPORTING
    DOCUMENT_OUTPUT_INFO =
    JOB_OUTPUT_INFO = tab_otf_data
    JOB_OUTPUT_OPTIONS =
    TABLES
    it_invoice = it_invoice
    it_inv = it_inv
    ***removing the initial and final markers from the OTF data*********
    DELETE tab_otf_data-otfdata WHERE tdprintcom = '//'.
    searching for the end-of-page in OTF table************
    READ TABLE tab_otf_final WITH KEY tdprintcom = 'EP'.
    my_tabix = sy-tabix + 1.
    appending the modified OTF table to the final OTF table****
    *INSERT LINES OF tab_otf_data-otfdata INTO tab_otf_final INDEX my_tabix.
    tab_otf_final[] = tab_otf_data-otfdata[].
    CALL FUNCTION 'CONVERT_OTF'
    EXPORTING
    format = 'PDF'
    max_linewidth = 132
    ARCHIVE_INDEX = ' '
    COPYNUMBER = 0
    ASCII_BIDI_VIS2LOG = ' '
    IMPORTING
    bin_filesize = bin_filesize
    BIN_FILE =
    TABLES
    otf = tab_otf_final
    lines = pdf_tab
    EXCEPTIONS
    ERR_MAX_LINEWIDTH = 1
    ERR_FORMAT = 2
    ERR_CONV_NOT_POSSIBLE = 3
    ERR_BAD_OTF = 4
    OTHERS = 5
    *IF sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    *ENDIF.
    write :/ bin_filesize.
    CALL FUNCTION 'GUI_DOWNLOAD'
    EXPORTING
    BIN_FILESIZE = bin_filesize
    filename = 'E:/Test.pdf'
    FILETYPE = 'ASC'
    IMPORTING
    FILELENGTH = file_size
    tables
    data_tab = pdf_tab
    FIELDNAMES =
    Help will be rewarded.
    Regards,
    Sachin

    hi
    good
    go through this ,hope this ll help you to solve this problem
    Check out the following documentation and example program and help links
    s_control_parameters-no_dialog = 'X'.
    s_control_parameters-getotf = 'X'.
    CALL FUNCTION v_func_name "call your smartform
    EXPORTING
    output_options = s_output_options
    control_parameters = s_control_parameters
    IMPORTING
    job_output_info = s_job_output_info
    call function 'CONVERT_OTF_2_PDF'
    tables
    otf = s_job_output_info-otfdata
    lines = t_pdf
    here is the example for SAMRTFORM TO PDF.
    http://www.sap4.com/wiki/index.php/Genera_PDF_a_partir_de_Smartforms
    Example Program
    data:
    fm_name TYPE RS38L_FNAM, "Smart Forms: FM Name
    sf_name TYPE TDSFNAME
    value 'YOUR_FORM_NAME', "Smart Forms: Form Name
    P_OUTPUT_OPTIONS TYPE SSFCOMPOP,
    P_JOB_OUTPUT_INFO TYPE SSFCRESCL,
    P_CONTROL_PARAMETERS TYPE SSFCTRLOP,
    P_LANGUAGE TYPE SFLANGU value 'E',
    P_E_DEVTYPE TYPE RSPOPTYPE.
    data:
    P_BIN_FILESIZE TYPE I,
    P_BIN_FILE TYPE XSTRING,
    P_OTF type table of ITCOO,
    P_DOCS type table of DOCS,
    P_LINES type table of TLINE,
    name type string,
    path type string,
    fullpath type string,
    filter type string,
    guiobj type ref to cl_gui_frontend_services,
    uact type i,
    filename(128).
    GET SMARTFORM FUNCTION MODULE NAME ---
    CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
    EXPORTING
    FORMNAME = sf_name
    IMPORTING
    FM_NAME = fm_name
    EXCEPTIONS
    NO_FORM = 1
    NO_FUNCTION_MODULE = 2
    OTHERS = 3
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    CALL FUNCTION 'SSF_GET_DEVICE_TYPE'
    EXPORTING
    I_LANGUAGE = P_LANGUAGE
    I_APPLICATION = 'SAPDEFAULT'
    IMPORTING
    E_DEVTYPE = P_E_DEVTYPE.
    P_OUTPUT_OPTIONS-XSFCMODE = 'X'.
    P_OUTPUT_OPTIONS-XSF = SPACE.
    P_OUTPUT_OPTIONS-XDFCMODE = 'X'.
    P_OUTPUT_OPTIONS-XDF = SPACE.
    P_OUTPUT_OPTIONS-TDPRINTER = P_E_DEVTYPE.
    P_CONTROL_PARAMETERS-NO_DIALOG = 'X'.
    P_CONTROL_PARAMETERS-GETOTF = 'X'.
    ****...................................PRINTING.........................
    CALL FUNCTION fm_name
    EXPORTING
    CONTROL_PARAMETERS = P_CONTROL_PARAMETERS
    OUTPUT_OPTIONS = P_OUTPUT_OPTIONS
    (....) <--- your form import parameters
    IMPORTING
    JOB_OUTPUT_INFO = P_JOB_OUTPUT_INFO.
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    P_OTF[] = P_JOB_OUTPUT_INFO-OTFDATA.
    ****...................................CONVERT TO PDF...............
    CALL FUNCTION 'CONVERT_OTF_2_PDF'
    IMPORTING
    BIN_FILESIZE = P_BIN_FILESIZE
    TABLES
    OTF = P_OTF
    DOCTAB_ARCHIVE = P_DOCS
    LINES = P_LINES
    EXCEPTIONS
    ERR_CONV_NOT_POSSIBLE = 1
    ERR_OTF_MC_NOENDMARKER = 2
    OTHERS = 3.
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    concatenate 'xxxx' '.pdf' into name.
    ****..................................REQUEST FILE NAME.................
    create object guiobj.
    call method guiobj->file_save_dialog
    EXPORTING
    default_extension = 'pdf'
    default_file_name = name
    file_filter = filter
    CHANGING
    filename = name
    path = path
    fullpath = fullpath
    user_action = uact.
    if uact = guiobj->action_cancel.
    exit.
    endif.
    move fullpath to filename.
    ****..................................DOWNLOAD AS FILE................
    CALL FUNCTION 'WS_DOWNLOAD'
    EXPORTING
    BIN_FILESIZE = P_BIN_FILESIZE
    FILENAME = filename
    FILETYPE = 'BIN'
    TABLES
    DATA_TAB = P_LINES
    EXCEPTIONS
    FILE_OPEN_ERROR = 1
    FILE_WRITE_ERROR = 2
    INVALID_FILESIZE = 3
    INVALID_TYPE = 4
    NO_BATCH = 5
    UNKNOWN_ERROR = 6
    INVALID_TABLE_WIDTH = 7
    GUI_REFUSE_FILETRANSFER = 8
    CUSTOMER_ERROR = 9
    NO_AUTHORITY = 10
    OTHERS = 11.
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    reward poing if helpful..
    thanks
    mrutyun^

  • PO output type to send a mail  to the user along with PO output as PDF file

    Hi Friends,
    I have one requirement from client.
    Client wants the PO output to be converted to PDF format and sent to User while doing the PO release through e-mail. Can anybody guide me how to Configure a New Output Type and convert the PO output into PDF and send to User through e-mail.
    Thanks
    Nazer

    This can be done with the standard form itself.
    first find out the output type u r using.
    Then goto T-code NACE and then choose EF- purchase order and then select the output type u r using.
    Then goto the 'processing Routines' at the lefe side of the screen.
    There u can find out the output forms for this output typr u r using. Here add 'Simple mail-7' in the list and then give the program name and the smartform or the script u r using.
    We can also give the mail texts for this output form.
    After that goto ME22N and then choose the 'Messages' tab and then click the simple mail and in the 'communication method' kindly provide the mail id for which the PO mail has to be sent.
    And then the mail can be viewed in the inbox of the recipient.
    in this way we can sent the PO mail to the corresponding mail address,.
    I guess this will solve ur issue.
    Thanks and Regards
    Siva
    Edited by: Sivaprakash R on Apr 20, 2009 1:00 PM
    Edited by: Sivaprakash R on Apr 20, 2009 1:00 PM

Maybe you are looking for