In segment IDOC attribute I occurred instead of SEGMENT

Hi
I am trying to post an IDOC thru XI, using XSLT(ABAP Engine) to convert an incoming message to IDOC format.
Though the IDOC output is well formed, the message fails with an error message(see below). Has anyone experienced this problem before?
I am on XI 3.0 SP14, connectiing to an 4.6D system. IDOC -FIDCCP01.
I had the output pulled into an XML editor for validation, but it does not report any errors.
Any pointers?
-Feroz
<SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">
  <SAP:Category>XIAdapter</SAP:Category>
  <SAP:Code area="IDOC_ADAPTER">ATTRIBUTE_IDOC_METADATA</SAP:Code>
  <SAP:P1>IDoc XML data record: In segment IDOC attribute I occurred instead of SEGMENT</SAP:P1>
  <SAP:P2 />
  <SAP:P3 />
  <SAP:P4 />
  <SAP:AdditionalText />
  <SAP:ApplicationFaultMessage namespace="" />
  <SAP:Stack>Error: IDoc XML data record: In segment IDOC attribute I occurred instead of SEGMENT</SAP:Stack>
  <SAP:Retry>M</SAP:Retry>
  </SAP:Error>

Feroz,
Copy the message and check which segment does not have the attribute literal SEGMENT.
to be clear, your data should be like <b><E1KNA1M SEGMENT="1"></b>, probably you have something like this <b><E1KNA1M 1="1"></b>.
XML Editor does not cause an error becuase it does not care what the attribute literal is. Once you correct that, you should be fine.
Regards
Shravan

Similar Messages

  • Error:IDOCXML data record : In segment attribute occured instead of SEGMENT

    hello friends
    my content scenario is oracle -> xi-> IDoc
    i am getting error as stated in subject from <b>IDOC_ADAPTER</b> error category and ERROR id is <b>ATTRIBUTE_IDOC_RUNTIME></b>
    i am  using IDoc of message type <b>pordcr1.pordcr101</b>.
    i tried every change but still i am  getting the same error.
    i am unable to locate the problem source i went through similar blog posted on sdn but no luck .
    what i will do to solve my problem .i am waiting for my sdn friends suggestion.....amit ranjan

    Hi,
    Maybe you can reload structure of your IDOC in integration repository and delete idoc metadata from IDX2. Please check it maybe it will help. Are you doing a mapping to this SEGMENT? If no you can add a counter there for each SEGMENT.
    regards,
    wojtek

  • ATTRIBUTE_IDOC_METADATA : In segment E1FIKPF attribute occurred instead of

    Hi All,
    I am getting this error message in sxmb_moni when I try sending an idoc in idoc-XI-idoc scenario.Message type that I am using is FIDCCP01.
    <?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="">
      <SAP:Category>XIAdapter</SAP:Category>
      <SAP:Code area="IDOC_ADAPTER">ATTRIBUTE_IDOC_METADATA</SAP:Code>
      <SAP:P1>IDoc XML data record: In segment E1FIKPF attribute occurred instead of SEGMENT</SAP:P1>
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack>Error: IDoc XML data record: In segment E1FIKPF attribute occurred instead of SEGMENT</SAP:Stack>
      <SAP:Retry>M</SAP:Retry>
      </SAP:Error>
    Its Urgent.
    Thanks
    Alok

    Hi Alok,
    If it is not solved by above solution just go through below link.
    This problem occurs when you use XSLT mapping.
    Remove indentation = yes
    use..
    <?xml version=""1.0 encoding="UTF-8"?> if you are using XSLT mapping.
    Re: In segment IDOC attribute I occurred instead of SEGMENT
    Regards,
    Satish

  • Error : idoc xml data record : in segment attribute instead of SEGMENT

    hi all
    i am doing the file to idoc scenario. in that i am getting the error
    error : IDOC XML Data record : In segment attribute instead of SEGMENT
    i am doing this scenario since 4 days.
    can anyone help me
    thanks a lot
    Vasu

    in ref. to my post in your earlier thread.
    >>>>
    in your mapping check, in your IDOC if Begin , segment etc are mapped to a constant say '1'.
    Also ref: In segment IDOC attribute I occurred instead of SEGMENT

  • Error : IDoc XML data record: In segment attribute occurred instead of SEGM

    hi friends
    i am doing the file to idoc scenario. in message mapping i had done the static test. but what ever the fields i mapped in the idoc it was not populated in the idoc. and i am getting the error as
    error :IDoc XML data record: In segment attribute occurred instead of SEGMENT
    can any one solve the problem please
    thanks in advance
    Vasu

    Hi Vasudeva,
    Pls do check the nodes which you have mapped to. Also make sure that your SEGMENT field in the target structure is mapped properly.
    Cheers
    JK

  • Error : idoc xml record in segment attribute instead of SEGMENT

    hi friends
    can any one solve my problem. In message mapping I mapped with a IDOC. In message mapping I Mapped all the fields. Still I am getting the error as "IDOC XML RECORD IN SEGMENT ATRIBUTE INSTEAD OF SEGMENT" I dont know about this error.
    can any one solve this problem please . I am doing this scenario since 5 days. help me..
    thanks in advance
    Vasu

    Hi Vasudeva,
    Can you pls provide little more details on the scenario ?
    Also at which place are you getting this error ?
    Assuming that you have created a message mapping for some source message to target IDoc message, here are some suggestions.
    1) Test the message mapping. (are you getting the error in testing itself ?)
    2) Apart from mandatory fields' mapping, are there any constants to be assigned to some IDoc fields ? Or any node to be disabled ? Or any such additional things...
    Regards,

  • IDOC Segment Definition received instead of Segment type

    Hello Folks,
    When i send a Z Idoc Segment from A to B System, It is successfull from A System, but in B System sometimes its erroringout because in the inbound idoc Segment Definition is coming instead of Segment type.
    For Example
    From A System I have sent Z1P0002 segment
            B System I have received Z2P0002000(Which is the segment definition for Segment type Z1P0002)
    Any inputs to above problem?

    Hi,
    The problem may be due to system B using a older release version of the IDoc. In those scenarios, even though your IDoc type is recognized, it may not be possible for the reciever to determine the right segment version of the reciever.
    There are options in the WE20 partner profile configuration, Field Segment release in IDoc type and Segment Appl. rel. which enable the partner system preventing from erroring out.
    BR/Yogesh
    Edited by: Yogesh Surender on Jun 1, 2009 12:34 PM

  • Inbound side idoc segment defination is showing instead of segment type

    Dear all,
                 i created z idoc ZMIGO961 and  z segment ZJ1IW in both source and destination, when i send the idoc from the source to destination, in destination it is showing the segment defination i.e ZJ1IW000 in idoc instead of segment type ZJ1IW in  my idoc.
    plz help .
    regards,
    Edited by: manoj kv on Apr 4, 2010 9:18 PM

    Hi manoj kv 
    segment defination :  ZJ1IW000  indicates segment is ZJ1IW & version is 000
    Go to T code we31  in Destination System
    Enter the Segment Name and Check Defination Screen.....then you will see the segment defination :  ZJ1IW000
    Hope above info helps... you..
    Thanks
    Ramesh

  • Creation of multiple records in reciever file as per occurance of 1 segment

    Hi SapAll.
    i have a got a requirement in an IDOC To File Interface
    the Requirement is under sending IDOC there will be multiple segments whose fields will me mapped to reciever file,so here i got a business requirement as
    IDOC -
    Segment 1-occur for 1 time
    segment 2- occurs  for 1 time
    segment 3-occurs for 3 times so here PI Need to create a file with 3 records as segment 3 repeats for 3 times, here segment 1 and segment 2  field  values repeats for all the 3 records int the file and segment 3 fields values will have to be mapped respectively for each record of all the 3 records from each segment 3.
    i dont know on how i can acheive this.
    can any of sap group provide me the solution.
    regards.
    Varma

    > segment 3-occurs for 3 times so here PI Need to create a file with 3 records as segment 3 repeats for 3 times, here segment 1 and segment 2  field  values repeats for all the 3 records int the file and segment 3 fields values will have to be mapped respectively for each record of all the 3 records from each segment 3.
    Create your target structure as mentioned and do the mapping as shown below.
    <Records> 0..unbounded
         <segment1_Fields> </segment1_Fields>
         <segment2_Fields> </segment2_Fields>
         <segment3_Fields> </segment3_Fields>
    </Records>
    Now do the mapping like this..
            segment3 -
    >RemoveContext---> Records (parent node mapping)
             segment1----->CopyValue(0) ---> segment_field1
             segment2----->CopyValue(0) ---> segment_field2
             segment3----->SplitByValue ---> segment_field3
    Note: You can also use "UseOneAsMany" instead of "CopyValue" function to repeat the segment1 & segment2 values in each record.

  • EDI: Syntax error in IDoc (too many repetitions of a segment)

    Hi All -
       We are getting an "EDI: Syntax error in IDoc (too many repetitions of a segment)" error message while processing the REMADV message in the payment run program.
    Basic Type : PEXR2002
    Message Type : REMADV
    Segment Name : E1EDP02
    This issue is due to BELNR length in above segment, since payment run program assigning the 45 chars but BELNR length is 35 char, is there any way or OSS notes we can implement to rectify the same.
    Thanks in Advance.
    Rds,
    K

    Hi,
    This error is the segment definition violation. Open your BASIC IDOC type in WE30, double click on the segment TESTIDOC.
    In the popup you can see properties like mandatory segment, Minimum number and Max number. Your IDOC is crossing the max number of repetitions it can have. If any of the segment definition perperties like this one, or improper position of the segment etc occurs IDOC is generated with syntax error.
    Thanks,
    Vinod.

  • Mapping Query : Can I get the Number Occurance of a segment

    Can I get the Number Occurance of a segment
    Source MSG
    Tree             Occurence
    **File_Message    (1..1)
    .....Name         (1..1)
    .....Sal          (1..1)
    .....**Details    (1..Unbound)   
    .........MailID   (1..1) 
    .........MobileNO (1..1)     
    Target MSG
    **CountDetails   (1..1)
    .....Count       (1..1)
    In Target MSG, I want the number of occurance of the FileDeatils-->Details 
    if source file is like follow
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:File_Message xmlns:ns0="urn:test:ns:ns">
       <Nam>John</Nam>
       <Sal>2342</Sal>
       <Details>
          <MailID>[email protected]</MailID>
          <TelNo>345345345</TelNo>
       </Details>
       <Details>
          <MailID>[email protected]</MailID>
          <TelNo>888888888</TelNo>
       </Details>
    </ns0:File_Message>
    I need to get the taget Message as follow
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:CountDetails xmlns:ns0="urn:test:ns:ns">
       <Count>2</Count>
    </ns0:CountDetails>
    in Count Tag I should get the number of occurance of Details Tag in source MSG
    Can any one help regard this
    Thanks is advance

    Hai Mohan,
       My Real Problem is
    I am Using the Scenario File--> XI --IDoc (Using BPM)
    File is having the following value
    Header Details (one Occurance)
    PO(1..Unbound)
    for Example that file having 2 PO (Purchase Order) Then I have to split that file in to two files..
    and I have to pass that two files to Post Idoc(0rders02) for create sal Order.
    That file may have more than one PO
    Please give Ur Suggest me on this
    Thanks in advance
    Dhanabal T

  • Segment E1RSHND does not occur at the current level of thecustom basic type

    Hello Friends,
    This is the error iam getting in RSA1 for Heirarichal orgunit: So data load is failing.
    EDI: Syntax error in IDoc (segment cannot be identified)
    Message no. E0078
    Diagnosis
    The segment E1RSHND does not occur at the current level of the basic type ZSPB007 (extension ).
    This error can have several reasons:
    The segment E1RSHND is assigned to a group whose header segment does not occur.
    The segment E1RSHND does not exist in the syntax description of the basic type ZSPB007 (extension ).
    The sequence of segments in the group in which the segment appears is incorrect.
    Previous errors ('mandatory' segment or group missing) may be due to this error.
    Procedure
    Please check the IDoc or the syntax description of the basic type ZSPB007 (extension ).

    Hi Sonal ,
        i reprocessed the Idoc in BD87 and now the status is 51. Error message in RSA1 is as follows
    Function module not allowed: RSAR_DATA_RECEIVED
    Message no. B1252
    Diagnosis
    The function module RSAR_DATA_RECEIVED and the application object type which were determined are not valid for this IDoc.
    Procedure
    1. Please check that the process code in the inbound partner profile is correct.
    2. If this is the case, you should check the ALE inbound methods ALE inbound methods for the process code and see whether the specified function module and application object type are correct.
    3. If this is also the case, then the function module and the application object type are not permitted for the logical message type, message variant, message function and basis type that are contained in the IDoc control record. You should check whether the correct values have been assigned to these fields in the control record. If they do have the correct values, then the assignment to the function module and the application object type needs to be maintained.

  • Mapping multi-segment IDOC to multiple JDBC INSERT statements

    Hi Everyone,
    This is probably going to be easy for the experienced PI developers out there but I'm just starting out in this technology. We are running PI 1.11 and the scenario is as follows. We have a bespoke IDOC message type ZSTOCK which can contain 1-many segments with the following field content:
    WERKS
    MATNR
    VBELN
    ACT_LABST
    AVL_LABST
    For each segment in the source IDOC, I want to generate an INSERT statement to insert a row in an SQL table via the JDBC adapter with the following columns:
    Plant
    Material
    SalesOrd
    ActStock
    AvlStock
    Basically, each field on the source IDOC segment maps directly onto the target column of the SQL table. The problem is, on a multi-segment IDOC only the first segment is generating a row in the SQL table. I've seen a number of threads on this forum that seem to tackle the same issue but the solution is either missing or unclear. I think the solution lies somwhere in the occurrences of the STATEMENT node in my target message type and perhaps specific definitions in the message mapping. Can anyone help solve this mystery?
    Thanks,
    Gary

    Hi Gary
    If you created a data type, try to change occurrence of STATEMENT node to 0..unbounded or 1..unbounded.
    In the message mapping, map the target STATEMENT node with the source 1-many segment.
    You can find [here|http://help.sap.com/saphelp_nw70/helpdata/en/4d/8c103e05df2e4b95cbcc68fed61705/content.htm] more informations about the JDBC structure
    Regards,
    Giuseppe

  • Syntax error in IDoc (too many repetitions of a segment)

    Hi,
    I tried to load master data from R/3 into BW system. The load is not ending and the IDoc error message is displaying,
    The error message is " EDI: Syntax error in IDoc (too many repetitions of a segment) with status 26"  .
    I tried to analise the issue and checked in the Idoc List Outbox of BW system. I found Red status message with number 26 stating " Error during Syntax check of IDoc (Outbound) and the message type is RSRQST.
    Could any one help me out in solving this problem. Reply to the message if any more information needed.
    Thanks in Advance.
    Regards
    Koushik

    I'm getting the same error. I think it is because I have a InfoPackage selection routine, that selects more than 1000 select conditions. I guess it is a parameter that needs to be changed somewhere. Any help on this one?
    BR
    Øyvind

  • Create Individual Idocs Based on Parent and Child Segment type

    Hi Experts,
    I have a scenario IDOC to FILE ,  Split Single IDOC into Multiple IDOC's based on parent and child Segment Type
    For example If 3 child segments are same and 1 segment is different under parent segment then 3 same child segments are clubbed and create single idoc under parent segments and 1 different child should create in individual idoc under parent segment.
    Note : Same logic should work for N number of Parent Segments and Child Segments.
    Outbound:
    ZIdocName
    Control Record
    Data Record
    Parent Segment A
       Child Segment 1
       Child Segment 1
       Child Segment 1
       Child Segment 2
    Parent segment  B
       Child Segment 3
    Status Record
    I should get output like below
    Inbound:
    ZIdocName
    Control Record
    Data Record
    Parent segment A
      Child Segment 1
      Child Segment 1
      Child Segment 1
    Status Record
    ZIdocName
    Control Record
    Data Record
    Parent segment A
      Child Segment 2
    Status Record
    ZIdocName
    Control Record
    Data Record
    Parent Segment B
      Child Segment 3
    Status Record
    Please suggest me step by step process to achieve this task.
    Thanks.
    Ram

    Hello,
    Segment won't hold any value, so filter criteria should be there on some field wich exist in Parent node and chile node?
    Paste ur XML?
    Try this(Assuming u have some fields in parent/child segment on which u want to define filter criteria):
    Parent Field--UseOneAsMany----RC----
                                      ------------------Concat ----splitbyvalue(value change)--collapse context --- ZIdoc
    Child field-- RC----------
    Child field--RC--splitbyvalue(valuechange)--CC -Splitbyvalue(each value) -- ParentSegment
    Child field--RC--splitbyvalue(valuechange)--- ChildSegment
    RC -> Remove Context
    CC - Collapse Context
    Note - i haven't tested ur mapping, so make sure to adjust context in mapping
    Thanks
    Amit Srivastava
    Message was edited by: Amit Srivastava

Maybe you are looking for

  • Battery drain and slow charge issues

    I had my iPhone 4 replaced at an Apple Store 2 days ago, and this afternoon the battery began draining quickly and charging very slowly. It also heats up quickly, any help? Thanks

  • Issue opening BEx query in Query designer

    Hi Expert, I am facing issue while trying to open a query in the BEx query designer. The query designer opens, then i search for the query and double click to open it. The system hangs there and the query never opens up. System details BW 7.3 SP9 Ple

  • Blue print on SD

    I have to create blue prints on different modules. can guru help me in this? I need a copy for reference. vijay [email protected]

  • Put quantity position of sales order not modifiable with delivery created

    Hi experts, Actually, in my sales orders positions it is possible to change the order quantity after I have the delivery created.  (the delivery is not partial) I need change this to make not possible modify the order quantity of sales order when I c

  • How to handle thousands of clients without using Overlapped I/O?

    Is there's a way that allows me to handle thousands of clients without using Overlapped I/O? Based on what I know select() can only handle 64 sockets, and it is not a good idea to increase this limit (by overriding FD_SETSIZE).