Skip to Content
author's profile photo Former Member
Former Member

ABAP and SmartForms

Hello everyone

I have problem with my abap program and form created in Smart Forms. I want to call my form from ABAP program and pass to table parameter, table (data: begin name occurs 0,...end name) which is create in that abap program. When I'm in smart form i want to declare table type like that table from abap, do something with it, some calculations in that table declared in smart forms, and print the results.

But when I try to do this, I receive error, that table which is type for data in smart forms, doesn't exist :/

Add a comment
10|10000 characters needed characters exceeded

Assigned Tags

Related questions

3 Answers

  • Best Answer
    author's profile photo Former Member
    Former Member
    Posted on Nov 24, 2007 at 05:39 AM

    hi,

    Please pass the internal table from the program to Smartform using the generated FUNCTION MODULE in the Program and Receive in the smartform in FORM INTERFACE.You will be able to declare the internal table which has been created in the DATA deictionary.

    Any clarification please revert back

    here is the step by step which may help u as a starter ,

    to

    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

    *

    *

    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.

    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

    need-faq's

    check most imp link

    http://www.sapbrain.com/ARTICLES/TECHNICAL/SMARTFORMS/smartforms.html

    step by step good ex link is....

    http://smoschid.tripod.com/How_to_do_things_in_SAP/How_To_Build_SMARTFORMS/How_To_Build_SMARTFORMS.html

    Please check the tables TNAPR and TTXFP for Standard Smartforms.

    See the note 595812: it explain how to download the preconfigured smartforms.

    Detailed information can be accessed at the site:

    http://service.sap.com/preconfiguredforms OR

    http://service.sap.com/smb/development/preconfiguredforms.

    To download preconfigured smartform package, please:

    1. Go to http://service.sap.com/installations, select tab "download".

    2. On the right hand side screen, locate navigation tree node

    SAP Software Distribution Center->Download->Installations and Upgrades->

    Entry by Application Group.

    3. In the main window (right hand side), follow the path

    SAP Best Practices->Best Practices for mySAP All-in-One-> PRECONFIGURED

    SMART FORMS, you can find available preconfigured smartform versions.

    regards,

    Prabhu

    Reward if helpful

    Add a comment
    10|10000 characters needed characters exceeded

  • Posted on Nov 24, 2007 at 06:13 AM

    hi,

    u cant use occurs in smartforms. u can only use typed internal table.

    goto global definition-->types,

    TYPES: BEGIN OF it_type,

    .....

    END OF it_type.

    goto global definition--> data declaration,

    itab TYPE it_type.

    it TYPE TABLE OF itab.

    *now IT is yer internal table.

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Nov 24, 2007 at 04:57 AM

    Hi,

    Create a Table type in SE11 with the same fields in SE38 table.

    Table types are always without header line. so that you need to create a separate work area also in your form.

    regards,

    Bhanu

    Add a comment
    10|10000 characters needed characters exceeded

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.