File to Proxy ABAP - Split message possible?
Hi experts,
I am facing a slight problem with my scenario, I designed flat file to proxy Abap, it works fine, the problem is that my flat file tend to be a bit too large in term of volume (about 15Mo) and I would like to divide the file in multiple messages.
I managed to do that by putting in the recordset structure : NAME, 500.
It divides the file content in several messages in XI, the problem is that each Proxy call processes a program that deletes and replaces a table. Hence, it only takes in account the last message.
Is there a way to deal with that? maybe to precise that all the messages sent are part of the same source.
Kind regards,
Jamal
From your description, this program of yours is executed within a transactional context. Each execution of the program will be independent of each other.
If you need your messages to be executed within the same transaction, then you need to reunite the separate messages into a unique transaction again, meaning, you need to merge the messages back into one, or correlate them somehow.
Anyway, 15 MB is hard but not unfeasible. With proper sizing/tunning, you should be able to run it in a single execution.
But if split at XI is indeed necessary and you don't want to merge again in XI (wouldn't make much sense, would it?), you need to develop something on the receiver side (Z ABAP) to hold the entries and only when the file is finished, call the initial program.
Regards,
Henrique.
Similar Messages
-
File to idoc scenario (split message)
hello everybody
i have a file (xml) -> XI -> Idoc scenario
sometimes idoc message is so much big and i have problem to process it.
so i would like split message in more idoc but i need decide a cut-point
example in file i have 200 row and i don't want create 200 idocs but example 4.
So i need cut file every 50 rows.
It's possible?
thanks
AlexHi Alessandro ,
We had the same problem in HR implementation where we used to get data for thousands of employees in a single file.
As Idoc was not able to hold this much of data,data used to be truncated.
Then we had taken a field (employee number) as a criteria to generate IDocs,and now we have an IDoc generated for each employee record.
This was helpful as for a single employee,there were a number of change records.
The logic used was:
Employeecode -> splitByValue(value changed) -> collapseContexts -> IDoc.
Does it suit your requirement as well?I mean,may be you can find such field for splitting IDocs.
Kindly let us know.
Thanks.
Regards,
Shweta -
Multi message to Proxy ABAP without BPM possible?
Hi Experts,
I am designing a scenario where my source is a flat file and the target SAP.
According to the content of the file, we would like to group the data per company and then send the grouped data.
The question is, is it possible to send data in a proxy per company? which means that we would have as many proxies as there are companies? without using BPM
Thanks a lots,
regardsHi Now i have the same requirement. As you said group the data by company code in the internal table and handle it, does not feasible to my requirement.
I am doing material movements using proxies. Here for every loop i will call BAPI to do the material movements. Suppose there are 10 rows which are coming from XI and needs to do 10 material movements.
First 5 loops successfully processed, but some functional error comes while executing the 6th loop. My proxy will throw the exception comes out of the process.
By seeing the error record data in the exception, i have rectified the error. Now if i restart the proxy, the proxy will again try to execute from 1st row. But, first 5 th rows are already successfully processed.
This shouldn't be the case in real time. How can i overcome this?
If i get the proxy data row by row, then it would be more beneficial to me to handle.
How can we the message split possible using enhanced interface determination in the Proxies.
Could you post the solution, if anyone has?
Thanking you,
Regards,
Krishnaraju. -
How to split messages without using Message split (BPM)
In file to file scenario how to split messages coming from file without using Message split (BPM)
Thank you very much.
-
File/FTP to ABAP Proxy (file as attachment)
I have the following scenario: File/FTP -> XI -> ABAP Proxy but not the normal case. What I need is the picked file as attachment and the file name. I hope this is possible.
I have found the following blogs:
/people/michal.krawczyk2/blog/2005/11/10/xi-the-same-filename-from-a-sender-to-a-receiver-file-adapter--sp14
/people/michal.krawczyk2/blog/2006/04/19/xi-rfc-or-abap-proxy-abap-proxies-with-attachments
I have no idea where I have to start. How I should define the sender and receiver message interface? How I have to configure the sender file/ftp adapter?
I'm using PI 7.1 SP 7.At the moment I have the following problem. I always get an error during mapping the request message. This is the error message:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
- <!-- Mapping der Request-Message
-->
- <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">
<SAP:Category>Application</SAP:Category>
<SAP:Code area="MAPPING">EXCEPTION_DURING_EXECUTE</SAP:Code>
<SAP:P1>com/sap/xi/tf/_MT_SCANFILE_to_MT_SAP_SCANFILE_</SAP:P1>
<SAP:P2>com.sap.aii.utilxi.misc.api.BaseRuntimeException:</SAP:P2>
<SAP:P3>Fatal Error: com.sap.engine.lib.xml.parser.ParserE</SAP:P3>
<SAP:P4>xception: XMLParser: No data allowed here: (hex) ~</SAP:P4>
<SAP:AdditionalText />
<SAP:Stack>Während des Anwendungs-Mappings com/sap/xi/tf/_MT_SCANFILE_to_MT_SAP_SCANFILE_ ist eine RuntimeException aufgetreten. com.sap.aii.utilxi.misc.api.BaseRuntimeException:Fatal Error: com.sap.engine.lib.xml.parser.ParserException: XMLParser: No data allowed here: (hex) ~</SAP:Stack>
<SAP:Retry>M</SAP:Retry>
</SAP:Error>
And if I use transaction sxmb_moni I see that the payload MainDocument is my pdf document and I can read it.
MG%PDF-1.3
%âãÏÓ
2 0 obj
/WinAnsiEncoding
endobj
3 0 obj
<<
%Devtype POST2 Font COURIER normal Lang DE
/Type /Font
/Subtype /Type1
/BaseFont /Courier
/Name /F001
/Encoding 2 0 R
>>
endobj
4 0 obj
<<
/Length 5 0 R
u2026.
I believe there is still an error at my communication channel configuration of the ftp sender adapter. -
FILE TO INBOUND ABAP PROXY - " LOOP_IN_MESSAGE_ROUTING ERROR "
Hi ,
Getting the following Error in *FILE TO INBOUND ABAP PROXY* which is updating a Database table in R/3.
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
- <!-- Call Adapter
-->
- <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
<SAP:Category>XIProtocol</SAP:Category>
<SAP:Code area="MESSAGE">LOOP_IN_MESSAGE_ROUTING</SAP:Code>
<SAP:P1>is.01.lgscms</SAP:P1>
<SAP:P2>IS</SAP:P2>
<SAP:P3>XI</SAP:P3>
<SAP:P4 />
<SAP:AdditionalText />
<SAP:ApplicationFaultMessage namespace="" />
<SAP:Stack>XI protocol error</SAP:Stack>
<SAP:Retry>M</SAP:Retry>
</SAP:Error>
How to rectify the Error..
Regards,
RaviHi Ravi !
Check if the url for the receiver is
http://<host>:<port>/sap/xi/engine?type=receiver
or
http://<host>:<port>/sap/xi/engine?type=entry
if using XI 3.0
Regards,
Matias.
Edited by: Matias Denker on Feb 25, 2008 2:12 PM -
File to Proxy Scenari0, Error in ECC server Messages stucked in Queue
Hi All
we have created a file to proxy scenario in PI & when we are sending the data to Proxy, proxy is not getting executed in SAP ECC & we are getting the following error in out production ECC server & all the messages are getting s
No load could be found for transformation /1SAI/TXSA9475ABE3925030F71D9
could any one of you please help me in resolving this issue.
Thanks
Rinku GangwaniHi,
Are you activate the ICF services in ERP system? This issue must be done for the correct execution of proxy channel.
What type of program mapping are you using for the content transformation?
If you use a ABAP mapping program make sure to activate the program correctly.
Best regards
Ivá -
Process a PDF File to an ABAP Proxy
Hello,
Does anyone know how to process a pdf file straight to an abap proxy.
With just a flat sender file adapter without conversion to a xsd:Base64Binary field straight to a Abap-proxy.
Error message :
SAP:Code area="ABAP">PARSE_APPLICATION_DATA</SAP:Code>
<SAP:P1>Request Message</SAP:P1>
<SAP:P2>CX_ST_MATCH_ELEMENT</SAP:P2>
<SAP:P3>/1SAI/TXS00000000000000000543</SAP:P3>
<SAP:P4>XML Bytepos.: 0 XML Path: Error Text: Element 'mt_pdf' expected</SAP:P4>
<SAP:AdditionalText />
<SAP:ApplicationFaultMessage namespace="" />
<SAP:Stack>Error during XML => ABAP conversion (Request Message; error ID: CX_ST_MATCH_ELEMENT; (/1SAI/TXS00000000000000000543 XML Bytepos.: 0 XML Path: Error Text: Element 'mt_pdf' expected)) Element 'mt_pdf' expected</SAP:Stack>
I HAVE READ ALL the possibilities with java coding in the module tab etc. etc.
JUST is there "simple' way to solve this.
regards meinhartHi Meinhart,
I think you need to go with Conversion agent here.
Ref: http://www.saptechnical .com/Tutorials/XI/PDF/Index.htm
This would help you....
Thanks, -
FILE TO INBOUND ABAP PROXY - error
Hi,
Getting the following Error in FILE TO INBOUND ABAP PROXY which is updating a Database table in R/3.
Error:
com.sap.aii.utilxi.misc.api.BaseRuntimeException
thrown during application mapping
com/sap/xi/tf/_file2proxy_mm_: RuntimeException in
Message-Mapping transformatio~
How to rectify the error...
RaviHi,
The error mentioned is indicating about the Message Mapping error.
I think you need to test your Message Mapping with test tab.
Here Goto SXMB_Moni and select the related message and double click on it.
It will show you the various steps in Message flow.
Take the Inbound Message and look for Payload in it. Open it in right side window and right click on it to see source code.
Copy it in Message Mapping and test it
Thanks
swarup -
How to track return message in file to proxy interface
I am using file to proxy scenerio, where i will get my file from FTP and updating it into a table , after updating i am calling a program to Run BDC, in my method for proxy, after that i dont how to track return message , anyone please tell me suggestion regarding for this
thanking you
SridharHi Sridhar,
What exactly you want to track????
my assumtion is the call will be of asyn mode, once the data reach the proxy method the XI job done and u can easly track that using monitoring.
Regards,
Phani -
File to Proxy scenario message failed in ECC with staus SYSFAIL
Hi All,
We are working on File to proxy scenario, PI able to send message successfully to ECC, but In ECC , message got stuck in queues with the status 'SYSFAIL',
when I read the error message it is showing Address Invalid.
when I run the LUW, it is giving 'Function module does not exist or EXCEPTION 'raised message.
I'm using PI 7.1 EHP1 , ECC 6.0, can anyone suggest the trouble shooting guidelines for this issue?
Thanks,
Venu.when I run the LUW, it is giving 'Function module does not exist or EXCEPTION 'raised message.
in your code, there seems to be an invalid statement.
check the proxy code. -
Is Confirmation Message possible in case of File to IDOC
Hi Friends,
Its a File (sender) to IDOC (receiver) interface. Once the IDOC is posted correctly in SAP, is it possible to generate a confirmation message back to sender file?
I want to know if there is any way to inform the sender system that the transaction was successfully created.
Thanks in advance.
Regards,
Meghna.
Edited by: meghna swaraj on Mar 27, 2008 1:53 PMHi Friends,
Its a FILE to IDOC interface. confirmation message back is needed to sender file, for that I followed the below link for Configuring the IDOC acknowledgment ALEAUD.
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/f6d2d790-0201-0010-9382-b50b499b3fbe
As specified in point 7 and 8, used the transaction RBDSTATE & created the variant SAP_AUDIT_SEND for report RBDSTATE and scheduled a background job at receiver system.
Here the problem is, acknowledgment for ALEAUD getting scheduled twice, as a result two IDOCs ALEAUD is generated.Instead it should get scheduled only once.
Can any one tell me why the job is getting scheduled twice.
Thanks in advance.
Regards,
Meghna. -
in my file to server abap proxy scenario,<b>filexisap .</b>
i have some doubt in configuration part.
i have to create one http destination but not clear where it should be created?in xi or in sap system??Hi
you can either key in the Details of the R3 system in the XI adapter directly or you can maintain a HTTP destination on your XI in SM59 and use this in the XI adaper.
regards
krishna -
Hi all,
Im handling a file to proxy scenario. In FCC, im reading record by record and splitting it into structures in ABAP mapping class.
The issue is when i have spaces at the beginning of the record its getting truncated in the mapping class.
In SXMB_MONI,under view source im able to see the spaces but inside the class when its parsing the spaces are missing.
I need these spaces to be passed on to Proxy.
Please help me with this issue.
Regards
ArchanaaHi,
In XI i have declared type as string only.
My message type has a structure like:
Documentname
data
row
So data is the recordset with filed row while collects the whole record as a string.
Regards
Archanaa -
How to print PDF file content from ABAP in background?
Hi,
Is it possible to print PDF file content from ABAP in background?
I have some PDF content which I need to print it, these PDF files are generated outside the SAP.
Please have you any suggestions?
Thank you
Tomas<b><u>Solution:</u></b><br>
<br>
The target output device must support PDF print, this is only one limitation.<br>
<br>
REPORT z_print_pdf.
TYPE-POOLS: abap, srmgs.
PARAMETERS: p_prnds LIKE tsp01-rqdest OBLIGATORY DEFAULT 'LOCL',
p_fname TYPE file_table-filename OBLIGATORY LOWER CASE,
p_ncopi TYPE rspocopies OBLIGATORY DEFAULT '1',
p_immed AS CHECKBOX.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_fname.
DATA: lv_rc TYPE i,
lv_filter TYPE string.
DATA: lt_files TYPE filetable.
FIELD-SYMBOLS: <fs_file> LIKE LINE OF lt_files.
CONCATENATE 'PDF (*.pdf)|*.pdf|' cl_gui_frontend_services=>filetype_all INTO lv_filter.
CALL METHOD cl_gui_frontend_services=>file_open_dialog
EXPORTING
file_filter = lv_filter
CHANGING
file_table = lt_files
rc = lv_rc
EXCEPTIONS
OTHERS = 1.
IF sy-subrc NE 0 AND lv_rc EQ 0.
MESSAGE 'Error' TYPE 'E' DISPLAY LIKE 'S'.
ENDIF.
READ TABLE lt_files ASSIGNING <fs_file> INDEX 1.
IF sy-subrc EQ 0.
p_fname = <fs_file>-filename.
ENDIF.
AT SELECTION-SCREEN.
DATA: lv_name TYPE string,
lv_result TYPE boolean.
lv_name = p_fname.
CALL METHOD cl_gui_frontend_services=>file_exist
EXPORTING
file = lv_name
RECEIVING
result = lv_result
EXCEPTIONS
OTHERS = 1.
IF sy-subrc NE 0.
MESSAGE 'Bad file!' TYPE 'E' DISPLAY LIKE 'S'.
ENDIF.
IF lv_result NE abap_true.
MESSAGE 'Bad file!' TYPE 'E' DISPLAY LIKE 'S'.
ENDIF.
START-OF-SELECTION.
END-OF-SELECTION.
PERFORM process.
FORM process.
DATA: lv_name TYPE string,
lv_size TYPE i,
lv_data TYPE xstring,
lv_retcode TYPE i.
DATA: lt_file TYPE srmgs_bin_content.
lv_name = p_fname.
CALL METHOD cl_gui_frontend_services=>gui_upload
EXPORTING
filename = lv_name
filetype = 'BIN'
IMPORTING
filelength = lv_size
CHANGING
data_tab = lt_file
EXCEPTIONS
OTHERS = 1.
IF sy-subrc NE 0.
MESSAGE 'Read file error!' TYPE 'E' DISPLAY LIKE 'S'.
ENDIF.
CALL FUNCTION 'SCMS_BINARY_TO_XSTRING'
EXPORTING
input_length = lv_size
IMPORTING
buffer = lv_data
TABLES
binary_tab = lt_file
EXCEPTIONS
failed = 1
OTHERS = 2.
IF sy-subrc NE 0.
MESSAGE 'Binary conversion error!' TYPE 'E' DISPLAY LIKE 'S'.
ENDIF.
PERFORM print USING p_prnds lv_data CHANGING lv_retcode.
IF lv_retcode EQ 0.
WRITE: / 'Print OK' COLOR COL_POSITIVE.
ELSE.
WRITE: / 'Print ERROR' COLOR COL_NEGATIVE.
ENDIF.
ENDFORM. " PROCESS
FORM print USING iv_prndst TYPE rspopname
iv_content TYPE xstring
CHANGING ev_retcode TYPE i.
DATA: lv_handle TYPE sy-tabix,
lv_spoolid TYPE rspoid,
lv_partname TYPE adspart,
lv_globaldir TYPE text1024,
lv_dstfile TYPE text1024,
lv_filesize TYPE i,
lv_pages TYPE i.
CLEAR: ev_retcode.
CALL FUNCTION 'ADS_SR_OPEN'
EXPORTING
dest = iv_prndst
doctype = 'ADSP'
copies = p_ncopi
immediate_print = p_immed
auto_delete = 'X'
IMPORTING
handle = lv_handle
spoolid = lv_spoolid
partname = lv_partname
EXCEPTIONS
OTHERS = 1.
IF sy-subrc NE 0.
ev_retcode = 4.
RETURN.
ENDIF.
CALL FUNCTION 'ADS_GET_PATH'
IMPORTING
ads_path = lv_globaldir.
CONCATENATE lv_globaldir '/' lv_partname '.pdf' INTO lv_dstfile.
OPEN DATASET lv_dstfile FOR OUTPUT IN BINARY MODE.
IF sy-subrc NE 0.
ev_retcode = 4.
RETURN.
ENDIF.
TRANSFER iv_content TO lv_dstfile.
IF sy-subrc NE 0.
ev_retcode = 4.
RETURN.
ENDIF.
CLOSE DATASET lv_dstfile.
IF sy-subrc NE 0.
ev_retcode = 4.
RETURN.
ENDIF.
CALL FUNCTION 'ZBAP_RM_PDF_GET_PAGES'
EXPORTING
iv_content = iv_content
IMPORTING
ev_pages = lv_pages.
lv_filesize = XSTRLEN( iv_content ).
CALL FUNCTION 'ADS_SR_CONFIRM'
EXPORTING
handle = lv_handle
partname = lv_partname
size = lv_filesize
pages = lv_pages
no_pdf = ' '
EXCEPTIONS
OTHERS = 1.
IF sy-subrc NE 0.
ev_retcode = 4.
RETURN.
ENDIF.
CALL FUNCTION 'ADS_SR_CLOSE'
EXPORTING
handle = lv_handle
EXCEPTIONS
OTHERS = 1.
IF sy-subrc NE 0.
ev_retcode = 4.
RETURN.
ENDIF.
ENDFORM. " PRINT
Maybe you are looking for
-
If I use more than 1 skype name and password, do I...
I have several skype names, and if I want to use more than 1, do I need to have a separate account for each name, or do the minutes purchased apply to my email address, not to the skype name?
-
How can I add a song to a playlist on my iPod?
Since I upgraded to iTunes 12, I can't seem to add a song from my music to a playlist on my iPod. I tried two different ways: 1) Click on Music, then click on Playlists, and show Songs. Open up the iPod in the sidebar by twirling the arrow next to th
-
How to run the processRequest initialization only once
My home page has a table that is initially populated based on the users userId. The user can then select a differnt user to display data for. From the table, the user can drill down to another page. If the user uses the browser back button (need to p
-
How can I specify a specific page to be always second???
Hello guys, I have a report. It also has a second page, which is a Terms and conditions page. I want it to be able to have always second/forth, sixth page. Is there a way to specify it? Thanks, Sonya
-
How toconvert multiple currency translation please give details in one repo
how toconvert multiple currency translation please give details in one report