Description Sending GOS attachements to an email address for the given business object and ID. This program is tested in the version 4.6C.
REPORT z_send_gos_attachments.
* Selection-screen.
SELECTION-SCREEN BEGIN OF LINE.
* Email address
SELECTION-SCREEN COMMENT 2(20) v_text1 FOR FIELD p_email.
PARAMETERS: p_email(50) OBLIGATORY.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
* Business object type
SELECTION-SCREEN COMMENT 2(20) v_text2 FOR FIELD p_bo.
PARAMETERS: p_bo TYPE borident-objtype DEFAULT 'BUS2102'.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
* Business object ID
SELECTION-SCREEN COMMENT 2(20) v_text3 FOR FIELD p_boid.
PARAMETERS: p_boid TYPE borident-objkey DEFAULT '0060000717'.
SELECTION-SCREEN END OF LINE.
* Internal table declarations.
DATA: lt_links TYPE TABLE OF relgraphlk,
lv_document_id TYPE sofolenti1-doc_id,
lt_plist LIKE sopcklsti1 OCCURS 2 WITH HEADER LINE,
lt_soli LIKE soli OCCURS 100 WITH HEADER LINE,
lt_rec_tab LIKE somlreci1 OCCURS 1 WITH HEADER LINE,
lt_roles TYPE STANDARD TABLE OF relroles,
lt_appllinks TYPE STANDARD TABLE OF srl_aprel,
lt_object_content_l LIKE solisti1 OCCURS 0 WITH HEADER LINE,
lt_object_content LIKE solisti1 OCCURS 0 WITH HEADER LINE,
lt_doc_dat LIKE sofolenti1.
* Variables.
DATA: lv_objtp LIKE soodk-objtp,
lv_lang LIKE tst01-dlang,
lv_line_size TYPE i VALUE 255,
lv_name LIKE soextreci1-receiver.
* Work areas
DATA: lwa_doc_data LIKE sodocchgi1,
lwa_document_data LIKE sofolenti1,
lwa_links LIKE LINE OF lt_links,
lwa_object TYPE borident.
* Initialization.
INITIALIZATION.
* Set the texts.
v_text1 = 'Email addr.'.
v_text2 = 'Business obj type'.
v_text3 = 'Business obj ID'.
* Start-of-selection.
START-OF-SELECTION.
* Assign the values
lwa_object-objkey = p_boid.
lwa_object-objtype = p_bo.
* Get the attachment list for the input business object type
* and name.
CALL FUNCTION 'SREL_GET_NEXT_RELATIONS'
EXPORTING
object = lwa_object
relationtype = 'ATTA'
TABLES
links = lt_links
roles = lt_roles
appllinks = lt_appllinks
EXCEPTIONS
internal_error = 1
no_logsys = 2
OTHERS = 3.
* Check the return code.
IF sy-subrc <> 0.
MESSAGE s208(00) WITH 'Error in FM SREL_GET_NEXT_RELATIONS'.
ENDIF.
* Process the attachment list
LOOP AT lt_links INTO lwa_links.
MOVE lwa_links-objkey_b TO lv_document_id.
* Read the data
CALL FUNCTION 'SO_DOCUMENT_READ_API1'
EXPORTING
document_id = lv_document_id
IMPORTING
document_data = lwa_document_data
TABLES
object_content = lt_object_content_l
EXCEPTIONS
document_id_not_exist = 1
operation_no_authorization = 2
x_error = 3
OTHERS = 4.
* Prepare the data.
lt_plist-transf_bin = 'X'.
lt_plist-head_start = 0.
lt_plist-head_num = 0.
lt_plist-body_start = 0.
lt_plist-body_num = 0.
lt_plist-doc_type = 'RAW'.
lt_plist-obj_descr = lwa_document_data-obj_descr.
APPEND lt_plist.
lt_plist-transf_bin = 'X'.
lt_plist-head_start = 0.
lt_plist-head_num = 0.
IF sy-tabix = 1.
lt_plist-body_start = 1.
ELSE.
DESCRIBE TABLE lt_object_content.
lt_plist-body_start = sy-tfill + 1.
ENDIF.
DESCRIBE TABLE lt_object_content_l LINES lt_plist-body_num.
lt_plist-doc_type = lwa_document_data-obj_type.
* Get the size.
READ TABLE lt_object_content_l INDEX lt_plist-body_num.
lt_plist-doc_size = ( lt_plist-body_num - 1 ) * lv_line_size
+ STRLEN( lt_object_content_l ).
APPEND lt_plist.
* Move the values to the main internal table.
APPEND LINES OF lt_object_content_l TO lt_object_content.
ENDLOOP.
* Move the receiver address.
MOVE: p_email TO lt_rec_tab-receiver,
'U' TO lt_rec_tab-rec_type.
APPEND lt_rec_tab.
* Set the language.
lwa_doc_data-obj_langu = sy-langu.
* Email subject.
CONCATENATE 'GOS '
p_boid
'attachments'
INTO lwa_doc_data-obj_descr
SEPARATED BY space.
* Set the user name.
lv_name = sy-uname.
* Send the email.
CALL FUNCTION 'SO_DOCUMENT_SEND_API1'
EXPORTING
document_data = lwa_doc_data
sender_address = lv_name
sender_address_type = 'B'
TABLES
packing_list = lt_plist
contents_bin = lt_object_content
receivers = lt_rec_tab
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 e208(00) WITH 'Error in sending email'.
ENDIF.
COMMIT WORK.
* Send the email immediately.
SUBMIT rsconn01
WITH mode = 'INT'
AND RETURN.
* Success message.
MESSAGE s208(00) WITH 'Email sent'.
-->
Thursday, November 22, 2007
ABAP - Sending GOS attachments to an email address
Subscribe to:
Post Comments (Atom)
Blog Archive
-
▼
2007
(952)
-
▼
November
(716)
- SAP Paper Documents
- SAP Repository
- SAP R/3 Implementation and Maintenance Tips
- ABAP/4 programming language overview
- The interactive eLearning system for ABAP™
- Helpful System Administration ABAPS
- free download abap programmin pdf book
- examples of real time objects in sap abap(1)
- examples of real time objects in sap abap
- work flow example2
- Workflow tips
- Miscellaneous sap abap faq
- BDC , LSMW, Conversions faq in abap
- Sap Scripts & Smart forms faqs in abap
- performance tuning in abap faqs
- Real Time BDC & LSMW faqs
- Real Time ABAP Internal Tables faqs
- Real Time ABAP Reports faqs
- Real Time questions ..in sap ABAP
- SAP ABAP FAQ (Technical)
- ABAP and Unicode
- ABAP and JavaScript
- ABAP Objects
- ABAP Database Access
- Running ABAP Programs
- ABAP User Dialogs
- The ABAP Programming Language
- Creating and Changing ABAP Programs
- Overview of the Components of Application Programs
- Introduction to ABAP
- ABAP Programming Documentation
- FREE DOWNLOAD ALE, EDI & IDOCS
- Conversion of IDOCs to XML.pdf
- FREE DOWNLOAD IDOC Interface Technology
- FREE DOWNLOAD EDI, IDOC Interface
- FREE DOWNLOAD IDOC BOOK
- FREE DOWNLOAD LSMW - Idoc Inbound Processing
- FREE DOWNLOAD SAP ABAP Idoc Interface
- FREE DOWNLOAD Java for SAP
- FREE DOWNLOAD Java for ABAP Programmers
- FREE DOWNLOAD Java and BAPI technology for EP
- free download Building Web Services with Java and ...
- free download Enable SAP with the power of Javascript
- FREE DOWNLOAD ABAP Training Simulator
- FREE DOWNLOAD SAP Accounting Training Simulators
- free download SAPScripts Made Easy
- CONDENSE
- CONSTANTS
- ABAP Quick Viewer
- sap abap XXL (EXtended Export of Lists)
- Some ABAP/4 Query header line variable
- Understanding SAP Query
- ABAP/4 Query
- ABAP/4 Query Hints and Tips
- SAP Website Links Exchange for ABAP, Basis or Cons...
- sap abap Program for Generate IDoc
- sap abap program for Reads an existing Idoc and di...
- List of ABAP Function modules
- sap abap FTP programming
- sap abap program for Issuing an Unix Command from ...
- sap abap program for RFC call to get Server List
- sap abap program for A SAP Pop-out Calculator
- sap ABAP program for Timers and Auto-refresh
- sap abap program for WS_EXECUTE to called External...
- sap abap programming Execute DOS Command from ABAP...
- To execute a dos command from ABAP
- sap abap program for Make your SAPGUI Disappear an...
- sap abap program for Using Function Modules F4_FIL...
- abp program for How to Restrict the Select Options
- sap abap program for Take Values from Selection-Sc...
- sap abap program for Change Text Into Password
- sap abap program for Function Module for Encryptio...
- sap abap program for FM VRM_SET_VALUE To List Box
- sap abap program for Value Request For Parameter
- sap abap program for Pop a Message to specific SAP...
- ABAP Pop-out box for user confirmation
- sap ABAP program for POP-UP Window
- sap abap program Sample XML Source Code For SAP
- sap abap XML file to word document through SAP
- sap abap program for How to Write Web Reports in SAP
- sap abap conversion Program to Test Line Selection...
- sap abap program for String Handling in ABAP - Rem...
- sap abap program for Split String into two parts a...
- sap abap conversion Program For Printing Prime Number
- sap abap program for How can I get Ascii value of ...
- sap abap program for Figure to Words for India but...
- sap abap conversion program for Print Number Value...
- sap abap conversion program for Insert a special T...
- sap abap program for String Handling in ABAP - Rem...
- sap abap program for Split String into two parts a...
- sap abap conversion Program For Printing Prime Number
- sap abap program for How can I get Ascii value of ...
- sap abap program for Figure to Words for India but...
- sap abap conversion program for Print Number Value...
- sap abap conversion program for Insert a special T...
- sap abap program for Convert SAP Spool List to HTML
- sap program for Convert Month to Word in ABAP
- ABAP function to convert Number to Words
- sap abap program for How to Create Tree Control
- sap abap A sample Tree Programming
-
▼
November
(716)
No comments:
Post a Comment