Stuck Smartforms !!

I get text using the read text FM in Smartforms into an Internal table of type TLINE.
Then I create a Loop node and loop the contents into a structure of type TLINE . In the loop node i create a Text node and try to display the content of the structure : & wa_txt-tdline  &. On the form when i got to print preview it prints '& wa_txt-tdline  &' as it is and is not prinitng the value .
I also debugged to see it the wa_txt gets populated ..and i found that it does have the value .
Can anyone tell the solution to this .
Thanks

Hi
You have inserted the variable uncorrectly, so for the smartforms it's a text not a variable.
Use the old text editor and check how the line is, it should be:
&wa_txt-tdline&
but I believe it's:  <(>&<)>&wa_txt-tdline&<(>&<)>
Max
Message was edited by: max bianchi

Similar Messages

  • Smartforms issue urgentttt....

    Hi All,
    This is a very urgent scenario which need to be resolved as soon as possible. Please go through the following.
    I am trying to take a print of philippines TDS form using a transaction S_P00_07000134 - Generic Withholding Tax Reporting. After entering the values related to philippines and selecting form tab when i view the print, i find only vendor and payor details in the form not the line items which are visible in report.Could you please update me on this scenario as we are in GOLIVE phase. The Form name is IDWTCERT_PH_2307.
    TCode: S_P00_07000134 - Generic Withholding Tax Reporting
    Input Values
    Process type: std
    Output Group:ph2
    Country Key:ph
    Reporting Period:01.04.2008 to 22.04.2008
    Company Code: 1100
    Vendor:600001
    In forms tab
    Selected Print Form1
    Number of copies: 1
    Output Device: local
    execution of this values(F8)
    selected print or print preview
    output will be displayed or printed with out line items and when we press back we find the regular report with line items.
    Could anyone give me the solution it is very urgent....
    regards
    PSNG

    I am able to do this part.What is getting stuck is that i have say 5 totals with me and i pass to internal table then how can i fetch from smartform.If i create a structure for this internal table either way doesnot work i tried F1 like bseg-dmbtr and mseg-menge ie amount in currency as well as menge i tried.Failure occurs in smartforms as it fails to recognize the field itself.

  • Smartforms :Multiple forms 2 be printed in single print prog,PDF too

    Hello Smartforms Gurus
    I need to print 4 forms (Export Invoice, packing List, Enclosure to Packing list, Case marking) within a single print prog .
    User will execute this prog and it should print all the 4 forms and then by clicking on a button(Archive) there
    it should download a single pdf file containing all 4 forms .
    At present my following program directly download this form(only Export Invoice) to a pdf file but doesnt leave options to go to Print or Print Preview .
    Plz look into my code , and  suggest.
    Thnx
    Moni
    *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_NAME  TYPE RS38L_FNAM,
          P_E_DEVTYPE TYPE RSPOPTYPE,
          P_JOB_OUTPUT_INFO TYPE SSFCRESCL OCCURS 2000 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,
          <i>OK_CODE LIKE SY-UCOMM.</i>
    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.
    **BUYERS NO & DATE
    SELECT SINGLE BSTNK BSTDK INTO  (T_ADRS-BSTNK,T_ADRS-BSTDK)
                         FROM  VBAK
                         WHERE VBELN = VBFA-VBELV.
    *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-PACKTYP = 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'.
    *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.
      T_ADRS-TOT_WORDS = WORD-WORD.
      APPEND T_ADRS.
    START-OF-SELECTION.
    <b>  SET PF-STATUS '1000'.</b>
      CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
        EXPORTING
          FORMNAME                 = 'Z_SD_REP_MULTI_PRINT'
      VARIANT                  = ' '
      DIRECT_CALL              = ' '
       IMPORTING
          FM_NAME                  = FM_NAME
    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.
      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 = 'LOCL'.
      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 FM_NAME
       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.
    <b>AT USER-COMMAND.
    OK_CODE = SY-UCOMM.
    CASE OK_CODE.
    WHEN 'ARCHIVE'.</b>
    CALL FUNCTION 'CONVERT_OTF_2_PDF'
      EXPORTING
        USE_OTF_MC_CMD               = 'X'
      ARCHIVE_INDEX                =
    IMPORTING
        BIN_FILESIZE                 = P_BIN_FILESIZE
    TABLES
        OTF                          = P_JOB_OUTPUT_INFO-OTFDATA
        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 'WS_DOWNLOAD'
    EXPORTING
       BIN_FILESIZE                  = P_BIN_FILESIZE
      CODEPAGE                      = ' '
       FILENAME                      = 'C:\sd.pdf'
       FILETYPE                      = 'BIN'
       MODE                          = ''
      WK1_N_FORMAT                  = ' '
      WK1_N_SIZE                    = ' '
      WK1_T_FORMAT                  = ' '
      WK1_T_SIZE                    = ' '
      COL_SELECT                    = ' '
      COL_SELECTMASK                = ' '
      NO_AUTH_CHECK                 = ' '
    IMPORTING
        FILELENGTH                    = P_BIN_FILESIZE
      TABLES
        DATA_TAB                      = P_LINES
      FIELDNAMES                    =
    EXCEPTIONS
      FILE_OPEN_ERROR               = 1
      FILE_WRITE_ERROR              = 2
      INVALID_FILESIZE              = 3
      INVALID_TYPE                  = 4
      NO_BATCH                      = 5
      UNKNOWN_ERROR                 = 6
      INVALID_TABLE_WIDTH           = 7
      GUI_REFUSE_FILETRANSFER       = 8
      CUSTOMER_ERROR                = 9
      NO_AUTHORITY                  = 10
      OTHERS                        = 11
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    <b>ENDCASE.</b>
    *&      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
    Message was edited by: md monirujjaman
    Message was edited by: md monirujjaman
    Message was edited by: md monirujjaman

    Hello,
    You cannot get continuous page numbers, But you will be able to merge all the 4 form outputs into one PDF file.
    In yesterdays example you called one form, then converted OTF data into PDF data and downloaded on Presentation server.
    In this case, after you call first form, you get the OTF data. Push this OTF data into a MAIN Internal table ( Same type as of OTF dada Int TAB ). Then Call second form. Then you get second set of OTF data. This second set of OTF data may be appended to the MAIN Internal table and the follw same procedure for the rest of the forms. In the end you will have one Internal table which holds OTF data of all the 4 forms.
    Now convert the OTD data to PDF Data by the FM and Download one file which has output of all the 4 forms.
    I hope my explanation is quite clear.
    Regarding your second question, the Archive and Print and archive buttons on the PRINT PREVIEW screen works for Spool archiving which is to be enabled by customizing. If you wish to archive the output as PDF, you may have to do it in program.
    I am NOT accessible on YAHOO.
    Plz let me know if you are stuck.
    Regards, Murugesh AS

  • How can I solve these in smartforms

    Hi,
    I am stuck with the below issues.
    1. I want to email or fax a smartform.Can I get these features if I copy the standard program.If no, what additional changes do I need to incorporate.
    2. I will have main line items like 10, 20, 30 etc in the service sales order. and sub items like 11, 12, 13 etc in each of them.
    If user selects 10, I will need to fetch the info of respective 11.How do I get te link between those both.
    3. I want to print a scissors SAP Icon along with the dotted line.I managed to insert this sap symbol (it shows as 869).But I dont see this in the o/p.
    Any clues on the above please.
    Thanks
    Kiran

    Kiran,
    1.It can be done.Convert the Smartform into PDF and send it through mail.Lot many snippets are available in SCN on how to convert a smartform to pdf and sending it through mail.Fax I have  no idea,but it can be done too.
    3. Did you checked the Print output? I guess it can't be seen in the Print preview but only in the output..
    K.Kiran.

  • Problem in smartform driver program

    hi all,
    i was stuck with an error while executing a smartform, th e report output is comming for some documents but it is not comming for some documents and it is showning the exceptions as 2
    in function module SSFCOMP_PROCESS_DOCUMENT while calling the form my code is like this..
      LOOP AT ITAB.
       AT FIRST.
         CONTROL_PARAMETERS-NO_CLOSE = 'X'.
       ENDAT.
       AT LAST.
         CONTROL_PARAMETERS-NO_CLOSE = SPACE.
       ENDAT.
        IF RAD1 EQ ' '. " rad1 is for print , rad 2 is for pdf download.
       CONTROL_PARAMETERS-NO_DIALOG = 'X'.
       CONTROL_PARAMETERS-PREVIEW = ' '.
       CONTROL_PARAMETERS-GETOTF = 'X'.
       OUTOP-TDDEST = 'LP01'.
          CALL FUNCTION FNAME
            EXPORTING
          CONTROL_PARAMETERS         = CONTROL_PARAMETERS
            OUTPUT_OPTIONS             = OUTOP
            USER_SETTINGS              = ''
              V_VBELN               = ITAB-VBELN
                    V_PRIOR_INVAMT  = V_PRIOR_INVAMT
                    V_CUR_PO_TOT    = V_CUR_PO_TOT
                    I_GST           = I_GST
                    I_QST           = I_QST
                    I_HST           = I_HST
           IMPORTING
      DOCUMENT_OUTPUT_INFO       =
             JOB_OUTPUT_INFO            = TAB_OTF_DATA
      JOB_OUTPUT_OPTIONS         =
          TABLES
            T_FINAL                   = T_FINAL
      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.
          TAB_OTF_FINAL[] = TAB_OTF_DATA-OTFDATA[].
        ELSE.
    *********errror triggering from the below function module after else.........
       CONTROL_PARAMETERS-NO_DIALOG = 'X'.
       CONTROL_PARAMETERS-PREVIEW = 'X'.
         CONTROL_PARAMETERS-GETOTF = 'X'.
       OUTOP-TDDEST = 'LP01'.
          CALL FUNCTION FNAME
                  EXPORTING
             CONTROL_PARAMETERS         = CONTROL_PARAMETERS
             OUTPUT_OPTIONS             = OUTOP
         USER_SETTINGS              = 'X'
                    V_VBELN         = ITAB-VBELN
                    V_PRIOR_INVAMT  = V_PRIOR_INVAMT
                    V_CUR_PO_TOT    = V_CUR_PO_TOT
                    I_GST           = I_GST
                    I_QST           = I_QST
                    I_HST           = I_HST
    IMPORTING
      DOCUMENT_OUTPUT_INFO       =
      JOB_OUTPUT_INFO            = TAB_OTF_DATA
      JOB_OUTPUT_OPTIONS         =
          TABLES
            T_FINAL                   = T_FINAL
      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.
        ENDIF.
    please help me it is telling that as internal error for the exception 2.
    regards,
    venkat

    Hi,
    I m Deepak, i  getting the same error while running print prog.
    When i debuged the smartform i get the return code sy-subrc = 1
    in internal function module SSFCOMP_PROCESS_DOCUMENT in smartform function module.
    And the error i m getting is - Field #13; does not exist in form.
    How can i solve this problem.
    Please guide me regarding this as u already solved it.
    Regards,
    Deepak.

  • Printing Smartform for a series of data

    hello People,
    i am stuck up in a situation which sums up like this
    i am having a range of check numbers for which the details of checks have to be printed.
    the req is all the check between the range has to be printed in that many pages and printer should be assigned once only
    that is for 10 checks smartform should have 10 pages.
    the code i have designed is mentioned below
    it is working fine in terms of execution, the only problem is that
    only the last check in the range is showing in the preview.
    all other are bieng overwritten.
    in the debugger i can see the values for all checks being assigned.
    <u><i><b>the thing is i want the first time the loop execute it should print check in first page
    the next time the loop executes it should print check in second page
    and so on till the tenth.</b></i>.</u>
    <b>few points i wud lik to mention :
    its not the standard check format, so dont think in dat direction,
    the whole content including the main and secondary window is changing not just the table in main window</b>
    please help
    here is the code i devised
    upper = upper.
    lower = lower.
    itab = itab.
      select chect
        from payr
        into table itab
       where HBKID EQ BANK
         AND CHECT between lower and upper.
    break-point.
    DATA: l_char18  TYPE char18,
          l_p       TYPE p DECIMALS 2.
    loop at itab into wa_itab.
    SELECT SINGLE zbukr
           hbkid
           hktid
           rzawe
           chect
           lifnr
           kunnr
           ubhkt
           vblnr
           zaldt
           waers
           rwbtr
           pridt
           zanre
           znme1
      FROM payr
      INTO wa_payr
    WHERE chect EQ wa_itab-chect
       and hbkid eq bank.
    IF sy-subrc EQ 0.
      SELECT SINGLE lifnr
             adrnr
        FROM lfa1
        INTO wa_lfa1
       WHERE lifnr EQ wa_payr-lifnr.
      SELECT SINGLE addrnumber
                    date_from
                    nation
                    name1
                    name2
                    name4
                    city1
                    post_code1
                    po_box_loc
                    street
                    tel_number
                    region
               FROM adrc
               INTO wa_adrc
              WHERE addrnumber EQ wa_lfa1-adrnr.
      SELECT bukrs
             belnr
             gjahr
             buzei
             augbl
             shkzg
             mwskz
             dmbtr
             qbshb
        FROM bseg
        INTO TABLE it_bseg
       WHERE augbl EQ wa_payr-vblnr
         AND shkzg = 'H'.
      IF sy-subrc EQ 0.
        SELECT bukrs
               belnr
               gjahr
               xblnr
          FROM bkpf
          INTO TABLE it_bkpf
          FOR ALL ENTRIES IN it_bseg
         WHERE belnr = it_bseg-belnr.
        LOOP AT it_bseg INTO wa_bseg.
          READ TABLE it_bkpf INTO wa_bkpf
          WITH KEY  belnr = wa_bseg-belnr.
          wa_disp-billno = wa_bkpf-xblnr.
         wa_disp-amount = wa_bseg-dmbtr.
          l_char18 = wa_bseg-dmbtr.
          SHIFT l_char18 LEFT DELETING LEADING space.
          wa_disp-amount = l_char18.
          l_p = wa_disp-amount.
          CLEAR wa_disp-amount.
          wa_disp-amount = l_p.
          CLEAR l_p.
          SHIFT wa_disp-amount LEFT DELETING LEADING space.
         wa_disp-tdsamt = wa_bseg-qbshb.
          l_char18 = wa_bseg-qbshb.
          SHIFT l_char18 LEFT DELETING LEADING space.
          wa_disp-tdsamt = l_char18.
          l_p = wa_disp-tdsamt.
          CLEAR wa_disp-tdsamt.
          wa_disp-tdsamt = l_p.
          CLEAR l_p.
          SHIFT wa_disp-tdsamt LEFT DELETING LEADING space.
          APPEND wa_disp TO it_disp.
          CLEAR wa_disp.
        ENDLOOP.
      ENDIF.
    ELSE.
      MESSAGE 'Entered Cheque No is Incorrect' TYPE 'E' RAISING exc1.
    ENDIF.
    endloop.
    help people
    thanks & regards
    Nitin

    hi Nitin
    just give a try with this .
    create one loop and for that give your int_tab which holds the records of all the checks say 10 checks.
    also create one program lines wherein you l set the flag to 1 whenever the itab count increases if not then set the flag  to 0.
    now inside the main window create one command node and check the go to new page checkbox and give your second(or next page) name , and in the conditions tab keep the flag = 1.
    the extra work you need to do is you have to create one next page with all the same windows which will triggers for evry new line item.
    hope it may be helpful to you.
    plz reward points if helpful
    Regards
    Zarina

  • How to make use of communication method in output type for new smartform?

    Hi all,
    My requirement, send the smartform to the carrier by fax/email/print based on the output condition records created.
    Here are the things that I had done.
    1) created a ZSMARTFORMS - smartforms
    2) created a ZPRINTPROGRAM - print program
    3) created a ZTCFRT - transaction code
    3) created an ZFRT  - output type
    I am stuck here. What are the next steps ? I want when I run transaction code: ZTCFRT, this print program ZPRINTPROGRAM will call this  ZSMARTFORMS smartforms and send/fax/print to the carrier.
    It would be great that someone can share the steps with me.
    Thanks!

    Hi,
    Have you written any code in your program or just Created it?
    If you have only created it, then you need to call some functions in your PRINT Program and these are:
    Below is just an example:
      CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
        EXPORTING
          formname           = i_formname
        IMPORTING
          fm_name            = i_fm_name
        EXCEPTIONS
          no_form            = 1
          no_function_module = 2
          OTHERS             = 3.
        CALL FUNCTION i_fm_name
          EXPORTING
            control_parameters = control_parameters
            output_options     = output_options
            user_settings      = space
            vbeln              = p_vbeln
          TABLES
            it_vbak            = it_vbak
          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.
    After calling second function, system execution will reach to the SMARTFORM (which you have created). There in smartform you can do whatever you want.
    for more details:
    http://help.sap.com/saphelp_nw04/helpdata/EN/a5/de6838abce021ae10000009b38f842/content.htm
    also see:
    help.sap.com/printdocu/core/Print46c/en/data/.../BCSRVSCRSF.pdf
    For any query, revert back.
    Regards,
    Vishal

  • Printing Standard TEXT  with multiple paragraphs in smartform

    Hello all,
    I have a requirement that, there is a very long standard text stored in a notification of an order in SAP ISU system. The text contains multiple paragraphs with indentations. I want to print this text directly into the smartform WITH SAME INDENTATION AND PARAGRAPH FORMATTING.
    First i am reading the entire text using FM READ_TEXT.
    My first  problem is even if i read the text into a variable of type STRING , it just prints 255 characters of it.
    And secondly if i try to printout it using LOOP AT node in smartforms, it prints the entire content but without any formatting .
    Please let me know whether it is possible to print standard text in smartforms or not
    Thanks
    Nilesh Puranik

    Hey ,
    Well thanks for that but my replies got posted 2-3 times unknowingly, could'nt help it.
    Coming to the problem, i  guess you did not get my point when i say dynamic texts for each service order.
    In my Report i am using LOOP AT ITAB ..where in itab i  am storing a service order no i.e. ITAB-ORDER_NO
    Now for every order there is standard text maintained in SO10 starting with order name
    so my code goes like this.
    LOOP AT ITAB.
    CALL FUNCTION 'READ_TEXT'
      EXPORTING
        ID                            = 'LTXT'
        LANGUAGE            = 'E'
        NAME                      = ITAB-order_no
        OBJECT                   = 'QMSM'
      TABLES
        LINES                         = LINES .
    CALL <SMART FORM Fm>
    ENDLOOP.
    Hence whatever Standard text maintained for that service order i  want to display it as it is in the smartform with same paragraphs formatting and indentation.
    IF i use a variable in smartform and pass the entire text  after using READ_TEXT , it does not format the text  and it just prints only 255 characters even if i define it of type STRING .
    Hence i am stuck in this scenario.
    Appreciate ur help though.
    Thanks
    Nilesh

  • Problem with PO smartform display

    Hi All,
    I've developed a Purchase Order Template using Smartform. In NACE I've assignd the smartform name for a new output type. Smartform isworking properly.
    But while executing ME21n transaction I'm not getting my smartform template. In TNAPR table also I'm not able to find my Smartform name for its output type.
    Can any one tell me the reason? And how to rectify this problem?
    Rgds,
    Nithy..

    I am almost a total computer novice and am having what I think is the same problem  Just got my first Apple computer (Macbook Pro).  MSN Hotmail is my email account.  All the events on my 'hotmail' account are now unreadble because they are squished to the left side of the screen and I don't find any instructions as to how to fix this in the system. This problem didn't exist when I first started using my MAC two days ago, but now I'm stuck.  Everything else in my 'hotmail' seems to work fine.  Don't know what Chrome or Firefox is or if there is a cost for them.  Also, have never downloaded a program if any kind.
    My calendar is critically important to me and I don't have a clue as to what to do now.  Hope you can help.
    Thanks.  Linda

  • Loop in smartforms

    hi all,
    ive just stuck with a problem in smartforms, ive created a smartform for purchase requisistion(pr) , in that im fetching the pr items in main window (main) and service line items in a loop in mainwindow, the problem is if the pr doesn't have a service line items a single empty line is displaying after the header data, i ve just tried by giving the conditions in the conditions tab" if itab or workarea is not initial" , but its stopping the loop and displaying only header data with out service line items. can any one give me the solution to this.
    regards
    venkat.

    Hi,
    if you want to dispaly the service line items even though there is no entry in line items table,  then create the service line item table after the PR line item table in main window not in (loop..endloop).
    In this case first line items of the PR will be printed and then service line items will be printed.
    If the service line items are related to the PR line items then the form is correct, because there are no line items for PR's.
    Regards,
    Raju.

  • Smartforms Printing

    Hi Gurus,
    We have stuck with issue, we have created new Z-smartforms based on standard CRM_ORDER_CONFIRMATION_01.
    We have defined action for sending mail, mail is used new smartform which we defined in action conditons.
    once the action triggered we could see txn SOST all the email action,now business want to take print ourt from the transaction.
    When we go for print option by suppling the output device the system gives the error message "Output device LOCL is not type PDF1".
    What we need to do take print?
    Your help will be highly appreciated, thanks in advance.
    Regards,
    muki

    When you get to print preview screen, select goto->list display.  Then press the print button on the action bar (not menu bar).  It will print the OTF document to your default printer.
    Note, you may also need to change the DEVICE_TYPE setting in Format Conversion (SCOT)
    - Tim

  • Is Smartforms recommended for use in check payments?

    Looking at some of the comments on this Forum, I am apprehensive about the advisability of using SMARTFORMS for check payments. I see issues in configuration (only Script/PDF Forms are available in Payment Methods) and the driver program RFFOUS_C needs special customization, etc.
    My thanks in advance for sharing your thoughts and experiences of using SMARTFORMS for this aspect (versus SAPSCRIPT).
    Regards,
    Ananth

    >
    Ananth Vootkur wrote:
    > I have a cheque developed through Smartforms.
    >
    > This needs to be integrated into configuration (FBZP) and F110 process invoking RFFOUS_C or modification there of, so that cheques are printed for the Payment Runs.
    >
    > This is where i am stuck. My customized RFFOUS_C that invokes Smartforms Cheque is not getting the data passed. There is some connectivity missing. (I am quite far away from other issues like MICR printing).
    >
    > How to navigate through this payment process through RFFOUS_C (replacing SAPSCRIPT cheque with Smartforms Cheque)?
    >
    > Regards.
    Assuming you copied the RFFOUS_C into Z program, did you then made config changes so that your program will be called for payment method C in company code/country.
    Check setting in F110
    F110->Enviroment->Display Config->Payment methods in country/Payment methods in company code
    check program name specified in there.
    Regards,
    Pawan.

  • Gantt chart in smartform?

    Hi everyone,
    I have been assigned to put a gantt chart in smartform. Does anyone have any idea of how this can be done?
    Thank you in advance,
    Shkelqim

    Hi Stefanie,
    I already have this project. But when i am importing this project in to my NWDS. Not a single View is opening. Its giving me lot of errors.
    I dont know how i will manage...i am really stucked up.
    Thanks for reply...

  • Smartform Purchase Order : EKKO vs PEKKO

    Hi all,
    I'm creating a smartform for purchase orders but I'm stuck at passing the right variables to the function module that calls the smartform.
    I don't know what to fill in for ZXPEKKO  = ??? --> What select statement should I do here ?
    It would also be helpfull to give me more information on the relationship between : EKKO & PEKKO
    The function module interface shows this info :
    ""Global Interface:
    *"  IMPORTING
    *"     VALUE(ARCHIVE_INDEX) TYPE  TOA_DARA OPTIONAL
    *"     VALUE(ARCHIVE_INDEX_TAB) TYPE  TSFDARA OPTIONAL
    *"     VALUE(ARCHIVE_PARAMETERS) TYPE  ARC_PARAMS OPTIONAL
    *"     VALUE(CONTROL_PARAMETERS) TYPE  SSFCTRLOP OPTIONAL
    *"     VALUE(MAIL_APPL_OBJ) TYPE  SWOTOBJID OPTIONAL
    *"     VALUE(MAIL_RECIPIENT) TYPE  SWOTOBJID OPTIONAL
    *"     VALUE(MAIL_SENDER) TYPE  SWOTOBJID OPTIONAL
    *"     VALUE(OUTPUT_OPTIONS) TYPE  SSFCOMPOP OPTIONAL
    *"     VALUE(USER_SETTINGS) TYPE  TDBOOL DEFAULT 'X'
    *"     VALUE(ZXEKKO) TYPE  EKKO
    *"     VALUE(ZXPEKKO) TYPE  PEKKO ---> ???
    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
          user_settings       =   space
          is_nast             =   nast
          is_repeat           =   repeat
          ZXEKKO              =   ls_ekko
          ZXPEKKO             =  ??? --> Where should I select this info from ?
          IMPORTING
          document_output_info = document_output_info
          job_output_info      = job_output_info
          job_output_options   = job_output_options
          TABLES
    *     it_ekko             = it_ekko
          it_ekpo             = it_ekpo
          it_t001w            = it_t001w
          it_lfa1             = it_lfa1
          it_adrc             = it_adrc
          it_adr6             = it_adr6
          it_konv             = it_konv
          it_makt             = it_makt
          it_tline            = it_tline
          it_tline1           = it_tline1
          it_tline2           = it_tline2
          EXCEPTIONS
          formatting_error    = 1
          internal_error      = 2
          send_error          = 3
          user_canceled       = 4
          OTHERS = 5

    If it's you who has created the smartform, you should know what ZPEKKO is used for inside smartform.
    In other case, have a look at the smartform being called and see where is ZPEKKO used...(perhaps it's populated inside smartform)
    regards,
    Aabhas

  • Smartforms - urgent ~ pls help

    Hi,
      I have a question on the smartforms.
      I need to create a cover page & content page. In the Cover page's Main window, I added a template because data is only displayed once and it is static.
      As for the Content Page, I have 1 template & 1 table. This template will also be displayed once & is static, whereas the table will have dynamic rows.
      (1) The Main Window for Content Page should contain both template & table or table only?
      (2) Currently I only added a table, and when I run, Content Page is not displayed? Do I need to manually link 1st & 2nd page together?
      (3) To loop the internal table, such as "it_tab" INTO "ls_tab", should i add this to "TABLE" on in the "Main Area~LOOP"? I am confused as both also need to add it.
      (4) The display of content page is:
           (1st line) - table header, such as <b>"ID no", "Product Name".</b>
           (2nd line) - display data, such as <b>"X123", "coat".</b>
           (3rd line) - header, such as <b>"material", "%"</b>
           (4th line) - display data, such as <b>"cashmere", "10"</b>
           Can anybody advise me how to create this table? 1st & 3rd line is header, whereas 2nd & 4th line are data. If my internal table has more than 1 row of data, first row of data must display like above, and loop for second row, display the header & data again, it's like a <b>BLOCK of table</b>.
    Kindly give me a clue, I am stuck!
    Thanks!!
    regards,
    Ginnie

    Hi,
    1. In main window you can use both template and table. if table content exceeds the page, it will automatically triggers another page for the rest of the data.
    2. If you are creating 2 pages in smartform, yes u need to connect each other. Check the 'Next page' value in Page1. (double click on page1, u can find the option.) select 'Page2' value.
    3. If you are using Table, provide it_tab in 'DATA' tabstrip. In this u can find Internal table option.
    Hope this helps u.

Maybe you are looking for

  • I have two iTunes accounts that need to be merged together

    Recently with the purchase of a new iPhone, I created a new Apple ID and a new iTunes account in that setup process.  How can I merge the old account with the new account? I have not been able to use the iPhone to purchase items from the Apps Store b

  • Can't delete some files due to a persistent lock.

    I've been having problems deleting a few files. I get this error oracle.ifs.common.IfsException: IFS-30650: PublicObject has a persistent lock; unable to change      void oracle.ifs.common.IfsException.<init>(int)           IfsException.java:341     

  • How do I download my CS3 PhotoShop to my new Apple MacBook Air

    How do I download my CS3 PhotoShop to my new Apple MacBook Air

  • Could not change countries in app store

    i live in kuwait and every time i should sign out and sign in again to buy or update in app store and i have change the country to kuwait but i have messages every time you are in the british, canadian, usa store so you should change to you country s

  • PB G4 with Dell 2407WFP monitor?

    I am looking into buying the 24" Dell 2407WFP monitor. I need to know if my Powerbook will work with it. It has DVI and VGA inputs but I need to know if my 15 Inch Powerbook will work with 1920x1200 Pixels @ 60 Hz. Thanks in advance.