Google Search - Blog...........

ABAP - BDC Program To Send Mails And Trigger Jobs.

SDN Contribution BDC- Sends mails, triggering jobs
Applies to: ABAP
Summary
This is a sample BDC code which shows

o how to upload file from Application server and Presentation server

o how to send mails in ABAP

o how to trigger the jobs from ABAP
Before writing the following code, do the following.

��Uploading files.

Create a path and save the file (which is in the format of idata-internal table) in the application server to upload files from application server.

��Sending attachment.

Create a database table zfi_test_mailid having the following structure.

��Triggering Event

Suppose there are 2 reports,ZReport1 and ZReport2 .
After executing Zreport1, it should trigger the job to execute Zreport2.
Do the following steps.

1. First create an Event ID using T-Code SM62.

2. Choose User Event Name – Maintain.


3. Create a new entry . Enter Event ID and Description. Save it.
Let it be ZEVENT

4. Create a job for ZReport2 in SM37 which triggers when this Event ID is raised.

Write the following code in ZReport1.
Code Sample
REPORT ZReport1
NO STANDARD PAGE HEADING MESSAGE-ID zfi
LINE-SIZE 255
LINE-COUNT 55.
TABLES : t100,
zfi_test_mailid.
DATA : BEGIN OF idata OCCURS 0,
anlkl(8),
bukrs(4),
nassets(3),
txt50(20),
invnr(15),
menge(15),
meins(3),
gsber(4),
kostl(10),
ord41(4),
lifnr(10),
END OF idata.
DATA: BEGIN OF i_logdata OCCURS 0,
text(200),
END OF i_logdata.
DATA: BEGIN OF itab OCCURS 0,
line(200),
END OF itab.
DATA: BEGIN OF i_zfi_mailid OCCURS 0,
smtp_addr LIKE zfi_test_mailid-smtp_addr,
END OF i_zfi_mailid. © 2006 SAP AG 5
DATA : v_filename_start(30),
v_filepath_start(128),
v_tmp TYPE c,
v_filepath_proc LIKE rlgrap-filename,
v_command(120),
v_filename(30),
v_filepath TYPE string,
rec(200),
cnt_success TYPE i,
cnt_error TYPE i,
v_mailheader LIKE sodocchgi1-obj_descr,
v_msgtxt(200).
DATA: i_attach LIKE solisti1 OCCURS 0 WITH HEADER LINE.
DATA: bdcdata LIKE bdcdata OCCURS 0 WITH HEADER LINE.
* messages of call transaction
DATA: messtab LIKE bdcmsgcoll OCCURS 0 WITH HEADER LINE.
* error session opened (' ' or 'X')
DATA: e_group_opened.
*----------------------------------------------------------------------*
* Selection Screen
*----------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK input WITH FRAME TITLE text-t01.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN BEGIN OF LINE. © 2006 SAP AG 6
SELECTION-SCREEN COMMENT 3(20) text-s01 FOR FIELD p_bukrs.
SELECTION-SCREEN POSITION 25.
PARAMETERS: p_bukrs TYPE bukrs OBLIGATORY.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN BEGIN OF BLOCK filedest WITH FRAME TITLE text-t02.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 3(28) text-s03 FOR FIELD apps.
SELECTION-SCREEN POSITION 32.
PARAMETERS apps RADIOBUTTON GROUP file. "Application Server
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 9(27) text-s04 FOR FIELD p_lpath.
SELECTION-SCREEN POSITION 38.
PARAMETERS: p_lpath LIKE filepath-pathintern
.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 3(28) text-s06 FOR FIELD pres.
SELECTION-SCREEN POSITION 32.
PARAMETERS pres RADIOBUTTON GROUP file. "Presentation Server
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE. © 2006 SAP AG 7
SELECTION-SCREEN COMMENT 9(26) text-s07 FOR FIELD p_file.
SELECTION-SCREEN POSITION 36.
PARAMETERS: p_file LIKE rlgrap-filename.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK filedest.
SELECTION-SCREEN BEGIN OF BLOCK callpara WITH FRAME TITLE text-t03.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 3(20) text-s08 FOR FIELD cupdate.
SELECTION-SCREEN POSITION 25.
PARAMETERS ctumode LIKE ctu_params-dismode DEFAULT 'N'.
"A: show all dynpros
"E: show dynpro on error only
"N: do not display dynpro
SELECTION-SCREEN END OF LINE.
PARAMETERS cupdate LIKE ctu_params-updmode DEFAULT 'S' NO-DISPLAY.
"S: synchronously
"A: asynchronously
"L: local
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 3(20) text-s09 FOR FIELD e_group.
SELECTION-SCREEN POSITION 25.
PARAMETERS e_group(12). "group name of error-session
SELECTION-SCREEN END OF LINE.
PARAMETERS: e_user(12) DEFAULT sy-uname NO-DISPLAY.
"user for error-session © 2006 SAP AG 8
PARAMETERS: e_keep DEFAULT 'X' NO-DISPLAY.
PARAMETERS: e_hdate LIKE sy-datum NO-DISPLAY.
PARAMETERS: nodata DEFAULT '/' LOWER CASE NO-DISPLAY.
"nodata
PARAMETERS: smalllog NO-DISPLAY. "' ' = log all transactions
"'X' = no transaction logging
SELECTION-SCREEN END OF BLOCK callpara.
SELECTION-SCREEN END OF BLOCK input.
*----------------------------------------------------------------------*
* at selection screen *
*----------------------------------------------------------------------*
AT SELECTION-SCREEN.
* Logical path must be filled for getting file from Application server
IF apps = 'X' AND ( p_lpath = space ).
MESSAGE e000 WITH text-m01.
* File name must be filled for getting file from Presentation server
ELSEIF pres = 'X' AND p_file = space.
MESSAGE e000 WITH text-m02.
ENDIF.
* e_group user must be filled to create session for error records
IF e_group = space.
MESSAGE e000 WITH text-m03.
ENDIF.
*----------------------------------------------------------------------* © 2006 SAP AG 9
* at selection screen on Value Request *
*----------------------------------------------------------------------*
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
PERFORM f_file_select.
*----------------------------------------------------------------------*
* Start of Selection *
*----------------------------------------------------------------------*
START-OF-SELECTION.
PERFORM f_get_filename.
PERFORM f_read_file.
PERFORM f_postdata.
END-OF-SELECTION.
PERFORM f_send_attachment.
PERFORM f_trigger_next_job.
*&---------------------------------------------------------------------
*
*& Form f_file_select
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text *----------------------------------------------------------------------* FORM f_file_select . DATA: l_rc TYPE i, lt_file TYPE filetable. CALL METHOD cl_gui_frontend_services=>file_open_dialog
EXPORTING
* WINDOW_TITLE © 2006 SAP AG 10
* DEFAULT_EXTENSION = '*.TXT'
default_filename = ' '
* FILE_FILTER = '*.CSV'
* INIT_DIRECTORY = 'C:\ '
* MULTISELECTION
CHANGING
file_table = lt_file
rc = l_rc
EXCEPTIONS
file_open_dialog_failed = 1
cntl_error = 2.
CHECK sy-subrc IS INITIAL AND l_rc NE -1.
READ TABLE lt_file INDEX 1 INTO p_file.
ENDFORM. " f_file_select
*&---------------------------------------------------------------------*
*& Form f_get_filename
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text *----------------------------------------------------------------------* FORM f_get_filename . IF apps = 'X'. v_filename_start = 'test.txt'. CALL FUNCTION 'FILE_GET_NAME_USING_PATH' © 2006 SAP AG 11 EXPORTING client = sy-mandt logical_path = p_lpath operating_system = sy-opsys * PARAMETER_1 = ' ' * PARAMETER_2 = ' ' * PARAMETER_3 = ' ' * USE_BUFFER = ' ' file_name = v_filename_start * USE_PRESENTATION_SERVER = ' ' * ELEMINATE_BLANKS = 'X' IMPORTING file_name_with_path = v_filepath_start EXCEPTIONS path_not_found = 1 missing_parameter = 2 operating_system_not_found = 3 file_system_not_found = 4 OTHERS = 5. IF sy-subrc <> 0.
i_logdata-text = 'Couldnot find the file'.
APPEND i_logdata.
WRITE:/ 'Couldnot find the file'.
STOP.
ENDIF.
SPLIT v_filepath_start AT v_filename_start(6) INTO v_filepath_start
v_tmp.
CONCATENATE v_filepath_start '\' v_filename_start
INTO v_filepath_start.
CONDENSE v_filepath_start. © 2006 SAP AG 12
SPLIT v_filepath_start AT v_filename_start(6)
INTO v_filepath_proc v_tmp.
CONCATENATE 'DIR /B' v_filepath_start INTO v_command
SEPARATED BY space.
* Executing the system commands within ABAP
CALL 'SYSTEM' ID 'COMMAND' FIELD v_command
ID 'TAB' FIELD itab-*sys*.
IF sy-subrc NE 0.
i_logdata-text = ' Could not find file for the company code'.
APPEND i_logdata.
WRITE:/ ' Could not finf file for the company code'.
STOP.
ENDIF.
READ TABLE itab INDEX 1.
v_filename = itab-line.
CONCATENATE v_filepath_proc v_filename INTO v_filepath_proc.
ELSEIF pres = 'X'.
MOVE p_file TO v_filepath.
ENDIF.
ENDFORM. " f_get_filename © 2006 SAP AG 13
*&---------------------------------------------------------------------*
*& Form f_read_file
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text *----------------------------------------------------------------------* FORM f_read_file . IF apps = 'X'. OPEN DATASET v_filepath_proc FOR INPUT IN TEXT MODE ENCODING DEFAULT. IF sy-subrc NE 0. i_logdata-text = 'File not able to open'. APPEND i_logdata. WRITE:/ 'File not able to open'. STOP. ENDIF. READ DATASET v_filepath_proc INTO rec. IF sy-subrc NE 0. i_logdata-text = 'Couldnot read the records'. WRITE:/ 'Couldnot read the records'. STOP. ELSE. MOVE rec TO idata. ENDIF. CLOSE DATASET v_filepath. © 2006 SAP AG 14 ELSEIF pres = 'X'. CALL FUNCTION 'GUI_UPLOAD' EXPORTING filename = v_filepath filetype = 'ASC' TABLES data_tab = idata EXCEPTIONS file_open_error = 1 file_read_error = 2 no_batch = 3 gui_refuse_filetransfer = 4 invalid_type = 5 no_authority = 6 unknown_error = 7 bad_data_format = 8 header_not_allowed = 9 separator_not_allowed = 10 header_too_long = 11 unknown_dp_error = 12 access_denied = 13 dp_out_of_memory = 14 disk_full = 15 dp_timeout = 16 OTHERS = 17. IF sy-subrc <> 0.
WRITE:/ 'Couldnot upload file from Presentation server'.
STOP.
ENDIF.
ENDIF. © 2006 SAP AG 15
ENDFORM. " f_read_file
*&---------------------------------------------------------------------*
*& Form f_postdata
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text *----------------------------------------------------------------------* FORM f_postdata . LOOP AT idata. PERFORM bdc_dynpro USING 'SAPLAIST' '0105'. PERFORM bdc_field USING 'BDC_CURSOR' 'ANLA-BUKRS'. PERFORM bdc_field USING 'BDC_OKCODE' '=MAST'. PERFORM bdc_field USING 'ANLA-ANLKL' idata-anlkl. PERFORM bdc_field USING 'ANLA-BUKRS' idata-bukrs. PERFORM bdc_field USING 'RA02S-NASSETS' '1'. PERFORM bdc_dynpro USING 'SAPLAIST' '1000'. PERFORM bdc_field USING 'BDC_OKCODE' '=TAB02'. PERFORM bdc_field USING 'BDC_CURSOR' 'ANLA-MEINS'. PERFORM bdc_field USING 'ANLA-TXT50' idata-txt50. © 2006 SAP AG 16 PERFORM bdc_field USING 'ANLA-INVNR' idata-invnr. PERFORM bdc_field USING 'ANLA-MENGE' idata-menge. PERFORM bdc_field USING 'ANLA-MEINS' idata-meins. PERFORM bdc_field USING 'ANLA-INKEN' 'X'. PERFORM bdc_dynpro USING 'SAPLAIST' '1000'. PERFORM bdc_field USING 'BDC_OKCODE' 'TAB03'. PERFORM bdc_field USING 'BDC_CURSOR' 'ANLZ-KOSTL'. PERFORM bdc_field USING 'ANLZ-GSBER' idata-gsber. PERFORM bdc_field USING 'ANLZ-KOSTL' idata-kostl. PERFORM bdc_dynpro USING 'SAPLAIST' '1000'. PERFORM bdc_field USING 'BDC_OKCODE' '=TAB04'. PERFORM bdc_field USING 'BDC_CURSOR' 'ANLA-ORD41'. PERFORM bdc_field USING 'ANLA-ORD41' idata-ord41. PERFORM bdc_field USING 'RA02S-EQANZ' '1'. PERFORM bdc_dynpro USING 'SAPLAIST' '1000'. PERFORM bdc_field USING 'BDC_OKCODE' '=TAB08'. PERFORM bdc_field USING 'BDC_CURSOR' 'ANLA-LIFNR'. © 2006 SAP AG 17 PERFORM bdc_field USING 'ANLA-LIFNR' idata-lifnr. PERFORM bdc_dynpro USING 'SAPLAIST' '1000'. PERFORM bdc_field USING 'BDC_OKCODE' '=BUCH'. PERFORM bdc_field USING 'BDC_CURSOR' 'ANLA-ANLN1'. PERFORM bdc_transaction USING 'AS01'. ENDLOOP. PERFORM close_group. ENDFORM. " f_postdata *&---------------------------------------------------------------------* *& Form bdc_dynpro *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * -->P_0662 text
* -->P_0663 text
*----------------------------------------------------------------------*
FORM bdc_dynpro USING program dynpro.
CLEAR bdcdata.
bdcdata-program = program.
bdcdata-dynpro = dynpro.
bdcdata-dynbegin = 'X'.
APPEND bdcdata.
ENDFORM. "BDC_DYNPRO
*&---------------------------------------------------------------------*
*& Form bdc_field
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------* © 2006 SAP AG 18
* -->P_0667 text
* -->P_0668 text
*----------------------------------------------------------------------*
FORM bdc_field USING fnam fval.
IF fval <> nodata.
CLEAR bdcdata.
bdcdata-fnam = fnam.
bdcdata-fval = fval.
APPEND bdcdata.
ENDIF.
ENDFORM. "BDC_FIELD
*&---------------------------------------------------------------------*
*& Form bdc_transaction
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_0885 text
*----------------------------------------------------------------------*
FORM bdc_transaction USING tcode.
DATA: l_mstring(480).
DATA: l_subrc LIKE sy-subrc.
* call transaction using
REFRESH messtab.
CALL TRANSACTION tcode USING bdcdata
MODE ctumode
UPDATE cupdate
MESSAGES INTO messtab.
l_subrc = sy-subrc.
SKIP.
* WRITE: / text-i04, © 2006 SAP AG 19
* text-i05,
LOOP AT messtab.
SELECT SINGLE * FROM t100 WHERE sprsl = messtab-msgspra
AND arbgb = messtab-msgid
AND msgnr = messtab-msgnr.
IF sy-subrc = 0.
l_mstring = t100-text.
IF l_mstring CS '&1'.
REPLACE '&1' WITH messtab-msgv1 INTO l_mstring.
REPLACE '&2' WITH messtab-msgv2 INTO l_mstring.
REPLACE '&3' WITH messtab-msgv3 INTO l_mstring.
REPLACE '&4' WITH messtab-msgv4 INTO l_mstring.
ELSE.
REPLACE '&' WITH messtab-msgv1 INTO l_mstring.
REPLACE '&' WITH messtab-msgv2 INTO l_mstring.
REPLACE '&' WITH messtab-msgv3 INTO l_mstring.
REPLACE '&' WITH messtab-msgv4 INTO l_mstring.
ENDIF.
CONDENSE l_mstring.
WRITE: /4 messtab-msgtyp, l_mstring(250).
ELSE.
WRITE: /4 messtab.
ENDIF.
ENDLOOP.
IF l_subrc = 0.
* Log data for NEWS
cnt_success = cnt_success + 1.
ELSE.
IF e_group_opened = ' '.
CALL FUNCTION 'BDC_OPEN_GROUP' © 2006 SAP AG 20
EXPORTING
client = sy-mandt
group = e_group
user = e_user
keep = e_keep
holddate = e_hdate.
e_group_opened = 'X'.
ENDIF.
CALL FUNCTION 'BDC_INSERT'
EXPORTING
tcode = tcode
TABLES
dynprotab = bdcdata.
cnt_error = cnt_error + 1.
ENDIF.
REFRESH bdcdata.
ENDFORM. "BDC_TRANSACTION
*&---------------------------------------------------------------------*
*& Form close_group
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text *----------------------------------------------------------------------* FORM close_group. IF e_group_opened = 'X'. CALL FUNCTION 'BDC_CLOSE_GROUP'. ENDIF. ENDFORM. "CLOSE_GROUP *&---------------------------------------------------------------------* © 2006 SAP AG 21 *& Form f_send_attachment *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text
* <-- p2 text *----------------------------------------------------------------------* FORM f_send_attachment . IF i_logdata[] IS NOT INITIAL. v_mailheader = ' Error occured'. LOOP AT i_logdata. MOVE i_logdata TO i_attach-line. APPEND i_attach. ENDLOOP. ENDIF. DATA: wa_document_data LIKE sodocchgi1, v_sent_to_all LIKE sonv-flag. DATA: i_packing_list LIKE sopcklsti1 OCCURS 0 WITH HEADER LINE, i_object_header LIKE solisti1 OCCURS 0 WITH HEADER LINE, i_contents_txt LIKE solisti1 OCCURS 0 WITH HEADER LINE, i_receivers LIKE somlreci1 OCCURS 0 WITH HEADER LINE. DATA: tab_lines TYPE i. IF apps = 'X'. * Fill the document data and get the size of attachment © 2006 SAP AG 22 CLEAR wa_document_data. DESCRIBE TABLE i_attach LINES tab_lines. READ TABLE i_attach INDEX tab_lines. wa_document_data-doc_size = ( tab_lines - 1 ) * 255 + STRLEN( i_attach ). wa_document_data-obj_langu = sy-langu. CONCATENATE p_bukrs 'EQGR' INTO wa_document_data-obj_name. MOVE v_mailheader TO wa_document_data-obj_descr. wa_document_data-sensitivty = 'F'. * Populate the object header CONCATENATE p_bukrs 'Assets' INTO i_object_header-line. APPEND i_object_header. * Populate the message body text CLEAR i_contents_txt. i_contents_txt-line = 'Please find attached a detail log for the Interface'. APPEND i_contents_txt. APPEND LINES OF i_attach TO i_contents_txt. * Describe the body of the message REFRESH i_packing_list. CLEAR i_packing_list. i_packing_list-transf_bin = space. i_packing_list-head_start = 1. i_packing_list-head_num = 0. i_packing_list-body_start = 1. DESCRIBE TABLE i_contents_txt LINES i_packing_list-body_num. © 2006 SAP AG 23 i_packing_list-doc_type = 'RAW'. APPEND i_packing_list. * Create attachment notification CLEAR i_packing_list. i_packing_list-transf_bin = 'X'. i_packing_list-head_start = 1. i_packing_list-head_num = 1. i_packing_list-body_start = 1. DESCRIBE TABLE i_attach LINES i_packing_list-body_num. i_packing_list-doc_type = 'TXT'. CONCATENATE p_bukrs 'Fixed Assets' sy-datum sy-uzeit INTO i_packing_list-obj_descr. CONCATENATE p_bukrs 'Fixed Assets' INTO i_packing_list-obj_name. i_packing_list-doc_size = i_packing_list-body_num * 255. APPEND i_packing_list. * Add the recipients email address SELECT smtp_addr FROM zfi_test_mailid INTO TABLE i_zfi_mailid WHERE bukrs = p_bukrs. REFRESH i_receivers. LOOP AT i_zfi_mailid. CLEAR i_receivers. i_receivers-receiver = i_zfi_mailid-smtp_addr. i_receivers-rec_type = 'U'. i_receivers-com_type = 'INT'. i_receivers-notif_del = 'X'. i_receivers-notif_ndel = 'X'. APPEND i_receivers. © 2006 SAP AG 24 ENDLOOP. * Function Module to send the Log to External ID CALL FUNCTION 'SO_DOCUMENT_SEND_API1' EXPORTING document_data = wa_document_data put_in_outbox = 'X' sender_address = '' sender_address_type = '' commit_work = 'X' IMPORTING sent_to_all = v_sent_to_all TABLES packing_list = i_packing_list contents_bin = i_attach contents_txt = i_contents_txt receivers = i_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 NE 0. WRITE:/ v_msgtxt. ELSE. WAIT UP TO 2 SECONDS. SUBMIT rsconn01 WITH mode = 'INT' © 2006 SAP AG 25 WITH output = 'X' AND RETURN. ENDIF. ENDIF. ENDFORM. " f_send_attachment *&---------------------------------------------------------------------* *& Form f_trigger_next_job *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text
* <-- p2 text *----------------------------------------------------------------------* FORM f_trigger_next_job . DATA: eventid LIKE tbtcjob-eventid. DATA: eventparm LIKE tbtcjob-eventparm. eventid = 'ZEVENT'. * Event name IF sy-batch = 'X'. * Will be executed only when it is running in Bkgrd. CALL FUNCTION 'BP_EVENT_RAISE' EXPORTING eventid = eventid * EVENTPARM = ' ' * TARGET_INSTANCE = ' ' EXCEPTIONS bad_eventid = 1 © 2006 SAP AG 26 eventid_does_not_exist = 2 eventid_missing = 3 raise_failed = 4 OTHERS = 5 . IF sy-subrc <> 0.
* Message
ENDIF.
ENDIF.
ENDFORM. " f_trigger_next_job © 2006 SAP AG 27
Related Content
Reference 1
http://help.sap.com/saphelp_nw04s/helpdata/en/fa/096e2a543b11d1898e0000e8322d00/frameset.htm © 2006 SAP AG 28
Copyright
© Copyright 2006 SAP AG. All rights reserved.
No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP AG. The information contained herein may be changed without prior notice.
Some software products marketed by SAP AG and its distributors contain proprietary software components of other software vendors.
Microsoft, Windows, Outlook, and PowerPoint are registered trademarks of Microsoft Corporation.
IBM, DB2, DB2 Universal Database, OS/2, Parallel Sysplex, MVS/ESA, AIX, S/390, AS/400, OS/390, OS/400, iSeries, pSeries, xSeries, zSeries, z/OS, AFP, Intelligent Miner, WebSphere, Netfinity, Tivoli, Informix, i5/OS, POWER, POWER5, OpenPower and PowerPC are trademarks or registered trademarks of IBM Corporation.
Adobe, the Adobe logo, Acrobat, PostScript, and Reader are either trademarks or registered trademarks of Adobe Systems Incorporated in the United States and/or other countries.
Oracle is a registered trademark of Oracle Corporation.
UNIX, X/Open, OSF/1, and Motif are registered trademarks of the Open Group.
Citrix, ICA, Program Neighborhood, MetaFrame, WinFrame, VideoFrame, and MultiWin are trademarks or registered trademarks of Citrix Systems, Inc.
HTML, XML, XHTML and W3C are trademarks or registered trademarks of W3C®, World Wide Web Consortium, Massachusetts Institute of Technology.
Java is a registered trademark of Sun Microsystems, Inc.
JavaScript is a registered trademark of Sun Microsystems, Inc., used under license for technology invented and implemented by Netscape.
MaxDB is a trademark of MySQL AB, Sweden.
SAP, R/3, mySAP, mySAP.com, xApps, xApp, SAP NetWeaver, and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP AG in Germany and in several other countries all over the world. All other product and service names mentioned are the trademarks of their respective companies. Data contained in this document serves informational purposes only. National product specifications may vary.
These materials are subject to change without notice. These materials are provided by SAP AG and its affiliated companies ("SAP Group") for informational purposes only, without representation or warranty of any kind, and SAP Group shall not be liable for errors or omissions with respect to the materials. The only warranties for SAP Group products and services are those that are set forth in the express warranty statements accompanying such products and services, if any. Nothing herein should be construed as constituting an additional warranty.
These materials are provided “as is” without a warranty of any kind, either express or implied, including but not limited to, the implied warranties of merchantability, fitness for a particular purpose, or non-infringement.
SAP shall not be liable for damages of any kind including without limitation direct, special, indirect, or consequential damages that may result from the use of these materials.
SAP does not warrant the accuracy or completeness of the information, text, graphics, links or other items contained within these materials. SAP has no control over the information that you may access through the use of hot links contained in these materials and does not endorse your use of third party web pages nor provide any warranty whatsoever relating to third party web pages. © 2006 SAP AG 29
Any software coding and/or code lines/strings (“Code”) included in this documentation are only examples and are not intended to be used in a productive system environment. The Code is only intended better explain and visualize the syntax and phrasing rules of certain coding. SAP does not warrant the correctness and completeness of the Code given herein, and SAP shall not be liable for errors or damages caused by the usage of the Code, except if such damages were caused by SAP intentionally or grossly negligent.

No comments:

Post a Comment