Smart form coding

how to Create a smart form related to gate pass to be submitted to vendor’s location. This form outputs document number, date, vendors name, address, material details, quantity, unit,and the company logo.

It will be a challange to get good free material. Here is a start.
http://www.sap-basis-abap.com/sapsf001.htm
http://www.sap-img.com/smartforms/smartform-tutorial.htm
You can also check out the sample forms that are delivered with your r/3 system.
Check these links.In this,I am explaining everything step-by-step.Kindly reward points by clikcing the star on the left of reply,if it is useful.
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

Similar Messages

  • How to define variable for smart form in coding

    hi all,
    i have to create a variable for smart form which is i already created in  smart form but facing some sort of difficulties.
    for example:
    DATA:  formname  TYPE ZCCCL_GOODS_RECEIPT.(SMART FORM NAME)
    DATA:  formname  TYPE ZCCL_RETURN_VENDOR. (SMART FORM NAME)
    DATA:  formname   TYPE ZCCL_GOODS_RESERVATION.(SMART FORM NAME)
    CASE in_mseg-bwart.
      WHEN '101' or '105' or '321'.
      formname = 'FORM_RECEIPT'.
      WHEN '122' or '124'.
      formname = 'FORM_RETURN_VENDOR'.
      WHEN '201' or '261'.
      formname = 'FORM_GOODS_RESERVATION'.
    ENDCASE.
    So this the logic im using but it gave me error like:
    Type  ZCCCL_GOODS_RECEIPT is unknown.
    Kindly tell me if this coding is wrong than what should i use.
    Thanks.

    Declare variable name for smartform as
    Formname type TDSFNAME in import tab.

  • Error in opening the PDF file created from the smart form output.

    Hi All,
    i have a simple smart form which takes 3 values like customer no, name and no of times customer called and gives an out like
    Customer 0001000000 with name Ravi called 5 times today.
    I have to send this output to mail as an attachment.
    for this i am coding as below.
    ******Call the SSF Function module
    CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
    EXPORTING
    formname = Form name
    VARIANT = ' '
    DIRECT_CALL = ' '
    IMPORTING
    fm_name = lv_fmname
    EXCEPTIONS
    no_form = 1
    no_function_module = 2
    OTHERS = 3
    lv_partner_number = '0001000000'.
    lv_name_org1 = 'Ravi'.
    lv_z_no_calls_day = '5'.
    lw_ctrlop-getotf = 'X'.
    lw_ctrlop-no_dialog = 'X'.
    lw_compop-tdnoprev = 'X'.
    lw_compop-tddest = 'LP01'.
    *******Call the Form Function module and get the OTF of form output
    CALL FUNCTION lv_fmname
    EXPORTING
    name_org1 = lv_name_org1
    partner_number = lv_partner_number
    z_no_calls_day = lv_z_no_calls_day
    control_parameters = lw_ctrlop
    output_options = lw_compop
    user_settings = ' '
    IMPORTING
    job_output_info = w_return
    EXCEPTIONS
    formatting_error = 1
    internal_error = 2
    send_error = 3
    user_canceled = 4
    OTHERS = 5.
    i_otf] = w_return-otfdata[.
    *********Now here if i look in to the OTF data i got in debug it has the data i aniticipated along with some other data.
    the output is in the format
    TDPRINTCOM(2) TDPRINTPAR(70)
    ST XXXX.. customer 0001000000 with
    name.....
    i have my data in the above format spread in three lines of the output otf table where XXXX... is some number.
    ***********To convert to PDF Format
    CALL FUNCTION 'CONVERT_OTF'
    EXPORTING
    format = 'PDF'
    max_linewidth = 132
    IMPORTING
    bin_filesize = lv_len_in
    BIN_FILE =
    TABLES
    otf = i_otf
    lines = i_tline
    EXCEPTIONS
    err_max_linewidth = 1
    err_format = 2
    err_conv_not_possible = 3
    err_bad_otf = 4
    OTHERS = 5
    *********For testing purpose i created a file on the desktop with the the data in i_tline. it created PDF file but when i tried to open it it's giving an error.
    i_objtxt = 'test with pdf-Attachment!'.
    APPEND i_objtxt.
    DESCRIBE TABLE i_objtxt LINES v_lines_txt.
    READ TABLE i_objtxt INDEX v_lines_txt.
    wa_doc_chng-obj_name = 'Smart Form'.
    wa_doc_chng-obj_descr = 'Frequent Caller Alert_Day'.
    wa_doc_chng-doc_size = ( v_lines_txt - 1 ) * 255 + STRLEN( i_objtxt ).
    *********Creating the Entry for the document
    CLEAR i_objpack-transf_bin.
    i_objpack-head_start = 1.
    i_objpack-head_num = 0.
    i_objpack-body_start = 1.
    i_objpack-body_num = v_lines_txt.
    i_objpack-doc_type = 'RAW'.
    APPEND i_objpack.
    i_objbin] = i_tline[.
    DESCRIBE TABLE i_objbin LINES v_lines_bin.
    READ TABLE i_objbin INDEX v_lines_bin.
    i_objhead = 'Frequentcaller list_Day.pdf'.
    APPEND i_objhead.
    ************Creating the entry for the attachment.
    CLEAR : i_objpack.
    i_objpack-transf_bin = 'X'.
    i_objpack-head_start = 1.
    i_objpack-head_num = 1.
    i_objpack-body_start = 1.
    i_objpack-body_num = v_lines_bin.
    i_objpack-doc_type = 'PDF'.
    i_objpack-obj_name = 'ATTACHMENT'.
    i_objpack-obj_descr = 'FCA'.
    i_objpack-doc_size = v_lines_bin * 255 .
    APPEND i_objpack.
    CLEAR i_reclist.
    i_reclist-receiver = 'mail id'.
    i_reclist-rec_type = 'U'.
    APPEND i_reclist.
    CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
    EXPORTING
    document_data = wa_doc_chng
    put_in_outbox = 'X'
    commit_work = 'X'
    TABLES
    packing_list = i_objpack
    object_header = i_objhead
    contents_bin = i_objbin
    contents_txt = i_objtxt
    receivers = i_reclist
    EXCEPTIONS
    too_many_receivers = 1
    document_not_sent = 2
    operation_no_authorization = 4
    OTHERS = 99.
    This is all i am doing.
    It is sending a mail with the attachment but we are not able to open the attachment. it's giving an error like file is damaged and couldn't be repaired.
    I serched in the forum but i couldn't get the answer.
    I suspect there is a problem in getting the OTF data..
    Please help me in resolving this issue....
    Thanks in advance.
    RK

    Check the sample , and see where you made the mistake.
    REPORT ZPDF_MAIl.
    DATA:
      w_fm_name      TYPE rs38l_fnam,
      w_bin_filesize TYPE i,
      w_filesize     TYPE i,
      w_lines_txt    TYPE i,
      w_lines_bin    TYPE i.
    DATA:
      wa_ctrlop   TYPE ssfctrlop,
      wa_outopt   TYPE ssfcompop,
      wa_objhead  TYPE soli_tab,
      wa_buffer   TYPE string,
      wa_doc_chng TYPE sodocchgi1.
    DATA:
      BEGIN OF t_mail_ids OCCURS 0,
        mailid TYPE ad_smtpadr,
      END OF t_mail_ids,
      t_otfdata TYPE ssfcrescl,
      t_otf TYPE itcoo OCCURS 0 WITH HEADER LINE,
      t_pdf_tab TYPE tline OCCURS 0 WITH HEADER LINE,
      t_objpack LIKE sopcklsti1 OCCURS 0 WITH HEADER LINE,
      t_objtxt LIKE solisti1 OCCURS 0 WITH HEADER LINE,
      t_objbin LIKE solisti1 OCCURS 0 WITH HEADER LINE,
      t_record LIKE solisti1 OCCURS 0 WITH HEADER LINE,
      t_reclist LIKE somlreci1 OCCURS 0 WITH HEADER LINE.
    CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
      EXPORTING
        formname           = 'Z195_TEST'
      IMPORTING
        fm_name            = w_fm_name
      EXCEPTIONS
        no_form            = 1
        no_function_module = 2
        OTHERS             = 3.
    IF sy-subrc EQ 0.
    ENDIF.                               " IF sy-subrc EQ 0.
    wa_ctrlop-getotf = 'X'.
    wa_ctrlop-no_dialog = 'X'.
    wa_outopt-tdnoprev = 'X'.
    CALL FUNCTION w_fm_name
      EXPORTING
        control_parameters = wa_ctrlop
        output_options     = wa_outopt
        user_settings      = 'X'
      IMPORTING
        job_output_info    = t_otfdata
      EXCEPTIONS
        formatting_error   = 1
        internal_error     = 2
        send_error         = 3
        user_canceled      = 4
        OTHERS             = 5.
    IF sy-subrc EQ 0.
    ENDIF.                               " IF sy-subrc EQ 0.
    t_otf[] = t_otfdata-otfdata[].
    CALL FUNCTION 'CONVERT_OTF'
      EXPORTING
        format                = 'PDF'
        max_linewidth         = 132
      IMPORTING
        bin_filesize          = w_bin_filesize
      TABLES
        otf                   = t_otf
        lines                 = t_pdf_tab
      EXCEPTIONS
        err_max_linewidth     = 1
        err_format            = 2
        err_conv_not_possible = 3
        err_bad_otf           = 4
        OTHERS                = 5.
    IF sy-subrc EQ 0.
    ENDIF.                               " IF sy-subrc EQ 0.
    LOOP AT t_pdf_tab.
      TRANSLATE t_pdf_tab USING '~'.
      CONCATENATE wa_buffer t_pdf_tab INTO wa_buffer.
    ENDLOOP.
    TRANSLATE wa_buffer USING '~'.
    DO.
      t_record = wa_buffer.
      APPEND t_record.
      SHIFT wa_buffer LEFT BY 255 PLACES.
      IF wa_buffer IS INITIAL.
        EXIT.
      ENDIF.
    ENDDO.
    t_objtxt = ' To Change the COR, Use the Transaction ZCOR_CHANGE'.
    APPEND t_objtxt.
    t_objtxt = ' Check the Attached PDF file for COR'.
    APPEND t_objtxt.
    DESCRIBE TABLE t_objtxt LINES w_lines_txt.
    READ TABLE t_objtxt INDEX w_lines_txt.
    READ TABLE t_objtxt INDEX w_lines_txt.
    wa_doc_chng-obj_name = 'COR Display'.
    wa_doc_chng-expiry_dat = sy-datum + 10.
    CONCATENATE 'COR' "w_cornr
                '-' "w_stat_descr w_action_desc
           INTO wa_doc_chng-obj_descr SEPARATED BY space.
    wa_doc_chng-sensitivty = 'F'.
    wa_doc_chng-doc_size =  w_lines_txt  * 255.
    CLEAR t_objpack-transf_bin.
    t_objpack-head_start = 1.
    t_objpack-head_num = 0.
    t_objpack-body_start = 1.
    t_objpack-body_num = w_lines_txt.
    t_objpack-doc_type = 'RAW'.
    APPEND t_objpack.
    t_objpack-transf_bin = 'X'.
    t_objpack-head_start = 1.
    t_objpack-head_start = 1.
    t_objpack-head_num = 0.
    t_objpack-body_start = 1.
    DESCRIBE TABLE t_objbin LINES w_lines_bin.
    READ TABLE t_objbin INDEX w_lines_bin.
    t_objpack-doc_size = w_lines_bin * 255 .
    t_objpack-body_num = w_lines_bin.
    t_objpack-doc_type = 'PDF'.
    t_objpack-obj_name = 'COR'.
    t_objpack-obj_descr = 'COR Test'.
    * concatenate 'COR' w_cornr into t_objpack-obj_descr
    *                           separated by space.
    APPEND t_objpack.
    *LOOP AT t_mail_ids.
      CLEAR t_reclist.
      t_reclist-receiver = 'INTENATEMAIL'.
      t_reclist-rec_type = 'U'.
      APPEND t_reclist.
    *ENDLOOP.
    CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
      EXPORTING
        document_data              = wa_doc_chng
        put_in_outbox              = 'X'
        commit_work                = 'X'
      TABLES
        packing_list               = t_objpack
        object_header              = wa_objhead
        contents_bin               = t_objbin
        contents_txt               = t_objtxt
        receivers                  = t_reclist
      EXCEPTIONS
        too_many_receivers         = 1
        document_not_sent          = 2
        document_type_not_exist    = 3
        operation_no_authorization = 4
        parameter_error            = 5
        x_error                    = 6
        enqueue_error              = 7
        OTHERS                     = 8.
    IF sy-subrc EQ 0.
    ENDIF.

  • How to print BAR CODE in SAP SMART FORMS

    Hi,
    I want to print inspection lot's BAR CODE in the smart form, but i dont know the way how to print this into the smartform.
    if anyone have any idea, please suggest me how to print this as it is urgent for me to complete the object.
    Thanks in advance.
    Best Regards,
    Abnish Jain

    Hello Abnish,
    Welcome to SDN.
    We are able to print barcodes from smartforms. Doing this way, we print barcodes on laser printers.
    We are also printing from sap to zebra printers using two ways:
    1. Download the data to an excel sheet, then creating a macro that opens the printer port and sending the commands to the printer through this "file". All this is done via vb script provided with excel)..
    2. The second way is creating a vbscript (an ascii file from sap) with the printer commands and then runing it using ws_execute.
    You need a barcode reader to read the barcodes, and this scanner acts like a keyboard, it sends the data scanned to the active field on screen. (which might be a notepad, word, excel or an input field or ... ).
    From 4.6c on, you can use smartforms to print barcodes without buying any barcode.dll software nor hardware extention like Bardimm on any laser/inkjet printer (Please Note that I haven't mentioned Zebra printers here!). To do this, you have to create a smartstyle -> character format with the desired barcode font (defined within sap). Then in the smartform, create a window, put the field and associate it the character format. That's all (I mean, that's all we do at least :-). I think, you have to consider the barcode specifications before sending the barcode value to the smartform (Just an example, if you're using 3 of 9, the code should start and end with an asterisk - '*' -) We're printing an interleaved 2 out of 5 barcode in our invoices due to a legal requirement, and we did it this way.
    3. If you have a barcode scanner, then you should not need reading the barcode into an ascii file to get the data read in an standard or custom screen field. You can read it directly to the field you want. (unless... you have complex data coded in the barcode - for example if you're using an ean-ucc 128 compliant code and you're sending several fields in a single code ... In this case, an interface is almost mandatory because you must interpret the data fields according to the ucc standard, split the code into several fields .... and .... pure programming logic ).
    To put it clear: if you have to read, for example, a barcode that holds the legal number of an invoice using a barcode scanner and this number should be sent to migo-> bktxt then you don't need an interface. The scanner itself acts like a fast operator entering the characters using a keyboard and filling in the field.
    We're reading barcodes in several places (when we finish each pallet, when we receive an invoice, and so on. Each case is a different screen. We arent using an ascii file to read these barcodes. Furthermore, we read the invoice legal number into migo bktxt field (Head Text).
    http://www.sap-img.com/abap/questions-about-bar-code-printing-in-sap.htm
    Regards
    Naren

  • Smart form to print label

    hi guys,
    i have a quetion for you. What ever i say you here is all about EWM 5.1(seperate instance)
    i have a standard smartform /scwm/hu_shplabel.
    this i should be using to create a shipping label printing (UCC).
    i will tell you wht i did and wht i need.
    i copied this standard to a z form and created the frame (windows i needed).
    i dont know if this needs a driver program at all to call this.
    to my knowledge i know that a method is assigned to this standard form and it calls it.
    but most of the coding is done in the form itself using the input parameters.
    i need to know
    1. do we actually need a driver prog for such forms.
    2. if i have to make changes do i do it in driver prog or form itself.( i can see lot of coding in the present form) , the coding is mostly object oriented.
    3. i even have a bar code to print in it too.
    4. few of the the date to be printed on the label has to come from R/3.
    usually i knew the smart form where u write a se38 program to call the form and input the data mostly needed to print. i am new to this kind .
    do let me know anything u think.
    every information is helpfull
    thank you
    sid

    hi seshu
    first let me thank you for the information.
    standard form has a master window.
    and i have to add 8 more windows.
    i have come across a similar standard smart form but i came to know that it is associated with a
    object and a corresponding class.
    so i came to the conclusion that the present smartform might have a associated object and it is responsible of calling the form.
    i may not be completely true. do tell me if i am or not.
    the present smartform has some code internally and some global parameters added.
    it has some input parameters added.
    but the current functionality is not similar to what the standard is.
    so i didnt understand if i have to code in object or in the form itself.
    do let me know wht ever information you have.

  • Error in calling/converting smart form from ECC to pdf in portal.

    Hi,
    We have a requirement in our project where we have to show IT form in portal exactly in the way payslip are shown in ESS
    Screen, that is in the pdf form in ess portal screen.
    For this my HR abap consultant has made one customize smart form which is being called from a RFC FM.
    After the FM lf_fm_name gets executed , the OTF data is being captured and then converted in to PDF.
    After that the PDF is then converted into XSTRING format which is then supplied to the portal side through export parameter
    of the RFC.
    Now when we debugged the RFC, the conversion is taking place perfectly fine in to XSTRING.This is wat we assume.
    Portal Side: I have used Iframe ui ELEMENT in my webdynpro java and its property source I have binded with a value attribute
    of type string and I am executing above customize RFC given to me by my HR abap consultant and after executing that RFC with
    userID and payroll year as its import parameter I am taking export parameter of that RFC with name pdf_string of type XSTRING
    of that RFC into my webdynpro java value attribute which i binded to source property of Iframe.
    Now when we see the output in portal , first of all pdf is not getting generated and its showing the error message:
    file does not begin with '%pdf-' and secondly errored Adobe form getting opened outside Iframe window its not coming within
    Iframe window like what payslip comes inside Iframe UI element.
    I want to know what mistake we are doing in our ABAP coding or portal coding.
    Please help.

    Hi Satyam,
    You can use the existing SAP GRT framework for developing the app.
    Its easy and provides more features.
    See this wiki:
    http://wiki.sdn.sap.com/wiki/display/WDJava/HowtodevelopcustomWebDynproESSapplicationsusingGenericReportingTool%28GRT%29
    Regards
    Yugandhar Reddy

  • Need inputs : PO Smart form Bulgaria language in SRM

    Hi Experts,
    I need a couple of suggestions and guide lines for PO print out Smart form.
    We have requirement for PO, print out should print in Bulgaria language if the PO Vendors is from Bulgaria country.
    And if the vendor is other than Bulgaria country then it should print in the English.
    We have already a custom smart form (English)which we have assigned it in BADI for the PO Print output BBP_OUTPUT_CHANGE_SF.
    Do we have to create 2 different smart forms? One is for Bulgaria vendors and other for non Bulgaria vendors.
    And Do need to assign the 2 different smart forms in BADI based up on the vendor country?
    If I enter the fixed text (like labels) in Bulgarian language then it will automatically will print in Bulgarian language?
    And what I have to do dynamic text (which I will read from the print program input data or data base tables) ? Is there any way for the translation for these dynamic texts?
    And I tried to put some labels in Bulgarian language in the smart form, but I am not able to see in those characters in the print preview in the portal. Its showing as some junk characters asu201D#u201D. But I am able to see in Spool (GUI, SP01). Is it because of the Bulgaria Language pack is not there in my system
    looking for your valuable inputs.
    Thank you ,
    Bharathi.

    Ok here´s how it works:
    In standard logic the output type gets drawn in communication language of supplier.
    so for a bulgarian supplier, with communication language Bulgarian the output type will get drawn in bulgarian.
    This means the bulgarian form will get processed and in the form text will be drawn in bulgarian language as well if you stayed with standard logic and draw texts with NAST-SPRAS.
    in your print program in the entry routine, not any entry routine but the one which is customized in TNAPR for this output type, place following coding:
    if nast-spras NE 'BG'.
      nast-spras = 'EN'.
    endif.
    that should do the whole job.
    and NO you have absoluteley NO chance to handle this in the form.
    If you arrived in the form you are already in a certain language and it too late to do what you want to.
    Edited by: Florian Kemmer on Jul 16, 2009 3:21 PM
    Edited by: Florian Kemmer on Jul 16, 2009 3:23 PM

  • Performance tuning in Smart form

    Hi,
    How to performance tuning in Smart form level
    Any tips available kindly send me any one .
    Thanks&Regards,
    Maya

    Hi,
    If you are using a customized print program to call the Smart Form...it is better to fetch most of the data as much as possible within it and pass it useing form interface/functional module interface.
    Then in the ABAP code where ever used, fallowing the ABAP coding performance tuning options like avoiding the MOVE-CORRESPONDING, INTO CORRESPONDING, using binary search for READ statement...etc...
    Regards,
    Bharat.

  • LBBIL_INVOICE. Billing Data: Transfer Structure to Smart Forms

    Hi...
    Can u please help me out in my query regading how the data passes to
    LBBIL_INVOICE. Billing Data: Transfer Structure to Smart Forms.
    I have an smartform which runs through VF01/VF02/ VF03 while pressing the print preview button.
    But if i try to run it directly from driver program, no data wil be displayed. Now i have the requirement to detach from VF03.. and make it to run directly from my driver program.
    what shall i have to do to achieve this. Should i have to take all the internal tables saparately or else can i use LBBIL_invoice structure itself.
    If i can use that structure itself, how to make the data flow into it.  Pls help me.
    In my codeing these includes were there. is there anything related , is the data passes because of these includes
    INCLUDE rlb_invoice_data_declare.
    definition of forms
    INCLUDE rlb_invoice_form01.
    INCLUDE rlb_print_forms.
    Pls clarify my dobut...
    Thanks in advance,
    Hema

    1. These are normal structure
    2. you can use anywhere but they designed for forms currently.
    3. Yes ,it works like it will look at NAST Table -> nast table will connect the TNAPR Table -> tnapr will have smart form print program.
        so smart form program calls smartform and it will show output
    4. you can create your own structure and use them into anywhere like report program or forms..
    5. you can see example simple form name SF_EXAMPLE_01 ,program name is SF_EXAMPLE_01 ,you can design your own form and print program.
    Thanks
    Seshu

  • 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.

  • Dispalying different field at SMART FORM report

    hi,
    i have created a code for displaying GRTXT i-e(Reason for Movement) in smart from from table T157E.This is the code:
    SELECT SINGLE GRTXT FROM T157E
      INTO GV_GRTXT
      WHERE GRUND eq '1'
      or    grund eq '2'
      or    grund eq '3'
      AND   SPRAS eq 'E'.
    where GV_GRTXT is a Global Definations at smart form.when i execute it,it gives me filed in GERMAN even tough i restricted it with SPRAS field and given me wrong REASON FOR MOVEMNT.for example at MIGO application it shows me INCOMPLETE
    with GRUND(Reason for Movement) 2 and at my report it shows me Qualität mangelhaft with GRUND(Reason for Movement)  2.
    Kindly tell me in the coding what is the mistake which had been made by me.
    Thanks.
    sappk25

    hi Suhas Saha,
    If i have to display GRUND (1,2,3) in my coding how can i display it because when i use AND conidition in coding it gives null values:
    SELECT SINGLE GRTXT FROM T157E
      INTO GV_GRTXT
      WHERE bwart eq '122'
      AND GRUND eq 001
      AND GRUND eq 002
      AND GRUND eq 003
      AND SPRAS eq 'E''.
    and if i used OR condition it gives me result in GERMAN i-e:
    SELECT SINGLE GRTXT FROM T157E
      INTO GV_GRTXT
      WHERE bwart eq '122'
      AND GRUND eq 001
      or GRUND eq 002
      or GRUND eq 003
      AND SPRAS eq 'E'
    and in the last if i used IN condition it gives the result of wrong REASON OF MOVEMENT at smart form which i verify from MIGO.i-e:
    SELECT SINGLE GRTXT FROM T157E
      INTO GV_GRTXT
      WHERE bwart eq '122'
      AND GRUND in (001,002,003)
      AND SPRAS eq 'E'
    Thanks,
    sappk25

  • How to debug the smart forms

    Hi All,
    Can any body guide me how to debug the smart forms.
    Thanks & Regards,
    Satish.

    Hi,
    The the best way to debug the form is to put a breakpoint in the function module generated by the smartform.
    Procedure:
    Open the smartform we want to debug.
    Goto Environment -> Function module name.
    Open the function module in SE37. From the menu GOTO -> main program. Open the last include.
    This incude contains the entire code ie the code we have written in initalization + form routines + program lines + sap generated code.
    Even we can search for the text nodes, folders, templates, tables, graphics, address nodes etc with their names.
    Put a breakpoint at any point you want.
    If we issue any doc which triggers this form, when the control reaches the break point it will stop.
    Please note that hard-coding the break points in the code ( Program lines ) is not recommended and it can´t be done unless if it is development server.
    So, always put a session break point in the related function module.
    We can use SFTRACE transaction to know the sequence of the control flow.
    If you want to break at each and every text that is printed on the output form put the break points in the forms.
    1. %write_text  to break at text element.
    2. %WRITE_TEXT_MODULE  to break at text module.
    3. %WRITE_INCLUDE_TEXT  to break at include text.
    Please put a break point at the first sy-subrc check.
    If the control reaches this point, you can find the name of the element in the varible NAME and the content in the text node in %TEXT.
    Its easy to understand the sequence of the printing if we put a breakpoint as stated above.
    Regards,
    Satish.

  • 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.

  • Smart form through email

    Hello eveyone,
      i have a requirment to send smart form to external email address such as [email protected] i have created form but have no idea how to send smart form to external address.
      we currently use just a code to send emails using SAPConnect but the text is hard coded.but now we want smart form to go out with email. does any one have any idea as what to do.
      any idea will be appreciated. but i am looking for specific answers.
       Regards

    This is all triggered by some program I am sure....so here goes....
    (1) program starts
    (2) does whatever logic to generate Smartform
    (3) output and store Smartform on server
    (4) call email function and set the appropriate to/from/subject/body info and make the Smartform the attachment
    (5) end of program
    This could even be scheduled with a variant to automate it.

  • Debugging Smart form-Shipemnt-Driver program

    Hai,
    I have created a smart form & output type configuration is done for shiptment.
    scenario 1:
    I set a break point in driver program.When I go to VT02n & entered the shipment number & follew the below steps in the VT02n scree.
    1.select Shipment->output->screen
      enter the ouput type in the displayed popup.
    now the control is going to the code where I set the bbreak point.This is fine.
    Scenario 2:
    I set a break point in driver program.When I go to VT02n & entered the shipment number.
    Hit enter.got the edit page screen.
    now GOTO->OUTPUT
    here I selected the relevant output & followed the procedure to repeat the output again.
    in this case the program not stopped at the place where I set the break point.
    Can any one have any idea this?Why is it happening?

    Hi Bhaskar,
    If you want to debug your smartform then do as follows;
    How to debug smartform in display mode for a particular node.
    Steps to debug a particular node:
    1. Execute the required smartform and take the function module name from there,do not enter into that function module.
    2. in SE38 search for programs by the function module name,
          for eg., if the func module name is /BCDWB/SF00000024 then  search parameter for f4 would be
      /BCDWB/SF00000024, this would give u 4 to 5 prgs in the search list,
       these are the include files which it create for the same smartform .
    out of this open the prg with the name  /BCDWB/LSF00000024F01 in SE38.
    3./BCDWB/LSF00000024F01 - this include file actualy containes the code that we type inside smartforms.
      every node or the windows that is added to the smartform is coded in FORM...ENDFORM ,
      inside this include file.      
    4. FORM look like this .
      FORM %C01.
    NODE CODE5 - this is the name of the node in smartform   
       for the prg line node 'code5',name of the node, coding is inside this form.
         so u can easily put a break point here at this point . 
      ENDFORM.
    like this for every node the FORM is created , u can search for required node and but a break point.
    Hope this information will be helpful to all.

Maybe you are looking for

  • DataGrid display problem

    Hi, I've given specific height to my grid, i've lots of records in the grid. Say, my given height to the grid display 5 records at a time. The problem is the partial of six record has also coming beneth the grid! Even I use grid.invalidateDisplayList

  • Security Sandbox Error

    I keep getting this sandbox violation when I try and stream this video using NetStream and NetConnect. I'm getting the path from an XML file. If i just pop the path into an FLVPlayback component, it works just fine. Any Ideas? Edited to hide IP.

  • LabVIEW 2010 SP1 - When will it be available?

    Any expected date of release? Thank you Dany Dany Allard Solved! Go to Solution.

  • How to Enable password saving in SAP Logon for Windows

    how to Enable password saving in SAP Logon for Windows

  • Wireless network connectivity issues after upgrading to Snow Leopard

    After upgrading to Snow Leopard (10.6.4) I find that my wireless network will not automatically connect to my router (Netgear DG834G) as it used to. First impressions are that the macbook is finding a number of wireless networks but wants to connect