Inbound Extended Idoc, need to populate data into the segments

Hi Experts,
I am assigned with an assignment, where
IDOC: WGSREQ02
Create a FM with the following Parameters:
Export u2013 IDOC Number
Tables:
             i.      E1WGRK1
             ii.      ZRACEHD
             iii.      E1WGRP1
             iv.      ZRACE01
Get the data and populate the IDOC and generate an IDOC. pretty much new to idocs.
Please help me in coming out of this assignment. I would be very thank full to you if send me the sample code
thanks in advance.
Ram.
Moderator Message: Please understand that these are not Training Forums. Here you cannot ask for your work to be done by others.
Edited by: kishan P on Sep 2, 2010 12:23 PM

Hi Experts,
I am assigned with an assignment, where
IDOC: WGSREQ02
Create a FM with the following Parameters:
Export u2013 IDOC Number
Tables:
             i.      E1WGRK1
             ii.      ZRACEHD
             iii.      E1WGRP1
             iv.      ZRACE01
Get the data and populate the IDOC and generate an IDOC. pretty much new to idocs.
Please help me in coming out of this assignment. I would be very thank full to you if send me the sample code
thanks in advance.
Ram.
Moderator Message: Please understand that these are not Training Forums. Here you cannot ask for your work to be done by others.
Edited by: kishan P on Sep 2, 2010 12:23 PM

Similar Messages

  • Populate data into the dynamic table ie using field symbols

    Dear All,
    I need to convert the XML data into internal table. I did this using the guidelines in the forum. Using all those i can get my data
    in the format of
    Cname Cvalue
    id          1
    name    XX
    id          2
    name    YY
    But i need the values in the format of int_tab like,
    ID      Name
    1       XX
    2       YY
    I used the below code to create the dynamic table strucure.
    call method cl_alv_table_create=>create_dynamic_table
                   exporting
                      it_fieldcatalog = ifc
                   importing
                      ep_table        = dy_table.
    assign dy_table->* to <itab>.
    * Create dynamic work area and assign to FS
      create data dy_line like line of <itab>.
      assign dy_line->* to <wa>.
    So now my strucure will be like ID Name.
    I strucked in the place of populating the data into this like 1,XX,2,YY into the dynamic table.
    If you come across with this scenario, can anyone suggest me on this.
    Regards,
    Anita Vizhi Arasi B

    Hi Anita,
    Try to understand below given code. It works same as you want. But I used Function module not any method.
    TYPES: BEGIN OF ty_xml,
              raw(255) TYPE x,
             END OF ty_xml.
      DATA: lv_file_name TYPE                   rlgrap-filename,
            lit_hdr      TYPE TABLE OF          ty_hdr,
            ls_hdr       TYPE                   ty_hdr,
            lv_file      TYPE                   string,
            wa_xml       TYPE                   ty_xml,
            lit_xml      TYPE STANDARD TABLE OF ty_xml,
            lv_filename  TYPE                   string ,
            ls_xmldata   TYPE                   xstring ,
            lit_result   TYPE STANDARD TABLE OF smum_xmltb,
            ls_result    TYPE                   smum_xmltb,
            lit_return   TYPE STANDARD TABLE OF bapiret2,
            lv_size      TYPE                   i,
            lv_count     TYPE                   i.
      CONSTANTS: line_size TYPE i VALUE 255.
      REFRESH lit_hdr.
    *~ File selected from Local System
      CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
        EXPORTING
          program_name  = syst-repid
          dynpro_number = syst-dynnr
        CHANGING
          file_name     = lv_file_name
        EXCEPTIONS
          mask_too_long = 1
          OTHERS        = 2.
      IF sy-subrc <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
      lv_file = lv_file_name.
    *~ Upload for Data Provider
      CALL FUNCTION 'GUI_UPLOAD'
        EXPORTING
          filename            = lv_file
          filetype            = 'BIN'
          has_field_separator = ' '
          header_length       = 0
        IMPORTING
          filelength          = lv_size
        TABLES
          data_tab            = lit_xml
        EXCEPTIONS
          OTHERS              = 1.
    *~ Convert from Binary to String
      CALL FUNCTION 'SCMS_BINARY_TO_XSTRING'
        EXPORTING
          input_length = lv_size
        IMPORTING
          buffer       = ls_xmldata
        TABLES
          binary_tab   = lit_xml
        EXCEPTIONS
          failed       = 1
          OTHERS       = 2.
    *~ Parse XML docment into a table structure
      CALL FUNCTION 'SMUM_XML_PARSE'
        EXPORTING
          xml_input = ls_xmldata                  " Buffered data
        TABLES
          xml_table = lit_result                  " final internal table which contain records
          return    = lit_return.
      LOOP AT lit_result INTO ls_result.
        IF ls_result-hier = '3'.
          IF ls_result-type = 'V'.
            CASE ls_result-cname.
              WHEN 'intno'.                       "Internal Number
                ls_hdr-intno = ls_result-cvalue.
              WHEN 'acode'.                       "Article Code
                ls_hdr-matnr = ls_result-cvalue.
              WHEN 'adesc'.                       "Article Description
                ls_hdr-maktx = ls_result-cvalue.
              WHEN 'idesc'.                       "Item Description
                ls_hdr-itmds = ls_result-cvalue.
              WHEN 'sdesc'.                       "Standard Description
                ls_hdr-stdds = ls_result-cvalue.
              WHEN 'at'.                          "Article Type
                ls_hdr-mtart = ls_result-cvalue.
              WHEN 'mc'.                          "Merchandise Category
                ls_hdr-matkl = ls_result-cvalue.
              WHEN 'cp'.                          "Characteristic Profile
                ls_hdr-charp = ls_result-cvalue.
                CONDENSE ls_hdr-charp.
              WHEN 'c1'.
                ls_hdr-col01 = ls_result-cvalue.
              WHEN 'c2'.
                ls_hdr-col02 = ls_result-cvalue.
              WHEN 'c3'.
                ls_hdr-col03 = ls_result-cvalue.
              WHEN 'c4'.
                ls_hdr-col04 = ls_result-cvalue.
              WHEN 'c5'.
                ls_hdr-col05 = ls_result-cvalue.
              WHEN 'c6'.
                ls_hdr-col06 = ls_result-cvalue.
              WHEN 'tc'.                          "Tax Classification
                ls_hdr-taklv = ls_result-cvalue.
              WHEN 's'.                           "Season
                ls_hdr-saiso = ls_result-cvalue.
              WHEN 'sy'.                          "Season Year
                ls_hdr-saisj = ls_result-cvalue.
              WHEN 'fg'.                          "Fashion Grade
                ls_hdr-fashg = ls_result-cvalue.
              WHEN 'rm'.                          "Reference Material
                ls_hdr-rfmat = ls_result-cvalue.
              WHEN 'fcv'.                         "Free Character Value
                ls_hdr-frecv = ls_result-cvalue.
              WHEN 'uom'.                         "Unit of Measure
                ls_hdr-uom = ls_result-cvalue.
              WHEN 'pou'.                         "PO Unit
                ls_hdr-pount = ls_result-cvalue.
              WHEN 'v'.                           "Vendor
                ls_hdr-lifnr = ls_result-cvalue.
              WHEN 'b'.                           "Vendor
                ls_hdr-brand = ls_result-cvalue.
              WHEN 'pg'.                          "Purchasing Group
                ls_hdr-wekgr = ls_result-cvalue.
              WHEN 'rv'.                          "Regular Vendor
                ls_hdr-rlifn = ls_result-cvalue.
              WHEN 'pp'.                          "Pricing Profile
                ls_hdr-sprof = ls_result-cvalue.
              WHEN 'sp'.                          "Sales Price
                ls_hdr-spric = ls_result-cvalue.
              WHEN 'm'.                           "Margin
                ls_hdr-margn = ls_result-cvalue.
              WHEN 'c'.                           "Calculate
                ls_hdr-pcalc = ls_result-cvalue.
              WHEN 'purp'.                        "Purchase Price
                ls_hdr-ppric = ls_result-cvalue.
              WHEN 'a'.                            "Assortment
                ls_hdr-asort = ls_result-cvalue.
              WHEN 'bm'.                           "Batch Management
                ls_hdr-batch = ls_result-cvalue.
              WHEN 'mrl'.                          "Min. Remaining Life
                ls_hdr-minrl = ls_result-cvalue.
              WHEN 'aag'.                          "Account Assignment Group
                ls_hdr-acass = ls_result-cvalue.
              WHEN 'vc'.                           "Valuation Class
                ls_hdr-valcl = ls_result-cvalue.
              WHEN 'eancat'.                       "EAN Category
                ls_hdr-eanct = ls_result-cvalue.
              WHEN 'ean11'.
                ls_hdr-ean11 = ls_result-cvalue.
            ENDCASE.
            AT END OF hier.
              APPEND ls_hdr TO lit_hdr.
            ENDAT.
          ENDIF.
        ENDIF.
      ENDLOOP.
      APPEND LINES OF lit_hdr TO git_hdr.
      DELETE git_hdr  WHERE maktx IS INITIAL            "Article Description
                          AND mtart IS INITIAL          "Article Type
                          AND matkl IS INITIAL          "Merchandise Category
                          AND charp IS INITIAL          "Characteristic Profile
                          AND taklv IS INITIAL          "Tax Classification
                          AND uom   IS INITIAL          "Unit of Measure
                          AND pount IS INITIAL          "PO Unit
                          AND lifnr IS INITIAL          "Vendor
                          AND brand IS INITIAL          "Brand
                          AND wekgr IS INITIAL          "Purchasing Group
                          AND ppric IS INITIAL          "Purchasing Price
                          AND spric IS INITIAL          "Sales Price
                          AND acass IS INITIAL          "A/c Assign. Grp.
                          AND valcl IS INITIAL          "Valuation Class
                          AND saiso IS INITIAL          "Season
                          AND saisj IS INITIAL.         "Season Year
      IF git_hdr[] IS NOT INITIAL.
        CLEAR: lv_count.
        LOOP AT git_hdr INTO ls_hdr.
          lv_count  = lv_count + 1.
          ls_hdr-intno = lv_count.
          MODIFY git_hdr FROM ls_hdr TRANSPORTING intno.
          CLEAR: ls_hdr.
        ENDLOOP.
      ENDIF.
    Code written is part of my program. Try to understand it. I hope it will help you out.
    Regards,
    Narendra

  • ABAP code needed to populate data in the fields............

    Hi,
    I have added 3 new fields to the datasource 0PROJETC_ATTR
    fields names are : ZZPROFL , ZZPLFAZ and ZZPLSEZ
    Can some body tell me the ABAP code to fill data in these 3 fields.
    Thanks,
    Jeetu

    hi Jeetu,
    we need the logic,
    but the code will something like following sample ...
    Declaration for datasource 0MATERIAL_ATTR
    DATA : BEGIN OF S_BIW_MARA_S.
    INCLUDE STRUCTURE BIW_MARA_S.
    DATA : END OF S_BIW_MARA_S.
    *Here BIW_MARA_S corresponds to the structure of your datasource *0MATERIAL_ATTR
    *then you have to declare a when with the datasource on which you want to *populate the appended new fields.
    *for example :
    WHEN '0MATERIAL_ATTR'.
    *then do a loop across your strcuture
    LOOP AT C_T_DATA INTO S_BIW_MARA_S.
    *a select from the table
    SELECT SINGLE * FROM MARA
    WHERE MATNR = S_BIW_MARA_S-MATNR.
    *a check to see if your select is ok
    IF SY-SUBRC = 0.
    *if it is ok then your field in your structure is corresponding to a field in the table
    S_BIW_MARA_S-Z1 = MARA-Z1.
    S_BIW_MARA_S-Z2 = MARA-Z2.
    *the c_t_data will be updated from what you get in your structure.
    MODIFY C_T_DATA FROM S_BIW_MARA_S.
    ENDIF.
    ENDLOOP.
    hope this helps.

  • How to use CrossReference and DVM in ODI &how to populate data into Xref

    Can any one tell how to use Domain Value Maps and Cross Referencing in ODI?
    DVM or Domain Value Map are created and used in ESB console of SOA suite.
    My actual requirement is as follows:
    The below steps describe loading data from ERP Application 1 to ERP Application 2.
    1. The Source Application ERP APP1, populates the interface table using their native technology.
    2. A job scheduler invokes the Source side ODI Package.
    3. ODI then extracts the data from Source Interface table and populates the Target Interface table.
    4. After populating the Target interface table the ODI populates the X-ref table with App 1 ID and generated common ID.
    5. The ODI either deletes or updates the rows that were processed from the Source interface table.
    6. On the Target Application ERP APP2, the native application extracts data from target interface table and populates target database there by generating ERP Application 2 ID.
    7. A job scheduler on the Target application invokes the ODI package to populate the Application 2 ID onto the Xref table matching on the Common ID.
    I just want to know :
    1. How to populate data into the Xref table from Source datastore
    2. And if data is successfully laoded from target datastore to actual base table of target then how to populate the target id into the cross reference table.

    can anyone suggest me some answer, then it would be of great help?

  • How to populate data in the same table based on different links/buttons

    Hi
    I'm using jdeveloper 11.1.4. I have a use case in which i need to populate data in the same table based on click of different links.
    Can anyone please suggest how can this be achieved.
    Thanks

    I have a use case in which i need to populate data in the same table based on click of different linksDo you mean that you need to edit existing rows ?
    What format do you have the date in - table / form ?

  • Extract data into the Oracle Database

    Hello,
    I have file in PDF format.
    I need to extract data into the Oracle Database.
    what should be my action ?
    And how could I accomplish?
    thanks
    DN

    You said:
    Do you know ahead of time how many columns are in the file?
    yes, It has 8 columns.
    But each PDF have different total of columns. Right now I am working on one PDF file only.
    e.g: page emp report has following values:
    Salray History Report in PDF format
    Page 1
    Date 10-21-2005
    LAST NAME SALARY COMMISSION
    Russell 14000 .4
    Partners 13500 .3
    Errazuriz 12000 .3
    Cambrault 11000 .3
    Zlotkey 10500 .2
    after converting it will be come as
    Salray History Report in PDF format
    Page 1
    Date 10-21-2005
    LAST NAME
    SALARY
    COMMISSION
    Russell
    Partners
    Errazuriz
    Cambrault
    Zlotkey
    14000
    13500
    12000
    11000
    .4
    .3
    .3
    .3
    End of Page 1
    Date 10-21-2005
    LAST NAME
    SALARY
    COMMISSION
    DN

  • APPENDING data into the sales text header of a sales order

    Hi,
      I need to write data into the sales text of a SALES ORDER. My problem is that if i use SAVE_TEXT it writes the new text and erases the old text.Is there any function module to append the data into the sales text or any setting in the function module which allows me to do so.
    Regards

    Hello Pankaj,
    First using FM read_text and read the text.
    Then Using the fm Edit_text edit the text as u want.
    If useful reward .
    Vasanth

  • How to populate the data into the newly added infoobjects?

    Hi,
    how to populate the data into the newly added infoobjects?
    Thanx in advance,
    Ravi.

    hi ravi,
      here is one example how to enhance.
    Goto RSA6- select the 0Material.- Click on Enhance extract structure-> it will take u to the next screen there u need to create the field material group1. and append it to 0Material.
    Goback to RSA6-- RC on 0material-- it will take you to customer version edit screen- here unchk the Hide and Field only known in exit options n save it.
    Next Go back to RSA6-- 0material- click on Function enhancement it will take you to CMOD Screen( here we need to enter the project name and click create if not created on click display)
    In the next screen we find the function exits Like EXIT_SAPLRSAP_001 FOR T DATA AND EXIT_SAPLRSAP_002 FRO Master Data,_003 for Text n _004 for Hierarchies.
    select the appropriate function exit and double clikc on it. It will take you to Function builder screen.
    D Click on defn of Include ZXRSAU01. it will take you to abap editor screen.
    here u need to include the code for the enhanced fields n also write the code to populate the dat for that particular field.
    save it and avtivate the code.
    Hope this Is helpz,
    partha

  • Populate data into standard component alv from Zcomponent popup data selected

    HI All
    I have to call Zcomponent in standard component and need to pass value into Zcomponent (table) and from  Zcomponent select row and pass back to standard component.
    Steps
    1) Created Zcomponent with interface node
    2) Enhanced the standard component and create used components for  Zcomponent and make it available at component controllers and view controllers.
    When I click on Button in standard component I am calling this Zcomponent as popup window.
    My problem I when I select data in Zcomponent I need to populate the data in ALV of standard component.
    I thought of 2 methods to take my selected back and populate data into standard component ALV.
    1) Create event: EVENT1 and   Interface method Method1 and link to EVENT1
    So that I can raise this event in Zcomponent and populate the data into standard component ALV
    Problem: Under events interface checkbox is visible, when I select my enhancement implementation the interface checkbox not visible under events tab?.
    2) Create Interface method Method1 write logic to populate data into standard component ALV
    But here to when I select my enhancement implementation the interface checkbox not visible under?
    Can anyone please help me why interface checkbox is not visible or any better solution to populate the data back to standard component alv?
    Thanks
    Gopal

    Hi Gopal,
    You can achieve your requirement by using EVENTS as below
    Create an event SET_DATA in component controller of zcomponent and mark it as interface and also include the parameters like context_element( type ref to if_wd_context_element), etc as below
    Now, create an action for the event onLeadSelect of your zcomp Table and write the below code
                     DATA lo_ctx_element TYPE REF TO if_wd_context_element.
                   "get the selected row
                     lo_ctx_element = wdevent->get_context_element( name =
                        'NEW_ROW_ELEMENT' ).
                   "Raise the event with parameter
                   wd_comp_controller->fire_set_data_evt( context_element = lo_ctx_element ).
    Use the Zcomponent in your standard component and make available in std. view's properties
    Create an event handler SET_DATA method for your Zcomp's event as below
    Now, inside this method, you get the parameter CONTEXT_ELEMENT and get the data from this context element as below
                   context_element->get_attrribute( ) or
                   context_element->get_static_attributes( )
    You can populate the data into standard component based on the obtained value from Zcomponent.
    Hope this helps you.
    Regards,
    Rama

  • Help needed in pushing data into Table view Popup

    Hi All,
    I am trying to create a custom pop up and populate this with Reason code and descriptions. For this, i have created a popup and placed a table view on the popup. But when i am stuck how to push data into the popup from an internal table.
    Any pointers on this will be really helpful.
    Regards,
    Udaya

    Hi,
    Even I am facing the similar issue.  I have created custom component with four views for my requirement and created one view set and displaying the viewset in the pop up screen.  I also created event handler and added required coding to open the pop up screen.
    I have added event handler in BT116H_SRVO component and now the pop up is opend with the required fields but the field is not having any data the value is empty in the pop up screen.  I also binded context node details in the standard component.
    While debugging I found that the collection wrapper is empty, so the data is not populated in the pop up screen.  So kindly hlep me how to fill the collection wrapper and populate data inside the pop up screen.
    kindly let me know how to overcome this issue. 
    Thanks and Regards,
    Kannan.

  • Populate data into customise field in the line item of FB60

    Hi,
    Does anyone know which BAdI/User Exit/ Implementation that i can use for populating data into the customize field in the line item of FB60?
    Thanks in advance.

    Hi,
    I have found the module to implement. But i met with one problem which is I edit the data for customise field, and modify the table xbseg. I don't know why until the point which it is needed to cast it to the screen, the data that i derived for my customise field is being deleted. Any idea why is it so?

  • How to populate data into view object

    Hi all,
    I am quite new with ViewObject.
    I have one data table which is binding with view object.
    I want to populate data into view object from my managed bean.
    how can i achieve this kind of scenario?
    actually i try to get view object as in the following. but i get only null.
    ViewObject viewobject = DCIteratorBinding.getViewObject();
    With Regards,
    Wai Phyo

    Hi,
    You could use the following code snippet to get handle to view object from the iterator.
    FacesContext fc = FacesContext.getCurrentInstance();
    BindingContainer bindings =
    (BindingContainer)fc.getApplication().evaluateExpressionGet(fc,
    "#{bindings}",
    BindingContainer.class);
    DCBindingContainer bc = (DCBindingContainer)bindings;
    DCIteratorBinding iterator =
    bc.findIteratorBinding("<ITERATOR_ID>");
    ViewObject viewObject = iterator.getViewObject();
         // Perform operations on the view objectThanks,
    Navaneeth

  • User exit to populate data into append structure of EKET ??

    Hi all,
    My requirement is to extend the table EKET to add few more columns . Is there any user exit available for this ?  I tried appending a structure .After the columns are added what is the exit to be used to populated data into the new fields ?
    Are there any OSS notes which will explain the process on how to extend the table EKET ?
    Please help me with this .
    Regards,
    Varun .

    Hi Varun,
    You can explore this solution.
    - Create new output type for purchase order (for application EF) and assign medium '8' (special function) in transaction NACT.
    - Create new program (SE38) for medium '8' (special function).
    REPORT ZZUPDATE_EKET MESSAGE-ID E0.
    FORM SPECIAL_FUNCTION_PROCESSING USING RC
                                           US_SCREEN.
      DATA: BEGIN OF I_EKET OCCURS 0.
              INCLUDE STRUCTURE EKET.
      DATA: END OF I_EKET.
      RC = 1.
      SELECT *
      FROM EKET
      INTO TABLE I_EKET
      WHERE EBELN = NAST-OBJKY(10).
    *Now you can use FM ME_UDPATE_DOCUMENT to update EKET.
    ENDFORM.                    "SPECIAL_FUNCTION_PROCESSING
    - Maintain condition record for above new output type (NACR) so that new message type would run upon save of purchase order.
    Hope this will help and give an idea.
    Regards,
    Ferry Lianto

  • How can i retrieved data into the infocube from archived files

    hi,
    i have archived cube data and i have to load data into the cube from archived files.
    so now i want to find archived files and how to load data into the cube.
    thanks

    Hi.....
    Reloading archived data should be an exception rather than the general case, since data should be
    archived only if it is not needed in the database anymore. When the archived data target is serving also as a
    datamart to populate other data targets, Its recommend that you load the data to a copy of the original
    (archived) data target, and combine the two resulting data targets with a MultiProvider.
    In order to reload the data to a data target, you have to use the export DataSource of the archived data
    target. Therefore, you create an update rule based on the respective InfoSource (technical name 8<data
    target name>). You then trigger the upload either by using ‘Update ODS data in data target’ or by
    replicating the DataSources of the MYSELF source system and subsequently scheduling an InfoPackage
    for the respective InfoSource
    If you want to read the data for reporting or
    control purposes, you have to write a report, which reads data from the archive files sequentially.
    Alternatively, you can also use the Archiving Information System (AS). This tool enables you to define an
    InfoStructure, and create reports based on these InfoStructures. The InfoStructures define an index for
    the archive file data. At the moment, the archiving process in the BW system does not fill the
    InfoStructures during the archiving session automatically. This has to be performed manually when
    needed.
    Another way of displaying data from the archive file is by using the ‘Extractor checker’ (TCODE RSA3).
    Enter the name of the export DataSource of the respective data target (name of the data target preceded
    by ‘8’), and choose the archive files that are to be read. The extractor checker reads the selected archive
    files sequentially. Selection conditions can be entered for filtering but have to be entered in in internal
    format
    It will remain same in the change log table.
    Check this link :
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/b32837f2-0c01-0010-68a3-c45f8443f01d
    Hope this helps you...........
    Regards,
    Debjani............

  • I have an old Mac Tower.  I need to move data from the unit to an external hard drive. What kind of hard drive do I purchase.  There is not a lot of data to be transferred.

    I have an old Mac Tower.  I need to move data from the unit to an external hard drive.  What kind of of hard drive must I purchase so that it works with the Tower?  There is not a lot to transfer.

    MG,
    What we might need to do is to change the question.  What computer do you plan to use the data on in the future?  For example, if you have a newer tower, just move the hard drive to the new tower.  If you want to use the data, what about an ethernet LAN to get the data over?  If you want to archive the data, how do you store the second drive?  What are your plans for the first drive?  If the new software will not recognize the old file type, the data must be exported.  Just getting files to another hard drive will not finish your journey.
    As Allan said, knowing the exact model and year of your tower is important.  My suggestion is to find a user group near you.  Please post back with more information, including the name of a large city near you.
    For example, our user group just experimented with a 1983 Apple IIc that predates the Mac.  It started right up, read files from 1984  and saved them from a 5.25" floppy to a 3.5" floppy.  That 3.5 floppy will go into a platinum G3 which will read PRODOS files using Apple File Exchange.  That G3, with a USB card, will allow saving the files to a USB flash drive.  But, somewhere along the way, some software has to read the file and convert it to data that is useable by current software.
    Ji~m

Maybe you are looking for