FIDCCP02 IDoc.
Hi,
I found out the Idoc type that can be used to post the incoming open AR items into SAP(Cash posting) for a requirement. Now how do I map the required filed as per requirement to the IDoc ??
Here IDoc is Target & below details are source.
Requirement
Header Record
1 Record type: Always = 0 [CHAR ]
2 Sending system: Indicator of the sending system [CHAR ]
3 File Number: Sequential file number used to avoid missing files [INT ]
4 Creation Date: Date file was written [ YYYYMMDD]
5 Creation Time: Time file was written [ HHMMSS ]
6 Next File Number: Sequential file number used to avoid missing files[ INT ]
Item
1 Record type : Always = 6 [ CHAR ]
2 Pub Div : Vista Publishing Division for SAP to convert to Company Code [CHAR ]
3 Doc Type : Vista Document Type [ CHAR ]
4 Doc Date : Creation Date of Document [YYYYMMDD ]
5 Post Date : Posting Date of Document [YYYYMMDD ]
7 RefDocNo : Vista Sale Invoice Document Number [ CHAR ]
8 Header text : Vista Document Type and Sales Invoice Document Number CHAR
9 Customer : SAP Customer Number [ CHAR ]
10 Value : Value [ CHAR ]
11 Currency : Document Currency [ CHAR ]
12 Exchange Rate : Document Exchange rate [ CHAR ]
13 Ledger : 3rd part system Ledger [ CHAR ]
14 Item : Maximum 999 [ NUMC 3 ]
15 Material : ISBN (Material number in SAP) [ CHAR ]
16 Tax Value: Tax value [ CHAR ]
17 VAT Value : VAT Value [ CHAR ]
Trailer
1 Record type : Always = 1 [CHAR ]
2 Number of record: Total number of records in the file including header and footer records [INT]
Edited by: kevindass on Jul 21, 2011 9:04 AM
Edited by: kevindass on Jul 21, 2011 9:10 AM
I had used ACC_DOCUMENT03 IDOC in one on my project for all the three cases.
post ur question in ABAP forum u might get answers for BAPI/other IDOC's.
u can see the IDOC structure using WE60 tcode.
chirag
Similar Messages
-
FIDCCP02 IDOCs : Details for Customer Invoice Clearing
We are planning on using FIDCCP02 IDOCs to post customer invoice clearing.
The IDOC gets created however when we check the IDOC status, it states that "Document does not contain any valid line items
Message no. F5079"
Can someone please let me know which segments and what fields we need to populate specifically for Invoice Clearing?
We are populating the following segments:
E1FIKPF
-- E1FISEG
---E1FISE2
---E1FINBU
--E1FISEC
--E1FISET
EDIDD Data Records
SEGNUM Segment Number 000001
SEGNAM Segment Name E1FIKPF
BUKRS Name of global company code ABCD
BELNR Accounting Document Number 3510452953
GJAHR Fiscal Year 2011
BLART Document Type AB
BLDAT Document Date in Document 20110329
BUDAT Posting Date in the Document 20110329
MONAT Fiscal Period 3
WWERT Translation Date 20110329
USNAM User Name TEST
TCODE Transaction Code FB05
WAERS Currency Key USD
GLVOR Business Transaction RFBU
AWTYP Reference Transaction BKPFF
SEGNUM Segment Number 000002
SEGNAM Segment Name E1FISEG
BUZEI Number of Line Item Within Acc 001
BSCHL Posting Key 40
KOART Account Type S : G/L accounts
SHKZG Debit/Credit Indicator S : Debit
DMBTR Amount in Local Currency 42.79
HKONT General Ledger Account 0000113434
SEGNUM Segment Number 000003
SEGNAM Segment Name E1FISE2
SEGNUM Segment Number 000004
SEGNAM Segment Name E1FINBU
KUNNR Customer Number 1 0060000006
PYCUR Currency for Automatic Payment USD
PYAMT Amount in Payment Currency 42.79
SEGNUM Segment Number 000005
SEGNAM Segment Name E1FISEC
BUZEI Number of Line Item Within Acc 001
SEGNUM Segment Number 000006
SEGNAM Segment Name E1FISET
EDIDS Status Records
EDIDS Status Record Number 1
ThanksWe are planning on using FIDCCP02 IDOCs to post customer invoice clearing.
The IDOC gets created however when we check the IDOC status, it states that "Document does not contain any valid line items
Message no. F5079"
Can someone please let me know which segments and what fields we need to populate specifically for Invoice Clearing?
We are populating the following segments:
E1FIKPF
-- E1FISEG
---E1FISE2
---E1FINBU
--E1FISEC
--E1FISET
EDIDD Data Records
SEGNUM Segment Number 000001
SEGNAM Segment Name E1FIKPF
BUKRS Name of global company code ABCD
BELNR Accounting Document Number 3510452953
GJAHR Fiscal Year 2011
BLART Document Type AB
BLDAT Document Date in Document 20110329
BUDAT Posting Date in the Document 20110329
MONAT Fiscal Period 3
WWERT Translation Date 20110329
USNAM User Name TEST
TCODE Transaction Code FB05
WAERS Currency Key USD
GLVOR Business Transaction RFBU
AWTYP Reference Transaction BKPFF
SEGNUM Segment Number 000002
SEGNAM Segment Name E1FISEG
BUZEI Number of Line Item Within Acc 001
BSCHL Posting Key 40
KOART Account Type S : G/L accounts
SHKZG Debit/Credit Indicator S : Debit
DMBTR Amount in Local Currency 42.79
HKONT General Ledger Account 0000113434
SEGNUM Segment Number 000003
SEGNAM Segment Name E1FISE2
SEGNUM Segment Number 000004
SEGNAM Segment Name E1FINBU
KUNNR Customer Number 1 0060000006
PYCUR Currency for Automatic Payment USD
PYAMT Amount in Payment Currency 42.79
SEGNUM Segment Number 000005
SEGNAM Segment Name E1FISEC
BUZEI Number of Line Item Within Acc 001
SEGNUM Segment Number 000006
SEGNAM Segment Name E1FISET
EDIDS Status Records
EDIDS Status Record Number 1
Thanks -
How to trigger FIDCCP02 idoc for outbound vendor invoices?
Hi
1. How can i trigger the idoc FIDCCP02 for outbound processing? I am trying to use this idoc to send the vendor invoice data to another system.
2. How do i send existing data from sap to another system thru idocs?
pls give me the steps.
Regards
SujaiHi Sujai,
First you have to fill the your data into a table which is like the structure of EDIDD.Here you have to fill the all segmetns in the sequence which defined in the idoc type only other wise you will get error 26.
Then pass the control record data in the structure like EDIDC here you have to fill the sender,receiver,partner profile,idoc type message type like stuff.
Then pass these table and structure to the function module MASTER_IDOC_DISTRIBUTE.
Then idoc will created by above funciton module.
If you want pass data in xml format then you have to create xml port in we21 and pass this port name in the EDIDC structure.
Thanks,
radha. -
About using FIDCCP02 IDoc type for FB50
Hi Friends,
I'm trying to design an Inbound interface using Idoc type FIDCCP02 with MSG type FIDCC1. During testing this IDoc with Tcode WE19 it got processed very well but in tcode WE05 it is showing status as 51 i.e. Accounting transaction not permitted for posting in FI/CO.
Please Help me out to resolve this problem. Thanks in advance.
Thanks and Regards,
Vivek K.There are two things that needs to be done to achive this
1. Maintain Cross Company code information through transaction 'SALE'>>Modelling and Implementation Business Process>>Cross Application settings >> Global Organizational Units >>Cross-System Company Codes
2. Maintain suitable value for GLVOR in segment E1FIKPF. For eg: RFBU. You can take FI functional consultant help.
This problem gets resolved. Though I am giving you this reply late and I know that I may not get points but whenever anybody searches for this thread they get the answer.
Regards,
Suraj Kumar P -
How to include a new segment in FIDCCP02 idoc (OUTBOUND)
Hi,
I would like to know in which EXIT or BADI I should append my new segment to the idoc data. I have created the new segment to add new Z fields that I added before on the BSEG, and I have created the enhancement of the idoc and put the new segment in the correct place.
Best RegardsAdrian,
Isn't the BADI IDOC_DATA_INSERT the correct answer?
Regards,
Ashvin -
Missing fields in IDoc FIDCCP02
Hello Experts ,
I am using FIDCCP02 IDoc to create a customer invoice.My item level data contains a field XMWST (Calculate Tax) which i can not find anywhere in the IDoc.Even BSEG-ANFBN ,BSEG-ANFBU,BSEG-ANFBJ,BSEZ-EGMLD,BSEG-HZUON fields are not present in the IDoc.I am mapping the above fields using LSMW.Please let me know how to map the above also it would be helpful if these fields are named differently in the above IDoc.
Thanks and regards,
Vijay Simha CR
Moderator message : Duplicate post locked. Continue with the earlier post [Missing fields in IDoc FIDCCP02|Missing fields in IDoc FIDCCP02].
Edited by: Vinod Kumar on Aug 31, 2011 5:45 PMHello Shafiq,
Thanks for your comment. I think it's a good idea to deactivate option to send IDocs immediately and create an own job to trigger it regularly. It would be great if according user exits would be triggered also only when the IDoc job starts. Otherwise I would have to create a copy of RSNASTED and enhance it to fill according values. Depending on the outcome I'll reward your anwser. Nevertheless thank you very much until then.
Eddy -
Cross-company code functionality using Idoc type FIDCCP02
Hello,
I have a problem I need to use an IDoc to create incoming invoices from a legacy system, but there are 2 functionalities that need to exist.
1.- Extended withholding taxes.
2.- Cross-company code.
I have been using the basic type FIDCCP02, because it was easy to use extended withholding taxes.
But now the functional team requested us to implement the functionality Cross-company code.
I did some test using ACC_INVOICE_RECEIPT03, where just specifying 2 different company codes at item level, SAP will create 2 different invoices one for each company code) ,
The problem here is that I need both functionality, but only use 1 Idoc type. Do you know how can I solve this problem??Imelda ,
I am also trying to use FIDCCP02 Idoc for Cross-Company code functionality , and we are not able to do it ..
I saw this message in SDN posted by you last year but it was not answered , hence was wondering if you were at some point of time able to get any answer on this one OR did you find any solution by yourself on this issue.
I would also like to use Cross-company code functionality using FIDCCP02 , so please let me know if you have anything on this one .
Would appreciate your reply .
Thanks,
Ashutosh Chitrao -
Hi all,
can anyone post an example of the FIDCCP02 IDOC? I'm using WE19 and allways get errors.
Best Regards.
Alfredo.hi,
this my FIDCC2 IDoc in Status 53 (Processed).
Segment: E1FIKPF
BUKRS 9999
BELNR 8335000000
GJAHR 2009
BLART WL
BLDAT 20080908
BUDAT 20081001
MONAT 01
WWERT 20081001
USNAM X_XXXXXX
TCODE VL02
XBLNR 6000000214
WAERS CHF
GLVOR RMWL
AWTYP MKPF
AWREF 4000001585
AWORG 2008
HWAER CHF
AWSYS BWI100
BUKRS_SND 9999
NUMPG 000
STJAH 0000
XBLNR_LONG 6000000214
Segment: E1FISEG
BUZEI 001
BUZID M
AUGDT 00000000
AUGCP 00000000
BSCHL 99
KOART M
SHKZG H
DMBTR 200.00
DMBE2 0.00
DMBE3 0.00
WRBTR 200.00
KZBTR 0.00
PSWBT 200.00
PSWSL CHF
HWBAS 0.00
FWBAS 0.00
KTOSL BSX
VALUT 20081001
VORGN RMWL
FDTAG 00000000
KOKRS 0108
TXGRP 000
VBELN 6000000214
POSN2 000000
BZDAT 00000000
PERNR 00000000
HKONT 0000390101
ABPER 000000
MATNR 471112345
MENGE 10.000
MEINS ST
ERFMG 10.000
ERFME ST
BPMNG 0.000
EBELN 0100000346
EBELP 00010
ZEKKN 00
BWKEY 1900
BUSTW WA04
BUALT 0.00
DABRZ 00000000
AUFPL 0000000000
APLZL 00000000
PROJK 00000000
PAOBJNR 0000000000
ALTKT 0017040000
KBLPOS 000
OBZEI 000
TXDAT 00000000
GBETR 0.00
Segment: E1FISEG
BUZEI 002
BUZID U
AUGDT 00000000
AUGCP 00000000
BSCHL 89
KOART M
SHKZG S
DMBTR 200.00
DMBE2 0.00
DMBE3 0.00
WRBTR 200.00
KZBTR 0.00
PSWBT 200.00
PSWSL CHF
HWBAS 0.00
FWBAS 0.00
KTOSL BSX
VALUT 20081001
VORGN RMWL
FDTAG 00000000
KOKRS 9999
TXGRP 000
VBELN 6000000214
POSN2 000000
BZDAT 00000000
PERNR 00000000
XAUTO X
HKONT 0000390101
ABPER 000000
MATNR 471112345
MENGE 10.000
MEINS ST
ERFMG 10.000
ERFME ST
BPMNG 0.000
EBELN 0100000346
EBELP 00010
ZEKKN 00
BWKEY 1001
BUSTW WA04
BUALT 0.00
DABRZ 00000000
AUFPL 0000000000
APLZL 00000000
PROJK 00000000
PAOBJNR 0000000000
ALTKT 0017040000
KBLPOS 000
OBZEI 000
TXDAT 00000000
GBETR 0.00
hope it´s helpful.
What error you are getting ?
Regards,
Gordon
Edited by: Gordon Breuer on Oct 23, 2008 9:34 AM -
IDocs for items posted with special G/L indicator
Hi all!
Is it true that the idoc types for open items (acc_billing, acc_invoice_receipt) are not able to post items with special G/L indicator.
Does this mean that i have to implement a program of my own which builds up a FIDCCP02 idoc to post open items from a legacy system for migration??
Thanks for your advice.
AxelHi Sukumar: This is a migration project from one R/3 4,6C to another one (5.0). Exits in this area may have influence on postings to be distributed immediately when posted in the source system to any target system. My task is, to migrate existing open items including special G/L items. There is just a transaction to create such idocs (GAL3), but i do not see, what this transaction would help. So a program of my own must be created.
-
FIDCCP01 - G/L Transfer IDOC's Implementation
Hi,
One my clients is looking to implement FIDCCP01 & FIDCCP02 IDOC's to perform G/L Transfer between two systems (ERP - already implemented and IS-U - They are implementing now). Because of some legal reasons they could not have FI-CA and FI on one single instance. Hence, they would like to explore if they can use FIDCCP01 IDOC's to transfer G/L data from one system to another.
I am looking steps to implement these IDOC's. I would appreciate if you can send me any info on this and any pitfalls that I should be aware of. I would also like to like to know if the same IDOC can be used to transfer CO (Controlling) and FM (Funds Management) data as well or do I need to implement other IDOC's to achieve this?
PS - They have Funds Management and Controlling components as well.
Thanks,
Durgesh.Have you tried the field FUNC_AREA on segment E1SKA1M?
You could use WE60 to display the definition of GLMAST01 Idoc and look for the fields and segments on the document.
Hope this helps.
Regards. -
Getting Error in SM58 and IDX2 while using IDOC from
Dear All,
Getting error when trying to send FIDCCP02 Idoc from ECC to PI system.
"Basic Type 'FIDCCP02' is unknown"
Getting the same error while trying to import metadata using IDX2 from PI side.
All connections and distribution model are created.
Please help
Regardshey,
I checked all config again but getting error while checking ocnsistency in BDM5 on ECC system(E1Q).
It is failing when the messge type FIDCC1 reaches PI QA (X1Q) system and the error states
Message type FIDCC1 is not defined
Please check last line of below message:
E1QCLNT001 Checks in own system E1QCLNT001
Message type @08\QCheck OK@ Message type FIDCC1 is defined
Segment filtering @08\QCheck OK@ No segment filtering
Conversions @08\QCheck OK@ No conversion
Partner profile @08\QCheck OK@ Partner profile has been created
@08\QCheck OK@ .....Port PI_QA
@08\QCheck OK@ .....Port PI_QA
@08\QCheck OK@ .....Packet size 0001
@08\QCheck OK@ .....Basis type FIDCCP02
@08\QCheck OK@ .....enhancement
Port @08\QCheck OK@ Port PI_QA : To PI Quality System
@08\QCheck OK@ .....Port type: Transactional RFC
@08\QCheck OK@ .....port version 3: IDoc record types from Version 4.0 onwards
@08\QCheck OK@ .....Logical address (destination) X1QCLNT001
Logical address (destination) @08\QCheck OK@ Logical address (destination) X1QCLNT001 is defined
X1QCLNT001 Checks in partner system X1QCLNT001
Check of own logical system @08\QCheck OK@ Own logical system is X1QCLNT001
@08\QCheck OK@ Logical system is the same as the target address
Message Type *@0A\QCheck resulted in error@* Message type FIDCC1 is not defined
When I am clicking on error it is taking to WE81 on PI side.
So do I need to add this message type in PI system as it is present in ECC side?
Thanks
Edited by: Chanakya Sharma on Dec 10, 2010 12:10 PM -
Hi,
I could like to create an UDF for file to IDoc secenario.
Srouce:
MTCashPosting_
Header
CashPosting
PubDiv
DocType
DocDate
PostDate
RefDocNo
HeaderTxt
Customer
Value
Currency
ExchangeRate
Ledger
Item
Material
TaxValue
VAtValue
Trailer
Traget: (IDOC Type: FIDCCP02 Message Type: FIDCC2)
FIDCCP02
IDoc (Under FIDCCP02)
Begin (Under IDoc)
EDIDC40_:DISABLED
E1FIKPF (Under IDoc)
E1FISEG (Under E1FIKPF)
Segment
buzei
bschl
shkzg
mwskz
dmbtr
hkont
matnr
"The secenario is the 'Value,TaxVAlue & VatValue' should be handled by replicating E1FISEG like (HAve used External definition for IDoc)"
Value -> Line item 1
IF TaxValue exists->Line Item 2
IF VatValue exists-> Line item 3
Finally Line item 4 for cerdit.All above are debit
Value____________UDF______________E1FISEG
TaxValue_________|
VatValue_________|
Value____________UDF______________DMBTR
TaxValue_________|
VatValue_________|
How should I map?? Inputs plzzzzzHi
I am not sure whether my understanding is correct.
As per my understanding
You need to duplicate E1F1SEG segment 4 times as there are 4 conditions
and those nodes need to be enabled or suppressed based on your condition .
Regards
sandeep -
Mapping of field with MinOccurs 0 in SAP XI 2.0 SP5
Hi,
Our Scenario is
File -> Adapter -> XI -> Idoc Adapter -> SAP
We are trying to push IDoc and the mapping tool is giving an error. I am providing the error that I am getting.
The snippet of the XSD for the IDoc is given below:
<xsd:element name="E1FIKPF" minOccurs="1" maxOccurs="1" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:annotation>
<xsd:documentation>FI Document Header (BKPF)</xsd:documentation>
</xsd:annotation>
<xsd:complexType>
<xsd:sequence>
<xsd:element name="BUKRS" minOccurs="0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:annotation>
<xsd:documentation>Name of global company code</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="6" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="BELNR" minOccurs="0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:annotation>
<xsd:documentation>Accounting Document Number</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="10" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="GJAHR" minOccurs="0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:annotation>
<xsd:documentation>Fiscal Year</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:pattern value="\d+" />
<xsd:maxLength value="4" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="BLART" minOccurs="0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:annotation>
<xsd:documentation>Document type</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="2" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="BLDAT" minOccurs="0" type="date" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:annotation>
<xsd:documentation>Document Date in Document</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="BUDAT" minOccurs="0" type="date" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:annotation>
<xsd:documentation>Posting Date in the Document</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="MONAT" minOccurs="0" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:annotation>
<xsd:documentation>Fiscal Period</xsd:documentation>
</xsd:annotation>
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:pattern value="\d+" />
<xsd:maxLength value="2" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
In this snippet as can be seen the minOccurs for the BUKRS field is 0. But if I do not map the field its giving me following error.
/usr/java131/bin/javac -encoding UTF8 -classpath .:./system-lib/boot.jar:./system-lib/jaas.jar -extdirs ./additional-lib:./services/deploy/work/applications/ExchangeRepository -d /tmp/9_53_35_27_7_2004 /tmp/9_53_35_27_7_2004/com/sap/xi/tf/_MsgMapGcentre2Fidcc2_.java
/tmp/9_53_35_27_7_2004/com/sap/xi/tf/_MsgMapGcentre2Fidcc2_.java:303: ';' expected
a117.gotoNextContext();tmpValAtr = a117.getValue();if (!tmpValAtr.equals(SUPPRESS)) handler.addAttribute("SEGMENT", tmpValAtr);a117.gotoNextValue();if (!__deflt)a115.gotoNextValue();No mapping for value/FIDCCP02/IDOC/E1FIKPF/BUKRS
^
/tmp/9_53_35_27_7_2004/com/sap/xi/tf/_MsgMapGcentre2Fidcc2_.java:303: cannot resolve symbol
symbol : class No
location: class com.sap.xi.tf._MsgMapGcentre2Fidcc2_
a117.gotoNextContext();tmpValAtr = a117.getValue();if (!tmpValAtr.equals(SUPPRESS)) handler.addAttribute("SEGMENT", tmpValAtr);a117.gotoNextValue();if (!__deflt)a115.gotoNextValue();No mapping for value/FIDCCP02/IDOC/E1FIKPF/BUKRS
^
2 errors
Compilation error
Any one having any guesses on why this error is coming. I know this error would vanish if we map the field by an Empty Constant. But then it would start giving error for the next field until all the non mandatory fields are mapped.
If however I go ahead and map all the fields then the output structure generates all the segments the maxOccurs times. i.e. if a segment is occuring 999 times then that segment is repeated that many time in the output whereas I never needed that segment in the output.
Can any one suggest as to why this is happening. Am I doing some thing wrong or this is a problem with Mapping Editor in XI 2.0 SP5.
AshishHello Ashish,
this is a bug in the mapping tool. You have to apply the note 730081. It says:
Symptom
After you import XI20 Support Package 04 or Support Package 05, you can
no longer change and regenerate the message mapping (graphic mapping
tools).
The following error is displayed during activation or generation: No
Mapping for value.......
Other terms
Graphic mapping tools, SAPINTSER05, no mapping vor value
Reason and Prerequisites
This problem is caused by a translation error.
Solution
The translation error has been corrected.
As of patch level 1, the correction is provided in the SAPINTSER05_1.sca
archive of the INTEGRATION Services 2.0 software component and, as of
patch level 2 for Support Package 5, it is provided in the
SAPINTBUI05_2.sca archive of the INTEGRATION BUILDER 2.0 software
component. The archives are available on the SAP Service Marketplace at:
http://service.sap.com/patches
SAP EXCHANGEINFRASTRUCTURE/SAP EXCHANGEINFRASTRUCTURE 2.0
Binary Patches/INTEGRATION SERVICES 2.0/OSINDEP and
..... /INTEGRATION BUILDER 2.0/OSINDEP
Import the archives using SDM.
The mapping must be recompiled after deployment.
Regards Franz -
How to remove XML namespace in SOAP request
Hello
I would like to change one of our existing interfaces to use a SOAP communication channel rather than File. The file currently contains FIDCCP02 Idocs.
I have created a new communication channel using SOAP 7.1 and generated a Java client. When I send a request to the endpoint from Java, PI returns a SOAP fault.
Error
The error in the monitor is 'No standard agreement found for ..'. I think this is because the file contains XML with a root element with no namespace, but the root element in the SOAP message does have a namespace.
Example requests
File message :
<FIDCCP02 xmlns:ns2="http://dorsetcc.gov.uk/FIN_I26/Invoice/PremierFin" xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
SOAP message :
<ns2:FIDCCP02 xmlns:ns2="http://dorsetcc.gov.uk/FIN_I26/Invoice/PremierFin" xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
When I send a test request from RWB with no namespace it is successful.
Attempt to remove namespace
I have tried adding AF_Modules/XMLAnonymizerBean with no parameters as the first module on the SOAP communication channel, but this does not appear to make any difference. I have refreshed the cache.
regards
SteveHello Iñaki
Thanks for your reply.
I had read the blog about the XMLAnonymizerBean. It looks very straightforward, and in theory should do just what I need.
I've added the anonymizer bean as the first module as the SOAP message is asynchronous, and I want to remove the namespaces from the request.
I want to exclude all namespaces so I haven't set any parameters.
The SOAP channel in Communication Channel monitor has a status of 'Channel Started but inactive'. I cannot see any messages in the Processing Details for this channel, even though I have sent test messages from Java code and from RWB (the message from RWB without the namespace does reach the receiver). This makes me wonder if I have not configured the interface to use the new SOAP channel correctly, although I can see it in the Receiver Determination configuration overview.
I can see the messages in SXMB_MONI but can't find which communication channel is being used by the sender.
I'm using PI 7.1.
regards
Steve -
Hi All,
I have a few doubts related to the above mentioned topic. Any help would be greatly appreciated.
Doubt 1
We are trying to use JAXB to implement Mapping Program in Java. I was wondering as to how and where should we put those files in the XI server.
To explain it further :
We have extracted all JAXB related and Mapping Application related files into a single folder and imported that folder as an archive into the XI Framework within the Software Component Version Namespace in the Integration Builder (Design). But, the message mapping in the SXMB_MONI is showing the following stack:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
- <!-- Request Message Mapping
-->
- <SAP:ErrorHeader xmlns:SAP="http://sap.com/exchange/MessageFormat">
<SAP:Context />
<SAP:Code p1="Error during mapping" p2="--- Creating Java mapping com/wk/sapcl/mf/translator/source/SourceTranslator --- Using MappingResolver with context URL /sapmnt/XD1/global/xi/mapping/ATOSTOSAP/666d2600d4e811d8c989d1fc143c3524/ --- Loaded class com.wk.sapcl.mf.translator.source.SourceTranslator --- Using MappingResolver with context URL /sapmnt/XD1/global/xi/mapping/ATOSTOSAP/666d2600d4e811d8c989d1fc143c3524/ --- Load of javax/xml/bind/UnmarshalException.class from /sapmnt/XD1/global/xi/mapping/ATOSTOSAP/666d2600d4e811d8c989d1fc143c3524/ failed. --- Class not found: javax.xml.bind.UnmarshalException --- LinkageError at RUMappingJava.instantiate(): Could not instantiate class: com/wk/sapcl/mf/translator/source/SourceTranslator javax/xml/bind/UnmarshalException --- com.sap.aii.ibrun.server.map.MappingRuntimeException: at com.sap.aii.ibrun.server.map.MappingRuntimeException.code_STYLESHEET_OR_CLASS_NOT_FOUND(MappingRuntimeException.java:91) at com.sap.aii.ibrun.server.map.RUMappingJava.instantiate(RUMappingJava.java:158) at com.sap.aii.ibrun.server.map.RUMappingJava.execute(RUMappingJava.java:41) at com.sap.aii.ibrun.server.map.RURunner.run(RURunner.java:58) at com.sap.aii.ibrun.server.map.RUManager.run(RUManager.java:66) at com.sap.aii.ibrun.sbeans.map.MappingRequestHandler.handleRequest(MappingRequestHandler.java:67) at com.sap.aii.ibrun.sbeans.map.MappingServiceImpl.processFunction(MappingServiceImpl.java:83) at com.sap.aii.ibrun.sbeans.map.XMappingServiceObjectImpl0.processFunction(XMappingServiceObjectImpl0.java:24) at com.sap.aii.ibrun.sbeans.map.MappingServiceKey.processFunction(MappingServiceKey.java:10) at java.lang.reflect.Method.invoke(Native Method) at com.inqmy.services.rfcengine.RFCDefaultRequestHandler.invokeBean(RFCDefaultRequestHandler.java:83) at com.inqmy.services.rfcengine.RFCDefaultRequestHandler.handleRequest(RFCDefaultRequestHandler.java:50) at com.inqmy.services.rfcengine.RFCJCOServer.handleRequest(RFCJCOServer.java:69) at com.sap.mw.jco.JCO$Server.dispatchRequest(Unknown Source) at com.sap.mw.jco.rfc.MiddlewareRFC$Server.nativeListen(Native Method) at com.sap.mw.jco.rfc.MiddlewareRFC$Server.listen(Unknown Source) at com.sap.mw.jco.JCO$Server.listen(Unknown Source) at com.sap.mw.jco.JCO$Server.run(Unknown Source) at java.lang.Thread.run(Thread.java:513) ---" p3="" p4="">MAPPING.GENERIC</SAP:Code>
<SAP:Text language="EN">Error during mapping</SAP:Text>
</SAP:ErrorHeader>
SourceTranslator is the mapping program. The UnmarshalException class is available in the archive.
Can you please suggest that whether:
1) JAXB related files should be available in the same archive or they should be in the Global Namespace ?
2) Any clarifications that you may be reaching seeing the above dump?
3) Any opinions on whether to go for JAXB, DOM, SAX for the mapping programs where IDoc's are involved?
Doubt 2
For the JAXB environment we exported the Target XSD for FIDCCP02 IDoc Type from the Integration Builder. The segment E1FIKPF has a MaxOccurs and MinOccurs defined as 1. Now these are the following issues:
The IDoc segment can be replicated into the message mapping editor provided by XI. Thus, there can be multiple header level segments for E1FIKPF in a single IDoc. Then does that mean that XI does not validates the resultant OutputStream from the Mapping Program against the available XSD?
If XI validates that against the output XSD how exactly are multiple segments allowed? I have cross checked the XSD after duplicating the segment and activating that mapping (taking the XSD from the Mapping Itself) for the multiple E1FIKPF, but, there was only a single occurrence of that segment found and that too was with MaxOccurs, MinOccurs = 1?
To make my JAXB libraries produce the similar output(with multiple header segments in a single IDoc) as is being done in the mapping editor, I need to modify the maxOccurs for that segment(E1FIKPF) as Unbounded. Now,
1. Can I somehow import this modified XSD into the XI environment ? ( I doubt that we can do that???)
2. If we cannot import this XSD, then with the validation occurring against this XSD how would XI take care of that?
Doubt 3
The XSD that is generated in XI environment refers to the namespace under which the IDoc definition was imported as a default namespace. The JAXB generated XML which is based on the XSD definition is expecting the XML to be in namespace of Integration Builder.
But the input stream (XML) coming to the JAXB classes at the time of running is containing xmlns="atostosap" in the root element. This is the namespace name for which the code is being developed. Thus it results in Unmarhsall exception indicating the expected elements should be
[{IB Namespace}Header_element_for_datatype].
Any information on above would be of great help....
Thanks in Advance
Ashish MittalAlso, JAXB 2.0 Compilation with Tools>JAXB Compilation would be suitable.
Maybe you are looking for
-
Example wsdl and logical port for consumer proxy anyone ?
Hi, Could please somebody give me an example of external WSDL file and logcial port created for the WSDL file in SOAMANAGER ? I need to create manually logical port for my consumer proxy and I am missing something because my logical port is not activ
-
Hi, I have the following problem. What do you suggest? I have an interface A, abstract class B, B's subclasses C and D, and mainClass interface A abstract class B implements A { B b; public B(String desc) if (desc.equals("C")) b=new C();
-
Hi folks, I have a doubt regarding XI parties. I understand that party is used when we are exchanging messages in a cross-business scenario (B2B). In my case, Im talking about an IDoc scenario in a A2A vision, or either, all the Business systems inv
-
CJB1/CJB2 will Create Settlement Rule only on Last level of WBS
In Investment projects the client want to settle last level WBS to top level WBS and from top level WBS to AUC and capitalise it. Since we have so many WBS in structure hence we want to use CJB1/CJB2 for settlement rule creation. But CJB1 and CJB2 is
-
Stored Procedure VS Programs units VS Attached Libraries
Hi all :) I would be happy if someone could tell me the difference between Stored procedures and programs units and atached Library in term of efficiency??? because i think that maybe if i convert all my programs units and Library to stored procedura