Need Help in Smartforms

Hi,
   Can any one tell me the step to create smartforms without driver Program? Can we create selection screen in smartform?       
Thanks and Regards,
Hetal

Hi Hetal,
You can't include a selection screen in the same way as an ABAP report, but you could call a function module to present a pop-up to the user to capture values.  Build a function module with a screen to enter the values needed, the function module calls this screen and returns the values entered.  You can then call this function module from the initialisation part of the smartform.
You'll still need something to call the form though......
Regards,
Nick

Similar Messages

  • It's very urgent i need help in smartforms

    I need your help for smartforms. I created a smartforms in SD for getting quotations. My problem is that when I run da report it is not executing & if i run smartforms it is giving error in da functional module as - In program "/1BCDWB/SAPLSF00000003 ", the following syntax error occurred:
    "The data object "I_HEADER" does not have a component called "BNAME"."
    and more over i need a code for my my user tht when i execute this form before displaying print or printpreview i should give a popup window asking da user whether to display item code or not then i should get da print or printpreview. when the user needs item code he can print as well if he don't it should not display. this da code i return in se38 editor. In smartforms i wrote code for getting company address etc. I did not write anything in initialization.
    source code
    *& Application      :  Sales & Distribution (SD)
    *& Description      :  This report will Print Sales Order Confirmation Using Smartform
    *& Transaction Code :
    *& Area Menu Code   :  ZSD
    *& Layout           :  ZSDORDERCONF
    *& Dev.Complited On :
    REPORT  ZSDR0004.
    INCLUDE: ZSDI0003.
          S U B R O U T I N E S                                         *
    FORM ENTRY USING RETURN_CODE TYPE I
                     US_SCREEN TYPE C.
      CLEAR RETCODE.
      XSCREEN = US_SCREEN.
      PERFORM PROCESSING.
      IF RETCODE NE 0.
        RETURN_CODE = 1.
      ELSE.
        RETURN_CODE = 0.
      ENDIF.
    ENDFORM.                    "ENTRY
          FORM PROCESSING                                               *
    FORM PROCESSING.
      PERFORM GET_DATA.
      CHECK RETCODE = 0.
      PERFORM PRINT_DATA.
      CHECK RETCODE = 0.
    ENDFORM.                    "PROCESSING
          FORM CHECK_REPEAT                                             *
          A text is printed, if it is a repeat print for the document.  *
    FORM CHECK_REPEAT.
      CLEAR REPEAT.
      SELECT * INTO *NAST FROM NAST WHERE KAPPL = NAST-KAPPL
                                    AND   OBJKY = NAST-OBJKY
                                    AND   KSCHL = NAST-KSCHL
                                    AND   SPRAS = NAST-SPRAS
                                    AND   PARNR = NAST-PARNR
                                    AND   PARVW = NAST-PARVW
                                    AND   NACHA BETWEEN '1' AND '4'.
        CHECK *NAST-VSTAT = '1'.
        REPEAT = 'X'.
        EXIT.
      ENDSELECT.
    ENDFORM.                    "CHECK_REPEAT
          FORM GET_DATA                                                 *
          General provision of data for the form                        *
    FORM GET_DATA.
      DATA: US_VEDA_VBELN     LIKE VEDA-VBELN.
      DATA: US_VEDA_POSNR_LOW LIKE VEDA-VPOSN.
      DATA: DA_MESS LIKE VBFS OCCURS 0 WITH HEADER LINE.
      DATA: DA_SUBRC LIKE SY-SUBRC,
            DA_DRAGR LIKE TVAG-DRAGR.
      DATA: DA_GANF(1) TYPE C,      "Print flag for billing correction
            DA_LANF(1) TYPE C.      "Print flag for billing correction
      CALL FUNCTION 'RV_PRICE_PRINT_GET_MODE'
        IMPORTING
          E_PRINT_MODE = PRICE_PRINT_MODE.
      IF PRICE_PRINT_MODE EQ CHARA.
        CALL FUNCTION 'RV_PRICE_PRINT_REFRESH'
          TABLES
            TKOMV = TKOMV.
      ENDIF.
      CLEAR KOMK.
      CLEAR KOMP.
      VBCO3-MANDT = SY-MANDT.
      VBCO3-SPRAS = NAST-SPRAS.
      VBCO3-VBELN = NAST-OBJKY.
      VBCO3-KUNDE = NAST-PARNR.
      VBCO3-PARVW = NAST-PARVW.
      CALL FUNCTION 'RV_DOCUMENT_PRINT_VIEW'
        EXPORTING
          COMWA                       = VBCO3
        IMPORTING
          KOPF                        = VBDKA
        TABLES
          POS                         = TVBDPA
          MESS                        = DA_MESS
        EXCEPTIONS
          FEHLER_BEI_DATENBESCHAFFUNG = 1.
      IF SY-SUBRC NE 0.
        PERFORM PROTOCOL_UPDATE.
        RETCODE = 1.
        EXIT.
      ELSE.
        LOOP AT DA_MESS.
          SY-MSGID = DA_MESS-MSGID.
          SY-MSGNO = DA_MESS-MSGNO.
          SY-MSGTY = DA_MESS-MSGTY.
          SY-MSGV1 = DA_MESS-MSGV1.
          SY-MSGV2 = DA_MESS-MSGV2.
          SY-MSGV3 = DA_MESS-MSGV3.
          SY-MSGV4 = DA_MESS-MSGV4.
          PERFORM PROTOCOL_UPDATE.
        ENDLOOP.
      ENDIF.
    *Get Header Data In I_HEADER Table.
      SELECT VBAKVBELN VBAKAUDAT VBAKKUNNR VBAKWAERK
             VBAKVKORG VBAKANGDT VBAKBNDDT VBAKVBTYP
             VBAKKNUMV VBAKKALSM VBAKNETWR VBAKVKBUR
             VBAKBNAME VBKDBSTKD VBKDBSTDK VBKDINCO1
             VBKDINCO2 VBKDZTERM
             INTO CORRESPONDING FIELDS OF TABLE I_HEADER
             FROM VBAK
             JOIN VBKD ON VBKDVBELN = VBAKVBELN
             WHERE VBAK~VBELN = VBCO3-VBELN.
    **Get Address Number For Company
      IF NOT I_HEADER[] IS INITIAL.
        READ TABLE I_HEADER INDEX 1.
        SELECT SINGLE BUKRS ADRNR INTO (COMPCD, ADDCOMP)
             FROM TVKO
             WHERE VKORG = I_HEADER-VKORG.
      ENDIF.
    fill address key --> necessary for emails
      ADDR_KEY-ADDRNUMBER = VBDKA-ADRNR.
      ADDR_KEY-PERSNUMBER = VBDKA-ADRNP.
      ADDR_KEY-ADDR_TYPE  = VBDKA-ADDRESS_TYPE.
    Fetch servicecontract-data and notice-data for head and position.
      US_VEDA_VBELN     = VBDKA-VBELN.
      US_VEDA_POSNR_LOW = POSNR_LOW.
      CALL FUNCTION 'SD_VEDA_GET_PRINT_DATA'
        EXPORTING
          I_DOCUMENT_NUMBER = US_VEDA_VBELN
          I_LANGUAGE        = SY-LANGU
          I_POSNR_LOW       = US_VEDA_POSNR_LOW
        TABLES
          PRINT_DATA_POS    = TKOMSERVP
          PRINT_DATA_HEAD   = TKOMSERVH
          PRINT_NOTICE_POS  = TKOMSERVPN
          PRINT_NOTICE_HEAD = TKOMSERVHN.
      PERFORM GET_CONTROLL_DATA.
      PERFORM SENDER.
      PERFORM CHECK_REPEAT.
      LOOP AT TVBDPA.
        VBDPA = TVBDPA.
        IF VBDPA-DRAGR EQ SPACE.           "Print rejected item?
          IF VBDPA-POSNR_NEU NE SPACE.     "Item
            PERFORM GET_ITEM_SERIALS.
            PERFORM GET_ITEM_CHARACTERISTICS.
            PERFORM GET_ITEM_BILLING_SCHEDULES.
            PERFORM GET_ITEM_PRICES.
            PERFORM GET_ITEM_ADDIS.
          ENDIF.
        ENDIF.
      ENDLOOP.
    ENDFORM.                    "GET_DATA
          FORM GET_ITEM_BILLING_SCHEDULES                               *
          In this routine the billing schedules are fetched from the    *
          database.                                                     *
    FORM GET_ITEM_BILLING_SCHEDULES.
      REFRESH TFPLTDR.
      CHECK NOT VBDPA-FPLNR IS INITIAL.
      CALL FUNCTION 'BILLING_SCHED_PRINTVIEW_READ'
        EXPORTING
          I_FPLNR    = VBDPA-FPLNR
          I_LANGUAGE = NAST-SPRAS
          I_VBELN    = VBDKA-VBELN
        TABLES
          ZFPLTDR    = TFPLTDR.
    ENDFORM.                    "GET_ITEM_BILLING_SCHEDULES
    *&      FORM  GET_ITEM_ADDIS
          Additionals data are fetched from database
    FORM GET_ITEM_ADDIS.
      CLEAR: TADDI_PRINT.
      CALL FUNCTION 'WTAD_ADDIS_IN_SO_PRINT'
           EXPORTING
                FI_VBELN              = VBDKA-VBELN
                FI_POSNR              = VBDPA-POSNR
              FI_LANGUAGE           = SY-LANGU
           TABLES
                FET_ADDIS_IN_SO_PRINT = TADDI_PRINT
           EXCEPTIONS
                ADDIS_NOT_ACTIVE      = 1
                NO_ADDIS_FOR_SO_ITEM  = 2
                OTHERS                = 3.
    ENDFORM.                               " GET_ITEM_ADDIS
          FORM GET_ITEM_CHARACTERISTICS                                 *
          In this routine the configuration data item is fetched from   *
          the database.                                                 *
    FORM GET_ITEM_CHARACTERISTICS.
      DATA DA_T_CABN LIKE CABN OCCURS 10 WITH HEADER LINE.
      DATA: BEGIN OF DA_KEY,
              MANDT LIKE CABN-MANDT,
              ATINN LIKE CABN-ATINN,
            END   OF DA_KEY.
      REFRESH TKOMCON.
      CHECK NOT VBDPA-CUOBJ IS INITIAL AND
                VBDPA-ATTYP NE VAR_TYP.
      CALL FUNCTION 'VC_I_GET_CONFIGURATION'
        EXPORTING
          INSTANCE      = VBDPA-CUOBJ
          LANGUAGE      = NAST-SPRAS
          PRINT_SALES   = CHARX
        TABLES
          CONFIGURATION = TKOMCON
        EXCEPTIONS
          OTHERS        = 4.
      RANGES : DA_IN_CABN FOR DA_T_CABN-ATINN.
    Beschreibung der Merkmale wegen Objektmerkmalen auf sdcom-vkond holen
      CLEAR DA_IN_CABN. REFRESH DA_IN_CABN.
      LOOP AT TKOMCON.
        DA_IN_CABN-OPTION = 'EQ'.
        DA_IN_CABN-SIGN   = 'I'.
        DA_IN_CABN-LOW    = TKOMCON-ATINN.
        APPEND DA_IN_CABN.
      ENDLOOP.
      CLEAR DA_T_CABN. REFRESH DA_T_CABN.
      CALL FUNCTION 'CLSE_SELECT_CABN'
       EXPORTING
            KEY_DATE                     = SY-DATUM
            BYPASSING_BUFFER             = ' '
            WITH_PREPARED_PATTERN        = ' '
            I_AENNR                      = ' '
       IMPORTING
            AMBIGUOUS_OBJ_CHARACTERISTIC =
         TABLES
              IN_CABN                      = DA_IN_CABN
              T_CABN                       = DA_T_CABN
         EXCEPTIONS
              NO_ENTRY_FOUND               = 1
              OTHERS                       = 2.
    Preisfindungsmerkmale / Merkmale auf VCSD_UPDATE herausnehmen
      SORT DA_T_CABN.
      LOOP AT TKOMCON.
        DA_KEY-MANDT = SY-MANDT.
        DA_KEY-ATINN = TKOMCON-ATINN.
        READ TABLE DA_T_CABN WITH KEY DA_KEY BINARY SEARCH.
        IF SY-SUBRC <> 0 OR
           ( ( DA_T_CABN-ATTAB = 'SDCOM' AND
              DA_T_CABN-ATFEL = 'VKOND'       ) OR
            ( DA_T_CABN-ATTAB = 'VCSD_UPDATE' ) ) .
          DELETE TKOMCON.
        ENDIF.
      ENDLOOP.
    ENDFORM.                    "GET_ITEM_CHARACTERISTICS
          FORM GET_ITEM_PRICES                                          *
          In this routine the price data for the item is fetched from   *
          the database.                                                 *
    FORM GET_ITEM_PRICES.
      CLEAR: KOMP,
             TKOMV.
      IF KOMK-KNUMV NE VBDKA-KNUMV OR
         KOMK-KNUMV IS INITIAL.
        CLEAR KOMK.
        KOMK-MANDT = SY-MANDT.
        KOMK-KALSM = VBDKA-KALSM.
        KOMK-KAPPL = PR_KAPPL.
        KOMK-WAERK = VBDKA-WAERK.
        KOMK-KNUMV = VBDKA-KNUMV.
        KOMK-KNUMA = VBDKA-KNUMA.
        KOMK-VBTYP = VBDKA-VBTYP.
        KOMK-LAND1 = VBDKA-LAND1.
        KOMK-VKORG = VBDKA-VKORG.
        KOMK-VTWEG = VBDKA-VTWEG.
        KOMK-SPART = VBDKA-SPART.
        KOMK-BUKRS = VBDKA-BUKRS_VF.
        KOMK-HWAER = VBDKA-WAERS.
        KOMK-PRSDT = VBDKA-ERDAT.
        KOMK-KURST = VBDKA-KURST.
        KOMK-KURRF = VBDKA-KURRF.
        KOMK-KURRF_DAT = VBDKA-KURRF_DAT.
      ENDIF.
      KOMP-KPOSN = VBDPA-POSNR.
      KOMP-KURSK = VBDPA-KURSK.
      KOMP-KURSK_DAT = VBDPA-KURSK_DAT.
      if vbdka-vbtyp ca 'HKNOT6'.
        if vbdpa-shkzg ca ' A'.
          komp-shkzg = 'X'.
        endif.
      else.
        if vbdpa-shkzg ca 'BX'.
          komp-shkzg = 'X'.
        endif.
      endif.
      IF PRICE_PRINT_MODE EQ CHARA.
        CALL FUNCTION 'RV_PRICE_PRINT_ITEM'
          EXPORTING
            COMM_HEAD_I = KOMK
            COMM_ITEM_I = KOMP
            LANGUAGE    = NAST-SPRAS
          IMPORTING
            COMM_HEAD_E = KOMK
            COMM_ITEM_E = KOMP
          TABLES
            TKOMV       = TKOMV
            TKOMVD      = TKOMVD.
      ELSE.
        CALL FUNCTION 'RV_PRICE_PRINT_ITEM_BUFFER'
          EXPORTING
            COMM_HEAD_I = KOMK
            COMM_ITEM_I = KOMP
            LANGUAGE    = NAST-SPRAS
          IMPORTING
            COMM_HEAD_E = KOMK
            COMM_ITEM_E = KOMP
          TABLES
            TKOMV       = TKOMV
            TKOMVD      = TKOMVD.
      ENDIF.
    ENDFORM.                    "GET_ITEM_PRICES
          FORM GET_HEADER_PRICES                                        *
          In this routine the price data for the header is fetched from *
          the database.                                                 *
    FORM GET_HEADER_PRICES.
      LOOP AT TVBDPA.
        CALL FUNCTION 'SD_TAX_CODE_MAINTAIN'
          EXPORTING
            KEY_KNUMV           = VBDKA-KNUMV
            KEY_KPOSN           = TVBDPA-POSNR
            I_APPLICATION       = ' '
            I_PRICING_PROCEDURE = VBDKA-KALSM
          TABLES
            XKOMV               = TKOMV.
      ENDLOOP.
      IF PRICE_PRINT_MODE EQ CHARA.
        CALL FUNCTION 'RV_PRICE_PRINT_HEAD'
          EXPORTING
            COMM_HEAD_I = KOMK
            LANGUAGE    = NAST-SPRAS
          IMPORTING
            COMM_HEAD_E = KOMK
          TABLES
            TKOMV       = TKOMV
            TKOMVD      = TKOMVD.
      ELSE.
        CALL FUNCTION 'RV_PRICE_PRINT_HEAD_BUFFER'
          EXPORTING
            COMM_HEAD_I = KOMK
            LANGUAGE    = NAST-SPRAS
          IMPORTING
            COMM_HEAD_E = KOMK
          TABLES
            TKOMV       = TKOMV
            TKOMVD      = TKOMVD.
      ENDIF.
    ENDFORM.                    "GET_HEADER_PRICES
          FORM PRINT_DATA                                               *
          Print Quotation                                               *
    FORM PRINT_DATA.
      DATA: ls_control       TYPE ssfctrlop.
      data: OUTPUT_OPTIONS TYPE  SSFCOMPOP,cf_retcode type sy-subrc.
      DATA: ls_print_data_to_read TYPE lbbil_print_data_to_read.
      DATA: ls_addr_key           LIKE addr_key.
      DATA: ls_dlv-land           LIKE vbrk-land1.
      DATA: ls_job_info           TYPE ssfcrescl.
      DATA: ls_control_param      TYPE ssfctrlop.
      DATA: ls_composer_param     TYPE ssfcompop.
      DATA: ls_recipient          TYPE swotobjid.
      DATA: ls_sender             TYPE swotobjid.
      DATA: NAST_ANZAL LIKE NAST-ANZAL.      "Number of outputs (Orig. + Cop.)
      DATA: NAST_TDARMOD LIKE NAST-TDARMOD.  "Archiving only one time
      DATA: ls_bil_invoice TYPE lbbil_invoice.
      SELECT SINGLE SFORM INTO LF_FORMNAME
            FROM TNAPR
            WHERE KSCHL = NAST-KSCHL
            AND   NACHA = NAST-NACHA.
    *IF NAST-KSCHL = 'ZORD'.
      lf_formname = 'ZSDORDERCONF'.
    *ELSEIF NAST-KSCHL = 'ZOR1'.
      lf_formname = 'ZSDORDERCONF'.
    *ELSEIF NAST-KSCHL = 'ZOR2'.
      lf_formname = 'ZCSORDERCONF'.
      ENDIF.
    determine smartform function module for invoice
      CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
        EXPORTING
          formname           = lf_formname
        IMPORTING
          fm_name            = lf_fm_name
        EXCEPTIONS
          no_form            = 1
          no_function_module = 2
          OTHERS             = 3.
      IF sy-subrc <> 0.
      ENDIF.
      READ TABLE I_HEADER INDEX 1.
    ls_controL-no_dialog = 'X'.
    if sy-ucomm = 'VIEW'.
    LS_CONTROL-PREVIEW = 'X'.
    endif.
      CALL FUNCTION LF_FM_NAME
        EXPORTING
          control_parameters = ls_control
          OUTPUT_OPTIONS     = OUTPUT_OPTIONS
          SO_VBELN           = I_HEADER-VBELN
          SO_AUDAT           = I_HEADER-AUDAT
          SO_REPEAT          = REPEAT
          SO_TYPE            = I_HEADER-VBTYP
          SO_CADD            = ADDCOMP
          SO_CCODE           = COMPCD
        TABLES
          I_HEADER           = I_HEADER
          TKOMV              = TKOMV
          I_ITEM             = TVBDPA
          I_XDATA            = I_XDATA
        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.
    ENDFORM.                    "PRINT_DATA
          FORM PROTOCOL_UPDATE                                          *
          The messages are collected for the processing protocol.       *
    FORM PROTOCOL_UPDATE.
      CHECK XSCREEN = SPACE.
      CALL FUNCTION 'NAST_PROTOCOL_UPDATE'
        EXPORTING
          MSG_ARBGB = SYST-MSGID
          MSG_NR    = SYST-MSGNO
          MSG_TY    = SYST-MSGTY
          MSG_V1    = SYST-MSGV1
          MSG_V2    = SYST-MSGV2
          MSG_V3    = SYST-MSGV3
          MSG_V4    = SYST-MSGV4
        EXCEPTIONS
          OTHERS    = 1.
    ENDFORM.                    "PROTOCOL_UPDATE
          FORM SENDER                                                   *
          This routine determines the address of the sender (Table VKO) *
    FORM SENDER.
      SELECT SINGLE * FROM TVKO  WHERE VKORG = VBDKA-VKORG.
      IF SY-SUBRC NE 0.
        SYST-MSGID = 'VN'.
        SYST-MSGNO = '203'.
        SYST-MSGTY = 'E'.
        SYST-MSGV1 = 'TVKO'.
        SYST-MSGV2 = SYST-SUBRC.
        PERFORM PROTOCOL_UPDATE.
        EXIT.
      ENDIF.
      CLEAR GV_FB_ADDR_GET_SELECTION.
      GV_FB_ADDR_GET_SELECTION-ADDRNUMBER = TVKO-ADRNR.         "SADR40A
      CALL FUNCTION 'ADDR_GET'
        EXPORTING
          ADDRESS_SELECTION = GV_FB_ADDR_GET_SELECTION
          ADDRESS_GROUP     = 'CA01'
        IMPORTING
          SADR              = SADR
        EXCEPTIONS
          OTHERS            = 01.
      IF SY-SUBRC NE 0.
        CLEAR SADR.
      ENDIF.                                                    "SADR40A
      VBDKA-SLAND = SADR-LAND1.
      IF SY-SUBRC NE 0.
        SYST-MSGID = 'VN'.
        SYST-MSGNO = '203'.
        SYST-MSGTY = 'E'.
        SYST-MSGV1 = 'SADR'.
        SYST-MSGV2 = SYST-SUBRC.
        PERFORM PROTOCOL_UPDATE.
      ENDIF.
    SELECT SINGLE * FROM TVBUR  WHERE VKBUR = VBDKA-VKBUR.
    IF SY-SUBRC NE 0.
       SYST-MSGID = 'VN'.
       SYST-MSGNO = '203'.
       SYST-MSGTY = 'E'.
       SYST-MSGV1 = 'TVBUR'.
       SYST-MSGV2 = SYST-SUBRC.
       PERFORM PROTOCOL_UPDATE.
    ENDIF.
    ENDFORM.                    "SENDER
    *&      Form  GET_ITEM_SERIALS
          This routine give back the serialnumbers of salesdocument      *
          position. The numbers are processed as print-lines in the      *
          table KOMSER_PRINT.                                            *
    -->  US_VBELN  Salesdocument
    -->  US_POSNR  Position of the salesdocument
    FORM GET_ITEM_SERIALS.
      DATA: KEY_DATA LIKE RSEROB,
            SERNOS LIKE RSEROB OCCURS 0 WITH HEADER LINE.
      KEY_DATA-TASER = 'SER02'.
      KEY_DATA-SDAUFNR = VBDKA-VBELN.
      KEY_DATA-POSNR = VBDPA-POSNR.
      IF KEY_DATA-SDAUFNR IS INITIAL AND NOT
         KEY_DATA-POSNR IS INITIAL.
    beim Anlegen ist Belegnummer leer - deshalb Dummy-Belegnummer
        KEY_DATA-SDAUFNR = CHAR$.
      ENDIF.
    Read the Serialnumbers of a Position.
      REFRESH: TKOMSER,
               TKOMSER_PRINT.
      CALL FUNCTION 'GET_SERNOS_OF_DOCUMENT'
        EXPORTING
          KEY_DATA            = KEY_DATA
        TABLES
          SERNOS              = SERNOS
        EXCEPTIONS
          KEY_PARAMETER_ERROR = 1
          NO_SUPPORTED_ACCESS = 2
          NO_DATA_FOUND       = 3
          OTHERS              = 4.
      IF SY-SUBRC NE 0 AND
         SY-SUBRC NE 3.
        PERFORM PROTOCOL_UPDATE.
      ENDIF.
      CHECK SY-SUBRC EQ 0.
    Serialnummern übergeben
      TKOMSER-VBELN = SERNOS-SDAUFNR.
      TKOMSER-POSNR = SERNOS-POSNR.
      LOOP AT SERNOS.
        TKOMSER-SERNR = SERNOS-SERNR.
        APPEND TKOMSER.
      ENDLOOP.
    Process the stringtable for Printing.
    CALL FUNCTION 'PROCESS_SERIALS_FOR_PRINT'
          EXPORTING
               I_BOUNDARY_LEFT             = '(_'
               I_BOUNDARY_RIGHT            = '_)'
               I_SEP_CHAR_STRINGS          = ',_'
               I_SEP_CHAR_INTERVAL         = '_-_'
               I_USE_INTERVAL              = 'X'
               I_BOUNDARY_METHOD           = 'C'
               I_LINE_LENGTH               = 50
               I_NO_ZERO                   = 'X'
               I_ALPHABET                  = SY-ABCDE
               I_DIGITS                    = '0123456789'
               I_SPECIAL_CHARS             = '-'
               I_WITH_SECOND_DIGIT         = ' '
          TABLES
               SERIALS                     = TKOMSER
               SERIALS_PRINT               = TKOMSER_PRINT
          EXCEPTIONS
               BOUNDARY_MISSING            = 01
               INTERVAL_SEPARATION_MISSING = 02
               LENGTH_TO_SMALL             = 03
               INTERNAL_ERROR              = 04
               WRONG_METHOD                = 05
               WRONG_SERIAL                = 06
               TWO_EQUAL_SERIALS           = 07
               SERIAL_WITH_WRONG_CHAR      = 08
               SERIAL_SEPARATION_MISSING   = 09.
    IF SY-SUBRC NE 0.
       PERFORM PROTOCOL_UPDATE.
    ENDIF.
    ENDFORM.                               " GET_ITEM_SERIALS
    *eject
    *&      Form  GET_CONTROLL_DATA
          Checks if servicedata for the header exists.                   *
          Checks if servicedata for the position exists.                 *
          Checks if noticedata for the header exists.                    *
          Checks if noticedata for the position exists.                  *
    FORM GET_CONTROLL_DATA.
      DATA: LINES TYPE I.
    Exists servicedata for the header?
      DESCRIBE TABLE TKOMSERVH LINES LINES.
      IF LINES GT 0.
        STEU-VDKEX = 'X'.
      ENDIF.
    Exists servicedata for the position?
      DESCRIBE TABLE TKOMSERVP LINES LINES.
      IF LINES GT 0.
        STEU-VDPEX = 'X'.
      ENDIF.
    Exists noticedata for the header?
      DESCRIBE TABLE TKOMSERVHN LINES LINES.
      IF LINES GT 0.
        STEU-KBKEX = 'X'.
      ENDIF.
    Exists noticedata for the position?
      DESCRIBE TABLE TKOMSERVPN LINES LINES.
      IF LINES GT 0.
        STEU-KBPEX = 'X'.
      ENDIF.
    ENDFORM.                               " GET_CONTROLL_DATA
    *eject
    *&      Form  get_fax_land
          text
         -->P_NAST_TLAND  text
    form get_fax_land using   p_nast_land like nast-tland.
      DATA  L_land    like nast-tland .
      clear L_land.
      IF NOT addr_key-addrnumber IS INITIAL.
        CALL FUNCTION 'WFMC_FAXNUMBER_FOR_ADDRESS'
          EXPORTING
            adrnr          = addr_key-addrnumber
          IMPORTING
            tland          = L_land
          EXCEPTIONS
            addr_not_exist = 1
            OTHERS         = 2.
        IF sy-subrc = 0 AND NOT L_land IS INITIAL.
          p_nast_land = L_land.
        ENDIF.
      ENDIF.
    endform.                    " get_fax_land
    *&      Form  get_data1
          text
         -->P_LS_PRINT_DATA_TO_READ  text
         <--P_LS_ADDR_KEY  text
         <--P_LS_DLV_LAND  text
         <--P_LS_BIL_INVOICE  text
         <--P_CF_RETCODE  text
    FORM get_data1
         USING    IS_PRINT_DATA_TO_READ TYPE LBBIL_PRINT_DATA_TO_READ
         CHANGING CS_ADDR_KEY           LIKE ADDR_KEY
                  CS_DLV-LAND           LIKE VBRK-LAND1
                  CS_BIL_INVOICE        TYPE LBBIL_INVOICE
                  CF_RETCODE.
      IF NAST-OBJKY+10 NE SPACE.
        NAST-OBJKY = NAST-OBJKY+16(10).
      ELSE.
        NAST-OBJKY = NAST-OBJKY.
      ENDIF.
    read print data
    CALL FUNCTION 'LB_BIL_INV_OUTP_READ_PRTDATA'
       EXPORTING
         IF_BIL_NUMBER         = NAST-OBJKY
         IF_PARVW              = NAST-PARVW
         IF_PARNR              = NAST-PARNR
         IF_LANGUAGE           = NAST-SPRAS
         IS_PRINT_DATA_TO_READ = IS_PRINT_DATA_TO_READ
       IMPORTING
         ES_BIL_INVOICE        = CS_BIL_INVOICE
       EXCEPTIONS
         RECORDS_NOT_FOUND     = 1
         RECORDS_NOT_REQUESTED = 2
         OTHERS                = 3.
    IF SY-SUBRC <> 0.
    error handling
       CF_RETCODE = SY-SUBRC.
       PERFORM PROTOCOL_UPDATE.
    ENDIF.
    get nast partner adress for communication strategy
      PERFORM GET_ADDR_KEY USING    CS_BIL_INVOICE-HD_ADR
                           CHANGING CS_ADDR_KEY.
    get delivery land
      PERFORM GET_DLV-LAND USING    CS_BIL_INVOICE-HD_GEN
                           CHANGING CS_DLV-LAND.
    ENDFORM.                                                    " get_data1
    *&      Form  GET_ADDR_KEY
          text
         -->P_CS_BIL_INVOICE_HD_ADR  text
         <--P_CS_ADDR_KEY  text
    FORM GET_ADDR_KEY   USING    IT_HD_ADR   TYPE LBBIL_INVOICE-HD_ADR
                      CHANGING CS_ADDR_KEY LIKE ADDR_KEY.
      FIELD-SYMBOLS -ADDRESS_TYPE.
      ENDIF.
    ENDFORM.                    " GET_ADDR_KEY
    *&      Form  GET_DLV-LAND
          text
         -->P_CS_BIL_INVOICE_HD_GEN  text
         <--P_CS_DLV_LAND  text
    FORM GET_DLV-LAND USING    IT_HD_GEN   TYPE LBBIL_INVOICE-HD_GEN
                      CHANGING CS_DLV-LAND LIKE VBRK-LAND1.
      CS_DLV-LAND = IT_HD_GEN-DLV_LAND.
    ENDFORM.                    " GET_DLV-LAND
    *&      Form  set_print_data_to_read
          text
         -->P_LF_FORMNAME  text
         <--P_LS_PRINT_DATA_TO_READ  text
         <--P_CF_RETCODE  text
    FORM set_print_data_to_read   USING    IF_FORMNAME LIKE TNAPR-SFORM
             CHANGING CS_PRINT_DATA_TO_READ TYPE LBBIL_PRINT_DATA_TO_READ
                      CF_RETCODE.
      FIELD-SYMBOLS:  TYPE XFELD.
      DATA: LT_FIELDLIST TYPE TSFFIELDS.
    set print data requirements
      DO.
        ASSIGN COMPONENT SY-INDEX OF STRUCTURE
                         CS_PRINT_DATA_TO_READ TO  = 'X'.
      ENDDO.
      CALL FUNCTION 'SSF_FIELD_LIST'
        EXPORTING
          FORMNAME                = IF_FORMNAME
        VARIANT                 = ' '
        IMPORTING
          FIELDLIST               = LT_FIELDLIST
       EXCEPTIONS
         NO_FORM                  = 1
         NO_FUNCTION_MODULE       = 2
         OTHERS                   = 3.
      IF SY-SUBRC <> 0.
    error handling
        CF_RETCODE = SY-SUBRC.
        PERFORM PROTOCOL_UPDATE.
      ENDIF.
    ENDFORM.                    " set_print_data_to_read
    *&      Form  set_print_param
          text
         -->P_LS_ADDR_KEY  text
         -->P_LS_DLV_LAND  text
         <--P_LS_CONTROL_PARAM  text
         <--P_LS_COMPOSER_PARAM  text
         <--P_LS_RECIPIENT  text
         <--P_LS_SENDER  text
         <--P_CF_RETCODE  text
    FORM set_print_param   using IS_ADDR_KEY LIKE ADDR_KEY
                                  IS_DLV-LAND LIKE VBRK-LAND1
                         CHANGING CS_CONTROL_PARAM TYPE SSFCTRLOP
                                  CS_COMPOSER_PARAM TYPE SSFCOMPOP
                                  CS_RECIPIENT TYPE  SWOTOBJID
                                  CS_SENDER TYPE  SWOTOBJID
                                  CF_RETCODE TYPE SY-SUBRC.
      DATA: LS_ITCPO     TYPE ITCPO.
      DATA: LF_REPID     TYPE SY-REPID.
      DATA: LF_DEVICE    TYPE TDDEVICE.
      DATA: LS_RECIPIENT TYPE SWOTOBJID.
      DATA: LS_SENDER    TYPE SWOTOBJID.
      LF_REPID = SY-REPID.
      CALL FUNCTION 'WFMC_PREPARE_SMART_FORM'
        EXPORTING
          PI_NAST       = NAST
          PI_COUNTRY    = IS_DLV-LAND
          PI_ADDR_KEY   = IS_ADDR_KEY
          PI_REPID      = LF_REPID
          PI_SCREEN     = XSCREEN
        IMPORTING
          PE_RETURNCODE = CF_RETCODE
          PE_ITCPO      = LS_ITCPO
          PE_DEVICE     = LF_DEVICE
          PE_RECIPIENT  = CS_RECIPIENT
          PE_SENDER     = CS_SENDER.
      IF CF_RETCODE = 0.
        MOVE-CORRESPONDING LS_ITCPO TO CS_COMPOSER_PARAM.
      CS_CONTROL_PARAM-NO_OPEN
      CS_CONTROL_PARAM-NO_CLOSE
        CS_CONTROL_PARAM-DEVICE      = LF_DEVICE.
        CS_CONTROL_PARAM-NO_DIALOG   = 'X'.
        CS_CONTROL_PARAM-PREVIEW     = XSCREEN.
        CS_CONTROL_PARAM-GETOTF      = LS_ITCPO-TDGETOTF.
        CS_CONTROL_PARAM-LANGU       = NAST-SPRAS.
      CS_CONTROL_PARAM-REPLANGU1
      CS_CONTROL_PARAM-REPLANGU2
      CS_CONTROL_PARAM-REPLANGU3
      CS_CONTROL_PARAM-STARTPAGE
      ENDIF.
    ENDFORM.                    " set_print_param
    *&      Form  add_smfrm_prot
          text
    -->  p1        text
    <--  p2        text
    FORM add_smfrm_prot .
      DATA: LT_ERRORTAB             TYPE TSFERROR.
    DATA: LF_MSGNR                TYPE SY-MSGNO.
      FIELD-SYMBOLS:   TYPE LINE OF TSFERROR.
    get smart form protocoll
      CALL FUNCTION 'SSF_READ_ERRORS'
        IMPORTING
          ERRORTAB = LT_ERRORTAB.
    add smartform protocoll to nast protocoll
      LOOP AT LT_ERRORTAB ASSIGNING .
      CLEAR LF_MSGNR.
      LF_MSGNR = <FS_ERRORTAB>-ERRNUMBER.
        CALL FUNCTION 'NAST_PROTOCOL_UPDATE'
             EXPORTING
                  MSG_ARBGB = -MSGID
                MSG_NR    = LF_MSGNR
                  MSG_NR    = -MSGV4
             EXCEPTIONS
                  OTHERS    = 1.
      ENDLOOP.
    ENDFORM.                    " add_smfrm_prot
    *&      Form  protocol_update_spool
          text
         -->P_1115   text
         -->P_LS_SPOOLID  text
         -->P_SPACE  text
         -->P_SPACE  text
         -->P_SPACE  text
    FORM protocol_update_spool  USING    SYST_MSGNO
                                         P_LS_SPOOLID
                                         P_SPACE1
                                         P_SPACE2
                                         P_SPACE3.
      syst-msgid = 'VN'.
      syst-msgno = syst_msgno.
      syst-msgv1 = p_ls_spoolid.
      CONDENSE syst-msgv1.
      CHECK xscreen = space.
      CALL FUNCTION 'NAST_PROTOCOL_UPDATE'
        EXPORTING
          msg_arbgb = syst-msgid
          msg_nr    = syst-msgno
          msg_ty    = syst-msgty
          msg_v1    = syst-msgv1
          msg_v2    = p_space1
          msg_v3    = p_space2
          msg_v4    = p_space3
        EXCEPTIONS
          OTHERS    = 1.
    ENDFORM.                    " protocol_update_spool
    This is Include ZSDI0003
    *&  Include           ZSDI0003
    TABLES: KOMK,                          "Communicationarea for conditions
            KOMP,                          "Communicationarea for conditions
            KOMVD,                         "Communicationarea for conditions
            VBCO3,                         "Communicationarea for view
            VBDKA,                         "Headerview
            VBDPA,                         "Itemview
            VBDPAU,                        "Subitemnumbers
            CONF_OUT,                      "Configuration data
            SADR,                          "Addresses
            TVAG,                          "Reason for rejection
            VEDKA,                         "Servicecontract head data
            VEDPA,                         "Servicecontract position data
            VEDKN,                         "Servicecontract head notice data
            VEDPN,                         "Servicecontract pos. notice data
            RISERLS,                       "Serialnumbers
            KOMSER,                        "Serialnumbers for print
            TVBUR,                         "Sales office
            TVKO,                          "Sales organisation
            ADRS,                          "Communicationarea for Address
            FPLTDR,                        "billing schedules
            WTAD_ADDIS_IN_SO_PRINT,        "additional
            WTAD_BUYING_PRINT_EXTRA_TEXT,  "texts belonging to additional
            VBAK,                          "Sales Document Header
            VBAP,                          "Sales Document Item
            VBPA,                          "Sales Document: Partner
            T001,                          "Company codes
            MAST,                          "Material to BOM Link
            STKO.                          "BOM Header
    INCLUDE RVADTABL.
    INCLUDE RVDIREKT.
    INCLUDE VEDADATA.
    data for access to central address maintenance
    INCLUDE SDZAVDAT.
    TYPE-POOLS: ADDI.
    DATA PRICE_PRINT_MODE(1) TYPE C.       "Print-mode
    DATA: RETCODE   LIKE SY-SUBRC.         "Returncode
    DATA: REPEAT(1) TYPE C.
    DATA: XSCREEN(1) TYPE C.               "Output on printer or screen
    DATA: BEGIN OF STEU,                   "Controldata for output
            VDKEX(1) TYPE C,
            VDPEX(1) TYPE C,
            KBKEX(1) TYPE C,
            KBPEX(1) TYPE C,
      

    1) you shouldn't have to do anything with the properties file written for a specific Locale.
    2) check this out: http://java.sun.com/j2se/1.4/docs/guide/intl/encoding.doc.html
    3) BIG5 is BIG5 everywhere.
    4) don't know about this one
    5,6,7) If you have Windows 98 Chinese Edition, you can probably switch back and forth between English and Chinese -- just put the Chinese characters in a string much like the normal characters. Otherwise, you'll have to enter the Unicode char.
    V.V.

  • Need help in smartforms page break

    HI Experts,
    I need yout help in Smartforms.
    My requirement is I want to check my current page count with total number of pages in smartform.
    Based on above , I wish to print some text only on the main window of last page.Currently, the text is getting printed on all pages.
    Steps taken:
    1) SFSY-FORMPAGES & SFSY-PAGE already checked but both of them get set simultaneously so the concept doesn't work.
    2) Tried creating a custom FM and using total number of line items available at ITEM level . Doesn't work .
    Any help would be highly appreciated.
    Thanks,
    Abhinav.

    Hi sap_wiz,
    I have 2 pages into my smartform ( FIRST & NEXT ). The SFSY-FORMPAGES parameter is not getting set at the trigger of MAIN window of FIRST page .
    If I check the value both FORMPAGES & PAGES parameter are 1 and on next page it gets set as 2 & 2. So I am not able to use SFSY concept.
    Hi DeepakNandikanti ,
    I wish to print the text at the end of MAIN window towards the FOOTER of table ( MAIN window has a table ) and not outside the window.
    Thanks,
    Abhinav.

  • Need help with Smartform

    Hi Friends,
                I am working on a smartform. This is a modification to the existing form. In the Smartform i have 3 pages. For page2, there are 3 scenarios. There is a custom table (Say gt_customtable). It contains Document ID field (DOCID), and for each document id, it has a indicator field (Say indicator = E / S).  E = Emergency order, and S = Stock order.
    When the indicator is E for the docid's, then Scenario 1 should be printed, that is Emergency layout should be printed.
    When the indicator is S for the docid's, then Scenario 2 should be printed, that is Stock layout should be printed.
    When the indicator is both E & S, then Scenario 3 should be printed, that is Emergency layout should be printed first, and then Stock layout should be printed.
    There is an internal table called gt_page2, which has both the Header data, and Line items data.
    The header data is same for all the scenarios, and need not be changed. But coming to the Line items data, emergency layout is different from stock layout.
    How do i approach this situation. Can you please help me out here.
    Thanks,
    Nikhil

    Hi Suneel,
                Thank you very much for replying. Actually Page3 has nothing to do with page2 here. The Issue is Page2 has 3 scenarios. The layout for each of 3 scenarios is different. Indicator is E for Page2-scenario 1 layout, and S for Page2-scenario 2 layout. But when the indicator is both E, and S....then Scenario1 is printed first, then scenario 2.
    Do we need to create 2 tables, one for each scenario, each with different layout. Or create a flag, and depending on this flag, can we play with  text elements in the layout by giving them in the conditions tab.
    Thanks,
    Nikhil

  • Need help on smartform to print purchase order.

    Hello all,
                I need your help. I am struck in the following problem. In transaction ME23N for displaying purchase order, you enter the
    purchase order number and then you click on print preview and print off from the printer icon in the top of the preview. My client
    wants me to remove the print button or print icon from the print preview of the purchase order. How can i accomplish this? Iam new to
    abap, plz help me out... thanks in advance...
    Is there any user exit/ field exit to accomplish this? Or is there any better alternative to this... please let me know at the earliest possible. thanks
    Cheers,
    Jwelit.

    You need to change the driver program of the Smartform to restrict to only Print Preview.
    If you are using any standard Output/message type than you need to copy that to your Z output type. Tcode NACE can help you. Than you need to copy the driver program attached to your output type.
    Now, in your copied Z program, you need to set some parameter of the Smartform FM.
      DATA: LS_COMPOSER_PARAM     TYPE SSFCOMPOP.
      LS_COMPOSER_PARAM-TDNOPRINT = 'X'.
    Than you need to pass this to your SMARTForm FM.
    Like:
        CALL FUNCTION LF_FM_NAME
          EXPORTING
            ARCHIVE_INDEX      = TOA_DARA
            ARCHIVE_PARAMETERS = ARC_PARAMS
            CONTROL_PARAMETERS = LS_CONTROL_PARAM
            MAIL_RECIPIENT     = LS_RECIPIENT
            MAIL_SENDER        = LS_SENDER
            OUTPUT_OPTIONS     = LS_COMPOSER_PARAM   " <<
            ZXEKKO             = L_DOC-XEKKO  " user_settings = ' '
            ZXPEKKO            = L_DOC-XPEKKO
    Regards,
    Naimesh Patel

  • Need help on smartform spool generation for payslips

    Hi Experts,
    My development of Payslip form is done, its all fine.
    Here is some clarification I need on the spool generation:
    First time I run the program for 2 employees, I get 2 pages one for each employee, as expected.
    When I again run the program for 2 employees, 2 pages are added to the same spool request.
    My requirement is to create a new spool when the program is executed for the next time. I have tried setting NO_OPEN and NO_CLOSE in control parameters and also I have tried with several output option settings. I have also tried using FMs SSF_OPEN and SSF_CLOSE. But no luck so far.
    Please note that this is HR Payslip hence the smartform is being called inside the GET PERNR loop.
    Thanks in advance.

    Hi,
    Here you can find the list of preconditions in order for Spool system to append to existing spool. Setting TDNEWID suggested by Nick will work and is the best solution if you wish to have each document in own spool. If you wish to have spool per job, you'd have to ensure that just the first document is output with TDNEWID set. You can also ensure spool separation by outputing the last document of the job by setting TDFINAL print parameter. Or you can ensure that spools will always be assigned a unique Title...
    cheers
    Janis

  • Need help in smartform

    HI
    in my company in MM module MM people generating Purchase Order
    So we r using smartform for Purchase order.
    actually problem is company is having another 3 Group compnies.
    each and every company want different layout and formating for each page
    in print layout. .
    so how can i do it by using single smartform .
    or is there any way to do it.
    please help me .
    thanks in advanced

    hi Shukla,
    assume u wnt to design smartform for 3 companycodes.. but each them want different output format.
    u can achive this by using condition tab..in each of the node...
    or another way is inside the page>create 3 FOLDERS> for this give the condition of the company code are whtever u want to differentiate....
    it mean at  purticular time system will trigger only one folder based the complay code you have.
    In this folder insert the node u require to print for the purticular company code.
    by above u r first problem will be solved.
    another problem is... somebody wants the page in horizantal(portrait) and sombody wants it in vertical(Landscape)... if it is for the u have to include more pages in you form.. use the conditions..to ensure it should tribgger only for the required company code.
    Please Close this thread.. when u r problem is solved
    Reward if Helpful
    Regards
    Naresh Reddy K

  • Need Help in Smartforms - multiple pages

    Hi all,
    I have developed a Smartform in which i have 2 PAGES.
    in the First Page : there are many windows .
                               Due to space crunch , i can only print a single line / first record alone in the Main       Window. the size of the MAIN window is also small .
    then i have specified the PAGE2 as the NEXT page.
    In the Second Page i have to print the other remaining data in the MAIN WINDOW.
    the problem i am facing is :
    1. I cant have a MAIN WINDOW in the FIRST page because we cant have a MAIN page if we are going to specify PAGE2 as the next page. Due to this reason i have no MAIN WINDOW in the FIRST PAGE. IN the PAGE2 i have placed the MAIN window.
    2. How to make the remaining data print in the PAGE2. I am able to print the first record in the FIRST page.
    Kindly tell in the steps i have to follow , to PRINT THE FIRST RECORD IN THE FIRST PAGE AND THE REMAINING DATA IN THE SECOND PAGE.
    Thanks and Regards,
    Vikki.

    Hi,
    Please declare window(Not main window) in first page, Display one record in first page,
    and declare main window in second page give remaining entries in second page.
    Just now i have checked, it is working perfectly as per above solution.
    Regards
    Jana
    Edited by: Janardhan Reddy on Sep 22, 2008 12:40 PM

  • HI Need help ob Barcode in smartform

    Hi All,
    I need help on how to create and print a barcode in smartforms ? explain step by step how to do ?
    Thanks,

    Hi,
    THIS IS TO CREATE THE BARCODES.
    1.CREATE THE PARAGRAPH AND CHARACTER FORMATS BY USING THE u201CSMARTSTYLEu201D TCODE R SELECT THE u201CSTYLEu201D RADIOBUTTON IN u201CSMARTFORMSu201D TCODE(WHICH IS CREATED FOR SMARTFORMS).
    GIVE u201CP1u201D AS PARAGRAPH FORMAT
    CLICK THE u201CFONTu201D TAB,THEN ENTER THE FOLLOWING
    CREATE THE NODE FOR CHARACTER FORMAT
    SELECT THE BAR CODE NAME AS u201CBC_EAN8u201D
    CLICK THE u201CFONTu201D TAB AND CHANGE THE OPTIONS WHICH U WANT.
    Enter the details in u201CHeader Datau201D.
    SAVE,AND ACTIVATE IT.
    CREATE THE SMARTFORM AS u201CZCS_FORM6u201D.
    Click on u201Coutput optionsu201D tab in which text node u want to add the barcode, select the style as u201CZCS_STYLE6u201D and go back to u201Cgeneral attributesu201D.
    Use Line editor to add the barcode in Text node
    After come BACK FROM THE LINE EDITOR.(ABOVE SCREEN),THEN U CAN C THE FOLLOWING SCREEN FOR DATE FIELD.
    Regards,
    Chandu

  • Need help in printing text in footer

    Hi Friends,
    I need help from all you guys. I am working on SmartForms, and need help. Please look into the below situation, and appreciate if you can help me out.
    The Literal “**DATA CONTINUED ON NEXT PAGE**” is to be displayed at the bottom of the
      page in the Footer only if the data rolls onto second page.
    Thanks,
    Nikhil

    Hi,
    define the two variables in the global definition as
    g_cnt type sy-tabix.
    g_flg type c .
    ->in the initialization tab pass the internal table that is the main window.
    g_cnt = lines( the table name which you are using in the main
    window before the footer).
    Now you have the total no of lines in the g_cnt.
    in the loop which is in main window create the program line pass the output parameter as g_flg.
    in the condions tab give the condition as g_cnt = sy-tabix.
    in the source code of that program lines
    g_flg = 'X'.
    now for the footer where you are displaing the text coutinued on next page for in codition tab give the condition as g_flg = space.
    Thanks,
    NN.

  • Do we need to activate smartform whenever we change txt in TXt Mod via SE63

    Hi Experts,
    Just a quick question to get the changes done in one of the text module  to the output , Is that mandatory to activate smartforms where its being called..?
    In short , do we need to activate smartform when ever we do change in text of one of text module via SE63..?
    Apprciate your help on this ...
    Thanks
    Ramsai..

    Hi ,
    Thannks for ur reply ...
    But still I am not convinced... why should I go for SOTR_TEXT ..
    We have a Z text module contents in ENg ...due to req... we have translated it to french via SE63 ..
    and transported to Test sytem... where   business tested and recommend for text chnage ..
    So I have updated that french text in DEV the same way via SE63..
    ( text module contains updated French text , I checked this TM contents by login as a French login lang)
    But when we triggered the output , it still contains old text ....? I have no clue why ..
    Bit cnfused... Appreciate you r help in advance..
    Thanks
    Ramasi

  • Plzzzzzzzz i need a helpin smartforms

    Hi i need a small help in smartform
    My problem is like this
    Yesterday i got a problem in my smartform in which
    after the  total amount the data or text which i had entered is printing immediately after the total but i want to leave that place and it should be printed in the next page so i had created a command in the smartform by Inserting a command after the total is printed and check the Go to Page option and specified the same page as the next page. The printing is started on a new page after that.
    But the new problem is that either if there is text or not in printing it was leaving a blank page so how to avoid the blank page while there is no text or data   but i have to go for new page after total is printed can u make me any suggestions plzzzzz

    Hi Mr. Manoj the page was deleted by using your suggestion but  as isaid earlier i want the page to be deleted and also if there is any text after the total then it should be printed in the new page but not after immedialtely but now by using your suggestion the blank page was deleted if there is no text but if there is text the text is printing immediately after the total so please try to understand my problem and give more suggestions

  • Need help to develop Pythagoras theorem-

    Hi i need help to develop proofs 2,3,4
    of pythagoras theorems in java as demonstrations
    These are applets can anyone help me with it or give me an idea of how to go about developing it -
    the site is the following
    http://www.uni-koeln.de/ew-fak/Mathe/Projekte/VisuPro/pythagoras/pythagoras.html
    then double click on the screen to make it start

    Pardon my ASCII art, but I've always liked the following, simple, geometric proof:
         a                   b
    ---------------------------------------+
    |       |                                |
    a|   I   |              II                |
    |       |                                |
    ---------------------------------------+
    |       |                                |
    |       |                                |
    |       |                                |
    |       |                                |
    |       |                                |
    b|  IV   |              III               |
    |       |                                |
    |       |                                |
    |       |                                |
    |       |                                |
    |       |                                |
    |       |                                |
    ---------------------------------------+It almost goes without saying that I+II+III+IV == (a+b)^2, and II == IV == a*b,
    I == a*a and III == b*b, showing that (a+b)^2 == a^2+a*b+a*b+b^2.
    I hope the following sketch makes sense, stand back, ASCII art alert again:     a                   b
    ---------------------------------------+
    |               .             VI         |
    |     .                 .                |a
    | V                               .      |
    |                                        +
    |                                        |
    |   .                                    |
    b|                                     .  |
    |                                        |
    |                  IX                    |
    | .                                      |
    |                                    .   |b
    |                                        |
    +                                        |
    |      .                                 |
    a|               .                  . VII |
    |  VIII                   .              |
    ---------------------------------------+
                     a                    bThe total area equals (a+b)^2 again and equals the sum of the smaller areas:
    (a+b)^2 == V+VI+VII+VIII+IX. Let area IX be c^2 for whatever c may be.
    V+VII == VI+VIII == a*b, so a^2+b^2+2*ab= c^2+2*a*b; IOW a^2+b^2 == c^2
    Given this fundamental result, the others can easily be derived from this one,
    or did I answer a question you didn't ask?
    kind regards,
    Jos

  • I need help to find and open a job app that I exported, was able to fill out and sign and saved and now can't open it? What did I do wrong?

    I need help to find and open a job app that I exported, was able to fill out and sign and saved and now can't open it? What did I do wrong?

    What file format did you export it to?

  • Need help to open audios attached in a PDF file

    Hello
    I just need help. I have ordered a reviewer online that has audios and texts in a pdf file. I was told to download the latest adobe reader on my computer. I have done the same thing on my ipad mini. I am not so technical with regards to these things. Therefore I need help. I can access the audios on my computer but not on my ipad.
    I want to listen to audios with scripts or texts on them so i can listen to them when i am on the go. I was also informed that these files should work in any device. How come the audios doesnt work on my ipad.
    Please help me on what to do.
    Thanks

    Audio and video are not currently support on Adobe Reader. :-<
    You need to buy a PDF reader that supports them. My suggestion is PDF Expert from Readdle ($US 9.99)

Maybe you are looking for