Problem : IDoc to file Senario, multiple segments in the IDoc.Intresting !!

Hello People,
Just a very good problem, to put your brains work.
The senario is Idoc to File.
Now Suppose the structure of IDoc is in such a way.
segment1 -  fields A, B, C, D --- >> Single
segment2 - fields E,F            --->> This segment can come multiple times.
segment3 - fields G, H          -
>> Single
segment4 - filds I, J, K          -
>> Multiple.
Now the format of the file is Fixed Length.
The record will be inserted Row wise.
Let us assume that the number of segments are.
segment1
segment2
segment2
segment3
segment4
segment4
All segments are at the same level.
Example of file :-
A  B  C  D  E1  F1  G H I1  J1 K1
A  B  C  D  E2  F2  G H I2  J2 K2
So please let me know, what kind of structure should i create in my repository for the Target and also let me know , the File content Conversion part ..
Thanks in Advance.
Harpreet.

hi,
Repeat the row for each segment and in the (i)th iteration of the map it to the (i)th segment from the input. Now in your FCC, it will be like writing a normal fixed length conversion.
For e.g. you target structure will look somewhat like this.
Document
  Recordset
     Record(i)
       FieldA
       FieldB
       FieldC
       FieldD
       FieldE(i)
       FieldF(i)
and so on....
Cheers,
Sarath.
Award if helpful.

Similar Messages

  • How to generate multiple files for each segment in the IDOC

    Hi,
    I have a IDOC with multiple segments, for each segment, a file needs to be generated,
    There is only one target structure. Please let me know as to how do we handle this requirement in XI.
    Regards,
    Younus

    Use multimapping in message mapping. Then map the Idoc node to the Message Type of File.
    Illustration of Multi-Mapping and Message Split using BPM in SAP Exchange Infrastructure
    Regards,
    Prateek

  • Problem : Idoc to File Senario,overriding the segments in Idoc,on condition

    Hello People,
    Idoc to file senario.
    There are fields in the Idoc which i want to populate, if that particular Idoc is going to XI. Can u tell me how can i check this condition .. ???

    you dnt have control fro r/3 to check if the IDOC is reached to XI then XI creates the file then update few thing...
    make sure the IDOC is reached to XI using the port if IDOC is using some port...but if the file is getting places in server using AL11 you can check that....in your condition you can check if file is exist in the target folder thn update .....insead of checking if IDOC sent to XI--XI creating a file...i doubt you have that flexibility...lets wait for other reply what they have to say?

  • IDoc to file senario

    Hi,
    This is an idoc to file senario and in this senario,
    PI receives multiple IDocs  in a day and at end of the day  PI needs to build a file with one header record, one detailed record for each IDoc and one tril record at the end file.
    Could you  please suggest me how can I achive this.
    For better understanding i am providing file structure.
    HDR  RECORD
    DETAILED RECORD1
    DETAILED RECORD2
    DETAILED RECORD3
    DETAILED RECORD4
    TRIL RECORD with total idocs proccessed.
    Thanks in advance...
    Sreeni

    Hi,
    PI receives multiple IDocs in a day and at end of the day PI needs to build a file with one header record, one detailed record for each IDoc and one tril record at the end file.
    Can u please give more details on this...
    If the IDOC's are coming multiple times in a day say 100 times and each IDOC will have multiple IDOC's then what do u want...
    I think u have to combile multiple IDOC's in source to a single IDOC and send at a time.. If not PI has to store these IDOC's and send them at the end of the day...
    Please give exactly what u want to achieve...
    Babu

  • IDOC to File Senario - Mapin error

    Hi,
       I am trying IDOC to File Senario using XI. I am stuck while message mapping.
    I need to map IDOC : MATMAS.MATMAS01 (Material numbaer and Matrial description ) to File.
    I have imported IDOC : MATMAS.MATMAS01 in IR.
    Created target Data type/ message type/ message interface:
    Target Data type structutre:
    DT_Matdesc    Complex type (Node)
    Matno             Element                     0...1
    Matdesc          Element                     0...1
    Using graphical message mapping I am trying to map the the Fields from Idoc structure to Target structure, But I am geting Internal error. Can anyone help me out.
    Waiting for the reply.
    Thanks in advance.
    Shweta.

    Hi,
        I am not able to activate Message Mapping. On activation it gives below error.
    Error:
    Internal error while checking object Message Mapping MM_Matdesc1 | urn:namespace:santosh (TRAINING, VERSION 1.1 of ssingh); see details
    Details Error:
    Internal error while checking object Message Mapping
    MM_Matdesc1 | urn:namespace:santosh (TRAINING, VERSION
    1.1 of ssingh); see details (CHECK_EXCEPTION)
    Internal error while checking object Message Mapping
    MM_Matdesc1 | urn:namespace:santosh (TRAINING, VERSION
    1.1 of ssingh); see details (CHECK_EXCEPTION)
    Compilation process error : CreateProcess: null\bin\javac
    -J-Xmx512m @D:/usr/sap/RXI/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Map544be4d0b04a11dbb43e005056b72d1d/O1170151922621.txt
    @D:/usr/sap/RXI/DVEBMGS00/j2ee/cluster/server0/./temp/classpath_resolver/Map544be4d0b04a11dbb43e005056b72d1d/S1170151922621.txt
    error=2
    I am not able to trace out the error.

  • What is max no, min no asked when attaching a segment with the idoc in we30

    hi,
    when creating a new idoc i am attaching a segment with the new idoc its asking for Maximum number, minimum number . what is this maximum and minimum number.

    hi preetha,
    Segm.type       Z1xxxxH    
    mandaotry segment Y                           
    Minimum number  1          
    Maximum number  1          
    Parent segment             
    Hier.level      1          
    min and max are 1 for header denoted as XXXXH
    this is one segment that is assigned to the idoc.
    in defining idoc u need to assign the number of header and child segments..
    a child segment will be like this                                   
    segment.type       ZXXXXD             
    minimum number  1                   
    maximum number  6                   
    parent segment  ZxxxxH             
    hier.level      2                   
    zxxxd is the child segment with 6 entry levels
    this tells u the maximum number for the child level              
    means more than 6 are not to be see if u open the idoc in we19.
    all in
    this idoc has 1 parent segment (one entry)
                  1 child segment  (6 entries)
    hope this helps
    regards,
    Vijay

  • IDoc type could not be determined for the IDoc in F110

    Dear All,
    The below mentioned error is encountered by us in F110.We have check all the setiing  and not able to find the solution for this error.
    Now our heads has gone for a toss....can anyone kindly suggest what and where we have missed out.
    The system is not creating the IDOC file.....
    IDoc type could not be determined for the IDoc
    Message no. B1090
    Diagnosis
    The IDoc passed to the ALE layer could not be processed. The specifications passed in the control record were not correct.
    The basic IDoc type (field EDIDC-IDOCTP on the outbound side or EDI_DC-IDOCTYP on the inbound side)has not been specified for this IDoc.
    The attempt to read the basic IDoc type from table EDIDO also failed. No table entry was found for IDoc type  from field DOCTYP.
    Procedure
    Possible error sources:
    - The calling program did not provide values for the fields specified above correctly. Make a note of the transaction in which this error occurred and consult your ALE administrator.
    - The IDoc type  is not known in your system and must be maintained.
    Kindly do the needful.
    Regards

    If you want to create IDocs from the proposal run, outbound parameters (we20) with the 'Test' flag are required in addition.
    see OSS note 504230 : Message EUPEXR forms the logical unit around the individual payment messages (PAYEXT IDocs). The E1IDRD1 segments contain the IDoc numbers of the payment messages in field DOCNUM. Segment E1IDRS1 contains check sums (total of all amounts, account numbers, bank numbers, number of payment messages). This information is provided for the EDI subsystem. Set up EUPEXR In Transaction WE20 for the partner profile for the house bank, create the outbound parameters for message type EUPEXR with IDoc type IDCREF01. If you want to create IDocs from the proposal run, outbound parameters with the 'Test' flag are required in addition.

  • IDoc type could not be determined for the IDoc

    I am trying to Post the payment run through the transaction F110.
    In the payment run log i get the following message:
    "IDoc type could not be determined for the IDoc"
    But in fact the IDoc is generated and it is displayed in We05.
    I have configured the Message type PAYEXT-PEXR2002 and EUPEXR-IDCREF01 both for the partner.
    Has anybody Idea about why this error is coming and how i can resolve this?
    This is important because in Payment run log, they need to know the IDoc number generated for that run, else it may become difficult for user to identify which IDoc was created for a particular payment run.
    Would appreciate if anyone can please help on the same.
    Thanks & Regards,
    Narayanan

    Hi,
    If you are paying the payment through F110, if the payment exceeds the limit what you are spefied in available amounts in FI12 screen. First Please check this screen.
    still if you are having any problem
    Check in the below path:
    IMG- Financial Accounting (New) - Accounts Receivable and Accounts Payable - Business Transactions - Release for Payment - 1. Create Workflow Variant for Release for Payment
    2. Assign Release Approval Procedure for Release for Payment
    3. Define Users with Authorization to Payment Release
    Thanks
    Chandra

  • Problem while sending IDOC to File Senario

    Hi Experts
        I am having problem while sending the Idoc from SAP R/3 to File
       I have done all the setting in SAP as well in XI but while pushing IDOC
       I am getting error in the transaction sm58 in SAP R/3
      " <b>The service for the client 300(My SAP R/3 client) is not present in Integration
      Directory</b>"
    I can any one explain me what to done on this....all the connections are fine
    Waiting for Response
    Adv points and thanx
    Rakesh

    Reason and Prerequisites
    You send IDocs from system ABC to the exchange infrastructure (XI) of system XIZ, and error messages are issued in system ABC (Transaction SM58) for the IDOC_INBOUND_ASYNCHRONOUS function module.
    This note proposes solutions for the following error messages:
    a) No service for system SAPABC client 123 in the integration directory
    b) Transaction IDX1: Port SAPABC, client 123, RFC destination
    c) ::000
    d) NO_EXEC_PERMISSION: "USER" "Business_System"
    e) IDoc adapter inbound: Error error ...
    Solution
    a) Error message: No service for system SAPABC client 123 in the integration directory
    Solution:
    You send IDocs from system ABC to XI. In the control record of the IDoc, the SNDPOR field contains the value "SAPABC". The client of the sending system is determined by the MANDT field of the control record. The system ID and client are then used to determine a service without party of the type (business-system/business-service):
    Business system
    Activities in the System Landscape Directory (SLD)(Create technical system):
    Create a technical system for system ABC in the SLD, and create the client for this. Do not forget to assign an "ALE logical system" (for example, "ABCCLNT123") to this technical system.
    SLD (Business system):
    You can now explicitly assign a business system to this client.
    For more details, refer to the SLD documentation.
    Activities in system ABC (self-registration in the SLD):
    Alternatively, you can register the system in the SLD in system ABC with Transaction RZ70. You will find detailed information about the SLD registration of systems on the SAP Service Marketplace for the "Exchange Infrastructure" in the document "Exchange_Installation_Guide.pdf".
    In system ABC, you can check your configuration with TransactionSLDCHECK.
    Activities in Integration Directory (import business system from SLD):
    You will find the business systems under Services Without Party in the Integration Services. In the Service menu, you will find the system identifiers, the client, and the corresponding ALE logical system under "Objects"->"Adapter-specific identifiers".
    Use the Import/Update button to copy the data from the SLD, to create business systems, or to update their identifiers.
    Business service
    Activities in the Integration Builder directory:
    You want to create a service without party that is not part of your system infrastructure and is therefore not maintained in the SLD.
    In the Integration Builder directory, you will find the "Business-Services" under Services Without Party. In the Service menu, you will find the system identifiers, the client, and the corresponding ALE logical system under "Objects"->"Adapter-specific identifiers".
    Activate the change list in Integration Directory.
    In system ABC, you can restart the incorrect entry from Transaction SM58 .
    b) Error message: Transaction IDX1: Port SAPABC, client 123, RFC destination
    Solution:
    The Integration Server tries to load the IDoc metadata from the sending system. The IDoc schemas from the Integration Repository cannot be used because they are release-dependent.
    The sending system is determined by the value of the "SNDPOR" field from the IDoc control record (for example, "SAPABC").
    Activities in the central XI system:
    In Transaction IDX1, you can assign an RFC destination to the sending system (for example, "SAPABC"). This must be created beforehand in Transaction SM59.
    Note that the IDoc metadata is cross-client data. In Transaction IDX1, only one entry must be maintained for each system. Only the lowest client is used by the runtime for Idoc metadata retrieval with RFC.
    Ensure that only SAPABC and not "SAPABC_123" is entered in the port name.
    c) Error message: "::000"
    Solution:
    This error occurs if the central XI system tries to load the IDoc metadata from the sending system by RFC.
    There may be several different reasons for the failure of the metadata import, the error is not transferred in full by tRFC completely, and this results in the error message above.
    User cannot log onto sending system
    User/password/client is not correct or the user is logged due to too many failed logons.
    Activities in sender system ABC:
    Transaction SM21 contains entries for failed logons.
    Activities in the central XI system:
    Determine the sending port from the IDoc control record of the IDoc. If the ID of the sending system has the value "ABC", the value of the sending port is "SAPABC". You will find the RFC destination used for the "SAPABC" sending port with the lowest client in Transaction IDX1. In Transaction SM59, you will find the RFC destination containing the maintained logon data .
    User does not have the required authorizations
    Activities in the sender system ABC:
    In Transaction SM21, you will find entries relating to authorization problems and more exact details.
    Contact your system administrator and, if necessary, assign the user the required roles in user administration.
    IDoctyp/Cimtyp cannot be loaded
    Activities in sender system ABC:
    In the sender system, you can check your IDoc types in Transaction WE30 (IDoc type editor)  Take note not only of the errors, but also of the warnings.
    The most common errors are:
    - IDoc type or segments not released
    - Segments that no longer exist are listed in the IDoc type
    - Data elements that do not exist in the DDIC are assigned to fields
      in the segment.
    Contact your system administrator and correct these errors in the IDoc type.
    d) Error message: NO_EXEC_PERMISSION: "User" "Business_System"
    Solution:
    You created a list of users in the directory who are authorized to use the "Business_System". The user in the error message is not on the list.
    Alternatively, the same error is used if you have created a sender agreement with a channel of the IDoc type for the "Business_System" and the interface used. The user in the error message is not contained in the list of all authorized users defined there.
    e) Error message: IDoc adapter inbound: Error error
    Solution:
    You send IDocs to the central XI system, where they are received by the IDoc adapter. The IDocs are converted into IDoc XML, and a corresponding XI message is generated and transferred to the XI Runtime Engine. The Engine tries to read its own business system from the "Exchange Profile". If the Exchange Profile is currently unavailable, the message is not processed and it is returned to the sending system with an error message.
    Regard's
    Prabhakar.....

  • How to create multiple segments on the target structure of an IDOC

    Hi All
       I am working on the Shipment Confirmation Interface( Message Type SHPCON ) which is FILE to IDOC Scenario. I have a segment called E1EDL18 which occurs only once on the target side of the idoc. Now I have to created multiple E1EDl18 segments for the Qualifiers ORI, PGI and PCK. I treid to send a constant ORI,PGI,PCK and then used an user defined function which splits the constant at COMMA and then I am assigning to the target field QUALF. In the display queue for QUALF I see three values with context but still only one E1EDL!* segment is created. Please let me know how to create multiple E1EDl18 segments for three qualifiers.
    Thanks
    Naga

    In message Mapping, just right click on the segment and click on duplicate subtree. now it will create you another segment with same name and fields in it..
    you can hard code the Qual, or you can map the required source field into it.

  • Split file into multiple Instance of an IDoc .

    My file (only one file) in the file system contains multiple entities(lets say sales order).Now using File adapter I want to transfer this file into XI and want XI to create multiple instance of an IDoc(for each sales order) and send them to the target system one by one.
    Alternatively can I split the file into multiple entities(sales order) in the file adapter (using dispatcher for e.g) and send multiple message to the configured XI automatically.
    Is any of the alternative possible in XI20.
    Any responce would be highly appreciated.
    Regards,
    Bikky.

    Hi,
    You can get the file adapter to split the file without the need for a dispatcher user exit.  The config goes a little like this:
    mode=FILE2XMBWITHSTRUCTURECONVERSION
    xml.recordsetStructure=SALES_ORDER,1
    xml.recordsetsPerMessage=1
    This last parameter ensures each sales order is posted to the integration engine as a separate message.  Therefore a separate Idoc is created for each.
    Hope this helps.
    Jason

  • Each line of a file to a single Idoc (one file to multiple IDoc)?

    Hi Community,
    I have a flat file with many lines. Each of these lines has the same structure and has to fill a separate IDoc. How can I configure XI that it creates for each line a separate IDoc?
    I already found a blog to such a topic: File to Multiple IDocs (XSLT Mapping)
    But thatu2019s not what I am looking for (or I do not get the Point).
    I also tried to set u201CRecords per Messageu201D to 1. But that is not working to. :/
    Maybe one of you guys has an idea?
    Thanks in advance,
    Udo

    Hi Udo,
    For instance if  file structure is as follows:
    <File>
    <Header>
    </Header>
    <Item>
    </Item>
    <Item>
    </Item>
    </File>
    Now if u want to genarate a new Idoc for each n every <Item> in the file. The Header Information is to be repeated for each IDOC as well.
    Then allu need to do is  import the idoc in XI, then take the idoc xsd and change the occurrence o..unbound and then create the external definition.
    Look into this blog.
    The specified item was not found.
    Now use the external definition in your mapping instead of using the original IDOC. In your mapping map the item to IDOC, and for header data you have to use the useOneAsMany function.
    Reward if found useful
    Regards,
    Vinod.

  • Problem with .psd file includes multiple files.

    I'm trying to open a psd file. That file has multiple images in it. When I open the file all the images are in layers. Problem is I can only see first page in layers and even if I more layers around I can't get anything expect the first original page to show up. any advise?

    Show a screenshot of the layers palette and the document window and provide more info about your system and how the file was created in teh first place.
    Mylenium

  • Hi experts- RFC look up in IDoc to File Senario

    Hi,
    I have req with Idoc to file (delivery Idoc).
    But i need to get user name of sender(r/3) into file which is not available in idoc type.
    I think we can do through <b>RFC lookup</b> functonality.
    Can u tell me <b>exact procedure and code</b> for this?

    Hi,
    Check some links on Look ups.
    /people/siva.maranani/blog/2005/08/23/lookup146s-in-xi-made-simpler
    Look ups.
    /people/sravya.talanki2/blog/2005/12/21/use-this-crazy-piece-for-any-rfc-mapping-lookups
    /people/francesco.bersani/blog/2007/03/05/data-lookup-optimized
    /people/siva.maranani/blog/2005/08/23/lookup146s-in-xi-made-simpler
    /people/morten.wittrock/blog/2006/03/30/wrapping-your-mapping-lookup-api-code-in-easy-to-use-java-classes
    /people/bhavesh.kantilal/blog/2006/07/25/triggering-xi-alerts-from-a-user-defined-function
    Use this crazy piece for any RFC Mapping Lookups!
    /people/sravya.talanki2/blog/2005/12/21/use-this-crazy-piece-for-any-rfc-mapping-lookups
    SAP XI Lookup API
    /people/alessandro.guarneri/blog/2006/03/27/sap-xi-lookup-api-the-killer
    Lookup’s in XI made simpler
    /people/siva.maranani/blog/2005/08/23/lookup146s-in-xi-made-simpler
    Lookup - /people/alessandro.guarneri/blog/2006/03/27/sap-xi-lookup-api-the-killer
    DB lookup - /people/siva.maranani/blog/2005/08/23/lookup146s-in-xi-made-simpler
    SOAP Lookup - /people/bhavesh.kantilal/blog/2006/11/20/webservice-calls-from-a-user-defined-function
    http://help.sap.com/saphelp_nw04/helpdata/en/cf/406642ea59c753e10000000a1550b0
    Lookup's in XI made simpler - /people/siva.maranani/blog/2005/08/23/lookup146s-in-xi-made-simpler
    How to check JDBC SQL Query Syntax and verify the query results inside a User Defined Function of the Lookup API -
    http://help.sap.com/saphelp_nw04/helpdata/en/2e/96fd3f2d14e869e10000000a155106/content.htm
    /people/prasad.illapani/blog/2006/10/25/how-to-check-jdbc-sql-query-syntax-and-verify-the-query-results-inside-a-user-defined-function-of-the-lookup-api
    Lookups - /people/morten.wittrock/blog/2006/03/30/wrapping-your-mapping-lookup-api-code-in-easy-to-use-java-classes
    Lookups - /people/alessandro.guarneri/blog/2006/03/27/sap-xi-lookup-api-the-killer
    /people/siva.maranani/blog/2005/08/23/lookup146s-in-xi-made-simpler
    http://help.sap.com/saphelp_nw04/helpdata/en/cf/406642ea59c753e10000000a1550b0/content.htm
    /people/sap.user72/blog/2005/12/06/optimizing-lookups-in-xi
    Lookups with XSLT - https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/8e7daa90-0201-0010-9499-cd347ffbbf72
    /people/sravya.talanki2/blog
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/05a3d62e-0a01-0010-14bc-adc8efd4ee14
    How we have to create the lookups?
    Check this weblogs with some screenshots on how to achieve this:
    /people/siva.maranani/blog/2005/08/23/lookup146s-in-xi-made-simpler
    /people/sravya.talanki2/blog/2005/12/21/use-this-crazy-piece-for-any-rfc-mapping-lookups
    /people/alessandro.guarneri/blog/2006/03/27/sap-xi-lookup-api-the-killer
    /people/sap.user72/blog/2005/12/06/optimizing-lookups-in-xi
    /people/morten.wittrock/blog/2006/03/30/wrapping-your-mapping-lookup-api-code-in-easy-to-use-java-classes
    Regards,
    Phani
    Rewar points if Helpful

  • Problems with Sent mail and multiple accounts on the same server

    I have 2 different email accounts that are on the same server. Regardless of the account from which I send the email, all of the sent messages end up in the same sent folder. Is there a way to force the sent messages to go into their correct Sent folder?

    In the Finder, go to ~/Library/Mail/. With that folder open, do Edit > Select All (⌘A), then Edit > Copy (⌘C), and paste it in your reply to this post, to let me see the names of the files and folders present at the root level of the Mail folder.
    Before actually posting that information, you may edit it so that the file/folder names do not reveal any details you wish to keep private, e.g. you may replace any real username with "username" to hide your real email address if you wish; similarly, you may disguise any domain names you don't want to be revealed. Try to be consistent in how you disguise those details, though, as we may need to refer to them in subsequent posts.
    Now, go to ~/Library/Mail/Mailboxes/. With that folder open, repeat the process to let me see the names of the files and folders it contains. Again, you may disguise any mailbox names you wish to keep private. Be careful to not alter any suffixes, though.
    Finally, for the two accounts involved in the problem, locate the account folders within ~/Library/Mail/ -- their name begins with the account type (POP, IMAP, Mac), followed by the account username and the incoming mail server. For each account folder, repeat the process to let me see the names of the files and folders it contains.
    Note: For those not familiarized with the ~/ notation, it refers to the user's home folder. You can easily locate any of the folders referred to in this post by copying the file path here, doing Go > Go to Folder in the Finder, and pasting the file path there.

Maybe you are looking for

  • Final Cut loading and running extremely slow...

    Hi, I posted about this a few days ago but in my usual panic (work to do!) I didn't make it clear, basically, here's the problem... I recently had problems with FCP and generally all apps on my machine, when they loaded there was a slight pause when

  • Counting words in a textArea

    Help !! I am trying to count the number of words contained in a text area - Is it possible to do this ? I am new to Java and I'm stuck because I only know how to write programs that use FileReader to count the number of words in a file. Is it possibl

  • Will my tv (sharp aquos lc-32px5x) work with apple tv?

    I'm wondering if my tv will work for apple tv so I can stream my iPad. Thanks for the help. (I don't think it's hd, but it has hdmi cable inputs)

  • Personal domain misery

    How can I get rid of the personal domain that is seen _in iWeb_ at publish settings page beside my MobileMe account. MoblieMe account: (www.attilarieger.com) On my MobileMe settings page (online) there is no personal domain set before - as seen, so I

  • Unable to create  previous emloyement tax details through IT delarations

    Hi , I am facing an issue while creating previous employment  tax details in ESS . Once details are filled in and I try to submit it , it displays an error " Only one record should exist from Jan 1800 -  Dec 9999 " The time constraint of the infotype