Sending Smartforms through Fax

Hi,
  Can anybody suggest me, how to send the smartform through FAX? The output need not be printed instead it should be sent as FAX.
Thanks and Regards,
Lakshmi

Hi,
Check this sample code helps your purpose.If so,kindly reward points by clicking the star on the elft of reply,if it helps.
The following program shows you how to send a fax from within ABAP/4. The report is delivered
in the standard system and is used in Transaction SCOM for the function "Send test fax".
Only the method via the call of SAPscript with DEVICE='TELEFAX', described below, ensures the
generation of a correct transmission request, independent of the R/3 release and of the used
fax server solution and its configuration.
The regular printing (for example, with NEW-PAGE PRINT ON...) on an output device created in
the spool administration of the device class 'Telefax' does generally not work!
REPORT RSKSENDF MESSAGE-ID SK.
Test report to send a test fax
sends a fax to the number <TO_CNTRY>-<TO_NMBER>
containing an automatically generated message text.
TABLES: USR03.
PARAMETERS: TO_CNTRY LIKE T005-LAND1 OBLIGATORY,
TO_NMBER LIKE TSP01-RQTELENUM OBLIGATORY,
FROM_USR(30) TYPE C DEFAULT SY-UNAME,
TO_RECIP(30) TYPE C DEFAULT SY-UNAME.
SAPscript content ITAB
DATA: BEGIN OF TEST_DOC OCCURS 10.
INCLUDE STRUCTURE TLINE.
DATA: END OF TEST_DOC.
SAPscript header struct
DATA BEGIN OF HEADER.
INCLUDE STRUCTURE THEAD.
DATA END OF HEADER.
INITIALIZATION.
get county from user addres in usr03
system->user profile->user address
check if not empty
SELECT SINGLE * FROM USR03 WHERE BNAME = SY-UNAME.
IF SY-SUBRC = 0 AND USR03-LAND1 <> SPACE.
TO_CNTRY = USR03-LAND1.
ENDIF.
START-OF-SELECTION.
PERFORM FILL_UP_TEST_DOC.
PERFORM SHOW_TEST_DOC.
AT PF08.
PERFORM SEND_FAX TABLES TEST_DOC USING TO_CNTRY
TO_NMBER.
AT SELECTION-SCREEN ON TO_NMBER.
PERFORM CHECK_NUMBER USING TO_CNTRY TO_NMBER.
*& Form CHECK_NUMBER
FORM CHECK_NUMBER USING
COUNTRY
NUMBER.
DATA: SERVICE LIKE TSKPA-SERVICE VALUE 'TELEFAX',
LEN LIKE SY-FDPOS.
FIELD-SYMBOLS <P>.
windows GUI push the ? from mandatory input instead
of overwriting it
LEN = STRLEN( TO_NMBER ).
IF LEN > 1.
SUBTRACT 1 FROM LEN.
ASSIGN TO_NMBER+LEN(1) TO <P>.
IF <P> = '?'.
<P> = SPACE.
ENDIF.
ENDIF.
official check FM
CALL FUNCTION 'TELECOMMUNICATION_NUMBER_CHECK'
EXPORTING
COUNTRY = COUNTRY
NUMBER = NUMBER
SERVICE = SERVICE.
on old 21?/22? release you may have to handle the
exception
because the Function uses RAISE instead of
MESSAGE... RAISING....
ENDFORM. " CHECK_NUMBER
*& Form FILL_UP_TEST_DOC
fills test text in itab TEST_DOC *
real life example needs to get real life data *
FORM FILL_UP_TEST_DOC.
DATA: DATUM(12) TYPE C,
UZEIT(10) TYPE C.
SAPscript initialization
of course, you may want to set a few parameter
(FORM,LAYOUT,....)
CALL FUNCTION 'INIT_TEXT'
EXPORTING
ID = 'ST '
LANGUAGE = SY-LANGU
NAME = 'FOO-BAR'
OBJECT = 'TEXT'
IMPORTING
HEADER = HEADER
TABLES
LINES = TEST_DOC
EXCEPTIONS
OTHERS = 1.
IF SY-SUBRC <> 0.
MESSAGE A400 WITH 'INIT_TEXT'.
ENDIF.
PERFORM ADD_EMPTY_LINE.
WRITE: SY-DATUM TO DATUM.
WRITE: SY-UZEIT TO UZEIT.
PERFORM ADD_LINES USING 'This is test Telefax'(001)
DATUM UZEIT.
PERFORM ADD_EMPTY_LINE.
PERFORM ADD_LINES USING 'From: &'(002) FROM_USR SPACE.
PERFORM ADD_LINES USING 'To: &'(003) TO_RECIP SPACE.
PERFORM ADD_LINES USING 'Fax number: & &'(004)
TO_CNTRY TO_NMBER.
PERFORM ADD_EMPTY_LINE.
PERFORM ADD_LINES USING
'This is a test fax send by Report RSKSENDF'(005)
SPACE SPACE.
PERFORM ADD_LINES USING 'on SAP system & '(006)
SY-SYSID SPACE.
PERFORM ADD_EMPTY_LINE.
PERFORM ADD_LINES USING
'the quick brown fox jumps over the lazy dog.'(101)
SPACE SAPCE.
PERFORM ADD_LINES USING
'THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG.'(102)
SPACE SAPCE.
PERFORM ADD_EMPTY_LINE.
PERFORM ADD_LINES USING 'End of test'(007) SPACE
SPACE.
ENDFORM. " FILL_UP_TEST_DOC
*& Form ADD_LINES
printf a line an appends it in test_doc *
--> cformat format.
--> p1 param1
--> p2 param2
FORM ADD_LINES USING CFORMAT P1 P2.
TEST_DOC-TDFORMAT = '/'.
TEST_DOC-TDLINE = CFORMAT.
IF TEST_DOC-TDLINE CA '&'.
REPLACE '&' WITH P1 INTO TEST_DOC-TDLINE.
IF TEST_DOC-TDLINE CA '&'.
REPLACE '&' WITH P2 INTO TEST_DOC-TDLINE.
ENDIF.
ENDIF.
APPEND TEST_DOC.
ENDFORM. " ADD_LINES
*& Form ADD_EMPTY_LINE
appends an empty line to test_doc *
FORM ADD_EMPTY_LINE.
TEST_DOC-TDFORMAT = '/'.
CLEAR TEST_DOC-TDLINE.
APPEND TEST_DOC.
ENDFORM. " ADD_EMPTY_LINE
*& Form SHOW_TEST_DOC
lists the test doc for aproval *
*>>>> this is for fun only because PRINT_TEXT also
offers a preview *
FORM SHOW_TEST_DOC.
FORMAT COLOR COL_BACKGROUND INTENSIFIED OFF.
WRITE: / 'Test fax would look like this:'(020).
ULINE.
SKIP.
LOOP AT TEST_DOC.
IF TEST_DOC-TDLINE <> SPACE.
WRITE:/ TEST_DOC-TDLINE.
ELSE.
SKIP.
ENDIF.
ENDLOOP.
SKIP.
ULINE.
FORMAT COLOR COL_POSITIVE INTENSIFIED OFF.
WRITE: 'Press PF8 to send it'(021).
ENDFORM. " SHOW_TEST_DOC
*& Form SEND_FAX
send fax by calling SAPscript *
Note: Instead of using PRINT_TEXT you may also *
call OPEN_FORM / WRITE_FORM_LINES / CLOSE_FORM, *
this allows you to use a similar program structure *
as with NEW-PAGE PRINT ON / WRITE / NEW-PAGE PRINT
OFF *
FORM SEND_FAX
TABLES DOC2FAX STRUCTURE TEST_DOC
USING COUNTRY
NUMBER.
DATA: SID(5) TYPE N.
DATA BEGIN OF POPT.
INCLUDE STRUCTURE ITCPO.
DATA END OF POPT.
DATA BEGIN OF PRES.
INCLUDE STRUCTURE ITCPP.
DATA END OF PRES.
CLEAR POPT.
POPT-TDCOPIES = 1. " one copy
POPT-TDDEST = " done internaly by script,
POPT-TDPRINTER = " do not fill !!!
POPT-TDNEWID = 'X'. " do not reuse old spool request
POPT-TDDATASET = 'TEST'(022). " fill as you want
POPT-TDSUFFIX1 = 'FAX'(023). " fill as you want
POPT-TDSUFFIX2 = SY-UNAME. " fill as you want
POPT-TDIMMED = 'X'. " send now
POPT-TDLIFETIME = 8. " keep 8 days in spool
POPT-TDTELENUM = NUMBER. " number without country code
POPT-TDTELELAND = COUNTRY. " country of recipient
POPT-TDCOVER = 'test fax'(024).
POPT-TDCOVTITLE = 'test fax'(024).
POPT-TDIEXIT = 'X'.
CALL FUNCTION 'PRINT_TEXT'
EXPORTING
APPLICATION = 'TX'
ARCHIVE_INDEX = ' '
ARCHIVE_PARAMS = ' '
DEVICE = 'TELEFAX' "<<< here we say: fax it !
DIALOG = 'X'
HEADER = HEADER
OPTIONS = POPT
IMPORTING
RESULT = PRES
TABLES
LINES = DOC2FAX
EXCEPTIONS
OTHERS = 01.
do not bother with exception in sample code
CANCELED = 01
DEVICE = 02
FORM = 03
OPTIONS = 04
UNCLOSED = 05
UNKNOWN = 06
FORMAT = 07
TEXTFORMAT = 08
EXTERNAL = 09.
IF SY-SUBRC = 0.
arriving here means we could send:
SID = PRES-TDSPOOLID.
IF SID > '00000'.
MESSAGE S433 WITH SID.
ENDIF.
LEAVE .
ELSE.
do not bother with exception in sample code
MESSAGE A400 WITH 'PRIN_TEXT'.
ENDIF.
ENDFORM. " SEND_FAX

Similar Messages

  • Sending Smartform through Fax

    Hai All,
       could anyone help me with the sample code..I want to know the parameters for fax while calling the function module..
    Thanks

    HI LAXMI,
    CHECK THESE THREADS...
    Sending Smartforms through Fax
    Sending SMARTFORM output to FAX gateway
    How to fax a smartform?

  • Problem while sending Smartform through Fax

    Hi Folks,
    I am sending a Smartform through fax by setting the essential Control Parameters and Output Options while calling the function module of the Smartform.
    In SOST I get the status message 710(Message transferred to node FAX(...) ) and later in around 20 minutes the message 812(No delivery to FAX(.......fax no) ) occurs for some requests.
    Only few requests are sent successfully by the same program and same O/P Type and shows the status message 701(Delivered to FAX (................)).
    There is no much time difference between those requests while creating.
    Do you know what could be the problem?
    Can you help me in solving the issue?

    may it be that in those cases where it doesnt work, that you got no fax number?
    Since it works soemtimes, it seems there are no errors, but rather in some cases some important info is missing, fax number may be one of thsoe important info in a FAX scenario.

  • Problems when trying to send a smartform through fax

    Hi,
    Im currently confronting a problem when sending smartforms through fax to multiple recipients.
    This is the scenario Im working on:
    The client needs to be able to send a document, could be a PO or invoices, to diferent recipients at the same time. So far in case of purchase orders, we have been able to find the respective faxes and emails for each of the partner functions.
    Functionality for email is working as desired but when sending faxes I have problems.
    Reviewing the output through SOST I get all my receipients which are email and faxes. Emails are fine since it creates a PDF attachment with the order and all of its details.
    For fax I get the same even though the paramenters are set for fax.
    Here is my code if you could please help me here on this one.
    SELECT lifn2 FROM EkPA into l_ekpa-lifn2
                 WHERE EBELN = a_EBELN.
        APPEND l_EKPA.
      ENDSELECT.
      SELECT adrnr
        FROM lfa1
        INTO itab-q_adrnr
        FOR ALL ENTRIES IN l_ekpa WHERE lifnr = l_ekpa-lifn2.
        APPEND itab.
      ENDSELECT.
    *& End of partner address
    *& Selection of Address or Fax number from ADR3 & ADR6 according to ADRNR
    *& Nato
      IF sy-subrc EQ 0.
        loop at itab.
          SELECT SINGLE smtp_addr INTO (itab-q_mail)
       from adr6 where addrnumber = itab-q_adrnr and flg_nouse eq space.
          IF itab-q_mail ne Space.
            Move 'U' to itab-q_typ2(1).
            Move 'X' to itab-q_express(1).
          Move 'EXT' to itab-XOBJT.
          ENdIF.
       SELECT SINGLE FAXNR_LONG INTO (itab-q_fax)
          SELECT SINGLE country FAX_NUMBER INTO (itab-q_cty, itab-q_fax )
       from adr3 where addrnumber = itab-q_adrnr and flg_nouse eq space.
          If itab-q_fax ne space.
            Move 'F' to itab-q_typ(1).
            Move 'TELEFAX' to itab-q_com.
          Endif.
          Modify itab.
        endloop.
    *&  END of ITAB
        CLEAR : DOC_CHNG.
        REFRESH LINES.
        IF NAST-NACHA eq '7'.
    * Fill both the fax & email Receiver lists
          clear:   reclist, reclist2.
          refresh: reclist, reclist2.
    *& loop table itab to update receipient list in table Reclist
    *& Nato
          loop at itab.
            IF not itab-q_typ is initial.
             concatenate itab-q_cty itab-q_fax into reclist2-RECNAM separated by space. "FAX NUMBER
              move itab-q_fax to reclist2-receiver. "FAX NUMBER
    *&>>>>>>>>>>>>>>>>>>>new entry for testing nato 080206<<<<<<<<<<<&
              move itab-q_cty to RECLIST2-COUNTRY.        "Country Code
              move itab-q_fax to Reclist2-FAX.            "Fax number
    *&>>>>>>>>>>>>>>ENd of entry<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<&
              move itab-q_typ to REClist2-REC_TYPE.  "Communication type for fax
          move itab-q_EXPRESS to Express.        "comment for testing
              move itab-q_com to REClist2-COM_TYPE.
              Move 'X' to reclist2-NOTIF_DEL.
             Move 'TELEFAX' to reclist2-SNDART.    "TYPE OF DEVICE
              Move a_ebeln to sood-OBJDES.              "new addition for testing nato
              append Reclist2.
            endif.
            IF not itab-q_typ2 is initial.
              move itab-q_mail to REclist-receiver.  "SMT ADDRESS
              move itab-q_typ2 to REClist-REC_TYPE.
              move itab-q_EXPRESS to REClist-express.
              move 'X' to reclist-TO_ANSWER.
              Move a_ebeln to sood-OBJDES.              "new addition for testing nato
          move itab-q_com to REClist-COM_TYPE.   "comment for testing only
              append Reclist.
            Endif.
            move reclist-receiver to address.
          endLoop.
    *& END OF RECipient
        ENDIF.
        DOC_CHNG-OBJ_DESCR  = nast-objky.
      ELSE.
        IF RECLIST IS INITIAL.
         LOOP AT reclist INTO RECIPIENT .        " This logic might get commented or deleted. Nato 08/01/06
         ENDLOOP.
        ENDIF.
        DOC_CHNG-OBJ_DESCR  = L_TITLE.
      ENDIF.
      IF RECLIST[] IS INITIAL.
        MESSAGE E573(VE) RAISING RECEIVER_NOT_FOUND.
      ENDIF.
    *& New entry to determine path according to communication
    *& type
    *& If comm type eq U follow convert_otf
    *& then Read text, finaly send API
    *& If comm type eq F follow path to "Convert OTF & FAX
    *& Nato 080106
      REFRESH : HOTFDATA, LT_SOLIX, OBJBIN.
      LOOP AT JOB_OUTPUT_INFO-OTFDATA INTO HOTFDATA.
        APPEND HOTFDATA.
      ENDLOOP.
    *& Prepare content to be converted to PDF format
    *& nato
      CALL FUNCTION 'CONVERT_OTF'
           EXPORTING
                FORMAT                = 'PDF'
                    MAX_LINEWIDTH         = 132
           IMPORTING
                BIN_FILESIZE          = DOC_SIZE
                BIN_FILE              = LD_BINFILE
           TABLES
                OTF                   = HOTFDATA
                LINES                 = HTLINE
           EXCEPTIONS
                ERR_MAX_LINEWIDTH     = 1
                ERR_FORMAT            = 2
                ERR_CONV_NOT_POSSIBLE = 3
                OTHERS                = 4.
    *& new entry just for test today 080306
    *&nato
    *endif.
    *&--end of entry--
      I = 0.
      N = XSTRLEN( LD_BINFILE ).
      WHILE I < N.
        LT_SOLIX-LINE = LD_BINFILE+I.
        APPEND LT_SOLIX.
        I = I + 255.
      ENDWHILE.
    *& end of convertion pdf
      LOOP AT LT_SOLIX INTO WA_SOLIX.
        CLEAR WA_SOLI.
        ASSIGN WA_SOLI TO <PTR_HEX> CASTING.
        MOVE WA_SOLIX TO <PTR_HEX>.
        APPEND WA_SOLI TO OBJBIN.
      ENDLOOP.
    *& Prepare send mail
      CLEAR : NAME, DOCNAME.
      REFRESH : OBJTXT, OBJPACK.
      CONCATENATE NAST-KAPPL NAST-KSCHL INTO NAME.
      CONDENSE NAME.
      IF NAST-NACHA NE '7'.
        CALL FUNCTION 'READ_TEXT'
          EXPORTING
      CLIENT                        = SY-MANDT
            ID                            = 'STAM'
            LANGUAGE                      = SY-LANGU
            NAME                          = NAME
            OBJECT                        = 'OCS'
      ARCHIVE_HANDLE                = 0
      LOCAL_CAT                     = ' '
    IMPORTING
      HEADER                        =
          TABLES
            LINES                         = LINES
       EXCEPTIONS
         ID                            = 1
         LANGUAGE                      = 2
         NAME                          = 3
         NOT_FOUND                     = 4
         OBJECT                        = 5
         REFERENCE_CHECK               = 6
         WRONG_ACCESS_TO_ARCHIVE       = 7
         OTHERS                        = 8
        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.
      CONCATENATE NAST-OBJKY '.PDF' INTO DOCNAME .
      CONDENSE DOCNAME.
    *endif.      "temp nato -080406
      if reclist-rec_type eq 'U'.
        DOC_CHNG-OBJ_NAME   = 'Delivery'.
        LOOP AT LINES.
          OBJTXT = LINES-TDLINE.
          APPEND OBJTXT.
        ENDLOOP.
        DESCRIBE TABLE OBJTXT LINES TAB_LINES.
        IF TAB_LINES > 0.
          READ TABLE OBJTXT INDEX TAB_LINES.
          DOC_CHNG-DOC_SIZE  = ( TAB_LINES - 1 ) * 255 + STRLEN( OBJTXT ).
        ENDIF.
        CLEAR OBJPACK-TRANSF_BIN.
        OBJPACK-HEAD_START = 1.
        OBJPACK-HEAD_NUM   = 0.
        OBJPACK-BODY_START = 1.
        OBJPACK-BODY_NUM   = TAB_LINES.
        OBJPACK-DOC_TYPE   = 'RAW'.
        APPEND OBJPACK.
        DESCRIBE TABLE OBJBIN LINES TAB_LINES.
        OBJHEAD            = DOCNAME.
        APPEND OBJHEAD.
        OBJPACK-TRANSF_BIN = 'X'.
        OBJPACK-HEAD_START = 1.
        OBJPACK-HEAD_NUM   = 1.
        OBJPACK-BODY_START = 1.
        OBJPACK-BODY_NUM   = TAB_LINES.
        OBJPACK-DOC_TYPE   = 'PDF'.
        OBJPACK-OBJ_NAME   = 'Delivery'.
    OBJPACK-OBJ_DESCR  = NAST-OBJKY.
        OBJPACK-OBJ_DESCR  = A_EBELN.
        OBJPACK-DOC_SIZE   = TAB_LINES * 255.
        APPEND OBJPACK.
        break nhernandez.
        CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
          EXPORTING
             DOCUMENT_DATA                    = DOC_CHNG
        PUT_IN_OUTBOX                    = 'X'
      COMMIT_WORK                      = ' '
    IMPORTING
      SENT_TO_ALL                      =
      NEW_OBJECT_ID                    =
          TABLES
           PACKING_LIST                     = OBJPACK
           OBJECT_HEADER                    = OBJHEAD
           CONTENTS_BIN                     =  OBJBIN
           CONTENTS_TXT                     =  OBJTXT
      CONTENTS_HEX                     =
      OBJECT_PARA                      =
      OBJECT_PARB                      =
            RECEIVERS                        =  RECLIST
      EXCEPTIONS
       TOO_MANY_RECEIVERS               = 1
       DOCUMENT_NOT_SENT                = 2
       DOCUMENT_TYPE_NOT_EXIST          = 3
       OPERATION_NO_AUTHORIZATION       = 4
       PARAMETER_ERROR                  = 5
       X_ERROR                          = 6
       ENQUEUE_ERROR                    = 7
       OTHERS                           = 8
        IF SY-SUBRC <> 0.
          MESSAGE E081(ZGLO) WITH SY-SUBRC RAISING MAIL_SENDING_ERROR.
        ENDIF.
      endif.
    AM I missing something?

    Hi Nat,
    You can check this link which shows how to use the PRINT_TEXT for sending fax.
    http://www.sap-img.com/abap/sending-fax-from-abap.htm
    Also you can check these
    Smartforms
    Sending Smartforms through Fax
    Sending SMARTFORM output to FAX gateway
    How to fax a smartform?
    /people/pavan.bayyapu/blog/2005/08/30/sending-html-email-from-sap-crmerp
    ftp
    Cheers
    VJ

  • Configuration to send the smartform through fax

    Hi,
    I have used CONVERT_OTF_AND_FAX and SO_OBJECT_SEND FM's to send the smartform through fax.After executing SO_OBJECT_SEND function module,I am getting sy-subrc alue as 9(OBJECT_NOT_SEND).I am able to send the document through fax.But when I click on display in SOST transaction it is just printing the output of the smartform.It is not coming in PDF format.
    The code looks fine.I think there is some problem with confuration settings.Is there any configuration to be done to send the smartform  output through fax?
    Please reply.
    Regards,
    Hema

    Hi,
    Actually,my requirement is to send the smartform output through email with medium 'external send'.I have done some coding for that.it is working fine and I am able to send the smartform through email and open the attachment in PDF format.
    But if the email id of the recipient is not present then the smartform output has to be sent through fax with the same medium 'external send'.
    So I have done some coding to send the smartform through fax when the email id is not present.
    I am able to send the output of smartform through fax.But when I clicked on display in SOST transaction,it is not coming in PDF format.It is coming in RAW format.
    Is it possible to send the smartform output through fax with medium 'external send'?
    Regards,
    Hema

  • Error in sending smartform as fax

    Hi everyone,
    I am trying to send a smartform through Fax, and i am getting the following error;
    Cannot process message in node, parameters cannot be converted
         Message no. XS821
    Diagnosis
         The message cannot be processed in the node as parameters such as 'Send
         time' or 'Priority' cannot be converted. It is possible that entire
         parameters such as 'Recipient list' or 'Packet list' are missing.
    System Response
         Processing was terminated.
         SAP system additional information (error number, if available):
         MRSUM
         Additional information of the node used (in the system language of the
         node)
    Can you guys please help me solving this problem?
    Thanking you,
    Kind regards,
    I have changed my code several times, using different functions to send  the fax and i am getting the same error message each time.
    Please find below the piece of code i am using to send the fax.
    DATA:GT_MAIL_LINES TYPE STANDARD TABLE OF soli.
      data: gs_mail_lines TYPE soli.
    DATA: ls_object_hd TYPE sood1,
    ls_receivers TYPE soos1,
    lt_receivers TYPE STANDARD TABLE OF soos1,
    l_lines TYPE i,
    ls_sadrfd TYPE sadrfd.
    CLEAR: ls_object_hd, ls_receivers.
    REFRESH lt_receivers.
    ls_object_hd-objla = sy-langu.
    ls_object_hd-objnam = 'NOTE'.
    ls_object_hd-objdes = 'Fax subject line in here'.
    "Calculate size of table
    DESCRIBE TABLE gt_mail_lines LINES l_lines.
    READ TABLE gt_mail_lines INDEX l_lines INTO gs_mail_lines.
    ls_object_hd-objlen = ( l_lines - 1 ) * 255 + STRLEN( gs_mail_lines ).
    "Set Fax control structure
    "Fax number in structure must have no leading zero
    "as this is added by SAPOffice from the country code
    ls_sadrfd-rec_fax = '4421844
    ls_sadrfd-rec_street = 'Addr'.
    ls_sadrfd-rec_town = 'Addr'.
    ls_sadrfd-rec_name1 = 'Name'.
    ls_sadrfd-rec_state = 'MU'.
    ls_sadrfd-form_langu = 'EN'.
    ls_sadrfd-fax_form = 'Z_FAX_COVER'.
    ls_sadrfd-send_comp = 'USER'
    ls_sadrfd-send_immi = 'X'.
    ls_sadrfd-send_nam = sy-uname.
    ls_sadrfd-send_date = sy-datum.
    ls_sadrfd-send_time = sy-uzeit.
    "Convert Receiver information to char field
    CALL FUNCTION 'C147_WORKAREA_TO_CHARFIELD'
    EXPORTING
    I_WORKAREA = ls_sadrfd
    IMPORTING
    E_CHARFIELD = ls_receivers-recextnam.
    ls_receivers-recesc = 'F'.
    ls_receivers-mailstatus = 'E'.
    ls_receivers-sndart = 'FAX'.
    ls_receivers-sndpri = '1'.
    APPEND ls_receivers TO lt_receivers.
    "Send fax
    CALL FUNCTION 'SO_OBJECT_SEND'
    EXPORTING
    object_hd_change = ls_object_hd
    object_type = 'RAW'
    owner = sy-uname
    originator_type = 'B'
    TABLES
    objcont   = gt_mail_lines
    receivers = lt_receivers
    EXCEPTIONS
    OTHERS = 01.
    break buantoch.
    "The function doesn't commit so we must
    "do it if successful.
    IF sy-subrc = 0.
    COMMIT WORK AND WAIT.
    ELSE.
    WRITE: / 'Fax failed RAISE ERROR '(012).
    ENDIF.

    Hi,
    Then, you can test the FAX fuctionality like:
    go to System->Short Message->give a test message,give recipient as the FAX number,type as FAX->Shift+F8 the see if it works... else only SCOT errors will be there...
    See:
    http://help.sap.com/saphelp_nw2004s/helpdata/en/2b/d925bf4b8a11d1894c0000e8323c4f/frameset.htm
    Also see:
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/4b4fa090-0201-0010-d3b7-b233296d95ff
    Regards,
    Renjith Michael.

  • Send smartforms as fax and email

    Hi SAP gurus,
    Can you please tell me on how to send smartforms as fax and email?
    I would really appreciate your help.
    Thanks in advance.

    Hi,
    Check the below link.
    http://help.sap.com/saphelp_nw2004s/helpdata/en/a5/28d3b9d26211d4b646006094192fe3/content.htm
    Thanks,
    Sankar M

  • Sending smartform through email or fax

    Hi,
    I have to send the smartform output through email if the email address is present else it has to be sent through fax.
    When I tested the program it is giving information message as 'Output was successfully issued'.But I am not able to see any entry in SOST transaction.What would be the reason for this?

    In SAP Table USR21, put enter the username in field BNAME, from there you will get the ADDRNUMBER

  • Send report through Fax

    Can any body please tell me how to send a report through fax, when the fax modem is connected to the server or to any client

    Hi Yadala
    In 9i Reports Services provides you with mechenism to attach a pluggable destination which in your case can be a fax. You can refer Reports java API for pluggable destination interface and attach your own code to do this task.
    You can also refer FAX using Oracle9iAS Wireless plugin example at following url:
    http://otn.oracle.com/products/reports/pluginxchange/content.html
    This uses Oracle9iAS Wireless to fax report output.
    Thanks
    The Oracle Reports Team

  • Sending Smartform as fax

    Hi All ,
    I have a requirement in which i need to send Smartform output as a Fax . fax number will be filled dynamically in the program in a  internal table .
    Any pointer to will be useful .
    If You can send a sample code it would be best ,
    Regards
    Saurabh Garg

    I don't have any code but this is the notes i've tought it would be helpfull to you. ANd before this your system should be configured for the Fax settings.
    Another important field is DEVICE where in the type of output type device is specified. The possible set of values is PRINTER, TELEFAX and MAIL. The default is PRINTER. If the TELEFAX is chosen it shows a dialog box where in all the fax parameters can be entered. This dialog box can also be suppressed. And the preview option can be enabled. The problem here is it will not give any exception or prompt the user to enter the Fax Number and its parameters even if they are not maintained properly. So take care of maintaining them in the OUTPUT_OPTIONS parameter.
    Key Note: Fax the output.
              TDTELELAND used to refer to the 2 digit country code. The country key                contains information which the system uses to check entries such as the                length of the postal code or bank account number.
       TDTELENUM and TDTELENUME Telecommunication number, as it is       dialed in the receiving country. The country dialing code is      automatically      added. Alternatively an '&' can be used as the first character to disable      number testing and number formatting.  In this case you must enter the      complete number, inclusive of country dialing code but without the      exchange.
         TDFAXUSER SAP: Office user name. Default is user’s name.
         TDSCHEDULE: Using this field the send mode can be set like whether it       is to be send immediately ( Value ‘IMM’)or at night ( Value ‘NIG’).
         TDSENDDATE: This is requested send date.
         TDSENDTIME: This is requested send time.
         BCS_REQST: This contains the mode in which the request status is sent      back. If it is set to ‘N’ no status is to be returned, if ‘E’ only error status is      to be returned and if ‘A’ all statuses are to be returned.
         BCS_STATUS: Setting for Which Statuses Are Reported by Mail. If it is           set to ‘N’ no status is to be returned, if ‘E’ only error status is     to be returned and if ‘A’ all statuses are to be returned.
         BCS_COMMIT: This is a general flag that is specifically does not have any use. This can be used to pass any other flag from the program.

  • Sending smartform through email as PDF attachment

    Hi,
    I want to send a smartform through email as pdf attachment.In the code I have hardcoded the receiver mail id.But I don't want this to be sent only to a particular receiver.I want this to be sent as many people as I can without hardcoding their mail id's in the program.How can I do that?
    Regards,
    Hema

    **Data Declarations
    **Internal Table
    DATA : BEGIN OF it_spfli OCCURS 0,
              carrid LIKE spfli-carrid,
              connid LIKE spfli-connid,
           END OF it_spfli.
    DATA:   it_packing_list LIKE sopcklsti1 OCCURS 0 WITH HEADER LINE,
            it_contents     LIKE solisti1 OCCURS 0 WITH HEADER LINE,
    storing receivers      
            it_receivers    LIKE somlreci1 OCCURS 0 WITH HEADER LINE,
    **storing file attachment data
            it_attachment   LIKE solisti1 OCCURS 0 WITH HEADER LINE,                    gd_doc_data     LIKE sodocchgi1,
            gd_error        TYPE sy-subrc,
            l_gntxt         LIKE t357g_t-gntxt,
            lv_message(100) TYPE c.
    DATA:   it_message TYPE STANDARD TABLE OF solisti1 INITIAL SIZE 0
                    WITH HEADER LINE. "storing mail body
    DATA : psubject(30) TYPE c VALUE 'Sample Mail'. "subject of the mail
    DATA : ld_format TYPE so_obj_tp , "file format
           ld_attfilename TYPE so_obj_des, "file name
           w_cnt TYPE i.
    **Selecting the data
    SELECT carrid connid INTO TABLE it_spfli FROM spfli WHERE carrid EQ 'AA'.
    **Perform for populating mail body
    PERFORM populate_message.
    **Perform for populating file attachment
    PERFORM populate_attachment.
    **Perform for populating mail characteristic info
    PERFORM populate_pack.
    **Perform for populating receivers
    PERFORM populate_receivers.
    **Perform to send mail
    PERFORM send_mail.
    *&      Form  populate_message
          text
    -->  p1        text
    <--  p2        text
    FORM populate_message .
    **Populating the body
      lv_message = 'Sample mail for testing purpose.'.
      APPEND lv_message TO it_message.
    ENDFORM.                    " populate_message
    *&      Form  populate_attachment
          text
    -->  p1        text
    <--  p2        text
    FORM populate_attachment .
    **Populating the attachment file with the data from final intenal table
      CONCATENATE 'CARRIER ID'
                  'CONNECTION ID'
                  INTO it_attachment SEPARATED BY
                  cl_abap_char_utilities=>horizontal_tab.
      CONCATENATE cl_abap_char_utilities=>cr_lf it_attachment INTO
      it_attachment.
      APPEND it_attachment.
      LOOP AT it_spfli.
        CONCATENATE it_spfli-carrid it_spfli-connid INTO it_attachment SEPARATED BY
                 cl_abap_char_utilities=>horizontal_tab.
        CONCATENATE cl_abap_char_utilities=>cr_lf it_attachment INTO
        it_attachment.
        APPEND it_attachment.
      ENDLOOP.
    ENDFORM.                    " populate_attachment
    *&      Form  populate_receivers
          text
    -->  p1        text
    <--  p2        text
    FORM populate_receivers .
    **Populating Mail Recepients
    **If there are more than one mail recepient then loop and append them to it_receivers
      it_receivers-receiver = '[email protected]'.
      it_receivers-rec_type = 'U'.
      it_receivers-com_type = 'INT'.
      it_receivers-notif_del = 'X'.
      it_receivers-notif_ndel = 'X'.
      it_receivers-express = 'X'.
      APPEND it_receivers.
    ENDFORM.                    " populate_receivers
    *&      Form  populate_pack
          text
    -->  p1        text
    <--  p2        text
    FORM populate_pack .
    **File Type
      ld_format = 'XLS'.
    **File Name
      ld_attfilename = 'File1'.
    Fill the document data.
      gd_doc_data-doc_size = 1.
    Populate the subject/generic message attributes
      gd_doc_data-obj_langu = sy-langu.
      gd_doc_data-obj_name = 'SAPRPT'.
      gd_doc_data-obj_descr = psubject .
      gd_doc_data-sensitivty = 'F'.
    Fill the document data and get size of attachment
      CLEAR gd_doc_data.
    Populate the subject/generic message attributes
      gd_doc_data-obj_langu = sy-langu.
      READ TABLE it_attachment INDEX w_cnt.
      gd_doc_data-doc_size = ( w_cnt - 1 ) * 255 + STRLEN( it_attachment ).
      gd_doc_data-obj_name  = 'SAPRPT'.
      gd_doc_data-obj_descr = psubject.
      gd_doc_data-sensitivty = 'F'.
    Describe the body of the message
      CLEAR it_packing_list.
      REFRESH it_packing_list.
      it_packing_list-transf_bin = space.
      it_packing_list-head_start = 1.
      it_packing_list-head_num = 0.
      it_packing_list-body_start = 1.
      DESCRIBE TABLE it_message LINES it_packing_list-body_num.
      it_packing_list-doc_type = 'RAW'.
      APPEND it_packing_list.
    **Describe the attachment info
      it_packing_list-transf_bin = 'X'.
      it_packing_list-head_start = 1.
      it_packing_list-head_num = 1.
      it_packing_list-body_start = 1.
      DESCRIBE TABLE it_attachment LINES  it_packing_list-body_num.
      it_packing_list-doc_type = ld_format.
      it_packing_list-obj_name = ld_attfilename.
      it_packing_list-obj_descr = ld_attfilename.
      it_packing_list-doc_size = it_packing_list-body_num * 255.
      APPEND it_packing_list.
    ENDFORM.                    " populate_pack
    *&      Form  send_mail
          text
    -->  p1        text
    <--  p2        text
    FORM send_mail .
    **Function Module to send mail
      CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
        EXPORTING
          document_data              = gd_doc_data
          put_in_outbox              = 'X'
          commit_work                = 'X'
        TABLES
          packing_list               = it_packing_list
          contents_bin               = it_attachment
          contents_txt               = it_message
          receivers                  = it_receivers
        EXCEPTIONS
          too_many_receivers         = 1
          document_not_sent          = 2
          document_type_not_exist    = 3
          operation_no_authorization = 4
          parameter_error            = 5
          x_error                    = 6
          enqueue_error              = 7
          OTHERS                     = 8.
    ENDFORM.                    " send_mail

  • Sending smartform by fax with fm 'CONVERT_OTF_AND_FAX'

    Hi all,
    i'm having problems with the sending of smartforms by fax using the fm 'CONVERT_OTF_AND_FAX'.
    Precisely, i have written a fm that does the following steps:
    1- calls the smartform passing the parameter control_parameters as
            ls_control_param-device = 'TELEFAX'.
            ls_control_param-getotf    = 'X'.
            ls_control_param-no_dialog = 'X'.
           CALL FUNCTION lf_fm_name
              EXPORTING
                  control_parameters = ls_control_param
             IMPORTING
                    job_output_info    = job_output_info
    2- sets the parameter faxoption of the fm 'CONVERT_OTF_AND_FAX' as
                 faxoptions-tdotftype = 'ASC'.
                 faxoptions-faxformat = 'ASC'.
                 faxoptions-tddevice = 'TELEFAX'.
                 faxoptions-tdteleland = 'IT'.
                 faxoptions-tdtelenum = faxnumber.
                 faxoptions-tdsenddate = sy-datum.
                 faxoptions-tdsendtime = sy-uzeit.
                 faxoptions-tdcover = ' '.
                 faxoptions-tdtitle = 'Fax di Prova ASC'.
             the faxnumber format is:
                          dialling code + fax number
             for example, if the dialling code is 06 and the fax number is 123456789, the value assigned to faxoptions-tdtelenum is 06123456789
    3- calls the fm 'CONVERT_OTF_AND_FAX' as follow (the table otf_data is taken from the smartform)
                  CALL FUNCTION 'CONVERT_OTF_AND_FAX'
                      EXPORTING
                           faxoptions         = faxoptions
                           user               = sy-uname
                      TABLES
                           otf                = otf_data[]
                   COMMIT WORK.   
    The fm seems to be working because the document to be sent is accounted on the SOST transaction, but after i send it by SOST, the fax recipient doesn't receive nothing.
    Why? There are some additional parameters to be added?
    Thanks.
    Lello

      DATA: zstructure TYPE zsolstructure OCCURS 0   WITH HEADER LINE,
                 faxoptions TYPE itcpp.
      DATA: numerofax LIKE faxoptions-tdtelenum.
    lf_formname = 'ZSTAMPA_PROVAFAX'.
      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.
      ls_control_param-device = 'TELEFAX'.
      ls_control_param-getotf    = 'X'.
      ls_control_param-no_dialog = 'X'.
    CALL FUNCTION lf_fm_name
        EXPORTING
          control_parameters = ls_control_param
          datastructure      = zstructure
          v_langu            = v_langu
        IMPORTING
          job_output_info    = job_output_info
          totpage            = totalpage
        TABLES
          f150v              = t_f150v
        EXCEPTIONS
          formatting_error   = 1
          internal_error     = 2
          send_error         = 3
          user_canceled      = 4
          OTHERS             = 5.
      MOVE: job_output_info-otfdata[] TO otf_data[].
      faxoptions-tdotftype = 'ASC'.
      faxoptions-faxformat = 'ASC'.
      faxoptions-tddevice = 'TELEFAX'.
      faxoptions-tdteleland = 'IT'.
      numerofax = '0612345678'.
      faxoptions-tdtelenum = numerofax.
      faxoptions-tdsenddate = sy-datum.
      faxoptions-tdsendtime = sy-uzeit.
      faxoptions-tdtitle = 'Fax di Prova ASC'.
      faxoptions-TDCOPIES    = 1.
      faxoptions-TDNEWID     = 'X'.
      faxoptions-TDDATASET   = 'Notification'.
      faxoptions-TDSUFFIX1   = 'FAX'.
      faxoptions-TDSUFFIX2   = SY-UNAME.
      faxoptions-TDIMMED     = 'X'.
      faxoptions-TDLIFETIME  = 8.
      faxoptions-TDCOVER     = 'Prova FAX'.
      faxoptions-TDCOVTITLE  = 'Prova FAX'.
    CALL FUNCTION 'CONVERT_OTF_AND_FAX'
      EXPORTING
        faxoptions         = faxoptions
        user               = sy-uname
    * IMPORTING
    *   FAX_OK             =
    *   OFFICE_OBJID       =
    *   MSGID              =
    *   MSGNO              =
    *   MSGV1              =
    *   MSGV2              =
    *   MSGV3              =
    *   MSGV4              =
      TABLES
        otf                = otf_data[]
      COMMIT WORK.
    SUBMIT rsconn01 WITH mode = 'FAX' WITH output = 'X' AND RETURN.
    I have put as fax number 0612345678 instead of the real number for privacy.

  • Print preview + sending smartform through attachment

    Hello experts,
    I have one smartform whose output is to be sent as email attachment.
    THe porblem is that i need to have preveiw also with email funtionality.
    When i give GETOTF paramter as 'X',it doesnot show preview and when i m passing it as blank,then it is not triggering a mail.
    May we have both functionalities at the same time.
    If yes ,how?

    Hi Anurodh,
    1. First call the smartform passing GETOTF as X and  NO_DIALOG as X, by doing this you get the the OTF table which you can send as an attachment.
    2. next once you are done with your mail send logic, call the smartform again only for preview
    even this looks like a redundant one but there is no way out.
    hope this helps.
    venkatesh.

  • Problem With Sending Notification Through Fax While Creating A PO

    Hi All,
    While creating a purchase order with the output medium set to as FAX, once we click on save the entire information is actually faxed to the Number provided in the communication medium.
    Now if a problem occurs, usually a notification message is displayed, the issue is, the notification message is not getting displayed anymore even if the the fax is not being sent.
    Hence the user has no way of know that a fax was sent or not unless he check his inbox.
    I have spoken to the Basis and the Functional Consultants and they say that there is nothing wrong with the Configuration Part.
    Hence can you tell me what could be the possible reasons for this problem that is happening?
    Please Advise!!!
    Pablo

    Hi,
      Which Scenario are you  implementing??This BADI is to be implemneted for PO only if you are in the Extended classic scenario and the PO in SRM is the leading PO.
    BR,
    Disha.
    Pls reward points for useful answers.

  • New output type to be triggered to send smartform through email

    Hi,
    Currently we are using Milwaukee printer (USJC-PM03) as default for out put type ZURD. When this output get created in the invoice with the printer as USJC-PM03, the iinvoices get printed on the Milwaukee printer.
    When someone tries to print an invoice by copying the ZURD, then system should trigger the newly created output ZUPG with the printer setting as u2018LOCLu2019 and medium u2018External Sendu2019, Communication strategy = u2018CS01u2019,dispatch time = 1.
    When again the user tries to print the same  invoice by copying the ZUPG output type,the system should trigger the output type ZUPG with medium u2018Print outu2019, Logical Destination = u2018LOCLu2019 and Dispatch time = u20181u2019.
    How the output type ZUPG be triggered even if the user select the output type ZURD.
    If anyone has come across this type of requirement please let me know.

    This can be done with the standard form itself.
    first find out the output type u r using.
    Then goto T-code NACE and then choose EF- purchase order and then select the output type u r using.
    Then goto the 'processing Routines' at the lefe side of the screen.
    There u can find out the output forms for this output typr u r using. Here add 'Simple mail-7' in the list and then give the program name and the smartform or the script u r using.
    We can also give the mail texts for this output form.
    After that goto ME22N and then choose the 'Messages' tab and then click the simple mail and in the 'communication method' kindly provide the mail id for which the PO mail has to be sent.
    And then the mail can be viewed in the inbox of the recipient.
    in this way we can sent the PO mail to the corresponding mail address,.
    I guess this will solve ur issue.
    Thanks and Regards
    Siva
    Edited by: Sivaprakash R on Apr 20, 2009 1:00 PM
    Edited by: Sivaprakash R on Apr 20, 2009 1:00 PM

Maybe you are looking for

  • How to look inside a jar?

    I am getting errors when using the sun deploytool. I think there is an ejb-jar.xml inside my ejb-jar file. how do i look at it?

  • Data validation at the UI level

    Hi I have a requirement like i need to validate the input data at the UI level. If the data is valid ,only then it should be allowed to be saved. If someone knows how to do the same. I have seen a method DO_VALIDATE_INPUT method in View controller (I

  • Do i need antivirus in my new iMac?

    I just purchase a new Imac and I am asking if I need to get an antivirus software on my new machine>>

  • Export to doc returns strange characters / works with wondershare

    Hi I have a 300 pages pdf which I need to convert to doc so I can import it with all formatting into our wiki (has a doc imported, but no pdf importer). I tried different settings within acrobat (latest version, running on Lion), strange result: The

  • Remove & Push Settings failed

    I am trying to get profilemanager working - currently sending remove/push settings does fail immediately (remove settings) or is pending forever (push settings: depending on payload?) whereas device enrolment, trust certificate installation, initial