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.
Similar Messages
-
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 -
Hai All,
could anyone help me with the sample code..I want to know the parameters for fax while calling the function module..
ThanksHI 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. -
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 GargI 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 users 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 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,
LakshmiHi,
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 -
Error in Calling Smartforms-During FAX output
Hi experts
I am getting the following error while processing the FAX output type.....
Can you please advice how to proceed on this..
Error message
Error in Calling Smartforms
Processing log of the Output type
Object 0130001210
Output type: Delivery Note
Processing log for program RVADDN01 routine ENTRY
Error during reading T001G (Return code
Cannot process message, no route from userID to fax number
Advance thanks for your support
regards
RajaHi experts
I am getting the following error while processing the FAX output type.....
Can you please advice how to proceed on this..
Error message
Error in Calling Smartforms
Processing log of the Output type
Object 0130001210
Output type: Delivery Note
Processing log for program RVADDN01 routine ENTRY
Error during reading T001G (Return code
Cannot process message, no route from userID to fax number
Advance thanks for your support
regards
Raja -
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.
LelloDATA: 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. -
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 -
Error while sending by email a PDF from SMARTFORM
Hi all.
Wer'e upgrading to EP4 and I can send smartform PDF by email but get an error message while trying to open it.
*FORM convert_otf_2_pdf.
call function 'CONVERT_OTF_2_PDF'
importing
bin_filesize = lv_len_in
tables
otf = gs_return-otfdata[]
doctab_archive = it_docs[]
lines = lt_tline[]
exceptions
err_conv_not_possible = 1
err_otf_mc_noendmarker = 2
others = 3.
if sy-subrc ne 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.
*then to send it as Email attachemnt we need to format the PDF data
call function 'SX_TABLE_LINE_WIDTH_CHANGE'
exporting
line_width_dst = '255'
tables
content_in = lt_tline
content_out = lt_objbin
exceptions
err_line_width_src_too_long = 1
err_line_width_dst_too_long = 2
err_conv_failed = 3
others = 4.
clear ls_solisti.
ls_solisti = 'Payment Notification'.
append ls_solisti to lt_objtxt.
DESCRIBE TABLE lt_objtxt LINES lv_lines.
READ TABLE lt_objtxt INDEX lv_lines.
ls_doc_chg-obj_name = 'Payment Notification'.
ls_doc_chg-expiry_dat = sy-datum + 10.
ls_doc_chg-obj_descr = 'Payment Notification'.
ls_doc_chg-sensitivty = 'F'.
ls_doc_chg-doc_size = 255.
ls_objpack-head_start = 1.
ls_objpack-head_num = 0.
ls_objpack-body_start = 1.
ls_objpack-body_num = 1. "lv_lines.
ls_objpack-doc_type = 'RAW'.
append ls_objpack to lt_objpack.
(pdf-Attachment)
ls_objpack-transf_bin = 'X'.
ls_objpack-head_start = 1.
ls_objpack-head_num = 0.
ls_objpack-body_start = 1.
describe table lt_objbin lines lv_lines.
"READ TABLE lt_objbin INDEX lv_lines.
ls_objpack-doc_size = lv_lines * 255 .
ls_objpack-body_num = lv_lines.
ls_objpack-doc_type = 'PDF'.
ls_objpack-obj_name = 'NOTIF'.
ls_objpack-obj_descr = 'Payment Notif.'.
append ls_objpack to lt_objpack.
clear lt_dli[].
lv_name = p_list.
call function 'SO_DLI_READ_API1'
exporting
dli_name = lv_name
dli_id = '000000000001'
shared_dli = 'X'
tables
dli_entries = lt_dli
exceptions
dli_not_exist = 1
operation_no_authorization = 2
parameter_error = 3
x_error = 4
others = 5.
if sy-subrc eq 0 and
lt_dli[] is not initial.
clear ls_reclist.
ls_reclist-receiver = p_list.
ls_reclist-rec_type = 'C'.
append ls_reclist to lt_reclist.
endif.
call function 'SO_NEW_DOCUMENT_ATT_SEND_API1'
exporting
document_data = ls_doc_chg
put_in_outbox = ''
tables
packing_list = lt_objpack
object_header = ls_objhead
contents_bin = lt_objbin
contents_txt = lt_objtxt
receivers = lt_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.
What's wrong ??
Thanks all,
RebekaHello,
Try below code
LOOP AT gt_check_data INTO gw_inc_payment.
CLEAR wa_pa0105.
READ TABLE gt_pa0105 INTO wa_pa0105
WITH KEY pernr = gw_inc_payment-pernr.
IF sy-subrc = 0. ELSE. CONDENSE wa_pa0105-usrid_long NO-GAPS.
TRANSLATE wa_pa0105-usrid_long TO LOWER CASE.
ENDIF.
CALL FUNCTION 'ZHR_ITA_MAIL_PDF'
EXPORTING
im_incentive = gw_ita_inc
im_flag = 'X'
IMPORTING
ls_job_output_info = ls_op_info
EXCEPTIONS
cntl_error_ctrl = 1
cntl_error_cont = 2
cntl_error_load = 3
cntl_error_show = 4
OTHERS = 5.
IF sy-subrc <> 0.
MESSAGE text-024 TYPE 'E'.
ELSE.
CLEAR gt_tline[].
CALL FUNCTION 'CONVERT_OTF'
EXPORTING
format = 'PDF'
IMPORTING
bin_filesize = g_pdfsize
TABLES
otf = ls_op_info-otfdata
lines = gt_tline
EXCEPTIONS
err_max_linewidth = 1
err_format = 2
err_conv_not_possible = 3
err_bad_otf = 4
OTHERS = 5.
IF sy-subrc <> 0.
IF gt_tline IS INITIAL.
MESSAGE text-023 TYPE 'E'.
ENDIF.
ELSE.
Data handling with required length
LOOP AT gt_tline INTO gw_tline.
lv_pos = 255 - lv_len.
IF lv_pos > 134. "length of pdf_table
lv_pos = 134.
ENDIF.
gw_objbin+lv_len = gw_tline(lv_pos).
lv_len = lv_len + lv_pos.
IF lv_len = 255. "length of out (contents_bin)
APPEND gw_objbin TO gt_objbin.
CLEAR: gw_objbin, lv_len.
IF lv_pos < 134.
gw_objbin = gw_tline+lv_pos.
lv_len = 134 - lv_pos.
ENDIF.
ENDIF.
ENDLOOP.
IF lv_len > 0.
APPEND gw_objbin TO gt_objbin.
ENDIF.
CLEAR gw_objbin.
Mail process with the PDF attachment
PERFORM mail_process_attach USING wa_pa0105-usrid_long.
ENDIF.
ENDIF.
ENDLOOP.
FORM mail_process_attach USING lv_receive TYPE comm_id_long.
**//--- For Sending eMail
DATA : it_packing_list TYPE TABLE OF sopcklsti1,
wa_packing_list TYPE sopcklsti1,
it_receivers TYPE TABLE OF somlreci1,
wa_receivers TYPE somlreci1,
it_message TYPE TABLE OF solisti1,
wa_message TYPE solisti1,
it_line TYPE STANDARD TABLE OF tline,
wa_line TYPE tline,
it_attachment TYPE TABLE OF solisti1,
wa_attachment TYPE solisti1,
wa_doc_data TYPE sodocchgi1,
lv_cnt TYPE i,
lv_tablines TYPE i,
lv_subject TYPE so_obj_des,
lv_incref TYPE string.
*--Populating Mail Recepients
wa_receivers-rec_type = 'U'.
wa_receivers-com_type = 'INT'.
wa_receivers-notif_del = 'X'.
wa_receivers-notif_ndel = 'X'.
wa_receivers-express = 'X'.
assgining a receiver's mail id
wa_receivers-receiver = lv_receive.
APPEND wa_receivers TO it_receivers.
CLEAR wa_receivers.
*--Populating the body
CALL FUNCTION 'READ_TEXT'
EXPORTING
client = sy-mandt
id = 'ST'
language = sy-langu
name = gc_so10_name
object = 'TEXT'
TABLES
lines = it_line
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.
LOOP AT it_line INTO wa_line.
wa_message-line = wa_line-tdline.
APPEND wa_message TO it_message.
CLEAR : wa_line, wa_message.
ENDLOOP.
ENDIF.
*//--- Populate the subject/generic message attributes
wa_doc_data-obj_langu = sy-langu.
READ TABLE it_attachment INTO wa_attachment INDEX lv_cnt.
wa_doc_data-doc_size = ( lv_cnt - 1 ) * 255 + STRLEN( wa_attachment ).
wa_doc_data-obj_name = 'SAPRPT'.
*//--- Subject Begin
CLEAR : lv_subject.
lv_subject = gw_inc_payment-pernr.
SHIFT lv_subject LEFT DELETING LEADING '0'.
CONCATENATE text-009 '(' lv_subject ')'
INTO wa_doc_data-obj_descr
SEPARATED BY space.
*//--- Subject End
wa_doc_data-sensitivty = 'F'.
*--Describe the body of the message
CLEAR : wa_packing_list, it_packing_list[].
wa_packing_list-transf_bin = space.
wa_packing_list-head_start = 1.
wa_packing_list-head_num = 0.
wa_packing_list-body_start = 1.
DESCRIBE TABLE it_message LINES wa_packing_list-body_num.
wa_packing_list-doc_type = 'RAW'.
APPEND wa_packing_list TO it_packing_list.
Filling the attachment table
DESCRIBE TABLE gt_objbin LINES lv_tablines.
wa_packing_list-transf_bin = 'X'.
wa_packing_list-head_start = 1.
wa_packing_list-head_num = 0.
wa_packing_list-body_start = 1.
wa_packing_list-body_num = lv_tablines.
wa_packing_list-doc_type = 'PDF'.
wa_packing_list-obj_name = 'ATTACHMENT'(a01).
*//--- Attachment File Name - Begin
CLEAR : lv_subject.
lv_subject = gw_inc_payment-pernr.
lv_incref = gw_inc_payment-incref.
SHIFT lv_subject LEFT DELETING LEADING '0'.
SHIFT lv_incref LEFT DELETING LEADING '0'.
CONCATENATE text-011
lv_subject
gw_inc_payment-itafy
lv_incref
INTO wa_packing_list-obj_descr
SEPARATED BY '_'.
*//--- Attachment File Name - End
wa_packing_list-doc_size = lv_tablines * 255.
APPEND wa_packing_list TO it_packing_list.
CLEAR wa_packing_list.
calling the function module to send the mail
CALL FUNCTION 'SO_DOCUMENT_SEND_API1'
EXPORTING
document_data = wa_doc_data
put_in_outbox = 'X'
sender_address = gc_sender
sender_address_type = 'INT'
commit_work = 'X'
TABLES
packing_list = it_packing_list
contents_bin = gt_objbin[]
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.
IF sy-subrc <> 0.
gw_inc_payment-zmail = '0'.
gw_inc_payment-mail_status = text-022.
gw_ita_inc-zmail = '0'.
MODIFY gt_inc_payment FROM gw_inc_payment
TRANSPORTING zmail WHERE incref = gw_inc_payment-incref
AND pernr = gw_inc_payment-pernr.
MODIFY zhr_ita_inc_payk FROM gw_ita_inc.
MESSAGE text-013 TYPE 'E'.
CLEAR gw_ita_inc.
ELSE.
gw_inc_payment-zmail = '1'.
gw_inc_payment-mail_status = text-021.
gw_ita_inc-zmail = '1'.
MODIFY gt_inc_payment FROM gw_inc_payment
TRANSPORTING zmail mail_status
WHERE incref = gw_inc_payment-incref AND
pernr = gw_inc_payment-pernr.
IF sy-subrc = 0.
MODIFY zhr_ita_inc_payk FROM gw_ita_inc.
IF sy-subrc = 0.
MESSAGE text-012 TYPE 'S'.
ENDIF.
ENDIF.
CLEAR gw_ita_inc.
ENDIF.
CLEAR : it_packing_list,
gt_objbin[],
it_message[],
it_receivers[],
wa_doc_data.
ENDFORM. " MAIL_PROCESS_ATTACH
regards -
Error while sending sales order form by fax
hi,
Sending Sales order by fax is not working. While adding output type for Sales order choosing device as 'FAX' is throwing an error saying that 'Error while sending fax with SO_OBJECT_SEND, return code 9'. Anything needs to be configured or we have to code anything in SAPScript program. Please advise.Hi Harry,
You don't need to write any particular code for sending FAX in SAPscript. But you may need to check some configurations regarding it.
We configure SCOT to send Fax and mails to outside SAP. Check SAP Note 455140 for the configuration of SCOT tcode.
Please refer this link [Sending FAX |Sending FAX from SAP;
It might be helpful.
Thanks,
Daya. -
Hello All,
I have a requirement where i need to send the PO reminder smartform output to the user as Fax.
Same is sent using the Program SAPFM06P using the form routine ENTRY_MAHN, which uses 2 FM's, but for SAP Scripts.
Can anybody guide me over same requirement using smartforms.
Waiting for useful pointers.
Thanks in advance...
Regards,
TarunHi Tarun,
I am also having the same requirement, to send a PO Reminder Smartform through Fax.
Could you please let me know whether you were able to send it?
Hi Folks,
Could you please tell me what are all the settings and parameters to be passed while calling the smartform to send it through fax? -
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,
HemaHi,
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 -
To send smartform output through email and fax
Hi,
I need to send smartform output through email if the email address is present else if the email address is present then it has to be sent through fax.If both the email address and fax are present,then it has to send an email.
Now the issue is I am able to send the email and I am getting the message as 'Output was successfully issued'.But the entry corresponding to this is not shown in SOST transaction.
Can anyone tell me what would be the reason for this?HI,
Try to look in transaction SCOT
Regards,
Egle -
Error 388 while sending or receiving fax, HP Officejet 6260
My unit is always giving this error while sending or receiving a fax. I have tried searching and found out its a line noise problem but when I connected a telephone set to that line it was all clear. No noise during calls.
Hi sixline,
HP has a page on faxing with VoIP services - it has instructions on how to reduce the transmissions speed
http://h10025.www1.hp.com/ewfrf/wc/document?cc=us&lc=en&docname=c00302247
Three other things to check:
1) Is the phone line plugged into "line 1" or the "ext" port on the OfficeJet? I've mixed the two up before. It should be plugged into "line 1"
2) Do you have internet service through DSL or Cable internet? If it's through DSL, you may need a filter on the line. If you get your phone through a Cable provider, then what looks like a regular phone line may actually be a VoIP phone. See page 56 on this document http://h10032.www1.hp.com/ctg/Manual/c00238458.pdf for information on the DSL filter.
3) Are you using the fax on some sort of corporate PBX system? If so, see page 57 on the document from #2.
I do NOT work for HP
I do NOT work for HP
Maybe you are looking for
-
Many of my contacts have not been able to reach me via email with the notice on returned mail that they have been blocked as "spam." This all started after updating Firefox about 30 days ago. I use RCN as my email program and having discussed this pr
-
How to map the form fields with zoho crm module?
I am integrating a web app with Zoho CRM,I created a form in .aspx and put some fields on it like first name,last name,email etc.Now i want to map these fields with the zoho crm contacts module,so that when i submit this form it will save the data th
-
MPP and Direct Debits Increase
I recently re-negotiated my BT contract for a further 12 months and agreed on a package price for phone and BB of £42.50 per month payable by MPP. However the first month DD was £57.00 and then last month it was £67.00 ( this one was without any noti
-
Crystal 8.5 Error #599 Cannot open SQL Server
I have a user who is viewing Crystal reports (8.5 i think) from a window inside GoldMine CRM software. they are getting an error saying Error #599: Cannot open SQL server. Any ideas?
-
Safari 4.1.2 and you tube are now complicated
After updating Safari 4.1.2,it was nice &everythings fine.Later,we try install mozilla 3.6.10,it works also fine.But we decided to keep one browser and Safari remain.After uninstalling last browser it happens that Safari can't watch news video,you tu