SAP PI CSV to Proxy Structure
Hi All,
I have scenario wherein I will be getting data from external PI system to my PI system through XI adapter so at external PI end receiver adapter will be XI adapter and at my end sender adapter will be XI adapter.
Now through XI adapter i will be getting CSV data in single field which i have to update in my SAP. For this I flow would be as follow
External PI to MY PI , my PI to my SAP ECC.
Since data coming through XI adapter would be in single field and of CSV format, I will have to convert this data into a structure say ABC having 30 odd fields. I have made inbound and outbound interface for same. Now once i have xml structure i will like to map this xml structure to my proxy structure which will hit my SAP ECC. Now the issue I am facing is there are 2 scenarios now 1st Converting CSV data to XML structure using Java/ABAP mapping and second is XML structure mapping to proxy structure. Both these interfaces are independent of each other. Whereas I want that once I have got CSV data field it should be converted into xml and then proxy structure.
Please suggest how this could be achieved? Also if i will use ABAP mapping can i call second outbound interface inside it?
Hello,
Both these interfaces are independent of each other. Whereas I want that once I have got CSV data field it should be converted into xml and then proxy structure.
I'm not sure if I get your question correctly. You can actually link these two in your operation mapping:
1. Specify the csv structure as your Source Interface
2. Specify the proxy structure as your Target Interface
3. Use two mappings in this order: Java/ABAP Mapping, then normal message mapping. Take note that in your operation mapping ,you can add additional mappings by clicking the add icon.
Hope this helps,
Mark
Similar Messages
-
Hi,
How to create ABAP Inbound Proxy Structure with two ztables.
Regards,
Syfhi,
Check the link
http://help.sap.com/saphelp_nw04/helpdata/en/ab/585f3c482a7331e10000000a114084/frameset.htm -
How to find out the number of fields in generated proxy structure?
Hi All,
Can anybody help me to find out the number of fields in generated proxy structure in back end system along with controller fields.
i know how to get number of fields in XI system but i want the number of fields in back end system when we generate proxy including automatically generated controller fields.
Thanks in advance.
Regards,
UjwalkumarU mean u want to know at runtime?
Get the output from ur proxy as a string, count the number of "<" characters and divide it by 2. :-P
Of course, you'll have to treat the header fields separately.
Regards,
Henrique. -
SAP Business One DI Proxy service terminated unexpectedly
Hi All,
DI Proxy service doesn't work correctly and it generate an entry in event viewer: SAP Business One DI Proxy service terminated unexpectedly. Does anyone know what can be the reason?
I checked diproxyserver.properties file and everything is ok. I tried to change di proxy server from name to IP and it didn't help.
DI Proxy is on the same server as SAP.
Kind Regards,
SzymonThank you all for your replies.
@Frank - your link doesn't work.
@Radosław - yes, I used netstat , that's how I checked if anything uses port 2099.
Fortunately I solved the problem. Though DI Proxy still terminate unexpectedly but not so often. The most important thing is the B1 DI connection test is successful.
I want to add that DB server is HANA. The solution was to change JCOPATH in diproxyserver.properties. I replace '\\' into '/'.
I wait a little and see if it really solved the issue, and let you know.
Kind Regards,
Szymon
FYI: Link fixed.
Message was edited by: Frank Moebius -
Return values to the proxy structure , incompatible Error in report ?
Hi Friends ,
Our scenario is ABAP proxy to File . I have tested the sample scenario using the following link.
<i><b>ABAP Proxy to File</b></i>
/people/ravikumar.allampallam/blog/2005/03/14/abap-proxies-in-xiclient-proxy
It is working fine. It is sending data with one structure like
<b>
<?xml version="1.0" encoding="UTF-8"?>
<ns0:MT_EmpProfileMsg_OB xmlns:ns0="urn:AbapProxyTest">
<Empno>a101</Empno>
<EmpName>ragha</EmpName>
<DepartmentName>mis</DepartmentName>
</ns0:MT_EmpProfileMsg_OB></b>
but, our requirement is to send multiple values . like
<ns0:MT_EmpProfileMsg_OB xmlns:ns0="urn:AbapProxyTest">
<ROW>
<Empno>a101</Empno>
<EmpName>ragha</EmpName>
<DepartmentName>mis</DepartmentName>
</ROW>
<ROW>
<Empno>a102</Empno>
<EmpName>VENDRA</EmpName>
<DepartmentName>mis</DepartmentName>
</ROW>
</ns0:MT_EmpProfileMsg_OB></b>
While i was generating the proxy it is generating it has generated th follwing
<b>Class</b> ZECCSPPCO_MI_ECC_SPP_OB Proxy Class (Generated)
<b>Structure</b> ZECCSPPDT_ECC_TO_SPP_IB Proxy Structure (Generated)
<b>Structure</b> ZECCSPPDT_ECC_TO_SPP_IB_ROW Proxy Structure (Generated)
<b>Structure</b> ZECCSPPMT_ECC_TO_SPP_IB Proxy Structure (Generated)
<b>Table Type </b>ZECCSPPDT_ECC_TO_SPP_IB_RO_TAB Proxy Table Type (Generated)
With reference to the blog 1387 ,we are using this code as reference , but this is for one set of data , we need for multiple structutre what to do
*& Report ZBLOG_ABAP_PROXY
REPORT zblog_abap_proxy.
DATA prxy TYPE REF TO zblogco_proxy_interface_ob.
CREATE OBJECT prxy.
<b>DATA it TYPE zblogemp_profile_msg.
TRY.
it-emp_profile_msg-emp_name = 'Sravya'.
it-emp_profile_msg-empno = '80101'.
it-emp_profile_msg-DEPARTMENT_NAME = 'NetWeaver'.
CALL METHOD prxy->execute_asynchronous
EXPORTING
output = it.
commit work</b> .
CATCH cx_ai_system_fault .
DATA fault TYPE REF TO cx_ai_system_fault .
CREATE OBJECT fault.
WRITE :/ fault->errortext.
ENDTRY.
<b><i>My question is</i></b>
1. While we are assigning the values for Multiple rows . It is showing as Type mis match error .
<b> Can you please explain as how to pass value to structure and reutrn the values to create file ?</b>
Regards.,
ShyamHi Shyam,
>>our requirement is to send multiple values ................
for that u try thiscode and see..........
DATA prxy TYPE REF TO ZECCSPPCO_MI_ECC_SPP_OB Proxy Class.
CREATE OBJECT prxy.
DATA:M_EMP TYPE ZECCSPPMT_ECC_TO_SPP_IB,
I_EMP TYPE TABLE OF ZEMPDETAILS, //create a table in SE11 in the name ZEMPDEATILS
W_EMPD TYPE ZEMPDETAILS,
W_EMP TYPE ZECCSPPDT_ECC_TO_SPP_IB_ROW,
S_EMP TYPE ZECCSPPDT_ECC_TO_SPP_IB,
T_EMP TYPE ZECCSPPDT_ECC_TO_SPP_IB_RO_TAB.
SELECT * FROM ZEMPDETAILS
INTO CORRESPONDING FIELDS OF TABLE I_EMP.
LOOP AT I_EMP INTO W_EMPD.
W_EMP-emp_name = W_EMPD-enp_name.
W_EMP-empno = W_EMPD-empno.
W_EMP-DEPARTMENT_NAME = w_EMPD-DEPARTMENT_NAME.
APPEND W_EMP TO T_EMP.
ENDLOOP.
S_EMP-EMPLOYEE = T_EMP.
M_EMP-MT_SRC_FILE2ABAP_CLIENT_PROXY = S_EMP.
TRY.
CALL METHOD prxy->execute_asynchronous
EXPORTING
output = M_EMP.
commit work.
CATCH cx_ai_system_fault .
DATA fault TYPE REF TO cx_ai_system_fault .
CREATE OBJECT fault.
WRITE :/ fault->errortext.
ENDTRY.
Regards
preetha -
Hi,
I have SAP server at sender side, XI is my middleware and two 3rd partyservers on the receiver side.
So,from SAP side data comes through proxy,I would generate a structure which contains the fields required to send the data to both the receivers.But few fields would used to send the data to one server and some fields to another server.
So, once the data is filled,there would be a segreation process internally writeen in proxy to segregate the data.
So, Now can i use the same structure for all the proxies i generate to send the data or should I generate different structures for each and every interface.
Thank you,
Kishore J.hi,
check the below links, so that u will get complete concept in abap proxies:
/people/sap.user72/blog/2005/12/13/integration-builders-through-proxy-server-part--2
/people/ravikumar.allampallam/blog/2005/03/14/abap-proxies-in-xiclient-proxy
/people/arulraja.ma/blog/2006/08/18/xi-reliable-messaging-150-eoio-in-abap-proxies
/people/stefan.grube/blog/2006/07/28/xi-debug-your-inbound-abap-proxy-implementation
/people/michal.krawczyk2/blog/2006/04/19/xi-rfc-or-abap-proxy-abap-proxies-with-attachments
/people/sukumar.natarajan/blog/2007/01/07/how-to-raise-alerts-from-abap-proxy
/people/sravya.talanki2/blog/2006/07/28/smarter-approach-for-coding-abap-proxies
/people/ravikumar.allampallam/blog/2005/03/14/abap-proxies-in-xiclient-proxy - ABAP Proxy to File
/people/vijaya.kumari2/blog/2006/01/26/how-do-you-activate-abap-proxies - Activate Proxy
/people/siva.maranani/blog/2005/04/03/abap-server-proxies - ABAP Server Proxy
/people/ravikumar.allampallam/blog/2005/03/14/abap-proxies-in-xiclient-proxy - ABAP Client Proxy
/people/thomas.jung3/blog/2004/11/17/bsp-a-developers-journal-part-xiv--consuming-webservices-with-abap
/people/prateek.shah/blog/2005/06/14/file-to-r3-via-abap-proxy - ABAP Proxy
http://help.sap.com/saphelp_nw2004s/helpdata/en/48/d5a1fe5f317a4e8e35801ed2c88246/frameset.htm
http://help.sap.com/saphelp_nw04s/helpdata/en/ba/f21a403233dd5fe10000000a155106/frameset.htm
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/41e08c90-0201-0010-9197-d8774336ea78
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f0ae9874-109c-2910-f48a-e91f0cdd1c81
/people/sravya.talanki2/blog/2006/07/28/smarter-approach-for-coding-abap-proxies
reward points if helpful
regards
sreeni -
Proxy structures not getting populated in receiver ABAP proxy
hello
i am having HTTP-ABAP Proxy scenario where i am entering sales order information from HTTP and sending it to SAP CRM system. I am using ABAP receiver Proxy for getting the message.
But when i debugged the code of receiver proxy i couldn't found the structures being filled by the data. i checked in SXMB_MONI of CRM which was containing data into its payload but no data into the structures. actually i have generated proxy of the interface which uses external definitions as data type.
has anyone faced such problem before?
thanks in advance.
Regards
RajeevHi Rajeev,
There should not be any problem due to XSD u have used.Ur proxy is created sucessfully i guess?? There may be some discrepancy in ur code..
check the server proxy....may be helpful for u..
Server Proxy (Receiver Proxy)-
/people/siva.maranani/blog/2005/04/03/abap-server-proxies
File to ABAP Proxy
/people/prateek.shah/blog/2005/06/14/file-to-r3-via-abap-proxy
check the threads also...
problem in proxy?
Re: coding of Server proxy
Re: coding of Server proxy
regards
BILL -
Contvert CSV to SAP and SAP to CSV
Hi Experts,
I have two independent system. One is R/3 and other one is a file server.
My need is to take the csv file from file server and do some process store in R/3 and generate csv file from R/3 and store it in the file server.
The communication is two way communication.
Without using Xi interface i need to do this. If there is any solution possible with ABAP(Function Modules) is most welcome.Hi,
CSV means a text file, where the columns are separated by a character ";".
The best way to change a list to CSV is to create an internal table in the ABAP, with the structure of the required CSV.
You have to fill in this internal table.
Because you are running the program in background, you can't download the file, the best would be to store the file on the server in a separated directory.
1ST capture file from application server to internal table using open dataset and close data set.
Use the Function Module SAP_CONVERT_TO_CSV_FORMAT to convert the internal table into Comma separated format then download this internal table using the Function Module GUI_DOWNLOAD.
EX-
Coding -
TYPE-POOLS: truxs.
TYPES:
BEGIN OF ty_Line,
vbeln LIKE vbap-vbeln,
posnr LIKE vbap-posnr,
END OF ty_Line.
TYPES: ty_Lines TYPE STANDARD TABLE of ty_Line WITH DEFAULT KEY.
DATA: itab TYPE ty_Lines.
DATA: itab1 TYPE truxs_t_text_data.
SELECT
vbeln
posnr
UP TO 10 ROWS
FROM vbap
INTO TABLE itab.
CALL FUNCTION 'SAP_CONVERT_TO_CSV_FORMAT'
EXPORTING
i_field_seperator = ';'
TABLES
i_tab_sap_data = itab
CHANGING
i_tab_converted_data = itab1
EXCEPTIONS
conversion_failed = 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.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
filename = 'C:\TEMP\test.txt'
TABLES
data_tab = itab1
EXCEPTIONS
OTHERS = 1.
Check this sample code...for CSV to SAP
codeREPORT ZTEST.
TYPE-POOLS:TRUXS.
DATA: BEGIN OF ITAB OCCURS 0,
VBELN LIKE VBAP-VBELN,
POSNR LIKE VBAP-POSNR,
END OF ITAB.
data: itabt like itab occurs 0 with header line.
DATA: ITAB1 TYPE TRUXS_T_TEXT_DATA,
ITAB2 TYPE TRUXS_T_TEXT_DATA.
SELECT VBELN
POSNR
UP TO 100 ROWS
FROM VBAP
INTO TABLE ITAB.
CALL FUNCTION 'SAP_CONVERT_TO_CSV_FORMAT'
EXPORTING
I_FIELD_SEPERATOR = ','
TABLES
I_TAB_SAP_DATA = ITAB
CHANGING
I_TAB_CONVERTED_DATA = ITAB1
EXCEPTIONS
CONVERSION_FAILED = 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.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
FILENAME = 'C:\TEMP\test.txt'
TABLES
DATA_TAB = ITAB1
EXCEPTIONS
OTHERS = 1.
CALL FUNCTION 'TEXT_CONVERT_CSV_TO_SAP'
EXPORTING
I_FIELD_SEPERATOR = ','
I_TAB_RAW_DATA = ITAB1
I_FILENAME = 'C:\TEMP\test.txt'
TABLES
I_TAB_CONVERTED_DATA = ITABt
EXCEPTIONS
CONVERSION_FAILED = 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.[/code] -
How can i update an existing item in sap using CSV file?
Hi,
i am trying to update an existing Item in SAP using a CSV file.
in the message log i get an error message that the item already exists.
what should i do in order to update the existing record?
Thanks, UdiHi..........
I would sugest you to use Tab delimited file and choose proper option in order to update the itsm master in DTW......
Regards,
Rahul -
Which is better for bulk message scenario in sap xi RFC or Proxy
which is better for bulk message scenario in ( RFC or Proxy ) ?
Edited by: prabhatxi on Aug 6, 2010 4:44 PMProxy will alwaays be better option in this case, as it is adapter less framework, and communication happens directly with XI central integration engine. So it is always fast communication and gives good performance.
But still you should consider other factors, you may consider using RFC as well, as sometime we go for RFC/IDOC as this are the standard interfaces already available rather than creating structure...
May be you can share more info on what type/volume data are you planning to send via XI?
Hope this cleart your doubt..
Divyesh -
Proxy structure getting created
Hi gurus,
I am exposing abap FM as web service. I already did all the development and now ready to transport the development to staging. But, in transport request I see some proxy objects(structure and data elements) create automatically.
Their names are irrelevant and starts like ZVXY*. Also, their status is New and not active, when i tried to delete them from dictionary, it didnt allow me to do that and redirected me to tcode SPROXY and there i could nt understand anything.
Could you plese tell me shall I skip these object while transporting(since their status is New) or activate them and transport? Or has anybody any idea about such proxy objects?
RegardsHi,
Choose EXECUTE_ASYNCHRONOUS method and click on parameter.
It will have a parameter INPUT with associated type.
You have to use that associated type as reference for your internal table.
That associated type will be structure of your Message type.
Refer this blog.
/people/siva.maranani/blog/2005/04/03/abap-server-proxies
Regards,
Sakthi -
Create SAP RFC iView with a structure as import parameter
Hello All,
I'm creating a SAP RFC iView from Portal SAP 7.4.
I try call a RFC that have as import parameter a structure with various fields, but the portal recognizes the structure as string field, then I cannot fill the fields values, and when I do a preview the iview, the following error occurs:
Function execution failed. Exception message: class java.lang.String:null incompatible with class com.sapportals.connectors.SAPCFConnector.execution.structures.RecordWrapper:sap.com/[email protected]MultiParentClassLoader@80d4ed6@alive
And only is possible select a output object.
Exists any way of receive a structure or a table as import parameter?, and as output parameters more of a element?
Thanks for your collaboration.Hello All,
I'm creating a SAP RFC iView from Portal SAP 7.4.
I try call a RFC that have as import parameter a structure with various fields, but the portal recognizes the structure as string field, then I cannot fill the fields values, and when I do a preview the iview, the following error occurs:
Function execution failed. Exception message: class java.lang.String:null incompatible with class com.sapportals.connectors.SAPCFConnector.execution.structures.RecordWrapper:sap.com/[email protected]MultiParentClassLoader@80d4ed6@alive
And only is possible select a output object.
Exists any way of receive a structure or a table as import parameter?, and as output parameters more of a element?
Thanks for your collaboration. -
What is the importance of "CONTROLLER" in proxy structures generated
Hi,
i have created a proxy for service interface in ESR. i can see one field "CONTROLLER" of type PRXCTRLTAB (Control Flags for Fields of a Structure ) in all of structures generated for proxy.
i have given functional specification where in one of the XML strucutes is
<GeneralId>
<IdValue name=u2018ClientIdu2019>ABCDEF</IdValue>
<IdValue name=u2018Empidu2019>12345</IdValue>
</GeneralId>
now my requirement is to extract clientid or empid based on its name as it is given above and get the value correspondingly.
for this in the generated structure i have one field "Generalid" inside that one more field "value", where i think i will have some value ( could be client id or empid i guess)
now please suggest me how can i find that value is empid or general id, i suspect that "controller" field which contain one field called "NAME" will actually tells us this?
my question may be complex, please suggestHi Kranthi
The filed Value is a repeating structure with different contents(values empidetc).
I think whenever we have such a repeating structure the proxy generator add a CONTROLLER component of type PRXCTRLTAB to the Idvalue field assuming it is a table structure.
how can i find that value is empid or general id, i suspect that "controller" field which contain one field called "NAME" will actually tells us this?
Please check with you abap team, i guess controller is to take care of looping to fill data in structure.
Also as you know that there will be two values in the field "Idvalue" ,instead of using attributes, you can do the
check in mapping using a constant and determine which value you have to populate to the target.
Regards,
$rinivas -
Importing multiple csv's (different structures) to destination table
I am using a data flow task with flat file source and ole db destination and looping thru a folder to import multiple csv files into a destination table. What if I wanted to import different csv files, for example, with different structures or layout.
The different csv's would have the same columns for destination table but in different order/name. How do u map each one to the destination table? Multiple data flow tasks or multi flat file sources?The standard Data Flow Task supports only static columns metadata defined at design time. I would recommend you check the commercial COZYROC
Data Flow Task Plus. It is an extension of the standard Data Flow Task, which supports dynamic columns metadata. You can handle all your input flat files using single
Data Flow Task Plus. No programming skills are required.
SSIS Tasks Components Scripts Services | http://www.cozyroc.com/ -
Sap master data , differnt organization structure
Sir,
What are the different organization structure of SAP(Inbuilt), so that we can use in different scenarious. like company code, sales organization, etc
Thanks and Regards
KamalHello,
Welcome to SDN,
If you have access to SAP system or IDES.
Then if you want know which existing org structure can be used in system then,
There is two way:
- Checking existing org structure in use through accessing Table VBAK (TCode SE16).
OR
- if its a fresh IDES then
use TCode EC01.
click on Structure Button on organizational object company code screen.
click on Navigation Button organizational structure for company code screen
Accept the message
Double click on standard Company code 0001 or 1000.
I hope this can assist you.
All the best.
Keep learning and enjoy.
Thanks & Regards
JP
Maybe you are looking for
-
Hi All, we have created subcotracting stock & maintained Scrap in negative stock in BOM. while receiving material system is doing MVT 545 0 automatically. Problem1: Now i want to inwards scarp at our plant. How can we do. Problem2: if Full o
-
Compaq Presario CQ61 Hard Disc Size.
I have a Compaq Presario CQ61. It currently has a Hitachi Travelstar 5K500 B.320 gb Hard Disc. Can I swap in a 5K500 B.500 gb Hard Disc ?
-
Log for DBlink transactions ?
Hello all, Is anobody aware of any facility wherein Oracle maintains/creates any log for transactions across the DBLinks. When we execute a select query from 1 database to another through DBLink, does Oracle maintain a log which would specify the tim
-
Download Product - Internet Connection Error
Trying to download a product logged into my CC account. When I click download a CC dialogue box opens and states I do not have an internet connection. However have internet connection and browser open for CC - could something be blocking download?
-
My Neighbor's Wireless Network
I'm able to get a wireless signal from my neighbor. However, I'm not able to send/receive mail or publish iWeb updates. Is this is a firewall issue? Is so, is there a workaround? Thanks.