Can I pass a SAP query to another SAP query???
Hi Friends
In SAP Queries we can edit the existing query and we can save it as a new query. In the same way is there anyway to pass a query to another query? As per my knowledge, I don't think it is possible, I want give confirmation to my manager, before telling this to him, I want to reconfirm it from you experts.
Please guide me.
Regards
Praveen
No Rob,
He is talking about SAP Queries only, but he is not aware of SAP, he is from Dot Net. Thanks for your reply.
Regards
Praveen
Similar Messages
-
How can I pass/add these results in my Main query's column
Hello Experts
I’m working on a subquery. My subquery works fine and give the results what I need. But how can I pass/add these results in my Main query’s column ‘MGRNAME’. Here is my query
select pc.c_id "Project ID",
cn.c_id "Client ID", cn.c_last "Last Name", cn.c_first "First Name",
pj.mgr_id "Manager ID", pj.project_name "Project", MGRNAME
from project_consultant pc
join consultant cn
on (pc.c_id = cn.c_id)
join project pj
on (pc.p_id = pj.p_id)
where lower(cn.c_last) = 'myers'
and MGRNAME in
( select concat (substr(c_last,1,20),
substr(c_first,1,20))
as MGRNAME from consultant
where c_id in (102, 103)
When I run the above query I got error.
Thanks a lot on advanceI’ve join three tables to get the information about I need. I got everything working expert one part. The subquery
( select concat (substr(c_last,1,20),
substr(c_first,1,20))
as MGRNAME from consultant
where c_id in (102, 103)
Gives me the names of employees I need. The output comes 2 names. I’m trying to add these 2 names in my main query and show the results but I got the following error
Error at Command Line:11 Column:4
Error report:
SQL Error: ORA-00904: "MGRNAME": invalid identifier
00904. 00000 - "%s: invalid identifier"
*Cause:
I can understand there is something wrong with MGRNAME field but not sure what it is. Can somebody point it out?
Once again this is main query with single sub query
select pc.c_id "Project ID",
cn.c_id "Client ID", cn.c_last "Last Name", cn.c_first "First Name",
pj.mgr_id "Manager ID", pj.project_name "Project",
MGRNAME
from project_consultant pc
join consultant cn
on (pc.c_id = cn.c_id)
join project pj
on (pc.p_id = pj.p_id)
where lower(cn.c_last) = 'myers'
and MGRNAME in
( select concat (substr(c_last,1,20),
substr(c_first,1,20))
as MGRNAME from consultant
where c_id in (102, 103)
Hope it helps -
Need of XI to send an XML from one SAP system to another SAP system
Dear colleagues,
I work in the SRM solution.
In SRM there is a Purchaser and Supplier scenario called Supplier Self Services.
The Purchaser creates a Purchase order and sends it to the supplier in form of an XML file.
The purchaser system and supplier system are the same SAP system but different clients.
Example: Purchaser client is 300 and Supplier client is 330 and both of them are on the same system.
I have a very basic question.
Currently we have the XI system which acts as an interface to send the Purchaser PO XML to the Supplier as XML.
a)My question is in case the XML structure is identical across both the clients, then what is the need of XI system?
b) Is it not possible to send XML from one client to another without an XI system? there si no need of any message mapping required since I am expecting the same XML structure in both clients.
Please clarify the need of XI system in the following scenario. Is it not possible without XI?
Many thanks.
Best regards,
SrivatsaHi Srivatsa,
YOu can send the XML message from one sap system to another sap system even without an XI system in between.
But the use of SAP XI (Or any other middleware) is recommended because, it gives you the following advantages.
1) Better monitoring and alerting mechanism. XI provides you robust set of tools that let you monitor the status of the messages that are exchanged.
2) Direct communication between systems is referred to as Point to Point communication, which has its own disadvantages as against Hub and SPoke model (Message exchange using XI).
3) Message delivery is guaranteed if you have XI in between.
If the target system is down, the sender sap system will not try multiple times to post the message.
But if you use XI, it can be configured to send the message multiple times, till it succeeds.
Regards,
Ravi Kanth Talagana -
How to copy a Module Pool Program from one SAP server to another SAP server
Hi Experts,
My requirement is to copy some Module pool programs from one SAP server to another SAP server which do not have any link.
Please advise on this.
Regards
Dipakput all relevant objects inside a transport request and release it. this will generate two files, a control file in /usr/sap/trans/cofiles/ and a data file in /usr/sap/trans/data/
you can take these two files, zip'em up and e.g. email them to your destination. There they have to be put into the same directories of that other server and can then be added to the import queue and finally imported.
These last steps would usually be done by an administrator.
Both systems should be on the same release, as far as I know.
Cheers
Thomas -
Send mail from SAP system to another SAP system
Hello Xperts
I need to send a mail from one SAP box (ECC) to another SAP box (SRM,CRM, EP etc). I know how to send mail from SAP to external address but unable to find the parameters in this case. Kindly help.
thkx
Prabhu
PS: Kindly DONOT post on "How to send mail from SAP" as my questions is all abt how to send mail from one sap system to another sap systemHi
To send mail Internally check this sample code it works fine this code was developed by me
*& Report ZMATURITYREPORT *
*& Title - Maturity report *
*& ABAP/4 Consultant *
*& Name- Pavan Praveen Valluri Created on 26/07/2007 *
*& Module - FI *
REPORT ZMATURITYREPORT.
tables: bseg.
* SELECTION SCREEN--------------------------------------------------- *
parameters: p_email type somlreci1-receiver default
'@gujaratpetro.com'.
* Data: p_email(25) type c value '[email protected]'.
* END OF SELECTION SCREEN ------------------------------------------- *
*----------DATA DECLARATION--------------------------------------------*
data: it_message type standard table of solisti1 initial size 0
with header line.
data: it_message1 type standard table of solisti1 initial size 0
with header line.
data: it_message2(10) type N.
data: it_message3 type standard table of solisti1 initial size 0
with header line.
data: it_message4 type standard table of solisti1 initial size 0
with header line.
data: it_attach type standard table of solisti1 initial size 0
with header line.
data: text(150).
data: t_packing_list like sopcklsti1 occurs 0 with header line,
t_contents like solisti1 occurs 0 with header line,
t_receivers like somlreci1 occurs 0 with header line,
t_attachment like solisti1 occurs 0 with header line,
t_object_header like solisti1 occurs 0 with header line,
w_cnt type i,
w_sent_all(1) type c,
w_doc_data like sodocchgi1,
gd_error type sy-subrc,
gd_reciever type sy-subrc.
start-of-selection.
data: lv_date type sy-datum.
data: lv_date1 type sy-datum.
data: lv_formatdate(10) type c.
data: lv_formatdate1(10) type c.
data: var1(4) type c,
var2(2) type c,
var3(2) type c.
data: begin of int_bseg occurs 0,
BELNR LIKE BSEG-BELNR,
ZUONR LIKE BSEG-ZUONR,
GJAHR LIKE BSEG-GJAHR,
DMBTR LIKE BSEG-DMBTR,
HKONT LIKE BSEG-HKONT,
end of int_bseg.
data: begin of int_SKAT occurs 0,
TXT50 LIKE SKAT-TXT50,
SAKNR LIKE SKAT-SAKNR,
KTOPL LIKE SKAT-KTOPL,
end of int_SKAT.
data: begin of int_bkpf occurs 0,
BELNR LIKE BKPF-BELNR,
BUKRS LIKE BKPF-BUKRS,
GJAHR LIKE BKPF-GJAHR,
BUDAT LIKE BKPF-BUDAT,
end of int_BKPF.
data: 2days_out type sy-datum.
2days_out = sy-datum + 2.
data: var4(4) type c,
var5(2) type c,
var6(2) type c.
*-------- END OF DATA DECLARATION--------------------------------------*
*--- CONCATENATING AND ARRANGING DATE ---------------------------------*
lv_date = 2days_out.
var1 = lv_date+(4).
var2 = lv_date+4(2).
var3 = lv_date+6(2).
concatenate var3 var2 var1 into lv_formatdate separated by '.'.
*--- END OF CONCATENATING AND ARRANGING DATE -------------------------*
*-------------------------SELECTION FOR BSEG---------------------------*
select zuonr belnr bukrs GJAHR DMBTR HKONT from bseg into
corresponding fields of table int_bseg
where bukrs = 'company name' and
ZUONR = lv_formatdate.
*--------------END OF SSELECTION FOR BSEG--------------------------- *
*-------------------------SELECTION FOR BKPF---------------------------*
select BUDAT BUKRS BELNR GJAHR from BKPF into
corresponding fields of table int_BKPF
where bukrs = 'company name'.
append int_BKPF.
*------------------END OF SELECTION FOR BKPF---------------------------*
*-------------------------SELECTION FOR SKAT---------------------------*
select SAKNR TXT50 from SKAT into
corresponding fields of table int_SKAT
where KTOPL = 'company name'.
*and SAKNR = INT_BSEG-HKONT.
APPEND INT_SKAT.
*--------------END OF SSELECTION FOR SKAT--------------------------- *
*-----------------POPULATING EMAIL SUBJECT ----------------------------*
perform populate_email_message_body.
perform send_file_as_email_attachment
tables it_message
it_attach
using p_email
'Maturity after 2 days'
'XLS'
'filename'
changing gd_error
gd_reciever.
* Instructs mail send program for SAPCONNECT to send email(rsconn01)
perform initiate_mail_execute_program.
*endif.
end-of-selection.
*------------END OF POPULATING EMAIL SUBJECT --------------------------*
*& Form SEND_FILE_AS_EMAIL_ATTACHMENT
* Send email
form send_file_as_email_attachment tables pit_message
pit_attach
using p_email
p_mtitle
p_format
p_filename
p_attdescription
p_sender_address
p_sender_addres_type
changing p_error
p_reciever.
data: ld_error type sy-subrc,
ld_reciever type sy-subrc,
ld_mtitle like sodocchgi1-obj_descr,
ld_email like somlreci1-receiver,
ld_format type so_obj_tp ,
ld_attdescription type so_obj_nam ,
ld_attfilename type so_obj_des ,
ld_sender_address like soextreci1-receiver,
ld_sender_address_type like soextreci1-adr_typ,
ld_receiver like sy-subrc.
ld_email = p_email.
ld_mtitle = p_mtitle.
ld_format = p_format.
ld_attdescription = p_attdescription.
ld_attfilename = p_filename.
ld_sender_address = p_sender_address.
ld_sender_address_type = p_sender_addres_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[] = pit_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 it_message lines t_packing_list-body_num.
t_packing_list-doc_type = 'RAW'.
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
object_header = t_object_header
packing_list = t_packing_list
contents_bin = t_attachment
contents_txt = it_message
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.
* Populate zerror return code
ld_error = sy-subrc.
* Populate zreceiver return code
loop at t_receivers.
ld_receiver = t_receivers-retrn_code.
endloop.
endform. "send_file_as_email_attachment
*& Form INITIATE_MAIL_EXECUTE_PROGRAM
* Instructs mail send program for SAPCONNECT to send email.
form initiate_mail_execute_program.
wait up to 2 seconds.
if gd_error eq 0.
submit rsconn01 with mode = 'INT'
with output = 'X'
and return.
endif.
endform. " INITIATE_MAIL_EXECUTE_PROGRAM
*& Form POPULATE_EMAIL_MESSAGE_BODY
* Populate message body text
form populate_email_message_body.
refresh it_message.
refresh it_message1.
refresh it_message3.
refresh it_message4.
*--------------- LOOP FOR BSEG -----------------------------------------
loop at int_BSEG.
read table int_bKPF WITH KEY BELNR = INT_BSEG-BELNR
GJAHR = INT_BSEG-GJAHR.
read table int_SKAT WITH KEY SAKNR = INT_BSEG-HKONT.
*---CHANGING DATE FORMAT FOR BKPF---------------------------------------
lv_date1 = int_bkpf-budat.
var4 = lv_date1+(4).
var5 = lv_date1+4(2).
var6 = lv_date1+6(2).
concatenate var6 var5 var4 into lv_formatdate1 separated by '.'.
*---END OF CHANGING DATE FORMAT FOR BKPF-------------------------
it_message = int_bseg-belnr.
it_message1 = lv_formatdate1.
it_message2 = int_bseg-dmbtr.
it_message3 = int_bseg-hkont.
IT_MESSAGE4 = INT_SKAT-TXT50.
SHIFT IT_MESSAGE2 LEFT DELETING LEADING '0'.
*-------------POPULATING EMAIL BODY WITH DATA -------------------------
concatenate 'Maturity After 2Days' 'for' 'G/L account-' it_message3
'--' IT_MESSAGE4 ',' 'Amount-' it_message2
into it_message separated by space.
append it_message.
append it_message1.
append it_message3.
clear it_message.
clear it_message1.
clear it_message2.
clear it_message3.
endloop.
*------------END OF LOOP FOR BSEG --------------------------------------
endform. " POPULATE_EMAIL_MESSAGE_BODY
<b><i>
To send an mail with external attachment check this one
</b></i>
<i>first create a Include report with the following coding</i>
*& Include ZPA1_INCLFOR_MAIL *
* Data
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 LIKE somlreci1 OCCURS 1 WITH HEADER LINE.
DATA: tab_lines TYPE i,
doc_size TYPE i,
att_type LIKE soodk-objtp.
DATA: listobject LIKE abaplist OCCURS 1 WITH HEADER LINE.
* FORM
FORM ml_customize USING objname objdesc.
*----------- Clear Variables
CLEAR docdata.
REFRESH objpack.
CLEAR objpack.
REFRESH objhead.
REFRESH objtxt.
CLEAR objtxt.
REFRESH objbin.
CLEAR objbin.
REFRESH objhex.
CLEAR objhex.
REFRESH reclist.
CLEAR reclist.
REFRESH listobject.
CLEAR listobject.
CLEAR tab_lines.
CLEAR doc_size.
CLEAR att_type.
*--------- Set Variables
docdata-obj_name = objname.
docdata-obj_descr = objdesc.
ENDFORM. "ml_customize
* FORM
FORM ml_addrecp USING preceiver prec_type.
CLEAR reclist.
reclist-receiver = preceiver.
reclist-rec_type = prec_type.
APPEND reclist.
ENDFORM. "ml_customize
* FORM
FORM ml_addtxt USING ptxt.
CLEAR objtxt.
objtxt = ptxt.
APPEND objtxt.
ENDFORM. "ml_customize
* FORM
FORM ml_prepare USING bypassmemory whatatt_type whatname.
IF bypassmemory = ''.
*--------- Fetch List From Memory
CALL FUNCTION 'LIST_FROM_MEMORY'
TABLES
listobject = listobject
EXCEPTIONS
OTHERS = 1.
IF sy-subrc <> 0.
MESSAGE ID '61' TYPE 'E' NUMBER '731'
WITH 'LIST_FROM_MEMORY'.
ENDIF.
CALL FUNCTION 'TABLE_COMPRESS'
* IMPORTING
* COMPRESSED_SIZE =
TABLES
in = listobject
out = objbin
EXCEPTIONS
OTHERS = 1
IF sy-subrc <> 0.
MESSAGE ID '61' TYPE 'E' NUMBER '731'
WITH 'TABLE_COMPRESS'.
ENDIF.
ENDIF.
* Header Data
* Already Done Thru FM
* Main Text
* Already Done Thru FM
* Packing Info For Text Data
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.
* Packing Info Attachment
att_type = whatatt_type..
DESCRIBE TABLE objbin LINES tab_lines.
READ TABLE objbin INDEX tab_lines.
objpack-doc_size = ( tab_lines - 1 ) * 255 + STRLEN( objbin ).
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 = 'ATTACHMENT'.
objpack-obj_descr = whatname.
APPEND objpack.
* Receiver List
* Already done thru fm
ENDFORM. "ml_prepare
* FORM
FORM ml_dosend.
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.
ENDFORM. "ml_customize
* FORM
FORM ml_spooltopdf USING whatspoolid.
DATA : pdf LIKE tline OCCURS 0 WITH HEADER LINE.
*-------------- Call Function
CALL FUNCTION 'CONVERT_OTFSPOOLJOB_2_PDF'
EXPORTING
src_spoolid = whatspoolid
TABLES
pdf = pdf
EXCEPTIONS
err_no_otf_spooljob = 1
OTHERS = 12.
*------------- Convert
PERFORM doconv TABLES pdf objbin.
ENDFORM. "ml_spooltopdf
* FORM
FORM doconv TABLES
mypdf STRUCTURE tline
outbin STRUCTURE solisti1.
*-------- Data
DATA : pos TYPE i.
DATA : len TYPE i.
*------------ Loop And Put Data
LOOP AT mypdf.
pos = 255 - len.
IF pos > 134. "length of pdf_table
pos = 134.
ENDIF.
outbin+len = mypdf(pos).
len = len + pos.
IF len = 255. "length of out (contents_bin)
APPEND outbin.
CLEAR: outbin, len.
IF pos < 134.
outbin = mypdf+pos.
len = 134 - pos.
ENDIF.
ENDIF.
ENDLOOP.
IF len > 0.
APPEND outbin.
ENDIF.
ENDFORM. "doconv
<b>
Then include that report in the following report and copy the same code and paste it there
</b>
*& Report ZPA_TEMP147 *
REPORT ZPA_TEMP147 .
INCLUDE zpa1_inclfor_mail.
* DATA
DATA : itab LIKE tline OCCURS 0 WITH HEADER LINE.
DATA : file_name TYPE string.
data : path like PCFILE-PATH.
data : extension(5) type c.
data : name(100) type c.
* SELECTION SCREEN
PARAMETERS : receiver TYPE somlreci1-receiver lower case.
PARAMETERS : p_file LIKE rlgrap-filename
OBLIGATORY.
* AT SELECTION SCREEN
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
CLEAR p_file.
CALL FUNCTION 'F4_FILENAME'
IMPORTING
file_name = p_file.
* START-OF-SELECTION
START-OF-SELECTION.
PERFORM ml_customize USING 'Tst' 'Testing'.
PERFORM ml_addrecp USING receiver 'U'.
PERFORM upl.
PERFORM doconv TABLES itab objbin.
PERFORM ml_prepare USING 'X' extension name.
PERFORM ml_dosend.
SUBMIT rsconn01
WITH mode EQ 'INT'
AND RETURN.
* FORM
FORM upl.
file_name = p_file.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = file_name
filetype = 'BIN'
TABLES
data_tab = itab
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.
path = file_name.
CALL FUNCTION 'PC_SPLIT_COMPLETE_FILENAME'
EXPORTING
complete_filename = path
* CHECK_DOS_FORMAT =
IMPORTING
* DRIVE =
EXTENSION = extension
NAME = name
* NAME_WITH_EXT =
* PATH =
EXCEPTIONS
INVALID_DRIVE = 1
INVALID_EXTENSION = 2
INVALID_NAME = 3
INVALID_PATH = 4
OTHERS = 5
ENDFORM. "upl
<b>These are the FM for sending external email :-</b>
SO_DOCUMENT_SEND_API1
SAPoffice: Send new document with attachments via RFC
SO_NEW_DOCUMENT_ATT_SEND_API1
(In 4.6C only, You can go to SE37 and click the documentation on how to use it. A sample program is provided there.)
SAPoffice: Send new document with attachments via RFC
Note : If you are using FM SO_NEW_DOCUMENT_ATT_SEND_API1 then Export Parameter DOCUMENT_DATA-OBJ_DESCR contains the Subject.
SO_NEW_DOCUMENT_SEND_API1
SAPoffice: Send new document
<b>Check this sample report</b>
DATA : BEGIN OF ITAB OCCURS 0,
PERNR LIKE PA0001-PERNR,
ENAME LIKE PA0001-ENAME,
END OF ITAB.
DATA: message_content LIKE soli OCCURS 10 WITH HEADER LINE,
receiver_list LIKE soos1 OCCURS 5 WITH HEADER LINE,
packing_list LIKE soxpl OCCURS 2 WITH HEADER LINE,
listobject LIKE abaplist OCCURS 10,
compressed_attachment LIKE soli OCCURS 100 WITH HEADER LINE,
w_object_hd_change LIKE sood1,
compressed_size LIKE sy-index.
START-OF-SELECTION.
SELECT PERNR ENAME
INTO CORRESPONDING FIELDS OF TABLE ITAB
FROM PA0001
WHERE PERNR < 50.
LOOP AT ITAB.
WRITE :/02 SY-VLINE , ITAB-PERNR, 15 SY-VLINE , ITAB-ENAME, 50
SY-VLINE.
ENDLOOP.
* Receivers
receiver_list-recextnam = '[email protected]'. "-->
* EMAIL ADDRESS
RECEIVER_list-RECESC = 'E'. "<-
RECEIVER_list-SNDART = 'INT'."<-
RECEIVER_list-SNDPRI = '1'."<-
APPEND receiver_list.
* General data
w_object_hd_change-objla = sy-langu.
w_object_hd_change-objnam = 'Object name'.
w_object_hd_change-objsns = 'P'.
* Mail subject
w_object_hd_change-objdes = 'Message subject'.
* Mail body
APPEND 'Message content' TO message_content.
* Attachment
CALL FUNCTION 'SAVE_LIST'
EXPORTING
list_index = '0'
TABLES
listobject = listobject.
CALL FUNCTION 'TABLE_COMPRESS'
IMPORTING
compressed_size = compressed_size
TABLES
in = listobject
out = compressed_attachment.
DESCRIBE TABLE compressed_attachment.
CLEAR packing_list.
packing_list-transf_bin = 'X'.
packing_list-head_start = 0.
packing_list-head_num = 0.
packing_list-body_start = 1.
packing_list-body_num = sy-tfill.
packing_list-objtp = 'ALI'.
packing_list-objnam = 'Object name'.
packing_list-objdes = 'Attachment description'.
packing_list-objlen = compressed_size.
APPEND packing_list.
CALL FUNCTION 'SO_OBJECT_SEND'
EXPORTING
object_hd_change = w_object_hd_change
object_type = 'RAW'
owner = sy-uname
TABLES
objcont = message_content
receivers = receiver_list
packing_list = packing_list
att_cont = compressed_attachment.
<b>Settings for sending mail</b>
Configuring SAP 4.6x Internet mail Gateway
SAP can be configured to send and receive emails from different sources.This section explains how to integrate SAPOffice with an external emailsystem. Your Internet email must be configured and running prior to this.Email from SAP is forwarded to the users external email system..
You can configure inbound and outbound forwarding. Outbound flow forwardsa SAP message (eg: update termination) via UNIX sendmail to the intended recepient. Inbound accepts a message from sendmail and places it in the users SAPOffice inbox. Many companies prefer to configure outbound only.
Configuring outbound forwarding
SAP configuration
1. Create your RFC destination for outbound email using transaction SM59
RFC Destination : SAP_INTERNET_GATEWAY
Connection Type : T
Description : SAP internet mail gateway
Click on 'Explicit Host' if you wanton demand gateway dameon invocation.
Program : /sapmnt/SID/exe/mlunxsnd
Target Host : Enter hostname that runs your central instance.
Click 'Test Connection' and you should seea successfull message.
2. Shared Office Settings transaction SO16-> Send -> Settings or
directly via transaction SCOT- SAPconnect Administation
Nodes - Create
Node : IMAIL
Description : SAP internet mail gateway
RFC Destination : SAP_INTERNET_GATEWAY
Tick : Internet
Address Area : *
Tick : All formats
Dev. type : Choose an approciate Printer Device
Set further addresstype : N
Maximum waiting timefor repeat send attempt procedure : Blank or decide for yourself
Tick : Node is ready for use
Setting
- DefaultDomain : <your company domain>.com
- Conversionrule : require if your communication device only support one format.
e.g. if you email system only support the format RAW (ASCII text format)
Format To Format Ranking Function module
ALI RAW 1 SX_OBJECT_CONVERT_ALI_RAW (convert APAP List)
Referto note 171698 - SAPconnect: Formats, conversion, device type
UNIX configuration
1 .. cd /sapmnt/SID/exe
2 ..csh
..mlsomadm mailgw.ini
System Name [C11] :
Client [000] :
Username : MAILADM
Password : MAILADM
Language : E
Load Balancing :
Hostname : <hostname>
System number : <instance_number>
Gateway hostname: <central_instance_hostname>
Gateway Service : <instance number>
Use SAP Router :
Trace level :
Sendmail Command [/usr/lib/sendmail -i -f<SENDER_ADDRESS>]:
Codepage [ISO-8859-1] :
Trace Level (Outbound) [0] :
Update file sapmailsid.cfg? [Y]
Testing whether your configuration is successful
1. Logon to SAP
2. Execute transaction SO01
3. Write a message and send it to <your_internet_email_address>
4. If you don't see the mail in your internet mailbox, go back and review steps 1-12
Schedule the SAP Internet Mail Gateway Jobs to start every 5 minutes
1. Create
2. Position your cursor at INT
3. Click Schedule and supply the date and time
4. Click Schedule periodically and tick Minutes and type in 5
5. Click Create and you are done
6. Click Show Scheduling to check
Problems that you might encounter :-
If you have set up a node in SCOT and it tests out well but recieve the reply.
"Cannot process message in node, parameterscannot be converted".
Make sure the RFC connection is working, and that SapConnect has been installed on the Unix Server or the Microsoft Exchange Server. Originally, I had the same error, and found that nothing had been installed on Unixor Exchange, to support SapConnect.
In SCOT (View -> System Status), your mail remains at the Intransit column.
Check you sendmail.cf files (e.g.Sun Solaris /etc/mail/sendmail.cf). Try using the sendmail command to send a test file at the Unix level. You must be able to send mail at theUnix level before you can send mail at the SAP level.
http://help.sap.com/saphelp_nw04/helpdata/en/cf/700b405bacdd5fe10000000a155106/content.htm
http://www.tamboly.com/SAPEmailConfiguration.html
Check my previous links
Mail Send
sending mails from abap program
Mail Sending to external email id's
settings needed for sending emails
Regards
Pavan -
MATERIAL LINK TO ONE SAP SYSTEM TO ANOTHER SAP SYSTEM FOR IDOC TRANSFER
Hi Experts,
How the MATERIAL LINK TO ONE SAP SYSTEM TO ANOTHER SAP SYSTEM FOR IDOC TRANSFER?
Scenario : when 2nd system create the invoice,it will create a po in the 1st system.
51 error msg we are getting material does not exists.but the material is available in the receiving plant.
Please suggestIf you say the material master is available in the 1st system (where you create the order), then the material number in the IDOC may not match with the material number in your database.
leading zeros. material number stored as alphanumeris instead of numeric. -
DMS: Migration of DIR's from one SAP database to another SAP database
Hi Gurus
We have a content server with originals linked to DIR's in a SAP database. We want to migrate the DIR's to another SAP system. The question is can we link the originals to the new DIR's in the new system without having to download and upload the originals in the content server using the original Phios.
Thanks in advance.
regards
barryHI,
You can change the content server connection to the new server but you can not b able to read the data which is already stored in the content server via old server. But you can store the new documents and you can retrieve the same. you have to download and upload the documents which are stored in the content server via old server.
thanks,
Chaitanya. -
How do I reference columns in a report query from another report query?
In Apex 3.1 it is possible to generate a report on more than one query. I have read that these queries can be correlated, but I cannot find how in the documentation.
I go the Shared Components and create a new Report Query:
select * from dept
Then I click Add Query and I add:
select * from emp
How do I correlate these two queries (I want to join emp.deptno to dept.deptno) and have a nice hierarchicle XML-file.
Is it possible in Apex 3.1?
Dik DralDik,
This type of query can't be build. The two queries are independent, you can't reference values in the first query from the second query. However you can reference page and application items - which won't help you all that much with this scenario though. You could also try combining the two queries into one, and then take care of the proper presentation in your template.
Regards,
Marc -
How to Copy RPT of one BEX query to another Bex Query
Hi,
I have a Crystal Report-A1 based on one Bex Query ZABC_1. I also have another Bex Query with same output and source named ZABC_2.
Now i want the to copy A1 to A2 and have A2 referring to ZABC_2.
The only difference between the 2 queries is the selection option paramenters.
Please let me know any way forward on this.
Points will be awared for useful replies.Hi Rajesh J Salecha,
What I understood is like :
You have two queries and both gives same results but one of the query having a parameter.
You have one report which is using query1. Now you want that report to be copied as Report2 and use Query2 instead of Query1.
If the this is the issue, then you copy Report1 as Report2 and go in Database and change the Data source location to Query2.
Hope this will help you. If my understanding is wrong then give us the work flow.
Thanks,
Sastry -
How can I pass a filter value to another report?
I'm using a filter within a formula of a field. For example: (FILTER("Facts - Actuals Ledger"."Actual" USING ("Time"."Fiscal Quarter" = '2012 Q 2'))-FILTER("Facts - Actuals Ledger"."Actual" USING ("Time"."Fiscal Quarter" = '2012 Q 1')))*-1
What the above is doing is calculating the variance between Q1 and Q2. My issue is when I drill on this value to a more detailed report, it's combining the Q1 and Q2 values, instead of showing the difference. I'm trying to avoid having to hard code the drill report and was wondering if there's any way to pass the calculated FILTER to the other report?
Thanks.Hi,
I presume that you want to show the the difference between a prompted quarter and its previous quarter?
If so, I would use the Ago Time Series Function to create a new logical measure for prior quarter e.g.
ago("Facts - Actuals Ledger"."Actual", "Time"."Quarter", 1)
Note that the function should contain the time dimension level for quarter. The 1 at the end is the offset e.g. 1 quarter ago. This measure will now return the prior quarter value for whatever quarter is prompted.
Create a prompt for your report for Fiiscal Quarter, and set a filter in the report for the same column with an operator of Is Prompted.
Add the base measure ("Facts - Actuals Ledger"."Actual") and your new Ago measure to the report. When you prompt the report with a quarter, these two columns will show the Actual amount for the promted quarter and the previous quarter respectively. Now all you need to do is subtract one from the other.
Now, when you drill to another report, the filter value of the prompted quarter will be passed across. Apply the same logic to define measures in the drill report, receiving the prompted quarter only.
Note that you can also use Time Series Functions in the column formula when creating the analysis.
Please mark if helpful / correct,
Andy
www.project.eu.com -
Copying Report Programs from one SAP system to another SAP system
Folks,
I would like to know if there is any easy way to copy a report program from one system to another system. There are two SAP systems of which one runs on UNIX and another one runs on Windows. BASIS consultant told that they are not transportable.
The only option I came up with manually copying the reports and associated Selection Texts, Text Symbols & Titles& Headers.
Is there any other easy way to do this task as I have 60 programs to be moved.
- BalajiThomas,
There are two SAP systems of which one runs on UNIX and another one runs on Windows.
Thanks for your suggestion. Our BASIS consultant mentioned that as the Operating Systems for these SAP systems are different , transports can not be done. As per your suggestion , my understanding is that transports are possible even the operating systems are different.
Please confirm.
Regards,
-Balaji -
Error when connecting a sap machine with another sap machine
Hello,
Sap machine 'A' calls the object bus2010 of sap machine 'B'. I indicate in the call the system logic and destination RFC. System logic and destination RFC are OK in both systems. When calling the system 'B' an error 'Expected error in SP client' appears.
Best regards,
VanesaHi Samid,
The issue related with your host entries under /etc/hosts file .
java.net.UnknownHostException: sapsleora: sapsleora
The exception is really saying is that there is no known server with the name "local".As per me you're trying to connect to your local computer. Try with the hostname "localhost" instead, or perhaps 127.0.0.1/::1
Your host file entries would be like as below:
127.0.0.1 localhost.localdomain localhost
<IP-address of your server> <hostname of your system>
Save the host file & retry the SWPM.Hope this time you'll get the successful execution.
Regards,
Gaurav -
How to import a transport from one SAP system to another SAP System?
We have a requirement where the same security report needs to be made avialble across the whole SAP landscape - comprising of ECC6, PI7, BW, HR , SRM, CRM etc.
To reduce the time and effort, is it possible to create the report in ECC6 attach it to a transport request and import it into SRM, CRM etc?
If so, what is the procedure?
Thanks,
BhaskarHi
Yes it is possible. Attach the report to the request and release the request. It will create cofile and datafile for the request in folder /usr/sap/trans/data and /usr/sap/trans/cofiles.
Copy these two files and paste them into the target system in the respective folders i.e the above mentioned directory structure.
The data file should look like Rxxxxxx.SID and cofile should look like Kxxxxxx.SID where xxxxxx is your request number.
Once these are copied in the target system, logon to target system goto STMS, goto the import queue of the system, then extras --> Other requests --> Add, enter the request number as in original system <SID>Kxxxxxx, and enter.
Then you should be able to import it.
Hope this clarifies.
Regards
Rahul -
Exporting result of query to another input query (Write Cube )?
Hello BI experts,
Is it possible to send a result of a read cube / query to be saved into other write cube / query ?
If yes , how to do ?
thx in advanceHello srini,
I am tring to update ODS from a query as per your suggestion.
But there is a Error
==========
Error in the definition of the analysis process: See long text
Node: Query 1
The technical field name KYF_0002 for field 4CKMVZCDCO7A6PK7FT0GB7WCV may only appear once per input or output structure
My quries is based on multiprovider and also has cell definition in it. Therefore i m not able to update result of query ods.
what should be done?
Thanks for your earlier siggestion. -
Restrict inactive HR employee to be sent through IDOC to another SAP system
Requirement: HR employee data (ONLY ACTIVE EMPLOYEES) needs to be sent from one SAP system to another SAP system.
E.g. of process followed u2013
Tcode - PA30 - Action type u2018Hireu2019 is created for employee A, B, C & D for a specific date. Later another action u2018Retirementu2019 is created for the employee C. So in the current system employee A, B and D are active employees wherein employee C is an inactive employee.
Data filtering is set in the Distribution Model wherein only active employees should be passed when an IDOC is created using PFAL.
The IDOC which is created has all the employees A, B, C & D. The only difference being that for Employee C the segment which has the status u2018Retirementu2019 is discarded and hence this does not satisfy the requirement.
Is there any way in which the Inactive employee (e.g. retired) is restricted from being sent to the IDOC.
Please advise.
RasikaHi Darek,
Thanks for your response.
I cannot use this as the requirement does not allow customised development. I want to know whether the filter can be done solely by customising.
Regards,
Rasika
Maybe you are looking for
-
Hide subtotal based on the values not the field.
Hi, i am developing an ALV(FM) report to display the status of the Sale order (cleared and not cleared). my need in this is 1. i need to show the subtotal of the cleared sales orders values only and hide the not cleared SO values. 2. while sorting by
-
ADE 3.0 and windows 8.1
I recently downloaded ADE 3.0, read a book and now can't navigate from reading view to library view. I am running Windows 8.1 and I think I went from 8.0 to 8.1 while I was reading the book.
-
Why is photoshop cs2 "unexpectedly quitting" on launch?
Process: Adobe Photoshop CS2 [2838] Path: /Applications/Adobe Photoshop CS2/Adobe Photoshop CS2.app/Contents/MacOS/Adobe Photoshop CS2 Identifier: com.adobe.Photoshop Version: 9.0 (9.0x196) (9.0) Code Type: PPC (Translated) Parent P
-
Object/Interface Type of Contract Offer
I created an upload program of NOTES for Business partner having the business object type BUS1006. I am now cretaing a new upload program for NOTES referring to a Contract Offer. Can somebody give me the object type for Contract Offer? I already look
-
Microsoft Server 2008 R2 CA with DMVPN
Hi, I want to Microsoft Server 2008 R2 Certificate Authority Server with DMVPN and that instead to preshared key. Used to certificate server when spokes connect to hub. Can i do it and if that possible then what can i do? Thank you, Regards,