Reg Module for ANSI 12 in Sender AS2 in PI7.4
Hi Experts,
I am facing the below error while testing a Scenario with Sender as AS2.I have configured a Sender Party which is the receiver id for the trading partner (AS2). I have added the module as localejbs/X12ConverterModule and given the parameters as per the blog
Configuring the Module Configuration Parameters - SAP NetWeaver Process Integration, business-to-business add-on 1 - SAP…
Could anyone guide me on this issue.
Cheers
Neethu.
Hi Neethu,
Have you configured operation specific Iflow/ICO?, Please don't associate any operation and if possible please provide your IFlow/ICO configuration screenshot here.
This problem could be because of sender interface , check the sender payload/message type and compare with the test payload (source XML) in ESR.
Regards,
Pooja
Similar Messages
-
Function Module for Mail without sender ID
hai guys,
I am currently using FM SO_NEW_DOCUMENT_ATT_SEND_API1 for sending mails.
But this will send the sender details from the logon id who is trigering the mail.
but i want the sender id be generic like say 'supportteamATcompany.com'.
how to acheive this..SO_DOCUMENT_SEND_API1
-
Reg Sender AS2 module configuration for text file
Hi Experts,
I am working on an inbound scenario where Sender is AS2 and Receiver is SAP system in PI7.4. The Sender Trading Partner is Sending a text file which should be converted to xml. I have added the module parameter localjbs/PlainConverterModule .It is throwing the error as per the attached file.
Could anyone please guide me on this issue. Also Please let me know whether any configuration needs to be set in EDI content Manager.
Cheers,
NeethuHi Neethu,
according to the b2b help the module is used to convert EDIFACT message standards into XML. I your case you have flat file comming from AS2. you can use message transform bean to convert flat file to XML in sender as2 adapter. Or you need to define ED XML converter. Please refer the below link
SAP PI: Using the B2BADDON EDI<>XML Convertor Modules - Basics
You configure the communication channels of any Process Integration adapter with the PLAIN-XML converter module to convert business documents encoded in EDIFACT message standards into XML and the other way round. It must be configured in the sender and receiver channels based on the business scenario. The PLAIN-XML converter module runs on the SAP NetWeaver Process Integration Adapter framework.
You use this procedure to configure the parameters of the PLAIN-XML converter module.
source - Configuring the PLAIN-XML Converter Module - SAP NetWeaver Process Integration, business-to-business add-on 1 - SAP Libr…
regards,
Harish -
Seebuger AS2 adapter for XI as sender for multiple messages
Hi all,
Has anyone managed to configure the Seeburger AS2 adapter for XI successfully to process multiple inbound message types.
We have an issue here with inbound messages being received by the AS2 adapter. We currently have it configured for inbound deliveries which is working fine. The issue is that we would now like to send other messages as well. It seems the AS2 adapter only looks at the sender/receiver party combination to determine the correct sender agreement, but does not look at the message type which is a limitation. I have heard mention of a splitter module which can be used to distinguish between different messages and pass them to the correct sender agreement for processing, information on this is thin on the ground to non existent. What is the name of the module? Is it specified in your sender AS2 adapter with parameters? Is it wrapped as an adapter? How do you configure the module to split and pass specific messages etc... Any help on this would be much appreciated.
Thx,
PeteHi Rudy,
the Classifier/BIC/Splitter - Solution is mainly designed for EDI-Messages that cannot be handled directly by XI.
IF you use pure XML-messages you should be able to handle it with XI-basic-functionality since this is what XI can handle itself.
Depending on how different your XML-Messages are, the effort will be very small or a little bit bigger.
In the ReceiverDetermination it should be possible for you to check whether certain XML-TAGs are existing or what the content for certain TAGs is BAsed on this information you can route the messages in a correct way.
(Of course you might have to create your own XSD for this containing the important TAGs of each message, so you can setup your Conditions)
Btw. the Seeburger BIC-Adapter can provide also this functionality, but this also needs to be customized)
Greetings
Stefan -
Need Help in Creating adapter module for SFTP Sender in NWDS
Hi experts,
I have a scenario where i should write an adapter module for SFTP sender in NWDS.. need your help in achieving this..Hello,
>>i have followed the procedure of FTP but, adapter is not picking the file
Make sure u have written proper expression to pick file.
>>do we have any different adapter parameters for SFTP... the input file is .csv..
I don't think there are any specific parameters needed for SFTP (but in case u are reading file name in AM then u might have to adjust SFTP namespace)
Thanks
Amit Srivastava -
Adapter Module for SOAP Sender
Hi,
Any alternative way to create adapter module for soap sender?
Regards,
FarooqBut I just trying to know weather it will work for simple soap or not.
Unfortunately it wont work for the normal SOAP protocol.
Let me try my luck.
If you are successful, then I would waiting for a blog
Regards,
Abhishek. -
Hi all, Please suggest a case where there is a requirement for new SOAP sender adapter module. I wanted to develop a module but in my current project i am unable to find any such requirement. So please give me inputs for the same..
Thank you,
Vinay Kumar AYou can try converting a synchrnous soap call to asynchronous using a custom module
Here your module will send a response back to the sender system and make an asynchronous call forward -
Function Module for sending an Attachment
Not able to find the Function Module for sending an Attachment to the email ids.
Please help.Hi bala,
1. There is some trick involved in attachment
in the binary files.
2. I have made a program (and it works fantastic)
ONLY 6 LINES FOR EMAILING
BELIEVE ME
ITS A FANTASTIC PROGRAM.
IT WILL WORK LIKE OUTLOOK EXPRESS !
3. The user is provided with
a) file name
b) email address to send mail
and it sends ANY FILE (.xls,.pdf .xyz..)
Instantaneously !
4. Make two things first :
1. Include with the name : ZAMI_INCLFOR_MAIL
2. Report with the name : ZAM_TEMP147 (any name will do)
3. Activate both and execute (2)
4. After providing filename, email adress
5. Code for Include :
10.08.2005 Amit M - Created
Include For Mail (First Req F16)
Modification Log
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
CODE FOR PROGRAM
5.
REPORT zam_temp147 .
INCLUDE zami_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
regards,
amit m. -
How to configure alerts for sender AS2 reports channel?
Hi,
We have configured sender AS2 reports channel to receive MDN back from our partner. Scenario is working fine and we are receiving MDN. How does "Enable alerts" option under Alerts Settings in Sender AS2 Reports channel work?
I see following options, but dont know how to trigger an alert when we dont receive successful MDN back:
Negative transmissionreport alert
Negative delivery report alert
Negative receipt report alert
Has anyone trigger any kind of alrert and route them to an email for negative mdn?
Regards,
Riya PatilHi Riya,
I tried to use 'Enable alerts' option,but it didn't work.
Please let me know if you get a success in this.
Thanks.
Regards,
Shweta -
Function module for sending email
Hi all,
Can I know list of function modules for sending emails.
Other than "SO_DOCUMENT_SEND_API1"
pls let me knowHi Praveen,
Below is the sample code to send the external mail.
&**********Reward Points if helpful**********&
DATA: ld_mtitle LIKE sodocchgi1-obj_descr,
ld_format TYPE so_obj_tp ,
ld_attdescription TYPE so_obj_nam ,
ld_attfilename TYPE so_obj_des .
ld_receiver LIKE sy-subrc.
DATA: it_packing_list LIKE sopcklsti1 OCCURS 0 WITH HEADER LINE,
it_attachment LIKE solisti1 OCCURS 0 WITH HEADER LINE,
it_receivers LIKE somlreci1 OCCURS 0 WITH HEADER LINE,
w_cnt TYPE i,
w_sent_all(1) TYPE c, "#EC NEEDED
w_doc_data LIKE sodocchgi1.
REFRESH it_receivers . CLEAR it_receivers .
IF v_trip_send = 'X'.
it_receivers-receiver = it_trip_dload-approver_email .
ELSE .
it_receivers-receiver = it_adv_dload-approver_email .
ENDIF.
it_receivers-rec_type = c_u .
APPEND it_receivers. CLEAR it_receivers.
it_receivers-receiver = " ------> pass your reciever email id.
IF v_trip_send = 'X' .
it_receivers-receiver = it_trip_dload-requester_email .
ELSE .
it_receivers-receiver = it_adv_dload-requester_email .
ENDIF .
it_receivers-rec_type = c_u .
it_receivers-copy = 'X' .
APPEND it_receivers. CLEAR it_receivers.
ld_mtitle = p_mtitle.
ld_format = p_format.
ld_attdescription = p_attdescription.
ld_attfilename = p_filename.
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 = c_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 = c_saprpt.
w_doc_data-obj_descr = ld_mtitle.
w_doc_data-sensitivty = c_f.
CLEAR it_attachment.
REFRESH it_attachment.
it_attachment[] = it_attach[].
Describe the body of the message
CLEAR it_packing_list.
REFRESH it_packing_list.
it_packing_list-transf_bin = space.
it_packing_list-head_start = 1.
it_packing_list-head_num = 0.
it_packing_list-body_start = 1.
DESCRIBE TABLE it_message LINES it_packing_list-body_num.
it_packing_list-doc_type = c_raw.
APPEND it_packing_list.
Create attachment notification
it_packing_list-transf_bin = c_x.
it_packing_list-head_start = 1.
it_packing_list-head_num = 1.
it_packing_list-body_start = 1.
DESCRIBE TABLE it_attachment LINES it_packing_list-body_num.
it_packing_list-doc_type = ld_format.
it_packing_list-obj_descr = ld_attdescription.
it_packing_list-obj_name = ld_attfilename.
it_packing_list-doc_size = it_packing_list-body_num * 255.
APPEND it_packing_list.
CALL FUNCTION 'SO_DOCUMENT_SEND_API1'
EXPORTING
document_data = w_doc_data
put_in_outbox = c_x
commit_work = c_x
IMPORTING
sent_to_all = w_sent_all
TABLES
packing_list = it_packing_list
contents_bin = it_attachment
contents_txt = it_message
receivers = it_receivers. -
Function Module For Sending Mail
Hi Experts,
Is there any function module to send a mail from the ABAP program.
My requirement is to run a report and send the content of the an Internal table as mail.
Thanks in AdvancehI,
Here is the example program
*& Report ZSENDEMAIL *
*& Example of sending external email via SAPCONNECT *
REPORT zsendemail .
PARAMETERS: psubject(40) type c default 'Hello',
p_email(40) type c default '[email protected]' .
data: it_packing_list like sopcklsti1 occurs 0 with header line,
it_contents like solisti1 occurs 0 with header line,
it_receivers like somlreci1 occurs 0 with header line,
it_attachment like solisti1 occurs 0 with header line,
gd_cnt type i,
gd_sent_all(1) type c,
gd_doc_data like sodocchgi1,
gd_error type sy-subrc.
data: it_message type standard table of SOLISTI1 initial size 0
with header line.
*START-OF-SELECTION.
START-OF-SELECTION.
Perform populate_message_table.
*Send email message, although is not sent from SAP until mail send
*program has been executed(rsconn01)
PERFORM send_email_message.
*Instructs mail send program for SAPCONNECT to send email(rsconn01)
perform initiate_mail_execute_program.
*& Form POPULATE_MESSAGE_TABLE
Adds text to email text table
form populate_message_table.
Append 'Email line 1' to it_message.
Append 'Email line 2' to it_message.
Append 'Email line 3' to it_message.
Append 'Email line 4' to it_message.
endform. " POPULATE_MESSAGE_TABLE
*& Form SEND_EMAIL_MESSAGE
Send email message
form send_email_message.
Fill the document data.
gd_doc_data-doc_size = 1.
Populate the subject/generic message attributes
gd_doc_data-obj_langu = sy-langu.
gd_doc_data-obj_name = 'SAPRPT'.
gd_doc_data-obj_descr = psubject.
gd_doc_data-sensitivty = 'F'.
Describe the body of the message
clear it_packing_list.
refresh it_packing_list.
it_packing_list-transf_bin = space.
it_packing_list-head_start = 1.
it_packing_list-head_num = 0.
it_packing_list-body_start = 1.
describe table it_message lines it_packing_list-body_num.
it_packing_list-doc_type = 'RAW'.
append it_packing_list.
Add the recipients email address
clear it_receivers.
refresh it_receivers.
it_receivers-receiver = p_email.
it_receivers-rec_type = 'U'.
it_receivers-com_type = 'INT'.
it_receivers-notif_del = 'X'.
it_receivers-notif_ndel = 'X'.
append it_receivers.
Call the FM to post the message to SAPMAIL
call function 'SO_NEW_DOCUMENT_ATT_SEND_API1'
exporting
document_data = gd_doc_data
put_in_outbox = 'X'
importing
sent_to_all = gd_sent_all
tables
packing_list = it_packing_list
contents_txt = it_message
receivers = it_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.
Store function module return code
gd_error = sy-subrc.
Get it_receivers return code
loop at it_receivers.
endloop.
endform. " SEND_EMAIL_MESSAGE
*& 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
Regards -
Function Module for send email
hi experts,
My aim to send message as email not any attachment
what is the function module i need to use for sending mail from program?
how to use the function module ? give some sample code and explain.
please help me regarding this.
thanks,
nagarjuna.Hi
i am sending a sample program.
REPORT ZMAIL.
TABLES: ekko.
PARAMETERS: p_email TYPE somlreci1-receiver .
TYPES: BEGIN OF t_ekpo,
ebeln TYPE ekpo-ebeln,
ebelp TYPE ekpo-ebelp,
aedat TYPE ekpo-aedat,
matnr TYPE ekpo-matnr,
END OF t_ekpo.
DATA: it_ekpo TYPE STANDARD TABLE OF t_ekpo INITIAL SIZE 0,
wa_ekpo TYPE t_ekpo.
TYPES: BEGIN OF t_charekpo,
ebeln(10) TYPE c,
ebelp(5) TYPE c,
aedat(8) TYPE c,
matnr(18) TYPE c,
END OF t_charekpo.
DATA: wa_charekpo TYPE t_charekpo.
DATA: it_message 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: 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
START-OF-SELECTION.
Retrieve sample data from table ekpo
PERFORM data_retrieval.
Populate table with detaisl to be entered into .xls file
PERFORM build_xls_data_table.
*END-OF-SELECTION
END-OF-SELECTION.
Populate message body text
perform populate_email_message_body.
Send file by email as .xls speadsheet
PERFORM send_file_as_email_attachment
tables it_message
it_attach
using p_email
'Example .xls documnet attachment'
'XLS'
'filename'
changing gd_error
gd_reciever.
Instructs mail send program for SAPCONNECT to send email(rsconn01)
PERFORM initiate_mail_execute_program.
*& Form DATA_RETRIEVAL
Retrieve data form EKPO table and populate itab it_ekko
FORM data_retrieval.
SELECT ebeln ebelp aedat matnr
UP TO 10 ROWS
FROM ekpo
INTO TABLE it_ekpo.
ENDFORM. " DATA_RETRIEVAL
*& Form BUILD_XLS_DATA_TABLE
Build data table for .xls document
FORM build_xls_data_table.
data: ld_store(50) type c. "Leading zeros
CONSTANTS: con_cret(5) TYPE c VALUE '0D', "OK for non Unicode
con_tab(5) TYPE c VALUE '09'. "OK for non Unicode
CONCATENATE 'EBELN' 'EBELP' 'AEDAT' 'MATNR' INTO it_attach SEPARATED
BY con_tab.
CONCATENATE con_cret it_attach INTO it_attach.
APPEND it_attach.
LOOP AT it_ekpo INTO wa_charekpo.
concatenate '=REPLACE("' wa_charekpo-ebelp '",1,5,"'
wa_charekpo-ebelp '")' into ld_store .
CONCATENATE wa_charekpo-ebeln ld_store wa_charekpo-aedat
wa_charekpo-matnr INTO it_attach SEPARATED BY con_tab.
CONCATENATE con_cret it_attach INTO it_attach.
APPEND it_attach.
ENDLOOP.
ENDFORM. " BUILD_XLS_DATA_TABLE
*& 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.
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 = 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.
*& Form INITIATE_MAIL_EXECUTE_PROGRAM
Instructs mail send program for SAPCONNECT to send email.
FORM initiate_mail_execute_program.
WAIT UP TO 2 SECONDS.
SUBMIT rsconn01 WITH mode = 'INT'
WITH output = 'X'
AND RETURN.
ENDFORM. " INITIATE_MAIL_EXECUTE_PROGRAM
*& Form POPULATE_EMAIL_MESSAGE_BODY
Populate message body text
form populate_email_message_body.
REFRESH it_message.
it_message = 'Please find attached a list test ekpo records'.
APPEND it_message.
endform. " POPULATE_EMAIL_MESSAGE_BODY -
Developing a module for the sender file/FTP adapter
Hi,
Can anyone tell me the procedure for developing and deploying a custom java moudule in File adapter.
Thanks in Advance
ChemmanzHi,
I had devloped my own modules for one of my interface and may tell you to kick start you need to get the jars needed and they are:
aii_af_cci.jar,aii_af_mp.jar,aii_af_ms_api.jar,aii_af_ms_spi.jar,aii_af_trace.jar,aii_af_svc.jar,aii_af_cpa.jar
You can use ftp to access your XI server and copy locally the jars.Then follow the guide step to step.
I would request you to refer MY thread when i was trying to create my module and was struck with jars.
Libraries For Module Devlopement
All the best!!
Anirban. -
Sender AS2 Configuration...
Hi All,
I am doing configuration on AS2 (AS2 -> File)..
We are getting the EDI Messages. Thru Sender AS2 CC, how to pick the messages into XI...
Please help me out ...
Thanks in advance..
Regards,
VasuHi,
I will tell you something about Seeburger Adapters in detail, Just see if it helps...
Seeburger EDI Adapter provides an EDI solution on internet via HTTP or AS2 to replace the expensive VAN. It provides some pre-built mappings for IDOC to ANSI X12(810,850,855,856 etc.,) and Idoc to EDIFACT(ORDERS,DESADV,INVOIC etc.,) and has the ability to build your own. These pre-defined mappings transform the IDOC-XML to EDI-XML format.
These transformed EDI-XML messages are then converted to EDI specific format using the Seeburger's BIC(Business Integration Converter)adapter. In addition, Seeburger provides adapters like AS2,FTP(EDI specific) and so on to route these EDI messages to external EDI Partners.
Seeburger EDI Adapter leverages SAP XI's Adapter Framework. This Adapter is used to perform conversion between EDI and XML format. It also provides some canned EDI layouts and the ability to build your own. It is used to transfer the EDI message via HTTP or AS2 protocols.
The most direct way of using the Seeburger adapters is to configure the BIC as a module. There is a software component from seeburger called bicmapper which will allow you to do the following:
1. define or import the inbound message metadefinition in various formats ( edifact, xml,...)
2. using a mapping create an xml variant as the output metadefinition or edifact in the other direction.
3. create a one to one mapping between input en output.
4. export the metadata in xsd or sda format for import in XI
5. generate an SDA which can be deployed in XI and used as a module.
Please go through the following links which clearly explains what you want and it also helps you in understanding the same in depth:
http://www.seeburger.com
http://www.seeburger.com/fileadmin/com/pdf/AS2_General_Overview.pdf
http://www.seeburger.it/fileadmin/it/pdf/2005_04_sapphire_Ferrero_transcript.pdf
http://www.seeburger.com/fileadmin/com/pdf/SEEBURGER_SAP_Adapter_engl.pdf
http://www.seeburger.com/fileadmin/com/pdf/Butler_Group_SEEBURGER_Technology_Audit.pdf
http://www.sap.com/france/company/events/2006/02-01-Automotive-Seeburger.pdf
http://h41123.www4.hp.com/presentations/ISUG/XISeeBurger.ppt
http://www.sap.com/asia/company/events/nwtechdays/presentation/australia-slides/Pre-Built_Integration.pdf
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/00f9cdf5-d812-2a10-03b4-aff3bbf792bf -
Hi,
I am trying to send an EDIFACT file to IDOC through AS2 Adapter (sender). Can you please tell me how to configure the sender AS2 Channel.I have configured it, but it is giving me the following error in Channel Monitoring.
Alert: Maximum number of retries reached. Retry 20. Message initiation failed: Adapter call failed. Reason: Fatal exception: com.seeburger.xi.connector.queue.TaskBuildException: failed to lookup CPA cache: Couldn't retrieve outbound binding for the given P/S/A values: FP=B2B_Certipost;TP=B2B_PH_BE;FS=B2B_SND;TS=B2B_RCV;AN=MI_E_ORDERS_D96A_oa;ANS=urn:novartis.com:pi:ph:be:OM_DD_750_LBE_L0X:Order;, failed to lookup CPA cache: Couldn't retrieve outbound binding for the given P/S/A values: FP=B2B_Certipost;TP=B2B_PH_BE;FS=B2B_SND;TS=B2B_RCV;AN=MI_E_ORDERS_D96A_oa;ANS=urn:novartis.com:pi:ph:be:OM_DD_750_LBE_L0X:Order; [4/30/09 4:19 PM]
Please share your valuable inputs.
Thanks,
Amit..Hi,
follow the below steps;
AS2 identifier is the party identified which will be provided by the WAN network provider.
Under the party identifiere tab
Agency will be seeburger
Scheme=AS2ID
Name = WAN network no of the partner who is sending the file
Few changes in the module parameter tab.
localejbs/CallBicXIRaBean bic
CallSapAdapter 0
Module configuration:
bic= destSourceMsg = MainDocument
bic= destTargetMsg = MainDocument
bic= mappingName= See_E2X_EDIFACT_ORDERS_UN_D93A
-S
Maybe you are looking for
-
LG Monitor stuck in Power Saving Mode
I just purchased an LG W2252TQ LCD monitor and I am using a mini-dvi to dvi adapter and a DVI cable to connect to the monitor. My macbook detects the monitor, but when I connect it, the monitor enters "Digital Power Saving Mode" and is asleep. No pic
-
Help please. I have finally purchased Apple TV and my Samsung TV shows No Signal when I plug everything in. Any suggestions?
-
Video Out via RCA....?
I have a small portable DVD player that I'm thinking of trying to use a "mini monitor"...what would happen if I use this adapter http://ak.buy.com/dbassets/prod_lrgimages/358/208017358.jpg with my Apple DVI to VGA adapter and plugged it into my DVD v
-
My iphone5 was working well until I switched off. I could never get it on again. I waited for one day thinking it might discharge all the battery and it would be OK. I did reset, (pressing home and power button together), after recharge. Nothing work
-
New computer need to download ps elements 9
how do I download the elements 9 onto my new computer?