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'.
-->
Tuesday, October 7, 2008
Subscribe to:
Post Comments (Atom)
Archives
-
▼
2008
(139)
-
▼
October
(139)
- free download book on abap reporting on all modules
- Submit ABAP report with SQL traces
- SAP ABAP Commonly Asked Questions I
- Difference Between LIS, Reports, Abap Query
- SAP Some ABAP/4 Query header line variable
- SAP ABAP Quick Viewer
- SAP ABAP Proxy communication
- SAP ABAP/4 Program: Describe Select-Options
- SAP ABAP/4 Program: Output Table Fields to a List
- SAP ABAP/4 Program: Outstanding PO Report
- SAP ABAP/4 Program:Un/Lock all users in a client
- SAP ABAP/4 Program: Output Table Fields to a List
- SAP ABAP Program: Output of Date Format
- free download book on abap programming Tutorial
- SAP ABAP Programming Language
- free download BC-ABA pdf book SAP ABAP prog
- BC-ABA pdf free download SAP ABAP prog
- SAP ABAP Sample Test Questions on Programming
- SAP ABAP Programming Documentation
- SAP ABAP free download abap programming pdf book
- SAP ABAP The Employee Example - step by step example
- SAP Finding the user-exits of a SAP transaction code
- SAP A comparison between enhancement techniques
- SAP Toolbar Control Object
- SAP HTML Viewer Control
- Add Button to ALV Toolbar with REUSE_ALV_LIST_DISPLAY
- Interview Question on BAPI, RFC, ABAP Objects, Tables
- OBJECTS Tutorials PDF Free downloads
- Objective Questions
- MODEL PROGRAMS ON EVERY TOPIC
- sd tables structure
- Tables structure
- purchasing tables structures
- fico tables structure
- Project Systems tables structure
- Production Planning tables structures
- PM Tables
- system tables
- Classic pdf free download
- SAP ABAP List Viewer ALV
- SAP ABAP CONSTANTS
- SAP ABAP CONDENSE
- faqs SAP ABAP Interview Tips, Questions and Answers
- SAP ABAP interview questions
- SAP Answers to some ABAP Interview Questions
- SAP ABAP Interview Questions
- What types of tables can be created in the ABAP Di...
- More SAP ABAP Interview Faq's
- What types of objects can be created in the ABAP D...
- What is the difference between Pooled tables and C...
- What is the difference between Database tables and...
- What are the different types of Views? ABAP
- What is Table Maintenance Generator? ABAP
- Real Time SAP ABAP Internal Tables
- Real Time BDC & LSMW
- performance tuning
- ABAP TAW12 3/3 ABAP Workbench Concepts
- ABAP TAW12 2/3 ABAP Workbench Concepts
- ABAP TAW12 1/3 ABAP Workbench Concepts
- ABAP TAW10 2/2 ABAP Workbench Fundamental
- SAP ABAP TAW10 1/2 ABAP Workbench Fundamentals
- SAP ABAP Creating Extract Dataset
- all interview questions sap abap faqs
- SAP free download abap
- Important SAP ABAP FAQs
- ABAP FAQs
- FAQ In ABAP
- SAP ABAP Dialog Programming
- Will there always be an implicit commit in an RFC?
- Validating table fields in SAP ABAP
- SAP ABAP The difference between field groups and i...
- SAP ABAP Unicode check error fix
- SAP ABAP Creating a screen for grid display
- SAP ABAP Migrating test programs from ECC 4.6 to 6.0
- SAP ABAP Creating a field exit for a data element
- SAP ABAO Methods for uploading SAP data
- SAP ABAP Error when reading XML files
- SAP ABAP A parameter with no record available
- ABAP Adobe Document Services ADS
- Dictionary
- What is this new transaction 'n' all about?
- What does ABAP stand for?
- What does R/3 stands for ?
- How are RANGES different from SELECT-OPTIONS?
- How to convert a date to internal or external format?
- How do I download data in my internal table in a C...
- How can I get the IP address of the system program...
- How can I download my internal table into an Excel...
- How can I read an Excel file from presentation ser...
- How can I convert numerals into the corresponding ...
- I am using a SELECT query on a database table. Sin...
- Where are the long texts of a document stored and ...
- How do I create a long text for a document?
- How do I display / add the Terms and Conditions to...
- How to convert from one currency value to other?
- How to change the deadline of the workitem program...
- In SAP ABAP How to calculate last date of the month?
- How to do the EXCISE ANNEXURE10 report?
- SAP ABAP Class ALV
- SAP ABAP ALV Articles
-
▼
October
(139)





























No comments:
Post a Comment