Attach smartform to tcode

i have created z-program and smartform for sales order & invoice , i want to attach it  to standerd  tcode ,
how can i do this ? plz tell me step by step.  (  in NACE  tcode for v3 output  type i give my program & SMARTFORM  name
but i.am not getting result)

Hi,
If output type is not created (z-output type) than you have to consult your functional consultant. Otherwise, for a particular sales order or invoice document you can maintain output type at header information (which already exists). Once you maintain and save the document, you would be able to see the saved output type for that document using menu path "Issue Output To" pop up.
And as you have mentioned that you have maintained your smartform and z-driver program in NACE transaction, you would be able to run your smartform from those standard transactions.
Regards,
Sambaran

Similar Messages

  • How to attach smartform to tcode F.27 while assgning the correspondance..

    Hello,
    Using OB96 tcode when we try to assign correspondance, I can see only provision for attaching the Script. Is there anyway, where we can attach SMARTFORM in the 'Form Name' column?
    Thanks,
    Jyoti

    Hi
    I am sorry, this FORUM is only for SAP Service Marketplace issues. Please open a customer message for your request.
    thanks and regards Martin

  • Attaching Smartform to a Z Screen

    Hi Guys,
    We have attached a Z Screen to Purchase Requisition Number screen to display Terms & Conditions (TCode: ME23n). To that Z screen I wish to attach Smartform which I have developed taking PR no as input which the screen is already displaying.
    Please let me know the required things like ( creating Work Area and Application) <b>in detail.</b>
    TIA,
    Nitin

    Hi Nitin,
    so thats very easy way of solving things.
    jst create a new output type say ,YNEU  in the nace output type EF and define the print program as the std one (SAPFM06p(i think)) and attach ur form...it will ask an customizing request number to do this ......by doing this way u can overcome the problem of the std putput type NEU.

  • Help regarding attaching smartform to a report program for QM module

    Hii,
    I have developed a certifiacate of analysis smartform for QM module and i attached it to a output type ...but i need to attach this smartform to a standard report RQCAAP01. can anyone help me what customizations i should do in report program in order to attach smartform.
    Regards,
    Venkat Akella.

    I attached smartform in NACE to LQCB output type but i should also make changes in report program RQCAAP01..can u please let me know what customizations i should do in tht report program to attach the smartform..

  • Attach smartform to T code FBCJ

    HIIII Experts,
    Can you please tell me how to attach a driver program smartform to T Code FBCJ(Cash voucher), I have already created a smartform for the same, but dont know how to attach it?? PLS HELP!!!!!
    Regards
    Rajeev khatri

    Hi,
    1. Goto in NACE
    2. You need to ask your functional buddy to let you know about Application area,for example take V3 (Billing).
    3. Select V3 from the list and then click on Output Types, select any output type (Which you wud like to give to your smartform)
    4. Else if you like to create a new one for your script, then on same screen click on change button, then click on New Entries
    And give all the detailed info.
    5. To use existing output types, select a output type like "ZEDI", at the left hand side double click on Processing Routines.
    6. In the Processing Routines block, Give the Program name as print program and here you need to give your Smart form name in Form option.
    Save it.
    Edited by: Lokesh Tarey on Jan 13, 2012 7:47 AM

  • Attaching smartform and print prog to invoice

    hi
    ive developed a smartform and a print program.
    da program has a selection screen dat asks user for doc number(vbeln).
    it den displays data in da smartform.
    now ive to attach it to va02.
    wen i attach it using v/40 output type(RD000)  program name : zinvoice and pdf/smartform: zinv .and try to get print preview using vf03 da preview doesnt appear.also wen i click on print it shows message "output cannot be issued".
    can ny1 suggest wat da problem is and how to resolve it...
    points 'll b rewarded.
    rgds

    first call the function module name using ssf_function module _name
    and then inluce  ur fm.
    as below.
    Reading the NAST and DOC structures
      CALL FUNCTION 'ME_READ_PO_FOR_PRINTING'
        EXPORTING
          ix_nast        = nast
          ix_screen      = ent_screen
        IMPORTING
          ex_retco       = ent_retco
          ex_nast        = l_nast
          doc            = l_doc
        CHANGING
          cx_druvo       = l_druvo
          cx_from_memory = l_from_memory.
      CHECK ent_retco EQ 0.
    SmartForm from customizing table TNAPR
      gv_formname = tnapr-sform.
    Calling the layout set
      CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
        EXPORTING
          formname           = gv_formname
        IMPORTING
          fm_name            = gv_fm_name
        EXCEPTIONS
          no_form            = 1
          no_function_module = 2
          OTHERS             = 3.
      IF sy-subrc <> 0.
        PERFORM protocol_update.
      ENDIF.
    For Print output:
      IF nast-nacha = '1'.                  " Print output
        ls_control_param-preview =   'X'.
        ls_control_param-no_dialog = 'X'.
      ENDIF.
    For fax output.
      IF nast-nacha = '2'.                  " Fax
    Create the Recipient Object
        CALL FUNCTION 'CREATE_RECIPIENT_OBJ_PPF'
          EXPORTING
            ip_country        = gv_land1
            ip_faxno          = gv_telfx
            ip_type_id        = lv_fax_tp
          IMPORTING
            ep_recipient_id   = ls_recipient_id
          EXCEPTIONS
            invalid_recipient = 1
            OTHERS            = 2.
        IF sy-subrc NE 0.
       IF write_out = 'X'.
          FORMAT COLOR 6.
          WRITE AT /5 text-004.
       ENDIF.
          RAISE other.
        ENDIF.
    Create The Sender Object
        CALL FUNCTION 'CREATE_SENDER_OBJECT_PPF'
          EXPORTING
            ip_sender      = sy-uname
          IMPORTING
            ep_sender_id   = ls_sender_id
          EXCEPTIONS
            invalid_sender = 1
            OTHERS         = 2.
        IF sy-subrc NE 0.
       IF write_out = 'X'.
          FORMAT COLOR 6.
          WRITE AT /5 text-003.
       ENDIF.
          RAISE other.
        ENDIF.
    Output options
        ls_output_options-tdteleland = gv_land1.
        ls_output_options-tdtelenum  = gv_telfx.
        ls_output_options-tdfaxuser  = sy-uname.
    Control parameters
        ls_control_param-device = lc_fax.
       ls_control_param-no_dialog = 'X'.
       ls_control_param-langu  = nast-tdspras.
      ENDIF.
      IF gv_fm_name IS NOT INITIAL.
    Below function module is used to show the Smart form
        CALL FUNCTION gv_fm_name
          EXPORTING
            is_nast            = l_nast
            doc                = l_doc
            control_parameters = ls_control_param
            output_options     = ls_output_options
            user_settings      = ' '
          EXCEPTIONS
            formatting_error   = 1
            internal_error     = 2
            send_error         = 3
            user_canceled      = 4
            OTHERS             = 5.
        IF sy-subrc <> 0.
    Error handling
          cf_retcode = sy-subrc.
          PERFORM protocol_update.
        ELSE.
        ENDIF.
      ENDIF.

  • Attaching smartforms and print prog to invoice

    hi
    ive developed a smartform and a print program.
    da program has a selection screen dat asks user for doc number(vbeln).
    it den displays data in da smartform.
    now ive to attach it to va02.
    wen i attach it using v/40 output type(RD000) program name : zinvoice and pdf/smartform: zinv .and try to get print preview using vf03 da preview doesnt appear.also wen i click on print it shows message "output cannot be issued".
    can ny1 suggest wat da problem is and how to resolve it...
    points 'll b rewarded...
    rgds
    Message was edited by:
            abapuser

    1.
    How did u assigned the output type in NACE.
    2.
    did u go through the form routines of data/transfer copy controls in VOFM .
    if its VA02 and VF02 then VTFA has to be used for the same in setting the output type .
    if option 2 is not ur case then check with ur functional consultant as to which requirement this output is configured in the nace and in procedures.
    o/p cannot be issued is not able to pick the output type for the form and the print program.
    This output type has to be configured in NACE first of all.
    Then to test the invoice enable this output type for that vbeln number in GOTo-_header->output -> and enable the output type.
    regards,
    vijay

  • Attach smartform with in sales billing documents(vf03)

    Hi Friends,
    I make one smart form for service invoice.
    And fuctional person already defined billing types in vf01.
    so how can i attached my smartform with that perticular billing type.
    Its functional work or technical?
    I don't know so please help me and send me reply as soon as possible.
    thanks in advance.

    Hi
    Its part of configuration of attaching the smartform to the billing type done by functional person.
    It is done in SPRO->S&D->BAsic Functions->Output Control->Output Determination->Maintain Output Determination of Billing Documents.
    Thanks
    Amruta

  • Attach Smartform to Transaction

    Hi
    Read n worked on all the tutorilas in SAP Technical .com n SDN on creating SmartForms n SmartStyles.
    How do we attach the form to the transaction eg. smartform to PO (ME21N) ?
    Though, general in its nature but not a question for interview so please regard as genuine enquiry.
    any help is appreciated.

    Hi
    When a Output type in an apllication doc is configured with a Medium, Partner, Lang and other communication paramters an entry is created in NAST table
    so to trigger the output an entry in NAST is compulsory
    Output is a link between the Driver Program and the Sapscript,
    An output type summarizes messages of the same meaning. It contains parameters that are valid for all its assigned messages, for example appropriate partner functions.
    Transmission medium is a medium which the layout will be come out, this may be printout, Fax or Mail
    Check this link.
    http://help.sap.com/saphelp_nw2004s/helpdata/en/c8/19884743b111d1896f0000e8322d00/content.htm
    ex-how to config output type.
    You will assign output types using Transaction NACE.
    Do the follow steps to assign output type
    1)Select Application Type V2 which will have description Shipping.
    2)Click on Output types button.
    3)Go to change mode by pressing Ctrl+F4.
    4)Select one output type which already exists
    5)Do Copy As(F6)
    6)Give your output type against Output Type field.
    7)Under General data Tab, Give Program and Form routine and Save the data.
    i think it a work of functional guy but at senior level i think it is not a big deal for abaper.
    Check the following documentation
    In NACE t-codewe have the application for each one. based on the application output type can be defined, based on output type script and print progrma can be defined.
    If suppose data can be read from EDI then we should go for condition records.
    So whenever we execute the script first composer checks the output type and then execute the program. in program whenever opn form FM will be populate then script will open first. After that again program till another FM will populate if it then script will populate........like it is cycle proces. Composer does all these things and at last it will submit that output to spool.
    Go to the Transaction NACE.
    choose the related sub module.. like billing or shipping
    doubel click on Output Types
    Choose the Output Type for which whcih you wanted your script to trigger
    Then select the Output Type and double click on Processing Routine
    Then go to create new entries--> Select the Medium (1- print output), then enter your Script and Print Program detls --> Save and come out
    Now go to the Transaction (for which you have created the output type)... Issue output--> Select the output type --> Print....
    Device Types for SAP Output Devices (Detail Information)
    Definition
    The device type indicates the type of printer to be addressed. When you define an output device, choose the name of the device type that was defined in the SAP System for your printer model, such as Post2 for a PostScript printer. In the case of frontend printing under Microsoft Windows, you can also use the generic (device-independent) device type SWIN.
    The system uses the information in the device type to convert a document from the internal SAP character representation (spool request in OTF or in text format) to a device-specific, print-ready data stream (output request). Since a device type specifies attributes that apply to all devices of a certain model, it can be shared among device definitions. For example, all devices in the SAP spool system that are compatible with Hewlett-Packard LaserJet IIID printers would use the HPLJIIID device type.
    You should not confuse the device type with the printer driver. The device type is the total of all attributes of an output device that the SAP System must know to control the output device correctly, such as control commands for font selection, page size, character set selection, and so on. These attributes also include the printer driver that SAPscript/Smart Forms (the SAP form processor) should use for this printer. The SAPscript printer driver that is to be used for devices of this type for output formatting is therefore only an attribute that the device type specifies.
    How do I choose the correct device type?
    • In most cases, the SAP System already provides the appropriate device type for the printer type for the printer model that you want to use.
    These standard device types are completely defined and need no modification or extension before you use them in device definitions.
    • You can also download missing device types from the sapserv server. For a current list of the supported device types, see SAP Note 8928 in the SAP Service Marketplace.
    • Most printers can be controlled using a generic format, such as PostScript. They can be switched to a mode that is compatible with one of the standard printers for which an SAP device type is available. In this case, a supported model is emulated.
    • Almost all printers are delivered with Microsoft Windows printer drivers. The system can control these printers with the generic (device-independent) device type SWIN. The Microsoft Windows spool system then performs the processing of the print data.
    • If the specified device types are not available, and generic device types cannot be used, you must create your own device type or edit a copy of an existing device type. We recommend that only those with specialist knowledge of the SAP Spool System and printer driver code do this. For more information, see Defining a New Device Type .
    Attributes of a Device Type
    A device type is distinguished by the attributes listed below. If you change an existing device type or create a new device type, you must change at least some of these attributes.
    • Character set: A character set specifies the codes with which characters must be represented in the print-ready output stream (output request). This code replaces the generic SAP characters set that is used internally by the SAP spool system (spool request).
    • Printer driver: You can specify different printer drivers for printing SAPscript documents and ABAP lists.
    • Print controls: Print controls represent printer operations, such as boldface or changing the font size. These print control are replaced by printer-specific commands during the creation of the output request from a spool request.
    • Formats: Formats specify the format supported by the SAP system. The system differentiates between SAPScript formats (DINA4 and LETTER) and ABAP list formats (X_65_132 = 65 rows/132 columns).
    • Page format: A page format is the interface between a format and SAPscript. It specifies the paper dimensions with which SAPScript can calculate the row and column lengths.
    • Actions: Actions are output device-specific commands that are required for the implementation of a format. The action printer initialization, for example, can contain a printer command with which the number of rows on a page is defined. There is a set of actions for every format supported by a device type.
    Nace
    If Found Help Full Do Reward.
    Regards.
    Eshwar.

  • A ZPRINTPROGRAM and ZSMARTFORMS  attached to standard tcode

    Hi,
    I have written a ZPRINTPROGRAM and ZSMARTFORMS and it is working fine.
    Now I want the ZPRINTPROGRAM to be attached to the standard Transaction VT02N where,
    if I give the shipment number in the intial screen and goto Menu- Shipment - output -printer,It
    should print the output of the shipment number given in the initial screen.
    In the transaction VT02N,the given shipment number should be passed to ZPRINTPROGRAM
    selection screen,where the selection screen contains the shipment number and it will trigger
    automatically.
    If anyone find any userexit and suggestions,let me know.
    if any queries let me know.
    Regards
    Manohar S

    Hi!
    It is always a nasty work, if there is no example standard printer program and smartforms from you can get some idea.
    You have to debug the standard program, which is calling the ZPRINTERPROGRAM.
    Put a break point into your printer program, and check the program, which were calling it.
    There are some good way to retrieve data, from the caller programs:
    - find some useful global variables
    - call standard functions, which is called also in this transaction
    - run forms from these programs, like this: PERFORM sapform(SAPL1234). "this will call the sapform form from program SAPL1234.
    Regards
    Tamá

  • Send email with PDF attachements (Smartform/SAP script)

    Hello All,
    I have 3 existing programs A, B & C whose output is in SAP Script/Smartform. Now I need to create new program D which needs to execute program A, B & C and then convert their smartform/SAP script output into PDF format and send email with attachements (PDF files). Any pointers how I can proceed. Thanks a lot.

    hi Sarita,
      v_ctrlparams-no_dialog = 'X'.
      v_ctrlparams-getotf = 'X'.
      CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
        EXPORTING
          formname = 'Smartform name'
        IMPORTING
          fm_name  = v_func_mod.
      CALL FUNCTION v_func_mod
        EXPORTING
          control_parameters = v_ctrlparams
        IMPORTING
          job_output_info    = v_joboutput
        TABLES
          t_nonsigner        = t_nonsigner.
    fill the document
      doc_chng-obj_name = 'Descriptoipn'.
    Fill the subject line
    doc_chng-obj_descr = 'Manpowe'.
      doc_chng-obj_descr = 'Reminder .
      doc_chng-sensitivty = 'P'.
    Fill the content of the mail
      objcont = 'Dear all,'.
      APPEND objcont.
      CLEAR objcont.
      APPEND objcont.
      CLEAR objcont.
      objcont =
    'The manpower sign-off is pending for the list of employees as per th' &
    'e attached sheet.'
      APPEND objcont.
      CLEAR objcont.
      APPEND objcont.
      CLEAR objcont.
      objcont =
      'Please click on the following link for the manpower sign-off:'.
      APPEND objcont.
      CLEAR objcont.
      APPEND objcont.
      CLEAR objcont.
      DESCRIBE TABLE objcont LINES entries.
      READ TABLE objcont INDEX entries.
      doc_chng-doc_size = ( entries - 1 ) * 255 + STRLEN( objcont ).
    Creating the entry for the compressed document
      CLEAR objpack-transf_bin.
      objpack-head_start = 1.
      objpack-head_num   = 0.
      objpack-body_start = 1.
      objpack-body_num   = entries.
      objpack-doc_type   = 'RAW'.
      APPEND objpack.
    Creating the document attachment
    (Assume the data in OBJBIN are given in BMP format)
      LOOP AT v_joboutput-otfdata INTO wa_otfdata.
        APPEND wa_otfdata TO objbin.
        CLEAR wa_otfdata.
      ENDLOOP.
      DESCRIBE TABLE objbin LINES tab_lines.
      objhead = 'NonSignerDetails.otf'. APPEND objhead.
    Creating the entry for the compressed attachment
      objpack-transf_bin = 'X'.
      objpack-head_start = 1.
      objpack-head_num   = 1.
      objpack-body_start = 1.
      objpack-body_num   = tab_lines.
      objpack-doc_type   = 'OTF'.
      objpack-obj_name   = 'ATTACHMENT'.
      objpack-obj_descr = 'NonSignerDetails'.
      objpack-doc_size   = tab_lines * 255.
      APPEND objpack.
    Sending the document
      CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
        EXPORTING
          document_data              = doc_chng
          put_in_outbox              = 'X'
          commit_work                = 'X'
        TABLES
          packing_list               = objpack
          object_header              = objhead
          contents_bin               = objbin
          contents_txt               = objcont
          receivers                  = reclist
        EXCEPTIONS
          too_many_receivers         = 1
          document_not_sent          = 2
          operation_no_authorization = 4
          OTHERS                     = 99.
    hope this will help u..
    regards,
    Santosh Thorat

  • Need procedure to attach smartform to a crm transaction

    Hi,
    I need to know how to connect the smartform for a transaction for exampe(sales order ) I hope it is to be done through the actions. and in the actions where can i write the logic ( driver program logic ) . then how to attach these things.
    thanking you,
    jaffer vali shaik

    Basic Functions->Actions->Create Actions & Wizards->after creating action go to change actions & conditions->Define action profiles & actions->select your action profile & click on action definition->select your action definition and click on processing type here you can assign your smart form to your action profile which in turn you will assign to your transaction
    Regards
    Deepak Motwani

  • Attaching smartform in NACE

    Hi all ,
          I am working with sale order smartform. i started it from scratch.i created  the form and the driver program. i used the parameter option in my the driver program to call the the smartform.
               now i have to attach it in the NACE transaction.
                 what all are the changes that has to be done in my driver program????
    Please find my codes.
    *& Report  ZSD_SALEORDER_DRIVER
    REPORT  ZSD_SALEORDER_DRIVER.
    PARAMETERS: DOCUMENT LIKE VBAK-VBELN.
    DATA : fm_name TYPE rs38l_fnam.
    CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
        EXPORTING
          formname                 =  'ZSALE_ORDER'
      VARIANT                  = ' '
      DIRECT_CALL              = ' '
       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 fm_name
        EXPORTING
      ARCHIVE_INDEX              =
      ARCHIVE_INDEX_TAB          =
      ARCHIVE_PARAMETERS         =
      CONTROL_PARAMETERS         =
      MAIL_APPL_OBJ              =
      MAIL_RECIPIENT             =
      MAIL_SENDER                =
      OUTPUT_OPTIONS             =
      USER_SETTINGS              = 'X'
       document                    = document
    *TABLES
         i_pfg                      = lt_pfg
    IMPORTING
      DOCUMENT_OUTPUT_INFO       =
      JOB_OUTPUT_INFO            =
      JOB_OUTPUT_OPTIONS         =
       EXCEPTIONS
         formatting_error           = 1
         internal_error             = 2
         send_error                 = 3
         user_canceled              = 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.
    Thanks in advance

    Follow this sample example
    Goto Transaction NACE --> Select Application V1(Sales) --> Click on Output Types --> Select the output type as BA00 (as generally BA00 is the output type associated with Sales Order ) --> Double click on the Processing Routines folder on the left and it will display the Form name and the corresponding driver programs name.
    Close the thread if your question is answered.
    Regards,
    SaiRam

  • Attach Smartform to Output Type - Shipping notification to SP

    Hi all,
    We have smartform and want to attach to Shipping notification output type - LALE.
    Is there any default driver program for same too.
    Any suggestion welcome,
    Regards,

    Navdeep, the notification is not an external document.. so you cannot do that.. moreover you are sending it as an IDOC and not through any regular transmission medium, so it ain't possible. Try looking at it from a recievr's point of view

  • Want to attach smartform as workitem but it doesn't work.

    Dear Experts,
    I want attach 'SMARTFROMS' or PWB Forms as workitem attachment but i couild not able to do .My method code is as follows...
    function zbi_bill_revision_v1.
    ""Local Interface:
    *"  IMPORTING
    *"     REFERENCE(WID) TYPE  SWW_WIID
    *"     REFERENCE(L_DOCNO) TYPE  E_PRINTDOC
    *"  EXPORTING
    *"     REFERENCE(L_WID) TYPE  SWW_WIID
    data: l_wid type SWW_WIID.
      include <cntn01>.
      types : begin of ty_i_tline,
               i_tline  type tline,
              end of ty_i_tline.
      data: ls_control_parameters type ssfctrlop,
            w_compop         type ssfcompop,
            w_return         type ssfcrescl,
            v_len_in         type so_obj_len,
            it_i_otf         type itcoo occurs 0 with header line,
            it_i_tline       type table of ty_i_tline,
         it_zbillasses    TYPE zbill_assessment,
            out_opt          type ssfctrlop,
            fm_name          like rs38l-name,
            test_flag        type sysubrc,
            message_lines    type standard table of  swr_messag,
            message_struct   type standard table of swr_mstruc,
            att_head         type swr_att_header,
            it_solix_tab     type tsfixml,
           wid              TYPE sww_wiid,
            att_id           type swr_att_id,
            l_c              type efg_strn_printdata,
           wa_assesment     type zbill_assessment,
            wa_bill_ht       type zbill_invoice_ht.
         w_compop         type ssfcompop.
    CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
       EXPORTING
         formname                 = 'ZFORMBI_HIGH_TENSION_EMAIL'
      VARIANT                  = ' '
      DIRECT_CALL              = ' '
      IMPORTING
        fm_name                   = fm_name
      EXCEPTIONS
        no_form                   = 1
        no_function_module        = 2
        OTHERS                    = 3
    IF sy-subrc <> 0.
    ENDIF.
    CALL FUNCTION 'SSF_GET_DEVICE_TYPE'
       EXPORTING
         i_language             = sy-langu
       IMPORTING
         e_devtype              = w_compop-tdprinter
       EXCEPTIONS
         no_language            = 1
         language_not_installed = 2
         no_devtype_found       = 3
         system_error           = 4
         OTHERS                 = 5.
    IF sy-subrc <> 0.
    ENDIF.
    w_compop-tdnoprev               = 'X'.
    ls_control_parameters-getotf    = 'X'.
    ls_control_parameters-no_dialog = 'X'.
    DATA: it_isu_bi_bill_s_doc_header TYPE isu_bi_bill_s_doc_header.
    CALL FUNCTION '/1BCDWB/SF00000426'
       EXPORTING
      ARCHIVE_INDEX              =
      ARCHIVE_INDEX_TAB          =
      ARCHIVE_PARAMETERS         =
        control_parameters         = ls_control_parameters
      MAIL_APPL_OBJ              =
      MAIL_RECIPIENT             =
      MAIL_SENDER                =
        output_options             = w_compop
        user_settings              = 'X'
         pwb_data                   = it_isu_bi_bill_s_doc_header
         c                          = l_c
         wa_bill_ht                 = wa_bill_ht
      IMPORTING
      DOCUMENT_OUTPUT_INFO       =
        job_output_info            = w_return
      JOB_OUTPUT_OPTIONS         =
      EXCEPTIONS
        formatting_error           = 1
        internal_error             = 2
        send_error                 = 3
        user_canceled              = 4
        OTHERS                     = 5
    IF sy-subrc <> 0.
    ENDIF.
    it_i_otf[] = w_return-otfdata[].
    CLEAR w_return-otfdata[].
      data: x_printparams   type eprintparams,
              it_ranges     type standard table of efg_ranges,
              wa_ranges     type efg_ranges,
              c_fclass(12)  type c value 'IS_U_BI_BILL',
              lt_itcoo      type standard table of itcoo,
              g_docno       type erdk-opbel.
    clear: wa_erdk.
      select single *
        from erdk
          into wa_erdk
            where opbel = l_docno.
      x_printparams-formkey   = wa_erdk-formkey.
      x_printparams-tdnoprev  = 'X'.
      x_printparams-tdnoprint  = 'X'.
    x_printparams-NO_OPEN_FORM = 'X'.
    x_printparams-NO_CLOSE_FORM = 'X'.
      x_printparams-tdgetotf = 'X'.
      x_printparams-formclass = c_fclass.
      wa_ranges-low           = wa_erdk-opbel.
      append wa_ranges to it_ranges.
    data : x_header  type  rfgen-header.
      call function 'EFG_PRINT'
        exporting
        X_HEADER                    = X_HEADER
          x_printparams               = x_printparams
        X_ARCHIVE_INDEX             =
        X_ARCHIVE_PARAMS            =
         x_dialog                    = ' '
        X_RECIPIENT                 =
        X_SENDER                    =
        X_STRN_COLLINFO             =
        X_TABN_SEL_PER_FCLASS       =
        REF_LOG                     = CL_EFG_LOG_NULL=>S
        I_FLG_EMSG                  = '+'
      IMPORTING
        Y_ITCPP                     =
        Y_RDI_RESULT                =
        Y_PRINTPARAMS               =
        Y_SF_RESULT                 =
        Y_TAB_GENDATA               =
        Y_TABN_SEL_PER_FCLASS       =
        Y_PDF_RESULT                =
        tables
          xt_ranges                   = it_ranges
        XT_RANGES1                  =
        XT_RANGES2                  =
        XT_RANGES3                  =
        XT_RANGES4                  =
        XT_RANGES5                  =
        XT_RANGES6                  =
        XT_RANGES7                  =
        XT_RANGES8                  =
        XT_RANGES9                  =
         yt_otf_data                  = lt_itcoo
       exceptions
         not_qualified               = 1
         formclass_not_found         = 2
         form_not_found              = 3
         formclass_invalid           = 4
         print_failed                = 5
         form_invalid                = 6
         cancelled                   = 7
         func_invalid                = 8
         not_authorized              = 9
         others                      = 10
      if sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      endif.
      data: pdf_bin type xstring,
            l_size type i.
      call function 'CONVERT_OTF'
        exporting
          format                = 'PDF'
          max_linewidth         = 132
        importing
          bin_filesize          = l_size
          bin_file              = pdf_bin
        tables
          otf                   = lt_itcoo[]
          lines                 = it_i_tline
        exceptions
          err_max_linewidth     = 1
          err_format            = 2
          err_conv_not_possible = 3
          err_bad_otf           = 4.
      call function 'SCMS_XSTRING_TO_BINARY'
        exporting
          buffer                = pdf_bin
      APPEND_TO_TABLE       = ' '
       importing
         output_length          = l_size
        tables
          binary_tab            = it_solix_tab
      att_head-file_type = 'B'.
      att_head-file_name = 'Billing Revision'.
      att_head-file_extension = 'PDF'.
      att_head-language = 'EN'.
    l_wid = wid + 2.
      call function 'SAP_WAPI_ATTACHMENT_ADD'
      exporting
        workitem_id          = wid
        att_header           = att_head
        att_txt              = 'Bill Assessment'
        att_bin              = pdf_bin
       document_owner       = sy-uname
       language             = sy-langu
      DO_COMMIT            = 'X'
    importing
       return_code          = test_flag
       att_id               = att_id
    tables
       message_lines        = message_lines
       message_struct       = message_struct.
    endfunction.
    when execute code it shows attachment successfully created but it does'nt show in attachment.
    Edited by: GURPRIT BHATIA on Jun 18, 2010 8:46 AM

    Hi,
    Pls explain it.
    I am also facing problem.
    Thanks
    Ragaven

Maybe you are looking for