Content conversion select default key

Hi,
I'm using PI 7.1 and have a file with a trailer. The trailer is just a single line.
Is it possible not do define a key field, because I'm unable to identify such a field in my document.
Or to have multiply values like + or -.
Regards
Daniel

Hi,
As far as I know you have to define key field, but you might get away without setting one for your trailer by setting your recordset structure correctly, i.e. S,1, L,*, T,1 (where s = header, l = line items and T = trailer). This implies that the last line is always the trailer. But I haven't tried this myself.
-Kenneth

Similar Messages

  • File Content Conversion. Default Value of beginSeparator

    HI All
    I have a scenario where i am using file Content Conversion to create a text file.
    my structure is as following
    MessageTypeName
    FirstElement           1..1         
    SecondElement       1..1
    Data               1..Unbounded
    In the text file i just need the Content of  Data to appear  in each row.
    So i gave the following CCP
    SecondElement.fieldSeparator  = 'nl'
    SecondElement.endSeparator = 'nl'
    But i am getting the first line as a blank line .
    I do not need the first line as a blank line. Can someone suggest how to avoid the default blank first line.
    regards
    Nilesh.

    Hi,
    Just check the below parameter's defined in the below example.
    Below is the example when you have HEADER & ITEM structure.
    FCC is case sensitive, give all the names in FCC same as your Data Type.
    In <b>Recordset Structure</b> = Header,1,Item,*
    Header.fieldFixedLengths = (field lengths) e.g. 1, 4, 7
    Header.fixedLengthTooShortHandling=ignore
    Header.endSeperator='nl'
    Item.fieldFixedLengths = give the item field length as shown above
    Item.endSeparator = 'nl'
    Item.lastFieldsOptional = YES
    Regards,
    Sarvesh
    ****Reward points, if found helpfull.

  • How to select default key in Custom Catalag

    I have created a custom message catalog and it's running well. I have just recently discovered that the default language selection does not work for me.
    For example, I have a key KEY123 with value MSG123 for Italian. If I select Italian, it shows MSG123. But if I select English, it will show KEY123.
    From document, the example shows only Custom Catalog with language set, such as <MessageSet language='it'>, how can I define a default one so that IdM will look at it when it cannot find the key in the preferred language? (I tried <MessageSet> without speficying any language but it doesn't work )

    I do not have any security issue. In fact the login has no password. It just will not automatically choose the connect button in the dialog window that pops up in the finder.
    I have this:
    mount volume "afp://" & serverName & "/" & sharePoint as user name userName
    When this runs I end up with a regular login window wanting a password. I don't have one so a simple hot of the connect button works. How can I make it automatically send a return or enter keystroke. I've tried keystroke return and keystroke enter with no luck.
    Thanks

  • File Content Conversion - Error in keyfield Value

    Hello experts,
    I am doing file content conversion for a file to file scenario. The input file is a csv file which is converted to xml using the file content conversion. The key field of input file is used for implementing conversion.
    While testing the FCC, I noticed that if the keyfield value is wrong for a record in the file, the record is ignored altogether without throwing any errors or warnings. Is there any way to notify if any records have been ignored as a result of incorrect keyfield value??
    Thanks in advance!
    RR

    There seems to be NO way to handle it in FCC.
    File Content Conversion - Key Field Value
    u can think of work arounds by handling it in mapping....
    -santosh.

  • Sender File Adapter content conversion problem

    Hi all,
    is it possible to do content conversion like this:
    Key;Field1;Field2;Field3
    PO00H;0482000000;20061102;PL61
    PO01I;00010;0A720;Material 1;100.000
    PO02D;20061102;100.000;
    PO00H;0482000001;20061102;PL63
    PO01I;00010;0A730;Material 2;40.000
    PO02D;20061102;40.000;
    PO01I;00010;0A740;Material 3;140.000
    PO02D;20061102;30.000;
    PO02D;20061103;110.000;
    convert to
    <?xml version="1.0" encoding="utf-8" ?>
    <MT_PO>
        <DT_PO>
            <DocumentHeader>
                <PONumber>0482000000</PONumber>
                <PODate>20061102</PODate>
                <CompanyCode>PL61</CompanyCode>
            </DocumentHeader>
            <Item>
                <ItemHeader>
                    <ItemNumber>00010</ItemNumber>
                    <MaterialCode>0A720</MaterialCode>
                    <MaterialDescription>Material 1</MaterialDescription>
                    <Quantity>100.000</Quantity>
                </ItemHeader>
                <ItemDetail>
                    <DeliveryDate>20061102</DeliveryDate>
                    <Quantity>100.000</Quantity>
                </ItemDetail>
            </Item>
        </DT_PO>
        <DT_PO>
            <DocumentHeader>
                <PONumber>0482000001</PONumber>
                <PODate>20061102</PODate>
                <CompanyCode>PL63</CompanyCode>
            </DocumentHeader>
            <Item>
                <ItemHeader>
                    <ItemNumber>00010</ItemNumber>
                    <MaterialCode>0A730</MaterialCode>
                    <MaterialDescription>Material 2</MaterialDescription>
                    <Quantity>40.000</Quantity>
                </ItemHeader>
                <ItemDetail>
                    <DeliveryDate>20061102</DeliveryDate>
                    <Quantity>40.000</Quantity>
                </ItemDetail>
            </Item>
            <Item>
                <ItemHeader>
                    <ItemNumber>00010</ItemNumber>
                    <MaterialCode>0A740</MaterialCode>
                    <MaterialDescription>Material 3</MaterialDescription>
                    <Quantity>140.000</Quantity>
                </ItemHeader>
                <ItemDetail>
                    <DeliveryDate>20061102</DeliveryDate>
                    <Quantity>30.000</Quantity>
                </ItemDetail>
                <ItemDetail>
                    <DeliveryDate>20061103</DeliveryDate>
                    <Quantity>110.000</Quantity>
                </ItemDetail>
            </Item>
        </DT_PO>
    </MT_PO>

    Ivan,
    I fear this is not possible.
    You can have
    <?xml version="1.0" encoding="utf-8" ?>
    <MT_PO>
    <DocumentHeader>
                <PONumber>0482000000</PONumber>
                <PODate>20061102</PODate>
                <CompanyCode>PL61</CompanyCode>
    </DocumentHeader>
    <ItemHeader>
                    <ItemNumber>00010</ItemNumber>
                    <MaterialCode>0A720</MaterialCode>
                    <MaterialDescription>Material 1</MaterialDescription>
                    <Quantity>100.000</Quantity>
    </ItemHeader>
    <ItemDetail>
                    <DeliveryDate>20061102</DeliveryDate>
                    <Quantity>100.000</Quantity>
    </ItemDetail>
    </MT_PO>
    Multiple <Item header> and multiple <Item details>
    Do the content conversion like this and then in mapping, convert it to any structure you need.
    Regards,
    JaiShankar

  • Key field from content - Sender file adapter content conversion

    I am reading a source CSV file that has this structure. All rows in the source file are the same structure: line items of a PO. But there will be multiple POs in a single file, identified by the PO number as one column in the file.
    PONum,LineItemNum,Qty,Description
    001,1,34,Carrots
    001,2,17,Apples
    001,3,22,Bananas
    002,1,4,Mangos
    002,2,9,Coconuts
    003,1,44,Grapes
    Goal is to generate 3 messages, one for each PO:
    <po>
         <num>001</num>
         <line_items>
              ... 3 line items for PO # 001 ...
         </line_items>
    </po>
    <po>
         <num>002</num>
         <line_items>
              ... 2 line items for PO # 002 ...
         </line_items>
    </po>
    <po>
         <num>003</num>
         <line_items>
              ... 1 line item for PO # 003 ...
         </line_items>
    </po>
    Is there any way to use the Content Conversion Key Field Name to group the line items into the correct 3 messages? "Key Field Name" expects a static identifier for each type of row; but mine varies by the PO number in the content.
    Or do I need to do this in the mapping? If so, what is the easiest way to split 1 large message of all line items into multiple target messages based on the PO number? (I assume this is better than sending individual line item messages and aggregating them later, as long as the file size is OK.)
    Thanks in advance!
    RBL
    Edited by: Robert Burfoot-Lobo on Apr 8, 2009 11:43 AM

    Hi Robert,
    If ur goal is to split into 3 messages one for each PO, you can go for message split and using graphical mapping you can achieve that.
    Within the message mapping go to the tab Messages.
    Change the occurrence of the target message to 0..unbounded.
    Also this link may help you.
    /people/claus.wallacher/blog/2006/06/29/message-splitting-using-the-graphical-mapping-tool
    Regards,
    Madhu

  • File Content Conversion - Key Field Value

    Hi Experts,
    I am using File to Idoc scenario for my mapping. In the receiver Communication channel, I am using File Content Conversion. My scenario is as follows :
    I have a recordset with Header and Line items with Key Field Indicator as 'H' and 'L'. In some cases, the value for this Key Field is coming in as something other than 'H' and 'L'. I need to throw an exception when this Key Field is not 'H' or 'L'.
    In the 'Content Conversion' tab, my attributes are as:
    Header_Structure.keyFieldValue = 'H' and Line_Structure.keyFieldValue = 'L'. Is there any more attributes that I need to add ?
    Please advise. Thanks a lot.
    Regards,
    Freddy.

    >>multiple key field values in FCC configuration i.e Line_Structure.keyFieldValue = H or L
    AFAIK it is not possible but lets wait for other experts to comment on this...
    >>Can keyFieldInStructure (add, ignore) parameter help me in this case ?
    No. this parameter is only used when you want to include key filed in ur XML structure(add) or not (ignore)...
    Chk this:
    http://help.sap.com/saphelp_nw70ehp1/helpdata/en/2c/181077dd7d6b4ea6a8029b20bf7e55/content.htm

  • Key field in File Content Conversion

    Is Keyfield must be unique in FCC ?

    Hi,
    Check this to get more Clarity abt the Key Field Usage
    Content Conversion ( The Key Field Problem )
    Regards
    Seshagiri

  • Key field values for file content conversion at sender communicationchannel

    Hi all,
    I am working on  scenario File to Idoc.In this scenario at the sender side we configure the file content conversion for .CSV file.
    In the flat file i am having more than one orders, XI will pick the file and creates a separate Idoc for each sales order at r/3.
    We have similar fields "Order Item Number" both header and item.
    If we got '00000' on the Header item then it should create a new idoc at the r/3 side other wise it will create line item.
    Order item number will be 00000 for header but it will differ from order item to item.
    source structure
    Order Header
    Order type
    Sold-to-code
    PO number
    Order item number
    Order date
    AdresName1
    AdresName2
    Street and House number
    Postal Code
    City
    Country Code
    Filler
    Order Item
    Order type
    Sold-to-code
    PO  number
    Order item number
    Order date
    Product code
    Order quantity
    Item text
    Filler
    Now I have some questions....
    I don't have standard filed values to give the key fileds at source structure.
    I need to create the Idoc at r/3 system for each individual record.
    Is it possible to create new idoc with out using the Key filed value?
    If it is possible then how can i proceed with fcc?
    please give me your valuable suggestions
    Best Regards,
    satya
    Edited by: satyatanuku on Mar 3, 2010 1:41 PM
    Edited by: satyatanuku on Mar 3, 2010 1:42 PM
    Edited by: satyatanuku on Mar 3, 2010 1:44 PM

    Hi,
    Just check the Content Conversion Parameters-  Recordset Structure.
    If you have filled in this parameter with
    Header,1,Item,1
    then change it to
    Header,1,Item,3
    Regards
    Chandra

  • Content Conversion without key field value

    Hi all,
    I want to do a content conversion which includes a record structure Header,1,Detail,*
    I dont have any key field value in the header nor in the detail. Can this be achived using FCC or should i go for Java.
    Rgds
    Aditya

    Hi Aditya,
    I think if u having multiple records then one shud hav key fields,
    pls check 4th point in this guide
    https://www.sdn.sap.com/irj/sdn/wiki?path=/display/xi/troubleshooting%2bthe%2bfile%2badapter
    Also check this discussion::File Content Conversion(SenderFileadapter) fields parameters
    Thanks,

  • Sender Adapter - Content Conversion Key Field Query

    Hi,
    I have a flat file of the following structure I am attempting to convert to XML using a file sender adatper:
    H1,H2,H3,H4
    D1,D2,D3,D4,D5,D6
    D1,D2,D3,D4,D5,D6
    D1,D2,D3,D4,D5,D6
    T1,T2,T3,T4
    Within the Content Conversion tab I have a Recordset Structure of:
    Header,1,Detail,*,Trailer,1
    i.e one header record, multiple detail records and one trailer as per the above example.
    It would seem that according to errors generated via Communication Channel Monitoring that this sort of Recordset Structure requires the Key Field Name to be set. I have searched around the forum and looked at the help.sap.com site and I'm struggling to understand what is required here.
    Anyone help ?

    >>It would seem that according to errors generated via Communication Channel Monitoring that this sort of Recordset Structure requires the Key Field Name to be set. I have searched around the forum and looked at the help.sap.com site and I'm struggling to understand what is required here.
    Yes you need to set key field value for your Header, Detail and Trailer
    Example:
    Header.keyFieldValue    H1
    Detail.keyFieldValue     D1
    Trailer.keyFieldValue   T1

  • Content conversion without delimiter and key fields

    I am pretty new to XI, so it has been very challenging till now... (and someway I want to keep it that way) But this problem has kept me awake a couple of nights, so I will unleash it to the XI experts at SDN!
    I have to read a legacy file (customers are ordering stuff) with the following content into XI. I finally found out you can use file content conversion to do the job, but I have only seen scenarios where people can use delimiters or key fields so far. I suppose XI can do this job as good as the others, but the question is how it has to be done! :-s
    Do I have to use key fields? Or can I simply state there will be 1 header line, X order lines, 1 EOF line?
    Sample content:
    100207.310551
    0107299700001
    0108658400001
    0109575600001
    1200276500001
    0109745600001
    9999999999999
    Header line containing the customer (100207) and the ticket number (300551) separated by a dot.
    In this case 5 order lines containing material (8 digits, ex 01072997) and quantity (5 digits, ex 00001)
    Line containing only 9's to indicate the end of the file has been reached.
    Thanks in advance!
    Sven

    Hi Sven,
    This FCC might help u..If your structure like ...
    <?xml version="1.0" encoding="UTF-8" ?>
    <ns0:bestin xmlns:ns0="http://test.com">
    <recordset>
    <header>
    <client>100207</client>
    <ticket>310551</ticket>
    </header>
    <item>
    <material>01072997</material>
    <quantity>00001</quantity>
    </item>
    <item>
    <material>01086584</material>
    <quantity>00001</quantity>
    </item>
    <item>
    <material>01095756</material>
    <quantity>00001</quantity>
    </item>
    <item>
    <material>12002765</material>
    <quantity>00001</quantity>
    </item>
    <item>
    <material>01097456</material>
    <quantity>00001</quantity>
    </item>
    </recordset>
    </ns0:bestin>
    then
    RecordStructure----header,item
    otherwise
    RecordStructure----client,ticket,item
    client.fieldFixedLengths----give length of client
    ticket.fieldFixedLengths----
    item.fieldFixedLengths----
    client.fixedLengthTooShortHandling--Cut
    ticket........same
    item.....
    client.addHeaderLine--0
    ticket........same
    item.....
    recordsetStructureOrder---var
    Cheers!
    Samarjit
    Message was edited by:
            Samarjit Dey

  • File content conversion Receiver with no key fields

    hi all,
              I have a header structure with four fields all varying and also  item structure with varying fields .. how do i go about to solve this .. as the regular Content Conversion uses key fields.. but there are no such key fields here... kindly help in this regard to proceed

    If you dont have a key field, then the only option to read the file and convert it to XML would be in a record row format.
    Here each line will go as one field in the XML. You will have to use some logic in your mapping to extract the right field.
    Ref: /people/sravya.talanki2/blog/2005/08/16/configuring-generic-sender-file-cc-adapter
    but in case your is a receiver File adapter then key fields are not required.
    ref: /people/arpit.seth/blog/2005/06/02/file-receiver-with-content-conversion

  • Supress Column Heading - File Content Conversion in Sender Adapter

    Hi,
    Let me give a more clear picture about my scenario.  I need to convert CSV File to XML output:-
    My source file has column heading and values.  The sample data is mentioned hereunder:-
    PERNR;KID;PNALT;NACHN;NAME2;VORNA
    ;1200;1200;Angus
    I have created a data type as under:-
    DT_LegacyEmployee (Category - Complex Type)
         Employees (Category - Element, Occurence - 1)
              Header (Category - Element, Occurence - 0...1)
                   PERNR_H
                   KID_H
                   PNALT_H
                   NACHN_H
                   NAME2_H
                   VORNA_H
              Employee (Categroy - Element, Type - DT_LegacyEmployee_Row, Occurence - 0...unbounded)
                   PERNR
                   KID
                   PNALT
                   NACHN
                   NAME2
                   VORNA
    The file conversion parameters in the file sender adapter are mentioned hereunder:-
    Document Name - MT_LegacyEmployee
    Document Namespace - http://abc.com/xi
    Recordset Name - Employees
    Rescordset Structure - Header,1,Employee,*
    Recordsets per Message - 1
    Key Field Type - String (Case Sensitive)
    Employee.fieldSeparator - ;
    Employee.endSeparator - 'nl'
    Employee.fieldNames - PERNR,KID,PNALT,NACHN,NAME2,VORNA
    I dont' have a key field value.  How do we remove the header and show only the values in the xml output.  I have searched the forum topics as well checked many blogs related to file content conversion, but nothing helped.  Kindly advice how to fix this issue.  Thanks in advance.
    Regards.
    Praveen

    Hi Praveen,
    Change your File Adapter as below
    Document Name - MT_LegacyEmployee
    Document Namespace - http://abc.com/xi
    Recordset Name - Employees
    Rescordset Structure - Employee,*
    Recordsets per Message - 1
    Key Field Type - String (Case Sensitive)
    Employee.fieldSeparator - ;
    Employee.endSeparator - 'nl'
    Employee.fieldNames - PERNR,KID,PNALT,NACHN,NAME2,VORNA
    There is no need for the Header required in the data type.
    DT_LegacyEmployee (Category - Complex Type)
    Employees (Category - Element, Occurence - 1)
    Employee (Categroy - Element, Type - DT_LegacyEmployee_Row, Occurence - 0...unbounded)
    PERNR
    KID
    PNALT
    NACHN
    NAME2
    VORNA
    Now the trick is in the mapping program
    Lets assume your mapping looks like
    MT_LegacyEmployee ---> MT_TargetEmployee
    - Employees ---> Records
       - Employee ---> Record
         - PERNR  ---> TargetPERNR
         - .. so on
    When you do a mapping from Employee ---> Record apply the following logic.
    (PERNR)--->
                 (TestEquals =) --->(NOT)--->
    (Constant) --->                                (IF)
    (PERNR)                       (IF Without Else) ---> (Record)
                                                   (THEN)
                                (Employee)--->
    When doing this make sure RightClick on PERNR and Select Context ---> Employees.
    By default context would be from Employee and it will give you an error of XSD format. So make sure you are changing the context.

  • Content conversion

    Hi,
    what is the role of different content conversion parameters:
    Doc name
    doc namespace
    dos offset
    recordset name

    Make the following entries for the document:
    &#9679;      Under Document Name, enter the name of the XML document.
    The document name is inserted in the message as the main XML tag. This is mandatory for the mapping.
    &#9679;      Under Document Namespace, enter the namespace of the document.
    The namespace is added to the name of the document. This is mandatory for the mapping.
    &#9679;      Under Document Offset, specify the number of lines that are to be ignored at the beginning of the document.
    This enables you to skip comment lines or column names during processing. If you do not make an entry, the default value is zero lines.
    &#9679;      Under Recordset Name, enter the name of the structure:
    It is included in the XML schema.
    &#9679;      Under Recordset Namespace, enter the namespace of the structure:
    It is appended to the name of the structure.
    &#9679;      Under Recordset Structure, enter the sequence and the number of substructures as follows: <NameA,nA,NameB,nB,...>.
    Therefore, nA=1,2,3,... or * (for a variable, unlimited number, including 0).
    &#9679;      Under Recordset Sequence, select how the start and end of recordsets with a variable number and sequence of structures is to be determined:
    &#9675;       Ascending
    The sequence of the recordset structures is assumed to be unique. A new recordset is started as soon as an earlier structure occurs.
    &#9675;       Variable
    The sequence of the recordset structures is assumed not to be fixed. A new recordset is only started when another structure occurs that is defined with a fixed number. If all structures are defined as variable the system interprets the entire document as a single recordset.
    &#9679;      Under Recordsets per Message, specify the number of recordsets to be grouped together in a message. This entry is optional. The default value is *. In the default setting, all recordsets are included in a message.
    If the number of recordsets in a document is greater than the number specified, then the adapter creates multiple messages from a document. The last message might then contain fewer recordsets than specified.
    If you specify Exactly Once as the quality of service (see below), each of these messages (that is to say, each part of a document from which a message is created) is sent to the Integration Server/PCK exactly once. This is also true if the application is interrupted while creating the messages and restarted again later.
    &#9679;      Key Field Name
    If you specified a variable number of substructures for Recordset Structure, in other words, at least one substructure has the value ‘*’, then the substructures must be identified by the parser from their content. A key field must be set with different constants for the substructures. In this case, you must specify a key field, and the field name must occur in all substructures.
    &#9679;      Specify the Key Field Type to be used to compare the predefined values. This entry is used if the key field name is defined.
    Set the parameters for all the specified recordset structures NameA, NameB, and so on in the following table
    Simple words:
    Doc Name: Mesage type name
    doc namespace : Message type Namespace
    Docoffset: which line number from which the file adapter should pick
    recordsername: root node in your DT
    all these parameters are used by the sende file adpter to built the XML

Maybe you are looking for

  • JMS Message Property

    Hello Experts, we have a JMS to JMS scenario. A third party system sends a message to the JMS Queue (JMS Provider is the J2EE SAP Web AS, XI system). Via JMS Message Selector (configured the JMS Sender Adapter) the right integrationprocess get the me

  • Automatically open pdf with Preview

    I noticed that after upgrading to 10.5, pdf do not automatically open with Preview. I know that in 10.4, I was able to change this in Safari, but this option seems to have vanished in 10.5. Any help?

  • Using sapshcut without SAPLogon System Dialog

    Hello, we're using sapshcut.exe in our Terminal Server enviroment. But when I start a session with sapshcut the SAPLogon with the system selection dialog is opening in the background. Is it possible to suppress this behaviour? I have to mention that

  • Can't use time capsule because it won't backup a "case sensitive drive".  what does this mean?

    Back up fails because the time machine can't back up a "case sensitive" disk.  I have no idea what this means or how to fix it.

  • New User...  please help

    I just bought the iphone 3G and am still working out the logistics. I've read a lot of posts on here where people talk about EDGE but still haven't managed to completely narrow down what it is. Can you fill me in? Also, I know that the phone should b