Smartform print program to handle different mediums(1,2,5,6)

Hi ...
Iam writing a custom print program without copying any standard print program for a smartform..
This smartform will be configured for the mediums 1,2,5 and 6..
Can someone tell me like if other than normal code in the print program should we write any specific code to handle for different mediums (1,2,5 and 6) or else just the sameprogram that is used for medium 1 can handle all other mediums also...
Appreciate if someone can clearly state your views on this...
Thanks,
Kanthi..

Hi Kanthi,
i dont think merely a Print program will be able to give the the functionality of mediums 2,5 & 6.. u need to write additional code for that... this u can chk by lookin into any standard print program say for PO u can look into sapfm06p in NACE, u may find that there may be separate programs for separate functionalities..
hope it helps..

Similar Messages

  • Smartform print program for order confirmation

    Hi experts.
    I am looking for a smartform print program for order confirmation.
    The order confirmation in standard is a script with the name RVADOR01 and I tried to copy and change but I don't know which to eliminate and whcih to keep it.
    If any body written the program already please provide me or provide the link to check.
    Thanks in advance
    Sai

    this is the processing form.
    form processing.
      data: lf_fm_name            type rs38l_fnam.
      data: ls_control_param      type ssfctrlop.
      data: ls_composer_param     type ssfcompop.
      data: ls_recipient          type swotobjid.
      data: ls_sender             type swotobjid.
      data: lf_formname           type tdsfname.
      data: ls_addr_key           like addr_key.
      data: document_output_info type  ssfcrespd,
            job_output_info type ssfcrescl,
            job_output_options type ssfcresop.
      perform get_data.
      check retcode = 0.
      perform set_print_param using      addr_key
                                changing ls_control_param
                                         ls_composer_param
                                         ls_recipient
                                         ls_sender
                                         retcode.
    *Get the Smart Form name.
      if not tnapr-sform is initial.
        lf_formname = tnapr-sform.
      else.
        message e001(/smb40/ssfcomposer).
      endif.
    determine smartform function module for invoice
      call function 'SSF_FUNCTION_MODULE_NAME'
        exporting
          formname           = lf_formname
        importing
          fm_name            = lf_fm_name
        exceptions
          no_form            = 1
          no_function_module = 2
          others             = 3.
      if sy-subrc <> 0.
      error handling
        retcode = sy-subrc.
        if sy-subrc = 1.
          message e001(/smb40/ssfcomposer).
        endif.
        if sy-subrc = 2.
          message e002(/smb40/ssfcomposer) with lf_formname.
        endif.
        perform protocol_update.
      endif.
      call function lf_fm_name
        exporting
          archive_index        = toa_dara
          archive_parameters   = arc_params
          control_parameters   = ls_control_param
          mail_recipient       = ls_recipient
          mail_sender          = ls_sender
          output_options       = ls_composer_param
          user_settings        = ' '
          is_nast              = nast
          is_vbdka             = vbdka
          is_addres            = addr_key
        importing
          document_output_info = document_output_info
          job_output_info      = job_output_info
          job_output_options   = job_output_options
        tables
          it_vbdpa             = tvbdpa    "Item information
          it_vbdpau            = tvbdpau   "Subitem numbers
          it_vedpa             = tkomservp  "Contract Item Validity
          it_vedka             = tkomservh  "Contract Header Validity
          it_vedpn             = tkomservpn "Contract Item Cancellation Data
          it_vedkn             = tkomservhn "Contract Header Cancellation DA
        exceptions
          formatting_error     = 1
          internal_error       = 2
          send_error           = 3
          user_canceled        = 4
          others               = 5.
      if sy-subrc <> 0.
        retcode = sy-subrc.
        perform protocol_update.
    get SmartForm protocoll and store it in the NAST protocoll
        perform add_smfrm_prot.
      endif.
    endform.                    "processing

  • Error in customization of smartform ,print program in OPK8

    Hello All,
    I am ABAP consultant .i created a new smartform in original language in FR and a print Zprogram.
    while doing customization for smartform in the transaction OPK8 , the system is throwin an error saying that
    the form is not availble in french .but form is there and in active state .
    if i execute my program manually i am able to generate spool .
    can any one please solve the problem or can any one sent the customization steps .
    looking forward for good answers .
    thanks
    Ane

    Hi Shah,
    Are you using any include texts in the smartform. You have to check the check box  No error if no error exits.
    If you are not using the texts,Put a hard code break point in program lines at different steps and see till which part of the code is executed successfully.
    Thanks,
    Vamshi.

  • Smartform print program

    hi all,
    I have copied rlb_invoice in a zprogram.Iam getting my smartform in the print preview but it is empty . I want to know where to write the select statements.
    thanx & rgds.
    points will be rewarded.
    Message was edited by:
            abapuser
    Message was edited by:
            abapuser

    Hi,
    You have to write your select query in your print program(Coded using SE38 and type 1)
    In that program once you have retrieved data using your select query pass that data to the function module generated by Smartforms.
    If you are not clear please free to get back to me.
    -B S B

  • Smartforms print program

    Hello,
            Is there any method to find the name of the print prog of a smartform just from the name of the SF

    Hi
    Using the<b> NACE</b> tcode you can find it
    If you know the application type and the related Output type for that Smartform/script to which it is used.
    Or from the table<b> TNAPR</b> enter SF name and take the program Name
    <b>Reward points for useful Answers</b>
    Regards
    Anji

  • Payment program F110 - how to add second print program in customizing

    Hello all,
    i would like to add second (another print program after standard sapscript print program customized in table T042Z) print program in transaction F110. This second smartform print program should be customizable  and triggered automatically within payment run.
    Thanks, zd.

    Hi,
    You can assign two forms in FBZP.
    Payment methods per company code
    Double click on payment method
    In Form Data
    You can assign Next Form 
    Both the forms should get printed when you run F110.
    Thanks,
    Ravi

  • Standard print program & smart form for SALES ORDER

    Hi,
    I need
    1. Print program &
    2. SMART FORM
    for "Sales Order".
    and also please let me know how to migrate and do the required changes in smartform & print program.

    Hi Sameer,
    Goto NACE tcode-> choose the application u want( like billing for invoice, PO)->output type->output type->processing routineon left side
    Here u will find the standard program name and smartform .
    Thanks,
    Reward If Helpful.

  • Smartform print preview

    Hi Experts,
         I am modifying an existing smartform print program,
    after modifications, when  I am clicking on printpriview button after selecting the zee Output Type
    in order to test the form, I am unable to see the preview,
    Can anybody tell me what are the points to check?.
    I already checked the parameters passed to control structures.
    They are fine. Even i am not able to see the printpreview.
    Kindly help.
    The sf is for Delevary
    and the transaction i am using isVL03N
    Regards,
    Noor.

    hi,
         Put break points in your program and execute it or else check for address nodes read_text fm
    There may be some error in smartforms or driver program,
    just make the break point and trying to debugg that
    We can consider many checks in this case.
    1. Check whether the Local printer exists or not.
    2. If you are using any Address NOdes, check whether the Address number is holding a value.
    3. Also check whether a record exists with your condition type/Delivery in the NAST table.
    4. You can see the default local printer in SU3.
    Use SFTRACE tcode to trace the error.

  • PO Smartforms Driver Program

    Dear all,
      Any one have the standard PO smartforms print program /SMB40/FM06P??  I can't find it on my ECC 6.0 system.  Anyone can share it to me??
    Regards,
    Kit

    Hi,
    I checked in ECC5o.
    It's for PO only.
    /SMB40/FM06P : Smart Form Print Program for Purchasing Documents.
    Narasimha

  • Call two smartforms from two different print programs

    Hi Sapiens,
      I have a requirement that there are two different smartforms and they have there independent print programs.
      Just wanted to know weather is it possible in SAP to merge those to smartforms and there print programs so that first smartform is displayed first and second smartform is printed at its back(duplex printing).
    Regards
    Milind

    Hi,
    You can use submit program in the first program to call the second program and
    fetch the required interface data related to the second smartform and once u have the interface data
    for both the programs then u can merge the both smartforms data and display them as one layout instead of displaying the two layouts in different formats.
    For merging of data of both the smartforms u can do :Convert the output of first smartform into OTF format data then convert the data of second smartform into OTF table and append it to the first table .
    Now u have the data of both the smartforms in one table then convert this OTF data into PDF format and create a spool request with the combined forms data.
    Thanks,
    M.Naveen Kumar.

  • Print program for the smartform for selecting the output type (email/fax)

    Hi All,
    Requirement :I have to create a print program for the smartform where the output type may be print out,email or fax ,so i need to put the condition for selecting the output type (like printout,email,fax).
    can any body please let me know how  to put the condition for selecting the desired  output type ?
    Thanks in advance
    Rahul

    Hi
    It is not the output type that has to be changed
    it is the MEDIUM which you have to change and configure
    for printout medium is 1
    for FAX medium is 2
    for MAIL it is 7.
    so instead of printout change the medium to 2 or 7 for the same output type and attach to the same driver program and smartform/form.
    Reward points for useful Answers
    Regards
    Anji

  • Handling Output in the print program

    All,
    I have the following issue.
    We are having  a single custom smartform for printing purchase order used for printing for 32 company codes, Because of this smartform has been tide up with lot of "Conditions"
    Now we wanted to split this smartform based on regions ie Americana, APEC, Europe, ME & Africa.
    But the problem is this Smartform has been currently called using a single output type.
    So if we created 4 copy of this Smartform (1 for each region), we don't wanted to create 4 new output types for calling these forms according to the region. 
    So we are thinking creating a custom table contains the region code and smartform name. so in the print program we are going to read this table and get the smartform and go for priting.
    Is anybody come across this kind of problem. Is any other better options available to handle this?
    PS: I feel this is not smartform issue. that's why i created under general abap. Moderators are agree with this

    I faced this situation before and we used <generic_sf_name>_US , <generic_sf_name>_EU etc... and handled it in the print program
    case.
    when CON1.
    when CON2.
    endcase.
    call function 'lv_name' ...

  • Contents of a custom print program for a custom smartform

    Hi...
    Can you please tell me if we are writing a custom print program from scratch for a custom smartform for which there is no standard form available what are all the things that need to be coded in the print program..
    My doubts on this are if we are configuring this form for output types of PO purchase order for mediums 1,2, 5 and 6 does any extra coding need to be done in the print program that is related to these mediums or is it just a configuration issue..
    Apart from data retrieval part and call the function modules to send the data to smartforms what are the other things that we need to code in a custom smartform..  Anything that we need to code related to printing issues..
    It would be great if someone can post a custom print program for any output type valid for mediums 1, 2, 5 and 6.
    Also my last doubt is do we need to do anything in SE11 in designing a smartform and in what context do we need it...
    Thanks and appreciate your help... Surely will reward for all the helpful answers..
    Thanks again..
    Kanthi..

    Hi,
    yes you need to create your own print program. You need to catch printing information and to send data to your smartforms.
    To send data to your smartforms you need to use structure describe in the data dictionnary.
    This is a peace of code for sending information to a smartform that will be print used an external program (Esker)
      DATA: it_data       LIKE TABLE OF zssf_bl WITH HEADER LINE,
            w_formname TYPE tdsfname ,
            w_fm_name  TYPE rs38l_fnam ,
            is_output  TYPE ssfcompop ,
            is_control TYPE ssfctrlop ,
            is_job_out TYPE ssfcresop .
    *  Récupère le nom du module fonction.
      MOVE 'Z_BL_STT' TO w_formname.
      CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
        EXPORTING
          formname                 = w_formname
        IMPORTING
          fm_name                  = w_fm_name
        EXCEPTIONS
          OTHERS                   = 3.
    * Prépare les paramètres d'impression.
      is_output-xsfcmode   = 'X'.
      is_output-xsf        = 'X'.
      is_output-xsfoutmode = 'S'.
      is_output-xsfoutdev  = 'DOCL'.
      is_output-xsfformat  = 'X'.
      is_output-tdnoprev   = 'X'.
      is_output-tdnoprint  = ' '.
      is_output-tddest     = 'DOCL'.
      is_output-tdprinter  = 'PLAIN'.
      is_output-tdnewid    = 'X'.
      is_output-tdimmed    = 'X'.
      is_output-tddelete   = 'X'.
      is_control-no_dialog = 'X'.
      is_control-preview   = ' '.
      is_control-no_open   = 'X'.
      is_control-no_close  = ' '.
    * Prepare le formulaire
      CALL FUNCTION 'SSF_OPEN'
        EXPORTING
          user_settings      = ' '
          output_options     = is_output
          control_parameters = is_control
        IMPORTING
          job_output_options = is_job_out
        EXCEPTIONS
          OTHERS             = 5.
    * Appels du formulaire.
      CALL FUNCTION w_fm_name
        EXPORTING
          control_parameters = is_control
          output_options     = is_output
          is_bl              = zbl_soustrait
        TABLES
          it_data            = it_data
        EXCEPTIONS
          OTHERS             = 5.
    You need to catch information from the NAST table maybe
    Rgd
    Frédéric

  • How to call two smartforms with using a single print program

    Hi,
       I have a requirement wherein I need to call two smartforms using a single print program.
       The interface parameters are different in two smartforms.
       I presently solved the issue using the smartform names as the reference.
       Can anyone let me know if there is any other way to solve it.
       I heard something about global params. But not sure.
       Please let me know the best possible way to solve this issue.
    Thanks and Regards,
       Debabrata

    Hi Debabrata,
    Based on the condition in your print program you can call the below code
    fname1 TYPE rs38l_fnam.
    IF -
    call function 'SSF_FUNCTION_MODULE_NAME'
      exporting
        formname                 = 'ZSMARTFORMS'
    importing
       fm_name                  = fname1
    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 FNAME
    EXPORTING
      ARCHIVE_INDEX              =
      ARCHIVE_INDEX_TAB      =
      ARCHIVE_PARAMETERS =
      CONTROL_PARAMETERS=
      MAIL_APPL_OBJ              =
      MAIL_RECIPIENT              =
      MAIL_SENDER                 =
      OUTPUT_OPTIONS           =
      USER_SETTINGS             = 'X'
    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.
    ELSE.
    fname2 TYPE rs38l_fnam.
    call function 'SSF_FUNCTION_MODULE_NAME'
      exporting
        formname                 = 'ZSMARTFORMS'
    importing
       fm_name                  = fname2
    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 FNAME
    EXPORTING
      ARCHIVE_INDEX              =
      ARCHIVE_INDEX_TAB      =
      ARCHIVE_PARAMETERS =
      CONTROL_PARAMETERS=
      MAIL_APPL_OBJ              =
      MAIL_RECIPIENT              =
      MAIL_SENDER                 =
      OUTPUT_OPTIONS           =
      USER_SETTINGS             = 'X'
    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.
    ENDIF.

  • How to write print program for smartforms

    Hi all
    I need to develop new smartform and its print program.
    But Im not experience in writing print program for smartform.
    Ive gone through the simple print program sample that use only one table as input and one table for output.
    But my smartforms require few tables for input and output.
    How should I define the Data?
    Can anyone guide me on how to write it.
    Thanks & Regards
    az

    Transaction code SMARTFORMS
    Create new smartforms call ZSMART
    2. Define looping process for internal table
    Pages and windows
    First Page -> Header Window (Cursor at First Page then click Edit -> Node -> Create)
    Here, you can specify your title and page numbering
    &SFSY-PAGE& (Page 1) of &SFSY-FORMPAGES(Z4.0)& (Total Page)
    Main windows -> TABLE -> DATA
    In the Loop section, tick Internal table and fill in
    ITAB1 (table in ABAP SMARTFORM calling function) INTO ITAB2
    3. Define table in smartforms
    Global settings :
    Form interface
    Variable name Type assignment Reference type
    ITAB1 TYPE Table Structure
    Global definitions
    Variable name Type assignment Reference type
    ITAB2 TYPE Table Structure
    4. To display the data in the form
    Make used of the Table Painter and declare the Line Type in Tabstrips Table
    e.g. HD_GEN for printing header details,
    IT_GEN for printing data details.
    You have to specify the Line Type in your Text elements in the Tabstrips Output options.
    Tick the New Line and specify the Line Type for outputting the data.
    Declare your output fields in Text elements
    Tabstrips - Output Options
    For different fonts use this Style : IDWTCERTSTYLE
    For Quantity or Amout you can used this variable &GS_ITAB-AMOUNT(12.2)&
    5. Calling SMARTFORMS from your ABAP program
    REPORT ZSMARTFORM.
    Calling SMARTFORMS from your ABAP program.
    Collecting all the table data in your program, and pass once to SMARTFORMS
    SMARTFORMS
    Declare your table type in :-
    Global Settings -> Form Interface
    Global Definintions -> Global Data
    Main Window -> Table -> DATA
    Written by : SAP Hints and Tips on Configuration and ABAP/4 Programming
    http://sapr3.tripod.com
    TABLES: MKPF.
    DATA: FM_NAME TYPE RS38L_FNAM.
    DATA: BEGIN OF INT_MKPF OCCURS 0.
    INCLUDE STRUCTURE MKPF.
    DATA: END OF INT_MKPF.
    SELECT-OPTIONS S_MBLNR FOR MKPF-MBLNR MEMORY ID 001.
    SELECT * FROM MKPF WHERE MBLNR IN S_MBLNR.
    MOVE-CORRESPONDING MKPF TO INT_MKPF.
    APPEND INT_MKPF.
    ENDSELECT.
    At the end of your program.
    Passing data to SMARTFORMS
    call function 'SSF_FUNCTION_MODULE_NAME'
    exporting
    formname = 'ZSMARTFORM'
    VARIANT = ' '
    DIRECT_CALL = ' '
    IMPORTING
    FM_NAME = FM_NAME
    EXCEPTIONS
    NO_FORM = 1
    NO_FUNCTION_MODULE = 2
    OTHERS = 3.
    if sy-subrc 0.
    WRITE: / 'ERROR 1'.
    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'
    IMPORTING
    DOCUMENT_OUTPUT_INFO =
    JOB_OUTPUT_INFO =
    JOB_OUTPUT_OPTIONS =
    TABLES
    GS_MKPF = INT_MKPF
    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.
    Reward points...

Maybe you are looking for