Smart Forms modification

Hi
I am using the transaction va22 for sales transaction, I want to modify smartforms inside the form, after entering the quotation when i am selecting the text messages it is comming correctly in the paragraph but when the smartform the material text message is displaying and moving vertically downwards direction instead of horizontal
could you please help why this is happening.......
Piroz

Hi Mukul
I have the the text type=include text and start time = Append directly
The change quotation smartforms is taking from transaction va22
and the text is displaying from material text but in the smart form it is displaying as
The
delivery
note
is accepted
but
dfdsfdsf
dfdsfdfd
Instead of The delivery note is accepted but dsfdsfdsfdsfdsfdsfdsfdsfds should be display , where to change the text position and the width in window attributes i cannot see that when i open smart form
regards

Similar Messages

  • Smart form modification.(Language requriments)

    Hi all,
    I have to change the smartform for the language requirements with out changing print program. Here the form ic processed by the Classes and methods. Those r standard.
    we have to check the condition i.e pur. org. country and vendor country.
    If both are same we have to print the texts in local language.
    (see below code for conditions).
    For this,
                  we have to write a code.
    Where we have to write the code in smartform (not in print program)?
    <u><b>Contract Output processing details:</b></u>
    Compare Country of Purchasing Organization with Country of Vendor from the Contract
    A. If the Country of Purchasing Organization and Country of Vendor from the CONTRACT are the same, then use local language (ZBBP_FORM_LAYOUT_DET - ZLOCAL)
    1.     If local language (ZBBP_FORM_LAYOUT_DET - ZLOCAL) is ‘EN’ then print form layout and print Texts in (ZBBP_FORM_TXT_DET-ZFILE_LOCAL) in English(‘EN’) for the Purchasing organization, Form type and output date between the date range (ZFROM_DATE and ZTO_DATE)
    2.     Local language (ZBBP_FORM_LAYOUT_DET - ZLOCAL) is not ‘EN’ and based on Label Language (ZLABEL_LOCAL), Print labels in the required languages and print Texts in (ZBBP_FORM_TXT_DET-ZFILE_LOCAL) in Local language for the Purchasing organization , Form type and output date between the date range (ZFROM_DATE and ZTO_DATE)
    B. If the Country of Purchasing Organization and Country of Vendor from the Contract are NOT the same, then use language as non-local language (ZBBP_FORM_LAYOUT_DET - ZNONLOCAL) then print form layout based on Label Language (ZLABEL_NONLOCAL) and print Texts in and print Texts in (ZBBP_FORM_TXT_DET-ZFILE_NONLOCAL) for the Purchasing organization, Form type and output date between the date range (ZFROM_DATE and ZTO_DATE)
    Step 2:
    Get Texts Names and language where Text Type in ('BILL_TO' ,HEADER, EOP, NOTE,, FOOTER_LT, FOOTER_MID, FOOTER_RT, EODOC, TERM_COND')  as per the purchasing Org and  Date range, then get  Text details of 'Text name' where text id ='ST' as per the language and populated them on the Contract which are stored using transaction code 'SO10'. 
    Output Processing:
    During the Output preview Texts info will be populated as per the latest output of Contract transmitted to the Vendor, the date of last output is fetched from the log table Contract output.
    Date format and decimal notation:
    Print Date Format (V_T005_BAS-DATFM) and decimal notation (V_T005_BAS-XDEZP)  on Contract  form, where Country of Purchasing Organization of the Contract is equals to Country ISO code(V_T005_BAS-INTCA)
    This is requirement.
    Where ew have to impliment the code in smartform?
    Can any one help on this?
    We r not going to change the classes and methods. (Print program)
    Rewards to all.
    Thanks,
    Anu.

    Hi!
    You can do this within the Smartform.
    You have to define the window in all languages, you wanted to print. Then you can define conditions for the language code. If you set a condition to one of the windows, you have to exclude it from the another.
    For example
    ZWINDOW_EN - condition language = 'EN'
    ZWINDOW_OTHERS - condition language <>'EN'
    Regards
    Tamá

  • Mail subject modification for smart-form SMIV

    Hi Experts,
    We have implemented ServiceDesk in Solution Manager 7.1 SPS 08 & are using automatic notifications to be generated as alert emails to the customer key users / service desk support team / message processors etc.
    We are using Actions under transaction SPPFCADM, which is using smart-form AI_CRM_IM_SHORT_TEXT_LINK_FORM for the email content.
    We need to modify the notification mail subject as follows - 
    Current Mail Subject – 80000xxxxxx : <Incident Description>
    Required Mail Subject – 80000xxxxxx : <Incident Description> : <Incident Status>
    Can you please suggest, how this can be achieved? What modifications are needed in smart form for the same?
    Best Regards,
    Tanmeya

    Hi Tanmeya,
    Go through the following Links, here u can find example with step
    by step.
    http://smoschid.tripod.com/How_to_do_things_in_SAP/How_To_Build_SMARTFORMS/How_To_Build_SMARTFORMS.html
    Check these step-by-step links
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/uuid/ccab6730-0501-0010-ee84-de050a6cc287
    https://sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/uuid/8fd773b3-0301-0010-eabe-82149bcc292e
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/uuid/3c5d9ae3-0501-0010-0090-bdfb2d458985
    Check these links also.
    http://www.sap-basis-abap.com/sapsf001.htm
    http://www.sap-press.com/downloads/h955_preview.pdf
    http://www.ossincorp.com/Black_Box/Black_Box_2.htm
    http://www.sap-img.com/smartforms/sap-smart-forms.htm
    http://www.sap-img.com/smartforms/smartform-tutorial.htm
    http://www.sapgenie.com/abap/smartforms.htm
    for Smartforms material
    http://www.sap-basis-abap.com/sapsf001.htm
    http://www.sap-press.com/downloads/h955_preview.pdf
    http://www.ossincorp.com/Black_Box/Black_Box_2.htm
    http://www.sap-img.com/smartforms/sap-smart-forms.htm
    http://www.sap-img.com/smartforms/smartform-tutorial.htm
    http://www.sapgenie.com/abap/smartforms.htm
    How to trace smartform
    http://help.sap.com/saphelp_47x200/helpdata/en/49/c3d8a4a05b11d5b6ef006094192fe3/frameset.htm
    http://www.help.sap.com/bp_presmartformsv1500/DOCU/OVIEW_EN.PDF
    http://www.sap-img.com/smartforms/smart-006.htm
    http://www.sap-img.com/smartforms/smartforms-faq-part-two.htm
    Re: Need FAQ's
    http://www.sap-img.com/smartforms/smart-006.htm
    http://www.sap-img.com/smartforms/smartforms-faq-part-two.htm
    Re: Need FAQ's
    https://scn.sap.com/thread/499311

  • Reagrding modification in the select statement of smart form

    hi,
    i have been assigned to make modifications in smart form and now if i want to add field in the existing slect statement it gives error . when i check smart form there is no structure but dere in types declaration
    d internal table is passed as a table itself in the form interface and also defined the variables in the global definations . but problem is how reterive data from dese variables in to smart forms which i want add right now as i am new to the smart forms.
    Edited by: ric .s on Mar 12, 2008 10:16 AM

    hi,
    i had checked the internal table which is passsed in the program whihc conatins statement :-
    data : ivbkd like vbkd occurs 0 with header line.
    data : ikna1 like kna1 occurs 0 with header line.
    and also passed in the form in d program as it is .
    den what s the problem coming after doing all these steps .
    plzz help me out as help will be deinfately rewarded.

  • Need to convert a SAP Script to Smart Form

    Hello,
    I need to convert a SAP script to a Smart form.
    I am aware of converting it but have a question abt print program?
    Can the print program which is currently attached to the SAP script supprot the Smart form?
    Could some one let me know if i can use the same program or need to do some modifications in it?
    Pointa rewareded if useful.
    Thanks,
    Krishna

    hi
    t-code smartforms
    utilities->migrate sapscript
    check the link below it provides steps to convert sap scripts to smartforms
    http://www.ficoexpertonline.com/downloads/Iyer_SmartForms.pdf
    Check these threads.
    Smartforms -> sapscript
    Re: Convert SapScript to Smartforms ?
    regards.
    Kiran Sure

  • Purchase order smart forms

    i have copied the purchase order smart form and activated it and know i have the function moudule which need to be used in program but i am not shure how to do that can any one tell me how i need to write the coding for simple purchae order and then pass on the data to the smart form so that it displays the output.

    What you do for inserting lines is to select line one of the screen table and then click the insert button.
    Do this for each line in your BDC and then you only have to worry about line one of the table:
    Code:
    Form Add_Item_Line Tables t_Item_Data
                        using pu_program     type Program_Name
                              pu_screen      like sy-dynnr
                              pu_insert_line like sy-ucomm
                              pu_insert_at   like sy-tabix
                              pu_werks       like Zorder_Header-Dwerk.
         Data: t_characteristics type Order_Lines,
               w_Characteristic like Zorder_Line.
         Perform Zbdc_Screen using pu_Program pu_Screen.
         Perform Zbdc_Field  using c_OkCode pu_insert_line.           <----
         Perform Zbdc_Screen using pu_Program pu_Screen.
         Loop at t_Item_Data into w_Characteristic.
            Is this actually part of the item line or is it a
            Characteristic ?
              Translate w_Characteristic-AtNam to Upper Case.
              Case w_Characteristic-AtNam.
                   When 'MATNR'.              " Material
                        Perform Zbdc_Subscript using 'VBAP-MATNR'
                                                     pu_insert_at
                                                     W_Characteristic-AtWrt.
                        Perform Zbdc_Subscript using 'VBAP-WERKS'
    Looking at it from a modification point of view, the aim will be always to bring the line of the table that you're interested in to line one of the table
    so again you only need to handle line one of the screen table. Some of the codes for this are 'POPO' in Purchase order processing, and 'SORT' in CO02:
    Code:
    Now loop round the P/O and delete all of those that we don't want
       Loop at t_ekpo.
          Keep this P/O Line item ?
            MOVE SY-TABIX TO W_POPO.
            PERFORM ZBDC_SCREEN USING 'SAPMV50A'   '0270'.
            PERFORM ZBDC_FIELD  USING 'BDC_OKCODE' '=POPO'.
            PERFORM ZBDC_SCREEN USING 'SAPMV50A'   '0111'.
            PERFORM ZBDC_FIELD  USING 'RV50A-POSNR' W_POPO.
            PERFORM ZBDC_FIELD  USING 'BDC_OKCODE' '/00'.
            Read Table t_vl31_asn with key ebeln = t_ekpo-ebeln
                                           ebelp = t_ekpo-ebelp.
            If sy-subrc <> 0.
             Not found - discard this one.
               PERFORM ZBDC_SCREEN USING 'SAPMV50A'   '0270'.
               PERFORM ZBDC_FIELD  USING 'RV50A-LIPS_SELKZ(01)' 'X'.
            ELSE.
             Change the quantity....
               WRITE T_VL31_ASN-MENGE TO W_MENGE UNIT T_VL31_ASN-LMEIN.
               CONDENSE W_MENGE NO-GAPS.
               PERFORM ZBDC_SCREEN USING 'SAPMV50A' '0270'.
               PERFORM ZBDC_FIELD  USING 'LIPS-LFIMG(01)' W_MENGE.
            EndIf.
       EndLoop.
    Hope this helps.
    Award points if found usefull.
    Cheers,
    Chandra Sekhar.

  • Smart form o/p problem

    Hi experts,
    I copied one smart form and did some modifications in that form and this form
    included in the same program.The form is syntacically correct and it is activated.
    When execute the program the o/p is not displaying.There are no errors in the program or in form.
    What is the problem.

    Hi,
    Debug the driver program and put brk point on ssf_function_module _name and give the new smartform name when it comes to this point,so it will take this form and generate the output.
    Regards,
    Amruta
    Edited by: amruta1 on Feb 26, 2010 8:30 AM
    Edited by: amruta1 on Feb 26, 2010 8:32 AM

  • Smart Forms Euro € symbol?

    Hello Experts!
    I want to add € in my Smart Forms Text.
    There is an OSS hint 616683 to this question but all releases mentioned are lower than our used release and the solution with entering the Number 156 for € doesn't work.
    Please help
    Best Regards
    Annette

    Hi Annette,
    Using SAP Script: 
    To print Euro Symbol in SAP Script, do the following: 
    Put the sequence <156> at the desired location in the text editor of the corresponding page window as shown below: 
    During the print preview, the output would be as shown below: 
    Using Smart Forms: 
    For printing Euro symbol in Smart Form, do the following: 
    In the Microsoft Word document, click on Insert -> Symbols 
    Select the Euro symbol from the list. The symbol would appear on the document. Copy the symbol and paste in the text editor of the Smart form as shown below: 
    Save and activate the Smart Form and do the test run. The print preview would be as shown below: 
    Printing of Euro symbol might not be possible on all Printers. By default, SAP R/3 supports the euro symbol only when using the SAPWIN device type and printing over SAPLPD (mainly used for individual document printing).
    To print this on Kyocera printers, do the following: 
    “When using PRESCRIBE device types (like kyofs150, kyofs170, zkm10pre) the euro sign will not be printed very beautiful. To print the real Euro sign instead of the combined ( and = character on top of each other) please set the character 156 of the SAP code page 1114 to 80 hex. In this case the Euro sign will be printed correctly. Alternatively please copy the code page 1114 to e.g. 9114 and make the modification there. Then you just have to switch the used code page of your device type (kyofs150, 170 or zkm10pre) to 9114 as well.”   
    Also check the SAP Note 0129581 for more information on this.

  • Regarding smart forms (really urgent)

    hi,
    i am new to smartforms and i got report to make changes in the smart forms,plzz help me out as i know nothing about the smart forms by providing me it in easiest & simplest form.
    if find useful help will be deifnately rewarded.
    Edited by: ric .s on Mar 6, 2008 5:16 AM

    Hi,
    This Smartform Information I read, really helped me out.
    I think it would be of some good help to you too..
    What is SAP Smart Forms?
    SAP Smart Forms is introduced in SAP Basis Release 4.6C as the tool for creating and maintaining forms. 
    SAP Smart Forms allow you to execute simple modifications to the form and in the form logic by using simple graphical tools; in 90% of all cases, this won't include any programming effort. Thus, a power user without any programming knowledge can  configure forms with data from an SAP System for the relevant business processes.
    To print a form, you need a program for data retrieval and a Smart Form that contains the entire from logic. As data retrieval and form logic are separated, you must only adapt the Smart Form if changes to the form logic are necessary. The application program passes the data via a function module interface to the Smart Form. When activating the Smart Form, the system automatically generates a function module. At runtime, the system processes this function module.
    You can insert static and dynamic tables. This includes line feeds in individual table cells, triggering events for table headings and subtotals, and sorting data before output.
    You can check individual nodes as well as the entire form and find any existing errors in the tree structure. The data flow analysis checks whether all fields (variables) have a defined value at the moment they are displayed.
    SAP Smart Forms allow you to include graphics, which you can display either as part of the form or as background graphics. You use background graphics to copy the layout of an existing (scanned) form or to lend forms a company-specific look. During printout, you can suppress the background graphic, if desired.
    SAP Smart Forms also support postage optimizing.
    Also read SAP Note No. 168368 - Smart Forms: New form tool in Release 4.6C
    What Transaction to start SAP Smart Forms?
    Execute transaction SMARTFORMS to start SAP Smart Forms.
    Key Benefits of SAP Smart Forms:
    SAP Smart Forms allows you to reduce considerably the implementation costs of mySAP.com solutions since forms can be adjusted in minimum time. 
    You design a form using the graphical Form Painter and the graphical Table Painter. The form logic is represented by a hierarchy structure (tree structure) that consists of individual nodes, such as nodes for global settings, nodes for texts, nodes for output tables, or nodes for graphics.
    To make changes, use Drag & Drop, Copy & Paste, and select different attributes.
    These actions do not include writing of coding lines or using a Script language.
    Using your form description maintained in the Form Builder, Smart Forms generates a function module that encapsulates layout, content and form logic. So you do not need a group of function modules to print a form, but only one. 
    For Web publishing, the system provides a generated XML output of the processed form.
    Smart Forms provides a data stream called XML for Smart Forms (XSF) to allow the use of 3rd party printing tools. XSF passes form content from R/3 to an external product without passing any layout information about the Smart Form.
    Advantages of SAP Smart Forms
    1. The adaption of forms is supported to a large extent by graphic tools for layout and logic, so that no programming knowledge is necessary (at least 90% of all adjustments). Therefore, power user forms can also make configurations for your business processes with data from an SAP system. Consultants are only required in special cases.
    2. Displaying table structures (dynamic framing of texts)
    3. Output of background graphics, for form design in particular the use of templates which were scanned.
    4. Colored output of texts
    5. User-friendly and integrated Form Painter for the graphical design of forms
    6. Graphical Table Painter for drawing tables
    7. Reusing Font and paragraph formats in forms (Smart Styles)
    8. Data interface in XML format (XML for Smart Forms, in short XSF)
    9. Form translation is supported by standard translation tools
    10. Flexible reuse of text modules
    11. HTML output of forms (Basis release 6.10)
    12. Interactive Web forms with input fields, pushbuttons, radio buttons, etc. (Basis-Release 6.10)
    A Simple Smartform Tutorial 
    SAP Smartforms can be used for creating and maintaining forms for mass printing in SAP Systems. The output medium for Smartforms support printer, fax, e-mail, or the Internet (by using the generated XML output). 
    According to SAP, you need neither have any programming knowledge nor use a Script language to adapt standard forms. However, basic ABAP programming skills are required only in special cases (for example, to call a function module you created or for complex and extensive conditions). 
    1. Create a new smartforms
    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.
    endif.
    Additional Fonts for your SMARTFORMS 
    You can create additional fonts and style with transaction SMARTSTYLES
    This can then be define in the paragraph and character formats, which you can then be assign to texts and fields in the Smart Form. 
    The character formats includes effects such as superscript, subscript, barcode and font attributes.
    Difference with SMARTFORMS vs. SapScript(SE71)
    The Following are the differences :-
    a) Multiple page formats are possible in smartforms which is not the case in SAPScripts
    b) It is possible to have a smartform without a main window .
    c) Labels cannot be created in smartforms.
    d) Routines can be written in smartforms tool.
    e) Smartforms generates a function module when activated.
    f) Unlike sapscripts (RSTXSCRP), you cannot upload/download Smartform to your local harddisk. 
    It was said that it was provided in CRM 3.0 version, but not available in R/3.  You can download smartforms into Local PC in a XML format.  In the same way you can upload this XML format into Smartform.  From the smartform editor itself you can call download option, if you are working in CRM 3.0 environment. 
    In R3 also, you can download into XML format. However, it's not sure about uploading. Refer to the program 'SF_XSF_DEMO'.
    In 4.7 Enterprise, other have seen this utlity which is completey missing in 4.6c. There is functionality to downlaod a complete form or only a particular node. (Utilities -> Download form). It will create a XML file and save it in the hard disk. 
    For others, if you want to download/upload the Smartforms source, you will need the help from the Basis people.  What you can do is to create a Transport and then FTP down to your local harddisk.   When you need the Smartform source in another system, you have FTP up the Smartforms file back to the SAP server.  Finally, the Basis team, will tp it into your system.
    g) The protect and endprotect command in sapscript doesn't work with smartforms. For example on a invoice: First data of position no 80. is printed on page one, other data of position no 80 is printed on page 2. And there's nothing you can do about it.  Actually, there is something you can do about it.  By using a folder node and checking the 'protect' checkbox, everything in that folder will be page protected.
    FAQ on Migrating SAPscript to SmartForms
    Is it possible to migrate a SAPscript form to a Smart Form? 
    Smart Forms provides a migration tool for this purpose which migrates layout and texts of a SAPscript form to a Smart Form. It does not migrate SAPscript form logic of the print program. Using Smart Forms, this logic is described by the tree structure of the Form Builder. The effort involved in migrating it depends on the complexity of the print program. 
    Which Basis Release do I need to use SAP Smart Forms? 
    SAP Smart Forms is available as of R/3 Basis Release 4.6C. 
    I have heard that Smart Forms replaces SAPscript. What does "replace" mean? 
    It does not mean that SAPscript is removed from the Basis shipment. Even as of Basis Release 4.6C, SAPscript remains part of the SAP standard and there are no plans to remove it. Since Smart Forms is currently, and will continue to be, the tool for form maintenance for mySAP.com solutions, our further development efforts will focus on Smart Forms, not on SAPscript.
    Do we have to migrate all SAPscript forms to Smart Forms? 
    There is no point in migrating all SAPscript forms already in use. Since SAPscript can still be used and will be available in the future, there is no need to. If you plan to migrate a SAPscript form, it is recommended that you check whether benefit is worth the effort involved
    Conversion of SAPSCRIPT to SMARTFORMS
    SAP provides a conversion for SAPscript documents to SMARTforms.
    This is basically a function module, called FB_MIGRATE_FORM. You can  start this function module by hand (via SE37), or create a small ABAP which migrates all SAPscript forms automatically.
    You can also do this one-by-one in transaction SMARTFORMS, under 
    Utilities -> Migrate SAPscript form.
    You could also write a small batch program calling transaction SMARTFORMS and running the migration tool.
    SmartForms System Fields
    Within a form you can use the field string SFSY with its system fields. During form processing  the system replaces these fields with the corresponding values. The field values come from the  SAP System or are results of the processing.
    System fields of Smart Forms
    &SFSY-DATE& 
    Displays the date. You determine the display format in the user master record.
    &SFSY-TIME& 
    Displays the time of day in the form HH:MM:SS.
    &SFSY-PAGE& 
    Inserts the number of the current print page into the text. You determine the  format of the page number (for example, Arabic, numeric) in the page node. 
    &SFSY-FORMPAGES& 
    Displays the total number of pages for the currently processed form. This  allows you to include texts such as'Page x of y' into your output. 
    &SFSY-JOBPAGES& 
    Contains the total page number of all forms in the currently processed print  request. 
    &SFSY-WINDOWNAME& 
    Contains the name of the current window (string in the Window field)
    &SFSY-PAGENAME& 
    Contains the name of the current page (string in the Page field)
    &SFSY-PAGEBREAK& 
    Is set to 'X' after a page break (either automatic [Page 7] or  command-controlled [Page 46])
    &SFSY-MAINEND& 
    Is set as soon as processing of the main window on the current page ends
    &SFSY-EXCEPTION&
    Contains the name of the raised exception. You must trigger your own  exceptions, which you defined in the form interface, using the user_exception macro (syntax:  user_exception <exception name >).
    Example Forms Available in Standard SAP R/3
    SF_EXAMPLE_01 
    Simple example; invoice with table output of flight booking for one customer
    SF_EXAMPLE_02 
    Similar to SF_EXAMPLE_01 but with subtotals
    SF_EXAMPLE_03 
    Similar to SF_EXAMPLE_02, whereby several customers are selected in the application program; the  form is called for each customer and all form outputs are included in an output request
    Smart forms Frequently Asked Questions
    Forcing a page break within table loop
    Create a loop around the table. Put a Command node before the table in the loop that forces a NEWPAGE on whatever condition you want. Then only loop through a subset of the internal table (based on the conditions in the Command node) of the elements in the Table node. 
    Font style and Font size
    Goto Transaction SMARTSTYLES. 
    There you can create Paragraph formats etc just like in sapscript. 
    Then in your window under OUTPUT OPTIONS you include this SMARTSTYLE and use the Paragraph and character formats. 
    Line in Smartform
    Either you can use a window that takes up the width of your page and only has a height of 1 mm. 
    Then you put a frame around it (in window output options). 
    Thus you have drawn a box but it looks like a line. 
    Or you can just draw "__" accross the page and play with the fonts so that it joins each UNDER_SCORE. 
    Difference between 'forminterface' and 'global definitions' in global settings of smart forms
    The Difference is as follows. 
    To put it very simply: 
    Form Interface is where you declare what must be passed in and out of the smartform (in from the print program to the smartform and out from the smartform to the print program). 
    Global defs. is where you declare data to be used within the smartform on a global scope. 
    ie: anything you declare here can be used in any other node in the form. 
    Smartforms function module name 
    Once you have activated the smartform, go to the environment -> function module name. There you can get the name of funtion module name. 
    The key thing is the program that calls it. for instance, the invoice SMARTFORM LB_BIL_INVOICE is ran by the program RLB_INVOICE. 
    This program uses another FM to determine the name of the FM to use itself. The key thing is that when it calls this FM (using a variable to store the actual name), that the parameters match the paramters in your smartform.
    Another thing to note is that the FM name will change wherever the SF is transported to. 
    So you need to use the FM to determine the name of the SF. 
    Here is the code that can be use to determine the internal name of the function module: 
    Code: 
        if sf_label(1) <> '/'.    " need to resolve by name 
          move sf_label to externalname. 
          call function 'SSF_FUNCTION_MODULE_NAME' 
               exporting 
                    formname           = externalname 
               importing 
                    fm_name            = internalname 
               exceptions 
                    no_form            = 1 
                    no_function_module = 2 
                    others             = 3. 
          if sy-subrc <> 0. 
            message 'e427'. 
          endif. 
          move internalname to sf_label. 
        endif. 
    It checks to see if the sf_label starts with a '/', which is how the internal names start. if it does, the name has already been converted. If not, it calls the FM and converts the name. 
    You would then CALL FUNCTION sf_label.
    Smartforms FAQ Part Two
    Smartforms output difference
    Problem with Smartforms: in a certain form for two differently configured printers, there seem to be a difference in the output of characters per inch (the distance between characters which gives a layout problem - text in two lines instead of one.                                      It happens when the two printers having different Printer Controls' if you go to SPAD Menu (Spool Administrator Menu) you can see the difference in the Printer Control and if you make the Printer control setting for both the printers as same. then it will be ok. and also u have to check what is the device type used for both the output devices. 
      SmartForms Output to PDF
    There is a way to download smartform in PDF format.
    Please do the following:
    1. Print the smartform to the spool.
    2. Note the spool number.
    3. Download a PDF file (Acrobat Reader) version of the spool by running Program RSTXPDFT4 and entering the noted spool number.
      SmartForm Doublesided printing question  Your customer wants your PO SmartForm to be able to print "Terms and Conditinos" on the back side of each page. They don't want to purchase pre-printed forms with the company's logo on the front and terms & conditions on the back. Now this presents an interesting problem. 
    Has anyone else ever had a request like this? If for example there was a 3 page PO to be printed,  they want 3 pieces of paper, the front side of each to containe the PO information (page 1, 2, and 3) and the back side of each piece of paper to containg the static "Terms & Conditions" information. 
    Anyone have a clue how to force this out? 
    Easy - page FRONT lists page CONTACTS as next page and CONTACTS lists FRONT as next page. Since CONTACTS does not contain a MAIN window, it will print the contacts info and then continue on to FRONT for the rest of the main items. Additionally, set print mode on FRONT to D (duplex) and set CONTACTS to 'blank' (for both resource name and print mode - this is the only way to get to the back of the page). 
      Transport Smart Forms
    How does one transport SMARTFORM? SE01?  
    How do you make sure that both, the SMARTFORM & it's function module gets transported? Or does the FM with same name gets generated automatically in the transported client? 
    A smartform is transported no differently than any other object. if it is assigned to a development class that is atteched to a transport layer, it will be transported. 
    The definition is transported, and when called, the function module is regenerated. 
    This leads to an interetsing situation. On the new machine, it is very likely the function module name will be different than the name on the source system. Make sure, before you call the function module, you resolve the external name to the internal name using the 'SSF_FUNCTION_MODULE_NAME' function module. 
    Typically, generate the SF, then use the pattern to being in the interface. Then change the call function to use the name you get back from the above function module. 
      Smartforms: protect lines in main window.
    How to protect lines in the main window from splitting between pages? 
    It was easy with SAPscript, but how to do it with SF's.   For 4.7 version if you are using tables, there are two options for protection against line break: 
    - You can protect a line type against page break.
    - You can protect several table lines against page break for output in the main area.
    Protection against page break for line types 
    - Double-click on your table node and choose the Table tab page. 
    - Switch to the detail view by choosing the Details pushbutton. 
    - Set the Protection against page break checkbox in the table for the relevant line type.  Table lines that use this line type are output on one page. 
    Protection against page break for several table lines 
    - Expand the main area of your table node in the navigation tree. 
    - Insert a file node for the table lines to be protected in the main area. 
    - If you have already created table lines in the main area, you can put the lines that you want to protect again page break under the file using Drag&Drop. Otherwise, create the table lines as subnodes of the file. 
    - Choose the Output Options tab page of the file node and set the Page Protection option.   All table lines that are in the file with the Page Protection option set are output on one page. 
    Regards,
    Rohini.

  • Diff  bet Adobe forms and smart forms?

    Hi Friends
    What is the diff between Adobe forms and Smart Forms
    Thanks & Regards
    Kanni

    Hello,
    Smartform:
    To create and maintain forms for mass printing in SAP systems. Besides using the printer for standard output you can also select the Internet (by using a generated HTML output), a fax, or e-mail as the output medium. Smart Forms allows you to execute simple modifications to the form and in the form logic by using simple graphical tools
    http://help.sap.com/saphelp_srm70/helpdata/EN/16/a369b1800e4bdda978ee0fe3b7bd2c/frameset.htm
    Adobe Form:
    Interactive forms in PDF format that allow users to fill out the form on the screen and save their entries in XML format in the form. When the SAP system receives the PDF form, it extracts the data saved in the form, and can process it further.
    http://help.sap.com/saphelp_srm70/helpdata/EN/f2/21021b911f4c0cae11459a4ce0bc62/frameset.htm
    Links will provide more information.
    Thanks
    Ashutosh

  • What is the difference between smart forms and scripts.?

    what is the difference between smart forms and scripts.?

    Differences between Smartforms and SAPscript
    a) Multiple page formats are possible in smartforms which is not the case in SAPScripts
    b) It is possible to have a smartform without a main window .
    c) Routines can be written in smartforms tool.
    d) Smartforms generates a function module when activated.
    e) Smartforms can create web enable forms like XML
    f) smartforms itself contine subroutine pools need not to main separetly like in case of scripts
    Request you to refer the following links
    www.sap-img.com/smartforms/smartform-sapscripts.htm
    www.erpgenie.com/abap/smartforms_sapscript.htm
    Sapscript vs Smartforms
    Difference with SMARTFORMS vs. SapScript(SE71)
    The Following are the differences :-
    a) Multiple page formats are possible in smartforms which is not the case in SAPScripts
    b) It is possible to have a smartform without a main window .
    c) Labels cannot be created in smartforms.
    d) Routines can be written in smartforms tool.
    e) Smartforms generates a function module when activated
    Scripts are client dependent whereas smartforms aren't.
    Upto 99 main windows are possible in scripts and only one in smarforms.
    To create multiple main windows in scripts, you just have to give the window type as MAIN whnever you create a window.
    Scripts still exists but smartforms are in use from 4.6c version, now the lastest version of these two is adobe forms
    SAP Smart Forms is introduced in SAP Basis Release 4.6C as the tool for creating and maintaining forms.SAP Smart Forms allow you to execute simple modifications to the form and in the form logic by using simple graphical tools; in 90% of all cases, this won't include any programming effort. Thus, a power user without any programming knowledge can
    configure forms with data from an SAP System for the relevant business processes.
    Advantages of SAP Smart Forms
    SAP Smart Forms have the following advantages:
    1. The adaptation of forms is supported to a large extent by graphic tools for layout and logic, so that no programming knowledge is necessary (at least 90% of all adjustments). Therefore, power user forms can also make configurations for your business processes with data from an SAP system. Consultants are only required in special cases.
    2. Displaying table structures (dynamic framing of texts)
    3. Output of background graphics, for form design in particular the use of templates which were scanned.
    4. Colored output of texts
    5. User-friendly and integrated Form Painter for the graphical design of forms
    6. Graphical Table Painter for drawing tables
    7. Reusing Font and paragraph formats in forms (Smart Styles)
    8. Data interface in XML format (XML for Smart Forms, in short XSF)
    9. Form translation is supported by standard translation tools
    10. Flexible reuse of text modules
    11. HTML output of forms (Basis release 6.10)
    12. Interactive Web forms with input fields, pushbuttons, radio buttons, etc. (Basis-Release 6.10)
    Reward Points if useful.

  • Smart Form for Service Desk

    Hey All
    I have a pretty simple question to ask to anyone who has configured Service Desk. Actually i want to send the End User an email whenever the status of the message he created is changed to User Feedback. Am doing it currently with the help of an action. What I am not sure of is which Smart Form is best for this purpose. Currently I am using this :
    Form Name: CRM_SLFN_ORDER_SERVICE_01
    Processing Class: CL_DOC_PROCESSING_CRM_ORDER
    Processing Method: CRM_SRVORDER_EXEC_SMART_FORM
    The problem is that the form usually only contains the first description entered in the message. I want it to have complete correspondence ie all the descriptions, reply and solutions that are there in the message.
    Regards
    Bilal Nazir

    Hi Bilal,
    We copied the standard Form: CRM_SLFN_ORDER_SERVICE_01 and made some modifications to it to fit our needs. We wanted to display all text types in the description field and to display it in descending order by date and time.
    Here's the code that we created:
    Create Structure and Table type below:
    1. Structure:     ZTEXT_HEADER_01
    Description: Text header for ZRMD_ORDER
    Component      Component Type    Data type     Length   Decimal     Short text
    TDOBJECT       TDOBJECT            CHAR     10           0               Texts: application object
    TDID             TDID                         CHAR     4             0     Text ID
    TDTEXT             TDTEXT        CHAR     30           0                 Short text
    TDLINE             TDLINE        CHAR     132          0     Text line
    TDFDATE             TDFDATE        DATS     8              0     Date creat
    TDFTIME              TDFTIME        TIMS     6              0     Time Created
    2. Table Type: ZTEXT_HEADER_01_TAB
    Short text   :  Table of Text header for ZRMD_ORDER    
    Line type: ZTEXT_HEADER_01.
    At Global definition:
    - Add Variables: (table below)
    Variable name     Type assignment     Associated type             Default value
    ZGT_TEXT                         TYPE                    CRMT_TEXT_WRKT     
    ZGS_TEXT                         TYPE                    CRMT_TEXT_WRK     
    ZGT_TEXT_HEADER        TYPE                    ZTEXT_HEADER_01_TAB     
    ZGS_TEXT_HEADER        TYPE                    ZTEXT_HEADER_01     
    ZTDLINE                        TYPE                            TLINE     
    ZGV_DISABLE_TEXT        TYPE                               C                                    ‘Y’
    - At the Initialization routine: Add the logics to get the long text right after saved the support message. Store long text into buffer (internal table - GT_TEXT_HEADER) and format it, sort the internal table descending by date and time.
    Build the Long text for out put
       data: ZLT_ttxit TYPE TTXIT.
    Spread out the text line for this
       refresh: ZGT_TEXT,
                ZGT_TEXT_HEADER.
       ZGT_TEXT[] = gt_text[].
       Delete ZGT_TEXT where ( STXH-TDID = 'SUZZ' OR STXH-TDID = 'ZZ'
                               OR STXH-TDID = 'SUSD' OR STXH-TDID = 'SD').
    Sort descending by date and time
      sort ZGT_TEXT descending by STXH-TDFDATE
                                  STXH-TDFTIME.
    Build the Text header table
      loop at ZGT_TEXT into ZGS_TEXT.
         clear ZGS_TEXT_HEADER.
       Text ID
         ZGS_TEXT_HEADER-TDID = ZGS_TEXT-STXH-TDID.
       Text Title
         READ TABLE gt_textid INTO ZLT_ttxit
                WITH KEY TDID = ZGS_TEXT-STXH-TDID.
         IF SY-SUBRC = 0.
            ZGS_TEXT_HEADER-TDTEXT = ZLT_ttxit-TDTEXT.
         ENDIF.
       Time and date
         ZGS_TEXT_HEADER-TDFDATE   =   ZGS_TEXT-STXH-TDFDATE.
         ZGS_TEXT_HEADER-TDFTIME   =   ZGS_TEXT-STXH-TDFTIME.
         append ZGS_TEXT_HEADER to ZGT_TEXT_HEADER.
         clear ZGS_TEXT_HEADER.
       Detail:
         loop at ZGS_TEXT-LINES into ZTDLINE.
            ZGS_TEXT_HEADER-TDLINE = ZTDLINE-TDLINE.
            append ZGS_TEXT_HEADER TO ZGT_TEXT_HEADER.
         endloop.
       Make separated line
         clear ZGS_TEXT_HEADER.
         append ZGS_TEXT_HEADER to ZGT_TEXT_HEADER.
      endloop.
    1.Add component under Main Main Window named  “NEW_TEXT” (New Text for Text Header) to display title: Long texts
    2.Add under Main Main Window new loop named “NEW_TEXT_HEADER_LOOP” (Transaction Header Long Texts) to display long text details for each of difference text ID.
         This loop is using the internal table GT_TEXT_HEADER:
    - Print out the Text ID, Date, time changed at the Text:
    “NEW_TEXT_HEADER_TEXTID_DESC”
    - Print out the Details of long text at text “NEW_TEXT_HEADER_TEXTID_DATA”.
    3.Skip the old logics of printout of long text by set condition ZGV_DISABLE_TEXT <> ‘Y’. At the following component under Main Main Window :
    - “TEXT_HEADER_LOOP” - Transaction Header Long Texts.
    - “GET_TEXTID_TEXT” - Text ID Description.
    - “TEXT_HEADER_TEXTID_DESC” - Text ID Description, Date.
    - “TEXT_HEADER_TEXTID_DATA” - Long Text
    - “TEXT_HEADER_EMPTY_LINE” - Blank Line.
    The formatting didn't work properly for the tables in this reply section, it's removing the spaces.
    Let me know if it was helpful.
    Regards,
    Salpi
    <b>Note: This documentation/code is delivered as is, and Bombardier Aerospace makes no warranty  as to its accuracy or use. Any use of this documentation/code is at the risk of the user.</b>

  • Smart Form and Module Pool

    Can anybody provide me good step by step procedurehow create smart form and module pool programming.
    My email Id is [email protected]

    hi,
    SAP Smartforms can be used for creating and maintaining forms for mass printing in SAP Systems. The output medium for Smartforms support printer, fax, e-mail, or the Internet (by using the generated XML output).
    According to SAP, you need neither have any programming knowledge nor use a Script language to adapt standard forms. However, basic ABAP programming skills are required only in special cases (for example, to call a function module you created or for complex and extensive conditions).
    1. Create a new smartforms
    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.
    endif.
    What is SAP Smart Forms?
    SAP Smart Forms is introduced in SAP Basis Release 4.6C as the tool for creating and maintaining forms. 
    SAP Smart Forms allow you to execute simple modifications to the form and in the form logic by using simple graphical tools; in 90% of all cases, this won't include any programming effort. Thus, a power user without any programming knowledge can 
    configure forms with data from an SAP System for the relevant business processes.
    To print a form, you need a program for data retrieval and a Smart Form that contains the entire from logic. As data retrieval and form logic are separated, you must only adapt the Smart Form if changes to the form logic are necessary. The application program passes the data via a function module interface to the Smart Form. When activating the Smart Form, the system automatically generates a function module. At runtime, the system processes this function module.
    You can insert static and dynamic tables. This includes line feeds in individual table cells, triggering events for table headings and subtotals, and sorting data before output.
    You can check individual nodes as well as the entire form and find any existing errors in the tree structure. The data flow analysis checks whether all fields (variables) have a defined value at the moment they are displayed.
    SAP Smart Forms allow you to include graphics, which you can display either as part of the form or as background graphics. You use background graphics to copy the layout of an existing (scanned) form or to lend forms a company-specific look. During printout, you can suppress the background graphic, if desired.
    SAP Smart Forms also support postage optimizing.
    Also read SAP Note No. 168368 - Smart Forms: New form tool in Release 4.6C
    What Transaction to start SAP Smart Forms?
    Execute transaction SMARTFORMS to start SAP Smart Forms.
    Key Benefits of SAP Smart Forms:
    SAP Smart Forms allows you to reduce considerably the implementation costs of mySAP.com solutions since forms can be adjusted in minimum time. 
    You design a form using the graphical Form Painter and the graphical Table Painter. The form logic is represented by a hierarchy structure (tree structure) that consists of individual nodes, such as nodes for global settings, nodes for texts, nodes for output tables, or nodes for graphics.
    To make changes, use Drag & Drop, Copy & Paste, and select different attributes.
    These actions do not include writing of coding lines or using a Script language.
    Using your form description maintained in the Form Builder, Smart Forms generates a function module that encapsulates layout, content and form logic. So you do not need a group of function modules to print a form, but only one. 
    For Web publishing, the system provides a generated XML output of the processed form.
    Smart Forms provides a data stream called XML for Smart Forms (XSF) to allow the use of 3rd party printing tools. XSF passes form content from R/3 to an external product without passing any layout information about the Smart Form. 
    PROGRAM YMPSKEL MESSAGE-ID YL.
    DESCRIPTION
    written by !
    TABLES:
    DATA: OK_CODE(4), " ok code - screen 1
    OK_CODE2(4).
    DATA C LIKE SY-INDEX. " Index for screen loop
    *& Module USER_COMMAND_0100 INPUT
    process after input for screen 0100 *
    MODULE USER_COMMAND_0100 INPUT.
    CASE OK_CODE.
    WHEN 'SAVE'.
    WHEN 'DISP'.
    WHEN 'LIST'.
    C = 0. "reset loop control
    WHEN OTHERS.
    ENDCASE.
    CLEAR OK_CODE.
    ENDMODULE. " USER_COMMAND_0100 INPUT
    *& Module STATUS_0100 OUTPUT
    process before output for screen 0100 *
    MODULE STATUS_0100 OUTPUT.
    SET PF-STATUS 'AMEND'. " set gui status
    SET TITLEBAR '100'. " set title
    ENDMODULE. " STATUS_0100 OUTPUT
    *& Form SAVE data
    Save screen details
    FORM SAVE.
    CLEAR OK_CODE.
    ENDFORM.
    *& Form DISPLAY
    FORM DISPLAY.
    ENDFORM.
    *& Module EXIT_COMMAND INPUT
    exit commands are processed before validation *
    defined by E against function in menu painter(function list)
    MODULE EXIT_COMMAND INPUT.
    CASE OK_CODE.
    WHEN 'EXIT'. CLEAR OK_CODE. SET SCREEN 0. LEAVE SCREEN.
    WHEN 'CANC'. CLEAR OK_CODE. SET SCREEN 0. LEAVE SCREEN.
    WHEN 'BACK'. CLEAR OK_CODE. SET SCREEN 0. LEAVE SCREEN.
    ENDCASE.
    ENDMODULE. " EXIT_COMMAND INPUT
    *& Form list
    text *
    FORM LIST.
    CLEAR OK_CODE. SET SCREEN 200. LEAVE SCREEN.
    ENDFORM. " LIST
    *& Module EXIT_COMMAND_200 INPUT
    exit command processing for screen 200 *
    defined by E against function in menu painter(function list)
    MODULE EXIT_COMMAND_200 INPUT.
    CASE OK_CODE2.
    WHEN 'EXIT'. CLEAR OK_CODE2. SET SCREEN 0. LEAVE SCREEN.
    WHEN 'CANC'. CLEAR OK_CODE2. SET SCREEN 0. LEAVE SCREEN.
    WHEN 'BACK'. CLEAR OK_CODE2. SET SCREEN 100. LEAVE SCREEN.
    ENDCASE.
    ENDMODULE. " EXIT_COMMAND_200 INPUT
    *& Module STATUS_0200 OUTPUT
    process before output for screen 200 *
    MODULE STATUS_0200 OUTPUT.
    SET PF-STATUS 'POPUP'.
    SET TITLEBAR 'xxx'.
    ENDMODULE. " STATUS_0200 OUTPUT
    Module pool programs are created in abap development work bench (TCODE: SE80).
    Here we can do all the works whatever you can do in abap.
    Module pool programs are also called dialog programs.
    The module Pool are reports prepared for different screens and to manage the sequence of events of these screens, in the transaction SE80 you can see all the dynpros that you have for this kind of report, add new ones, add all types of element to the report.
    Process Before Output is the part of the dynpro code that is processed before the user can do anything with the data in the screen
    Process After Input is the part of the dynpro code that is processed after the interaction with the user.
    module pool programs are excuted using Tcodes
    regards,
    sreelakshmi

  • Module Pool and Smart Form

    Can anybody Provide me good step by step procedure for module pool and smart for programming with screenshot.
    my email Id is [email protected]

    Hi,
    A module pool is a collection of screens, flow logic, menu bars and ABAP code that you use to build an application. Typically the transaction code that calls the application will refer to the module pool and the initial screen number.
    -->What are the requirements a dialog program must fulfill ?
    • A dialog program must fulfill the following requirements
    . a user friendly user interface
    . format and consistency checks for the data entered by the user
    . easy correction of input errors
    . access to data by storing it in the database.
    What are the basic components of dialog program ?
    • Screens (Dynpros)
    Each dialog in an SAP system is controlled by dynpros. A Dynpro consists of a screen and its flow logic and controls exactly one dialog step.
    • ABAP/4 module pool
    Each dynpro refers to exactly one ABAP/4 dialog program. Such a dialog program is also called a module pool, since it consists of interactive modules.
    What is a dynpro ? What are its components ?
    • A dynpro (DYnamic PROgram) consists of a screen and its flow logic and controls exactly
    one dialog step.
    - The different components of the dynpro are:
    Flow logic: Calls of the ABAP/4 modules for a screen
    Screen layout: Positions of the texts, fields, pushbuttons, and so on for a screen
    Screen attributes: Number of the screen, number of the subsequent screen, and others
    Field attributes: Definition of the attributes of the individual fields on a screen
    What is screen flow logic? What are the selections in it? Explain PAI and PBO?
    Ans - Screen flow logic contains the procedural part of a screen. The screen flow logic is like an ABAP program in that it serves as a container for processing blocks. There are four event blocks, each of which is introduced with the screen keyword PROCESS:
    PROCESS BEFORE OUTPUT.
    PROCESS AFTER INPUT.
    PROCESS ON HELP-REQUEST.
    PROCESS ON VALUE-REQUEST.
    Selections are performed in PAI.
    PROCESS BEFORE OUTPUT (PBO) is automatically triggered after the PAI processing of the previous screen and before the current screen is displayed. You can program the PBO processing of the screen in this block. At the end of the PBO processing, the screen is displayed.
    PROCESS AFTER INPUT (PAI) is triggered when the user chooses a function on the screen. You can program the PAI processing of the screen in this block. At the end of the PAI.
    processing, the system either calls the next screen or carries on processing at the point from which the screen was called.
    PROCESS ON HELP-REQUEST (POH) and PROCESS ON VALUE-REQUEST (POV) are triggered when the user requests field help (F1) or possible values help (F4) respectively. You can program the appropriate coding in the corresponding event blocks. At the end of processing, the system carries on processing the current screen.
    step by step process of dialog programing:
    Firstly, you can go to Tcode SE80 and here create a package.
    On that package name right click and select program.
    Then choose program type modulepool program.
    Similarly, you can create screen and then select layout and drag and drop labels and pushbuttons as per your requirements.. Then double click on th push buttons.You will see property window and there we will find FCTCODE and there type the names e.g suppose you want to
    display then typy on the fctcode Display or any name as you wish.
    After that save and activate it. and then close the window.
    And then go back to the intial screen .
    And then click Flow logic button and then uncomment the statement
    module status_1000 PBO block and then doible click on status_1000
    save and activate and then go back and then PAI block uncomment the statement module status_1000 and the dobule click on status_1000.
    step by step process of creating smartforms:
    1.        What is Smartforms?
    Smartforms is a tool to create and maintain forms for mass printing in SAP Systems. Just like sapscripts, for Smart
    forms print program is used to create the output internal table which in turn is thrown to the smart form where the
    field values are displayed. The output medium for Smartforms support printer, fax, e-mail, or the Internet.
    Transaction Code: SMARTFORMS
    To print a form the program for the data retrieval and a Smartform that contains the entire form logic is required. As
    these two are separate one should adapt the Smartform if changes to the form logic are necessary. The application
    program passes the data via a function module interface to the Smartform. When activating the Smartform the system
    automatically generates the function module.
    The architecture of the smart form is given below:
    Creating Forms Using SAP Smart Forms
    When creating a form one must:
    1.      Retrieve the application data
    2.      Describe the form
    3.      Pass the application data to the form
    Example: Create Smartform for printing Purchase order.
    Retrieving the application data (Purchase Order information):
    Write an ABAP program (Print Program) to retrieve data or include a retrieval routine into the application. This
    code consists of statements that select data from databases according to certain selection criteria. Store the
    retrieved data in internal tables, structures or variables and transfer it to the form in one step.
    SAP has already provided with the Print Program (/SMB40/FM06P) for Purchase Order. Based on the business
    requirement, this Print Program can be copied and modified to get the required data and transfer to Smartform.
    Describing the Form:
    The user defines the form using a Smartform. Use the tools of the form builder as listed below:
    1.        Use the form painter to position the windows, graphics and addresses on a page.
    2.        Use the PC editor to write the texts.
    3.        Use the table painter to format the tables.
    The flow control is used to print the pages and elements.
    Form Logic (Introduction)
    In the form builder one can describe a Smartform by a set of nodes. To do this, one can build up a tree structure on
    the left side of the user interface.
    The node global settings and its three successors form attributes, form interface and global definitions always exists
    for any newly created forms.
    To describe the form logic, create the hierarchy under the node pages and windows.
    The following rules apply to control the flow of the form output.
    1.        The nodes in the tree structure are processed from top to bottom.
    2.        For each node there is a tab, this can be used to link the node to a condition. If the condition is true, the
    system processes the node. If not, it skips the node and all its successors.
    3.        One should define a next page for each page.
    The SAP form builder of the smart form consists of:
    1.        Form painter for creating the layout of the form
    2.        PC Editor for entering texts and fields into output areas
    3.        Navigation tree for maintaining the form logic
    4.        Table painter for creating templates and tables
    To define the text formats, one can use the Smart Styles.
    Style builder:
    On the left of the style builder screen consists of the predetermined nodes (header data, folder for paragraph
    formats, and folder for character formats).
    On the right one can see the maintenance screen with its tab pages. At the bottom the preview of the selected font
    can be viewed.
    Create Purchase Order Smartform
    Create a Smartform, copy the existing SAP provided purchase order Smartform to ZSFM_PURCHASEORDER for
    customizing as per business requirement.
    1. Form Settings under Global Settings node, set the parameters in Output Option:
    Page Format: Letter
    Character per Inch: 20
    Line per Inch: 6
    Style: ZSTM_SMB40_SF
    Output Format: Standard Output
    2.        Form Interface
    We can add parameters in the Import Parameters and tables in Tables tab of the form interface for the application
    data to be available for the Smartform to print.
    3. In Global definition we can define the all the global variables which can be used in Smartforms. Initialization
    can be used for initializing the variables and even for retrieving the data.
    Creating pages:
    Each form consists of one or more pages. The first page in the tree structure is the start page and the
    processing of the form starts with this page itself.
    1.        Open the context menu for existing page node and choose create®page
    2.        Enter a unique name (FIRST) for the node and a description (Page)
    3.        Determine the format (1, 2, 3...)and the mode of the page counter (Increase counter) on the general
    attributes tab
    4.        Determine the print attributes (Portrait Format) of the page on the output options
    5.        Determine a background graphic for the entire page on the background tab (Not used in PO).
    Creating windows:
    The size and position of the window can be graphically set in the form painter. There are main windows and
    secondary windows. The difference between these two is that the output in a main window can cover several
    pages.
    1.        Open the context menu for an existing page node and choose®window
    2.        Enter a name for the node (NAMEFORM) and a description (Title Window).
    3.        On the general attributes indicate type of window. NAMEFORM is secondary window.
    In similar fashion all the other windows are created and positioned as per the form design. Only one MAIN
    window is created, it is used for line items which can cover several pages.
    Positioning texts on the form
    The texts are displayed in the form using text nodes. The only exceptions are addresses.
    The predecessor node of the text node determines its use:
    Predecessor node        Used to
    Secondary window        Position text on one or more pages
    Main window        Display text in relation to other nodes in the main window, it may cover several pages
    Template         Displays texts for table cells of a static table
    Table        Display table contents
    There are three text types:
    1.        Text element : to enter new text in the PC editor
    2.        Text module : to include a text module
    3.        Include text : to include an existing SAPscript text
    Entering texts in PC editor: (TITLE)
    ·        To create a text node call the context menu for that node in the tree structure that should receive the
    text, then choose->text
    ·        Enter a unique name (TITLE) for the node and the node description (TITLE)
    ·        On the general attributes tab choose text element as text type
    ·        In the text node box choose whether the text should be started with a new paragraph or only in a new
    line
    ·        Enter the text in the PC editor. Text could be a program element like &Title& or ‘Purchase Order’. &Title&
    is a variable for which the value is assigned in Program line before the text.
    Including text modules: (TERMSCONDITION)
    Text module of the text node is used to refer to an existing text module in the system. The text modules can be
    used in two ways:
    ·        To create a text node, call the context menu for that node in the tree structure that shall contain the text
    and choose create->text under the window TERMSCONDITION.
    ·        Enter a unique name for the node (TERMSCONDITION) and a description (Terms and Condition)
    ·        On the general attributes tab select the text type text module
    ·        Enter the name of the text module in the text name field (&G_TERMS_TEXT&). &G_TERMS_TEXT& is
    used to determine the Text name dynamically in the program lines preceding the text module node.
    ·        Program Lines: GETTERMSCONDITION
    Concatenate 'ZTMM_PO_TERMS_' ZXEKKO-BUKRS
                                      INTO G_TERMS_TEXT.
    Including SAPscript texts: (HD_TXT_F01 – Order Header Text)
    The text type include text node to refer to a SAPscript text, which already exists in the system. To identify the
    text the text name, object, id and the language is needed.
    ·        To create the text node, call the context menu for that node in the tree structure that shall receive the
    text and choose create -> text under the main window.
    ·        Enter a unique name (HD_TXT_F01) for the node and the node description (Order Header Text).
    ·        On the general attributes tab choose include text as text type
    ·        Text Name - &ZEKKO-EBELN&, Text Object – EKKO, Text ID – F01, Language - &SY-LANGU&. Also check
    mark – No error if no text exists.
    Tip: Since the size of text is not known, its better to have the text in MAIN window, so that it can run to more
    than one page if required.
    Inserting addresses: (SENDER): 
    Address node is used to insert an address into the form. This guarantees that the address is formatted
    according to the postal rules of the sender country.
    ·        To create an address node , call the context menu for that node in the tree structure that one wants to
    contain the text and choose create->Address
    ·        Enter a name for the node (COMPANY_CODE_ADDRESS)  and a description (Company Code Address)
    ·        Determine the address type (Organization Address) on the general attributes tab
    ·        For organizational addresses - specify the address number, for any other - specify the person number
    and the address number. In this case we get the company code address into variable &ADDNR&, so we need
    program lines (SENDER) preceding the address text.
    ·        In the box additional addresses, attributes to specify how to display the address are maintained.
    Printing graphics: (LOGO):
    Tcode SE78 is used to import graphics into the SAP system. The transaction imports the graphics and stores it
    in the BDS (business transaction server) and then it can be displayed in the form.
    ·        To create the graphic node , call the context menu for that node in the tree structure and choose create-
    >graphic
    ·        Enter a name (LOGO) for the node and the description (Logo Graphic)
    ·        On the general attributes determine whether a colored or a black and white
    ·        On General Attributes use the fields object - GRPAHIC, id – BMAP and name - &G_LOGO& to identify the
    graphic. &G_LOGO& is variable and therefore we can print company code specific logo. Program line preceding
    the graphic is required.
    ·        Program line COMP_LOGO is used to assign the value to G_LOGO. Concatenate 'ZCOMPANY_LOGO_'
    ZXEKKO-BUKRS INTO G_LOGO. So, the name of graphic for example will be ZCOMPANY_LOGO_0202 for
    company code 0202.
    Displaying a static table (Window – INFO, Template - TEM_INFO) 
    Use node type template to display a table whose layout and size is determined before the runtime of the print
    program.
    To create a template, define a table layout to determine the cell structure for each line. The cells are used to
    display the cell structure for each line. The cells are used to display the contents of the successor nodes of the
    template node. 
    ·        Create Template under the INFO window node. Create > Template.
    The template layout is used to determine the following,
    1.        The number of lines and cells
    2.        The height of each cell
    3.        The width of each cell
    4.        The alignment of the table in the window
    5.        Whether and where to display separator lines or frames
    Use the table control on the template tab to define the layout of the lines. Each line of the template must have
    a definition.
    Use the pattern box to select the desired table pattern.
    Displaying contents in cells: (TLE_CONTACT)
    The template node defines the table layout. The successor nodes of the template         determine the data to be
    displayed in the table cells.
    In General Attributes choose Text type – Text Element. In editor, type ‘DTE         Contact’.
    In Output Options, define the output structure LINE – 5 and Column – 1.
    Similarly all other information for each cell can be filed using the text module and         address module.
    Displaying Dynamic Table (ITEM_TABLE)
    ·        Create TABLE under the MAIN window node. In DATA Tab, loop through the data internal table.
    L_XEKPO is the item table which has all the line item details.
    Define the line types based on the positioning of the text in main window. For         example: TABLE_HEADER1
    is used for positioning Header texts in the table.
    ·        Table is divided into three parts: Header, Main Area and Footer.
    ·        Header is used for printing the Header Title of the table and it at the start of the table on every page.
    ·         Main Area is used to print the line item details of the PO. Create a line (ITEM_DETAIL) of the line type
    TABLE_HEADER1. It will dynamically generate number cells based on the line type defined in the table layout.
    Name all the cells as per the usage. For each cell create the text node to display the information. For example:
    Cell VAL_MATERIAL, Text node MATNR is created which has text element - -matnr.
    ·        Footer is used for printing the information after Main Area data is printed. This can be used for Total
    printing or any other information which needs to be printed after all line items are printed. Create line
    TLE_CONTR_STP for Contractual Stipulation of the line type – LINE which has only one column. Create the
    text element to print the information.
    Special Requirement: Printing the Acknowledgement text if the order value is greater then USD 50,000.00 on
    the second copy only.
    ·        This requirement needs the modification in the print program and the Smartform.
    ·        Modification in Print Program to trigger the second copy if the order value is greater then 50K. Its
    advisable to copy the standard print program to custom Z program (Z_SMB40_FM06P), and changes should
    be made to Z program. Number of copies is passed from NAST to ls_composer_param-tdcopies in Smartforms.
    The value ls_composer_param-tdcopies is modified in the print program to 2 if the order value is greater then
    50K.
    ·        The printing of Acknowledgement Text only on second copy is achieved using the COPIES WINDOW in
    Smartforms. Define Window ACKN_COPY of the type COPIES WINDOW and Output to – Only Copies – Copies
    Differ. Also set the condition in the Condition Tab of the window – SFSY-JOBPAGES = 1, so that it only print
    on the first page of the copy.
    ·        If user selects to print 2 copies and the order value is more then 50k, program needs to print 2 sets
    meaning 4 copies. So number of copies is taken care of in Print program but again the printing of
    Acknowledgement Text should be only the Even number copy meaning Copy# 2 and 4. This achieved by using
    the program lines to determine the even copy.  SFSY-COPYCOUNT will tell us the current copy number being
    printed.
    regards,
    vineela.
    Edited by: Radha Vineela Aepuru on Mar 13, 2008 11:12 AM

  • Smart Form Functional Specification

    Hi Gurus,
    I have to design a smart form functional specification, but i don't have any idea about how to prepare the functional specification?
    can anybody send me the smart form functional specification template ?
    which helps me to prepare the specification

    Hi Devi,
    Here is the FS for Form,
    Functional Specification Document for Forms
    Authors     
    Approved By     
    TABLE OF CONTENTS
    1     OVERVIEW SECTION:     3
    1.1     DOCUMENT OVERVIEW:     3
    1.2     REVISION HISTORY:     3
    1.3     OPEN ISSUES:     3
    1.4     EXTERNAL REFERENCES:     3
    1.5     REQUEST OVERVIEW:     3
    1.6     GENERAL PROCESSING REQUIREMENTS:     4
    2     BUSINESS/FUNCTIONAL REQUIREMENTS     5
    2.1     REQUIREMENT DESCRIPTIONS:     5
    2.2     BUSINESS DRIVER     5
    2.3     TO-BE BUSINESS PROCESS:     5
    2.4     TO-BE BUSINESS PROCESS FLOW DIAGRAM:     5
    2.5     ASSUMPTIONS:     5
    2.6     DEPENDENCIES:     5
    2.7     RISKS:     5
    2.8     SECURITY:     6
    2.9     OTHER REQUIREMENTS:     6
    3     FORM SECTION     7
    3.1     REPORT SELECTION SCREEN:     7
    3.2     STANDARD FORM NAME:     7
    3.3     FORM LAYOUT:     7
    3.4     DATA SOURCE:     7
    3.5     SPECIAL REQUIREMENTS PROCESSING:     7
    3.6     HOW TO EXECUTE THE FORM:     8
    4     UNIT TEST PLAN SECTION     9
    4.1     FUNCTIONAL UNIT TEST PLAN:     9
    5     USER GUIDE REQUIREMENTS     10
    5.1     USER GUIDE REQUIREMENTS:     10
    6     APPENDIX     11
    6.1     APPENDIX:     11
    1     Overview Section:
    1.1     Document Overview:
    (Provide the high level identification information about the object to be developed. Id, title, Release etc)
    Project      Project Atlas
    Development Object ID:     SC-F-125
    Development Object Title:     Purchase Order Form
    Release:     
    Process Team:     Supply Chain
    Process Area:     Procure-to-Pay
    1.2     Revision History:
    {This section should be filled with other details about the owner of functional specs, current status of document as explained in the status key etc}
    Date Modified     Version     Modified By     Description of Change(s)
    1.3     Open Issues:
    (Any open issues should be reported in this section)
    Issue #     Issue Date     Issue Title / Description     Priority     Resolved Date     Any Other Comments
    1.4     External References: 
    (Identify any documents referenced in any part of this document.  (Attach documents where possible.)
    Document Title     Filename     Author     Identifier (Version/Date)
    Process Flow diagram      N/A          
    Screen Shots if any     N/A          
    Sample data file     PO Form Layout (Single Page)     Erik Kraus     1/ (10/11/2006)
    Sample data file     PO Form Layout (Multiple Pages)     Erik Kraus     1/ (10/11/2006)
    1.5     Request Overview:
    Complexity     0   High
    1   Medium
    0   Low
    System(s) Impacted     1   R/3
    0   CRM
    0   BW

         0   Other
    Existing SAP transaction(s) involved?     ME22N, ME23N
    New SAP transaction(s) involved?     ME22N; then click “Messages” to print or “Print Preview” to view.
    Menu path for transaction(s)     Logistics &#61664; Materials Management &#61664; Purchasing &#61664; Change
    1.6     General Processing Requirements:
    (Check the appropriate boxes for e.g. if the development object is an batch report that runs monthly, then check the Online and Monthly boxes in the Processing mode and frequency section and also provide the expected data volume if known)
    Processing Mode:     1   Online
    0   Batch
    Frequency     0   Annually
    0   Quarterly
    0   Monthly
    1   Daily
         1   Real Time 
    1   Ad-Hoc
    1   Others
    Expected Data Volume     
    2     Business/Functional Requirements
    Section 2 describes what is needed.  This information is used to build the design (how to do it) in Sections 3 and on
    2.1     Requirement Descriptions:
    Describe the purpose of the object.  Brief overview
    The purchase order form is used to display the purchase order in SAP. This form can also be sent to the supplier via e-mail or fax in SAP. The PO can also be displayed in the “Print Preview” screen and printed out as well.
    2.2     Business Driver
    The PO Form is standard in SAP. Modifications to the form will be necessary to meet the needs of the purchasing organizations at Sage. The PO form is necessary so that all the details of the purchase order can be faxed/ emailed to the supplier and also can be printed out into a hard copy form for internal purposes. The PO form also needs to be able to be viewed via the print preview icon in SAP.
    2.3     To-Be business process:
    Describe the To-Be business process
    Customized Sage Purchase Order Form.
    2.4     To-Be business process flow diagram:
    Describe the To-Be business process flow diagram
    N/A
    2.5     Assumptions:
    List all the assumptions that were made when developing this object
    1)     Standard SAP PO Form will need to be modified from its standard layout.
    2)     Font for Purchase Order form will be Times New Roman
    3)     PO Form will be created in English
    2.6     Dependencies:
    List all the dependencies that were made when developing this object
    N/A
    2.7     Risks: 
    (What are the risks that make this development unique?  What risks need to be proactively dealt with in order to be successful? What data sources are needed but not readily available?  Are there any risks or concerns that make this development out of the ordinary?)
    N/A
    2.8     Security: 
    (Any security requirement for this object)
    2.9     Other Requirements: 
    (If there are any other requirement which is not covered under section 2)
    N/A
    3     Form Section
    Type:      0  SAP Script     1  Smart forms   
    3.1     Report Selection Screen: 
    Describe the selection screen of the program.  Specify fields for selection and what checks are needed after the user has entered their criteria.
    Field Name     Select Options / Parameters / Radio Buttons / Check Boxes     Default Values
    From – To     Validation
         Required /Optional     F4 Values
    N/A     N/A     N/A     N/A     N/A     N/A
    3.2     Standard form name: 
    Give the name of the SAP Script or Smart form name if copied from SAP
    “MEDRUCK” Form in SAP
    3.3     Form Layout: 
    Describe the form layout for each page.
    The PO form will contain information at the Header Level, Item Level, and Authorizations levels.
    Header Level:
    The header level will contain all the supplier, bill-to party/address, and ship-to party/address information.  The header level will also contain the payment and shipping terms, logo, page number, purchase order title, purchase order number, supplier number in SAP, and the PO date.
    Item Level:
    The item level will contain the item number, material and description, order unit, quantities, date required, unit cost, and the total amount of the line-item.  The item-level will also contain the line-item text of purchase order.
    Authorization:
    The authorization section of the form will contain the name, telephone number, and email address of the purchasing agent.
    Other:
    -The Total Amount and Currency will be displayed to the right of the Authorization information.
    -The layout will include sections and fields with borders. For example the Ship-To, Bill-To, and Supplier will be enclosed in rounded edge boxes. The Layout can be viewed in the Attachments section:
    portion of section 3.4. which will show an example of  a PO with only one page and a PO with multiple pages.
    3.4     Data Source: 
    Identify the data that has to be appeared in the forms. Table Name-Field Name
    All the fields will be available on the SAP standard form “MEDRUCK”. Any additional fields that are not on the standard form will need to be added.  The mapping for additional fields not in the standard form will be shown below in each section (Header Level, Item-Level, and Authoriztions) if required.
    Please see below for the required fields in the form:
    This Section will contain details on the Header, Line-Item, and Authorization sections of the form. A section for attachements will also be inlcuded at the end.
    I. Header Information:
    The following fields will be displayed for the header information.
    -     Title: Purchase Order
    -     Logo: The Sage Software logo will appear in the top left corner of the form.
    -     PO Creation Date (MM/DD/YYYY)
    -     Supplier Number
    -     PO Number
    -     Page Number
    -     Bill to Name and Address
    -     Supplier Name and Address
    -     Ship to Name and Adress
    -     Payment Terms: (not on standard form, see field mapping section below)
    -     Shipping Terms: (not on standard form, see field mapping section below). The shipping terms are the same as the “incoterms” in SAP. There are two fields for the incoterms and both will be used for the shipping terms.
    -     Header Text
    Additional Notes for Header Fields:
    PO creation date should be in format “MM/DD/YYYY”
    Page Number should be in format “Page 1 of 1, Page 2 of 3, etc” format
    The “Bill To” name and address will come from the company code  that is assigned to the plant in the purchase order.
    The “Ship To” name and address will come from the storage location in the first line-item on the purchase order if the “SC Vendor” box is not checked on the delivery address tab of the purchase order. If the “SC Vendor” box is checked on the delivery address tab, then the “Ship To” address will come from the delivery address tab on the purhcase order from the central address management system.
    The “Supplier” name and address will come from the vendor master in the purchase order.
    The central address management system will need to be queried when looking up the “Bill To”, “Deliver”, and “Supplier” addresses.
    Header Text: The text to be inserted here will be pulled from the Header Text in the purchase order.
    Example: Text is pulled from the Header text with the green checkmark.
    If the PO Form requires additional pages, then the header information should be duplicated on the subsequent pages.
    Additional Fields :
    Field Mapping for additional header fields that are not on the Standard SAP PO (MEDRUCK) Form . These fields can also be viewed on the PO Forms in the Attachments section.
    PO Form Additional  Fields
    Field Name     SAP Table/ Field Name
    Payment Terms     MEPO1226-ZTERM
    Shipping Terms (incoterms1)     MEPO1226-INCO1
    Shipping Terms (incoterms 2)     MEPO1226-INCO2
    II. Item Level Information
    The following fields will be on the PO form for the item-level:
    -     Item Number
    -     Material
    -     Material Description
    -     Unit (Unit of Measure)
    -     Quantity
    -     Date Req’d (MM/DD/YYYY)
    -     Unit Cost
    -     Amount
    Each field will have an allotted amount of characters, so that all the text can fit on the line-item. Using .5 inch margins with times new roman 10pt font; there are 105 possible characters in microsoft word for the line-item details to fit on the line. The fields are broken down as follows with their allotted characters to accommodate the 105 allowed spaces:
    Characters:
    Item Number:  1-3
    Material: 6-18
    Descriptoin: 6-36
    Unit: 39-49
    Quantity: 44-56
    Date Required: 60-69
    Unit Cost: 77-86 (Commas and Delimals will be included in the Price. Two total decimal Spaces)
    Amount: 92-103 (Commas and Delimals will be included in the Price. Two total decimal Spaces)
    The Numbering Ranges above can be viewed below line-item 040 in the “PO Form Outline (Sinlge Page)” document in the Attachments section.
    Note: These number ranges are shown as an example of what the form should like. They do not have to match up identicle to the specifications listed above.
    Additional Notes for Line-Item Fields:
    - Material Description will be displayed directly below the Material on the next line.
    - Item Text: The Item text will be displayed if there are any item texts from the Purchase order. The text will be displayed two lines below the Material description. So there will be one line without any text. Also, the next line-item on the PO form will be displayed  two lines below the item-level text; so there will be only one line with no text between the line-item with text and the subsequent line-item.  Line items 020 and 030 depict this in the “PO Form Outline_v1” document in the attachments section. The Line Item text will come from the “Material PO text” (identified below with a green checkmark) from the line-item on the purchase order as shown below.
    - The Date Required Format will be “MM/DD/YYYY”.
    - For every item in the purchase order, the program should loop through each item and check to see if the “returns item” box is checked (MEPO1211-RETPO). If this box is flagged on the purchase order, then the purchase order form needs to be updated with a return indicator. This indicator can be viewed on ‘line-item 030’ of the attached word document ““PO Form Outline (Single Page)” in the Attachments section.
    - The line-item fields should have the following alignment:
    Material: Left
    Material Description: Left
    Unit: Left
    Qty.: Right
    Date Required: Left
    Unit Cost: Right
    Amount: Right
    - If the line-items do not fit on one page, then they should continue on to subsequent pages. The Header information should be copied to all the subsequent pages and the authorization section will be displayed on the last page as well as the total amount and currency. This example can be viewed in document “PO Form Outline (Multiple Pages)” in the Attachments section.
    Dislclaimer:
    A disclaimer will also be included in this section and after all the line-items. The disclaimer text is still pending. An example of a disclaimer is shown in the “PO Form Outline (Single Page)” after line-item 040. This document can be found in the Attachments section.
    If a PO requires multple pages, the the disclaimer will be displayed on the last page after the last line-item.
    III. Authorization Information
    This section will contain the purchasing agent: The purchasing agent will be the person who created the purchase order. This section will also contain their telephone number and email address.
    The first and last name of the person who created the purchase order should be displayed here. This can be looked up in the users profile. The user profile will also contain their email and telephone number.
    The field names for can be viewed below or in the “PO Form Outline (Single Page)” document in the Attachments section.
    PO Form Additional  Fields
    Field Name     SAP Table/ Field Name
    First Name     ADDR3_DATA-NAME_FIRST
    Last Name     ADDR3_DATA-NAME_LAST
    Telephone Number     SZA5_D0700-TEL_NUMBER
    Email     SZA5_D0700-SMTP_ADDR`
    Attachments:
    3.5     Special Requirements Processing: 
    Describe the processing required to support any special requirements (e.g. signatures, logos, OCR, bar coding etc.).
    3.6     How to execute the form: 
    Describe how to trigger the form e.g. Standard SAP transaction code or custom transaction code etc. If standard SAP transaction code describe the menu path
    The form needs to be able to be viewed and printed.
    To View:
    Transaction ME22N or ME23N; Then Click the Print Preview   icon to view the Form.
    To Print:
    1) Transaction  ME22N.
    2) Click Messages
    3) Select Output “NEU” and medium “1 Print output”
    4) Click the “Further data” button as shown in the screen shot above
    5) Select  “4 Send immediately (when saving the application)”
    6) Click Back   then Click Save  
    7) Select “LOCAL” for logical Destination
    8) Click “Save” again  
    4     Unit Test Plan Section
    4.1     Functional Unit Test Plan:
    Document the criteria to be used for validating programming accuracy and positive/ negative results
    Step     Scenario     Expected Results
    Number     Description of what is being tested in this step     Description of what is expected to happen in this step
    1     Go to Transaction ME22N and Display PO Form by clicking the Print Preview Icon     Form should mirror the forms in the Attachments section.
    2     Go to Transaction ME22N and Print PO Form     PO Form should print as showed in the Print Preview Screen and the forms the Attachments section.
    3     Create PO that will force PO form to cross multiple pages and then click Print Preview     PO Form should have Header information on all pages and line-item shoulds continue on to the subsequent pages. Authorization, Total Amount, Currency, and Disclaimer will be on the last page. The page numbers should also be correct and in the right format. This should mirror the “PO Form Outline (Multiple Pages)” document in the Attachments section.
    4     Go to Transaction ME22N and print PO as in step 3     PO Form shoul print as showed in the Print Preview Screen and the “PO Form Outline (Multiple Pages)” document in the Attachments section.
    5     User Guide Requirements
    A User Guide must be provided to assist the person responsible for running the program(s).  The User Guide must be in cookbook-style (required elements with step by step instructions) and annotated screen prints.  The User Guide will be required in the running of the object in the Production environment as well as the QA and Test environments.
    5.1     User guide Requirements:
    N/A
    6     Appendix
    6.1     Appendix:
    N/A
    Hope it will help ..
    Regards,
    Arjun.
    <b>Reward the points if it hepls</b>

Maybe you are looking for