Documents in SAP Inbox
Hi,
I want to read the contents of Documents in the SAP inbox of some other User.
Please let me know if there is a report/FM/Transaction to show the documents in someones Inbox.
Thanks and Regards,
Vaibhav
Thanks for the help,
I can check the contents with this FM in Development server.
But i m not authorized to run any FM in Production .
So Can you please tell me any transaction that shows the Contents.
Thanks and Regards,
Vaibhav
Similar Messages
-
UWL - Display SAP Inbox Documents in the Universal Worklist
Hi,
I'm working on the implementation of the UWL on EP 6.0.
I do not succeed in getting the SAP Inbox documents in the UWL views.
Does anybody know how to display these SAP Inbox documents in the UWL?
Thanks a lot for your feedback.
Gilles.Try SONIC -> https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/8525afd0-0d01-0010-aaa0-ac6b9e3a2907
-
Reply from the notifiaction mail (from outlook) to sap Inbox
HI
I have a requirement where in I am sending a notification mail to user saying Document verification is OPEN(pending) in your name.1s he finshes that task he will reply to the same mail saying ClLOSED.
Now can we get this mail reply to SAP Inbox of the reply receiver ?
And If yes How can we process that either by subject or body content to close that activity.
(We dont want to send workitem shortcut to the user,This will make us not to involve user into SAP S\W)Hi- you could refer below thread
http://forums.sdn.sap.com/thread.jspa?threadID=2132333
vinoth -
How to sent a document to the inbox
Hi all:
By default,th document can sent to someon by the channel of mail,but I want to sent the document to the inbox inside the portal, and generates notifications in the uwl.
Please tell me what I can do.
Thanks!Hello,
You should add the NULL channel in the configuration of the Notificator service under Global Services. See the section 'Notification Service' in SAP note 808756 and see also http://help.sap.com/saphelp_nw70/helpdata/en/3b/e5f85dae7d8a49bffd2cbc255197f0/content.htm
Regards,
Lorcan. -
Hi Experts,
I have a requirement of adding a custom field in SAP Inbox.
Ex: If an Invoice Wrok flow is triggered..the Invoice number number will be generated and it will be shown in the Title column.
Now I have a requiremnt of adding a two Custom field as 'Supplier Name' and 'Document number'.
1. Is it possible to add the custom field in SAP Inbox?? if Yes can you guys let me know the procedure?? Also if I add a custom field Can that be controlled for specific work flow?
2. Also I have seen the field Dynamic Columns in in the layout, Can I use that filed to populated the Supplier name and document number?? is Yes how to proceed further?? ( Does the efforts vary for Standard workflow and Custom Work flow??
Your <removed by moderator> response is higly appriciated.
Cheers,
Sriram.
Edited by: Thomas Zloch on Jul 4, 2011 4:18 PMHi Krishna,
To solve your issue, you need to know the linkage between the WF and event.
You can go to t-code SWE2 to find the event linkage between Workflow & Business Object event.
You can also open t-code PFTC, select the task type as Worflow Template and give the TASK / WF number without prefix WS, then go to EVENT tab to know the event.
Regards
Saumya -
Issue in sending mail to SAP Inbox from Workflow
Hi All,
I need to send the mail to the creator of the document about the user decision. If i am executing the workflow through the event ( ouput type) , the workflow processing in SWIA is complete but the mail is not sent in the SAP Inbox. But If i try to manually execute the workflow, mail is sent to the SAP Inbox.
I've used WF_INITIAITOR in the Expression. I need to send the mail not to the approver but to the creator of the workflow.
Thanks,
NehaHi,
the event is also triggered from my Id but in that case I do not recieve any e-mail. None of the users recieve the e-mail in the SAP Inbox for the mail step after the decision.
In workflow Log the last step shows the details as
name of the manager and the workflow background for mail sent step as shown below
Sumit Vij Background work item created 10.01.2012 12:08:43
Sumit Vij Execution started automatically 10.01.2012 12:08:43
Workflow Hintergrund Work item processing complete 10.01.2012 12:08:44
Thanks -
How to download adobe form in sap inbox and process it
Hello experts,
I have a query like how we can download the adobe forms in sap inbox and process process the forms using some program which will convert form data in to XML.
thanks in advance.Hello Samad arif,
May be you can reuse the code that placed in this document to covert the PDF form to XML format.
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/c2567f2b-0b01-0010-b7b5-977cbf80665d
Thanks,
Bharath.K -
Sap inbox, shared folders docs should not be deleted except by author
Dear All
I have put some User trainig manuals in SAP inbox Shared folders and I kept the attribute as 'changeable by author'. But, Users can able to delete these files or documents. Is it possible to make that deletion is also only allowed by Author?
Also, is it possible to track who deleted these documents?
Thanks
Edited by: srini v on Aug 6, 2009 12:54 PMhi,
1. yes u can control delet original through defining Authorization objects for respective user. refer DMS authrization objects
u can use this object and set activities. like create only, delet only. etc in 'C_DRAW_TCS ' This object controls which users can process which document info records, based on a combination of activity, document type, and status.
2. Also check tc --STAT, ask bassis regarding monitoring of user activities.
Benakaraj
??P -
Hi
I need to send the mail from the SAP Inbox (i.e. from Tcode SO01) to my personal mail account.
In Tcode SO01, I am creating a new message and under recipient I am providing my mail ID (for eg [email protected]), and I am selecting Recp. Type as Internet Mail.
I am checking the status in SOST, It is showing error messge 806 and 817.
So How to proceed future and is there any thing else to configure in my system.
If so, Please send me the relavant document which explains the step to step solution.
U can reach me at [email protected] or [email protected]
Thanks and Regards
Vijay Kumar VarmaHi Amit
As you told that some configuration should be wrong in SCOT. In my company, I need to take care of basis job also. So can u please help me out what should be configured in SCOT.
If any suitable document from yourside will be a great help for me.
Thanks and Regards
Vijay Kumar Varma -
RE: Mail sent to SAP inbox-Urgent.
Hi,
I sent mail with attachment( internal table contents) to SAP inbox using the below codw.
DATA: l_text TYPE char255. " Text
*DATA: l_text(280) TYPE c. " Text
DATA: l_lines TYPE i,
l_size TYPE sood-objlen. " Size of Attachment
Mail related
DATA: i_content TYPE soli_tab, " Mail content
i_attach TYPE soli_tab. " Attachment
DATA: l_send_request TYPE REF TO cl_bcs, " E-Mail Send Request
l_document TYPE REF TO cl_document_bcs, " E-Mail Attachment
l_recipient TYPE REF TO if_recipient_bcs, " Distribution List
l_sender TYPE REF TO if_sender_bcs, " Address of Sender
l_uname TYPE salrtdrcpt, " Sender Name(SY-UNAME)
l_bcs_exception TYPE REF TO cx_document_bcs, " BCS Exception
l_addr_exception TYPE REF TO cx_address_bcs, " Address Exception
l_send_exception TYPE REF TO cx_send_req_bcs. " E-Mail sending Exception
DATA: l_recipient_soos TYPE soos1.
*data : p_uname TYPE ad_smtpadr .
FORM send_to_sap_mail .
Preparing body of the Mail
MOVE 'Pending Delivery Documents List' TO l_text.
APPEND l_text TO i_content.
Preparing contents of attachment with Change Log
PERFORM prepare_attachment.
Creates persistent send request
TRY.
l_send_request = cl_bcs=>create_persistent( ).
Creating Document
l_document = cl_document_bcs=>create_document(
i_type = 'RAW'
i_text = i_content[]
i_subject = 'Pending Delivery Documents' ).
DESCRIBE TABLE i_mara LINES l_lines.
DESCRIBE TABLE it_output LINES l_lines.
Size to multiplied by 2 for UNICODE enabled systems
l_size = l_lines * 2 * 255.
Adding Attachment
CALL METHOD l_document->add_attachment
EXPORTING
i_attachment_type = c_ext
i_attachment_size = l_size
i_attachment_subject = 'Pending Delivery Documents'
i_att_content_text = i_attach[].
Add document to send request
CALL METHOD l_send_request->set_document( l_document ).
Get Sender Object
l_uname = sy-uname.
l_sender = cl_sapuser_bcs=>create( l_uname ).
CALL METHOD l_send_request->set_sender
EXPORTING
i_sender = l_sender.
E-Mail
TRANSLATE p_uname TO UPPER CASE.
l_recipient_soos-recesc = 'B'.
l_recipient_soos-recnam = p_uname.
Preparing recepient from SAP Logon Name
CALL METHOD cl_send_request_bcs=>create_recipient_from_soos1
EXPORTING
i_soos1 = l_recipient_soos
RECEIVING
result = l_recipient.
Add Recipient
CALL METHOD l_send_request->add_recipient
EXPORTING
i_recipient = l_recipient
i_express = 'U'
i_copy = ' '
i_blind_copy = ' '
i_no_forward = ' '.
*Trigger E-Mail immediately
l_send_request->set_send_immediately( 'X' ).
CALL METHOD l_send_request->send( ).
COMMIT WORK.
CATCH cx_document_bcs INTO l_bcs_exception.
CATCH cx_send_req_bcs INTO l_send_exception.
CATCH cx_address_bcs INTO l_addr_exception.
ENDTRY.
Refresh it_output.
clear l_text.
clear I_content.
refresh I_attach.
ENDFORM. " Send_to_sap_mail
*& Form prepare_attachment
text
--> p1 text
<-- p2 text
FORM prepare_attachment .
FIELD-SYMBOLS: <lfs_table>, " Internal table structure
<lfs_con>. " Field Content
DATA: l_text TYPE char1024. " Text content for mail attachment
DATA: l_text(1280) TYPE c. " Text content for mail attachment
DATA: l_con(50) TYPE c. " Field Content in character format
Columns to be tab delimeted
LOOP AT it_output ASSIGNING <lfs_table>.
DO.
ASSIGN COMPONENT sy-index OF STRUCTURE <lfs_table>
TO <lfs_con>.
IF sy-subrc NE 0.
CONCATENATE c_cr l_text INTO l_text.
APPEND l_text TO i_attach.
EXIT.
ELSE.
CLEAR: l_con.
MOVE <lfs_con> TO l_con.
CONDENSE l_con.
IF sy-index = 1.
CLEAR: l_text.
MOVE l_con TO l_text.
ELSE.
CONCATENATE l_text l_con INTO l_text
SEPARATED BY c_tab.
ENDIF.
ENDIF.
ENDDO.
ENDLOOP.
ENDFORM. " prepare_attachment
Here my problem is in my internal table i have 30 columns and the row output length is more than 255 char,
and the SOLI structure fields defined as CHAR255, thats why when i am opening the sap mail attachment in Excel sheet, last three fields data is not displaying can any one please let me know the answer.loop at output_table.
concatenate g_string
filed1
filed2
CL_ABAP_CHAR_UTILITIES=>CR_LF
into g_string separted by
CL_ABAP_CHAR_UTILITIES=>HORIZONTAL_TAB.
endloop.
now pass the filled string to
CALL FUNCTION 'SCMS_STRING_TO_FTEXT'
EXPORTING
text = g_string
IMPORTING
LENGTH = LENGTH
TABLES
ftext_tab = obj_bin.
pass this objbin to SO_NEW_DOCUMENT_ATT_SEND_API1
now you will get the desired excel sheet.
NOte: dont put urgent in your subject.it is arule that people should not ans question which have urgent.
Edited by: S.r.v.r.Kumar on Jun 18, 2008 10:25 PM -
Hi all,
I am using the following code to send the mail to SAP inbox,
DATA : it_reclist TYPE TABLE OF somlreci1,
wa_reclist TYPE somlreci1.
DATA : wa_docdata TYPE sodocchgi1.
DATA : it_message TYPE TABLE OF solisti1,
wa_message TYPE solisti1,
it_attach TYPE TABLE OF sopcklsti1.
LOOP AT it_super_uid INTO wa_super_uid.
wa_reclist-receiver = wa_super_uid-usid.
wa_reclist-rec_type = 'B'.
APPEND wa_reclist TO it_reclist.
ENDLOOP.
wa_docdata-obj_langu = sy-langu.
wa_docdata-obj_name = text-005.
wa_docdata-obj_descr = text-006.
wa_docdata-sensitivty = 'F'.
wa_message-line = text-007.
APPEND wa_message TO it_message.
CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
EXPORTING
document_data = wa_docdata
put_in_outbox = 'X'
COMMIT_WORK = ' '
IMPORTING
SENT_TO_ALL =
NEW_OBJECT_ID =
TABLES
packing_list = it_attach
OBJECT_HEADER =
CONTENTS_BIN =
CONTENTS_TXT =
CONTENTS_HEX =
OBJECT_PARA =
OBJECT_PARB =
receivers = it_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 ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
IF sy-subrc = 0.
MESSAGE text-008 TYPE 'S'.
ENDIF.
Still i am not able to send the mail , its giving me exception 5. Please let me know how could i modify the code.
Thanx,
Girish.HI,
The code below demonstrates how to send an SAP mail to a users inbox (SBWP)
: Report ZSAPTALK :
: Author SAPdev.co.uk :
: Description : :
: Send mail message to SAP mail inbox. :
: Please visit www.sapdev.co.uk for further info :
REPORT ZSAPMAIL NO STANDARD PAGE HEADING.
TABLES: DRAD,
QINF,
DRAW,
SOUC,
SOFD,
DRAP.
DATA: P_RETURN_CODE LIKE SY-SUBRC.
data: d_username LIKE DRAP-PRNAM.
mail declarations
DATA : BEGIN OF NEW_OBJECT_ID. " the newly created email object
INCLUDE STRUCTURE SOODK.
DATA : END OF NEW_OBJECT_ID.
DATA : BEGIN OF FOLDER_ID. " the folder id of the outbox
INCLUDE STRUCTURE SOODK.
DATA : END OF FOLDER_ID.
DATA : BEGIN OF REC_TAB OCCURS 5. " the table which will contain the
INCLUDE STRUCTURE SOOS1. " information on the destination
DATA : END OF REC_TAB.
DATA : BEGIN OF OBJECT_HD_CHANGE. " the table which contains the
INCLUDE STRUCTURE SOOD1. " info for the object we will be
DATA : END OF OBJECT_HD_CHANGE. " creating
DATA : OBJECT_TYPE LIKE SOOD-OBJTP. " the type of object
DATA : BEGIN OF OBJHEAD OCCURS 5. " the header of the object
INCLUDE STRUCTURE SOLI.
DATA : END OF OBJHEAD.
DATA : BEGIN OF OBJCONT OCCURS 0. " the contents of the object
INCLUDE STRUCTURE SOLI. " i.e. the text etc
DATA : END OF OBJCONT.
DATA : BEGIN OF OBJPARA OCCURS 5. " formatting options
INCLUDE STRUCTURE SELC.
DATA : END OF OBJPARA.
DATA : BEGIN OF OBJPARB OCCURS 5. " formatting options
INCLUDE STRUCTURE SOOP1.
DATA : END OF OBJPARB.
DATA : BEGIN OF T_MAIL_TEXT OCCURS 0, "Message table for messages to
STRING(255), "user via mailbox
END OF T_MAIL_TEXT.
Parameter: p_uname like sy-uname.
**START-OF-SELECTION
START-OF-SELECTION.
d_username = p_uname.
PERFORM POPULATE_EMAIL_TEXT.
PERFORM SETUP_TRX_AND_RTX_MAILBOXES USING P_RETURN_CODE.
PERFORM CREATE_AND_SEND_MAIL_OBJECT.
FORM POPULATE_EMAIL_TEXT *
Inserts text for email message *
FORM POPULATE_EMAIL_TEXT.
CLEAR T_MAIL_TEXT-STRING. "puts a blank line in
APPEND T_MAIL_TEXT.
APPEND T_MAIL_TEXT.
adds failed list on to end of success list.
T_MAIL_TEXT-STRING = 'Test email message line 1'.
APPEND T_MAIL_TEXT.
T_MAIL_TEXT-STRING = 'Test email message line 1'.
APPEND T_MAIL_TEXT.
CLEAR T_MAIL_TEXT-STRING. "puts a blank line in
APPEND T_MAIL_TEXT.
T_MAIL_TEXT-STRING = 'Header1 Header2 Header3'.
APPEND T_MAIL_TEXT.
T_MAIL_TEXT-STRING = '----
APPEND T_MAIL_TEXT.
ENDFORM.
*& Form SETUP_TRX_&_RTX_MAILBOXES
Ensure that the mailboxes of the sender (INTMGR) are set up OK
FORM SETUP_TRX_AND_RTX_MAILBOXES USING P_RETURN_CODE.
get the user no of the sender in order to add the mail to the
user name's outbox for future reference
SELECT SINGLE * FROM SOUC
WHERE SAPNAM = SY-UNAME. "SAP name of a SAPoffice user
IF SY-SUBRC NE 0.
"Error finding the SAPoffice user info for the user
MESSAGE E064(ZR53) WITH SY-UNAME.
P_RETURN_CODE = 1.
EXIT.
ENDIF.
*Get the outbox No for the sender from the user No where the folder
" type is an outbox
SELECT * FROM SOFD WHERE OWNTP = SOUC-USRTP "Owner type from ID
AND OWNYR = SOUC-USRYR "Owner year from the ID
AND OWNNO = SOUC-USRNO "Owner number from the I
AND FOLRG = 'O'."Output box
ENDSELECT.
IF SY-SUBRC NE 0.
" Error getting folder information for the user
MESSAGE E065(ZR53) WITH SY-UNAME.
P_RETURN_CODE = 1.
EXIT.
ENDIF.
ENDFORM. " SETUP_TRX_&_RTX_MAILBOXES
*& Form CREATE_AND_SEND_MAIL_OBJECT
FORM CREATE_AND_SEND_MAIL_OBJECT.
FOLDER_ID-OBJTP = SOFD-FOLTP. " the folder type ( usually FOL )
FOLDER_ID-OBJYR = SOFD-FOLYR. " the folder year ( usually 22 )
FOLDER_ID-OBJNO = SOFD-FOLNO. " the folder no.
OBJECT_TYPE = 'RAW'. " the type of object being added
build up the object information for creating the object
OBJECT_HD_CHANGE-OBJLA = SY-LANGU. " the language of the email
OBJECT_HD_CHANGE-OBJNAM = 'PS to DM Interface'. " the object name
mail subject 'Mass Linking of QA, pass/fail'
MOVE TEXT-002 TO OBJECT_HD_CHANGE-OBJDES.
OBJECT_HD_CHANGE-DLDAT = SY-DATUM. " the date of the email
OBJECT_HD_CHANGE-DLTIM = SY-UZEIT. " the time of the email
OBJECT_HD_CHANGE-OBJPRI = '1'. " the priority ( highest )
OBJECT_HD_CHANGE-OBJSNS = 'F'. " the object sensitivity
F is functional, C - company sensitive
object_hd_change-skips = ' '. " Skip first screen
object_hd_change-acnam = 'SM35'. " Batch imput transaction
object_hd_change-vmtyp = 'T'. " Transaction type
add the text lines into the contents of the email
CLEAR OBJCONT.
REFRESH OBJCONT.
free objcont. " added this to delete the mail contents records
LOOP AT T_MAIL_TEXT.
OBJCONT-LINE = T_MAIL_TEXT-STRING.
APPEND OBJCONT.
ENDLOOP.
CLEAR OBJCONT.
build up the table of receivers for the email
REC_TAB-RCDAT = SY-DATUM. " the date to send the email
REC_TAB-RCTIM = SY-UZEIT. " the time to send the email
the SAP username of the person who will receive the email
REC_TAB-RECNAM = D_USERNAME.
the user type of the person who will send the email ( USR )
REC_TAB-SNDTP = SOUC-USRTP.
the user year of the person who will send the email ( 22 )
REC_TAB-SNDYR = SOUC-USRYR.
the user number of the person who will send the email
REC_TAB-SNDNO = SOUC-USRNO.
the sap username of the person who will send the email
REC_TAB-SNDNAM = SY-UNAME.
get the user info for the receiver of the document
SELECT SINGLE * FROM SOUC WHERE SAPNAM = D_USERNAME.
IF SY-SUBRC NE 0.
WRITE : / TEXT-001, D_USERNAME. "usnam.
EXIT.
ENDIF.
the user number of the person who will receive the email ( USR )
REC_TAB-RECNO = SOUC-USRNO.
the user type of the person who will receive the email ( USR )
REC_TAB-RECTP = SOUC-USRTP.
the user year of the person who will receive the email ( USR )
REC_TAB-RECYR = SOUC-USRYR.
the priority of the email ( highest )
REC_TAB-SNDPRI = '1'.
check for delivery on the email
REC_TAB-DELIVER = 'X'.
send express so recipient knows there is a problem
REC_TAB-SNDEX = 'X'.
check for a return receipt
REC_TAB-READ = 'X'.
the sap username of the person receiving the email
REC_TAB-ADR_NAME = D_USERNAME. "usnam.
add this receiver to the internal table
APPEND REC_TAB.
CLEAR REC_TAB.
call the function to create the object in the outbox of the sender
CALL FUNCTION 'SO_OBJECT_INSERT'
EXPORTING
FOLDER_ID = FOLDER_ID
OBJECT_HD_CHANGE = OBJECT_HD_CHANGE
OBJECT_TYPE = OBJECT_TYPE
OWNER = SY-UNAME
IMPORTING
OBJECT_ID = NEW_OBJECT_ID
TABLES
OBJCONT = OBJCONT
OBJHEAD = OBJHEAD
OBJPARA = OBJPARA
OBJPARB = OBJPARB
EXCEPTIONS
ACTIVE_USER_NOT_EXIST = 1
COMMUNICATION_FAILURE = 2
COMPONENT_NOT_AVAILABLE = 3
DL_NAME_EXIST = 4
FOLDER_NOT_EXIST = 5
FOLDER_NO_AUTHORIZATION = 6
OBJECT_TYPE_NOT_EXIST = 7
OPERATION_NO_AUTHORIZATION = 8
OWNER_NOT_EXIST = 9
PARAMETER_ERROR = 10
SUBSTITUTE_NOT_ACTIVE = 11
SUBSTITUTE_NOT_DEFINED = 12
SYSTEM_FAILURE = 13
X_ERROR = 14
OTHERS = 15.
IF SY-SUBRC NE 0.
MESSAGE A063(ZR53) WITH SY-SUBRC.
EXIT.
ENDIF.
call the function to send the already created email to the receivers
CALL FUNCTION 'SO_OBJECT_SEND'
EXPORTING
FOLDER_ID = FOLDER_ID
OBJECT_ID = NEW_OBJECT_ID
OUTBOX_FLAG = 'X'
OWNER = SY-UNAME
TABLES
RECEIVERS = REC_TAB
EXCEPTIONS
ACTIVE_USER_NOT_EXIST = 1
COMMUNICATION_FAILURE = 2
COMPONENT_NOT_AVAILABLE = 3
FOLDER_NOT_EXIST = 4
FOLDER_NO_AUTHORIZATION = 5
FORWARDER_NOT_EXIST = 6
NOTE_NOT_EXIST = 7
OBJECT_NOT_EXIST = 8
OBJECT_NOT_SENT = 9
OBJECT_NO_AUTHORIZATION = 10
OBJECT_TYPE_NOT_EXIST = 11
OPERATION_NO_AUTHORIZATION = 12
OWNER_NOT_EXIST = 13
PARAMETER_ERROR = 14
SUBSTITUTE_NOT_ACTIVE = 15
SUBSTITUTE_NOT_DEFINED = 16
SYSTEM_FAILURE = 17
TOO_MUCH_RECEIVERS = 18
USER_NOT_EXIST = 19
X_ERROR = 20
OTHERS = 21.
IF SY-SUBRC EQ 0.
MESSAGE I035(ZR53) WITH NEW_OBJECT_ID D_USERNAME. "usnam.
ELSE.
MESSAGE I036(ZR53) WITH D_USERNAME." sy-subrc.
ENDIF.
ENDFORM. " CREATE_AND_SEND_MAIL_OBJECT
Hope this helps.
Reward if helpful.
Regards,
Sipra -
Sending ALV output to the SAP Inbox.
Hi
I'm using SAP report <b>sendlist_bcs</b> for sending report output to the SAP inbox but attachment is not getting delivered.
Can anybody help to resolve the issue...
My report is:
*& Report ZTTEST_SAGAR
REPORT ZTTEST_SAGAR.
*& Report SENDLIST_BCS
*& Sample report from note 190669 for sending lists via SAPconnect
*& using the BCS interface
*& Note:
*& 1. Set a commit work statement after the sending
*& 2. Give binary data of type x not type c to send module, i.e.
*& use structure solix instead of soli and give it to tables
*& parameter contents_hex instead of contents_bin
*& Do this by filling contents_hex directly from the module
*& table_compress. In case of reading the data from spool, convert
*& to solix using so_solitab_to_solixtab
*& 3. Don't calculate document size. It is done internally
*report sendlist_bcs no standard page heading message-id so.
selection-screen begin of block mode with frame title text-001.
parameters: submit radiobutton group mode default 'X'.
parameters: write radiobutton group mode .
parameters: spool radiobutton group mode.
selection-screen end of block mode.
global data
data g_list_content type solix_tab.
data g_text_content type soli_tab.
data sysid(10) TYPE C.
*---- start-of-selection -
start-of-selection.
perform create_text_content changing g_text_content.
perform create_list_content changing g_list_content.
perform send using g_text_content
g_list_content.
a commit work has to be set somewhere after the sending!
commit work.
Form routines *
*& Form create_list_content
form create_list_content changing list_content type solix_tab.
1st possibility - use "submit <report> exporting list to memory"
if submit = 'X'.
perform use_submit changing list_content.
endif.
2nd possibility - create a new list within this report.
if write = 'X'.
perform write_a_list changing list_content.
endif.
3rd possibility - get list from spool
if spool = 'X'.
perform get_list_from_spool changing list_content.
endif.
endform. "create_list_content
*& Form create_text_content
form create_text_content changing text_content type soli_tab.
append 'This is the first line' to text_content. "#EC NOTEXT
append 'This is the second line' to text_content. "#EC NOTEXT
convert the content from RAW to TXT
call function 'SO_RAW_TO_RTF'
tables
objcont_old = text_content
objcont_new = text_content
exceptions
others = 0.
endform. "create_text_content
*& Form SEND
form send using text_content type soli_tab
list_content type solix_tab.
data send_request type ref to cl_bcs.
data text type bcsy_text.
data document type ref to cl_document_bcs.
data recipient type ref to if_recipient_bcs.
data bcs_exception type ref to cx_bcs.
data sent_to_all type os_boolean.
try.
create the send request
send_request = cl_bcs=>create_persistent( ).
create the document with attachments
main document
append 'Hi,' to text.
append 'attached you will find the list.' to text.
document = cl_document_bcs=>create_document(
i_type = 'RAW'
i_text = text
i_subject = 'ABAPlist' ).
add text attachment to document
document->add_attachment( i_attachment_type = 'TXT'
i_attachment_subject = text-002
i_att_content_text = text_content ).
add list attachment to document
document->add_attachment( i_attachment_type = 'ALI'
i_attachment_subject = text-003
i_att_content_hex = list_content ).
add document to send request
send_request->set_document( document ).
sysid = sy-sysid.
data : uname type ad_uname.
uname = 'USTZZSKAZI'.
create recipient and add to send request
recipient = cl_cam_address_bcs=>CREATE_RML_ADDRESS( i_syst = sysid
i_client = sy-mandt
i_username = uname ).
send_request->add_recipient( i_recipient = recipient ).
send
sent_to_all = send_request->send( i_with_error_screen = 'X' ).
if sent_to_all = 'X'.
message s022.
endif.
catch cx_bcs into bcs_exception.
message e865 with bcs_exception->error_type.
endtry.
endform. "send
*& Form USE_SUBMIT
form use_submit changing contents_hex type solix_tab.
data listobject type table of abaplist.
get the list object by calling the list in another report
F1 on submit gives more information
submit balvsd03 exporting list to memory and return.
import the list from memory and store it in table listobject
call function 'LIST_FROM_MEMORY'
tables
listobject = listobject
exceptions
not_found = 1
others = 2.
if sy-subrc <> 0.
message e105 with 'LIST_FROM_MEMORY'.
endif.
free memory
call function 'LIST_FREE_MEMORY'
tables
listobject = listobject
exceptions
others = 1.
if sy-subrc <> 0.
message e105 with 'LIST_FREE_MEMORY'.
endif.
it's always necessary to compress the table.
SAPconnect will decompress it
call function 'TABLE_COMPRESS' "#EC *
tables
in = listobject
out = contents_hex
exceptions
compress_error = 1
others = 2.
if sy-subrc <> 0.
message e105 with 'TABLE_COMPRESS'.
endif.
endform. " USE_SUBMIT
*& Form WRITE_A_LIST
form write_a_list changing contents_hex type solix_tab.
data listobject type table of abaplist.
perform write_list.
Save the list and store table listobject
call function 'SAVE_LIST'
exporting
list_index = sy-lsind
tables
listobject = listobject
exceptions
list_index_invalid = 1.
if sy-subrc = 1.
message e105 with 'SAVE_LIST'.
endif.
It's always necessary to compress the table
SAPconnect will decompress it
call function 'TABLE_COMPRESS' "#EC *
tables
in = listobject
out = contents_hex
exceptions
compress_error = 1
others = 2.
if sy-subrc <> 0.
message e105 with 'TABLE_COMPRESS'.
endif.
endform. " WRITE_A_LIST
*& Form GET_LIST_FROM_SPOOL
form get_list_from_spool changing contents_hex type solix_tab.
data spool_number type rspoid.
data contents_bin type soli_tab.
data print_parameters type pri_params.
data valid type c.
write a list into spool
call function 'GET_PRINT_PARAMETERS'
importing
out_parameters = print_parameters
valid = valid
exceptions
archive_info_not_found = 1
invalid_print_params = 2
invalid_archive_params = 3
others = 4.
if sy-subrc <> 0.
message e105 with 'GET_PRINT_PARAMETERS'.
elseif valid is initial.
return.
endif.
new-page print on parameters print_parameters no dialog.
perform write_list.
new-page print off.
spool_number = sy-spono.
you can also send OTF documents from spool with this function
module. The importing parameter real_type gives you the doc type
that you have to give to the send interface. The parameter is not
used here
call function 'RSPO_RETURN_SPOOLJOB'
exporting
rqident = spool_number
tables
buffer = contents_bin
exceptions
no_such_job = 1
job_contains_no_data = 2
selection_empty = 3
no_permission = 4
can_not_access = 5
read_error = 6
type_no_match = 7
others = 8.
if sy-subrc <> 0.
message e105 with 'RSPO_RETURN_SPOOLJOB'.
endif.
convert to hex table
call function 'SO_SOLITAB_TO_SOLIXTAB'
exporting
ip_solitab = contents_bin
importing
ep_solixtab = contents_hex.
endform. " GET_LIST_FROM_SPOOL
*& Form WRITE_LIST
form write_list.
data lt_scarr type table of scarr.
data carr type scarr.
select * from scarr into table lt_scarr.
format color = 1.
uline at /1(46).
write: / sy-vline,
'CARRID', 10 sy-vline,
'CARRNAME', 35 sy-vline,
'CURRCODE', 46 sy-vline.
format color = 2.
uline at /1(46).
loop at lt_scarr into carr.
write: / sy-vline,
carr-carrid, 10 sy-vline,
carr-carrname, 35 sy-vline,
carr-currcode, 46 sy-vline.
endloop.
uline at /1(46).
new-line.
endform. " WRITE_LIST
Thanks,
sagarhi Sagar
'SO_NEW_DOCUMENT_ATT_SEND_API1' function module for that.
Example::::
Data Declaration
data pdf like tline occurs 0.
data : objbin like solisti1 occurs 0 with header line.
Data: docdata like sodocchgi1,
objpack like sopcklsti1 occurs 1 with header line,
objhead like solisti1 occurs 1 with header line,
objtxt like solisti1 occurs 10 with header line,
objbin like solisti1 occurs 10 with header line,
objhex like solix occurs 10 with header line,
reclist type table of SOMLRECI1 with header line.
Data: listobject like abaplist occurs 1 with header line.
data : objhex2 like objhex occurs 0 with header line.
Data: tab_lines type i,
doc_size type i,
att_type like SOODK-OBJTP.
data: ls_drao like drao occurs 0,
i_data like drao-orblk occurs 0,
ls_doc_file like dms_doc_file,
ls_draw like draw.
data: begin of i_data occurs 0,
orbkl like drao-orbkl,
orblk like drao-orblk,
end of i_data.
data: w_data like i_data,
w_data2 type drao-orbkl,
wa_drao type drao.
DATA: t_error(1) type c.
DATA: t_return like BAPIRET2.
*ls_draw-mandt = '200'.
ls_draw-dokar = 'GPO'.
ls_draw-doknr = 'Z10'.
ls_draw-dokvr = '00'.
ls_draw-doktl = '000'.
ls_draw-dttrg = 'SAP-SYSTEM'.
ls_draw-dAPPL = 'DOC'.
ls_doc_file-fileno = '1'.
ls_doc_file-dttrg = 'SAP-SYSTEM'.
*Debug the cv03n transaction to see how the FMs are used
CALL FUNCTION 'CV120_DOC_CHECKOUT_TO_TABLE'
EXPORTING
PS_COUT_DEF =
ps_doc_file = ls_doc_file
ps_draw = LS_DRAW
tables
PT_DRAZ =
ptx_content = ls_drao
PTX_DRAOZ =
EXCEPTIONS
ERROR = 1
OTHERS = 2
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
loop at ls_drao into wa_drao.
move: wa_drao-orblk to w_data-orblk.
append w_data to i_data.
endloop.
OBJPACK-HEAD_START = 1.
DESCRIBE TABLE i_data LINES TAB_LINES.
CALL FUNCTION 'ZOUTPUT_X_TABLESIZE_CHG'
EXPORTING
IV_APPEND = ' '
IV_BYTE_MODE = 'X'
IV_STRING =
IV_XSTRING =
IMPORTING
EV_SIZE =
EV_LINES =
EV_STRING =
EV_XSTRING =
TABLES
IT_DATA = i_data
ET_DATA = objhex
EXCEPTIONS
NOENTRIES = 1
OTHERS = 2
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
loop at objhex.
move-corresponding objhex to objhex2.
append objhex2.
endloop.
docdata-obj_name = 'TEST_ALI'.
docdata-obj_descr = 'Test including ALI/HTML Attachment'.
Main Text
objtxt = 'Test Document.'.
append objtxt.
objtxt = 'You will find an ALI/HTML attachment '.
append objtxt.
objtxt = 'Have a nice day.'.
append objtxt.
Write Packing List (Main)
describe table objtxt lines tab_lines.
read table objtxt index tab_lines.
docdata-doc_size = ( tab_lines - 1 ) * 255 + strlen( objtxt ).
clear objpack-transf_bin.
objpack-head_start = 1.
objpack-head_num = 0.
objpack-body_start = 1.
objpack-body_num = tab_lines.
objpack-doc_type = 'TXT'.
append objpack.
Create Message Attachment
Write Packing List (Attachment)
att_type = 'PDF'.
describe table objhex lines tab_lines.
read table objhex index tab_lines.
objpack-doc_size = ( tab_lines ) * 255 ."+ strlen( i_data ).
objpack-transf_bin = 'X'.
objpack-head_start = 1.
objpack-head_num = 0.
objpack-body_start = 1.
objpack-body_num = tab_lines.
objpack-doc_type = att_type.
objpack-obj_name = 'ATTACHMENT1'.
objpack-obj_descr = 'Attached Document1'.
append objpack.
Second attachment
loop at objhex.
move-corresponding objhex to objhex2.
append objhex2.
endloop.
*att_type = 'DOC'.
*describe table objhex lines tab_lines.
*read table objhex index tab_lines.
*objpack-doc_size = ( tab_lines ) * 255 ."+ strlen( i_data ).
*objpack-transf_bin = 'X'.
*objpack-head_start = 1.
*objpack-head_num = 0.
*objpack-body_start = 1.
*objpack-body_num = tab_lines.
*objpack-doc_type = att_type.
*objpack-obj_name = 'ATTACHMENT2'.
*objpack-obj_descr = 'Attached Document2'.
*append objpack.
Third attachment
*loop at objhex.
move-corresponding objhex to objhex2.
append objhex2.
*endloop.
*att_type = 'PDF'.
*describe table objhex lines tab_lines.
*read table objhex index tab_lines.
*objpack-doc_size = ( tab_lines ) * 255 ."+ strlen( i_data ).
*objpack-transf_bin = 'X'.
*objpack-head_start = 1.
*objpack-head_num = 0.
*objpack-body_start = 1.
*objpack-body_num = tab_lines.
*objpack-doc_type = att_type.
*objpack-obj_name = 'ATTACHMENT3'.
*objpack-obj_descr = 'Attached Document3'.
*append objpack.
Create receiver list
data: reclist1 type sadrfd .
reclist1-rec_fax = '650-467-2890'.
reclist1-REC_STATE = 'US'.
append reclist1.
*read table reclist1 index 1.
move reclist1(30) to reclist-receiver(30).
move reclist1346(3) to reclist-receiver346(3).
*reclist-receiver = reclist1."'US16503457900'.
*move reclist1-rec_fax to reclist-receiver.
*reclist-receiver = 'US16502796630'. "'+1 (16502796999)'.
reclist-REC_type = 'F'.
*reclist-country = 'US'.
*reclist-COM_TYPE = 'TELFAX'.
*reclist-fax = 'US1650-279-6630'.
append reclist.
*reclist-receiver = sy-uname. "<-- change internal user
*reclist-rec_type = 'B'.
*append reclist.
Send Message
CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
EXPORTING
document_data = docdata
PUT_IN_OUTBOX = 'X'
COMMIT_WORK = 'X' "used from rel.6.10
IMPORTING
SENT_TO_ALL =
NEW_OBJECT_ID =
tables
packing_list = objpack
OBJECT_HEADER = objhead
CONTENTS_BIN = objbin
CONTENTS_TXT = objtxt
CONTENTS_HEX = objhex
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 ID 'SO' TYPE 'S' NUMBER '023'
with docdata-obj_name.
ENDIF.
**Please reward suitable points***
With Regards
Navin Khedikar -
Simple code to send ALV display as XLS attachment to SAP inbox
Hi All,
Simple code to send ALV display as XLS attachment to SAP inbox.
Also i need to send only 200 records per attachement. So in this case i need send multiple attachment per mail
Thanks,
LokeshThe following code is used to send the internal table which u pass fo the ALV display to be send as excel sheet attachment
Internal table is it_attach[]
ld_email = po_email.
ld_mtitle = 'Email From Z377_EMAIL_XLS'.
ld_format = 'XLS'.
ld_attdescription = 'filename'.
ld_attfilename = 'Allot'.
ld_sender_address = ' '.
ld_sender_address_type = ' '.
* Fill the document data.
w_doc_data-doc_size = 1.
* Populate the subject/generic message attributes
w_doc_data-obj_langu = sy-langu.
w_doc_data-obj_name = 'SAPRPT'.
w_doc_data-obj_descr = ld_mtitle .
w_doc_data-sensitivty = 'F'.
* Fill the document data and get size of attachment
CLEAR w_doc_data.
READ TABLE it_attach INDEX w_cnt.
w_doc_data-doc_size =
( w_cnt - 1 ) * 255 + STRLEN( it_attach ).
w_doc_data-obj_langu = sy-langu.
w_doc_data-obj_name = 'SAPRPT'.
w_doc_data-obj_descr = ld_mtitle.
w_doc_data-sensitivty = 'F'.
CLEAR t_attachment.
REFRESH t_attachment.
t_attachment[] = it_attach[].
* Describe the body of the message
CLEAR t_packing_list.
REFRESH t_packing_list.
t_packing_list-transf_bin = space.
t_packing_list-head_start = 1.
t_packing_list-head_num = 0.
t_packing_list-body_start = 1.
DESCRIBE TABLE li_content LINES t_packing_list-body_num.
t_packing_list-doc_type = 'RAW'.
APPEND t_packing_list.
* Create attachment notification
t_packing_list-transf_bin = 'X'.
t_packing_list-head_start = 1.
t_packing_list-head_num = 1.
t_packing_list-body_start = 1.
DESCRIBE TABLE t_attachment LINES t_packing_list-body_num.
t_packing_list-doc_type = ld_format.
t_packing_list-obj_descr = ld_attdescription.
t_packing_list-obj_name = ld_attfilename.
t_packing_list-doc_size = t_packing_list-body_num * 255.
APPEND t_packing_list.
* Add the recipients email address
CLEAR t_receivers.
REFRESH t_receivers.
t_receivers-receiver = ld_email.
t_receivers-rec_type = 'U'.
t_receivers-com_type = 'INT'.
t_receivers-notif_del = 'X'.
t_receivers-notif_ndel = 'X'.
APPEND t_receivers.
CALL FUNCTION 'SO_DOCUMENT_SEND_API1'
EXPORTING
document_data = w_doc_data
put_in_outbox = 'X'
sender_address = ld_sender_address
sender_address_type = ld_sender_address_type
commit_work = 'X'
*IMPORTING
*sent_to_all = w_sent_all
TABLES
packing_list = t_packing_list
contents_bin = t_attachment
contents_txt = li_content
receivers = t_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. -
Small issue in sending mail to sap-inbox via classes
Hi All,
I am working in sending SAP mail to sap-inbox via classes..
Which i am able to work out..But got some minor struck off where when i am sending the mail from sap-report
it is sucesfully reaching the user ....
Issue is In the sap-inbox mail it is not only showing the
Created: Sender user name
it is also showing the Changed :Sender name only
How to restrict the changed should not display ...
Waiting for your response....
*Creates persistent send request
TRY.
L_SEND_REQUEST = CL_BCS=>CREATE_PERSISTENT( ).
* Creating Document
L_DOCUMENT_SAS = CL_DOCUMENT_BCS=>CREATE_DOCUMENT(
I_TYPE = 'HTM'
I_TEXT = I_CONTENT[]
I_SUBJECT = 'Automated HRIS (SAP) Report' ).
*PERFORM PREPARE_ATTACHMENT.
* Adding Attachment
CALL METHOD L_DOCUMENT_SAS->ADD_ATTACHMENT
EXPORTING
I_ATTACHMENT_TYPE = C_EXT
* I_ATTACHMENT_SIZE = L_SIZE
I_ATTACHMENT_SUBJECT = 'Hr Details r.xls'
I_ATT_CONTENT_HEX = L_XML_TABLE. "i_attach.
* I_ATT_CONTENT_TEXT = l_XML_TABLE.
Sas
Edited by: saslove sap on Oct 22, 2009 7:05 AM
Edited by: saslove sap on Oct 22, 2009 7:07 AMcontd...
* document to send request
CALL METHOD L_SEND_REQUEST->SET_DOCUMENT( L_DOCUMENT_SAS ).
DATA:LR_SENDER TYPE REF TO IF_SENDER_BCS,
LR_SEND TYPE REF TO CL_BCS.
* Preparing the sender object
* LR_SENDER = CL_CAM_ADDRESS_BCS=>CREATE_INTERNET_ADDRESS( sy-uname ).
DATA: L1_UNAME TYPE SY-UNAME.
L1_UNAME = SY-UNAME.
LR_SENDER = CL_SAPUSER_BCS=>CREATE( L1_UNAME ).
* Setting the sender
CALL METHOD L_SEND_REQUEST->SET_SENDER
EXPORTING
I_SENDER = LR_SENDER.
* E-Mail
LOOP AT P_EADDR.
TRANSLATE P_EADDR-LOW TO UPPER CASE.
L_RECIPIENT = CL_SAPUSER_BCS=>( P_EADDR-LOW ).
CALL METHOD L_SEND_REQUEST->ADD_RECIPIENT
EXPORTING
I_RECIPIENT = L_RECIPIENT
I_EXPRESS = 'X'
I_COPY = ' '
I_BLIND_COPY = ' '
I_NO_FORWARD = ' '.
IF SY-SUBRC EQ 0.
WRITE:/'** SUCCESS: Email Sent to', P_EADDR-LOW COLOR COL_NORMAL.
ELSE.
WRITE:/'** ERROR: Failed to send Email to',P_EADDR-LOW COLOR COL_NEGATIVE .
ENDIF.
ENDLOOP.
*Trigger E-Mail immediately
L_SEND_REQUEST->SET_SEND_IMMEDIATELY( ' ' ).
CALL METHOD L_SEND_REQUEST->SEND( ).
COMMIT WORK.
CATCH CX_DOCUMENT_BCS INTO L_BCS_EXCEPTION.
CATCH CX_SEND_REQ_BCS INTO L_SEND_EXCEPTION.
CATCH CX_ADDRESS_BCS INTO L_ADDR_EXCEPTION.
ENDTRY.
Edited by: saslove sap on Oct 22, 2009 9:02 AM -
Refreshing workitem in sap inbox while reverting form two parallel level.
if a user raise a request whcih is supposed to get approved /reject/revert by level1 and level2 people parellelly, if level1 perform any of the activity of approve/reject/revert in his sap inbox ,level2 sap inbox logically should get clear respectivly and vice versa if level2 perfom the same activity.
in my scenario
the request from level0 goes to level1 & level2 ,both of them are autherized to approve/reject/revert the document,
whosoever from level1 or level 2 perform the activity first in thier sap inbox..accordingly for other level sap inbox clear the work iteam as that activity has been already triggered by any 1 of them.
in this context..the approve and revert function work perfectly..if level1 person will aprrove or reject,respectively the same activity in level2 inbox get clear as it is already performed by level1 ,but in revert function. if level1 revert the document from his sap inbox thn the same activity for same document its not gettting cleard from level2 sap inbox .
as for approve and reject..the respective function will get performed and workflow get closed .but for revert ..the document will be sended to initiator for change,once the initiaotr make the changes it has to come again for level1 & level2 approve/reject/revert user decision.
please let me know for revert function how i synchronize the level1 & level2 activity.if level1 sent the document for revert thn how to clear the same work item from level2 sap inbox parellely.
how to refreshing workitem in sap inbox while reverting form two parallel authorised levels w.r.t to revert function triigerd by any of the level.How are you sending the workflow item to level1 and level2.
The simplest way is to create a rule and assign it to the workflow item.
What the rule will do is fetch both level1 and level2 userids and pass the it to the workflow. When two userids are passed to a task the workflow item is send to their inbox. And so as anyone of them processes it, it disappears from the other person's inbox.
You dont need to use PARALLEL option.
Khusro Habib
Maybe you are looking for
-
Error while Deploying - ORABPEL-04131
While depoying a BPEL process, we got below error: Exception message is: ORABPEL-04131 Cannot insert/update process descriptor. The process domain was unable to insert/update the descriptor for process "SUP012_EllipseWorkOrders_Inbound_Service", revi
-
Hello, I've been having an issue with Creative suite 6 for a few months. Anytime I try to open: Illustrator, Photoshop, Dreamweaver, InDesign, and Bridge, it closes out during the loading of the applications an says 'Adobe Illustrator CS6 has stopped
-
Problem with setRollbackOnly in MDB
Hello, I get the following error when context.setRollbackOnly is called after an exception in a MDB...... the DD is as follows, which is the same as mentioned in the Programming JMS documentation......
-
When I try to export my iPhoto book as a PDF, it comes up all blurred even thoguht it looks ok on the sreeen. Any ideas?
-
Unplanned Del Cost during MIRO - VAT gets recalculated.
Hello all <b> Scenario:</b> I have an invoice for procured items with VAT. The unplanned del costs are configured to load onto material. I enter the UDC (unplanned delivery costs) in the header and they get distributed proportionally among invoice it