Smartforms postprocessing

Hi,
Help is needed please :o)
I need to create a table of contents on the first page.
I can calculate how many lines will be expected, and set that space aside as blank lines on the first page.
But i don't know wich page it is printed on until end of processing (the text can vary in length).
During print of the main window i'm collecting the headers and the pageno they are printed on in an internal table.
Then i have defined a Final window. This window is placed on first page, but will not be processed until second pass.
My problem is now - this window can't expand. Is there anyway to change this windows size during run time?
Regards,
Vibeke

Hi,
Help is needed please :o)
I need to create a table of contents on the first page.
I can calculate how many lines will be expected, and set that space aside as blank lines on the first page.
But i don't know wich page it is printed on until end of processing (the text can vary in length).
During print of the main window i'm collecting the headers and the pageno they are printed on in an internal table.
Then i have defined a Final window. This window is placed on first page, but will not be processed until second pass.
My problem is now - this window can't expand. Is there anyway to change this windows size during run time?
Regards,
Vibeke

Similar Messages

  • Smartforms - Identify the page just before the last page

    Hi,
    I need to add OMR code into a Smartforms, I print my form in duplex mode, and my OMR code must be only in the odd page (1, 3, 5, 7 ...).
    In the OMR code, I must set the end of the grouping, this end occurs at the last odd page. But if the last page is pair (2 4 6 8 ...), I need to the the ending code to the page just before the end.
    So, I need to identify the page just before the last page.
    My problem is, when I debug the Smartforms, the SFSY-FORMPAGES contains the actual page, not the value of the last page.
    if someone have an idea ..
    Fred

    Maybe I found the solution :
    Note 359009 - Postprocessing and query of the total number of pages
    I check and make a return (if a day someone have the same problem)
    Fred

  • Solution manager Smartform in HTML format.

    Hi All,
       Here , I ahve a requirement, the smartform <b>CRM_SLFN_ORDER_SERVICE_01</b> is going to the service desk in PDF format as all the Output types in SCOT for Scripts and Smartforms have been configured as PDF. But I have to send it in HTML format.... is there any way other than coping the Class and modifying........
    if there is no way other than that PL. let me know how to modify the code to convert the output into HTML format......
    thank you,
    Girish.

    Hi,
    It is possible to send mail in html.
    Copy the Processing Class CL_DOC_PROCESSING_CRM_ORDER into own namespace (for example Z_CL_DOC_PROCESSING_CRM_ORDER)
    Create a new Processing Method (or copy the SAP Standard CRM_SRVORDER_EXEC_SMART_FROM) and insert (or replace) the following code:
    Z_CRM_SRVORDER_EXEC_SMARTFORM
    METHOD Z_CRM_SRVORDER_EXEC_SMART_FORM.
    INCLUDE: crm_direct.
      TYPES:
        SWC_OBJECT TYPE OBJ_RECORD.
      DATA:
            LS_CONTROL_PARAMETERS TYPE SSFCTRLOP.
    function name
      DATA: function_name TYPE rs38l_fnam,
            DUMMY(254)        TYPE C,
            ls_archive_index  TYPE  toa_dara,
            ls_orderadm_h     TYPE  crmt_output_orderadm_h_com,
            ls_activity_h     TYPE  crmt_output_activity_h_com,
            ls_opport_h       TYPE  crmt_output_opport_h_com,
            ls_orgman_h       TYPE  crmt_output_orgman_h_com,
            lt_partner_h      TYPE  crmt_output_partner_h_comt,
            ls_pricingdata_h  TYPE  crmt_output_pricingdata_h_com,
            ls_sales_h        TYPE  crmt_output_sales_h_com,
            ls_shipping_h     TYPE  crmt_output_shipping_h_com,
            lt_payplan_d_h    TYPE  crmt_output_payplan_d_h_comt,
            ls_customer_h     TYPE  crmt_output_customer_h_com,
            ls_cumulat_h      TYPE  crmt_output_cumulat_h_com,
            lt_billing_h      TYPE  crmt_output_billing_h_comt,
            lt_cancel_h       TYPE  crmt_output_cancel_h_comt,
            lt_appointment_h TYPE   crmt_output_appointment_h_comt,
            lt_billplan_d_h  TYPE   crmt_output_billplan_d_h_comt,
            lt_billplan_h    TYPE   crmt_output_billplan_h_comt,
            lt_status_d_h    TYPE   crmt_output_status_d_h_comt,
            lt_status_h      TYPE   crmt_output_status_h_comt,
            lt_srv_subject_h TYPE   crmt_output_srv_subject_h_comt,
            lt_srv_reason_h  TYPE   crmt_output_srv_reason_h_comt,
            lt_srv_result_h  TYPE   crmt_output_srv_result_h_comt,
            ls_acs_h         TYPE   crmt_acs_h_com,
            lt_srv_subject_i TYPE   crmt_output_srv_subject_h_comt,
            lt_srv_refobj_h  TYPE   crmt_output_srv_refobj_h_comt,
            lt_srv_refobj_i  TYPE   crmt_output_srv_refobj_h_comt,
            lt_orderadm_i    TYPE   crmt_output_orderadm_i_comt,
            lt_orgman_i      TYPE   crmt_output_orgman_i_comt,
            lt_pricingdata_i TYPE   crmt_output_pricingdata_i_comt,
            lt_pricing_i     TYPE   crmt_output_pricing_i_comt,
            lt_product_i     TYPE   crmt_output_product_i_comt,
            lt_sales_i       TYPE   crmt_output_sales_i_comt,
            lt_service_i       TYPE   crmt_output_service_i_comt,
            lt_shipping_i    TYPE   crmt_output_shipping_i_comt,
            lt_schedlin_i    TYPE   crmt_output_schedlin_i_comt,
            lt_customer_i    TYPE   crmt_output_customer_i_comt,
            lt_partner_i     TYPE   crmt_output_partner_i_comt,
            lt_item_cstics_i TYPE   crmt_item_cstics_tab,
            lt_billing_i     TYPE   crmt_output_billing_i_comt,
            lt_cancel_i      TYPE   crmt_output_cancel_i_comt,
            lt_finprod_i     TYPE   crmt_output_finprod_i_comt,
            lt_ordprp_i      TYPE   crmt_output_ordprp_i_comt,
            lt_appointment_i TYPE   crmt_output_appointment_i_comt,
            lt_billplan_d_i  TYPE   crmt_output_billplan_d_i_comt,
            lt_billplan_i    TYPE   crmt_output_billplan_i_comt,
            lt_orderadm_i_qt TYPE   crmt_output_orderadm_i_qt_comt,
            lt_orderadm_i_in TYPE   crmt_output_orderadm_i_in_comt,
            lt_schedlin_i_cf TYPE   crmt_output_schedlin_i_cf_comt,
            lt_status_i      TYPE   crmt_output_status_i_comt,
            lt_working_set_e_s_bbp TYPE /1cn/working_set_e_s_bbp_t,
            lv_language LIKE  sy-langu,
            lo_order TYPE REF TO cl_doc_crm_order,
            lv_object_guid TYPE crmt_object_guid,
            lv_status TYPE jstat,
            lt_status TYPE TABLE OF jstat,
            lv_error_tab_wrk TYPE ssferror,
            ls_output_options TYPE ssfcompop,
            lt_service_i_assi          TYPE   crmt_output_service_i_***_comt.
    fill internal structure for the output options
      ls_output_options = is_output_options.
    get the function name for this smart form
      CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
           EXPORTING
                formname           = ip_smart_form
    VARIANT            = ' '
    DIRECT_CALL        = ' '
           IMPORTING
                fm_name            = function_name
           EXCEPTIONS
                no_form            = 1
                no_function_module = 2
                OTHERS             = 3
      IF sy-subrc <> 0.
    add an error message to processing protocol
        MESSAGE i015(sppf_media) WITH ip_smart_form INTO dummy.
        CALL METHOD cl_log_ppf=>add_message
          EXPORTING
            ip_problemclass = '1'
            ip_handle       = ip_application_log.
        EXIT.
      ENDIF.
    determine the tables of the application
      CALL FUNCTION 'CRM_OUTPUT_SINGLE_READ'
        EXPORTING
          iv_object                 = io_appl_object
          iv_smart_form             = ip_smart_form
          ir_partner                = io_partner
        IMPORTING
          es_output_orderadm_h      = ls_orderadm_h
          es_output_activity_h      = ls_activity_h
          es_output_opport_h        = ls_opport_h
          es_output_orgman_h        = ls_orgman_h
          es_output_pricingdata_h   = ls_pricingdata_h
          es_output_sales_h         = ls_sales_h
          es_output_shipping_h      = ls_shipping_h
          et_output_partner_h       = lt_partner_h
          et_output_payplan_d_h     = lt_payplan_d_h
          es_output_customer_h      = ls_customer_h
          es_output_cumulat_h       = ls_cumulat_h
          et_output_billing_h       = lt_billing_h
          et_output_cancel_h        = lt_cancel_h
          et_output_appointment_h   = lt_appointment_h
          et_output_billplan_d_h    = lt_billplan_d_h
          et_output_billplan_h      = lt_billplan_h
          et_output_status_d_h      = lt_status_d_h
          et_output_status_h        = lt_status_h
          et_output_srv_subject_h   = lt_srv_subject_h
          et_output_srv_reason_h    = lt_srv_reason_h
          et_output_srv_result_h    = lt_srv_result_h
          et_output_srv_refobj_h    = lt_srv_refobj_h
          et_output_srv_refobj_i    = lt_srv_refobj_i
          et_output_srv_subject_i   = lt_srv_subject_i
          es_output_acs_h           = ls_acs_h
          et_output_orderadm_i      = lt_orderadm_i
          et_output_orgman_i        = lt_orgman_i
          et_output_pricingdata_i   = lt_pricingdata_i
          et_output_pricing_i       = lt_pricing_i
          et_output_product_i       = lt_product_i
          et_output_sales_i         = lt_sales_i
          et_output_service_i       = lt_service_i
          et_output_shipping_i      = lt_shipping_i
          et_output_schedlin_i      = lt_schedlin_i
          et_output_partner_i       = lt_partner_i
          et_item_cstics_i          = lt_item_cstics_i
          et_output_customer_i      = lt_customer_i
          et_output_billing_i       = lt_billing_i
          et_output_cancel_i        = lt_cancel_i
          et_output_finprod_i       = lt_finprod_i
          et_output_ordprp_i        = lt_ordprp_i
          et_output_appointment_i   = lt_appointment_i
          et_output_billplan_d_i    = lt_billplan_d_i
          et_output_billplan_i      = lt_billplan_i
          et_output_orderadm_i_qt   = lt_orderadm_i_qt
          et_output_orderadm_i_in   = lt_orderadm_i_in
          et_output_schedlin_i_cf   = lt_schedlin_i_cf
          et_output_status_i        = lt_status_i
          et_output_wrk_set_e_s_bbp = lt_working_set_e_s_bbp
          ev_language               = lv_language
          et_output_service_i_assi  = lt_service_i_assi.
    set mail title
      SELECT SINGLE caption INTO ls_output_options-tdtitle
        FROM stxfadmt WHERE
        formname = ip_smart_form AND
        langu    = lv_language.
      IF ls_output_options-tdtitle  IS INITIAL.
        SELECT SINGLE caption INTO ls_output_options-tdtitle
         FROM stxfadmt WHERE
         formname = ip_smart_form.
      ENDIF.
      REPLACE '&' WITH ls_orderadm_h-object_id
        INTO ls_output_options-tdtitle.
    *--language of smart form--
    determin here the language of the smart form
      ls_control_parameters = is_control_parameters.
      ls_control_parameters-langu = lv_language.
      CONSTANTS: C_GR_DIR TYPE TDTEXT VALUE 'MYGRAPHICS/'.      "#EC NOTEXT
      DATA:
        LS_XSFPARAM_LINE       TYPE SSFXSFP,
        LS_HTML                TYPE TRFRESULT,
        LT_GRAPHICS            TYPE TSF_XSF_GR.
    *SET SMARTFORM OUTPUT OPTIONS
      LS_OUTPUT_OPTIONS-XSFCMODE = 'X'.
      LS_OUTPUT_OPTIONS-XSF = 'X'.
      LS_OUTPUT_OPTIONS-XSFOUTMODE = 'A'.
      LS_OUTPUT_OPTIONS-XSFFORMAT = 'X'.
      LS_OUTPUT_OPTIONS-TDARMOD = '' .
      CLEAR LS_OUTPUT_OPTIONS-XSFOUTDEV.
      LS_XSFPARAM_LINE-NAME  = 'GRAPHICS'.                      "#EC NOTEXT
      LS_XSFPARAM_LINE-VALUE = 'EXTRACT'.                       "#EC NOTEXT
      APPEND LS_XSFPARAM_LINE TO LS_OUTPUT_OPTIONS-XSFPARS.
      LS_XSFPARAM_LINE-NAME  = 'GRAPHICS-DIRECTORY'.            "#EC NOTEXT
      LS_XSFPARAM_LINE-VALUE = C_GR_DIR.
      APPEND LS_XSFPARAM_LINE TO LS_OUTPUT_OPTIONS-XSFPARS.
      LS_XSFPARAM_LINE-NAME  = 'CONTENT-ID'.                    "#EC NOTEXT
      LS_XSFPARAM_LINE-VALUE = 'ENABLE'.                        "#EC NOTEXT
      APPEND LS_XSFPARAM_LINE TO LS_OUTPUT_OPTIONS-XSFPARS.
    SILENT MODE ON
      LS_OUTPUT_OPTIONS-TDIMMED = SPACE.
      LS_OUTPUT_OPTIONS-TDNEWID = SPACE.
      LS_CONTROL_PARAMETERS-NO_DIALOG = 'X'.                    "#EC NOTEXT
      LS_CONTROL_PARAMETERS-DEVICE = ''.  "EC NOTEXT
    call function to process smart form (old forms)
      CALL FUNCTION function_name
        EXPORTING
          archive_index        = is_archive_index
          archive_index_tab    = ct_archive_index_tab
          archive_parameters   = is_archive_parameters
          control_parameters   = ls_control_parameters
          mail_appl_obj        = is_mail_appl_obj
          mail_recipient       = is_mail_recipient
          mail_sender          = is_mail_sender
          output_options       = ls_output_options
          user_settings        = ip_user_settings
          orderadm_h           = ls_orderadm_h
          activity_h           = ls_activity_h
          opport_h             = ls_opport_h
          orgman_h             = ls_orgman_h
          partner_h            = lt_partner_h
          pricingdata_h        = ls_pricingdata_h
          sales_h              = ls_sales_h
          shipping_h           = ls_shipping_h
          payplan_d_h          = lt_payplan_d_h
          cumulat_h            = ls_cumulat_h
          customer_h           = ls_customer_h
          acs_h                = ls_acs_h
          billing_h            = lt_billing_h
          cancel_h             = lt_cancel_h
          appointment_h        = lt_appointment_h
          billplan_d_h         = lt_billplan_d_h
          billplan_h           = lt_billplan_h
          status_d_h           = lt_status_d_h
          status_h             = lt_status_h
          srv_subject_h        = lt_srv_subject_h
          srv_reason_h         = lt_srv_reason_h
          srv_result_h         = lt_srv_result_h
          srv_subject_i        = lt_srv_subject_i
          srv_refobj_h         = lt_srv_refobj_h
          srv_refobj_i         = lt_srv_refobj_i
          orderadm_i           = lt_orderadm_i
          orderadm_i_qt        = lt_orderadm_i_qt
          orgman_i             = lt_orgman_i
          pricingdata_i        = lt_pricingdata_i
          pricing_i            = lt_pricing_i
          product_i            = lt_product_i
          sales_i              = lt_sales_i
          service_i            = lt_service_i
          schedlin_i           = lt_schedlin_i
          schedlin_i_cf        = lt_schedlin_i_cf
          shipping_i           = lt_shipping_i
          partner_i            = lt_partner_i
          item_cstics_i        = lt_item_cstics_i
          customer_i           = lt_customer_i
          billing_i            = lt_billing_i
          cancel_i             = lt_cancel_i
          finprod_i            = lt_finprod_i
          ordprp_i             = lt_ordprp_i
          appointment_i        = lt_appointment_i
          billplan_d_i         = lt_billplan_d_i
          billplan_i           = lt_billplan_i
          status_i             = lt_status_i
          working_set_e_s_bbp  = lt_working_set_e_s_bbp
          language             = lv_language
          service_i_assi       = lt_service_i_assi
        IMPORTING
          document_output_info = es_document_output_info
          job_output_info      = es_job_output_info
          job_output_options   = es_job_output_options
        EXCEPTIONS
          output_canceled      = 1
          parameter_error      = 2
          OTHERS               = 3.
      IF sy-subrc = 0.
        DATA:
          LT_RETURN TYPE BAPIRET2_TAB,
          LT_RECEIVERS TYPE TABLE OF SOMLRECI1,
          LV_MAIL_SUBJECT TYPE  SO_OBJ_DES,
          LV_SEND_PARTNER TYPE BU_PARTNER.
    retrieve the sender and recipient from business objects
    provided by postprocessing framework
        DATA:
          LS_SENDER         TYPE SWC_OBJECT,
          LS_RECIPIENT      TYPE SWC_OBJECT,
          WA_RECEIVER       TYPE SOMLRECI1.
          SWC_CREATE_OBJECT LS_SENDER 'RECIPIENT' SPACE.
          SWC_OBJECT_FROM_PERSISTENT IS_MAIL_SENDER LS_SENDER.
          SWC_GET_PROPERTY LS_SENDER 'AddressString' LV_SEND_PARTNER.
        SWC_CREATE_OBJECT LS_RECIPIENT 'RECIPIENT' SPACE.
        SWC_OBJECT_FROM_PERSISTENT IS_MAIL_RECIPIENT LS_RECIPIENT.
        SWC_GET_PROPERTY LS_RECIPIENT 'AddressString' WA_RECEIVER-RECEIVER.
        SWC_GET_PROPERTY LS_RECIPIENT 'TypeId' WA_RECEIVER-REC_TYPE.
        WA_RECEIVER-COM_TYPE = 'INT'.                           "#EC NOTEXT
        APPEND WA_RECEIVER TO LT_RECEIVERS.
    Set Email Subject
      SELECT SINGLE caption INTO LV_MAIL_SUBJECT
        FROM stxfadmt WHERE
        formname = ip_smart_form AND
        langu    = lv_language.
      IF ls_output_options-tdtitle  IS INITIAL.
        SELECT SINGLE caption INTO LV_MAIL_SUBJECT
         FROM stxfadmt WHERE
         formname = ip_smart_form.
      ENDIF.
      REPLACE '&' WITH ls_orderadm_h-object_id
        INTO LV_MAIL_SUBJECT.
    ===========
        LS_HTML       = ES_JOB_OUTPUT_INFO-XMLOUTPUT-TRFRESULT.
        LT_GRAPHICS[] = ES_JOB_OUTPUT_INFO-XMLOUTPUT-XSFGR[].
        DATA: L_GRAPHIC       TYPE SSF_XSF_GR,
              HTML_DATA       TYPE TRFRESULT,
              GRAPHICS        TYPE TSF_XSF_GR,
              LV_SENT_TO_ALL  TYPE BOOLEAN,
              LV_SEND_ADDRESS TYPE ADR6-SMTP_ADDR,
              LI_SENDER       TYPE REF TO IF_SENDER_BCS,
              RECEIVER TYPE SOMLRECI1,
              LO_BCS          TYPE REF TO CL_BCS,
              LO_DOC_BCS      TYPE REF TO CL_DOCUMENT_BCS,
              LO_MIME_HELPER  TYPE REF TO CL_GBT_MULTIRELATED_SERVICE,
              LO_RECIPIENT    TYPE REF TO IF_RECIPIENT_BCS,
              L_FILENAME      TYPE STRING,
              LT_SOLI         TYPE SOLI_TAB,
              LT_SOLIX        TYPE SOLIX_TAB,
              LS_SOLI         TYPE SOLI,
              LS_SOLIX        TYPE SOLIX,
              L_HTML_RAW      LIKE LINE OF HTML_DATA-CONTENT,
              HTML_XSTR       TYPE XSTRING,
              HTML_STR        TYPE STRING,
              HTML_LEN        TYPE I,
              L_OFFSET        TYPE I,
              L_LENGTH        TYPE I,
              L_DIFF          TYPE I,
              L_CONTENT_ID    TYPE STRING,
              L_CONTENT_TYPE  TYPE W3CONTTYPE,
              L_OBJ_LEN       TYPE SO_OBJ_LEN,
              GR_XSTR         TYPE XSTRING,
              L_GR_RAW        TYPE BAPICONTEN,
              L_USERNAME      TYPE UNAME,
              L_MAIL_ADDRESS  TYPE AD_SMTPADR,
              WA_RETURN       TYPE BAPIRET2,
              LV_SEND_REQ_BCS TYPE REF TO CX_SEND_REQ_BCS,
              LV_ADDRESS_BCS  TYPE REF TO CX_ADDRESS_BCS,
              LV_GBT_MIME     TYPE REF TO CX_GBT_MIME,
              LV_BCOM_MIME    TYPE REF TO CX_BCOM_MIME,
              LV_DOCUMENT_BCS TYPE REF TO CX_DOCUMENT_BCS.
        CLEAR HTML_XSTR.
        LOOP AT LS_HTML-CONTENT INTO L_HTML_RAW.
          CONCATENATE HTML_XSTR L_HTML_RAW INTO HTML_XSTR IN BYTE MODE.
        ENDLOOP.
        HTML_XSTR = HTML_XSTR(LS_HTML-LENGTH).
        CALL FUNCTION 'SCP_TRANSLATE_CHARS'                     "#EC NOTEXT
          EXPORTING  INBUFF       = HTML_XSTR
                     INCODE       = '4110'       " UTF-8 "#EC NOTEXT
                   OUTCODE      = '0000'       " ACTUAL CODEPAGE
                     CSUBST       = 'X'                         "#EC NOTEXT
                     SUBSTC_SPACE = 'X'                         "#EC NOTEXT
          IMPORTING  OUTBUFF      = HTML_STR
                     OUTUSED      = HTML_LEN
          EXCEPTIONS OTHERS       = 1.
    CHANGE ENCODING UTF-8 TO LATIN1
        REPLACE ALL OCCURRENCES OF 'UTF-8' IN HTML_STR WITH 'iso-8859-1'
    IGNORING CASE.                                             "#EC NOTEXT
    *HACK THE HTML CODE GENERATED BY SMARTFORM TO MAKE THE
    *EXTERNAL IMAGES APPEAR AS <IMG> TAG IN HTML
      REPLACE ALL OCCURRENCES OF '&lt;IMG' IN HTML_STR WITH '<IMG' IGNORING
    CASE.                                                       "#EC NOTEXT
        REPLACE ALL OCCURRENCES OF '/&gt;' IN HTML_STR WITH '/>' IGNORING
    CASE.                                                      "#EC NOTEXT
        REPLACE ALL OCCURRENCES OF '&lt;/A&gt;' IN HTML_STR WITH '</A>'
              IGNORING CASE.                                    "#EC NOTEXT
        REPLACE ALL OCCURRENCES OF '&lt;' IN HTML_STR WITH '<'
              IGNORING CASE.                                    "#EC NOTEXT
        REPLACE ALL OCCURRENCES OF '&gt;' IN HTML_STR WITH '>'
              IGNORING CASE.                                    "#EC NOTEXT
        HTML_LEN = STRLEN( HTML_STR ).
        L_OFFSET = 0.
        L_LENGTH = 255.
        WHILE L_OFFSET < HTML_LEN.
          L_DIFF = HTML_LEN - L_OFFSET.
          IF L_DIFF > L_LENGTH.
            LS_SOLI-LINE = HTML_STR+L_OFFSET(L_LENGTH).
          ELSE.
            LS_SOLI-LINE = HTML_STR+L_OFFSET(L_DIFF).
          ENDIF.
          APPEND LS_SOLI TO LT_SOLI.
          ADD L_LENGTH TO L_OFFSET.
        ENDWHILE.
        CREATE OBJECT LO_MIME_HELPER.
        CALL METHOD LO_MIME_HELPER->SET_MAIN_HTML
          EXPORTING
            CONTENT     = LT_SOLI
          FILENAME    = 'SAPWEBFORM.HTM'                      "#EC NOTEXT
            DESCRIPTION =
               'SAP WEB FORM'.                                  "#EC NOTEXT
    *prepare the graphic content from the smartform
        LOOP AT LT_GRAPHICS INTO L_GRAPHIC.
          CLEAR GR_XSTR.
          LOOP AT L_GRAPHIC-CONTENT INTO L_GR_RAW.
            CONCATENATE GR_XSTR L_GR_RAW-LINE INTO GR_XSTR IN BYTE MODE.
          ENDLOOP.
          GR_XSTR = GR_XSTR(L_GRAPHIC-LENGTH).
          L_OFFSET = 0.
          L_LENGTH = 255.
          CLEAR LT_SOLIX[].
          WHILE L_OFFSET < L_GRAPHIC-LENGTH.
            L_DIFF = L_GRAPHIC-LENGTH - L_OFFSET.
            IF L_DIFF > L_LENGTH.
              LS_SOLIX-LINE = GR_XSTR+L_OFFSET(L_LENGTH).
            ELSE.
              LS_SOLIX-LINE = GR_XSTR+L_OFFSET(L_DIFF).
            ENDIF.
            APPEND LS_SOLIX TO LT_SOLIX.
            ADD L_LENGTH TO L_OFFSET.
          ENDWHILE.
          CONCATENATE C_GR_DIR L_GRAPHIC-GRAPHICS
           '.BMP' INTO L_FILENAME.                              "#EC NOTEXT
          CONCATENATE C_GR_DIR L_GRAPHIC-GRAPHICS
           '.BMP' INTO L_CONTENT_ID.                            "#EC NOTEXT
          L_CONTENT_TYPE = L_GRAPHIC-HTTPTYPE.
          L_OBJ_LEN      = L_GRAPHIC-LENGTH.
          CALL METHOD LO_MIME_HELPER->ADD_BINARY_PART
            EXPORTING
              CONTENT      = LT_SOLIX
            FILENAME     = L_FILENAME
              EXTENSION    = 'BMP'                              "#EC NOTEXT
              DESCRIPTION  = 'GRAPHIC IN BMP FORMAT'            "#EC NOTEXT
              CONTENT_TYPE = L_CONTENT_TYPE
              LENGTH       = L_OBJ_LEN
              CONTENT_ID   = L_CONTENT_ID.
        ENDLOOP.
        TRY.
            LO_DOC_BCS = CL_DOCUMENT_BCS=>CREATE_FROM_MULTIRELATED(
                                      I_SUBJECT          = LV_MAIL_SUBJECT
                                      I_MULTIREL_SERVICE = LO_MIME_HELPER ).
          CATCH CX_DOCUMENT_BCS INTO LV_DOCUMENT_BCS.
      ERROR HANDLING
            CLEAR WA_RETURN.
            WA_RETURN-TYPE = 'E'.                               "#EC NOTEXT
            MOVE LV_DOCUMENT_BCS->GET_LONGTEXT( ) TO WA_RETURN-MESSAGE.
            INSERT WA_RETURN INTO TABLE LT_RETURN.
            EXIT.
          CATCH CX_BCOM_MIME INTO LV_BCOM_MIME.
            CLEAR WA_RETURN.
            WA_RETURN-TYPE = 'E'.                               "#EC NOTEXT
            MOVE LV_BCOM_MIME->GET_LONGTEXT( ) TO WA_RETURN-MESSAGE.
            INSERT WA_RETURN INTO TABLE LT_RETURN.
            EXIT.
          CATCH CX_GBT_MIME INTO LV_GBT_MIME.
            CLEAR WA_RETURN.
            WA_RETURN-TYPE = 'E'.                               "#EC NOTEXT
            MOVE LV_GBT_MIME->GET_LONGTEXT( ) TO WA_RETURN-MESSAGE.
            INSERT WA_RETURN INTO TABLE LT_RETURN.
            EXIT.
        ENDTRY.
    REUSE THE CONTENT PREPARED FOR ALL RECEIVERS
        LOOP AT LT_RECEIVERS  INTO RECEIVER.
          L_MAIL_ADDRESS = RECEIVER-RECEIVER.
    CREATE SEND_REQUEST
          TRY.
              LO_BCS = CL_BCS=>CREATE_PERSISTENT( ).
              LO_BCS->SET_DOCUMENT( I_DOCUMENT = LO_DOC_BCS ).
            CATCH CX_SEND_REQ_BCS INTO LV_SEND_REQ_BCS.
              CLEAR WA_RETURN.
              WA_RETURN-TYPE = 'E'.                             "#EC NOTEXT
              MOVE LV_SEND_REQ_BCS->GET_LONGTEXT( ) TO WA_RETURN-MESSAGE.
              INSERT WA_RETURN INTO TABLE LT_RETURN.
              EXIT.
          ENDTRY.
    CREATE SENDER
          CLASS CL_CAM_ADDRESS_BCS DEFINITION LOAD.
          TRY.
              IF L_USERNAME NS '@'.                             "#EC NOTEXT
                L_USERNAME = LV_SEND_PARTNER .
                TRANSLATE L_USERNAME TO UPPER CASE. "#EC TRANSLANG
                LI_SENDER ?= CL_SAPUSER_BCS=>CREATE( L_USERNAME ).
              ELSE.
                DATA: L_FROM_MAIL_ADDRESS TYPE AD_SMTPADR.
                L_FROM_MAIL_ADDRESS = L_USERNAME.
                LI_SENDER ?=
                  CL_CAM_ADDRESS_BCS=>CREATE_INTERNET_ADDRESS(
                    I_ADDRESS_STRING = L_FROM_MAIL_ADDRESS ).
              ENDIF.
              CALL METHOD LO_BCS->SET_SENDER
                EXPORTING
                  I_SENDER = LI_SENDER.
            CATCH CX_ADDRESS_BCS INTO LV_ADDRESS_BCS.
    ERROR HANDLING
              CLEAR WA_RETURN.
              WA_RETURN-TYPE = 'E'.                             "#EC NOTEXT
              MOVE LV_ADDRESS_BCS->GET_LONGTEXT( ) TO WA_RETURN-MESSAGE.
              INSERT WA_RETURN INTO TABLE LT_RETURN.
              EXIT.
            CATCH CX_SEND_REQ_BCS INTO LV_SEND_REQ_BCS.
    FAILED TO ADD A RECIPIENT
              CLEAR WA_RETURN.
              WA_RETURN-TYPE = 'E'.                             "#EC NOTEXT
              MOVE LV_SEND_REQ_BCS->GET_LONGTEXT( ) TO WA_RETURN-MESSAGE.
              INSERT WA_RETURN INTO TABLE LT_RETURN.
              EXIT.
          ENDTRY.
    CREATE RECIPIENT
          TRY.
              LO_RECIPIENT = CL_CAM_ADDRESS_BCS=>CREATE_INTERNET_ADDRESS(
        I_ADDRESS_STRING = L_MAIL_ADDRESS ).
            CATCH CX_ADDRESS_BCS INTO LV_ADDRESS_BCS.
    ERROR HANDLING
              CLEAR WA_RETURN.
              WA_RETURN-TYPE = 'W'.                             "#EC NOTEXT
              MOVE LV_ADDRESS_BCS->GET_LONGTEXT( ) TO WA_RETURN-MESSAGE.
              INSERT WA_RETURN INTO TABLE LT_RETURN.
              CONTINUE.
          ENDTRY.
          TRY.
              LO_BCS->ADD_RECIPIENT( I_RECIPIENT = LO_RECIPIENT ).
            CATCH CX_SEND_REQ_BCS INTO LV_SEND_REQ_BCS.
    FAILED TO ADD A RECIPIENT
              CLEAR WA_RETURN.
              WA_RETURN-TYPE = 'W'.                             "#EC NOTEXT
              MOVE LV_SEND_REQ_BCS->GET_LONGTEXT( ) TO WA_RETURN-MESSAGE.
              INSERT WA_RETURN INTO TABLE LT_RETURN.
              CONTINUE.
          ENDTRY.
    SEND
          TRY.
    RECEIPTS ONLY FOR ERRORS
              CALL METHOD LO_BCS->SEND_REQUEST->SET_REQUESTED_STATUS
                EXPORTING
                  I_REQUESTED_STATUS =
                     'N'.                                       "#EC NOTEXT
              LV_SENT_TO_ALL = LO_BCS->SEND( ).
            CATCH CX_SEND_REQ_BCS INTO LV_SEND_REQ_BCS.
              CLEAR WA_RETURN.
              WA_RETURN-TYPE = 'E'.                             "#EC NOTEXT
              MOVE LV_SEND_REQ_BCS->GET_LONGTEXT( ) TO WA_RETURN-MESSAGE.
              INSERT WA_RETURN INTO TABLE LT_RETURN.
    ERROR HANDLING
              EXIT.
          ENDTRY.
        ENDLOOP.     "  END LOOP AT LT_RECEIVERS
        COMMIT WORK.
        ES_JOB_OUTPUT_INFO-OUTPUTDONE = 'X'.
    SET THE SUCCESS INFORMATION
        WA_RETURN-TYPE = 'I'.                                   "#EC NOTEXT
        WA_RETURN-MESSAGE = 'MAIL SENT SUCCESSFULLY'.           "#EC NOTEXT
        INSERT WA_RETURN INTO TABLE LT_RETURN.
    SET STATUS PRINTED INTO THE CRM ORDER
        CALL FUNCTION 'CRM_STATUS_SET_INTERN'
          EXPORTING
            IV_OBJNR            = LV_OBJECT_GUID
            IV_STATUS           = GC_STATUS-PRINTED
            XNOAUTO             = TRUE
          EXCEPTIONS
            OBJECT_NOT_FOUND    = 1
            STATUS_INCONSISTENT = 2
            STATUS_NOT_ALLOWED  = 3
            OTHERS              = 4.
      ELSE.
        CASE SY-SUBRC.
          WHEN 1.
            MESSAGE E016(SPPF_MEDIA) INTO DUMMY.
          WHEN 2.
            MESSAGE E017(SPPF_MEDIA) WITH FUNCTION_NAME INTO DUMMY.
          WHEN 3.
            MESSAGE E018(SPPF_MEDIA) WITH FUNCTION_NAME INTO DUMMY.
        ENDCASE.
        CALL METHOD CL_LOG_PPF=>ADD_MESSAGE
          EXPORTING
            IP_PROBLEMCLASS = '1'
            IP_HANDLE       = IP_APPLICATION_LOG.
      ENDIF.
    GET ERROR TABLE
      CALL FUNCTION 'SSF_READ_ERRORS'
        IMPORTING
          ERRORTAB = ET_ERROR_TAB.
    FILL ERROR INTO CRM_ORDER STATUS
      LOOP AT ET_ERROR_TAB INTO LV_ERROR_TAB_WRK
               WHERE MSGTY = GC_MSGTYPE-ERROR.
        CALL FUNCTION 'CRM_MESSAGE_COLLECT'
             EXPORTING
                  IV_CALLER_NAME     = GC_OBJECT_NAME-ORDER
                  IV_MSGNO           = LV_ERROR_TAB_WRK-MSGNO
                  IV_MSGID           = LV_ERROR_TAB_WRK-MSGID
                  IV_MSGTY           = LV_ERROR_TAB_WRK-MSGTY
                  IV_MSGV1           = LV_ERROR_TAB_WRK-MSGV1
                  IV_MSGV2           = LV_ERROR_TAB_WRK-MSGV2
                  IV_MSGV3           = LV_ERROR_TAB_WRK-MSGV3
                  IV_MSGV4           = LV_ERROR_TAB_WRK-MSGV4
                IV_MSGTYPE         = GC_MSGTYPE-WARNING
                  IV_MSGLEVEL        = GC_MSGLEVEL-ADMINISTRATOR
             EXCEPTIONS
                  NOT_FOUND          = 1
                  APPL_LOG_ERROR     = 2
                  OTHERS             = 3.
      ENDLOOP.
    ENDMETHOD.
    Now put the class and method into the action definition.
    Kind regards,
    Remy Piets

  • Filename in Webdynpro for a PDF created with Smartform

    Hi,
    I created a PDF with Smartform in my Webdynpro-Application.
    When I click the save button there is a default filename f.pdf .
    How can I change the filename?
    Regards
    Marcus Schug

    Hi Experts,
    any update on this?
    I am facing the same problem with ESS payslip (smartform/Hrform): my customer wants to have custom file name for download salery statements from the portal. Do you know how to change the default form name unknown.pdf to e.g.. "payslip_month_year"?
    I spent a lot of time to find any possibility to get and change the file name but without success till now.
    Please respond.
    Regards,
    Zdzislaw Kaczmarczyk
    Edited by: Zdzislaw Kaczmarczyk on Jun 14, 2010 4:41 PM

  • Sy-tabix for internal table in smartform

    Hi friends,
    How to capture the sy-tabix value for the entries in an internal table which has been looped into the loop of table node of a smartform?? I need to print something immedaitely after the end of the table
    For every record the value of sy-tabix is showing 1 !!
    Advance Thanks
    Aadarsh

    Hi Aadarsh,
    Give ur sy-tabix at the end of the loop.
    loop at itab.
    //table node populations.
    endloop.
    give a seperate loop for this.
    loop at itab.
    sy-tabix.
    endloop
    get the total no and print it after the table.
    If u r using do loop then give sy-index.
    Hope tihs helps u,
    Regards,
    Nagarajan.
    Message was edited by: Nagarajan Kumarappan

  • Dunning won't print to smartform

    Hey all,
    I've been trying to set up the Dunning process to print to the standard SAP dunning smartform (F150_DUNN_SF). Here's what I've done so far:
    1. Used transaction BF31 to change the function module for dunning to FI_PRINT_DUNNING_NOTICE_SMARTF.
    2. Used transaction SPRO under Financial Accounting->Accounts Receivable and Accounts Payable->Business Transactions->Dunning->Printout->Assign Dunning Forms to set the Form for our custon procedure for all 3 Dunning Levels to F150_DUNN_SF
    3. I then run the dunning report out of transaction F150. The Dunning list shows that the customer should receive the letter.
    When I try to print, the job terminates. When I check the job log in SM37, I get the following error: "Include text  does not exist (object TEXT, ID )" (Message class SSFCOMPOSER, Message No. 610). Everything looks like it is set up correctly. Did I miss a step?
    Thanks for your help!
    ~William

    Hi,
      Seems that the smartform that you are using has a standard text which is not avaliable check the smartform for standard texts being used and check if they are all avaliable in SO10.
    Regards,
    Himanshu

  • Smartforms: How 2 fire print & download 2 PDF simultaniously 4  my forms

    Dear Murugesh, Cristian
      The following is my piece of code which directly downloads my forms into PDF but not creating any spool 4 firing print ,
    1) I need the both to happen simultaniously .
    2) I need to include the o/p(either SAPScript/report o/p) as the Smartform pages with o/p of my Driver prog ,by calling another TCODE from my driver prog .
    Please throw some light on this .
    have a look into my code
    *Printing of Export Invoice, Packing List,Enclosure to Packing List &  *
    *Case Marking in one SMART FORMS Layout                                *
    REPORT ZSD_REP_MULTI_PRINT.
    TABLES :
        vbak,
        vbap,
        vbpa,
        vbfa,
        VBRK,
        VBRP,
        LIKP,
        LIPS,
        KONV,
        objk,
        tvko,
        ser01,
        sadr,
        equi,
        makt,
        mast,
        t005t,
        kna1,
        t001w,
        T001,
        ADRC,
        sscrfields,
        zpp_plcmi,      "Packing list history For Conf: Item data
        zplh,           "PACKING LIST HISTORY : HEADER DATA
        zpli.           "PACKING LIST HISTORY : ITEM DATA
    DATA: FM_NAME1  TYPE RS38L_FNAM,
          FM_NAME2  TYPE RS38L_FNAM,
          FM_NAME3  TYPE RS38L_FNAM,
          FM_NAME4  TYPE RS38L_FNAM,
          P_E_DEVTYPE TYPE RSPOPTYPE,
          P_JOB_OUTPUT_INFO TYPE SSFCRESCL OCCURS 2000 WITH HEADER LINE,
          T_OTF LIKE ITCOO OCCURS 0 WITH HEADER LINE,
          P_OUTPUT_OPTIONS TYPE SSFCOMPOP OCCURS 0 WITH HEADER LINE,
          P_CONTROL_PARAMETERS TYPE SSFCTRLOP OCCURS 0 WITH HEADER LINE ,
          P_DOC  LIKE DOCS OCCURS 2000 WITH HEADER LINE,
          P_LINES LIKE TLINE OCCURS 200,
          P_BIN_FILESIZE TYPE I,
          P_LANGUAGE TYPE SFLANGU,
          P_BIN_FILE TYPE XSTRING,
          OK_CODE LIKE SY-UCOMM.
    DATA: T_ITEM   TYPE  ZSD_TABL_LITEM,
          WA_ITEM  TYPE  ZSD_STRUCT_LITEM,
          T_ADRS   LIKE  ZSD_STRUCT_ADRS  OCCURS 0 WITH HEADER LINE,
          MSLINES  LIKE  TLINE OCCURS 1 WITH HEADER LINE,
          TIDNO    LIKE STXL-TDID,
          TNAME    LIKE STXL-TDNAME,
          TOBJT    LIKE STXL-TDOBJECT,
          SSORD    LIKE VBAK-VBELN,
          TOT      LIKE VBAK-NETWR,
          WORD     LIKE SPELL.
    SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.
    PARAMETERS: P_DELNO LIKE  LIKP-VBELN OBLIGATORY,
                P_INVNO LIKE  VBRK-VBELN OBLIGATORY,
                P_DATE  LIKE  SY-DATUM.
    SELECTION-SCREEN END   OF BLOCK blk1.
    AT SELECTION-SCREEN.
      CLEAR T_ADRS.
      REFRESH T_ITEM.
      T_ADRS-INVNO = P_INVNO.
      T_ADRS-INVDAT = P_DATE.
      SELECT SINGLE VBELV INTO  VBFA-VBELV
                             FROM  VBFA
                             WHERE VBELN = P_DELNO
                               AND VBTYP_N = 'J'  .
      SSORD = VBFA-VBELV.
    *Exporter's  Address
      SELECT SINGLE BUKRS_VF INTO  VBAK-BUKRS_VF
                             FROM  VBAK
                             WHERE VBELN = VBFA-VBELV.
      SELECT SINGLE   ADRNR
                      INTO T001-ADRNR
                      FROM T001
                      WHERE BUKRS = VBAK-BUKRS_VF.
      SELECT SINGLE NAME1 STREET CITY1 POST_CODE1 COUNTRY
             INTO (T_ADRS-NAME1,T_ADRS-STREET,T_ADRS-CITY1,
                   T_ADRS-POST_CODE1, ADRC-COUNTRY)
             FROM  ADRC
             WHERE ADDRNUMBER EQ T001-ADRNR.
      SELECT SINGLE LANDX
                    INTO T_ADRS-COUNTRY
                    FROM T005T
                    WHERE     SPRAS = 'EN'
                          AND LAND1 = ADRC-COUNTRY.
    *Consignee Address & Buyer Other Than Consignee
      SELECT SINGLE KUNNR KUNAG INTO (LIKP-KUNNR, LIKP-KUNAG)
                                FROM LIKP WHERE VBELN = P_DELNO.
      IF LIKP-KUNNR = LIKP-KUNAG.
        SELECT SINGLE NAME1 NAME2 STRAS ORT01 PSTLZ REGIO TELF1 ADRNR
                  INTO (T_ADRS-CNAME1, T_ADRS-CNAME2, T_ADRS-CSTREET,
                        T_ADRS-CCITY,  T_ADRS-CPCODE, T_ADRS-CREGIO,
                        T_ADRS-CTELF1, KNA1-ADRNR)
                  FROM  KNA1
                  WHERE KUNNR = LIKP-KUNNR.
        SELECT SINGLE COUNTRY INTO  ADRC-COUNTRY
                              FROM  ADRC
                              WHERE ADDRNUMBER EQ KNA1-ADRNR.
        SELECT SINGLE LANDX
                    INTO T_ADRS-CCOUNTRY
                    FROM T005T
                    WHERE     SPRAS = 'EN'
                          AND LAND1 = ADRC-COUNTRY.
        T_ADRS-ONAME1   =  T_ADRS-CNAME1 .
        T_ADRS-ONAME2   =  T_ADRS-CNAME2 .
        T_ADRS-OSTREET  =  T_ADRS-CSTREET .
        T_ADRS-OCITY    =  T_ADRS-CCITY.
        T_ADRS-OPCODE   =  T_ADRS-CPCODE .
        T_ADRS-OREGIO   =  T_ADRS-CREGIO.
        T_ADRS-OTELF1   =  T_ADRS-CTELF1 .
        T_ADRS-OCOUNTRY =  T_ADRS-CCOUNTRY.
      ELSE.
        SELECT SINGLE NAME1 NAME2 STRAS ORT01 PSTLZ REGIO TELF1 ADRNR
                  INTO (T_ADRS-CNAME1, T_ADRS-CNAME2, T_ADRS-CSTREET,
                        T_ADRS-CCITY,  T_ADRS-CPCODE, T_ADRS-CREGIO,
                        T_ADRS-CTELF1, KNA1-ADRNR)
                  FROM  KNA1
                  WHERE KUNNR = LIKP-KUNNR.
        SELECT SINGLE COUNTRY INTO ADRC-COUNTRY
                              FROM  ADRC
                              WHERE ADDRNUMBER EQ KNA1-ADRNR.
        SELECT SINGLE LANDX
                    INTO T_ADRS-CCOUNTRY
                    FROM T005T
                    WHERE     SPRAS = 'EN'
                          AND LAND1 = ADRC-COUNTRY.
    *Buyer Other than Consignee
        SELECT SINGLE NAME1 NAME2 STRAS ORT01 PSTLZ REGIO TELF1 ADRNR
                   INTO (T_ADRS-ONAME1, T_ADRS-ONAME2, T_ADRS-OSTREET,
                         T_ADRS-OCITY,  T_ADRS-OPCODE, T_ADRS-OREGIO,
                         T_ADRS-OTELF1, KNA1-ADRNR)
                   FROM  KNA1
                   WHERE KUNNR = LIKP-KUNAG.
        SELECT SINGLE COUNTRY INTO  ADRC-COUNTRY
                              FROM  ADRC
                              WHERE ADDRNUMBER EQ KNA1-ADRNR.
        SELECT SINGLE LANDX
                    INTO T_ADRS-OCOUNTRY
                    FROM T005T
                    WHERE     SPRAS = 'EN'
                          AND LAND1 = ADRC-COUNTRY.
      ENDIF.
    *Other's Ref
      TIDNO = 'Z071'.
      TNAME = SSORD.
      TOBJT = 'VBBK'.
      PERFORM FINDTEXT.
      LOOP AT MSLINES.
        T_ADRS-OREF = mslines-tdline(25).
        EXIT.
      ENDLOOP.
    *Buyer's Order No  Ref
      TIDNO = 'Z023'.
      TNAME = SSORD.
      TOBJT = 'VBBK'.
      PERFORM FINDTEXT.
      LOOP AT MSLINES.
        T_ADRS-BUYER = mslines-tdline(25).
        EXIT.
      ENDLOOP.
    *Exporter Ref
      TIDNO = 'Z072'.
      TNAME = SSORD.
      TOBJT = 'VBBK'.
      PERFORM FINDTEXT.
      LOOP AT MSLINES.
        T_ADRS-XPREF = mslines-tdline(25).
        EXIT.
      ENDLOOP.
    *Pre-Carraige By
      TIDNO = 'Z074'.
      TNAME = SSORD.
      TOBJT = 'VBBK'.
      PERFORM FINDTEXT.
      LOOP AT MSLINES.
        T_ADRS-PCRG = mslines-tdline(25).
        EXIT.
      ENDLOOP.
    *Place Of reciept by Pre-Carraige
      TIDNO = 'Z073'.
      TNAME = SSORD.
      TOBJT = 'VBBK'.
      PERFORM FINDTEXT.
      LOOP AT MSLINES.
        T_ADRS-PLPCRG = mslines-tdline(25).
        EXIT.
      ENDLOOP.
    *Vessel/Flight No
      TIDNO = 'Z075'.
      TNAME = SSORD.
      TOBJT = 'VBBK'.
      PERFORM FINDTEXT.
      LOOP AT MSLINES.
        T_ADRS-VFNO = mslines-tdline(25).
        EXIT.
      ENDLOOP.
    *Port Of Loading
      TIDNO = 'Z077'.
      TNAME = SSORD.
      TOBJT = 'VBBK'.
      PERFORM FINDTEXT.
      LOOP AT MSLINES.
        T_ADRS-PLOAD = mslines-tdline(25).
        EXIT.
      ENDLOOP.
    *Port Of Discharge
      TIDNO = 'Z076'.
      TNAME = SSORD.
      TOBJT = 'VBBK'.
      PERFORM FINDTEXT.
      LOOP AT MSLINES.
        T_ADRS-PDISG = mslines-tdline(25).
        EXIT.
      ENDLOOP.
    *Final Destination
      TIDNO = 'Z070'.
      TNAME = SSORD.
      TOBJT = 'VBBK'.
      PERFORM FINDTEXT.
      LOOP AT MSLINES.
        T_ADRS-FDEST = mslines-tdline(25).
        EXIT.
      ENDLOOP.
    *Terms Of Delivery & Payment
      TIDNO = 'Z080'.
      TNAME = SSORD.
      TOBJT = 'VBBK'.
      PERFORM FINDTEXT.
      LOOP AT MSLINES.
        T_ADRS-TERMS = mslines-tdline(50).
        EXIT.
      ENDLOOP.
    APPEND T_ADRS.
    *BODY SECTION FOR LINE ITEMS
      SELECT POSNR KWMENG VRKME WAERK
             INTO  (VBAP-POSNR, VBAP-KWMENG, VBAP-VRKME, VBAP-WAERK)
             FROM  VBAP
             WHERE VBELN = SSORD.
    *Mark/Case No
        TIDNO = '0002'.
        CONCATENATE SSORD
                    VBAP-POSNR
        INTO        TNAME.
        TOBJT = 'VBBP'.
        PERFORM FINDTEXT.
        LOOP AT MSLINES.
          WA_ITEM-MARKNO = mslines-tdline(40).
          EXIT.
        ENDLOOP.
    *Packing Type
        TIDNO = '0003'.
        CONCATENATE SSORD
                    VBAP-POSNR
        INTO        TNAME.
        TOBJT = 'VBBP'.
        PERFORM FINDTEXT.
        LOOP AT MSLINES.
          WA_ITEM-PACKTYP = mslines-tdline(40).
          EXIT.
        ENDLOOP.
    *Goods Description
        TIDNO = '0001'.
        CONCATENATE SSORD
                    VBAP-POSNR
        INTO        TNAME.
        TOBJT = 'VBBP'.
        PERFORM FINDTEXT.
        LOOP AT MSLINES.
          WA_ITEM-GDESC = mslines-tdline(40).
          EXIT.
        ENDLOOP.
    *Goods Quantity
        WA_ITEM-QTY = VBAP-KWMENG.
        WA_ITEM-VRKME = VBAP-VRKME.
    *Goods Rate
        SELECT SINGLE KNUMV INTO VBAK-KNUMV FROM VBAK WHERE VBELN = SSORD.
        SELECT SINGLE KBETR WAERS
                      INTO  (WA_ITEM-RATE, WA_ITEM-WAERS)
                      FROM  KONV
                      WHERE KNUMV = VBAK-KNUMV
                        AND KPOSN = VBAP-POSNR
                        AND KSCHL = 'PR00'.
    *Item Remarks
        TIDNO = 'ZREM'.
        CONCATENATE SSORD
                    VBAP-POSNR
        INTO        TNAME.
        TOBJT = 'VBBP'.
        PERFORM FINDTEXT.
        LOOP AT MSLINES.
          WA_ITEM-REMARK = mslines-tdline(40).
          EXIT.
        ENDLOOP.
    *Goods Amount
        WA_ITEM-AMOUNT = WA_ITEM-QTY * WA_ITEM-RATE.
        WA_ITEM-WAERK = VBAP-WAERK.
        TOT = TOT + WA_ITEM-AMOUNT.
        APPEND WA_ITEM TO T_ITEM.
      ENDSELECT.
      T_ADRS-TOT = TOT.
      CALL FUNCTION 'SPELL_AMOUNT'
       EXPORTING
         AMOUNT          = TOT
         CURRENCY        = VBAP-WAERK
      FILLER          = ' '
         LANGUAGE        = SY-LANGU
       IMPORTING
         IN_WORDS        = WORD
       EXCEPTIONS
         NOT_FOUND       = 1
         TOO_LARGE       = 2
         OTHERS          = 3
      IF SY-SUBRC <> 0.
           MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    *Gross Wieght
      TIDNO = 'Z078'.
      TNAME = SSORD.
      TOBJT = 'VBBK'.
      PERFORM FINDTEXT.
      LOOP AT MSLINES.
        T_ADRS-GWT = mslines-tdline(15).
        EXIT.
      ENDLOOP.
    *Net Wieght
      TIDNO = 'Z079'.
      TNAME = SSORD.
      TOBJT = 'VBBK'.
      PERFORM FINDTEXT.
      LOOP AT MSLINES.
        T_ADRS-NWT = mslines-tdline(15).
        EXIT.
      ENDLOOP.
      T_ADRS-TOT_WORDS = WORD-WORD.
      APPEND T_ADRS.
    START-OF-SELECTION.
      P_LANGUAGE = 'EN'.
      CALL   FUNCTION 'SSF_GET_DEVICE_TYPE'
        EXPORTING
          I_LANGUAGE    = P_LANGUAGE
          I_APPLICATION = 'SAPDEFAULT'
        IMPORTING
          E_DEVTYPE     = P_E_DEVTYPE.
      P_OUTPUT_OPTIONS-XSFCMODE = 'X'.
      P_OUTPUT_OPTIONS-XSF = SPACE.
      P_OUTPUT_OPTIONS-XDFCMODE = 'X'.
      P_OUTPUT_OPTIONS-XDF = SPACE.
      P_OUTPUT_OPTIONS-TDPRINTER = P_E_DEVTYPE.
      P_OUTPUT_OPTIONS-TDDEST = 'LOHP'.
      APPEND P_OUTPUT_OPTIONS.
      P_CONTROL_PARAMETERS-NO_DIALOG = 'X'.
      P_CONTROL_PARAMETERS-GETOTF = 'X'.
      P_CONTROL_PARAMETERS-NO_CLOSE = SPACE.
      APPEND  P_CONTROL_PARAMETERS.
      CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
        EXPORTING
          FORMNAME                 = 'ZSD_REP_MULTI_PRINT1'
      VARIANT                  = ' '
      DIRECT_CALL              = ' '
       IMPORTING
          FM_NAME                  = FM_NAME1
       EXCEPTIONS
          NO_FORM                  = 1
          NO_FUNCTION_MODULE       = 2
          OTHERS                   = 3
      IF SY-SUBRC <> 0.
          MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      CALL FUNCTION FM_NAME1
       EXPORTING
      ARCHIVE_INDEX              =
      ARCHIVE_INDEX_TAB          =
      ARCHIVE_PARAMETERS         =
        CONTROL_PARAMETERS         = P_CONTROL_PARAMETERS
      MAIL_APPL_OBJ              =
      MAIL_RECIPIENT             =
      MAIL_SENDER                =
        OUTPUT_OPTIONS             = P_OUTPUT_OPTIONS
        USER_SETTINGS              = 'X'
      IMPORTING
      DOCUMENT_OUTPUT_INFO       =
        JOB_OUTPUT_INFO            = P_JOB_OUTPUT_INFO
      JOB_OUTPUT_OPTIONS         =
      TABLES
        T_ADRS                     = T_ADRS
        T_ITEM                     = T_ITEM
    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.
      LOOP AT P_JOB_OUTPUT_INFO-OTFDATA INTO T_OTF.
        APPEND T_OTF.
      ENDLOOP.
      CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
        EXPORTING
          FORMNAME                 = 'ZSD_REP_MULTI_PRINT2'
      VARIANT                  = ' '
      DIRECT_CALL              = ' '
       IMPORTING
          FM_NAME                  = FM_NAME2
       EXCEPTIONS
          NO_FORM                  = 1
          NO_FUNCTION_MODULE       = 2
          OTHERS                   = 3
      IF SY-SUBRC <> 0.
          MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      CALL FUNCTION FM_NAME2
       EXPORTING
      ARCHIVE_INDEX              =
      ARCHIVE_INDEX_TAB          =
      ARCHIVE_PARAMETERS         =
        CONTROL_PARAMETERS         = P_CONTROL_PARAMETERS
      MAIL_APPL_OBJ              =
      MAIL_RECIPIENT             =
      MAIL_SENDER                =
        OUTPUT_OPTIONS             = P_OUTPUT_OPTIONS
        USER_SETTINGS              = 'X'
      IMPORTING
      DOCUMENT_OUTPUT_INFO       =
        JOB_OUTPUT_INFO            = P_JOB_OUTPUT_INFO
      JOB_OUTPUT_OPTIONS         =
      TABLES
        T_ADRS                     = T_ADRS
        T_ITEM                     = T_ITEM
    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.
      LOOP AT P_JOB_OUTPUT_INFO-OTFDATA INTO T_OTF.
        APPEND T_OTF.
      ENDLOOP.
    <b>SET PARAMETER  ID: 'AUN' FIELD SSORD ,"VBAK-VBELN VALUE ,
                       'APO' FIELD ITNO."VBAP-POSNR.
    CALL TRANSACTION 'ZPL3' AND SKIP FIRST SCREEN.
    IF SY-SUBRC NE 0.
       MESSAGE E001(ZQOTBANK).
    ENDIF.
    *SET PARAMETER  ID: 'AUN' FIELD VBAK-VBELN,
                     'APO' FIELD VBAP-POSNR.
    *CALL TRANSACTION 'ZA3C' AND SKIP FIRST SCREEN.
    *IF SY-SUBRC NE 0.
    MESSAGE E001(ZQOTBANK).
    *ENDIF.
    IMPORT (T_OTF2) FROM  MEMORY ID 'MEMID'.
    LOOP AT T_OTF2 INTO T_OTF2.
        APPEND T_OTF2 TO T_OTF.
    ENDLOOP.
    </b>
    CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
        EXPORTING
          FORMNAME                 = 'ZSD_REP_MULTI_PRINT4'
      VARIANT                  = ' '
      DIRECT_CALL              = ' '
       IMPORTING
          FM_NAME                  = FM_NAME4
       EXCEPTIONS
          NO_FORM                  = 1
          NO_FUNCTION_MODULE       = 2
          OTHERS                   = 3
      IF SY-SUBRC <> 0.
          MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      CALL FUNCTION FM_NAME4
       EXPORTING
      ARCHIVE_INDEX              =
      ARCHIVE_INDEX_TAB          =
      ARCHIVE_PARAMETERS         =
        CONTROL_PARAMETERS         = P_CONTROL_PARAMETERS
      MAIL_APPL_OBJ              =
      MAIL_RECIPIENT             =
      MAIL_SENDER                =
        OUTPUT_OPTIONS             = P_OUTPUT_OPTIONS
       USER_SETTINGS              = 'X'
      IMPORTING
      DOCUMENT_OUTPUT_INFO       =
        JOB_OUTPUT_INFO            = P_JOB_OUTPUT_INFO
      JOB_OUTPUT_OPTIONS         =
      TABLES
        T_ADRS                     = T_ADRS
        T_ITEM                     = T_ITEM
    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.
      LOOP AT P_JOB_OUTPUT_INFO-OTFDATA INTO T_OTF.
        APPEND T_OTF.
      ENDLOOP.
    CALL FUNCTION 'CONVERT_OTF_2_PDF'
      EXPORTING
        USE_OTF_MC_CMD               = 'X'
      ARCHIVE_INDEX                =
    IMPORTING
        BIN_FILESIZE                 = P_BIN_FILESIZE
    TABLES
        OTF                          = T_OTF
        DOCTAB_ARCHIVE               = P_DOC
        LINES                        = P_LINES
    EXCEPTIONS
       ERR_CONV_NOT_POSSIBLE        = 1
       ERR_OTF_MC_NOENDMARKER       = 2
       OTHERS                       = 3.
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    CALL FUNCTION 'GUI_DOWNLOAD'
      EXPORTING
        BIN_FILESIZE                    = P_BIN_FILESIZE
        FILENAME                        = 'C:\SD4.pdf'
        FILETYPE                        = 'BIN'
      APPEND                          = ' '
      WRITE_FIELD_SEPARATOR           = ' '
      HEADER                          = '00'
      TRUNC_TRAILING_BLANKS           = ' '
      WRITE_LF                        = 'X'
      COL_SELECT                      = ' '
      COL_SELECT_MASK                 = ' '
      DAT_MODE                        = ' '
      CONFIRM_OVERWRITE               = ' '
      NO_AUTH_CHECK                   = ' '
      CODEPAGE                        = ' '
      IGNORE_CERR                     = ABAP_TRUE
      REPLACEMENT                     = '#'
      WRITE_BOM                       = ' '
      TRUNC_TRAILING_BLANKS_EOL       = 'X'
    IMPORTING
       FILELENGTH                      = P_BIN_FILESIZE
      TABLES
        DATA_TAB                        = P_LINES
      FIELDNAMES                      =
    EXCEPTIONS
      FILE_WRITE_ERROR                = 1
      NO_BATCH                        = 2
      GUI_REFUSE_FILETRANSFER         = 3
      INVALID_TYPE                    = 4
      NO_AUTHORITY                    = 5
      UNKNOWN_ERROR                   = 6
      HEADER_NOT_ALLOWED              = 7
      SEPARATOR_NOT_ALLOWED           = 8
      FILESIZE_NOT_ALLOWED            = 9
      HEADER_TOO_LONG                 = 10
      DP_ERROR_CREATE                 = 11
      DP_ERROR_SEND                   = 12
      DP_ERROR_WRITE                  = 13
      UNKNOWN_DP_ERROR                = 14
      ACCESS_DENIED                   = 15
      DP_OUT_OF_MEMORY                = 16
      DISK_FULL                       = 17
      DP_TIMEOUT                      = 18
      FILE_NOT_FOUND                  = 19
      DATAPROVIDER_EXCEPTION          = 20
      CONTROL_FLUSH_ERROR             = 21
      OTHERS                          = 22
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    *&      Form  FINDTEXT
          text
    FORM FINDTEXT.
      REFRESH mslines.
      CALL FUNCTION 'READ_TEXT'
        EXPORTING
          client                  = sy-mandt
          id                      = tidno
          language                = sy-langu
          name                    = tname
          object                  = tobjt
        TABLES
          lines                   = mslines
        EXCEPTIONS
          id                      = 1
          language                = 2
          name                    = 3
          not_found               = 4
          object                  = 5
          reference_check         = 6
          wrong_access_to_archive = 7
          OTHERS                  = 8.
      DELETE mslines WHERE tdline IS INITIAL.
    ENDFORM.                    "FINDTEXT 
    Thnx
    moni
    Message was edited by: md monirujjaman
    Message was edited by: md monirujjaman

    Hello,
    I had thought that your 4th output of the Transaction is an output of a list and NOT from a SCRIPT.
    Now, if it is a SAP SCRIPT ourput, it is quite simple as you have to get the OTFDATA from the SCRIPT. But you may have to make the correction in your SAPSCRIPT driver program.
    Sample:
    CALL FUNCTION 'CLOSE_FORM'
         TABLES
              otfdata                  = te_otf_table
         EXCEPTIONS
              unopened                 = 1
              bad_pageformat_for_print = 2
              OTHERS                   = 3.
    Next you may EXPORT this OTF Data Internal Table to ABAP Memory.
    In your program where you are calling all the 3 forms + the transaction which outputs the SAPScript output, the exported data may be imported and appended into the MAIN Interal Table and single PDF could be generated.
    Secondly, The PRINT prieview of the SSFs could be generated by passing Export options of the SSF FM
    SAmple:
    ssfctrlop-no_dialog = ' '.
    CALL FUNCTION l_form
        EXPORTING
             control_parameters = ssfctrlop
             output_options     = ssfcompop
    I hope this helps you.
    Regards, Murugesh AS

  • How to print the superscript in smartform

    Hi gurus,
    Please tell me the procedure how to print the superscript in middle of the text displaying?
    when we are displaying the smartform its converted to some special character like & .
    please let me know procedure at the earliest
    Regards
    Raj

    Hi thanks for ur patience.
    see my requirment was to print TM as superscript for HLL ,already smartstyle is there, and also a character format with superscript is also defined.
    then aftet HLL how it prints as superscript.
    for HLL we are using another character format and for superscript we are using the another character format.
    If posiible send me the code to write in smartforms
    Regards
    RAj
    Points are awarded for useful answers.

  • How to print horizantal lines in smartforms?

    hi friends,
                       how to print horizantal lines in smartforms.
    waiting for ur valuble replies.
    Thanks,
    Kiran

    HI,
    If u use templates or table,then use borders to print the horizontal lines.
    Eg : Create template-->Table painter->click select pattern button->Display framed pattern->select 3rd one.it will display only horizantal lines.
    if want to print horizantal line under the text, then create one paragraph or character formate with Underline in smartstyles.Use that paragraph or character to u r text element

  • How to print a bullet in smartforms?

    Hi All,
    How to print a bullet in smartforms?
    I need it urgently.
    Any help would be appeciated.
    Regards,
    Mahesh.

    Hi,
    if i remember correct <600> is the value for bullets.
    you can insert this using sap system symbols ---> select bullets (before this place your cursor where ever you want the bullets.
    eg:
    P1  <600> test.
    Thanks,
    Sree.

  • How to print Check Box in smartform

    HI,
      How to print check box in smartforms. I am using Include Sap Symbol but in the print it is coming as #. Do we need to do any setting like we do for barcode?
    Thanks
    Raghavendra

    hi,
    u can print a check box in different ways.. by inserting symbols and making window as check box..
    once go through the thread u will get to k now differnt ways
    putting checkboxes in smartform?
    Please Close this thread.. when u r problem is solved. Reward all Helpful answers
    Regards
    Naresh Reddy K

  • Error while assigning Smartform in Sale Order

    Dear All,
    For taking the sale order printout, I do not want to create a SAP SCRIPT Form. So in NACE transaction, I have created one output type 'ZA01' and assigned a new Smartform to that output type.
    Now, after adding this output type in Sale Order, when I am going to print the sale order using ZA01 output type system is giving error that WRITE_FORM is invalid, START_FORM is missing.
    Please tell whether can we assign the Smartform to sale order or not. And if yes then how to correct the error.
    Kind Regards,
    Vishal

    Dear Raghu,
    I have checked it. And the entry is present in that table. But this error is coming only when I am giving Smartform. But system is not giving any error when I am giving script form.
    So the problem is only for SmartForm.
    Regards,
    Vishal

  • Error while Activating a Smartform!!

    This smartform was first developed in 4.6 version in german language. Now, its being done in ECC 6.0 version with changes in naming conventions of the fields and the hardcode values in the logic.
    After the changes made to the fields names or table names or hardcoded values. it resulted  with warnings. Now when i try to Activate it. It pops and information message stating that "A serious error has occurred
    The transaction had to be terminated
    Press the "Yes" button
    to download the data required for further support to the front end"
    If selected 'Yes' the error log is downloaded into a flat file which looks like stated as below " DZSD_INVOICE01_SF              GR%GRAPHIC1                             Hintergrundbild
    DZSD_INVOICE01_SF              PAFIRST                                 Erste Seite
    DZSD_INVOICE01_SF              GR%GRAPHIC4                             Neue Grafik 4
    DZSD_INVOICE01_SF              WIABB_LOGO                              ABB_LOGO
    DZSD_INVOICE01_SF              CD%CONDITION139                         Neue Alternative 139
    DZSD_INVOICE01_SF              OA%OUTATTRIB168                        
    DZSD_INVOICE01_SF              COSTEUERUNG_ABSENDERABGABE             
    DZSD_INVOICE01_SF              SEABSENDER_STANDARDAUSGABE             
    DZSD_INVOICE01_SF              CD%CONDITION228                         Neue Alternative 228
    DZSD_INVOICE01_SF              TISENDER_POSTFACH_DEUTSCH               Senderadresse Postfach
    DZSD_INVOICE01_SF              CD%CONDITION4                           Neue Alternative 4
    DZSD_INVOICE01_SF              OA%OUTATTRIB43                         
    DZSD_INVOICE01_SF              TISENDER_STRASSE_DEUTSCH                Senderadresse Strasse
    DZSD_INVOICE01_SF              CD%CONDITION5                           Neue Alternative 4
    DZSD_INVOICE01_SF              OA%OUTATTRIB52                         
    DZSD_INVOICE01_SF              TISENDER_POSTFACH_ENGLISCH              Senderadresse Postfach
    DZSD_INVOICE01_SF              CD%CONDITION239                         Neue ...."
    and so on...
    if selected 'NO', then an error message pops up stating " Internal error (illegal structure of data storage)" for which i need to either choose the 'EXIT' button which would take me out of the transaction.
    Please let me know as to resolve this problem and what could i do to get the smartform activated.
    Would appreciate an early response!!
    Thanks a lot!!,
    M. Keerthi Shanker

    Thanks to everyone here...
    Special Thanks to Jayanthi...
    I have changed the I_ITEMS's structure in Form Interfaces of the form.
    Now its working fine...
    Regards
    Pavan

  • Error while saving a smartform in pdf with action profile in service order

    Hi experts,
    I have a problem in saving a smartform which is converted in pdf.
    WHat i m doing is.
    The action profile is configured with new Z class and Z method. CL_DOC_PROCESSING_CRM_ORDER and CRM_SRVORDER_EXEC_SMART_FORM.
    But when i click the button in the Order, i m able to save the pdf in local drive, but an error is coming in the Order page(at the bottom) "Action could not be executed successfully".
    The action has been setup with "Printonly" and "Smartforms print" in customization.
    I have a dount whether, this action Printonly is only to print the smartform ??? Or can we use just to save the smartform in pdf.
    But when i remove the pdf conversion and save dialog and try to print it directly, Its printing the smartform. No errors are coming.
    But guys, please help me on this. I have tried all the tricks i know.
    I just want to save a smartform in pdf with action profile configured.
    Thanks in advance.
    <REMOVED BY MODERATOR>
    KK
    Edited by: Alvaro Tejada Galindo on Mar 19, 2008 4:26 PM

    Hi;
    Did you checked
    Queries Error With FRM-92101 In Many NLS Forms [ID 443922.1] << seems similar error like yours
    Forms FRM-92050, FRM-92100, FRM-92101, FRM-92102 Reference Guide [ID 444690.1]
    If its not help please enable trace
    How To Perform System Tracing For All Forms Runtime Processes? [ID 400144.1]
    Regard
    Helios

  • Error While Transporting Smartforms from 832 client to 834 client

    Hi
    I released my Smartform and Program...
    and i told our basis ppl to Transport the Code from 832 to 834
    but while transporting they are Getting this error
    Transport Control Program tp ended with error code 0212
    Errors:could not access file as supposed.
    My question is
    Y they r getting this error?
    is it link to Abap Program..
    bcz they are telling that there is a wrong in my Program...
    Bt my Program is working fine in 832 client...
    Can any one help me on this?

    Smitha,
    If you haven't done any changes in the program then there is no need but you are saying you have created error messages.Haven't you tagged the changes related to the smartform as well as the Error messages (ie message class) in the same request?
    If you have different requests one for error message and one for Smartform,then see to that both are transported.If smartform is using any of those error messages then you need to move the request which has got error messages first and then only the smartform related requests should be moved otherwise it will give a dump becuase by the time Smartform is moved to 834 the error messages request is not yet moved.Hence sequnece while moving the transport requests is very important.It is always advisable to have all the changes related to a program in one request.
    And added to that do check the link given by Gautam too.
    K.Kiran.

Maybe you are looking for