Sender file adapter dropping last column during content conversion

I am trying to process a flat file with pipe delimited data, but when the last column of the file is empty the file adapter ignores the column, causing issues with the subsequent mapping program.  For example, if the file contains the following data..
1||three|
... the converted content produced is...
   <column1>1<column1>
   <column2/>
   <column3>three</column3>
My mapping is expecting that <column4/> also be delivered in order to function properly.  The fields are all defined in record.fieldNames, and if there is any data present following the third pipe it is assigned correctly to the column4 element.  I have also experimented with setting missingLastFields to "add", and tried explicitly specifying endFieldSeparator to 'nl' with no success.
Is there anyway to control this behavior in the communication channel, or is my only option to to account for it within the mapping by using mapWithDefault function for every field that appears at the end of a record?

Nataliya,
Ensuring that the element is populated during the mapping appears to be the only way to account for this.  Therefore, whenever mapping the last column of a record set, I just made sure to use the MapWithDefault function in case the last field of the record is empty.  It's a little extra manual effort, but it appears to be working fine so far.  I was hoping for a better answer myself.

Similar Messages

  • Sender File Adapter Ignore Last Line

    Hi All,
    Like in Sender File Adapter configuration like we have Document Offset to specify the number of starting lines to be ignored,
    Like the same way can we ignore the last line of a text file .
    Regards,
    Rahul

    Rahul,
    ><i>I somehow wait for your answer,</i>
    Is that a compliment
    I guess there is no standard way to ignore the last line . Like you pointed out, read the line and ignore it in the mapping!
    ><i>btw ..
    suppose in a flat file..
    i just want to read the 4th line??
    is there any way i can do this?</i>
    Again no straight forward way to do this. You can use KeyFields etc , but there is no direct way to do this and every solution would depend on the exact requirements!
    Regards
    Bhavesh
    PS Are the alerts issues resolved?

  • Sender file adapter with content conversion  Simple XML

    Hi experts,
    I'm trying to parametrize my sender file adapter content conversion.
    I'm receiving a text file with one single line like:
    AA1;AA2; AA3;
    and I want to convert it to an XML like
    <MT_A1>
    <field1>AA1</field1>
    <field2>AA2</field2>
    <field3>AA3</field3>
    </MT_A1>
    Actually I know how to do somenthing like
    <MT_A1>
        <LINE>
              <field1>AA1</field1>
              <field2>AA2</field2>
              <field3>AA3</field3>
         <LINE>
    </MT_A1>
    What I want is remove the <LINE> tag from my XML.
    Regards
    Gonzalo
    Edited by: Gonzalo del Castillo on Nov 28, 2008 2:18 PM

    Hi
    Use this help document for receiver FCC
    http://help.sap.com/saphelp_nw04/helpdata/en/d2/bab440c97f3716e10000000a155106/content.htm
    Content Conversion (Pattern/Random content in input file)
    File conversion text to xml (Few Last Post)

  • Sender File Adapter - Content Conversion

    HI Friends,
    I got a scenario where I need to convert the File to XML document through Sender file adapter..
    My file looks like below.
    BATCH1234........
    12DASER123142JMM
    237DSAFDLKC839890
    45SDFLASJ90011
    BATCH3455...
    132FGAR
    SD21352525
    BATCH998898...
    123145DSRTW
    12FSTS
    So there is a Header and Body for each record set..
    My XML Structure is as follows.
    <TimeStructure>
      <TimeRecord>
         <ControlRec>
             <Field1>BATCH </Field1>   
             <Field2> ...</Field2>
         </ControlRec>
         <DataRec>
             <F1> ...... </F1>
             <F2> ...... </F2>
         </DataRec>
      </TimeRecord>
      <TimeRecord>
         <ControlRec>
             <Field1> BATCH  </Field1>   
             <Field2> ADFAS  </Field2>
         </ControlRec>
         <DataRec>
             <F1> ...... </F1>
             <F2> ...... </F2>
         </DataRec>
       </TimeRecord>
    </TimeStructure>
    The blog <a href="/people/shabarish.vijayakumar/blog/2006/02/27/content-conversion-the-key-field-problem:///people/shabarish.vijayakumar/blog/2006/02/27/content-conversion-the-key-field-problem
    is somewhat relevant to my requirement.
    But the problem is I have the keyfield "BATCH" for my header file but don't have any <b>key field in the data record</b> of the input file.
    Please help me out how to mention the configuration parameters.
    Regards,
    Kumar

    Hi,
    If you don't have constant key value for your detail records, then you can not directly get the required xml.
    So in this case, you can read all the records in a common Row model, i.e each record will be considered as a one row with all the values, and then split this row with Substring or java functions in the mapping.
    Even you can do this in the Adapter module .
    If you have key value for each record to identify then you can try with content conversion.
    Regards,
    Moorthy

  • File Content Conversion Problem: Sender File Adapter

    Hi All,
    In Sender File Adapter, how to spilt the single line into different lines using + as a separator. Plz see below my source file.
    #SMESS=IV01:672633SAP:676968:::NL51:02:11+
    COPS=678713:676968:070416:IV01'3:11IVFR=678713:PDA and'IND 2'9206 AD'Dtn'INIVDA=070416IVNR=6264008195:676968add1
    #EMESS=0+
    In above txt file there are 3 lines.
    1st line starts with #SMESS
    2nd line starts with COPS 
    3rd line starts with #EMESS.
    In 2nd line, if u observe there are 3 lines separating by +. My task is, I have to spilt the 2nd line into 3 lines using + separator.
    I already used the xx.endSeparator as '+' to spilt the line but it is not working....
    Could anyone help me how to do this. This is very urgent
    Thnx,
    Kumar.

    Hi Shankar,
    1) My Expected XML Structure:
      <?xml version="1.0" encoding="utf-8" ?>
    - <ns:MT_IV01 xmlns:ns="http://ms.com/dev/ms">
    - <Recordset>
    - <DT_SMESS>
      <D_9901>IV01</D_9901>
      <D_9902>672633SAP</D_9902>
      <D_9903>676968</D_9903>
      <D_9904 />
      <D_9905 />
      <D_9906>NL51</D_9906>
      <D_9907>02</D_9907>
      <D_9908>11</D_9908>
      </DT_SMESS>
    - <DT_COPS_2>
      <D_C022>678713</D_C022>
      <D_C023>676968</D_C023>
      <D_C008>070416</D_C008>
      <D_C111>IV01'3</D_C111>
      <D_H559>11</D_H559>
      </DT_COPS_2>
    - <DT_IVFR_2>
      <D_C024>678714</D_C024>
      <D_D333>PDA and'IND 2'9206 AD'Dtn'IN+</D_D333>
      </DT_IVFR_2>
    - <DT_IVDA_2>
      <D_D365>070416</D_D365>
      </DT_IVDA_2>
    - <DT_IVNR_2>
      <D_D189>6264008195</D_D189>
      <D_H364>676968add1</D_H364>
      </DT_IVNR_2>
    - <DT_EMESS>
      <D_D9901_1>0</D_D9901_1>
      </DT_EMESS>
      </Recordset>
      </ns:MT_IV01>
    2) I am not getting any error even if I use key Fields or Not becoz in the RecordSet Structure I mentioned DataType, 1 instead of DataType, *.
    3) FCC Parameters:
    Document Name: MT_IV01
    Document Namespace: http://ms.com/dev/ms
    Recordset Structure: DT_SMESS,1,DT_COPS_2,1,DT_IVFR_2,1,DT_IVDA_2,1,DT_IVNR_2,1,DT_EMESS,1
    Recordset Sequence: Ascending
    Key Field-type : String (Case-sensitive)
    4) Error:
    Conversion of file content to XML failed at position 0: java.lang.Exception: ERROR converting document line no. 2 according to structure 'DT_COPS_2':java.lang.Exception: ERROR in configuration: more elements in file csv structure than field names specified!

  • Sender File Adapter - File Content Conversion

    Hello,
    i do have a problem with the file content conversion at the sender file adapter.
    I have configured the file content conversion with key field defined
    keyfield: key
    recordsetstructure is set as head,1,item,*
    head.fieldSeparator  | 
    head.beginSeparator  |
    head.endSeparator  |
    head.keyFieldValue  H
    head.fieldNames  key,....
    item.fieldSeparator  | 
    item.beginSeparator  |
    item.endSeparator  |
    item.keyFieldValue I
    item.fieldNames  key,....
    When i run it like this it will not read since it has a problem to identify the key fields.
    When ever i change the whole logic to be not based on fieldseparator but on fixed length, everything is working perfectly fine.
    but this unfortuantly doesn't help as i have no fixed structure for the rest of the fields.
    also when i change the recordsetstructure to head,1,item,1 my file is also processed correctly, of corse only for the first line, it at least tells me that the file structure is correctly defined.
    Can anyone help why the identification for the keyfields doesn't work with field names and separator but in the same set up with fixed lengths ?
    thanks a lot

    Hello All,
    thanks for the helpful answers.
    So i tried Jayan tip and removed the begin Separter.
    Unfortuantly my file is really looking like this |H|...|...| for the header record
    and for the item record |I|...|...| ( this was an" I" like in Item ...
    In my opinion this means i really do have a begin seperator which is the same like the field separator.
    When i removed it from both the file and the config it started to work.
    So i wrote an java function which will trow away the first digit in this case and integrated it in my szenario.
    So that when this file is read there is no | as a begin flag anymore.
    And the whole thing starts to work, this sounds more like a bug then a feature but anyway i am happy.
    so thanks a lot
    Tina

  • File Content Conversion - Sender File Adapter - Record Delimeter ~

    The inbound file has file has ~ as record delimeter. I am using the FCC at sender file adapter to covert this file into XML. Somehow, the file adapter is not able to interpret "~" as my record delimeter even thoough I specified "record.endSeparator = ~" in FCC.
    Would someone help me with a solution?

    Raju,
    You can also try to use the '0x7E' as endSeperator condition.
    I am not sure if the HTML tag will work but this should do the trick. This should be the HEX corresponding entry
    char       description        hex               char code       html
    " ~ "         "Tilde"               "0x7e"         "~"                      &!tilde; (without !)
    greets.
    in adition to this see SAP help
    http://help.sap.com/saphelp_nwpi71/helpdata/en/44/655453b48a4ddfe10000000a1553f7/frameset.htm
    Special Characters in Strings for Separators
    In all strings for separators (NameA.fieldSeparator, NameA.beginSeparator, NameA.endSeparator), you can specify non-printable ASCII characters. These characters can each be inserted individually in the strings in the form ´0xHH´ (including the quotation marks), where HH represents the character encoded as a hexadecimal value.
    Please also ensure that the "recordSet Structure" also need to be configured Correctly
    for example:
    Header,1,Detail,*
    Header.fieldSeperator  --> %parameter%
    Detail.fieldSeperator --> %parameter%
    Detail.endSeparator --> '0x7e'
    Greets

  • File content Conversion Issuse for a Sender File Adapter

    Hi All ,
                 I am working for a Migration project , so my  File structure will be as follows
    <HEADER>
          <DATA1>
         <DATA2>
         <DATA3>
       <HEADER>
    <ITEM>
         <ITEM1>
         <ITEM2>
         <ITEM3>
    <ITEM>
    WHERE i do have flat file will be as follows
    10001,20081902,US
    10,soda,1
    30,soda,4
    40,soda,5
    10002,20081902,US
    10,steel,1
    30,steel,4
    40,steel,5
    how to pick this file using FCC from sendere flat file adapter without keyfields , and i can use fixed length also

    Sridhar,
    You can use a work around like this. Create a generic Data Type something like below.
    <Message Type>
       <Recordset> - root node
          <ROW>  - element with occurence 0..unbounded
    Now create an outbound MI with the above MT, in FCC in sender file adapter, give Recordset structure as ROW, *
    This way , you will read the entire file inside XI as an XML like below
    <ROW> header record </ROW>
    <ROW> item record 1 </ROW>
    <ROW> item record 2 </ROW>
    <ROW>....</ROW>
    In XI , since your header row & item rows are fixed length, now, you can use that in a UDF in your message mapping , or parse the xml using DOM parser in Java mapping, you should be good. Hope this helps.
    ~Saravana

  • Sender File Adapter with file conversion

    Hi guys,
    I’m using a Sender File adapter with file conversion. The message to be processed has a structure with fixed lengths and in your content are some values that needs to be ignored.
    An example:
    value1  <b>value2</b>  value3…
    I want to ignore <b>value 2</b> but I can’t find a parameter for that! Do I need to define dummy fields on my data type and ignore those fields during mapping? Or there is a specific parameter for that?
    Thanks in advance,
    Ricardo.

    hi,
    there always is another way:)
    you can import the whole line to one field
    and cut it inside the adapter module
    (then you can define start and stop of the substring that you need to use)
    but of course it's not standard even though it's quite easy to achieve in java
    Regards,
    michal
    <a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a>

  • Sender File Adapter - FTP

    XI is picking up While File is being written in the Specified Directory. XI uses File adapter ( FTP transport Protocal ) . If file being written is very large ( It may take couple of minutes ) XI picks it up in parts for every 1 minute ( It was configured like that ) and try to send over Which is not correct. Is there any workaround to this issue. In PI 7.0, for NFS file system,  SAP included modification check but it doesn't work for ftp file adpater. Basically XI should wait to pickup file until the file written completely in the Source System.
    Anyone have any Idea how to overcome this issue ?

    Hi,
    You could use the Advanced mode checkbox in the file adapter, to specify the time the adapter has to wait, before it checks if the file has been modified.
    In case, the file has been modified, after the adapter read the file, the data in the adapter cache is discarded and the updated/modified file is taken from the source path specified.
    This would work, only if you have not specified "recordsets per message" during content conversion.
    Regards,
    Smitha.

  • Sender File Adapter: No Messages

    Hi,
    I have configured a sender file adapter to read a flat file using file format conversion, in the file poler mode using NFS. I could confirm that the File is being read, and the adapter status from the Adapter framework (is:port/AdapterFramework) indicates the adapter is working fine (Green light, and last message processed at XXX........).
    However, I did not find any messages from SXMB_MONI.
    Further, I got inot the RWB, and found the following Audit log:
    It indicates an error "Transmitting the message to endpoint http://kansbwul01:50000/sap/xi/engine/entry?action=execute using connection AFW failed, due to: Received HTTP response code 404.."
    What is the problem, and how can I resolve it?
    Thanks
    Feroz
    Success     Channel CDWFileReader: Entire file content converted to XML format
    Success     Send text file "/tmp/XIDemo/3315-TL-20041126-0000IN.txt", size 164533, character encoding ISO8859-1 with QoS EO
    Success     Application attempting to send an XI message asynchronously using connection AFW.
    Success     Trying to put the message into the send queue.
    Success     Message successfully put into the queue.
    Success     The application sent the message asynchronously using connection AFW. Returning to application.
    Success     Confirmation mode test found. File will be resent next time
    Success     The message was successfully retrieved from the send queue.
    Success     The message status set to DLNG.
    Error     Transmitting the message to endpoint http://kansbwul01:50000/sap/xi/engine/entry?action=execute using connection AFW failed, due to: Received HTTP response code 404..
    Success     The asynchronous message was successfully scheduled to be delivered at Sun Jan 09 19:13:21 CST 2005.
    Success     The message status set to WAIT.

    Hi,
    Further to my earlier post, the following is the message log from the message monitor. Any clues whats going wrong. Can I configure a File Sender->File Receiver scenario?
    Where and how are the port settings and user credentials configured for the AFW.
    -Feroz
    Message ID  f49f6d21-632c-11d9-805a-0003ba54d619 
    RefToMsg ID    
    Conversation ID    
    Sequence Number  0 
    Message Type  Asynchronously Sent Message (SEND) 
    From Party    
    From Service   Name:  LB1_CDWFilePoler  
    To Party    
    To Service   Name:  LB1_CDWFileWriter  
    Action   Namespace:  http://erc.ge.com/cdw/poc Name:  ReadFile  
    Connection Name   AFW 
    Status   Not Delivered 
    Profile   XI 
    Transport   HTTP 
    Delivery Semantics   Exactly Once 
    Times Failed   4 
    Number of Retries   3 
    Sent / Received  01/10/2005 12:42:33 
    Transmitted / Delivered  01/10/2005 12:57:33 
    Next Delivery  01/10/2005 12:57:33 
    Persist Until  02/09/2005 12:42:33 
    Valid Until   
    Retry Interval   5 Minutes 
    Address   http://kansbwul01:50000/sap/xi/engine/entry?action=execute 
    Credential   SAPPasswordCredential(XIAFUSER):password=********:sapclient=100:saplang= 
    Transport Headers   SOAPAction="http://sap.com/xi/XI/Message/30" Content-Type=Multipart/Related; boundary=SAP_63fa9d21-6337-11d9-8f3c-0003ba54d619_END; type="text/xml"; start="" HTTP=POST 
    Node ID   1485750

  • Sender file adapter missingLastFields Parameter

    hi all,
    i have a wierd problem...
    i use a sender file adapter with content conversion to read the data of a file.
    all is fine until he get to a record when the last couple of fields are not in the file (and it's ok that they don't appear). i want the adapter to put no data in the last couple of fields but convert them to the XML tags.
    i am using the parameters: missingLastFields and keepIncompleteFields to keep the fields although they don't appear in the file.
    the parameters i am using are these:
    SA140.fieldNames:
    ActionCode,UpdateType,IDNumber,Filler1,RecordCode,Filler2,ExteriorColour1,Filler3,ExteriorColour2,Filler4,ExteriorColour3,Filler5,ExteriorColour4,Filler6,ExteriorColour5,Filler7,ColourArea1,Filler8,ColourArea2,Filler9,ColourArea3,Filler10,ColourArea4,Filler11,ColourArea5,Filler12,TireCode1,Filler13,TireCode2,Filler14,TireCode3,Filler15,TireCode4,Filler16,TireCode5
    SA140.fieldFixedLengths:
    2,2,10,4,3,41,5,1,5,1,5,1,5,1,5,1,2,1,2,1,2,1,2,1,2,1,6,10,6,10,6,10,6,10,6
    SA140.keyFieldValue:
    140
    SA140.missingLastFields:
    Ignore (i used the parameter "add" too and it still didn't work)
    SA140.keepIncompleteFieids
    true
    the row i am trying to read is:
    024018837002186 21140         1799    KW16    RW17    1010    9147                                         F18L19     7503 F18L19     7502 F18K27     7508
    as you see a couple of the last fields are showing in the text.
    could you please tell what am i doing wrong?
    maybe there is another parameter i missed?
    regards,
    roi grosfeld

    sorry but it still doesn't work...
    i am getting the same error:
    Conversion of file content to XML failed at position 0: java.lang.Exception: ERROR converting document line no. 5 according to structure 'SA140':java.lang.Exception: Consistency error: last field in structure 'SA140.' is incomplete - specify 'keepIncompleteFields' parameter accordingly to allow this
    regards,
    roi grosfeld

  • Sender File adapter : Alert are possible.

    Dear All
    i had a Scenario of <u>file to jdbc</u>.I am using FCC(content conversion ) at sender file adapter.
    <b>if the file is not having proper text field,or if its's blank file...
    i want to generate an alert..</b>
    while testing with a blank file , my file sender adapter is giving the error but their are no alert...
    even in alert rule , i had specified file adapter ,Sender/Receive interface also
    Rsalerttest : working properly.
    Rsalertdisp : no dump for sender file adapter error
    <u>for mapping error my other alert rule are woking and generating the alert sucessfully</u>.. for the same interface
    any guess where could be the error..
    Regards
    Ajay Pant
    null
    Message was edited by:
            ajay pant

    HI,
    For alert configuration see the belowlinks,.But in your case if the send message having the empty fields, we can handle this in FCC parameters
    xml.fieldoptional = yes
    Parameter NameA.fieldFixedLengths defined.
    &#9675;       If the inbound structure contains more fields than in NameA.fieldNames or NameA.fieldFixedLengths the conversion is executed.
    Additional fields in the structure are ignored.
    &#9675;       If the inbound structure contains less fields than specified in NameA.fieldNames, conversion is terminated with an error message.
    If the last field only is shorter than defined or is missing completely, the conversion is executed. The contents of the last field are then applied to the XML element as found. Consequently, the value can be incomplete or empty.
    /people/michal.krawczyk2/blog/2005/09/09/xi-alerts--step-by-step
    for CCMS
    /people/aravindh.prasanna/blog/2005/12/23/configuring-scenario-specific-e-mail-alerts-in-xi-ccms-part--1 -- ccms alerts - 1
    /people/aravindh.prasanna/blog/2005/12/24/configuring-scenario-specific-e-mail-alerts-in-xi-ccms-part-2 -- ccms alerts -- 2
    /people/aravindh.prasanna/blog/2006/02/20/configuring-scenario-specific-e-mail-alerts-in-xi-ccms-part-3 -- ccms alerts --- 3
    Chilla

  • FCC Send File Adapter - missingLastFields not working

    Hi
    I have a flat file to capture using the sender File adapter
    Parameter as follows:
    Header_fieldNames : Key,Name,StaffID,Telephone
    Header_fieldFixedLengths :  2,12,10,8
    Header_endSeparator : 'nl'
    Line_fieldNames : Key,Address,Company,LineText
    Line_fieldFixedLengths :  2,20,20,40
    However there are times where last field come in missing.
    Hence I use the Header_missingLastFields : error
                              Line_missingLastFields : error
    However it does not seem to be working as the adapter fails to pick the file from the FTP folder
    but if I  replace error with ignore, the sender adapter picked the files and process and send to the receiver adapter.
    I need to flagged error in sxmb_moni if last field or last few fields are missing....any advise how could this be achieve ?
    Regards
    Fred

    Hi Freddy,
    I think you might like to specify missingLastFields = add. then it will add the missing fields as empty. you can further check if these are empty in mapping and then fail the message or create an alert.
    If you specify "ignore" then you will not get those fields in your structure and if you specify "error" then the file will not be picked up.
    have a look here
    http://help.sap.com/saphelp_nw04/helpdata/en/2c/181077dd7d6b4ea6a8029b20bf7e55/content.htm
    missingLastfields
    If the inbound structure has less fields than specified in the configuration then the XML outbound structure is created as follows:
    ○       ignore
    Outbound structure only contains the fields in the inbound structure
    ○       add
    Outbound structure contains all fields from the configuration; the fields missing in the inbound structure are empty.
    ○       error
    Conversion is terminated due to the incomplete inbound structure. An error message is displayed
    regards,
    francis

  • Errro when referring a Bean in Sender file adapter

    Hi
    I have created a sample code and deployed in  the server and when i refer that in the sender file adapter module processor using the naming format
    localejbs/sap.com/com.vas.mod/GetFileNameBean
    where
    com.vas.mod  is the EAR Project name
    GetFileNameBean is the  Bean name
    I am getting the erro in the XI Adaptor monitor as follows
    <b>- 2006-07-31 13:06:51 UTC: Error: NameNotFoundException: Path to object does not exist at com.vas.mod, the whole lookup name is localejbs/sap.com/com.vas.mod/GetFileName.</b>
    I checked theJNDI name in the server it is exactly the same.
    can some one help me on this please?
    vasagam R K

    Hi Vasagam,
    Please check these threads..
    They deal with ur question...
    NameNotFoundException during JNDI lookup for Deployable WebService Proxy
    Strange Lookup Error (SAP Resource Adapter)
    cheers,
    Prashanth
    P.S Please mark helpful answers

Maybe you are looking for

  • How do I change "open new window" tab behaviour?

    I used to be a Firefox user ages ago, and then switched to Chrome for awhile. I'm coming back now, and I'm noticing some strangeness with tabs and "new windows". Can't figure out how to get around it. My "Home Page" is set up to open three tabs. One

  • How can i get the price by joining StockIn and StockOut inventory (FIFO)

    I have 2 example table  First StockIn table declare @StockIn table (StockID int ,qty decimal(16,2),Price decimal(16,2), tranDate Date , running int) insert into @StockIn(StockID , qty ,  Price, tranDate  , running) values (1 , 5 , 430 , '2014-10-09'

  • Audio dip with external speakers

    Has anyone noticed the Macbook Pros will control their analog audio output only when the computer has software requiring audio? Here is my example: My Macbook Pro (mid-2010) has an audio cable from the headphones into a splitter. The splitter is also

  • Showing parameters different in Chrome and IE in Report Server

    Hi All I have created a report by SSDT ( Sql Server Data Tools) and deploy it on Report Server. I can see the report in chrome and IE but the problem that I have is about the parameters. I have two parameters for Start Date and End Date. in Chrome I

  • ICloud error al iniciar sesión

    Mensaje: ha alcanzado el máximo de cuentas gratuitas en este iPhone porque me sale eso ayuda por favor es para entrar en iCloud por favor que alguien me ayude se lo agradecería mucho, el iPhone es comprado de agencia. No es robado